:root{--bg-3:#f9fbff;--surface-elevated:rgba(255,255,255,.96);--text-strong:#0b1617;--border-strong:rgba(99,102,241,.22);--border-soft:rgba(255,255,255,.55);--shadow-xs:0 2px 8px rgba(15,23,42,.04);--shadow-sm:0 8px 24px rgba(15,23,42,.06);--shadow-md:0 18px 44px rgba(15,23,42,.08);--shadow-lg:0 24px 60px rgba(15,23,42,.10);--accent3:#138a92;--accent-grad-soft:linear-gradient(135deg, rgba(37,99,235,.12), rgba(124,58,237,.12));--chip-border:rgba(37,99,235,.14);--mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--radius-xl:30px;--radius-md:18px;--glass-blur:blur(18px)}
html[data-theme="dark"],html[data-theme="dark"],html[data-theme="dark"],html[data-theme="dark"],html[data-theme="dark"],html[data-theme="dark"],html[data-theme="dark"],html[data-theme="dark"]{--bg-3:#111a2f;--surface-elevated:rgba(18,28,48,.94);--text-strong:#f8fbff;--border-strong:rgba(129,140,248,.28);--border-soft:rgba(255,255,255,.06);--shadow-xs:0 2px 8px rgba(2,6,23,.20);--shadow-sm:0 10px 30px rgba(2,6,23,.18);--shadow-md:0 20px 46px rgba(2,6,23,.22);--shadow-lg:0 28px 70px rgba(2,6,23,.28);--chip-border:rgba(129,140,248,.20);--accent-grad-soft:linear-gradient(135deg, rgba(37,99,235,.18), rgba(124,58,237,.18))}
.tool-app *{box-sizing:border-box}
.tool-app button,.tool-app input,.tool-app textarea,.tool-app select{font:inherit}
.tool-app a{text-decoration:none;color:inherit}
::selection{background:rgba(99,102,241,.22);color:var(--text-strong)}
.tool-header{position:sticky;top:0;z-index:90;display:flex;align-items:center;gap:12px;padding:14px 18px;background:rgba(2,6,23,.78);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px);box-shadow:0 2px 14px rgba(15,23,42,.18)}
.tool-header img{width:36px;height:36px;object-fit:contain;border-radius:10px}
.tool-header .brand{font-weight:900;letter-spacing:-.02em;font-size:1.02rem;background:linear-gradient(90deg,#4fb3b9,#138a92,#22d3ee);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.wrap{max-width:1460px;margin:0 auto;padding:0 16px 30px}
.card{position:relative;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-xl);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-md);overflow:hidden}
.card::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;border:1px solid rgba(255,255,255,.18);opacity:.35}
.hero{padding:26px 0 18px;display:grid;gap:16px}
.hero-main{display:grid;grid-template-columns:1.18fr .82fr;gap:16px}
.hero-card,.hero-side,.tool-shell,.section-card{padding:24px}
.hero-card{background:radial-gradient(circle at 0% 0%, rgba(37,99,235,.12), transparent 28%),
        radial-gradient(circle at 100% 0%, rgba(124,58,237,.12), transparent 30%),
        linear-gradient(180deg, var(--surface-strong), var(--surface))}
.hero-side{background:radial-gradient(circle at 100% 0%, rgba(124,58,237,.15), transparent 36%),
        radial-gradient(circle at 0% 100%, rgba(37,99,235,.12), transparent 36%),
        linear-gradient(180deg, var(--surface-strong), var(--surface))}
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:var(--chip-bg);border:1px solid var(--chip-border);color:var(--text-strong);font-size:.8rem;font-weight:800;margin-bottom:14px;box-shadow:var(--shadow-xs)}
.hero h1{margin:0 0 12px;font-size:clamp(2.1rem, 3vw, 3.45rem);line-height:1.02;letter-spacing:-.045em;background:linear-gradient(90deg, #0b6e75 0%, #0e7c86 48%, #138a92 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero p{margin:0;max-width:920px;color:var(--muted);line-height:1.8;font-size:.98rem}
.mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}
.mini-stat{border:1px solid var(--border);border-radius:20px;padding:15px 16px;background:var(--surface-soft);box-shadow:var(--shadow-sm)}
.mini-stat small{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;margin-bottom:7px}
.mini-stat strong{display:block;font-size:.98rem;line-height:1.45;color:var(--text-strong)}
.status-panel{min-height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:16px}
.status-box{border:1px solid var(--border-strong);border-radius:26px;padding:24px 18px;text-align:center;background:radial-gradient(circle at top left, rgba(37,99,235,.12), transparent 35%),
        radial-gradient(circle at bottom right, rgba(124,58,237,.12), transparent 38%),
        linear-gradient(180deg, var(--surface-elevated), var(--surface));box-shadow:var(--shadow-sm)}
.status-icon{width:84px;height:84px;margin:0 auto 14px;display:grid;place-items:center;border-radius:24px;font-size:2rem;border:1px solid var(--border);background:linear-gradient(135deg, rgba(37,99,235,.18), rgba(124,58,237,.18));box-shadow:0 16px 30px rgba(37,99,235,.12)}
.status-box h2{margin:0 0 8px;font-size:1.38rem;letter-spacing:-.02em;color:var(--text-strong)}
.status-box p{margin:0;color:var(--muted);line-height:1.75}
.quick-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.guide-step{padding:14px;border-radius:18px;border:1px solid var(--border);background:var(--surface-soft);box-shadow:var(--shadow-xs)}
.guide-step .num{width:32px;height:32px;display:grid;place-items:center;border-radius:999px;background:var(--accent-grad);color:#fff;font-size:.85rem;font-weight:900;margin-bottom:10px;box-shadow:0 10px 18px rgba(37,99,235,.20)}
.guide-step strong{display:block;margin-bottom:5px;font-size:.95rem;color:var(--text-strong)}
.guide-step span{display:block;color:var(--muted);font-size:.83rem;line-height:1.6}
.tool-shell{display:grid;gap:16px;background:linear-gradient(180deg, var(--surface-strong), var(--surface))}
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.section-head h3{margin:0;font-size:1.08rem;letter-spacing:-.02em;color:var(--text-strong)}
.section-head p{margin:5px 0 0;color:var(--muted);font-size:.86rem;line-height:1.7}
.preset-list{display:flex;flex-wrap:wrap;gap:10px}
.tab-btn,.preset-btn,.btn-primary,.btn-outline,.btn-ghost{min-height:44px;border-radius:16px;padding:0 16px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:.92rem;font-weight:800;cursor:pointer;transition:transform .16s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease}
.tab-btn,.preset-btn{min-height:40px;border-radius:999px;border:1px solid var(--chip-border);background:var(--chip-bg);color:var(--text);padding:10px 14px;font-size:.8rem;box-shadow:var(--shadow-xs)}
.tab-btn:hover,.preset-btn:hover,.btn-primary:hover,.btn-outline:hover,.btn-ghost:hover{transform:translateY(-1px)}
.tab-btn.active{background:var(--accent-grad);color:#fff;border-color:transparent;box-shadow:0 14px 24px rgba(37,99,235,.22)}
.btn-primary{color:#fff;background:var(--accent-grad);box-shadow:0 14px 28px rgba(37,99,235,.22)}
.btn-outline{color:var(--text-strong);background:rgba(37,99,235,.08);border-color:rgba(37,99,235,.18)}
.btn-ghost{color:var(--text);background:var(--surface-soft);border-color:var(--border)}
.input-grid,.compare-grid,.grid-2,.grid-3,.split-json{display:grid;gap:14px}
.input-grid{grid-template-columns:1.15fr .85fr}
.compare-grid{grid-template-columns:1fr 1fr}
.grid-2{grid-template-columns:1fr 1fr}
.grid-3{grid-template-columns:repeat(3,1fr)}
.split-json{grid-template-columns:1fr 1fr}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-size:.77rem;font-weight:800;color:var(--muted-2)}
.field textarea,.field input,.field select{width:100%;border-radius:18px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-text);padding:14px 15px;outline:none;transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.field textarea{min-height:185px;resize:vertical;font-family:var(--mono);line-height:1.6}
.field textarea.small{min-height:130px}
.field textarea.tiny{min-height:100px}
.field textarea:focus,.field input:focus,.field select:focus{border-color:var(--accent1);box-shadow:0 0 0 4px rgba(37,99,235,.12), var(--shadow-xs);transform:translateY(-1px)}
.right-controls{display:grid;gap:12px;align-content:start}
.toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.check{display:flex;align-items:center;gap:10px;padding:12px 13px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft);box-shadow:var(--shadow-xs);font-size:.88rem;cursor:pointer;user-select:none;color:var(--text)}
.check input{margin:0}
.toolbar-actions{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.inline-pill,.tiny-chip,.sev{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 11px;border-radius:999px;border:1px solid var(--border);background:var(--surface-soft);color:var(--text-strong);font-size:.76rem;font-weight:800;white-space:nowrap;box-shadow:var(--shadow-xs)}
.inline-pill{padding:10px 13px;font-size:.8rem}
.success{background:var(--success-soft)}
.warning{background:var(--warning-soft)}
.danger{background:var(--danger-soft)}
.progress-wrap{border-top:1px solid var(--border);padding-top:14px;display:grid;gap:10px}
.progress-bar{height:10px;border-radius:999px;overflow:hidden;background:rgba(148,163,184,.18);border:1px solid rgba(255,255,255,.08)}
.progress-bar>div{width:0;height:100%;background:linear-gradient(90deg, #0b6e75, #0e7c86, #138a92);transition:width .24s ease}
.summary-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:16px 0 20px}
.summary-card{padding:16px;border-radius:24px;background:linear-gradient(180deg, var(--surface-strong), var(--surface))}
.summary-card small{display:block;margin-bottom:6px;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.summary-card strong{display:block;font-size:1.02rem;line-height:1.45;word-break:break-word;color:var(--text-strong)}
.score-bar{min-height:92px;border-radius:20px;border:1px solid var(--border);background:var(--accent-grad-soft);padding:14px}
.meter{height:12px;border-radius:999px;background:rgba(148,163,184,.18);overflow:hidden;margin-top:10px;border:1px solid rgba(255,255,255,.08)}
.meter > div{height:100%;width:0;background:linear-gradient(90deg, #0b6e75, #0e7c86, #138a92);transition:width .25s ease}
.workspace{display:grid;grid-template-columns:1.08fr .92fr;gap:16px;margin-bottom:20px}
.left-stack,.right-stack{display:grid;gap:16px}
.section-card{background:linear-gradient(180deg, var(--surface-strong), var(--surface))}
.token-structure{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.segment-card,.claim-item,.kv,.panel-card{border:1px solid var(--border);border-radius:18px;background:var(--surface-soft);box-shadow:var(--shadow-xs);padding:14px}
.segment-card small,.kv strong{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}
.segment-card strong{display:block;font-size:.95rem;margin-bottom:8px;color:var(--text-strong)}
.segment-value,.kv span,.mono{font-family:var(--mono);word-break:break-word;color:var(--muted-2);line-height:1.65}
.scroll-box{height:420px;overflow:auto;font-family:var(--mono);font-size:.88rem;line-height:1.68;color:var(--muted-2);white-space:pre-wrap;word-break:break-word;border:1px solid var(--border);background:var(--surface-soft);border-radius:20px;padding:14px;box-shadow:var(--shadow-xs)}
.json-pane{display:grid;gap:8px}
.claims-grid{display:grid;gap:10px;max-height:430px;overflow:auto}
.claim-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:7px}
.claim-title{font-weight:800;color:var(--text-strong)}
.claim-message{color:var(--muted);line-height:1.7;font-size:.89rem}
.claim-code{margin-top:8px;padding:11px 12px;border-radius:14px;border:1px solid var(--border);background:rgba(148,163,184,.08);font-family:var(--mono);font-size:.83rem;white-space:pre-wrap;word-break:break-word;line-height:1.65;color:var(--muted-2)}
.table-shell{border:1px solid var(--border);border-radius:22px;overflow:hidden;background:linear-gradient(180deg, var(--surface-elevated), var(--surface));height:520px;display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}
.table-wrap{flex:1;min-height:0;overflow:auto}
.tool-app table{width:100%;border-collapse:collapse;min-width:760px}
.tool-app thead th{position:sticky;top:0;z-index:2;background:rgba(37,99,235,.08);text-align:left;padding:14px;border-bottom:1px solid var(--border);color:var(--text-strong);font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;backdrop-filter:blur(8px)}
.tool-app tbody td{padding:14px;border-bottom:1px solid var(--border);vertical-align:top;font-size:.93rem;line-height:1.65;color:var(--text)}
.tool-app tbody tr:hover{background:rgba(37,99,235,.04)}
.history-list{display:grid;gap:10px;max-height:360px;overflow:auto}
.history-item{padding:13px 14px;border-radius:16px;border:1px solid var(--border);background:var(--surface-soft);cursor:pointer;transition:transform .16s ease, background .16s ease;box-shadow:var(--shadow-xs)}
.history-item:hover{background:rgba(37,99,235,.06);transform:translateY(-1px)}
.countdown{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px;border-radius:18px;border:1px solid var(--border);background:var(--surface-soft);box-shadow:var(--shadow-xs)}
.countdown strong{font-size:1.05rem;color:var(--text-strong)}
.empty{display:grid;place-items:center;text-align:center;color:var(--muted);min-height:220px;padding:28px;line-height:1.75}
.hide{display:none !important}
.tab-panel{animation:fadeIn .18s ease}
@keyframes fadeIn{
      from{opacity:0;transform:translateY(4px)}
      to{opacity:1;transform:translateY(0)}
    }
@media (max-width:1240px){
.workspace{grid-template-columns:1fr}
.summary-grid{grid-template-columns:repeat(3,1fr)}
.toolbar-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:980px){
.hero-main,.input-grid,.compare-grid,.split-json,.grid-2,.grid-3,.token-structure,.quick-guide,.mini-stats{grid-template-columns:1fr}
.summary-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:720px){
.wrap{padding:0 12px 24px}
.hero-card,.hero-side,.tool-shell,.section-card{padding:16px}
.toolbar-actions,.toggle-grid{grid-template-columns:1fr}
.summary-grid{grid-template-columns:1fr}
.table-shell{height:480px}
.scroll-box{height:320px}
.tool-app thead th,.tool-app tbody td{padding:12px}
}

/* page overrides */
.tool-app .card{backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;border-color:var(--zl-line);border-radius:20px;background:var(--zl-surface)}
.tool-app .card::before{display:none}
.tool-app .tool-shell,.tool-app .section-card,.tool-app .summary-card{background:var(--zl-surface)}
.tool-app .tool-shell{gap:14px}
.tool-app .section-head{margin-bottom:10px}
.tool-app .tab-btn,.tool-app .preset-btn{box-shadow:none;min-height:44px;font-family:var(--zl-font-head);font-weight:600}
.tool-app .tab-btn:hover,.tool-app .preset-btn:hover{transform:none}
.tool-app .tab-btn.active{background:var(--zl-accent);color:var(--zl-accent-ink);box-shadow:none}
.tool-app .field textarea:focus,.tool-app .field input:focus,.tool-app .field select:focus{transform:none}
.tool-app .field textarea{min-height:150px}
.tool-app .field input[type=file]{padding:10px}
.tool-app .inline-pill,.tool-app .tiny-chip,.tool-app .sev,.tool-app .segment-card,.tool-app .claim-item,.tool-app .scroll-box,.tool-app .history-item,.tool-app .countdown,.tool-app .check,.tool-app .table-shell{box-shadow:none}
.tool-app .inline-pill{white-space:normal;text-align:left;max-width:100%}
.tool-app .progress-bar>div,.tool-app .meter>div{background:var(--zl-accent)}
.tool-app .score-bar{background:var(--zl-surface-2);min-height:0}
.tool-app .table-shell{height:auto;max-height:520px;background:var(--zl-surface)}
.tool-app table{min-width:0}
.tool-app thead th{background:var(--zl-tint);backdrop-filter:none}
.tool-app .scroll-box{height:auto;min-height:90px;max-height:360px}
.tool-app .empty{min-height:110px;padding:18px}
.tool-app .claim-item.success{background:var(--zl-success-soft)}
.tool-app .claim-item.warning{background:var(--zl-warning-soft)}
.tool-app .claim-item.danger{background:var(--zl-danger-soft)}
.tool-app .tiny-chip.success,.tool-app .inline-pill.success{background:var(--zl-success-soft);color:var(--zl-success)}
.tool-app .tiny-chip.danger,.tool-app .inline-pill.danger{background:var(--zl-danger-soft);color:var(--zl-danger)}
.tool-app .tiny-chip.warning,.tool-app .inline-pill.warning{background:var(--zl-warning-soft);color:var(--zl-warning)}
html[data-theme="dark"] .tool-app .claim-item.success,html[data-theme="dark"] .tool-app .claim-item.warning,html[data-theme="dark"] .tool-app .claim-item.danger{background:var(--zl-surface-2)}
html[data-theme="dark"] .tool-app .claim-item.success{border-left:4px solid var(--zl-success)}
html[data-theme="dark"] .tool-app .claim-item.warning{border-left:4px solid var(--zl-warning)}
html[data-theme="dark"] .tool-app .claim-item.danger{border-left:4px solid var(--zl-danger)}
.tool-app .muted-small,.tool-app .progress-text{color:var(--zl-muted);font-size:.85rem;line-height:1.6}
.tool-app .gen-row{margin:12px 0}
.tool-app .tab-panel{animation:none}
.tool-app .right-controls>.check{align-items:flex-start}
.tool-app .history-item{cursor:default}
.tool-app .history-item:hover{transform:none}
.tool-app .toolbar-actions{grid-template-columns:repeat(6,minmax(0,1fr))}
.tool-app .verify-big{font-family:var(--zl-font-head);font-size:1.15rem;font-weight:600}
@media (max-width:1240px){.tool-app .toolbar-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:720px){.tool-app .toolbar-actions{grid-template-columns:1fr 1fr}.tool-app .toolbar-actions .btn-primary{grid-column:1/-1}.tool-app .summary-grid{grid-template-columns:1fr 1fr}.tool-app .summary-card{padding:12px}.tool-app .tool-shell,.tool-app .section-card{padding:14px}}
