:root{color-scheme:dark;--bg:#101012;--panel:#19191d;--line:#323238;--text:#f5f3f7;--muted:#b5b2bf;--accent:#c6ff50;--selected:#ff5252;--safe:#62df86;--lift:#ffd077;--danger:#b8b8be;font-family:system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#232123 0,transparent 55%),var(--bg);color:var(--text)}[hidden]{display:none!important}
header,footer{display:flex;align-items:center;justify-content:space-between;padding:15px max(22px,calc((100vw - 1160px)/2));border-bottom:1px solid var(--line);gap:10px}header nav{display:flex;gap:8px}.brand,footer,.label,h2{font:700 .75rem ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase}.mark{color:var(--accent);font-size:1.45rem;vertical-align:middle;margin-right:6px}button,select,input,.upload{font:inherit;color:inherit;background:#222227;border:1px solid #43434d;border-radius:7px;padding:8px 11px}button,.upload,select,summary{cursor:pointer}button:hover,.upload:hover,button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
main{width:min(1160px,calc(100% - 44px));margin:auto}.intro{margin:38px 0 26px}.intro .label{color:var(--accent)}h1{font-size:clamp(2.35rem,6.8vw,5rem);line-height:.95;margin:12px 0 17px;letter-spacing:-.065em}h1 span{color:var(--accent)}p{color:var(--muted);line-height:1.5;margin:0}.workspace{display:grid;grid-template-columns:1.2fr 1fr;gap:15px}.panel{border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;min-height:56px;gap:8px;border-bottom:1px solid var(--line);padding:10px 19px}.panel-head h2{margin:0}.panel-head .label{color:var(--accent)}.disc{position:relative;margin:5px auto;width:min(100%,490px)}svg{width:100%;display:block}.rim,.hub{fill:none;stroke:#3e3c46}.hub{fill:#121215;stroke:#51515b}.segment{cursor:pointer;outline:none}.segment path{fill:#444448;stroke:#747479;stroke-width:1;transition:fill .12s}.segment text{fill:#f5f5f7;text-anchor:middle;dominant-baseline:central;font:700 16px ui-monospace,monospace;pointer-events:none}.segment.safe path{fill:#258345;stroke:var(--safe)}.segment.safe text{fill:white}.segment.lift path{fill:#63491d;stroke:#ffd077}.segment.lift text{fill:#fff0bd}.segment.current path{fill:#c92f3c;stroke:var(--selected)}.segment.current text{fill:white}.segment:hover path,.segment:focus-visible path{stroke:white;stroke-width:3}.hub-text{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;pointer-events:none}.hub-text span:first-child{font:700 clamp(.5rem,1.1vw,.7rem) monospace;color:var(--muted);letter-spacing:.08em}.hub-text strong{font:800 clamp(2rem,7vw,4.7rem)/1.05 ui-monospace,monospace;color:var(--selected)}.hub-text span:last-child{font-size:clamp(.68rem,2vw,1rem)}
.legend{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 15px;padding:0 10px 16px;font-size:.77rem}.legend span:before,.zone-title:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;margin-right:6px}.current{color:var(--selected)}.safe{color:var(--safe)}.lift{color:var(--lift)}.danger{color:var(--danger)}
.zone-block{padding:12px 18px;border-bottom:1px solid var(--line)}.zone-title{margin:0 0 5px;font:700 .79rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.06em}.zone-block p,.tip p{font-size:.86rem}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.chip{font:700 .84rem ui-monospace,monospace;padding:6px 8px}.chip small{color:var(--muted);font:400 .72rem system-ui;margin-left:6px}.tip{padding:13px 18px}.tip .label{display:block;color:var(--accent);margin-bottom:4px}.risk-list{margin-top:7px;font-size:.78rem;color:var(--danger)}.risk-list summary{width:fit-content}
.library{margin:15px 0 25px}.library>p,.library #status,.library>details,#filters{margin:13px 19px}.upload{position:relative;white-space:nowrap}.upload input{position:absolute;width:1px;height:1px;opacity:0}.upload:focus-within{outline:2px solid var(--accent)}.table-scroll{overflow:auto;max-height:420px;margin-top:10px}table{width:100%;border-collapse:collapse;text-align:left;font-size:.88rem}th,td{padding:8px;border-bottom:1px solid var(--line)}th{position:sticky;top:0;background:var(--panel)}td small{display:block;color:var(--muted)}#status{font-size:.85rem;color:var(--muted)}.filter-row{display:flex;gap:7px;flex-wrap:wrap}.filter-row input[type=number]{width:105px}.library details{border-top:1px solid var(--line);padding-top:12px}.library li{margin:7px 0;color:var(--muted)}#more{margin-top:8px}footer{border-top:1px solid var(--line);border-bottom:none;color:var(--muted);padding-bottom:20px}footer span{text-transform:none;letter-spacing:0}
.booth main{width:min(960px,calc(100% - 20px));margin-top:10px}.booth .intro,.booth .library,.booth footer,.booth .tip{display:none}.booth header{padding:7px 12px}.booth .disc{width:min(100%,390px)}
@media(max-width:800px){.workspace{grid-template-columns:1fr}.intro{margin-top:26px}.booth .disc{width:min(100%,285px)}.booth .zone-block{padding:8px 12px}.booth .panel-head{min-height:43px;padding:6px 12px}.booth .zone-block p{display:none}}@media(max-width:430px){header,footer{padding-inline:10px}.brand{letter-spacing:.04em}main{width:calc(100% - 20px)}header button{font-size:.78rem;padding-inline:6px}.intro p{font-size:.9rem}}
