.report-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;display:flex;flex-direction:column;background:var(--bg);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.report-toolbar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border-bottom:1px solid var(--border);padding:8px 14px;box-shadow:var(--shadow);z-index:2}.report-toolbar-title{display:flex;align-items:center;gap:10px;min-width:0;font-size:13px;font-weight:600;color:var(--text)}.report-toolbar-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-count{font-size:12px;font-weight:500;white-space:nowrap}.report-toolbar-actions{display:flex;gap:8px;flex:0 0 auto}.rp-side-toggle{padding:6px 10px}.rp-side-toggle[aria-pressed=true]{color:var(--accent-text);border-color:var(--accent)}.rp-layout{flex:1;min-height:0;display:flex;position:relative}.rp-pages{flex:1;min-width:0;overflow:auto;background:var(--canvas-bg);padding:26px 20px 70px;scroll-padding-top:16px}.rp-empty{margin:80px auto;text-align:center;color:var(--text-dim)}.rp-side{width:300px;flex:none;overflow-y:auto;background:var(--surface);border-right:1px solid var(--border);padding:4px 14px 28px}@media(max-width:760px){.rp-side{position:absolute;inset:0 auto 0 0;z-index:3;width:min(320px,88vw);box-shadow:var(--shadow-lg)}}.rp-btn-icon,.rp-btn-short{display:none}@media screen and (max-width:640px){.report-overlay{position:absolute;bottom:calc(var(--mnav-h) + env(safe-area-inset-bottom));padding:0}.report-toolbar{gap:6px;padding:6px 8px}.report-toolbar-name,.rp-count,.rp-btn-label{display:none}.rp-btn-icon,.rp-btn-short{display:inline}.report-toolbar-actions button,.rp-side-toggle{min-height:40px}.rp-close{min-width:40px;padding:0 10px}.rp-pages{padding:10px 6px 40px}.rp-side{width:100%}}.rp-side-sec{border-bottom:1px solid var(--border);padding:12px 0}.rp-side-h{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px}summary.rp-side-h{cursor:pointer;margin-bottom:0}details[open]>summary.rp-side-h{margin-bottom:8px}.rp-presets{display:flex;gap:6px;margin-bottom:8px}.rp-presets button{flex:1;padding:5px 8px;font-size:12px;color:var(--text);background:var(--surface-2);border-color:var(--border)}.rp-presets button:hover{background:var(--surface-3);border-color:var(--border-strong)}.rp-presets button.is-on{color:var(--accent-text);background:var(--accent-soft);border-color:var(--accent)}.rp-tree,.rp-tree ul{list-style:none;margin:0;padding:0}.rp-tree ul{padding-left:21px}.rp-tree-row{display:flex;align-items:center;gap:7px;padding:1px 6px;border-radius:6px}.rp-tree-row.is-active{background:var(--accent-soft)}.rp-tree input[type=checkbox]{width:15px;height:15px;margin:0;flex:none;accent-color:var(--accent)}.rp-tree-link{all:unset;box-sizing:border-box;flex:1;display:flex;gap:6px;padding:4px 0;font-size:12.5px;line-height:1.3;color:var(--text);cursor:pointer}.rp-tree-link:hover:not(:disabled){color:var(--accent-text)}.rp-tree-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.rp-tree-link:disabled{cursor:default}.rp-tree .is-off>.rp-tree-row .rp-tree-link{color:var(--text-dim);opacity:.75}.rp-tree>li>.rp-tree-row .rp-tree-link{font-weight:600}.rp-tree .rp-no{color:var(--text-dim);font-variant-numeric:tabular-nums;min-width:2.2em}.rp-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 8px}.rp-meta-grid .field{margin:4px 0}.rp-meta-grid .field.wide{grid-column:1 / -1}.rp-checks{display:flex;flex-direction:column}.rp-checks .check{margin:3px 0}.rp-check-sep{margin-top:8px!important;padding-top:8px;border-top:1px dashed var(--border)}.rp-side textarea{width:100%;min-height:90px;resize:vertical}.rp-side-hint{font-size:11.5px;line-height:1.4;color:var(--text-dim);margin:6px 0 0}.rp-side-foot{margin-top:12px}.rp-doc{--surface: #ffffff;--surface-2: #f1f4f7;--surface-3: #e5ebf0;--text: #17212b;--text-dim: #5a6774;--border: #d5dce3;--border-strong: #a7b2bd;--accent: #0a7f77;--accent-soft: rgba(10, 127, 119, .1);--accent-text: #076b64;--warn-soft: rgba(224, 160, 32, .17);--danger-soft: rgba(217, 61, 66, .12);--success-soft: rgba(44, 156, 103, .13);--canvas-bg: #eef2f5;--rp-ink: #17212b;--rp-muted: #5a6774;--rp-rule: #1d2a36;--rp-line: #dfe5ea;--rp-zebra: #f8fafb;--rp-acc: #1d2a36;--rp-math: "Cambria Math", "STIX Two Math", "Latin Modern Math", Cambria, "Times New Roman", serif;counter-reset:tab fig eq;color:var(--rp-ink);font-size:9.6pt;line-height:1.5;-webkit-print-color-adjust:exact;print-color-adjust:exact}.rp-sheet{position:relative;box-sizing:border-box;width:210mm;min-height:297mm;margin:0 auto 26px;padding:19mm 15mm 17mm;background:#fff;color:var(--rp-ink);border-radius:2px;box-shadow:0 1px 2px #0a141e2e,0 10px 30px #0a141e29}.rp-sheet-head{position:absolute;top:9mm;left:15mm;right:15mm;display:flex;justify-content:space-between;gap:8mm;font-size:7.6pt;color:#6b7782;padding-bottom:1.6mm;border-bottom:.5pt solid var(--rp-line)}.rp-sheet-head span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-cover{display:flex;flex-direction:column;padding:26mm 18mm 18mm}.rp-cover-title{text-align:center;padding-bottom:7mm;border-bottom:.8pt solid var(--rp-rule)}.rp-cover-type{font-size:11pt;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--rp-ink)}.rp-cover h1{font-size:22pt;font-weight:700;line-height:1.2;margin:6mm 0 3mm;color:var(--rp-ink)}.rp-cover-sub{font-size:12pt;color:#3c4955;margin:0}.rp-cover-hero{flex:1;display:flex;align-items:center;margin:9mm 0}.rp-cover-hero img{width:100%;display:block;border:.5pt solid #9aa5b1}.rp-cover-scheme{width:100%;border:.5pt solid #9aa5b1}.rp-titleblock{width:100%;border-collapse:collapse;font-size:9.6pt;border:1pt solid var(--rp-rule)}.rp-titleblock th,.rp-titleblock td{border:.5pt solid var(--rp-rule);padding:1.8mm 3mm;text-align:left;vertical-align:top}.rp-titleblock th{width:32%;font-weight:600;background:#f3f4f5}.rp-h2{display:flex;align-items:baseline;gap:3mm;font-size:15pt;font-weight:720;letter-spacing:-.005em;line-height:1.25;margin:0 0 6mm;padding-bottom:2.6mm;border-bottom:1.2pt solid var(--rp-rule);color:var(--rp-ink)}.rp-h2 .rp-no{color:var(--rp-acc)}.rp-h3{display:flex;align-items:baseline;gap:2.6mm;font-size:11pt;font-weight:680;margin:7mm 0 3mm;color:var(--rp-ink);break-after:avoid}.rp-sub:first-of-type .rp-h3{margin-top:0}.rp-h3 .rp-no{color:var(--rp-muted);font-variant-numeric:tabular-nums}.rp-h3-plain{margin-top:7mm}.rp-doc p{margin:0 0 3mm}.rp-lead{font-size:10.4pt;line-height:1.55}.rp-note{font-size:8.4pt;line-height:1.45;color:var(--rp-muted)}.rp-doc .rp-note{margin-top:-2mm}.rp-sm{font-size:7.4pt;color:var(--rp-muted);font-weight:400}.rp-cite{color:inherit;font-size:90%;white-space:nowrap}.rp-tag{font-size:7.4pt;color:var(--rp-muted)}.rp-list{margin:0 0 4mm;padding-left:5mm}.rp-list li{margin:1.6mm 0}.rp-warn-list{font-size:8.4pt;color:#8a5a00;padding-left:5mm}.rp-keep{break-inside:avoid}.rp-user-notes{border:.5pt solid #9aa5b1;padding:3mm 4mm}.rp-user-notes p:last-child{margin-bottom:0}.rp-toc-list,.rp-toc-list ol{list-style:none;margin:0;padding:0}.rp-toc-list a{display:flex;gap:3mm;color:var(--rp-ink);text-decoration:none}.rp-toc-list>li>a{font-size:10.6pt;font-weight:650;padding:2mm 0 1.2mm;border-bottom:.5pt solid var(--rp-line)}.rp-toc-list ol{padding:.6mm 0 1.2mm 9mm}.rp-toc-list ol a{font-size:9pt;padding:.45mm 0;color:#33414e}.rp-toc-list .rp-no{min-width:9mm;color:var(--rp-acc);font-variant-numeric:tabular-nums}.rp-toc-list ol .rp-no{color:var(--rp-muted)}.rp-doc .rt{width:100%;border-collapse:collapse;margin:2mm 0 6mm;font-size:8.8pt;line-height:1.35;font-variant-numeric:tabular-nums;counter-increment:tab}.rp-doc .rt caption{caption-side:top;text-align:left;font-size:8.4pt;font-weight:500;color:var(--rp-muted);padding:0 0 1.6mm}.rp-doc .rt caption:before{content:"Tablica " counter(tab) ". ";font-weight:700;color:var(--rp-ink)}.rp-doc .rt thead th{padding:1.6mm 2mm 1.4mm;text-align:right;vertical-align:bottom;font-weight:650;color:var(--rp-ink);background:transparent;border:0;border-top:1.2pt solid var(--rp-rule);border-bottom:.7pt solid var(--rp-rule)}.th-l{display:block}.th-u{display:block;font-size:7.2pt;font-weight:400;color:var(--rp-muted)}.rp-doc .rt td,.rp-doc .rt tbody th,.rp-doc .rt tfoot th{padding:1.25mm 2mm;text-align:right;vertical-align:top;border:0;border-bottom:.4pt solid var(--rp-line);color:var(--rp-ink)}.rp-doc .rt tbody tr:nth-child(2n)>td{background-color:var(--rp-zebra)}.rp-doc .rt tbody tr:last-child>td,.rp-doc .rt tbody tr:last-child>th{border-bottom:1.2pt solid var(--rp-rule)}.rp-doc .rt td:first-child,.rp-doc .rt th:first-child,.rp-doc .rt .t-text{text-align:left}.rp-doc .rt tr{break-inside:avoid}.rp-doc .rt tfoot th,.rp-doc .rt tfoot td{font-weight:700;border-top:.7pt solid var(--rp-rule);border-bottom:1.2pt solid var(--rp-rule)}.rp-doc .rt-dense td,.rp-doc .rt-dense thead th{padding-left:1.6mm;padding-right:1.6mm}.rp-doc .rt-dense{font-size:8.3pt}.rp-doc .rt-xs{font-size:7.3pt}.rp-doc .rt-kv tbody th{width:46%;text-align:left;font-weight:500;color:var(--rp-muted)}.rp-doc .rt-kv td{text-align:left}.rp-doc .rt-kv tbody tr:first-child>th,.rp-doc .rt-kv tbody tr:first-child>td{border-top:1.2pt solid var(--rp-rule)}.rp-doc .rt-sources td:first-child{width:30%;font-weight:600}.rp-doc .rt-checks td:nth-child(1){width:22%;font-weight:600}.rp-doc .rt-checks td:nth-child(4){width:1%;white-space:nowrap}.rp-doc .rt .row-gov>td{background:#eef0f2;font-weight:600}.rp-doc .rt .row-warn>td,.rp-doc .rt .row-fail>td{background:transparent}.rp-doc .rt .row-na>td{color:var(--rp-muted);font-style:italic}.rp-doc .rt .tr-between>td:first-child{font-style:italic}.rp-doc .rt .cell-max{font-weight:750;box-shadow:inset 0 0 0 1.1pt var(--rp-rule)}.rp-doc .rt .cell-zero{color:#a3adb7}.rp-bar-cell{width:28%;vertical-align:middle!important}.rp-bar{display:block;height:2.2mm;background:#8b96a1}.rp-st{font-weight:700;white-space:nowrap}.rp-st-ok{color:#1f5f3a}.rp-st-warn{color:#7a5200}.rp-st-fail{color:#9b1c22}.rp-st-info{color:var(--rp-ink)}.rp-doc .rt-key td:first-child{width:46%}.rp-doc .rt-key td:nth-child(2){width:18%;white-space:nowrap}.rp-doc .rt .rp-comment-row>td{padding-top:.6mm;padding-bottom:2mm;background:transparent}.rp-comment-edit{display:flex;flex-direction:column;gap:1mm}.rp-comment-edit>span{font-size:7.6pt;font-weight:600;color:var(--rp-muted)}.rp-comment-edit textarea{width:100%;min-height:12mm;field-sizing:content;resize:vertical;font:inherit;font-size:9pt;color:var(--rp-ink);background:#fbfbf7;border:.6pt dashed #a9b2bb;border-radius:0;padding:1.6mm 2mm;box-shadow:none}.rp-comment-edit textarea:focus{outline:none;border-style:solid;border-color:var(--rp-rule);background:#fff}.rp-comment{font-size:9pt;line-height:1.45;padding:1.4mm 0 0 3mm;border-left:.6pt solid var(--rp-rule)}.print-only{display:none}.rp-fig{counter-increment:fig;margin:2mm 0 7mm;break-inside:avoid}.rp-fig figcaption{margin-top:2.2mm;font-size:8.4pt;line-height:1.4;color:var(--rp-muted);text-align:center}.rp-fig figcaption:before{content:"Slika " counter(fig) ". ";font-weight:700;color:var(--rp-ink)}.rp-fig-body img{display:block;width:100%;border:.5pt solid #9aa5b1}.rp-scheme{border:.5pt solid #9aa5b1;overflow:hidden}.rp-rosettes{display:flex;justify-content:center;gap:10mm;flex-wrap:wrap}.rp-fig.rp-shot{margin:0 0 6mm}.rp-shot-wait{display:grid;place-items:center;aspect-ratio:1500 / 940;width:100%;font-size:9pt;color:var(--rp-muted);border:.5pt dashed var(--border-strong);background:#f4f6f8}.rp-legend{display:flex;align-items:center;flex-wrap:wrap;gap:2mm;margin:1mm 0 4mm;font-size:8pt;color:var(--rp-muted)}.rp-legend-bar{width:46mm;height:2.4mm;border-radius:1mm}.rp-legend-t{margin-left:3mm}.mth{font-family:var(--rp-math)}.rp-eq{counter-increment:eq;position:relative;display:flex;justify-content:center;align-items:center;margin:2.5mm 0;padding:2mm 13mm;break-inside:avoid}.rp-eq:after{content:"(" counter(eq) ")";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:9pt;color:var(--rp-muted)}.rp-eq-body{font-size:11.6pt;line-height:2;text-align:center}.mv sub,.mv sup{font-style:normal;font-size:68%;line-height:0}.mv sub{vertical-align:-.38em}.mv sup{vertical-align:.6em}.mo{padding:0 .26em}.eq-sep{display:inline-block;width:8mm}.frac{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;margin:0 .18em;line-height:1.2}.frac-n{padding:0 .25em .08em;border-bottom:.8pt solid currentColor}.frac-d{padding:.08em .25em 0}.m-sum{font-size:140%;vertical-align:-.12em;margin:0 .12em}.m-vec{font-weight:700;font-style:normal}.m-br{position:relative;display:inline-flex;vertical-align:middle;margin:0 .3em;padding:0 1.6mm}.m-br:before,.m-br:after{content:"";position:absolute;top:0;bottom:0;width:1.3mm;border:.9pt solid currentColor}.m-br:before{left:0;border-right:0}.m-br:after{right:0;border-left:0}.m-br table{border-collapse:collapse}.m-br td{padding:.4mm 2.2mm;text-align:center;font-size:10.2pt;line-height:1.5}.rp-kmatrix{display:flex;justify-content:center;align-items:center;gap:1mm;margin:3mm 0 5mm;font-size:11.6pt}.rp-kmatrix .m-br td{font-family:var(--font);font-size:9.6pt;font-variant-numeric:tabular-nums;text-align:right;min-width:26mm}.rp-where{margin:0 0 5mm;font-size:9pt;break-inside:avoid}.rp-where-h{font-style:italic;color:var(--rp-muted);margin-bottom:1mm}.rp-where dl{display:grid;grid-template-columns:max-content 1fr;gap:.9mm 4mm;margin:0;padding-left:6mm}.rp-where-row{display:contents}.rp-where dt{text-align:right;font-size:10.4pt;white-space:nowrap}.rp-where dd{margin:0}.rp-example{margin:4mm 0 5mm;padding:3mm 4mm 3.4mm;border:.5pt solid #9aa5b1;break-inside:avoid}.rp-example-h{font-size:9pt;font-weight:700;color:var(--rp-ink);margin-bottom:1.6mm}.rp-example-b{font-size:10pt;line-height:1.9}.rp-refs{list-style:none;margin:0 0 5mm;padding:0}.rp-refs li{display:grid;grid-template-columns:9mm 1fr;margin:1.8mm 0;font-size:9pt;line-height:1.45}.rp-ref-no{font-weight:700;color:var(--rp-acc);font-variant-numeric:tabular-nums}@media print{.print-only{display:block}.rp-comment-row.is-empty{display:none}html,body.report-open{background:#fff!important}.report-overlay{position:static;display:block;background:#fff}.rp-layout{display:block}.rp-pages{overflow:visible;padding:0;background:#fff}.rp-doc{zoom:1!important}.rp-sheet{width:auto;min-height:0;margin:0;padding:0;box-shadow:none;border-radius:0;break-before:page}.rp-doc>.rp-sheet:first-child{break-before:auto}.rp-cover{height:258mm;overflow:hidden;padding:4mm 3mm 0}.rp-toc-list a{color:inherit}}.rp-side-notice{margin:10px 0 0;font-size:12px}.rp-chapter+.rp-chapter{margin-top:11mm}.rp-pb{all:unset;box-sizing:border-box;flex:none;display:grid;place-items:center;width:24px;height:22px;border-radius:5px;color:var(--text-dim);opacity:.45;cursor:pointer}.rp-pb:hover:not(:disabled){opacity:1;background:var(--surface-2)}.rp-pb.is-on{opacity:1;color:var(--accent-text)}.rp-pb:disabled{cursor:default;opacity:.35}.rp-pb:focus-visible{outline:2px solid var(--accent);outline-offset:1px;opacity:1}.rp-side-hint-top{margin:-2px 0 8px}*,*:before,*:after{box-sizing:border-box}:root{--bg: #f2f4f7;--surface: #ffffff;--surface-2: #f6f8fa;--surface-3: #e9edf2;--border: #e2e7ed;--border-strong: #ccd5de;--text: #0f1b2a;--text-dim: #5a6a7b;--text-faint: #8796a6;--accent: #0b8278;--accent-hover: #09726a;--accent-contrast: #ffffff;--accent-soft: rgba(11, 130, 120, .1);--accent-softer: rgba(11, 130, 120, .055);--info: #3b7ddd;--info-soft: rgba(59, 125, 221, .1);--warn: #b9770f;--warn-soft: rgba(224, 160, 32, .14);--danger: #d33c41;--danger-soft: rgba(211, 60, 65, .09);--success: #2c9c67;--success-soft: rgba(44, 156, 103, .12);--radius: 12px;--radius-md: 9px;--radius-sm: 7px;--shadow-sm: 0 1px 2px rgba(15, 27, 42, .06);--shadow: 0 1px 2px rgba(15, 27, 42, .05), 0 3px 10px rgba(15, 27, 42, .06);--shadow-lg: 0 2px 6px rgba(15, 27, 42, .06), 0 14px 36px rgba(15, 27, 42, .14);--ease: cubic-bezier(.2, .8, .2, 1);--dur: .18s;--canvas-bg: #e9eef3;--field-bg: #ffffff;--field-border: #8b98a6;--warn-text: #8a5a00;--success-text: #1d7a4e;--danger-text: #b3262c;--accent-text: #07706a;--font: Inter, -apple-system, "Segoe UI", Roboto, system-ui, sans-serif;--mono: ui-monospace, "SF Mono", "Cascadia Code", "Roboto Mono", Menlo, Consolas, monospace;color-scheme:light}:root[data-theme=dark]{--bg: #0c131c;--surface: #131c27;--surface-2: #18232f;--surface-3: #202d3b;--border: #233140;--border-strong: #32424f;--text: #e7edf3;--text-dim: #8d9aa8;--text-faint: #66778a;--accent: #1cb3aa;--accent-hover: #2bc4bb;--accent-contrast: #04211e;--accent-soft: rgba(28, 179, 170, .15);--accent-softer: rgba(28, 179, 170, .08);--info: #4b91f7;--info-soft: rgba(75, 145, 247, .15);--warn: #e0a020;--warn-soft: rgba(224, 160, 32, .14);--danger: #f0595e;--danger-soft: rgba(229, 72, 77, .15);--success: #35b877;--success-soft: rgba(48, 164, 108, .15);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 1px 2px rgba(0, 0, 0, .45), 0 4px 12px rgba(0, 0, 0, .25);--shadow-lg: 0 2px 6px rgba(0, 0, 0, .4), 0 16px 40px rgba(0, 0, 0, .5);--canvas-bg: #0e1822;--field-bg: #0f1822;--field-border: #5d6e7e;--warn-text: #e0a020;--success-text: #35b877;--danger-text: #f0595e;--accent-text: #1cb3aa;color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0c131c;--surface: #131c27;--surface-2: #18232f;--surface-3: #202d3b;--border: #233140;--border-strong: #32424f;--text: #e7edf3;--text-dim: #8d9aa8;--text-faint: #66778a;--accent: #1cb3aa;--accent-hover: #2bc4bb;--accent-contrast: #04211e;--accent-soft: rgba(28, 179, 170, .15);--accent-softer: rgba(28, 179, 170, .08);--info: #4b91f7;--info-soft: rgba(75, 145, 247, .15);--warn: #e0a020;--warn-soft: rgba(224, 160, 32, .14);--danger: #f0595e;--danger-soft: rgba(229, 72, 77, .15);--success: #35b877;--success-soft: rgba(48, 164, 108, .15);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 1px 2px rgba(0, 0, 0, .45), 0 4px 12px rgba(0, 0, 0, .25);--shadow-lg: 0 2px 6px rgba(0, 0, 0, .4), 0 16px 40px rgba(0, 0, 0, .5);--canvas-bg: #0e1822;--field-bg: #0f1822;--field-border: #5d6e7e;--warn-text: #e0a020;--success-text: #35b877;--danger-text: #f0595e;--accent-text: #1cb3aa;color-scheme:dark}}html,body,#root{height:100%;margin:0}#root{height:100dvh;height:var(--app-h, 100dvh);padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);background:var(--surface)}html,body{overflow:hidden;overscroll-behavior:none}body{font-family:var(--font);font-size:13.5px;line-height:1.45;color:var(--text);background:var(--bg);overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"cv11","ss01"}#root{display:flex;flex-direction:column}h1,h2,h3{color:var(--text);letter-spacing:-.01em}::selection{background:var(--accent-soft)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:7px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--text-faint);background-clip:content-box}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-10px)}}.muted{color:var(--text-dim)}.small{font-size:12px}.warn{color:var(--warn-text)}.num{font-variant-numeric:tabular-nums}.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.2;color:var(--accent-contrast);background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm),inset 0 1px #ffffff1f;cursor:pointer;white-space:nowrap;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform 80ms ease}button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button:active{transform:translateY(1px) scale(.99)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.block{width:100%}button.small{min-height:30px;padding:0 11px;font-size:12px}.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}button.secondary,.secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}button.secondary:hover,.secondary:hover{background:var(--surface-2);border-color:var(--text-faint);color:var(--text)}.ghost{background:transparent;border-color:transparent;color:var(--text-dim);box-shadow:none}.ghost:hover{background:var(--surface-3);border-color:transparent;color:var(--text)}button.danger,.danger{background:transparent;color:var(--danger-text);border-color:var(--border-strong);box-shadow:none;margin-top:6px}button.danger:hover,.danger:hover{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}button.tool,.tool{min-height:32px;background:transparent;color:var(--text-dim);border:1px solid transparent;box-shadow:none;font-weight:500;padding:0 11px}button.tool:hover,.tool:hover{background:var(--surface-3);color:var(--text)}button.tool.active,.tool.active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);box-shadow:var(--shadow-sm)}button.icon,.icon{min-height:0;background:transparent;border:none;box-shadow:none;color:var(--text-faint);padding:3px 6px;font-size:15px;border-radius:var(--radius-sm)}button.icon:hover,.icon:hover{background:var(--danger-soft);color:var(--danger)}button.link,.link{min-height:0;background:transparent;border:none;box-shadow:none;color:var(--accent-text);padding:2px 0;text-align:left;font-weight:600;text-decoration:none}button.link:hover,.link:hover{background:transparent;text-decoration:underline;text-underline-offset:2px}.project-row .link{flex:1}.icon-btn{width:34px;height:34px;min-height:34px;padding:0;border-radius:var(--radius-sm);flex:0 0 auto}.compute-btn{position:relative;padding:0 16px;box-shadow:0 1px 2px #0b827840,0 4px 14px #0b827838}.compute-stale-dot{position:absolute;top:-4px;right:-4px;width:11px;height:11px;border-radius:50%;background:var(--warn);border:2px solid var(--surface);animation:pulse-dot 1.8s ease-in-out infinite}@keyframes pulse-dot{50%{box-shadow:0 0 0 4px var(--warn-soft)}}input,select,textarea{font-family:inherit;font-size:13px;width:100%;min-height:34px;padding:6px 10px;color:var(--text);background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--radius-sm);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background-color var(--dur) var(--ease)}input[inputmode=decimal]{font-variant-numeric:tabular-nums}input::placeholder,textarea::placeholder{color:var(--text-faint)}input:hover,select:hover,textarea:hover{border-color:var(--text-dim)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background-color:var(--field-bg)}input:disabled,select:disabled{opacity:.6;cursor:not-allowed}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:30px;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b98a5' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer}input[type=checkbox],input[type=radio]{width:auto;min-height:0;accent-color:var(--accent)}.input-wrap{position:relative;display:flex}.input-wrap>input{padding-right:calc(var(--unit-ch, 0) * .62em + 16px)}.input-unit{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--text-faint);pointer-events:none;white-space:nowrap}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 6px;cursor:pointer}.switch-text{display:flex;flex-direction:column;gap:2px;min-width:0}.switch-label{font-size:13px;font-weight:600;color:var(--text)}.switch-desc{font-size:11.5px;color:var(--text-dim);line-height:1.4}input.switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;flex:0 0 auto;width:38px;height:22px;min-height:22px;padding:0;margin:0;border-radius:999px;border:1px solid var(--field-border);background:var(--surface-3);cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}input.switch:before{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f1b2a4d;transition:transform var(--dur) var(--ease)}input.switch:checked{background:var(--accent);border-color:var(--accent)}input.switch:checked:before{transform:translate(16px)}.seg-control{position:relative;display:grid;grid-template-columns:repeat(var(--seg-n),minmax(0,1fr));padding:3px;min-height:34px;background:var(--surface-3);border-radius:var(--radius-sm);isolation:isolate}.seg-thumb{position:absolute;z-index:-1;top:3px;bottom:3px;left:3px;width:calc((100% - 6px) / var(--seg-n));border-radius:5px;background:var(--surface);box-shadow:var(--shadow-sm),0 0 0 1px var(--border);transform:translate(calc(var(--seg-i) * 100%));transition:transform .22s var(--ease)}.seg-control button{min-height:28px;padding:0 8px;background:transparent;border:none;box-shadow:none;color:var(--text-dim);font-weight:600;font-size:12.5px}.seg-control button:hover{background:transparent;color:var(--text)}.seg-control button[aria-checked=true]{color:var(--text)}.seg-control button:focus-visible{outline-offset:-2px;border-radius:5px}.opt-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.opt-cards.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.opt-cards.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.opt-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;min-width:0;min-height:0;padding:9px 5px 8px;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:none;color:var(--text-dim);text-align:center;white-space:normal;font-weight:500}.opt-card:hover{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}.opt-card:active{transform:scale(.985)}.opt-card:focus-visible{outline-offset:1px}.opt-card.on{border-color:var(--accent);background:var(--accent-softer);color:var(--accent-text);box-shadow:0 0 0 3px var(--accent-soft)}.opt-card:disabled{opacity:.45}.opt-card svg{flex:0 0 auto;width:64px;height:38px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;overflow:visible}.opt-card svg .s{fill:currentColor;fill-opacity:.12}.opt-card svg .f{fill:currentColor;stroke:none}.opt-card svg .w{stroke:var(--info);stroke-width:1.2;opacity:.75}.opt-card svg .g{stroke:var(--text-faint);stroke-width:1}.opt-card svg .a{stroke:var(--accent)}.opt-card svg .a.f{fill:var(--accent);stroke:none}.opt-card svg .d{stroke-dasharray:2.2 2.2}.opt-card b{font-size:12px;font-weight:650;line-height:1.2;color:inherit}.opt-card small{font-size:10.5px;font-weight:500;line-height:1.25;color:var(--text-faint)}.opt-card.on small{color:var(--accent-text);opacity:.8}.opt-check{position:absolute;top:6px;right:6px;width:14px;height:14px;border:1.5px solid var(--border-strong);border-radius:4px;background:var(--surface);transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.opt-card.on .opt-check{border-color:var(--accent);background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3.5 7.2 6 9.6 10.6 4.6' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat}.opt-cards.compact{gap:6px}.opt-cards.compact .opt-card{gap:3px;padding:7px 3px 6px;border-radius:var(--radius-md)}.opt-cards.compact .opt-card svg{width:50px;height:30px}.opt-cards.compact .opt-card b{font-size:11.5px}.field>.opt-cards{margin-top:1px}details.panel,.panel{border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;margin:0;padding:0 0 16px;box-shadow:none}.rail-panel-body>.panel:last-child,.inspector-body>.panel:last-child{border-bottom:0}.panel summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;font-weight:650;font-size:13.5px;color:var(--text);padding:15px 0 9px;list-style:none;-webkit-user-select:none;user-select:none;border-radius:var(--radius-sm)}.panel summary::-webkit-details-marker{display:none}.panel summary:after{content:"";flex:0 0 auto;width:7px;height:7px;margin-right:4px;border-right:1.8px solid var(--text-faint);border-bottom:1.8px solid var(--text-faint);transform:rotate(-45deg);transition:transform var(--dur) var(--ease)}.panel[open]>summary:after{transform:translateY(-2px) rotate(45deg)}.panel summary:hover{color:var(--accent-text)}.panel[open]>:not(summary){animation:rise-in .22s var(--ease)}.panel-actions{display:flex;flex-direction:column;gap:10px;padding:16px 0 6px}.field{display:flex;flex-direction:column;gap:5px;margin:8px 0;font-size:13px;min-width:0}.field>span,.field label>span{color:var(--text-dim);font-size:12px;font-weight:500;line-height:1.3}.field span em{color:var(--text-faint);font-style:normal}.field input.invalid{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.field .field-error,.field .field-hint{font-size:11.5px;line-height:1.35}.field .field-error{color:var(--danger-text)}.field .field-hint{color:var(--text-dim)}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px;align-items:start}.check{display:flex;align-items:center;gap:8px;font-size:13px;margin:6px 0;cursor:pointer}.check input{width:auto;margin:0}.btn-row{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.layer-list{max-height:190px;overflow-y:auto;margin:8px 0;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.project-list{border-top:1px solid var(--border);margin-top:10px;padding-top:8px}.project-row{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:3px 4px;border-radius:var(--radius-sm)}.project-row:hover{background:var(--surface-2)}.shell{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;background:var(--bg);color:var(--text)}.shell-body{flex:1 1 auto;min-height:0;display:flex}.appbar{position:relative;z-index:20;flex:0 0 56px;height:56px;display:flex;align-items:center;gap:16px;padding:0 14px 0 12px;background:var(--surface);border-bottom:1px solid var(--border)}.appbar-left{display:flex;align-items:center;flex:0 0 auto}.appbar-center{flex:1 1 auto;display:flex;justify-content:center;min-width:0;overflow-x:auto;scrollbar-width:none}.appbar-center::-webkit-scrollbar{display:none}.appbar-right{display:flex;align-items:center;gap:8px;flex:0 0 auto}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,var(--accent),var(--accent-hover));color:var(--accent-contrast);box-shadow:0 2px 8px #0b82784d}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-title{font-size:14px;font-weight:700;letter-spacing:-.01em}.brand-sub{font-size:11px;color:var(--text-dim)}.project-chip{display:flex;align-items:center;gap:8px;height:34px;padding:0 11px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);max-width:240px;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease)}.project-chip:hover{border-color:var(--border-strong)}.project-chip:focus-within{background:var(--field-bg);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.project-chip-dot{width:7px;height:7px;border-radius:50%;background:var(--success);flex:0 0 auto;transition:background var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.project-chip input{min-height:0;border:none;background:transparent;padding:2px 0;font-size:13px;font-weight:600;width:180px;text-overflow:ellipsis}.project-chip input:focus{outline:none;box-shadow:none;background:transparent}.user-chip{display:flex;align-items:center;gap:4px;padding-left:8px;margin-left:2px;border-left:1px solid var(--border)}.user-email{font-size:12px;color:var(--text-dim);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.segmented{display:inline-flex;gap:2px;padding:3px;background:var(--surface-3);border-radius:10px}.segmented button{min-height:30px;background:transparent;border:none;box-shadow:none;color:var(--text-dim);font-weight:600;font-size:13px;padding:0 16px;border-radius:7px;white-space:nowrap}.segmented .seg-short{display:none}.segmented button:hover{background:transparent;color:var(--text)}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm),0 0 0 1px var(--border)}.rail{position:relative;z-index:3;flex:0 0 auto;width:76px;display:flex;flex-direction:column;justify-content:space-between;padding:10px 0;background:var(--surface);border-right:1px solid var(--border);transition:width var(--dur) var(--ease)}.rail.collapsed{width:60px}.rail-nav{display:flex;flex-direction:column;gap:2px;padding:0 8px}.rail-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;width:100%;min-height:0;padding:9px 4px 8px;border:none;background:transparent;box-shadow:none;color:var(--text-dim);border-radius:var(--radius-md);font-weight:500}.rail-item:before{content:"";position:absolute;left:-8px;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--accent);transform:scaleY(0);transition:transform var(--dur) var(--ease)}.rail-item:hover{background:var(--surface-2);color:var(--text)}.rail-item.active{background:var(--accent-soft);color:var(--accent-text)}.rail-item.active:before{transform:scaleY(1)}.rail-icon{display:grid;place-items:center;transition:transform var(--dur) var(--ease)}.rail-item:hover .rail-icon{transform:translateY(-1px)}.rail-label{font-size:10.5px;font-weight:600;letter-spacing:.1px}.rail-collapse{margin:6px 8px 0;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:0;padding:8px 4px;border:none;background:transparent;box-shadow:none;color:var(--text-faint);border-radius:var(--radius-md);font-weight:500}.rail-collapse:hover{background:var(--surface-2);color:var(--text)}.rail-collapse-icon{display:grid;place-items:center;transition:transform var(--dur) var(--ease)}.rail-collapse-icon.flip{transform:rotate(180deg)}.rail-panel{position:relative;z-index:2;flex:0 0 auto;width:0;overflow:hidden;background:var(--surface);border-right:1px solid var(--border);transition:width .24s var(--ease)}.rail-panel.open{width:364px;box-shadow:6px 0 24px -18px #0f1b2a59}.rail-panel-inner{width:364px;height:100%;display:flex;flex-direction:column}.rail-panel.open .rail-panel-inner{animation:slide-in-left .26s var(--ease)}.rail-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 16px 12px 20px;border-bottom:1px solid var(--border)}.rail-panel-heading{display:flex;flex-direction:column;gap:2px;min-width:0}.rail-panel-title{font-size:16px;font-weight:700;letter-spacing:-.01em}.rail-panel-hint{font-size:12px;color:var(--text-dim)}.rail-panel-body{flex:1;min-height:0;overflow-y:auto;padding:0 20px 28px;scroll-behavior:smooth;animation:fade-in .2s var(--ease)}.stage{position:relative;flex:1 1 auto;min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column;background:var(--bg)}.stage>*{animation:fade-in .22s var(--ease)}.stage-scroll{flex:1;min-height:0;overflow-y:auto;padding:22px 26px 48px}.stage-scroll .results{max-width:1120px;margin:0 auto}.tools-toolbar{position:absolute;top:14px;left:14px;z-index:5;display:flex;flex-wrap:wrap;max-width:calc(100% - 28px);align-items:center;gap:8px;padding:5px;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);animation:rise-in .26s var(--ease)}.tools-group{display:flex;align-items:center;gap:3px}.tools-group+.tools-group{padding-left:8px;border-left:1px solid var(--border)}.rope-chip{gap:6px}.rope-chip b{color:var(--text);font-weight:650}.rope-picker{display:flex;flex-direction:column}.rope-picker-main{display:grid;grid-template-columns:minmax(0,1fr);gap:0}.rope-summary{margin:6px 0 4px;padding:7px 10px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);font-size:12px;font-variant-numeric:tabular-nums;color:var(--text-dim)}.own-ropes{margin:6px 0}.btn-row .danger{margin-top:0}.multi-head{padding:14px 0 10px;border-bottom:1px solid var(--border)}.multi-title{font-size:14px}.multi-parts{margin-top:2px}.inspector{position:relative;z-index:2;flex:0 0 auto;width:0;overflow:hidden;background:var(--surface);border-left:1px solid var(--border);transition:width .24s var(--ease)}.inspector.open{width:330px;box-shadow:-6px 0 24px -18px #0f1b2a59}.inspector-inner{width:330px;height:100%;display:flex;flex-direction:column}.inspector.open .inspector-inner{animation:fade-in .24s var(--ease)}.inspector-head{display:flex;align-items:center;gap:8px;padding:16px 18px 12px;border-bottom:1px solid var(--border);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim)}.inspector-head svg{color:var(--accent)}.inspector-body{flex:1;min-height:0;overflow-y:auto;padding:0 18px 26px}.statusbar{flex:0 0 auto;height:calc(32px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 14px;background:var(--surface);border-top:1px solid var(--border);font-size:12px}.statusbar-left{display:flex;align-items:center;gap:14px;min-width:0;overflow:hidden}.statusbar-right{display:flex;align-items:center;gap:10px;flex:0 0 auto}.kpi{display:flex;align-items:baseline;gap:6px;white-space:nowrap}.kpi-label{color:var(--text-faint);font-size:11px}.kpi-value{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.sep{width:1px;height:14px;background:var(--border);flex:0 0 auto}.statusbar-hint{color:var(--text-faint);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42vw}.status-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;letter-spacing:.02em;padding:2px 9px;border-radius:999px}.status-chip:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status-chip.ok{background:var(--success-soft);color:var(--success-text)}.status-chip.fail{background:var(--danger-soft);color:var(--danger-text)}.status-chip.idle{background:var(--surface-3);color:var(--text-dim)}.view-placeholder{border:1px dashed var(--border-strong);border-radius:var(--radius);padding:18px;margin-bottom:10px;color:var(--text-dim);font-size:12.5px;text-align:center;background:var(--surface-2)}.editor-canvas{flex:1;min-height:0;position:relative;overflow:hidden;background:var(--canvas-bg);background-image:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--text-faint) 22%,transparent) 1px,transparent 0);background-size:22px 22px}.editor-canvas:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.editor-canvas[data-tool=dockShip],.editor-canvas[data-tool=addBollard],.editor-canvas[data-tool=addFender]{cursor:crosshair}.editor-canvas[data-tool=connectLine]{cursor:pointer}.editor-hint{position:absolute;left:14px;bottom:14px;max-width:calc(100% - 420px);background:#0c131cdb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#eef2f6;padding:7px 13px;border-radius:var(--radius-sm);font-size:12px;pointer-events:none;box-shadow:var(--shadow);transition:opacity .4s var(--ease),transform .4s var(--ease)}.editor-hint.idle{opacity:0;transform:translateY(6px)}.editor-corner{position:absolute;right:14px;bottom:14px;z-index:4;display:flex;align-items:flex-end;gap:8px}.editor-zoom{display:flex;align-items:center;gap:2px;padding:3px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow)}.editor-zoom button{height:30px;min-height:30px;min-width:30px;padding:0 10px;font-size:12.5px;font-weight:600}.editor-zoom .icon-btn{font-size:17px;line-height:1}.north-arrow{display:flex;align-items:center;gap:7px;padding:4px 11px 4px 4px;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow);-webkit-user-select:none;user-select:none}.north-arrow svg{width:42px;height:42px;display:block;overflow:visible}.na-ring{fill:var(--surface-2);stroke:var(--border-strong);stroke-width:1}.na-tick{stroke:var(--text-faint);stroke-width:1.2}.na-needle-n{fill:var(--danger)}.na-needle-s{fill:var(--text-faint)}.na-n{font-size:10px;font-weight:800;fill:var(--danger-text)}.na-caption{display:flex;flex-direction:column;line-height:1.25;font-size:10.5px;color:var(--text-dim);white-space:nowrap;font-variant-numeric:tabular-nums}.na-heading{font-size:12.5px;font-weight:600;color:var(--text)}.viewer3d{flex:1;min-height:0;position:relative;overflow:hidden;background:var(--surface-2)}.viewer3d canvas{display:block}.viewer3d-loading{flex:1;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--text-dim)}.viewer3d-hud{position:absolute;top:14px;right:14px;max-height:calc(100% - 28px);overflow-y:auto;background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;font-size:12px;line-height:1.55;color:var(--text);box-shadow:var(--shadow-lg)}.viewer3d-hud summary{font-weight:700;cursor:pointer}.viewer3d-hud:not([open]){padding-bottom:10px}.viewer3d-hud table{border-collapse:collapse;margin:4px 0;font-variant-numeric:tabular-nums}.viewer3d-hud td{padding:0 10px 0 0;white-space:nowrap}.viewer3d-hud .muted{font-size:11px}.hud-warn{color:var(--danger);font-weight:600}.wind-dirs{display:flex;flex-direction:column;gap:10px;margin-top:6px;padding:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);animation:rise-in .24s var(--ease)}.wind-rose{width:200px;height:200px;align-self:center}.wr-ring{fill:none;stroke:var(--border-strong);stroke-width:1}.wr-petal{fill:color-mix(in srgb,var(--text-faint) 35%,transparent);stroke:var(--surface);stroke-width:1;cursor:pointer;transition:fill var(--dur) var(--ease)}.wr-petal.own{fill:color-mix(in srgb,var(--accent) 70%,transparent)}.wr-petal:hover,.wr-petal.sel{fill:var(--accent)}.wr-ship{fill:var(--surface);stroke:var(--text-dim);stroke-width:1.2}.wr-label{font-size:11px;font-weight:600;fill:var(--text-dim)}.wr-label.north{fill:var(--danger-text);font-weight:800}.dir-speed-grid{display:grid;gap:0 8px}.dir-speed-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.dir-speed-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.dir-speed .field{margin:3px 0;gap:2px}.dir-speed .field>span{font-size:11px;font-weight:700;color:var(--text-faint)}.dir-speed.own .field>span{color:var(--accent-text)}.dir-speed input{min-height:30px;padding:4px 7px;font-size:12.5px}.dir-speed input:placeholder-shown{background:transparent;border-style:dashed}.mini-table{width:100%;border-collapse:collapse;font-size:12.5px;margin:8px 0}.mini-table th,.mini-table td{border:1px solid var(--border);padding:6px 8px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.mini-table th{position:sticky;top:0;z-index:1;background:var(--surface-2);color:var(--text-dim);font-size:11.5px;font-weight:650}.mini-table td:first-child,.mini-table th:first-child{text-align:left}.mini-table tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--surface-2) 70%,transparent)}.mini-table tbody tr td{transition:background var(--dur) var(--ease)}.mini-table tbody tr:hover td{background:var(--accent-softer)}.mini-table tbody tr.row-fail td{background:var(--danger-soft)}.mini-table input{width:64px;min-height:28px;padding:3px 6px;text-align:right}.mini-table select{min-height:28px;padding:2px 24px 2px 7px;background-position:right 6px center;font-weight:600}.mini-table .w-dir{width:74px}.loads-table th,.loads-table td{padding:4px 5px}.table-wrap>.loads-table.readonly{width:100%}.loads-table.readonly td{padding:6px 8px;text-align:right;font-variant-numeric:tabular-nums}.loads-table.readonly td.t-text{text-align:left;font-weight:600}.loads-origin{margin:0 0 10px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--accent-softer);border:1px solid var(--accent-soft);font-size:12.5px;line-height:1.45}.loads-origin p{margin:0 0 8px}.loads-origin .btn-row{margin:0}.loads-table tr.tr-between td{background:var(--surface-2)}.loads-table tr.tr-between select,.loads-table tr.tr-between input{color:var(--text-dim)}.loads-between{margin:6px 0 8px}.loads-table th{font-size:11px;letter-spacing:-.01em}.loads-table input{width:100%;min-width:52px;padding:3px 6px}.loads-table td{border-left-width:0;border-right-width:0}.loads-table td:last-child,.loads-table th:last-child{padding:0 3px;text-align:center}.loads-table .icon{padding:2px 6px;line-height:1;color:var(--text-dim)}.loads-table .icon:hover{color:var(--danger)}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.table-wrap>.mini-table{margin:0;border:0}.table-wrap>.mini-table th,.table-wrap>.mini-table td{border-width:0 1px 1px 0}.table-wrap>.mini-table th:first-child,.table-wrap>.mini-table td:first-child{border-left-width:0}.table-wrap>.mini-table tr:last-child td{border-bottom-width:0}.results h2{font-size:20px;font-weight:750;margin:4px 0}.results h3{font-size:14px;font-weight:650;margin:0 0 10px;color:var(--text)}.results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.results-empty{max-width:460px;margin:46px auto;padding:34px 30px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.results-empty-icon{width:62px;height:62px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent);margin-bottom:2px}.results-empty h3{margin:0;font-size:15.5px;color:var(--text)}.results-empty p{margin:0 0 6px;font-size:13px;color:var(--text-dim);line-height:1.5}.kpi-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:4px 0 18px}.stat-card{position:relative;display:flex;flex-direction:column;gap:6px;padding:16px 18px 15px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;animation:rise-in .28s var(--ease) both;transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.stat-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.kpi-cards>.stat-card:nth-child(2){animation-delay:40ms}.kpi-cards>.stat-card:nth-child(3){animation-delay:80ms}.kpi-cards>.stat-card:nth-child(4){animation-delay:.12s}.stat-card:before{content:"";position:absolute;left:18px;width:26px;top:0;height:3px;border-radius:0 0 3px 3px;background:var(--accent)}.stat-card.stat-card-danger:before{background:var(--danger)}.stat-card.stat-card-warn:before{background:var(--warn)}.stat-card.stat-card-ok:before{background:var(--success)}.stat-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:20px}.stat-card-label{font-size:11.5px;font-weight:650;letter-spacing:.02em;color:var(--text-dim)}.stat-card-value{font-size:26px;font-weight:750;letter-spacing:-.02em;line-height:1.1;color:var(--text);font-variant-numeric:tabular-nums}.stat-card-sub{font-size:12px;color:var(--text-dim);line-height:1.4}.status-chip.warn{background:var(--warn-soft);color:var(--warn)}.result-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:18px 20px;margin:0 0 16px;animation:rise-in .3s var(--ease) both}.result-section>h3:first-child{margin-top:0}.section-note{font-size:12px;color:var(--text-dim);margin:10px 0 0;line-height:1.5}.verdict{padding:11px 13px;border-radius:var(--radius-sm);margin:10px 0 14px;font-size:13px;border:1px solid var(--border);border-left-width:4px}.verdict-ok{background:var(--success-soft);border-color:var(--success)}.verdict-fail{background:var(--danger-soft);border-color:var(--danger)}.file-pick{display:flex;align-items:center;gap:10px;margin:6px 0 8px;min-width:0}.file-pick-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel>.alert{margin:8px 0}.alert-list{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.alert{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;font-size:12.5px;line-height:1.45;color:var(--text);border-radius:var(--radius-sm);border:1px solid transparent;animation:rise-in .22s var(--ease)}.alert .alert-ico{flex:0 0 auto;margin-top:1px}.alert-warn{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}.alert-warn .alert-ico{color:var(--warn)}.alert-info{background:var(--info-soft);border-color:color-mix(in srgb,var(--info) 28%,transparent)}.alert-danger{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 28%,transparent)}.alert-danger .alert-ico{color:var(--danger)}.alert-ok{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 28%,transparent)}.panel-status{margin:8px 0}.envelope-head{font-size:15px;margin:22px 0 8px;border-top:2px solid var(--border);padding-top:14px}.rosette-section{display:flex;justify-content:center}.rosette{display:flex;justify-content:center;align-items:center;margin:0}.rosette svg{max-width:100%;height:auto}.auth-screen{height:100%;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(1200px 600px at 50% -10%,var(--accent-soft),transparent 60%),var(--bg)}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:30px;width:340px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-lg)}.auth-card h1{margin:0;font-size:22px}.auth-card p{margin:0}.auth-card label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--text-dim)}.auth-error{background:var(--danger-soft);border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius-sm);padding:8px 10px;font-size:13px;margin:6px 0}.banner-warn{flex:0 0 auto;background:color-mix(in srgb,var(--warn-soft) 70%,var(--surface));border-bottom:1px solid var(--border);color:var(--warn-text);padding:5px 16px;font-size:12px;font-weight:500;text-align:center}.help-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#080e1499;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:100;padding:26px}.help-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(1100px,100%);height:100%;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-lg)}.help-head{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border)}.help-head h1{font-size:17px;margin:0}.help-body{display:grid;grid-template-columns:240px 1fr;min-height:0;flex:1}.help-toc{border-right:1px solid var(--border);padding:16px 14px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;font-size:13px;background:var(--surface-2)}.help-toc a{color:var(--text-dim);text-decoration:none;padding:4px 8px;border-radius:5px}.help-toc a:hover{color:var(--text);background:var(--surface-3)}.help-content{overflow-y:auto;padding:20px 28px 44px;font-size:14px;line-height:1.6;scroll-behavior:smooth}.help-content h2{font-size:16px;margin:24px 0 8px;border-bottom:1px solid var(--border);padding-bottom:5px}.help-content pre{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 13px;font-size:12.5px;overflow-x:auto;line-height:1.5;font-family:var(--mono)}code.formula{background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:12.5px;white-space:nowrap;font-family:var(--mono)}.help-warn{background:var(--warn-soft);border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 12px}.help-steps li{margin-bottom:8px}.help-lit li{margin-bottom:4px}.help-card.report-gate{height:auto;max-width:560px}.report-gate-body{padding:0 20px 20px}.report-gate-body>.alert,.report-gate-body>p{margin:0 0 12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.results-head{gap:12px;flex-wrap:wrap;margin-bottom:10px}.results-head h2{margin-right:auto}.segmented.small-seg button{font-size:12.5px;padding:4px 12px}.dot-warn{display:inline-block;width:7px;height:7px;margin-left:6px;border-radius:50%;background:var(--warn);vertical-align:middle}.results-callout{margin:0 0 12px}.stale-banner{position:sticky;top:-18px;z-index:3;display:flex;align-items:center;gap:10px;padding:10px 12px;margin:0 0 12px;border-radius:var(--radius-sm);border-left:3px solid var(--warn);background:var(--warn-soft);box-shadow:var(--shadow);font-size:12.5px;line-height:1.45}.stale-banner>span{flex:1;min-width:0}.stale-banner .alert-ico{color:var(--warn);flex:0 0 auto}.stale-banner button{flex:0 0 auto}.is-stale .stale-dim{opacity:.55;filter:saturate(.6)}.results-notice>.alert,.results-notice>p{margin:0 0 12px}.readiness{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}.readiness-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.readiness-icon{flex:0 0 22px;height:22px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:12px}.readiness-row.is-ok .readiness-icon{background:var(--success-soft);color:var(--success)}.readiness-row.is-missing .readiness-icon{background:var(--danger-soft);color:var(--danger)}.readiness-row.is-warn .readiness-icon{background:var(--warn-soft);color:var(--warn)}.readiness-row.is-optional .readiness-icon{background:var(--surface-3);color:var(--text-dim)}.readiness-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:12.5px}.readiness-detail{color:var(--text-dim);font-size:12px}.readiness-action{flex:0 0 auto;padding:4px 10px;font-size:12px}details.warnings>summary{list-style:none;cursor:pointer}details.warnings>summary::-webkit-details-marker{display:none}details.warnings>summary h3{display:inline-flex;align-items:center;gap:8px;margin:0}details.warnings[open]>summary h3{margin-bottom:8px}.count-badge{font-size:11px;font-weight:700;min-width:20px;padding:1px 7px;border-radius:10px;text-align:center}.count-badge.warn{background:var(--warn-soft);color:var(--warn)}.count-badge.danger{background:var(--danger-soft);color:var(--danger)}.alert-note{color:var(--text-dim)}button.chip-link{display:inline;padding:0 4px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--accent);font:inherit;font-weight:600;cursor:pointer}button.chip-link:hover{border-color:var(--accent);background:var(--accent-soft)}.mini-table th.t-text,.mini-table td.t-text{text-align:left}.mini-table tbody th{font-weight:600;background:inherit;color:var(--text);position:static}.table-wrap>.mini-table{width:auto;min-width:60%}.mini-table tbody tr.row-gov td,.mini-table tbody tr.row-gov th{background:var(--accent-soft);font-weight:700}.gov-tag{margin-left:6px;padding:0 6px;border-radius:8px;font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;background:var(--accent);color:var(--surface)}.mini-table td.cell-warn{color:var(--warn);font-weight:600}.mini-table td.dim{color:var(--text-dim)}.stat-card-sub2{display:block;font-size:11.5px;opacity:.85}.rosette-section{max-width:380px;margin:0 auto}@media screen and (max-width:1180px){.brand-text{display:none}.appbar{gap:10px}.project-chip input{width:clamp(80px,12vw,150px)}.user-email{display:none}.shell-body{position:relative}.rail-panel,.inspector{position:absolute;top:0;bottom:0;z-index:30;transition:none}.rail-panel{left:74px}.rail.collapsed+.rail-panel{left:60px}.inspector{right:0}.rail-panel.open,.inspector.open{box-shadow:var(--shadow-lg)}.rail-panel:not(.open),.inspector:not(.open){border:none}.rail-panel.open,.rail-panel-inner{width:min(364px,calc(100vw - 90px))}.inspector.open,.inspector-inner{width:min(330px,calc(100vw - 90px))}.tools-toolbar .tool-label{display:none}.shell-body.has-rail-panel .tools-toolbar{left:calc(min(364px,100vw - 90px) + 14px);max-width:calc(100% - min(364px,100vw - 90px) - 28px)}.shell-body.has-inspector .tools-toolbar{max-width:calc(100% - min(330px,100vw - 90px) - 28px)}.shell-body.has-inspector .editor-hint{max-width:max(200px,calc(100% - min(330px,100vw - 90px) - 420px))}.shell-body.has-inspector .editor-corner,.shell-body.has-inspector .editor-legend{right:calc(min(330px,100vw - 90px) + 14px)}}@media screen and (max-width:1000px){.statusbar-right{display:none}}@media screen and (max-width:900px){.segmented button{padding:5px 10px}.segmented .seg-long{display:none}.segmented .seg-short{display:inline}.compute-btn{padding:7px 10px}.compute-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.kpi-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-hint{bottom:76px;max-width:calc(100% - 28px)}.stage-scroll{padding:14px 12px 40px}}@media print{body.report-open .appbar,body.report-open .shell-body,body.report-open .statusbar,body.report-open .banner-warn,.no-print{display:none!important}}@page{size:A4;margin:18mm 15mm}.floating-window{position:fixed;z-index:60;display:flex;flex-direction:column;max-height:calc(100vh - 120px);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden}.fw-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 8px 8px 13px;background:var(--surface-2);border-bottom:1px solid var(--border);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.fw-head:active{cursor:grabbing}.fw-title{font-weight:600;font-size:13px;color:var(--text)}.fw-body{padding:12px 14px 14px;overflow-y:auto}.catalog-open-btn{width:100%;justify-content:center;margin-top:2px}.help-table{border-collapse:collapse;font-size:13px;margin:6px 0 10px}.help-table td{padding:5px 12px 5px 0;border-bottom:1px solid var(--border);vertical-align:top}kbd{display:inline-block;min-width:18px;padding:1px 6px;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:4px;background:var(--surface-2);font:600 11.5px var(--mono);text-align:center}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:16px;background:#080e1673}.dialog{width:min(460px,100%);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:18px 20px 16px}.dialog:focus{outline:none}.dialog h2{font-size:15px;margin:0 0 8px}.dialog-body{margin:0 0 12px;font-size:13px;line-height:1.5;color:var(--text-dim)}.dialog .field{margin-bottom:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}button.danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}button.danger-solid:hover{filter:brightness(1.08)}.toaster{position:fixed;right:16px;bottom:46px;z-index:900;display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:min(440px,calc(100vw - 32px));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:9px 8px 9px 12px;border-radius:var(--radius-sm);border-left:3px solid var(--accent);background:var(--surface);color:var(--text);box-shadow:var(--shadow-lg);font-size:12.5px;line-height:1.4}.toast-ok{border-left-color:var(--success)}.toast-error{border-left-color:var(--danger)}.toast-text{flex:1;min-width:0}.toast-action{font-weight:700;white-space:nowrap}.toast-close{padding:0 6px;font-size:16px;line-height:1}.project-chip-dot.dirty{background:var(--warn);box-shadow:0 0 0 3px var(--warn-soft)}.draft-bar{flex:0 0 auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 14px;background:var(--info-soft);border-bottom:1px solid var(--border);font-size:12.5px}.draft-bar>span{flex:1;min-width:200px}.draft-bar button{padding:4px 12px}.editor-legend{position:absolute;right:14px;bottom:74px;z-index:4;display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);font-size:12px;color:var(--text-dim)}.editor-ramp{width:90px;height:8px;border-radius:999px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 32%,transparent)}.status-chip.ok{color:var(--success-text)}.status-chip.fail{color:var(--danger-text)}.status-chip.warn,.count-badge.warn,.mini-table td.cell-warn{color:var(--warn-text)}.count-badge.danger,.hud-warn,.field-error,.auth-error{color:var(--danger-text)}.rail-item.active{color:var(--accent-text)}.loads-table .icon{min-width:28px;min-height:28px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}fieldset.subpanel{margin:12px 0;padding:6px 12px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);min-width:0}fieldset.subpanel>legend{padding:0 6px;font-size:11.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-dim)}.shell{position:relative}.drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:950;display:grid;place-items:center;background:#0a857d1f;border:3px dashed var(--accent);pointer-events:none}.drop-overlay>div{padding:14px 22px;border-radius:var(--radius);background:var(--surface);color:var(--accent-text);font-weight:700;box-shadow:var(--shadow-lg)}.dir-chips{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:0 0 12px}.dir-chips-label{font-size:12px;color:var(--text-dim);margin-right:4px}button.dir-chip{padding:2px 8px;font-size:12px;font-weight:600;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text)}button.dir-chip.bad{background:var(--warn-soft);border-color:var(--warn);color:var(--warn-text)}button.dir-chip.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.dir-chip-nr{font-size:10px}button.dir-chip.between:not(.active){border-style:dashed;color:var(--text-dim)}select.dir-chip-more{width:auto;min-height:0;height:24px;padding:0 24px 0 8px;font-size:12px;border-radius:12px;background-position:right 7px center}.dir-detail-head{display:flex;align-items:center;justify-content:space-between}.dir-detail-head h3{margin:0}.dir-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin-bottom:12px}.dir-detail .table-wrap>.mini-table{min-width:100%}.cov-matrix td.cov-ok{color:var(--success-text);text-align:center}.cov-matrix td.cov-bad{background:var(--warn-soft);color:var(--warn-text);font-weight:700;text-align:center}.cov-matrix tr.cov-group th{position:static;background:var(--surface-2);color:var(--text);font-weight:700}.obj-table td.obj-actions{white-space:nowrap;text-align:right}.obj-table .obj-actions button{padding:0 6px}.panel>button+.table-wrap,.panel>.table-wrap+.grid2{margin-top:8px}.skip-link{position:absolute;left:12px;top:8px;z-index:1100;opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);padding:8px 14px;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-contrast);font-weight:700;text-decoration:none}.skip-link:focus{opacity:1;pointer-events:auto;transform:none}.stage:focus{outline:none}.fd-metrics{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:6px 0 8px}.fd-metrics>div{display:flex;flex-direction:column;gap:2px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);font-size:12.5px}.fd-rows,.fl-list{list-style:none;margin:0;padding:0}.fd-row{display:flex;flex-direction:column;gap:3px;padding:7px 0;border-top:1px solid var(--border)}.fd-row:first-child{border-top:0}.fd-row-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fd-row-head .status-chip{margin-left:auto;font-size:10px;padding:2px 7px}.fd-row .fd-apply{align-self:flex-start;padding:4px 9px;font-size:12px;margin-top:2px}.fd-inspect{display:flex;flex-direction:column;gap:3px;margin:8px 0;padding:7px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);line-height:1.4}.fl-group{margin:8px 0}.fl-group-head{font-weight:700;color:var(--text-dim);margin-bottom:2px}.fl-item{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;padding:5px 0;border-top:1px solid var(--border)}.fl-item-main{display:flex;flex-direction:column;gap:1px;min-width:0}.fl-item-actions{display:flex;gap:2px;flex:0 0 auto}.fl-item-actions button{padding:3px 6px;font-size:12px}.fl-form,.fl-import{margin-top:8px;padding-top:6px;border-top:1px solid var(--border)}.fl-form textarea,.fl-import textarea{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;resize:vertical}.fl-errors{margin:4px 0;padding-left:18px}.small-btn{padding:3px 8px;font-size:12px}.fender-picker .field{margin:4px 0}.fl-builtin{margin:4px 0 8px}.fl-builtin>summary{cursor:pointer}.fl-doc{margin:6px 0;line-height:1.4}.fl-doc ul{margin:2px 0 0;padding-left:16px}.fd-suggest{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0;font-size:13px}.fd-rules{margin:6px 0}.fd-rules>summary{cursor:pointer;color:var(--text-dim)}.fd-rules ul{margin:4px 0;padding-left:16px;line-height:1.4}button.dir-chip.dir-chip-all{margin-right:6px}:root{--mnav-h: 58px}.inspector-close{margin-left:auto;min-height:28px;width:28px;padding:0}.mobile-nav{position:relative;z-index:120;flex:0 0 auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));height:calc(var(--mnav-h) + env(safe-area-inset-bottom));padding:0 4px env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -6px 20px -16px #0f1b2a66}button.mobile-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:0;height:var(--mnav-h);padding:4px 0;background:transparent;border:none;border-radius:0;box-shadow:none;color:var(--text-dim);font-size:11px;font-weight:600;-webkit-tap-highlight-color:transparent}button.mobile-tab:hover{background:transparent;border:none;color:var(--text)}button.mobile-tab:active{transform:none}button.mobile-tab.active{color:var(--accent-text)}.mobile-tab-icon{position:relative;display:grid;place-items:center;width:52px;height:30px;border-radius:15px;transition:background var(--dur) var(--ease)}.mobile-tab.active .mobile-tab-icon{background:var(--accent-soft)}.mobile-tab-dot{position:absolute;top:3px;right:11px;width:8px;height:8px;border-radius:50%;background:var(--warn);box-shadow:0 0 0 2px var(--surface)}.mobile-sections{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;overflow-y:auto;padding:16px 14px 24px;background:var(--bg);animation:fade-in .18s var(--ease)}.mobile-sections-title{margin:4px 6px 12px;font-size:20px;font-weight:750;letter-spacing:-.01em}.mobile-sections ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.mobile-sections li+li{border-top:1px solid var(--border)}button.mobile-section{display:flex;align-items:center;justify-content:flex-start;gap:12px;width:100%;min-height:60px;padding:10px 12px 10px 14px;background:transparent;border:none;border-radius:0;box-shadow:none;color:var(--text);text-align:left;white-space:normal;-webkit-tap-highlight-color:transparent}button.mobile-section:hover,button.mobile-section:active{background:var(--surface-2);border:none;transform:none}.mobile-section-icon{flex:0 0 auto;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--accent-softer);color:var(--accent-text)}.mobile-section-text{flex:1 1 auto;display:flex;flex-direction:column;gap:1px;min-width:0}.mobile-section-text b{font-size:15px;font-weight:650}.mobile-section-text small{font-size:12.5px;font-weight:400;color:var(--text-dim)}.mobile-section>svg{flex:0 0 auto;color:var(--text-faint)}.banner-short{display:none}.help-overlay{padding:max(26px,env(safe-area-inset-top)) max(26px,env(safe-area-inset-right)) max(26px,env(safe-area-inset-bottom)) max(26px,env(safe-area-inset-left))}@media screen and (max-width:640px){.banner-long{display:none}.banner-short{display:inline}.banner-warn{padding:4px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}input,select,textarea{font-size:16px}.shell{overflow:hidden}.appbar{flex-basis:52px;height:52px;gap:6px;padding:0 6px 0 8px}.appbar-center{display:none}.appbar-right{flex:1 1 auto;min-width:0;justify-content:flex-end;gap:2px}.project-chip{flex:1 1 auto;min-width:0;margin-right:4px}.project-chip input{width:100%;min-width:0;font-size:15px}.appbar .icon-btn{min-width:38px;min-height:38px}.compute-btn{min-height:38px;padding:0 12px}.user-chip{gap:0}.draft-bar>span{min-width:0;flex-basis:100%}.rail{display:none}.shell-body{position:relative}.rail+.rail-panel,.rail.collapsed+.rail-panel{left:0}.rail-panel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:none;width:100%;border:none;transition:none}.rail-panel.open{display:block;width:100%;box-shadow:none}.rail-panel-inner,.rail-panel.open,.rail-panel.open .rail-panel-inner{width:100%}.rail-panel.open .rail-panel-inner{animation:fade-in .18s var(--ease)}.rail-panel-head{padding:8px 8px 8px 4px;justify-content:flex-start}.rail-panel-head>.rail-panel-heading{flex:1 1 auto}.rail-back{min-width:40px;min-height:40px;padding:0}.rail-panel-body{padding:0 16px 28px}.inspector{position:absolute;left:0;right:0;top:auto;bottom:0;z-index:35;width:100%;max-height:0;border:none;transition:none}.inspector.open{width:100%;max-height:min(60%,520px);border-top:1px solid var(--border);border-radius:16px 16px 0 0;box-shadow:0 -10px 30px -12px #0f1b2a59}.inspector-inner,.inspector.open .inspector-inner{width:100%;max-height:min(60vh,520px);height:auto}.inspector.open .inspector-inner{animation:rise-in .22s var(--ease)}.inspector-head{position:relative;padding:14px 10px 8px 16px}.inspector-head:before{content:"";position:absolute;top:6px;left:50%;width:36px;height:4px;margin-left:-18px;border-radius:2px;background:var(--border-strong)}.inspector-body{padding:0 16px 18px}.tools-toolbar,.shell-body.has-rail-panel .tools-toolbar,.shell-body.has-inspector .tools-toolbar{top:8px;left:8px;right:8px;max-width:none;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:6px;padding:4px}.tools-toolbar::-webkit-scrollbar{display:none}.tools-toolbar .tool{min-width:40px;min-height:40px}.tools-preset .tool-label{display:none}.editor-hint,.shell-body.has-inspector .editor-hint{top:64px;bottom:auto;left:8px;right:8px;max-width:none;font-size:12.5px}.editor-corner,.shell-body.has-inspector .editor-corner{right:8px;bottom:8px;flex-direction:column-reverse;gap:6px}.editor-zoom button{height:40px;min-height:40px;min-width:40px}.editor-legend,.shell-body.has-inspector .editor-legend{left:8px;right:auto;bottom:8px}.editor-canvas{touch-action:none}.stage-scroll{padding:12px 10px 28px}.toaster{position:absolute;left:10px;right:10px;bottom:calc(var(--mnav-h) + env(safe-area-inset-bottom) + 10px);max-width:none;align-items:stretch}.help-overlay,.dialog-backdrop,.drop-overlay{position:absolute}.floating-window{left:8px!important;right:8px!important;top:60px!important;width:auto!important;max-height:calc(100% - 140px)}.fw-head{cursor:default}.help-overlay{z-index:130;padding:0}.help-card{border-radius:0;border:none}.help-head{padding:10px 12px 10px 16px}.help-body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.help-toc{flex-direction:row;overflow-x:auto;overflow-y:hidden;gap:2px;padding:8px 10px;border-right:none;border-bottom:1px solid var(--border);white-space:nowrap;scrollbar-width:none}.help-toc::-webkit-scrollbar{display:none}.help-content{padding:14px 16px 36px;font-size:15px}.dialog-backdrop{align-items:end;padding:0}.dialog{width:100%;border-radius:16px 16px 0 0;padding:18px 18px calc(16px + env(safe-area-inset-bottom))}.dialog-actions button{min-height:44px;flex:1}}
