:root{--page:#f6f7f4;--surface:#ffffff;--surface-subtle:#f0f3ef;--ink:#17201d;--muted:#64706b;--line:#d7ddd9;--line-strong:#aeb8b2;--accent:#176b4d;--accent-hover:#0e543b;--accent-soft:#e4f0e9;--danger:#a33b45;--danger-soft:#faecee;--focus:rgba(23,107,77,0.2);--radius:8px;--mono:"SFMono-Regular","Cascadia Code",Consolas,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--page);font-family:Avenir Next,Noto Sans SC,Microsoft YaHei,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.site-shell{min-height:100vh;display:flex;flex-direction:column}.main{flex:1 1}.footer-inner,.header-inner,.section-inner{width:min(1120px,calc(100% - 40px));margin:0 auto}.header-inner{width:min(1440px,calc(100% - 32px))}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line);background:rgba(246,247,244,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-inner{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;gap:9px;min-width:0;font-weight:750;letter-spacing:-.02em;white-space:nowrap}.brand-mark{min-width:34px;height:28px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:5px;background:var(--surface);color:var(--accent);font-family:var(--mono);font-size:11px;letter-spacing:-.04em}.brand-text{overflow:hidden;color:var(--ink);font-size:clamp(18px,1.6vw,22px);line-height:1;text-overflow:ellipsis}.nav{gap:4px;margin-left:auto;color:#46534e;font-size:14px;font-weight:650}.nav,.nav-menu>summary,.nav>a{display:flex;align-items:center}.nav-menu>summary,.nav>a{min-height:34px;border:1px solid transparent;border-radius:999px;padding:0 11px}.nav-menu>summary:hover,.nav>a:hover{border-color:var(--line);background:var(--surface);color:var(--accent)}.nav-menu{position:relative}.nav-menu>summary{cursor:pointer;list-style:none}.nav-menu>summary::-webkit-details-marker{display:none}.nav-menu>summary:after{content:"⌄";margin-left:6px;color:var(--muted)}.nav-menu-panel{position:absolute;top:calc(100% + 8px);left:0;width:210px;display:grid;grid-gap:2px;gap:2px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:7px;box-shadow:0 14px 35px rgba(23,32,29,.12)}.nav-menu-panel a{border-radius:5px;padding:10px}.nav-menu-panel a:hover{background:var(--surface-subtle);color:var(--accent)}.hero{padding:74px 0 38px;background:linear-gradient(180deg,rgba(228,240,233,.65),rgba(246,247,244,0) 78%)}.home-hero{max-width:900px;margin:0 auto;text-align:center}.eyebrow{display:inline-block;color:var(--accent);font-size:13px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.hero h1,.page-title{margin:14px 0 0;font-family:Iowan Old Style,"Noto Serif SC",Georgia,serif;font-size:clamp(38px,6vw,64px);font-weight:650;line-height:1.08;letter-spacing:-.035em}.hero p,.page-lede{max-width:760px;margin:18px auto 0;color:var(--muted);font-size:18px;line-height:1.72}.hero-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:26px}.button,.small-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--ink);padding:0 15px;font-weight:700;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.button:hover,.small-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.button.primary,.small-button.primary{border-color:var(--accent);background:var(--accent);color:#fff}.button.primary:hover,.small-button.primary:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover);color:#fff}.small-button{min-height:39px;padding:0 12px;font-size:14px}.small-button:disabled{cursor:not-allowed;opacity:.45}.band{padding:38px 0}.band.white{border-block:1px solid var(--line);background:var(--surface)}.home-tools{padding-top:20px}.directory-heading,.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.section-heading{margin-bottom:20px}.content h1,.content h2,.directory-heading h2,.section-heading h2,.tool-copy h2{margin:0;font-family:Iowan Old Style,"Noto Serif SC",Georgia,serif;letter-spacing:-.02em}.directory-heading p,.section-heading p{margin:6px 0 0;color:var(--muted);line-height:1.6}.text-link{color:var(--accent);font-size:14px;font-weight:700;white-space:nowrap}.directory{display:grid;grid-gap:22px;gap:22px}.directory-toolbar{display:flex;align-items:flex-end;gap:12px}.search-field{flex:1 1;display:grid;grid-gap:7px;gap:7px;color:var(--ink);font-size:13px;font-weight:750}.directory-search{width:100%;height:50px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);padding:0 16px;color:var(--ink);font-size:16px}.directory-search:focus{border-color:var(--accent);outline:3px solid var(--focus)}.directory-count{min-width:88px;padding-bottom:14px;color:var(--muted);font-size:13px;text-align:right}.filter-row{display:flex;flex-wrap:wrap;gap:7px}.filter-button{min-height:38px;border:1px solid var(--line);border-radius:999px;background:var(--surface);padding:0 13px;color:#4e5b56;font-size:14px;font-weight:650}.filter-button.active,.filter-button:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.directory-groups{display:grid;grid-gap:38px;gap:38px}.directory-group{scroll-margin-top:90px}.directory-heading{margin-bottom:13px;padding-bottom:12px;border-bottom:1px solid var(--line)}.directory-heading h2{font-size:25px}.directory-heading p{font-size:14px}.directory-heading>span{color:var(--muted);font-family:var(--mono);font-size:13px}.directory-empty{border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface);padding:28px;color:var(--muted);text-align:center}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.tool-card{min-height:128px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:17px 18px;transition:border-color .16s ease,background-color .16s ease}.tool-card:hover{border-color:var(--line-strong);background:#fbfcfb}.tool-card-copy{min-width:0}.tool-card-category{color:var(--accent);font-size:12px;font-weight:750}.tool-card h3{margin:5px 0 0;font-size:17px;letter-spacing:-.01em}.tool-card p{margin:7px 0 0;color:var(--muted);font-size:14px;line-height:1.55}.tool-card-arrow{flex:0 0 auto;color:var(--line-strong);font-size:19px;transition:color .16s ease,transform .16s ease}.tool-card:hover .tool-card-arrow{color:var(--accent);transform:translateX(2px)}.page-header{padding:48px 0 22px}.page-header .page-title{font-size:clamp(36px,5vw,54px)}.page-header .page-lede{margin-left:0}.breadcrumbs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px;color:var(--muted);font-size:13px}.breadcrumbs a:hover{color:var(--accent)}.tool-page{padding:20px 0 48px}.tool-hero-compact{width:min(1440px,calc(100% - 32px));padding-bottom:4px}.tool-page .page-title{margin-top:10px;max-width:900px;font-size:clamp(32px,4vw,46px);line-height:1.08}.tool-page .page-lede{max-width:900px;margin:12px 0 0;font-size:16px;line-height:1.62}.tool-page>.band:first-of-type{padding-top:10px}.tool-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-gap:18px;gap:18px;align-items:start}.tool-page .section-inner.tool-layout{width:min(1440px,calc(100% - 32px))}.tool-main{grid-template-columns:minmax(0,1fr) 280px;min-width:0}.tool-surface{overflow:hidden;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface)}.tool-surface-header{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);background:var(--surface-subtle);padding:10px 15px;font-size:13px}.tool-surface-header span{color:var(--muted)}.tool-surface-body{padding:16px}.tool-form{display:grid;grid-gap:14px;gap:14px}.form-row{display:grid;grid-gap:7px;gap:7px}.form-row label,.label{color:var(--ink);font-size:13px;font-weight:750}.input,.select,.textarea{width:100%;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);padding:10px 11px;outline:none}.input{min-height:43px}.textarea{min-height:190px;resize:vertical;font-family:var(--mono);font-size:14px;line-height:1.58}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus)}.mode-grid,.number-grid,.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.tool-actions{display:flex;flex-wrap:wrap;gap:8px}.status{border-radius:6px;background:var(--surface-subtle);padding:10px 11px;color:var(--muted);font-size:13px;line-height:1.55}.status.error{background:var(--danger-soft);color:var(--danger)}.result-box{min-height:130px;overflow:auto;border:1px solid var(--line);border-radius:6px;background:#f8faf8;padding:11px;white-space:pre-wrap;word-break:break-word;font-family:var(--mono);font-size:14px;line-height:1.58}.editor-workbench{align-items:stretch;gap:16px}.editor-pane{min-height:100%}.editor-pane label{font-size:14px}.editor-output,.editor-textarea{min-height:340px;height:100%;border-color:#dce4df;background:var(--surface);padding:16px 17px;font-size:15px;line-height:1.7;-moz-tab-size:2;tab-size:2}.editor-output{background:#fbfcfb;color:#24302b}.editor-textarea{resize:vertical}.json-online-shell{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(720px circle at 10% -20%,rgba(56,189,148,.14),transparent 54%),linear-gradient(transparent 31px,rgba(174,184,178,.16) 32px),linear-gradient(90deg,transparent 31px,rgba(174,184,178,.16) 32px),#f8faf7;background-size:auto,32px 32px,32px 32px,auto;padding:14px}.json-online-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid rgba(215,221,217,.9);padding-bottom:11px}.json-online-header h2{margin:0;color:var(--ink);font-family:Georgia,"Noto Serif SC",serif;font-size:clamp(22px,3vw,31px);line-height:1.15}.json-online-header p{margin:5px 0 0;max-width:620px;color:var(--muted);font-size:13px;line-height:1.55}.json-online-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;color:var(--muted);font-size:12px;white-space:nowrap}.json-online-meta span{display:inline-flex;align-items:center;min-height:24px}.json-online-meta strong{margin-left:4px;color:var(--ink);font-family:var(--mono)}.json-online-badge,.json-online-status{border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.78);padding:0 9px;font-weight:750}.json-online-status.success{border-color:rgba(23,107,77,.32);background:var(--accent-soft);color:var(--accent)}.json-online-status.danger{border-color:rgba(163,59,69,.35);background:var(--danger-soft);color:var(--danger)}.json-online-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding:10px 0 8px}.json-online-view-tabs button,.json-pill-button{min-height:28px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.88);color:#46534e;padding:4px 11px;font-size:12px;font-weight:750;box-shadow:0 1px 2px rgba(23,32,29,.05)}.json-pill-button.primary{border-color:var(--ink);background:var(--ink);color:#fff}.json-pill-button.success{border-color:rgba(23,107,77,.22);background:var(--accent-soft);color:var(--accent)}.json-online-view-tabs button:hover:not(:disabled),.json-pill-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.json-online-view-tabs button:disabled,.json-pill-button:disabled{cursor:not-allowed;opacity:.45}.json-inline-option{display:inline-flex;align-items:center;gap:8px;min-height:30px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.88);padding:3px 5px 3px 11px;color:var(--muted);font-size:12px;font-weight:750}.json-inline-option input{width:min(260px,42vw);min-height:24px;border:0;border-radius:999px;background:var(--surface-subtle);color:var(--ink);padding:2px 9px;outline:none;font-family:var(--mono);font-size:12px}.json-online-view-tabs{display:inline-flex;gap:5px;margin-left:auto}.json-online-view-tabs button.active{border-color:var(--ink);background:var(--ink);color:#fff}.json-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 8px minmax(0,1.35fr);grid-gap:0;gap:0;align-items:stretch}.json-editor-grid:before{content:"";grid-column:2;grid-row:1;width:8px;min-height:100%;border-radius:999px;background:linear-gradient(90deg,transparent 3px,rgba(100,112,107,.5) 0,rgba(100,112,107,.5) 5px,transparent 0),rgba(215,221,217,.6)}.json-editor-grid.has-secondary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.json-editor-grid.has-secondary:before{display:none}.json-editor-grid.has-secondary .json-editor-pane.output{grid-column:1/-1}.json-editor-grid.fullscreen{position:fixed;inset:14px;z-index:80;border:1px solid var(--line);border-radius:var(--radius);background:var(--page);padding:10px;box-shadow:0 20px 80px rgba(23,32,29,.28)}.json-editor-pane{display:flex;min-width:0;min-height:460px;flex-direction:column;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:12px}.json-editor-pane.output{background:#fbfcfb}.json-pane-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;color:var(--muted);font-size:12px}.json-pane-header strong{color:var(--ink);font-size:14px}.json-pane-header span{font-family:var(--mono)}.json-editor-pane pre,.json-editor-pane textarea,.json-preview-box{flex:1 1;min-height:0;overflow:auto;border:0;border-radius:7px;background:transparent;color:#24302b;padding:6px;font-family:var(--mono);font-size:14px;line-height:1.68;outline:none;-moz-tab-size:2;tab-size:2}.json-editor-pane textarea{resize:none}.json-editor-pane pre{margin:0;white-space:pre-wrap;word-break:break-word}.json-online-bottom{display:grid;grid-template-columns:1fr repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:12px}.json-message,.json-summary-card{border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.88);padding:13px}.json-message{color:var(--muted);font-size:13px;line-height:1.55}.json-message.error{border-color:rgba(163,59,69,.28);background:var(--danger-soft);color:var(--danger)}.json-summary-card{min-width:0}.json-summary-card h3{margin:0 0 10px;color:var(--ink);font-size:13px}.json-summary-card dl{display:grid;grid-gap:8px;gap:8px;margin:0}.json-summary-card dl div{display:flex;align-items:center;justify-content:space-between;gap:10px}.json-summary-card dt{color:var(--muted);font-size:12px}.json-summary-card dd{margin:0;color:var(--ink);font-family:var(--mono);font-size:12px;font-weight:750}.json-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:7px;gap:7px}.json-type-grid span{display:flex;align-items:center;justify-content:space-between;gap:6px;border-radius:6px;background:var(--surface-subtle);padding:7px 8px;color:var(--muted);font-family:var(--mono);font-size:11px}.json-type-grid strong{color:var(--ink)}.json-empty-preview,.json-preview-box,.json-summary-card .json-leaf,.json-summary-card .json-node{color:#5b6762;font-family:var(--mono);font-size:12px;line-height:1.7}.json-node{margin:0}.json-node summary{position:relative;cursor:pointer;list-style:none;color:#46534e}.json-node summary::-webkit-details-marker{display:none}.json-node summary:before{content:"+";display:inline-flex;width:14px;color:var(--line-strong)}.json-node[open]>summary:before{content:"-"}.json-node-children{margin-left:16px;border-left:1px solid var(--line);padding-left:10px}.json-key{color:#33423c;font-weight:750}.json-type{color:var(--accent)}.json-value.string{color:#176b4d}.json-value.number{color:#2a62a8}.json-value.boolean,.json-value.null{color:#9a5d16}.json-empty-preview{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.mode-button{min-height:48px;border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:10px 12px;color:var(--ink);text-align:left;font-weight:700}.mode-button.active,.mode-button:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.picker-stage{min-height:180px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(circle at 50% 25%,rgba(23,107,77,.09),transparent 46%),#f9fbf9;padding:18px;text-align:center}.picker-stage.drawing{animation:revealPulse .19s ease-in-out infinite alternate}.picked-list{display:flex;flex-wrap:wrap;justify-content:center;gap:9px}.picked-chip{border:1px solid var(--accent);border-radius:6px;background:var(--accent-soft);padding:9px 13px;color:var(--accent);font-size:23px;font-weight:750}.stats-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.stat{border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:10px 11px}.stat span{display:block;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.stat strong{display:block;margin-top:4px;font-family:var(--mono);font-size:21px}.tool-copy{display:grid;grid-gap:14px;gap:14px}.content,.tool-copy-box{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:18px}.tool-copy-box h2{font-size:21px}.tool-copy-box ol,.tool-copy-box ul{margin-bottom:0;padding-left:20px;color:var(--muted);line-height:1.7}.faq-item{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.faq-item span,.faq-item strong{display:block}.faq-item span{margin-top:6px;color:var(--muted);line-height:1.65}.content{padding:24px;line-height:1.75}.content p{color:var(--muted)}.content section+section{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}.site-footer{border-top:1px solid var(--line);background:var(--surface);padding:34px 0}.footer-inner{display:grid;grid-template-columns:1.35fr repeat(3,minmax(130px,1fr));grid-gap:24px;gap:24px}.footer-inner h2,.footer-inner h3{margin:0 0 9px}.footer-inner a,.footer-inner p{color:var(--muted);font-size:14px;line-height:1.65}.footer-links{display:grid;grid-gap:7px;gap:7px}.footer-links a:hover{color:var(--accent)}@keyframes revealPulse{0%{transform:scale(.995);filter:saturate(1)}to{transform:scale(1.005);filter:saturate(1.25)}}@media (max-width:900px){.footer-inner,.tool-grid,.tool-layout{grid-template-columns:1fr}.tool-copy{grid-template-columns:repeat(2,minmax(0,1fr))}.json-online-header,.json-online-meta{justify-content:flex-start}.json-online-header{flex-direction:column}.json-editor-grid,.json-editor-grid.has-secondary{grid-template-columns:1fr;gap:8px}.json-editor-grid:before{display:none}.json-editor-pane{min-height:360px}.json-online-bottom{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.header-inner{min-height:auto;align-items:flex-start;flex-direction:column;gap:7px;padding:9px 0}.nav{width:100%;overflow-x:auto;padding-bottom:2px}.nav-menu-panel{position:fixed;top:94px;left:16px;right:16px;width:auto}.hero{padding-top:48px}.hero h1,.page-title{font-size:39px}.hero p,.page-lede{font-size:16px}.directory-toolbar{align-items:stretch;flex-direction:column}.directory-count{padding:0;text-align:left}.directory-heading,.section-heading{align-items:flex-start}.mode-grid,.number-grid,.split,.tool-copy{grid-template-columns:1fr}.json-online-view-tabs{width:100%;margin-left:0}.json-online-view-tabs button{flex:1 1}.json-inline-option{width:100%;align-items:flex-start;flex-direction:column;border-radius:8px;padding:9px}.json-inline-option input{width:100%;border-radius:6px}.json-online-bottom{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr 1fr}}@media (max-width:460px){.footer-inner,.header-inner,.section-inner{width:min(100% - 28px,1120px)}.brand{font-size:15px}.brand-mark{min-width:32px;height:27px}.brand-text{max-width:210px}.nav-menu>summary,.nav>a{min-height:32px;padding-inline:9px}.footer-inner{grid-template-columns:1fr}.tool-card{min-height:0;padding:15px}.stats-row{gap:5px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.json-workbench-stage{display:grid;grid-gap:0;gap:0}.json-fullscreen-stage{position:fixed;inset:14px;z-index:80;display:grid;grid-template-rows:auto minmax(0,1fr);grid-gap:8px;gap:8px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--page);padding:10px;box-shadow:0 20px 80px rgba(23,32,29,.28)}.json-fullscreen-stage .json-editor-grid,.json-fullscreen-stage .json-editor-grid.has-secondary,.json-fullscreen-stage .json-editor-pane{min-height:0}.json-auto-format-toggle{display:inline-flex;align-items:center;gap:6px;min-height:28px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.88);padding:4px 10px;color:var(--muted);font-size:12px;font-weight:750}.json-auto-format-toggle input{accent-color:var(--accent)}.json-code-output{display:block;margin:0;padding:0;white-space:pre;word-break:normal}.json-output-line{display:grid;grid-template-columns:48px minmax(0,1fr);min-height:22px}.json-code-output.no-line-numbers .json-output-line{grid-template-columns:minmax(0,1fr)}.json-output-line-number{-webkit-user-select:none;-moz-user-select:none;user-select:none;border-right:1px solid var(--line);padding-right:10px;color:#9aa7a1;text-align:right}.json-output-line-code{min-width:0;padding-left:12px}.json-code-output.no-line-numbers .json-output-line-code{padding-left:0}.json-token.key{color:#7c4d9f;font-weight:750}.json-token.string{color:#176b4d}.json-token.number{color:#2563a8}.json-token.boolean,.json-token.null{color:#a35f16}.json-token.punctuation{color:#89958f}.json-fold-button,.json-fold-spacer{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;margin-right:4px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--muted);font-family:var(--mono);font-size:12px;line-height:1;vertical-align:text-bottom}.json-fold-button:hover{border-color:var(--accent);color:var(--accent)}.json-fold-spacer{border-color:transparent;background:transparent}.json-output-line.collapsed .json-output-line-code{color:var(--muted)}.json-fold-placeholder{color:#9aa7a1;font-style:italic}.timestamp-workspace{display:grid;grid-gap:14px;gap:14px;overflow:hidden;border:1px solid var(--line-strong);border-radius:var(--radius);background:radial-gradient(720px circle at 10% -20%,rgba(48,118,208,.12),transparent 55%),radial-gradient(680px circle at 90% -10%,rgba(23,107,77,.12),transparent 55%),#f8faf8;padding:16px}.timestamp-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding-bottom:12px}.timestamp-header h2{margin:0;font-family:Georgia,"Noto Serif SC",serif;font-size:clamp(24px,3vw,34px);line-height:1.15}.timestamp-header p{margin:6px 0 0;color:var(--muted);font-size:14px;line-height:1.55}.timestamp-header>span{border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.86);padding:6px 10px;color:var(--muted);font-family:var(--mono);font-size:12px;white-space:nowrap}.timestamp-hero-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.timestamp-live-card{display:grid;grid-gap:14px;gap:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:18px;box-shadow:0 8px 24px rgba(23,32,29,.06)}.timestamp-live-card small,.timestamp-live-card span{display:block;color:var(--muted);font-size:13px;font-weight:700}.timestamp-live-card strong{display:block;margin:7px 0;color:var(--ink);font-family:var(--mono);font-size:clamp(24px,4vw,42px);line-height:1.1;overflow-wrap:anywhere}.timestamp-blue-card{border-color:rgba(42,98,168,.25);background:linear-gradient(135deg,rgba(42,98,168,.08),#fff 52%)}.timestamp-green-card{border-color:rgba(23,107,77,.25);background:linear-gradient(135deg,rgba(23,107,77,.08),#fff 52%)}.timestamp-actions-row,.timestamp-inline-control,.timestamp-radio-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.timestamp-actions-row button{min-height:32px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.9);color:var(--ink);padding:5px 11px;font-size:12px;font-weight:750}.timestamp-actions-row button:hover{border-color:var(--accent);color:var(--accent)}.timestamp-panel{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.timestamp-tabs{display:flex;overflow-x:auto;border-bottom:1px solid var(--line);background:var(--surface-subtle)}.timestamp-tabs button{min-height:46px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);padding:0 16px;font-size:14px;font-weight:750;white-space:nowrap}.timestamp-tabs button.active{border-bottom-color:var(--accent);background:var(--surface);color:var(--accent)}.timestamp-tab-body{display:grid;grid-gap:12px;gap:12px;padding:16px}.timestamp-tab-body label{color:var(--ink);font-size:13px;font-weight:750}.timestamp-inline-control .input{flex:1 1 260px}.timestamp-help{border:1px solid var(--line);border-radius:7px;background:var(--surface-subtle);padding:9px 10px;color:var(--muted);font-size:13px;line-height:1.5}.timestamp-batch-input,.timestamp-result{min-height:190px}.timestamp-radio-row label{border:1px solid var(--line);border-radius:999px;background:var(--surface-subtle);padding:7px 11px;color:var(--muted);font-size:13px;font-weight:700}.timestamp-radio-row input{accent-color:var(--accent)}@media (max-width:900px){.timestamp-hero-grid{grid-template-columns:1fr}.timestamp-header{flex-direction:column}}.mock-generator-shell{border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 18px 45px rgba(23,32,29,.08);overflow:hidden}.mock-generator-shell.mock-fullscreen{position:fixed;inset:14px;z-index:80;overflow:auto}.mock-generator-header{display:flex;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,rgba(228,240,233,.72),rgba(255,255,255,.95))}.mock-generator-header h2{margin:10px 0 6px;font-family:Iowan Old Style,"Noto Serif SC",Georgia,serif;font-size:clamp(28px,4vw,42px);line-height:1.08}.mock-generator-header p{max-width:760px;margin:0;color:var(--muted)}.mock-header-actions,.mock-output-toolbar>div,.mock-panel-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mock-generator-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);grid-gap:18px;gap:18px;padding:18px}.mock-left-column,.mock-output-column{display:grid;align-content:start;grid-gap:14px;gap:14px}.mock-output-column,.mock-panel{border:1px solid var(--line);border-radius:12px;background:#fbfcfa;padding:16px}.mock-output-toolbar h3,.mock-panel h3{margin:0;font-size:17px}.mock-output-toolbar,.mock-panel-title{justify-content:space-between;margin-bottom:14px}.mock-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.mock-field-options label,.mock-settings-grid label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:13px;font-weight:650}.mock-field-main input[type=text],.mock-field-main select,.mock-field-options input,.mock-settings-grid input,.mock-settings-grid select{width:100%;min-height:38px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);padding:8px 10px}.mock-field-list{display:grid;grid-gap:12px;gap:12px;max-height:520px;overflow:auto;padding-right:4px}.mock-field-row{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:12px}.mock-field-main{display:grid;grid-template-columns:auto minmax(110px,1fr) minmax(150px,.9fr) auto;grid-gap:10px;gap:10px;align-items:center}.mock-field-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:10px}.mock-remove-button{width:34px;height:34px;border:1px solid var(--danger-soft);border-radius:8px;background:var(--danger-soft);color:var(--danger);font-size:20px;line-height:1}.mock-output-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.mock-output-textarea{width:100%;min-height:540px;border:1px solid var(--line);border-radius:10px;background:#101815;color:#e6f2ec;padding:16px;resize:vertical;font-family:var(--mono);font-size:13px;line-height:1.65}.mock-fullscreen .mock-output-textarea{min-height:calc(100vh - 260px)}@media (max-width:900px){.mock-generator-grid,.mock-generator-header{grid-template-columns:1fr}.mock-generator-header{display:grid}.mock-field-main,.mock-field-options,.mock-settings-grid{grid-template-columns:1fr}}.ip-checker-shell{display:grid;grid-gap:18px;gap:18px}.ip-card{border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-soft)}.ip-card h3{margin:0;color:var(--ink)}.ip-card-header p,.ip-help-text{color:var(--muted)}.ip-card{padding:22px}.ip-card-primary{background:linear-gradient(145deg,#ffffff,#f7fbf8)}.ip-card-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.ip-card-header.compact{display:block}.ip-address-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;border:1px solid var(--line);border-radius:16px;background:#102019;color:#e9f6ef;padding:18px}.ip-address-panel span{grid-column:1/-1;color:#a8c8b8;font-size:13px}.ip-address-panel strong{overflow-wrap:anywhere;font-family:var(--mono);font-size:clamp(24px,4vw,42px);letter-spacing:-.04em}.ip-address-panel button{border:1px solid var(--line);border-radius:10px;background:#ffffff;color:var(--ink);padding:10px 14px;font-weight:700}.ip-meta-item{border:1px solid var(--line);border-radius:12px;background:var(--surface-muted);padding:12px}.ip-meta-item span{display:block;color:var(--muted);font-size:13px;margin-bottom:6px}.ip-meta-item strong{color:var(--ink);font-size:14px;overflow-wrap:anywhere}.ip-help-text{margin:10px 0 0;font-size:13px;line-height:1.6}.ip-error-text{margin:14px 0 0;border-radius:12px;background:var(--danger-soft);color:var(--danger);padding:12px 14px}@media (max-width:980px){.ip-meta-grid{grid-template-columns:1fr}}.public-ip-only .ip-card-primary{max-width:980px;width:100%}.public-ip-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:980px){.public-ip-meta-grid{grid-template-columns:1fr}}