.ico-page{--ico-accent:#8bd3ff;--ico-lime:#b9f36d}
.ico-page main{padding-top:22px}
.ico-tool{padding:clamp(18px,3vw,34px)}
.ico-tool .tool-heading{align-items:center}
.ico-tool h1{margin:0;font-size:clamp(36px,5vw,60px);letter-spacing:-.045em}
.ico-tool .lede{max-width:48ch;margin:.55rem 0 0}
.ico-workbench{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-top:18px}
.ico-pane{min-width:0;padding:18px;border:1px solid var(--line);border-radius:20px;background:rgba(3,11,19,.38)}
.ico-pane-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.ico-pane-head h2{margin:0;font-size:16px;letter-spacing:0}
.ico-step{color:var(--muted);font-size:12px;font-weight:750;letter-spacing:.12em}
.ico-drop{min-height:146px;padding:20px;display:grid;place-content:center;text-align:center;border:1px dashed #52738a;border-radius:16px;background:linear-gradient(145deg,rgba(139,211,255,.07),rgba(185,243,109,.035));cursor:pointer;transition:border-color .16s,background .16s,transform .16s}
.ico-drop:hover,.ico-drop:focus-visible,.ico-drop.is-dragging{border-color:var(--ico-lime);background:rgba(185,243,109,.075);outline:none}
.ico-drop.is-dragging{transform:scale(.995)}
.ico-drop .drop-mark{margin:0 auto 8px}
.ico-drop .drop-title{margin:0;font-size:18px;font-weight:750}
.ico-drop .drop-hint{margin:5px 0 0;color:var(--muted)}
.ico-drop .drop-mark{margin-bottom:4px}
.ico-drop .drop-mark svg{width:24px;height:24px}
.ico-formats{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:12px 0 0}
.ico-format{padding:3px 7px;border:1px solid var(--line);border-radius:999px;color:#d4e1e9;font-size:10px;font-weight:700;letter-spacing:.04em}
.ico-drop .drop-meta{margin:4px 0 0;font-size:11px}
.ico-size-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:14px 0 0;padding:0;border:0}
.ico-size-list legend,.ico-size-list .fieldset-help,.ico-size-list .selection-note{grid-column:1/-1}
.ico-size-list legend{padding:0;color:var(--text);font-size:16px;font-weight:750}
.ico-size-list .fieldset-help{margin:5px 0 2px}
.ico-size-row{display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:0;min-height:40px;padding:6px 10px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);cursor:pointer}
.ico-size-row .ico-size-use{display:none}
.ico-size-row:has(input:checked){border-color:rgba(185,243,109,.55);background:rgba(185,243,109,.07)}
.ico-size-row input{width:17px;height:17px;accent-color:var(--ico-lime)}
.ico-size-value{font-variant-numeric:tabular-nums;font-weight:800}
.ico-size-use{color:var(--muted);font-size:12px}
.ico-size-state{color:#bad5e4;font-size:11px;font-weight:700}
.ico-result{display:grid;grid-template-rows:auto 1fr auto;min-height:100%}
.ico-result-stage{display:grid;place-items:center;min-height:200px;padding:20px;border:1px solid var(--line);border-radius:16px;background-color:#0a1722;background-image:linear-gradient(45deg,#152737 25%,transparent 25%),linear-gradient(-45deg,#152737 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#152737 75%),linear-gradient(-45deg,transparent 75%,#152737 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}
.ico-result-stage img{display:block;width:min(100%,176px);height:auto;max-height:176px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 12px 18px rgba(0,0,0,.24))}
.ico-result-empty{max-width:23ch;color:#a8bac8;text-align:center;font-size:13px;line-height:1.55}
.ico-output-meta{display:flex;justify-content:space-between;gap:10px;margin-top:12px;color:var(--muted);font-size:12px}
.ico-output-meta strong{color:var(--text)}
.ico-tool .action-row{margin-top:14px}
.ico-tool .ico-result{margin-top:18px}
.ico-tool .primary-button{min-height:50px;padding-inline:24px}
.ico-tool .selection-note{font-size:12px}
.ico-proof-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.ico-proof-strip>div{display:grid;gap:3px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025)}
.ico-proof-strip strong{font-size:13px}.ico-proof-strip span{color:var(--muted);font-size:11px}
.ico-content{display:grid;gap:18px;margin-top:22px}
.ico-content>*{min-width:0;max-width:100%}
.ico-section{padding:clamp(20px,3vw,32px);border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,rgba(16,37,54,.94),rgba(8,20,31,.94))}
.ico-section h2{margin:5px 0 12px;font-size:clamp(23px,3.5vw,34px);letter-spacing:-.03em}
.ico-section p,.ico-section li{max-width:76ch;color:#cedbe4;line-height:1.7}
.ico-table-wrap{overflow-x:auto;margin-top:16px;border:1px solid var(--line);border-radius:14px}
.ico-evidence-table{width:100%;border-collapse:collapse;font-size:13px}
.ico-evidence-table th,.ico-evidence-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.ico-evidence-table tr:last-child td{border-bottom:0}
.ico-evidence-table th{color:#dff4ff;background:rgba(139,211,255,.07);font-size:11px;letter-spacing:.07em;text-transform:uppercase}
.ico-evidence-table td:first-child{min-width:128px;font-weight:760;color:var(--text)}
.ico-evidence-table td{min-width:145px;color:#cedbe4;line-height:1.55}
.ico-evidence-table code{overflow-wrap:anywhere}
.trace-workbench{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}
.trace-input-card{min-width:0;padding:16px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.025)}
.trace-input-card label{display:block;margin-bottom:10px;color:var(--text);font-weight:750}
.trace-file-picker{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-width:0}.trace-file-button{min-height:40px;padding:8px 13px;border:1px solid #52738a;border-radius:10px;background:#102334;color:var(--text);font:inherit;font-weight:700;cursor:pointer}.trace-file-button:hover{border-color:var(--blue);background:rgba(139,211,255,.08)}.trace-file-button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.trace-file-name{min-width:0;color:var(--muted);font-size:13px;overflow-wrap:anywhere}
.trace-input-card p{margin:9px 0 0;color:var(--muted);font-size:13px}
.trace-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.trace-actions .primary-button,.trace-actions .secondary-button{min-height:46px}
.secondary-button{padding:10px 16px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.04);color:var(--text);font:inherit;font-weight:750;cursor:pointer}
.secondary-button:hover:not(:disabled){border-color:var(--ico-accent);background:rgba(139,211,255,.08)}
.secondary-button:disabled{opacity:.5;cursor:not-allowed}
.trace-status{min-height:1.6em;margin:14px 0 0;color:var(--muted)}
.trace-results:empty{display:none}
.trace-caveat{margin:14px 0 0;padding:13px 15px;border-left:3px solid var(--ico-lime);border-radius:0 10px 10px 0;background:rgba(185,243,109,.06)}
.trace-steps{display:grid;gap:12px;padding-left:22px}
.trace-steps li{padding-left:4px}
.trace-steps strong{color:#f4f8fb}
@media(max-width:760px){.ico-page main{padding-top:10px}.ico-page .primary-nav{flex-wrap:nowrap;overflow-x:auto;gap:9px;min-height:32px;padding:0}.ico-page .primary-nav a{font-size:10px}.ico-page .primary-nav .primary-nav-guides{margin-left:0}.ico-workbench{grid-template-columns:1fr}.ico-tool{padding:13px}.ico-tool .tool-heading{align-items:flex-start}.ico-tool h1{font-size:30px}.ico-tool .lede{margin-top:4px;font-size:14px;line-height:1.35}.ico-pane{padding:10px}.ico-pane-head{margin-bottom:8px}.ico-drop{min-height:88px;padding:9px}.ico-drop .drop-mark{display:none}.ico-drop .drop-title{font-size:15px}.ico-drop .drop-hint{margin-top:2px;font-size:12px}.ico-formats{flex-wrap:nowrap;gap:3px;margin-top:5px}.ico-format{padding:2px 4px;font-size:8px}.ico-drop .drop-meta{font-size:9px}.ico-size-list{gap:5px;margin-top:8px}.ico-size-list .fieldset-help{display:none}.ico-size-row{min-height:34px;padding:4px 6px}.ico-size-row input{width:15px;height:15px}.ico-size-row .ico-size-value{font-size:12px}.ico-size-state{display:none}.ico-size-list legend{font-size:14px}.ico-tool .action-row{margin-top:8px}.ico-tool .primary-button{min-height:46px}.ico-tool .privacy-note{margin-top:6px;font-size:12px}.ico-result{min-height:300px}.ico-result-stage{min-height:175px}.ico-proof-strip{grid-template-columns:1fr}.trace-workbench{grid-template-columns:1fr}.ico-table-wrap{width:100%;max-width:100%;min-width:0}.ico-evidence-table{min-width:760px}.trace-results .ico-evidence-table{display:block;min-width:0}.trace-results .ico-evidence-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.trace-results .ico-evidence-table tbody,.trace-results .ico-evidence-table tr{display:block}.trace-results .ico-evidence-table tr{padding:9px 13px;border-bottom:1px solid var(--line)}.trace-results .ico-evidence-table td{display:grid;grid-template-columns:minmax(100px,.42fr) minmax(0,1fr);gap:10px;min-width:0;padding:6px 0;border:0;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.ico-drop{transition:none}}
