.yard-twin{--bg:#0a0a0b;--panel:#141416;--panel-2:#1c1c1f;--border:#20362d;--border-strong:#3a6a57;--text:#f4f4f5;--muted:#97a89f;--faint:#6b6b73;--emphasis:#fff;--accent:var(--text);--green:var(--text);--red:var(--muted);--amber:var(--muted);--accent-green:#006450;--accent-green-2:#0e8a5c;--accent-sage:#74b49c;--accent-bright:#2fa37a;--accent-slate:#3c5050;--radius:3px;--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, ui-sans-serif, sans-serif;--font-mono:ui-monospace, "Cascadia Code", "Cascadia Mono", Consolas, Menlo, monospace;box-sizing:border-box;font-family:var(--font-ui);background:var(--bg);color:var(--text);flex-direction:column;height:100%;display:flex;& *{box-sizing:border-box}& :focus-visible{outline:2px solid var(--accent-sage);outline-offset:2px}& .kpi-label,& .metric-label,& .legend-title,& .ctl>span{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-sage);font-size:10.5px;font-weight:600}& .topbar{background:var(--panel);border-bottom:1px solid var(--border);align-items:center;gap:24px;padding:10px 18px;display:flex}& .brand{align-items:baseline;gap:10px;display:flex}& .logo{font-family:var(--font-mono);letter-spacing:1px;color:var(--accent-bright);background:0 0;border-radius:0;padding:0;font-size:16px;font-weight:700}& .title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:12px;font-weight:500}& .kpis{gap:18px;display:flex}& .kpi{flex-direction:column;line-height:1.1;display:flex}& .kpi-value{font-family:var(--font-mono);font-size:18px;font-weight:700}& .kpi-label{margin-top:2px}& .warn{color:var(--muted)}& .warn:before{content:"⚠ "}& .right{align-items:center;gap:16px;margin-left:auto;display:flex}& .source{font-family:var(--font-mono);color:var(--muted);font-size:12px}& .stale{font-family:var(--font-mono);color:var(--faint)}& .viewtoggle{border:1px solid var(--border);border-radius:var(--radius);display:flex;overflow:hidden}& .viewtoggle button{background:var(--panel-2);color:var(--accent-sage);cursor:pointer;font-weight:700;font-family:var(--font-mono);letter-spacing:.04em;border:0;padding:6px 14px}& .viewtoggle button.on{background:var(--accent-green-2);color:#fff}& .body{flex:1;min-height:0;display:flex}& .sidebar{background:var(--panel);z-index:1;width:300px;padding:14px;position:relative;overflow:hidden auto}& .sidebar.left{border-right:1px solid var(--border)}& .sidebar.right{border-left:1px solid var(--border)}& .sidebar.right>*+*{margin-top:14px}& .stage{background:var(--bg);flex:1;min-width:0;position:relative}& .yard2d{width:100%;height:100%;display:block}& .controls{flex-direction:column;gap:12px;display:flex}& .ctl{flex-direction:column;gap:5px;display:flex}& .ctl select{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-size:13px;font-family:var(--font-ui);padding:7px 8px}& .ctl select:hover{border-color:var(--accent-sage)}& .ctl-divider{background:var(--border);height:1px;margin:4px 0}& .reset{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:8px}& .reset:hover{border-color:var(--accent-sage)}& .plan{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);padding:12px}& .plan-title{font-family:var(--font-mono);margin-bottom:8px;font-weight:700}& .plan-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}& .metric{border:1px solid var(--border);border-radius:var(--radius);background:#0e0e10;padding:8px}& .metric-value{font-family:var(--font-mono);font-size:20px;font-weight:700}& .metric-label{margin-top:3px}& .plan-hint{color:var(--muted);margin-top:10px;font-size:11px;line-height:1.4}& .legend{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);padding:12px;overflow:hidden}& .legend-title{margin-bottom:8px}& .legend-row{align-items:center;gap:8px;min-width:0;padding:2px 0;font-size:13px;display:flex}& .swatch{border-radius:2px;flex:none;width:13px;height:13px}& .legend-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}& .legend-count{font-family:var(--font-mono);color:var(--muted);font-variant-numeric:tabular-nums}& .legend-more{color:var(--muted);margin-top:6px;font-size:11px}& .detail{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);padding:12px}& .detail-head{justify-content:space-between;align-items:start;margin-bottom:10px;display:flex}& .detail-iso{font-family:var(--font-mono);letter-spacing:.5px;font-size:15px;font-weight:700}& .detail-sub{font-family:var(--font-mono);color:var(--muted);font-size:12px}& .x{color:var(--accent-sage);cursor:pointer;background:0 0;border:0;font-size:20px;line-height:1}& .x:hover{color:var(--text)}& .detail-row{border-bottom:1px solid #1a1a1d;justify-content:space-between;gap:10px;padding:4px 0;font-size:13px;display:flex}& .detail-k{color:var(--muted)}& .detail-v{font-family:var(--font-mono);text-align:right}& .ok{color:var(--text)}& .bad{color:var(--muted)}& .navhint{color:var(--muted);border:1px solid var(--border);border-radius:var(--radius);pointer-events:none;background:#0a0a0bbd;padding:6px 10px;font-size:11px;position:absolute;bottom:12px;left:14px}& .modal-backdrop{z-index:50;background:#0009;justify-content:center;align-items:flex-start;padding-top:8vh;display:flex;position:fixed;inset:0}& .modal-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:min(620px,92vw);max-height:80vh;padding:18px;overflow:auto;box-shadow:0 24px 60px #0000008c}& .modal-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}& .modal-title{font-size:16px;font-weight:700}& .modal-body{flex-direction:column;gap:14px;display:flex}& .home-btn{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;background:var(--panel-2);color:var(--accent-sage);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;white-space:nowrap;padding:6px 12px;font-size:12px}& .home-btn:hover{border-color:var(--accent-sage);color:var(--text)}& .maker-mark{text-align:center;letter-spacing:.08em;color:var(--faint);margin:16px 0 0;font-size:11px}& .kpi-clickable{cursor:pointer;font:inherit;color:inherit;text-align:left;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:0;margin:0;padding:0 14px 0 0;display:flex;position:relative}& .kpi-info{color:var(--faint);font-size:11px;position:absolute;top:0;right:0}& .kpi-clickable:hover .kpi-value{text-underline-offset:3px;text-decoration:underline}& .kpi-clickable:hover .kpi-info{color:var(--muted)}& .explainer-intro{color:var(--muted);margin:0 0 2px;font-size:13px;line-height:1.5}& .explainer-empty{color:var(--muted);font-size:13px}& .explainer-group{border:1px solid var(--border);border-radius:var(--radius);padding:12px}& .explainer-group-head{justify-content:space-between;align-items:baseline;display:flex}& .explainer-group-title{font-weight:700}& .explainer-group-count{font-family:var(--font-mono);color:var(--muted)}& .explainer-group-sub{color:var(--muted);margin:4px 0 8px;font-size:12.5px;line-height:1.5}& .explainer-reason{border-top:1px solid var(--border)}& .explainer-reason summary{cursor:pointer;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;font-size:13px;list-style:none;display:flex}& .explainer-reason summary::-webkit-details-marker{display:none}& .explainer-reason summary:before{content:"▸ ";color:var(--faint)}& .explainer-reason[open] summary:before{content:"▾ "}& .explainer-reason-count{font-family:var(--font-mono);color:var(--muted)}& .explainer-pile-vessels{color:var(--muted);margin:0 0 6px;font-size:12px}& .explainer-list{max-height:280px;margin:0 0 8px;padding:0;list-style:none;overflow:auto}& .explainer-item{border-bottom:1px solid #1a1a1d;gap:12px;padding:3px 0;font-size:12.5px;display:flex}& .explainer-item-id{font-family:var(--font-mono);min-width:130px}& .explainer-item-meta{color:var(--muted)}}
