:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface-0:#f9f9f7;--surface-1:#fcfcfb;--surface-2:#f0efec;--seg-on:#fff;--text-primary:#0b0b0b;--text-secondary:#52514e;--text-muted:#6f6d68;--grid:#e1e0d9;--axis:#c3c2b7;--border:#0b0b0b1f;--accent:#2a78d6;--accent-ink:#1c5cab;--good:#0ca30c;--good-ink:#006300;--warning:#fab219;--critical:#d03b3b;--critical-ink:#b42f2f;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--series-6:#008300;--series-7:#6250d6;--series-8:#e34948;--radius:10px;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-0:#0d0d0d;--surface-1:#1a1a19;--surface-2:#262624;--seg-on:#3a3a37;--text-primary:#f0efec;--text-secondary:#c3c2b7;--text-muted:#9d9b94;--grid:#2c2c2a;--axis:#45453f;--border:#ffffff1f;--accent:#3987e5;--accent-ink:#86b6ef;--good-ink:#0ca30c;--critical-ink:#e66767;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#008300;--series-7:#9085e9;--series-8:#e66767}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-0:#0d0d0d;--surface-1:#1a1a19;--surface-2:#262624;--seg-on:#3a3a37;--text-primary:#f0efec;--text-secondary:#c3c2b7;--text-muted:#9d9b94;--grid:#2c2c2a;--axis:#45453f;--border:#ffffff1f;--accent:#3987e5;--accent-ink:#86b6ef;--good-ink:#0ca30c;--critical-ink:#e66767;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#008300;--series-7:#9085e9;--series-8:#e66767}*{box-sizing:border-box}html{font-size:14px}html.flat{font-size:15px}html,body{background:var(--surface-0);color:var(--text-primary);font:1rem/1.45 var(--font);margin:0}.tool{gap:16px;max-width:1100px;margin:0 auto;padding:16px;display:grid}html.flat,html.flat body{background:0 0}html.flat .tool{max-width:none;padding:0}html.framed{overflow-y:hidden}.tool-head h1{margin:0 0 4px;font-size:1.42857rem;font-weight:600;line-height:1.25}.tool-head p{color:var(--text-secondary);margin:0}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:14px 16px}.card h2{margin:0 0 10px;font-size:1rem;font-weight:600}.card-head{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.card-head>h2{overflow-wrap:anywhere;flex:auto;min-width:0}.card-head>:not(h2){flex:none}.y-caption{color:var(--text-secondary);margin:2px 0 4px;font-size:.857143rem}.card-head h2{margin:0}.tool-main{grid-template-columns:minmax(240px,300px) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width<=720px){.tool-main{grid-template-columns:minmax(0,1fr)}}.tool-side,.tool-body{gap:16px;min-width:0;display:grid}.inputs{gap:12px;display:grid}.field{gap:4px;display:grid}.field label{color:var(--text-secondary);font-size:.928571rem}.field .unit{color:var(--text-muted)}.field input[type=text],.field select{width:100%;font:inherit;color:var(--text-primary);background:var(--surface-0);border:1px solid var(--border);border-radius:8px;min-height:36px;padding:7px 9px}.field input[type=range]{width:100%;accent-color:var(--accent)}.field-row{grid-template-columns:minmax(0,1fr) 136px;align-items:center;gap:8px;display:grid}.field.bool{grid-template-columns:auto minmax(0,1fr);align-items:start;column-gap:8px}.field.bool>input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);margin:3px 0 0}.field.bool>:not(input):not(label){grid-column:1/-1}.num-box{border:1px solid var(--border);background:var(--surface-0);border-radius:8px;align-items:stretch;min-width:0;display:flex}.num-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 22%, transparent)}.field .num-box input[type=text]{background:0 0;border:0;outline:none;flex:auto;width:100%;min-width:0}.num-steps{opacity:0;pointer-events:none;border-left:1px solid #0000;flex-direction:column;justify-content:center;gap:1px;padding:2px 3px 2px 2px;transition:opacity .12s;display:flex}.num-box:hover .num-steps,.num-box:focus-within .num-steps{opacity:1;pointer-events:auto;border-left-color:var(--border)}@media (hover:none),(pointer:coarse){.num-steps{opacity:1;pointer-events:auto;border-left-color:var(--border)}}.num-steps button{width:18px;min-height:12px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:1 1 0;justify-content:center;align-items:center;padding:0;display:flex}.num-steps button:hover:not(:disabled){background:var(--surface-2);color:var(--text-primary)}.num-steps button:active:not(:disabled){background:var(--border)}.num-steps button:disabled{opacity:.3;cursor:default}.num-steps svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}@media (pointer:coarse){.num-steps button{width:26px}}.num-unit{color:var(--text-muted);white-space:nowrap;align-items:center;gap:3px;padding:0 9px 0 2px;font-size:.857143rem;display:inline-flex}button.num-unit{font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:6px;margin:3px 2px 3px 0;padding:0 6px;font-size:.857143rem}button.num-unit:hover,button.num-unit[aria-expanded=true]{color:var(--text-primary);background:var(--surface-2)}.num-unit .caret{color:var(--text-muted);font-size:.642857rem}.unit-menu{display:flex;position:relative}.unit-list{z-index:5;background:var(--surface-1);border:1px solid var(--border);border-radius:8px;min-width:80px;padding:4px;display:grid;position:absolute;top:calc(100% + 4px);right:-1px;box-shadow:0 6px 18px #00000024}.unit-list button{font:inherit;text-align:left;cursor:pointer;color:var(--text-primary);white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:5px 9px;font-size:.928571rem}.unit-list button:hover{background:var(--surface-2)}.unit-list button[aria-selected=true]{background:var(--surface-2);font-weight:600}.field.invalid .num-box{border-color:var(--critical)}.field.warn .num-box{border-color:var(--warning)}.field.invalid input,.field.invalid select{border-color:var(--critical)}.field.warn input,.field.warn select{border-color:var(--warning)}.row-picker{gap:4px;min-width:0;display:grid;position:relative}.pick-btn{width:100%;min-width:0;font:inherit;text-align:left;border:1px solid var(--border);background:var(--surface-0);color:var(--text-primary);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;font-size:1rem;display:flex}.pick-btn:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.pick-btn:focus-visible,.pick-btn[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.pick-btn .caret{color:var(--text-muted);font-size:.714286rem}.pick-key{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.field.invalid .pick-btn{border-color:var(--critical)}.field.warn .pick-btn{border-color:var(--warning)}.pick-pop{z-index:6;background:var(--surface-1);border:1px solid var(--border);border-radius:10px;gap:6px;width:max-content;min-width:100%;max-width:min(560px,100vw - 24px);padding:8px;display:grid;position:absolute;top:40px;left:0;box-shadow:0 10px 28px #00000029}.field .pick-search{font:inherit;border:1px solid var(--border);background:var(--surface-0);color:var(--text-primary);border-radius:7px;outline:none;padding:6px 9px;font-size:.928571rem}.field .pick-search:focus{border-color:var(--accent)}.pick-scroll{border-radius:6px;max-height:300px;overflow:auto}.pick-table{border-collapse:collapse;width:100%;font-size:.928571rem}.pick-table th{background:var(--surface-1);color:var(--text-secondary);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:4px 8px;font-size:.857143rem;font-weight:500;position:sticky;top:0}.pick-table th .unit{color:var(--text-muted)}.pick-table td{white-space:nowrap;cursor:pointer;padding:5px 8px}.pick-table .num{text-align:right;font-variant-numeric:tabular-nums}.pick-table tr.active td{background:var(--surface-2)}.pick-table tr[aria-selected=true] td{font-weight:600}.pick-table tr[aria-selected=true] td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.pick-none{margin:6px 8px;font-size:.928571rem}.pick-source{color:var(--text-muted);max-width:520px;font-size:.785714rem;line-height:1.35}.pick-own-open{font:inherit;color:var(--accent-ink,var(--accent));cursor:pointer;text-align:left;background:0 0;border:0;padding:4px 2px;font-size:.928571rem}.pick-own-open:hover{text-decoration:underline}.pick-own{border-top:1px solid var(--grid);gap:8px;max-width:520px;padding-top:8px;display:grid}.pick-own p{margin:0;font-size:.857143rem}.pick-own-grid{gap:6px;max-height:260px;display:grid;overflow:auto}.pick-own-grid label{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;font-size:.928571rem;display:grid}.pick-own-grid label>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pick-own-field{align-items:center;gap:6px;display:inline-flex}.pick-own-field input{font:inherit;border:1px solid var(--border);background:var(--surface-0);width:96px;color:var(--text-primary);text-align:right;border-radius:7px;padding:4px 7px}.pick-own-field input[aria-invalid]{border-color:var(--critical)}.pick-own .ex-go{justify-self:start}.col-name sub{font-size:.75em}.row-summary{font-variant-numeric:tabular-nums}.field-msg{color:var(--critical-ink);font-size:.857143rem}.field-note{color:var(--text-secondary);font-size:.857143rem}.field-help{color:var(--text-muted);font-size:.857143rem}.chart-note{margin:6px 0 0;font-size:.857143rem}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.stat{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);grid-row:span 2;grid-template-rows:subgrid;row-gap:2px;min-width:0;padding:12px 14px;display:grid}.stat-label{color:var(--text-secondary);font-size:.928571rem}.stat-value{overflow-wrap:anywhere;font-size:1.71429rem;font-weight:600;line-height:1.2}.stat-unit{color:var(--text-muted);margin-left:4px;font-size:.928571rem;font-weight:400}.stat.missing .stat-value{color:var(--text-muted);font-size:1.14286rem;font-weight:400}.stat.text{grid-column:1/-1}.stat.text .stat-value{font-size:1.07143rem;font-weight:500;line-height:1.4}.notice{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-1);overflow-wrap:anywhere;gap:4px;min-width:0;padding:10px 12px;display:grid}.notice.error{border-color:color-mix(in srgb, var(--critical) 55%, transparent)}.notice.warning{border-color:color-mix(in srgb, var(--warning) 70%, transparent)}.notice-title{align-items:center;gap:6px;font-weight:600;display:flex}.notice ul{margin:0;padding-left:18px}.badge{border:1px solid var(--border);background:var(--surface-1);color:var(--text-secondary);border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:.928571rem;display:inline-flex}.badge .dot{border-radius:50%;width:8px;height:8px}.badge.ok .dot{background:var(--good)}.badge.fail .dot{background:var(--critical)}.badge.warn .dot{background:var(--warning)}.badge.pending .dot{background:var(--text-muted)}.checks-list.stale{opacity:.5}.checks-note{color:var(--text-secondary);margin:8px 0 0;font-size:.928571rem}.calculation-program{margin:0;font:.928571rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.program-line{white-space:pre-wrap;overflow-wrap:anywhere;padding-left:calc(var(--indent) + 4ch);text-indent:-4ch;display:block}.seg{background:var(--surface-2);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.seg button{font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:2px 9px;font-size:.857143rem}.seg button:hover{color:var(--text-primary)}.seg button[aria-pressed=true]{background:var(--seg-on);color:var(--text-primary);box-shadow:0 1px 2px #00000024}.seg.has-thumb{position:relative}.seg-thumb{background:var(--seg-on);pointer-events:none;border-radius:6px;transition:transform .22s,width .22s;position:absolute;top:2px;bottom:2px;left:0;box-shadow:0 1px 2px #00000024}.seg.has-thumb button{z-index:1;position:relative}.seg.has-thumb button[aria-pressed=true],.seg.has-thumb button[aria-selected=true]{box-shadow:none;background:0 0}@media (prefers-reduced-motion:reduce){.seg-thumb{transition:none}}.locate{font:inherit;border:1px solid var(--border);background:var(--surface-0);color:var(--text-secondary);cursor:pointer;opacity:0;border-radius:8px;align-items:center;margin-left:auto;padding:4px 7px;font-size:.857143rem;transition:opacity .15s;display:inline-flex}.locate:hover{color:var(--text-primary)}.seg button.seg-icon,.scene-zoom button{justify-content:center;align-items:center;min-width:30px;display:inline-flex}.locate+.seg{margin-left:0}.card:hover .locate,.locate:focus-visible{opacity:1}@media (hover:none){.locate{opacity:1}}.chart{width:100%;position:relative}.chart svg{display:block;overflow:visible}.chart text{font:calc(11rem / 14) var(--font);fill:var(--text-muted)}.chart .axis-title{fill:var(--text-secondary);font-size:.857143rem}.legend{color:var(--text-secondary);flex-wrap:wrap;gap:4px 14px;margin-bottom:6px;font-size:.857143rem;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.key-rect{border-radius:2px;width:10px;height:10px;display:inline-block}.key-line{border-radius:1px;width:14px;height:2px;display:inline-block}.tip{pointer-events:none;background:var(--surface-1);border:1px solid var(--border);overflow-wrap:anywhere;z-index:2;border-radius:8px;width:max-content;padding:6px 9px;font-size:.857143rem;position:absolute;box-shadow:0 4px 14px #0000001f}.tip .tip-title{color:var(--text-muted);margin-bottom:2px}.tip .tip-row{align-items:center;gap:6px;display:flex}.tip .tip-row b{color:var(--text-primary);font-variant-numeric:tabular-nums}.data-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.928571rem}.data-table th,.data-table td{text-align:right;border-bottom:1px solid var(--grid);padding:4px 8px}.data-table th:first-child,.data-table td:first-child{text-align:left}.data-table th{color:var(--text-secondary);background:var(--surface-1);font-weight:600;position:sticky;top:0}.table-scroll{max-height:320px;overflow:auto}.scene-wrap{justify-items:center;gap:8px;display:grid;position:relative}.scene-port{justify-items:center;width:100%;display:grid}.scene-port.zoomed{cursor:grab;touch-action:none;justify-items:start;max-height:80vh;overflow:auto}.scene-port.zoomed:active{cursor:grabbing}.scene-wrap svg{width:100%;height:auto}.scene-zoom{justify-self:end}.scene-wrap text{font-family:var(--font)}details.method{color:var(--text-secondary)}details.method summary{cursor:pointer;color:var(--text-primary);font-weight:600}details.method dl{gap:8px;margin:8px 0 0;display:grid}details.method dt{color:var(--text-primary);font-weight:600}details.method dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.checks-list{gap:6px;margin:8px 0 0;padding:0;font-size:.928571rem;list-style:none;display:grid}.checks-list li{grid-template-columns:16px 1fr;gap:6px;display:grid}.checks-list .mark{padding-top:2px;display:inline-flex}.checks-list .mark.ok{color:var(--good-ink)}.checks-list .mark.fail{color:var(--critical-ink)}.ex-why .ico,.ex-x .ico{vertical-align:-2px}.checks-list .src{color:var(--text-muted);overflow-wrap:anywhere;font-size:.857143rem}.muted{color:var(--text-muted)}.empty{color:var(--text-muted);text-align:center;padding:24px}.calculation{min-width:0}.calculation summary{cursor:pointer;color:var(--text-primary);font-weight:600}.calculation-inputs{color:var(--text-secondary);flex-wrap:wrap;gap:6px 20px;margin:12px 0;padding:0;font-size:.857143rem;list-style:none;display:flex}.calculation-inputs li{overflow-wrap:anywhere;align-items:baseline;gap:8px;min-width:0;display:flex}.calculation-inputs li>span{min-width:0}.calculation-inputs li.sub{color:var(--text-muted)}.calculation-inputs li>span:first-child{flex:none;padding:0 2px}.calculation-steps{grid-template-columns:minmax(0,1fr);margin:12px 0 0;padding:0;list-style:none;display:grid}.calculation-steps li{border-top:1px solid var(--border);min-width:0;padding:10px 0}.calculation-label{color:var(--text-secondary);overflow-wrap:anywhere;margin-bottom:6px;font-size:.857143rem}.calculation-formula{flex-wrap:wrap;align-items:center;column-gap:6px;padding:6px 3px;display:flex;overflow:auto hidden}.calculation-formula>.calculation-tex{flex:none}.calculation-formula:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.calculation-value{font-variant-numeric:tabular-nums}.tool-actions{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:8px;display:flex}.units-pick{color:var(--text-secondary);align-items:center;gap:8px;font-size:.857143rem;display:flex}.input-group+.input-group{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.group-title{color:var(--text-secondary);margin:0 0 8px;font-size:.928571rem;font-weight:600}.views{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.views>.card{grid-column:1/-1;min-width:0}.views>.card.half{grid-column:auto}@media (width<=900px){.views>.card.half{grid-column:1/-1}}.tool-main.inputs-top{grid-template-columns:minmax(0,1fr)}.tool-main.inputs-top .tool-side .inputs{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));column-gap:18px}details.method dd.md{white-space:normal}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p,.markdown ul,.markdown ol{margin:0 0 8px}.markdown ul,.markdown ol{padding-left:22px}.markdown h3,.markdown h4,.markdown h5{margin:12px 0 6px;font-size:1rem}.markdown h5{color:var(--text-secondary);font-size:.928571rem}.markdown code{background:var(--surface-2);border-radius:4px;padding:1px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.892857rem}.markdown-math-display{margin:0 0 8px;padding:4px 0;overflow:auto hidden}.markdown-image img{border:1px solid var(--border);border-radius:6px;max-width:100%;height:auto;margin:6px 0;display:block}.markdown-link{overflow-wrap:anywhere}.explore summary{cursor:pointer;color:var(--text-primary);font-weight:600}.explore details[open]>summary,.ex-mode{margin-bottom:10px}.ex-row{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:8px;font-size:.928571rem;display:flex}.ex-row select,.ex-num input{font:inherit;color:var(--text-primary);background:var(--surface-0);border:1px solid var(--border);border-radius:8px;min-height:32px;padding:5px 8px}.ex-row select{min-width:0;max-width:100%}.ex-num{align-items:center;gap:6px;display:inline-flex}.ex-num input{width:86px}.ex-num input[type=number]{width:64px}.ex-refs{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:4px 14px;display:grid}.ex-check{align-items:flex-start;gap:6px;line-height:1.35;display:inline-flex}.ex-check input{flex:none;margin:2px 0 0}.ex-stale{opacity:.55;transition:opacity .2s}.ex-note{margin:4px 0 0;font-size:.857143rem}.ex-table{margin-top:6px;font-size:.928571rem}.ex-table summary{cursor:pointer;color:var(--text-secondary);font-weight:400}.ex-go{font:inherit;border:1px solid var(--accent);background:var(--accent);color:var(--on-accent,#fff);cursor:pointer;border-radius:8px;padding:5px 12px;font-size:.928571rem}.ex-go:disabled{opacity:.5;cursor:default}.ex-answer{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:8px 0 0;font-size:1rem;display:flex}.ex-crits{color:var(--text-secondary);justify-items:start;gap:2px;margin-bottom:8px;font-size:.928571rem;display:grid}.ex-crits .ex-row{margin-bottom:0}.ex-crits .ex-go{color:var(--accent-ink,var(--accent));background:0 0;padding:3px 10px}.ex-num-in{font:inherit;border:1px solid var(--border);background:var(--surface-0);width:76px;color:var(--text-primary);border-radius:7px;padding:4px 7px}.ex-x{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:2px 6px}.ex-x:hover{color:var(--text-primary);background:var(--surface-2)}.ex-rows-wrap{border:1px solid var(--grid);border-radius:8px;max-height:420px;margin-top:8px;overflow:auto}.ex-rows tr.fail td{color:var(--text-muted)}.ex-rows tr.first td{background:color-mix(in srgb, var(--good) 12%, transparent)}.ex-rows tr.now td:first-child{font-weight:700}.ex-key{font:inherit;color:var(--accent-ink,var(--accent));cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:0;padding:0}.ex-key:hover{text-decoration:underline}.ex-why{white-space:nowrap;font-size:.857143rem;text-align:left!important}.ex-rows tr.pass .ex-why{color:var(--good-ink)}.tool-bar-end{flex-wrap:wrap;align-items:center;gap:6px 8px;margin-left:auto;display:flex}.tool-revision{color:var(--text-muted);margin-right:4px;font-size:.857143rem}.tool-bar-btn{font:inherit;border:1px solid var(--border);background:var(--seg-on);color:var(--text-secondary);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:3px 10px;font-size:.857143rem;display:inline-flex}.tool-bar-btn svg{fill:none;stroke:currentColor;stroke-width:1.3px;stroke-linejoin:round}.tool-bar-btn:hover{color:var(--text-primary);border-color:var(--text-muted)}.rev-short{display:none}@media (width<=560px){.tool-bar-label,.rev-full{display:none}.rev-short{display:inline}.tool-bar-btn{padding:5px 8px}}.report-meta{color:var(--text-muted);margin:4px 0 0;font-size:.857143rem}.report-brand{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding-bottom:10px;display:flex}.report-brand svg{flex:none;display:block}.report-brand-where{color:var(--text-muted);overflow-wrap:anywhere;text-align:right;justify-items:end;gap:2px;font-size:.785714rem;display:grid}.report-credit{color:var(--text-muted);border-top:1px solid var(--border);margin:16px 0 0;padding-top:8px;font-size:.785714rem}.calc-progress{color:var(--text-secondary);align-items:center;gap:10px;font-size:.857143rem;display:flex}.calc-track{background:var(--border);border-radius:2px;flex:1;height:4px;overflow:hidden}.calc-bar{background:var(--accent);border-radius:2px;height:100%;transition:width .12s linear}.calc-label{white-space:nowrap;font-variant-numeric:tabular-nums}.calc-stop{font:inherit;border:1px solid var(--border);background:var(--surface-0);color:var(--text-primary);cursor:pointer;border-radius:8px;padding:2px 10px;font-size:.857143rem}.calc-stop:hover{border-color:var(--accent)}.viewer-progress{z-index:20;background:var(--surface-0);border-bottom:1px solid var(--border);padding:8px 16px;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 6px #0000000f}.tool .stats,.tool .views{transition:opacity .15s}.tool.stale .stats,.tool.stale .views{opacity:.45}.report-table{border-collapse:collapse;width:100%;font-size:.928571rem}.report-table td,.report-table th{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:4px 6px}.report-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.report-table .group-title{color:var(--text-secondary);padding-top:10px;font-size:.857143rem}.report-table tr.invalid td{color:var(--critical-ink)}.report-table tr.sub td{color:var(--text-secondary);border-bottom-style:dotted;font-size:.857143rem}.report-table tr.sub td:first-child{padding-left:18px}.report-table tr.sub td.num{font-weight:500}#ww-print{width:720px;position:absolute;top:0;left:-10000px}#ww-print .tool-main{grid-template-columns:minmax(0,1fr)}#ww-print .views>.card.half{grid-column:1/-1}@media print{@page{size:A4;margin:14mm 12mm}html,body{background:#fff!important;height:auto!important;overflow:visible!important}body>:not(#ww-print){display:none!important}#ww-print{width:auto;position:static}#ww-print .tool{max-width:none;padding:0}#ww-print button,#ww-print .seg{display:none!important}#ww-print .card,#ww-print .stat,#ww-print .notice,#ww-print .calculation-steps li{break-inside:avoid}#ww-print details>summary{list-style:none}#ww-print details>summary::-webkit-details-marker{display:none}}.stat.explains{cursor:pointer}.stat.explains:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.stat.explains:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.stat.open{border-color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent)}.why .card-head{align-items:center;display:flex}.why-close{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;margin-left:auto;padding:2px 6px;font-size:1.28571rem;line-height:1}.why-close:hover{background:var(--surface-2);color:var(--text-primary)}.why-tree,.why-tree ul{margin:0;padding:0;list-style:none}.why-tree ul{border-left:1px solid var(--border);margin-left:10px;padding-left:12px}.why-tree li{margin:2px 0}.why-tree summary,.why-leaf{border-radius:6px;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:4px 6px;font-size:.928571rem;display:flex}.why-tree summary{cursor:pointer}.why-tree summary:hover{background:var(--surface-2)}.why-leaf{padding-left:22px}.why-label{color:var(--text-secondary)}.why-value{font-variant-numeric:tabular-nums;font-weight:600}.why-kind{color:var(--text-muted);font-size:.857143rem}.why-tree .text-tex{max-width:none;overflow:visible}.why-cause{color:var(--critical-ink);flex-basis:100%;font-size:.892857rem}.why-tree li.bad>details>summary,.why-tree li.bad.why-leaf{background:color-mix(in srgb, var(--critical) 8%, transparent)}.version-changed{color:var(--text-secondary);border-left:3px solid var(--warning);margin-top:4px;padding-left:8px}.play-row{align-items:center;gap:8px;display:flex}.play-row>:last-child{flex:1;min-width:0}.play-btn{border:1px solid var(--border);background:var(--surface-1);width:38px;height:38px;color:var(--text-primary);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.play-btn:hover{background:var(--surface-2)}.play-btn.on{background:var(--series-1);border-color:var(--series-1);color:#fff}.events-field{padding:4px 0;font-size:.928571rem}html,body{height:100%}body{overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}.app{grid-template-rows:auto minmax(0,1fr);height:100vh;display:grid}.app-body{flex-direction:column;min-height:0;display:flex}.app-body>.workspace{flex:1}@media (width<=820px){.app-body>.workspace{flex:none;height:calc(100vh - 49px)}}.topbar{border-bottom:1px solid var(--border);background:var(--surface-1);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 14px;display:flex}.brand{letter-spacing:.01em;white-space:nowrap;align-items:center;gap:8px;font-weight:700;display:inline-flex}.brand .ww-logo{flex:none}.brand-sub{color:var(--text-muted);font-weight:400}.doc-title{text-overflow:ellipsis;white-space:nowrap;border-left:1px solid var(--border);min-width:0;max-width:36ch;padding-left:10px;font-weight:600;overflow:hidden}.rev{font:inherit;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.rev:hover{color:var(--text-primary);border-color:var(--border)}.spacer{flex:1}.btn{border:1px solid var(--border);background:var(--surface-1);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;min-height:32px;padding:5px 10px;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-ink)}.btn.ghost{background:0 0;border-color:#0000}.btn.small{min-height:26px;padding:2px 8px;font-size:12px}.btn.icon{padding:4px 8px}.menu{position:relative}.menu-pop{z-index:20;background:var(--surface-1);border:1px solid var(--border);border-radius:10px;min-width:220px;padding:4px;display:grid;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #00000029}.menu-pop button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 10px}.menu-pop button:hover{background:var(--surface-2)}.md-head{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:6px;font-size:12px;display:flex}.md-head .menu-pop{max-height:300px;left:auto;right:0;overflow:auto}.md-images button{align-items:center;gap:8px;display:flex}.md-images img{object-fit:contain;background:var(--surface-2);border-radius:4px;flex:none;width:36px;height:26px}.menu-pop .menu-head{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-top:1px solid var(--border);margin-top:4px;padding:8px 10px 2px;font-size:11px}.menu-pop:has(.template){width:min(400px,100vw - 24px);left:auto;right:0}.menu-pop button.template{gap:2px;display:grid}.template-title{justify-content:space-between;align-items:baseline;gap:8px;font-weight:600;display:flex}.template-domain{color:var(--text-muted);white-space:nowrap;font-size:11px;font-weight:400}.template-summary{color:var(--text-secondary);white-space:normal;font-size:12px}.workspace{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(360px,440px) minmax(0,1fr) minmax(320px,380px);min-height:0;display:grid}.pane{border-right:1px solid var(--border);background:var(--surface-0);flex-direction:column;min-height:0;display:flex}.pane:last-child{border-right:0}.pane-scroll{flex:1;min-height:0;overflow:auto}.mobile-tabs{display:none}@media (width<=1180px){.workspace{grid-template-columns:minmax(340px,420px) minmax(0,1fr)}.pane.side{z-index:30;width:min(420px,100vw);transition:transform .2s;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.pane.side.open{transform:none;box-shadow:-8px 0 24px #0000002e}}@media (width<=820px){body{overflow:auto}.app{height:auto;min-height:100vh}.workspace{grid-template-columns:minmax(0,1fr)}.mobile-tabs{border-bottom:1px solid var(--border);background:var(--surface-1);gap:4px;padding:6px 14px;display:flex}.pane.editor:not(.active-m),.pane.preview:not(.active-m){display:none}.pane{border-right:0}}.tabs{border-bottom:1px solid var(--border);background:var(--surface-1);scrollbar-width:none;gap:0;padding:6px 6px 0;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{cursor:pointer;color:var(--text-secondary);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:7px;font-size:13px}.tab[aria-selected=true]{color:var(--text-primary);border-bottom-color:var(--accent);font-weight:600}.tab .count{color:var(--text-muted);margin-left:3px;font-size:11px}.tab .err{background:var(--critical);vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-left:5px;display:inline-block}.panel{gap:10px;padding:12px;display:grid}.item{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;grid-template-columns:minmax(0,1fr);gap:8px;padding:10px;scroll-margin:12px;display:grid}.item>*{min-width:0}.item.flash{outline:2px solid var(--accent)}.item.has-error{border-color:color-mix(in srgb, var(--critical) 60%, transparent)}.item-head{align-items:center;gap:6px;display:flex}.row-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.item-head .name{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600}.item-head .sub{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.item-tools{flex:none;gap:2px;margin-left:auto;display:flex}.list-bar{align-items:center;gap:8px;padding:8px 12px 0;display:flex}.list-bar .seg button.seg-icon{align-items:center;padding:4px 9px;display:inline-flex}.list-filter{border:1px solid var(--border);background:var(--surface-0);border-radius:7px;flex:1;min-width:0;min-height:30px;padding:4px 8px;font-size:13px}.item>.item-head{align-items:flex-start}.item-row{flex:1;gap:4px;min-width:0;display:grid}.item.compact{gap:8px;padding:6px 8px 6px 4px}.item.compact .item-row{cursor:pointer}.item.compact.open{padding-bottom:10px}.item-caret{width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:5px;flex:none;justify-content:center;align-items:center;margin:2px 0;padding:0;font-size:11px;display:inline-flex}.item-caret:hover{color:var(--text-primary);background:var(--surface-2)}.item-caret>span{transition:transform .15s;display:inline-block}.item-caret[aria-expanded=true]>span{transform:rotate(90deg)}.row-line{align-items:center;gap:6px;min-width:0;min-height:26px;display:flex}.row-line .name,.row-formula .name{white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;font-weight:600}.row-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-secondary);flex:1;font-size:13px;overflow:hidden}.row-value{text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:0;font-size:12.5px;overflow:hidden}.row-line .row-value:last-child,.row-line .name+.row-value{flex:1}.row-line .row-title+.row-value{max-width:45%;color:var(--text-primary)}.row-line>.row-title{min-width:35%}.row-when{min-height:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.row-when code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.row-formula{grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:6px;min-width:0;display:grid}.row-formula .eq{color:var(--text-muted);font-family:ui-monospace,monospace}.row-formula.two{grid-template-columns:auto minmax(0,1fr)}.row-formula>.muted{font-size:12px}.item.compact.open>:not(.item-head){margin-left:24px}.row-formula>.btn{justify-self:start}.kind-badge{background:var(--surface-2);color:var(--text-secondary);white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:11px}.item-problem{margin-left:26px}.item.compact:not(.open) .item-tools .move{display:none}.item.compact:not(.open):not(:hover):not(:focus-within) .item-tools{visibility:hidden}@media (hover:none){.item.compact .item-tools{visibility:visible!important}}.section-row{justify-content:space-between;align-items:center;gap:8px;margin:6px 0 0;display:flex}.section-row>.section-head{margin:0}.help-tip{display:inline-flex;position:relative}.help-q{width:22px;height:22px;color:var(--text-muted);cursor:help;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.help-q:hover,.help-q[aria-expanded=true]{color:var(--accent)}.help-q:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.help-pop{z-index:60;border:1px solid var(--border);background:var(--surface-1);width:max-content;max-width:min(360px,80vw);color:var(--text-primary);white-space:normal;border-radius:8px;padding:8px 10px;font-size:12.5px;font-weight:400;line-height:1.45;position:fixed;box-shadow:0 6px 20px #00000024}.help-pop code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.section-head{color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;justify-self:start;align-items:center;gap:6px;padding:2px 0;font-size:13px;font-weight:600;display:flex}.section-head .count{color:var(--text-muted);font-size:11px;font-weight:400}.section-caret{color:var(--text-muted);font-size:10px;transition:transform .15s;display:inline-block}.section-head[aria-expanded=true] .section-caret{transform:rotate(90deg)}.conds{border-top:1px solid var(--border);gap:4px;padding-top:8px;display:grid}.conds-head{color:var(--text-secondary);align-items:baseline;gap:6px;font-size:12px;display:flex}.conds-head .count{color:var(--text-muted);font-size:11px}.conds>.btn{justify-self:start}.cond{border:1px solid var(--border);background:var(--surface-0);border-radius:8px;gap:6px;padding:3px 4px 3px 2px;display:grid}.cond.has-error{border-color:color-mix(in srgb, var(--critical) 60%, transparent)}.cond.open{padding-bottom:8px}.cond-row{cursor:pointer;align-items:flex-start;gap:4px;min-width:0;display:flex}.cond-row .status-mark{height:26px}.cond-text{flex:1;min-width:0;padding-top:3px;display:grid}.cond-message{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.cond.open .cond-message{white-space:normal}.cond-test{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.cond-body{gap:8px;min-width:0;margin:0 6px 0 24px;display:grid}.cond-badge{font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:2px;font-size:11.5px;display:inline-flex}.cond-marks{min-height:0;font-size:12px}.f{position:relative}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.grid2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.grid3{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.f{align-content:start;gap:3px;min-width:0;display:grid}.f>span{color:var(--text-secondary);font-size:12px}.f input,.f select,.f textarea{border:1px solid var(--border);background:var(--surface-0);border-radius:7px;width:100%;min-height:32px;padding:5px 8px}.f textarea{resize:vertical;min-height:56px}.f input.mono,.f textarea.mono,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.f input:focus-visible,.f select:focus-visible,.f textarea:focus-visible,.btn:focus-visible,.tab:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.check-row{align-items:center;gap:6px;font-size:13px;display:flex}.formula-line{grid-template-columns:minmax(70px,110px) auto minmax(0,1fr);align-items:start;gap:6px;display:grid}.formula-line .eq{color:var(--text-muted);padding-top:26px;font-family:ui-monospace,monospace}.tex{color:var(--text-primary);text-align:center;padding:6px 3px;font-size:14px;overflow:auto hidden}.value-preview{color:var(--text-secondary);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:12px}.diag{align-items:baseline;gap:6px;font-size:12px;display:flex}.diag.error{color:var(--critical-ink)}.diag.warning{color:var(--text-secondary)}.diag.info{color:var(--text-muted)}.sev{align-self:center;font-weight:700;display:inline-flex}.value-preview .ico,.status-ok>.ico,.status-fail>.ico{vertical-align:-2px}.origin{border:1px solid var(--border);color:var(--text-secondary);white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:11px}.origin.ai{border-color:color-mix(in srgb, var(--series-7) 50%, transparent)}.status-ok{color:var(--good-ink)}.status-fail{color:var(--critical-ink)}.status-mark{flex:none;justify-content:center;align-items:center;width:16px;display:inline-flex}.subhead{margin:6px 0 0;font-size:13px;font-weight:600}.preview-bar{border-bottom:1px solid var(--border);background:var(--surface-1);align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.preview-body{padding:0}.runner-frame{background:var(--surface-0);border:0;width:100%;min-height:240px;display:block}.diagnostics{border-top:1px solid var(--border);background:var(--surface-1);flex-shrink:0;max-height:34%;overflow:auto}.diagnostics summary{cursor:pointer;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.diagnostics ul{gap:2px;margin:0;padding:0 8px 8px;list-style:none;display:grid}.diagnostics li button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:96px minmax(0,1fr);gap:8px;width:100%;padding:5px 6px;font-size:12.5px;display:grid}.diagnostics li button>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.diagnostics li button:hover{background:var(--surface-2)}.pill{background:var(--surface-2);border-radius:999px;padding:1px 8px;font-size:12px}.pill.err{color:var(--critical-ink)}.pill.ok{color:var(--good-ink)}.pill.pending{color:var(--text-muted);align-items:center;gap:5px;display:inline-flex}.pill.pending .spinner{width:9px;height:9px}.pill.stale{opacity:.45}.chat-head{border-bottom:1px solid var(--border);background:var(--surface-1);align-items:center;gap:8px;padding:8px 12px;display:flex}.dot{background:var(--text-muted);border-radius:50%;width:8px;height:8px;display:inline-block}.dot.on{background:var(--good)}.dot.off{background:var(--critical)}.chat-log{align-content:start;gap:10px;padding:12px;display:grid}.msg{overflow-wrap:anywhere;white-space:pre-wrap;border-radius:10px;max-width:100%;padding:8px 10px;font-size:13.5px}.msg.user{background:var(--surface-2);justify-self:end;max-width:92%}.msg.assistant{background:var(--surface-1);border:1px solid var(--border)}.msg.error{border:1px solid color-mix(in srgb, var(--critical) 50%, transparent);color:var(--critical-ink);background:var(--surface-1)}.tool-row{color:var(--text-secondary);align-items:baseline;gap:6px;padding-left:4px;font-size:12px;display:flex}.tool-row .t-name{font-family:ui-monospace,monospace}.tool-row.fail{color:var(--critical-ink)}.changes{color:var(--text-secondary);border:1px solid var(--border);border-radius:8px;padding:6px 8px;font-size:12px}.changes summary{cursor:pointer}.changes ul{gap:2px;margin:6px 0 0;padding:0;list-style:none;display:grid}.changes li{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.btn.link,button.link{font:inherit;color:var(--accent);cursor:pointer;text-align:left;text-overflow:ellipsis;background:0 0;border:0;max-width:100%;padding:0;overflow:hidden}button.link:hover{text-decoration:underline}.composer{border-top:1px solid var(--border);background:var(--surface-1);gap:8px;padding:10px;display:grid}.composer textarea{resize:vertical;border:1px solid var(--border);background:var(--surface-0);border-radius:8px;width:100%;min-height:64px;max-height:240px;padding:8px}.composer-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.composer.dragging{outline:2px dashed var(--accent);outline-offset:-6px;background:color-mix(in srgb, var(--accent) 6%, var(--surface-1))}.attach-chips,.msg-files{flex-wrap:wrap;gap:6px;display:flex}.msg-files{margin-top:6px}.attach-chip{border:1px solid var(--border);background:var(--surface-0);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:4px;max-width:100%;padding:2px 4px 2px 8px;font-size:12px;display:inline-flex;overflow:hidden}.attach-chip.reading{border-style:dashed}.attach-chip.failed{border-color:color-mix(in srgb, var(--critical) 60%, transparent);color:var(--critical-ink)}.chip-x{color:var(--text-muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:999px;padding:0 4px}.chip-x:hover{color:var(--text-primary);background:var(--surface-2)}.chat-sources{border-top:1px solid var(--border);background:var(--surface-1);font-size:12.5px}.chat-sources>summary{cursor:pointer;color:var(--text-secondary);align-items:center;gap:6px;padding:6px 12px;list-style:none;display:flex}.chat-sources>summary::-webkit-details-marker{display:none}.chat-sources>summary:hover{color:var(--text-primary)}.chat-sources-list{border-top:1px solid var(--border);max-height:45vh;overflow:auto}.hint{color:var(--text-muted);font-size:12px}.field-hint{margin:-6px 0 2px}.app-notice{background:color-mix(in srgb, var(--warning) 14%, var(--surface-1));border-bottom:1px solid color-mix(in srgb, var(--warning) 45%, var(--border));flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 14px;font-size:13px;display:flex}.app-notice>span{flex:320px;min-width:0}.toast{background:var(--text-primary);color:var(--surface-1);z-index:50;border-radius:8px;max-width:min(560px,92vw);padding:8px 14px;font-size:13px;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.suggest{gap:6px;min-width:0;display:grid}.suggest button{text-align:left;white-space:normal;padding:7px 10px;font-size:12.5px;line-height:1.35}.chat-log{overflow-x:hidden}.chat-log>*{min-width:0}.pill{white-space:nowrap}.preview-bar .hint{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chat-toggle,.side-close{display:none}@media (width<=1520px){.topbar .btn .lbl:not(.panel-lbl,.phone-lbl),.brand .brand-tail{display:none}.topbar .btn:has(:where(.lbl:not(.panel-lbl,.phone-lbl))){padding:4px 8px}.doc-title{max-width:24ch}}@media (width<=1320px){.topbar .btn .panel-lbl{display:none}.topbar .btn:has(:where(.panel-lbl)){padding:4px 8px}.doc-title{max-width:20ch}.topbar{gap:6px}}.row-break{display:none}@media (width<=1180px){.chat-toggle,.side-close{display:inline-flex}}@media (width<=820px){.chat-toggle,.topbar .reference-btn{display:none}.topbar{gap:4px;padding:8px 12px;position:relative}.topbar .btn .phone-lbl,.topbar .rev-word{display:none}.topbar .rev-version{max-width:110px}.topbar .btn{padding:4px 7px}.doc-title{border-left:0;flex:1 1 0;max-width:none;padding-left:0}.topbar .brand-name{display:none}.row-break{flex-basis:100%;height:0;display:block}.topbar .menu{position:static}.topbar .menu-pop:has(.template){overscroll-behavior:contain;width:auto;max-height:75vh;left:8px;right:8px;overflow-y:auto}.preview-bar{flex-wrap:wrap;row-gap:4px}}.side-tabs{align-items:center;padding-right:8px}.side-body{flex-direction:column;flex:1;min-height:0;display:flex}.side-body[hidden]{display:none}.src-row.flash{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.panel.ref,.panel.sources{grid-template-columns:minmax(0,1fr)}.ref details{min-width:0}.ref-sections{justify-self:start}.ref p{margin:0}.ref-body{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.seg button[aria-selected=true]{background:var(--seg-on);color:var(--text-primary);box-shadow:0 1px 2px #00000024}.ref-target{background:var(--surface-1);border:1px dashed var(--border);border-radius:7px;margin:0;padding:6px 8px}.ref-target.on{border-style:solid;border-color:color-mix(in srgb, var(--accent) 45%, var(--border));color:var(--text-secondary)}.ref .fn-entry>summary,.fn-row{align-items:center;gap:6px;display:flex}.fn-row{margin:2px 0 2px 10px}.fn-sum{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.fn-row code{background:var(--surface-2);border-radius:4px;padding:1px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.ref-insert{min-height:22px;color:var(--accent);flex:none;padding:0 6px}.ref-insert:disabled{color:var(--text-muted)}.ref .fn-entry>summary{list-style:none}.ref .fn-entry>summary::-webkit-details-marker{display:none}.ref-table{border-top:1px solid var(--border);min-width:0;padding:6px 0}.ref-table>summary{cursor:pointer;font-size:13px}.ref-table-body{gap:8px;min-width:0;padding-top:6px;display:grid}.ref-table-body p{margin:0}.ref-cols{gap:2px;font-size:12.5px;display:grid}.ref-col{grid-template-columns:minmax(70px,auto) minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.ref-col code,.ref-syntax-row code,.ref-units code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.ref-rows{max-height:320px}.ref-rows td{white-space:nowrap;font-variant-numeric:tabular-nums;padding:3px 6px}.ref-rows td:last-child{border-left:1px solid var(--border);width:auto}.ref-syntax{gap:4px;display:grid}.ref-syntax-row{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 8px;padding:3px 0;font-size:12.5px;display:grid}.ref-syntax-row code{background:var(--surface-2);overflow-wrap:anywhere;border-radius:4px;justify-self:start;padding:1px 5px}.ref-syntax-row .muted{grid-column:1}.ref-syntax-row .ref-insert{grid-area:1/2}.ref-syntax-row.bad code{text-decoration:line-through;-webkit-text-decoration-color:var(--critical);text-decoration-color:var(--critical)}.ref-syntax-row.program code{white-space:pre}.ref-units{gap:3px;font-size:12.5px;display:grid}.ref-units-name{color:var(--text-secondary)}.ref-units>span:last-child{flex-wrap:wrap;gap:4px;display:flex}.ref-units code{background:var(--surface-2);border-radius:4px;padding:1px 6px}.modal.project-modal{width:min(820px,100%)}.project-body{align-content:start;gap:12px;padding:12px 14px;display:grid;overflow:auto}.lang-select{border:1px solid var(--border);background:var(--surface-0);border-radius:7px;padding:2px 6px;font-size:12px}.tr-table{gap:6px;display:grid}.tr-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:8px;display:grid}.tr-base{color:var(--text-secondary);overflow-wrap:anywhere;padding-top:6px;font-size:12.5px}.tr-key{color:var(--text-muted);font-family:ui-monospace,monospace;font-size:11px}.tr-row textarea{border:1px solid var(--border);background:var(--surface-0);resize:vertical;border-radius:7px;width:100%;min-height:32px;padding:5px 8px}.tr-row.missing textarea{border-style:dashed}.turn-status{margin:0;padding-left:4px}.turn-phase{color:var(--text-secondary);grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:8px;padding-left:4px;font-size:12px;display:grid}.turn-phase .thought{color:var(--text-muted);overflow-wrap:anywhere;grid-column:2;font-style:italic}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:10px;height:10px;animation:.9s linear infinite ww-spin}@keyframes ww-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}.formula-editor{min-width:0}.formula-text{border:1px solid var(--border);background:var(--surface-0);color:var(--text-primary);white-space:break-spaces;word-break:break-word;overflow-wrap:anywhere;cursor:text;border-radius:7px;min-height:calc(1.45em + 14px);padding:6px 8px;font:13px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace}.ww-t-hint{color:var(--text-muted)}.ww-t-input{color:var(--accent-ink);font-weight:600}.ww-t-step{color:color-mix(in srgb, var(--series-7) 80%, var(--text-primary));font-weight:600}.ww-t-function,.ww-t-library{color:var(--text-primary)}.ww-t-param{color:var(--accent-ink);font-style:italic}.ww-t-table{color:var(--accent-ink);font-weight:600}.ww-t-field{color:var(--accent-ink)}.ww-t-userfn{color:color-mix(in srgb, var(--series-7) 80%, var(--text-primary));font-weight:600}.ww-t-library{-webkit-text-decoration:underline dotted color-mix(in srgb, var(--text-muted) 60%, transparent);text-decoration:underline dotted color-mix(in srgb, var(--text-muted) 60%, transparent);text-underline-offset:3px}.ww-t-constant{color:color-mix(in srgb, var(--series-5) 70%, var(--text-primary))}.ww-t-keyword,.ww-t-operator{color:var(--text-secondary)}.ww-t-number{color:color-mix(in srgb, var(--series-2) 75%, var(--text-primary))}.ww-t-string{color:var(--good-ink)}.ww-t-comment{color:var(--text-muted);font-style:italic}.ww-t-unknown,.ww-t-self{-webkit-text-decoration:underline wavy var(--critical);text-decoration:underline wavy var(--critical);text-underline-offset:3px}.ww-doc{max-width:360px;font-family:var(--font);white-space:normal;gap:5px;padding:8px 10px;font-size:12.5px;line-height:1.4;display:grid}.ww-doc code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.ww-doc-sig{flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-weight:600;display:flex}.ww-doc-kind{color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:0 6px;font-size:11px;font-weight:400}.ww-doc-desc{color:var(--text-primary)}.ww-doc-ret,.ww-doc-src{color:var(--text-muted);font-size:12px}.ww-doc-value{font-variant-numeric:tabular-nums;color:var(--text-secondary)}.ww-doc-go{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;justify-self:start;margin-top:2px;padding:0;font-size:12px}.ww-doc-go:hover{text-decoration:underline}.ww-doc-ex{background:var(--surface-2);border-radius:6px;gap:2px;padding:5px 7px;display:grid}.ww-doc-ex>div{overflow-wrap:anywhere}.ww-doc-arrow{color:var(--text-muted)}.ww-sig{gap:2px;max-width:420px;padding:5px 9px;display:grid}.ww-sig-line{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.ww-sig-line b{color:var(--accent-ink)}.ww-sig-desc{color:var(--text-muted);font-size:12px;font-family:var(--font)}.fn-search{border:1px solid var(--border);background:var(--surface-0);border-radius:7px;width:100%;min-height:32px;padding:5px 8px}.fn-group>summary{cursor:pointer;padding:3px 0;font-size:13px;font-weight:600}.fn-entry{margin:2px 0 2px 10px;font-size:12.5px}.fn-entry>summary{cursor:pointer;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fn-entry code,.fn-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.fn-entry>summary code{background:var(--surface-2);border-radius:4px;padding:1px 4px}.fn-body{gap:4px;padding:4px 0 6px 14px;display:grid}.fn-body p{margin:0}.fn-syntax{flex-wrap:wrap;gap:4px 12px;display:flex}.fn-example{overflow-wrap:anywhere;color:var(--text-secondary)}.src-row{border-top:1px solid var(--border);gap:6px;min-width:0;padding:6px 0;display:grid}.src-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.src-form{gap:8px;display:grid}.src-text{gap:6px;display:grid}.src-page{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface-2);max-height:320px;font:12.5px/1.45 var(--font);border-radius:6px;margin:0;padding:8px;overflow:auto}.src-hits{gap:4px;max-height:200px;margin:0;padding:0;font-size:12px;list-style:none;display:grid;overflow:auto}.cite{border-top:1px dashed var(--border);gap:8px;padding-top:6px;display:grid}.modal-back{z-index:60;background:#00000059;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface-0);border:1px solid var(--border);border-radius:12px;grid-template-rows:auto minmax(0,1fr);width:min(1180px,100%);max-height:calc(100vh - 32px);display:grid;box-shadow:0 16px 48px #00000040}.modal-head{border-bottom:1px solid var(--border);background:var(--surface-1);border-radius:12px 12px 0 0;align-items:center;gap:10px;padding:10px 14px;display:flex}.dg-modal{width:min(1320px,100%);height:min(860px,100vh - 32px)}.dg{grid-template-columns:236px minmax(0,1fr) minmax(280px,330px);min-height:0;display:grid;position:relative;overflow:hidden}.dg-ref{z-index:6;background:var(--surface-0);border-left:1px solid var(--border);width:min(380px,100%);position:absolute;top:0;bottom:0;right:0;overflow:auto;box-shadow:-8px 0 24px #0000001f}.dg-ref-head{z-index:1;background:var(--surface-1);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 12px;display:flex;position:sticky;top:0}.dg-pad{padding:16px}.dg-palette{border-right:1px solid var(--border);grid-template-columns:minmax(0,1fr);align-content:start;gap:4px;min-width:0;padding:10px 8px;display:grid;overflow:hidden auto}.dg-search{border:1px solid var(--border);background:var(--surface-0);border-radius:7px;width:100%;min-width:0;min-height:30px;padding:5px 8px}.dg-group{grid-template-columns:minmax(0,1fr);gap:1px;min-width:0;display:grid}.dg-group .subhead{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:8px 4px 2px;font-size:11px}.dg-group .hint{margin:2px 4px}.dg-tool{text-align:left;color:inherit;cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;padding:4px 6px;display:grid}.dg-tool:hover{background:var(--surface-2)}.dg-tool.on{background:color-mix(in srgb, var(--accent) 12%, transparent);border-color:var(--accent)}.dg-tool:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.dg-tool-text{min-width:0;display:grid}.dg-tool-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px;display:grid}.dg-lib-head{align-items:center;gap:2px;display:flex}.dg-lib-head .btn{text-transform:none;letter-spacing:0;font-weight:500}.dg-tool-title{font-size:13px;font-weight:500}.dg-tool-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.3;display:-webkit-box;overflow:hidden}.dg-icon{background:var(--surface-1);border:1px solid var(--border);border-radius:6px;flex:none;place-items:center;width:30px;height:30px;display:inline-grid;overflow:hidden}.dg-icon-own{color:var(--accent-ink);font:italic 600 15px/1 Georgia,serif}.dg-canvas{align-content:start;gap:8px;min-width:0;padding:10px 12px;display:grid;overflow:auto}.dg-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.dg-view{border:1px solid var(--border);background:var(--surface-1);overscroll-behavior:contain;border-radius:8px;max-height:calc(100vh - 230px);overflow:hidden}.dg-view>svg{width:100%;height:100%;display:block}.dg-view.panning,.dg-view.panning *{cursor:grab!important}.dg-view.panning:active,.dg-view.panning:active *{cursor:grabbing!important}.dg-outside{pointer-events:none}.dg-outside path{fill:var(--text-primary);fill-opacity:.045;stroke:none}.dg-outside rect{fill:none;stroke:var(--text-muted);stroke-opacity:.5;stroke-width:1px;vector-effect:non-scaling-stroke}.dg-view>svg{touch-action:none;-webkit-user-select:none;user-select:none}.dg-view>svg.placing,.dg-view>svg.placing *{cursor:crosshair}.dg-view>svg.moving,.dg-view>svg.moving *,.dg-view>svg.spinning,.dg-view>svg.spinning *{cursor:grabbing}.dg-selbox rect{fill:none;stroke:var(--accent);stroke-opacity:.6;stroke-width:1px;stroke-dasharray:4 3;pointer-events:none}.dg-selbox line{stroke:var(--accent);stroke-opacity:.6;stroke-width:1px;pointer-events:none}.dg-spin{fill:var(--surface-0);stroke:var(--accent);stroke-width:2px;cursor:grab}.dg-spin:hover{fill:var(--accent)}.dg-pivot .dot{fill:var(--accent);pointer-events:none}.dg-pivot .ring{fill:none;stroke:var(--accent);stroke-width:1.2px;stroke-opacity:.55;stroke-dasharray:3 2.5;pointer-events:none}.dg-pivot .ticks{stroke:var(--accent);stroke-width:1.5px;pointer-events:none}.dg-pivot.moved .ring,.dg-pivot.active .ring{stroke-opacity:1;stroke-dasharray:none}.dg-pivot .grip{fill:none;stroke:#0000;stroke-width:8px;pointer-events:stroke;cursor:move}.dg-pivot:has(.grip:hover) .ring{stroke-opacity:1;stroke-width:2px}.dg-insert{cursor:copy}.dg-insert circle{fill:var(--surface-0);stroke:var(--accent);stroke-width:1.2px;opacity:.75}.dg-insert path{stroke:var(--accent);stroke-width:1.2px}.dg-insert:hover circle{opacity:1;fill:color-mix(in srgb, var(--accent) 15%, var(--surface-0))}.dg-base-mark{pointer-events:none}.dg-base-mark circle:not(.dg-snap){fill:none;stroke:var(--accent);stroke-width:2px}.dg-base-mark line{stroke:var(--accent);stroke-width:1.5px}.dg-make{grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.dg-make>.btn{justify-self:start}.dg-base{border:1px solid var(--border);border-radius:8px;gap:4px;margin:0;padding:6px 8px;display:grid}.dg-base legend{color:var(--text-secondary);padding:0 4px;font-size:12px}.dg-grid{pointer-events:none}.dg-grid path{fill:none}.dg-grid .minor{stroke:var(--border);stroke-opacity:.55;stroke-width:.5px}.dg-grid .major{stroke:var(--border);stroke-width:1px}.dg-grid .axes{stroke:var(--text-muted);stroke-opacity:.55;stroke-width:1px}.dg-grid .area{fill:none;stroke:var(--accent);stroke-opacity:.35;stroke-width:1px;stroke-dasharray:4 3}.dg-grid .labels text{fill:var(--text-muted);font-family:ui-monospace,monospace}.dg-grid-pick select{border:1px solid var(--border);background:var(--surface-0);font:inherit;border-radius:6px;padding:2px 4px;font-size:12px}.dg-status{height:18px;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;line-height:18px;overflow:hidden}.dg-item{cursor:move}.dg-item .hit{stroke:#0000;stroke-width:12px;fill:none;pointer-events:stroke;stroke-linecap:round;stroke-linejoin:round}.dg-item .hit.fill{fill:#0000;pointer-events:all}.dg-item:hover .hits,.dg-item.sel .hits{opacity:.16}.dg-item.sel .hits{opacity:.32}.dg-item:hover .hit,.dg-item.sel .hit{stroke:var(--accent)}.dg-item:hover .hit.fill,.dg-item.sel .hit.fill{fill:var(--accent)}.dg-ghost{opacity:.5;pointer-events:none}.dg-cursor{fill:none;stroke:var(--accent);stroke-width:1.5px;pointer-events:none}.dg-snap{fill:none;stroke:var(--accent);stroke-width:2px;pointer-events:none}.dg-guide{stroke:var(--accent);stroke-width:1px;stroke-dasharray:3 3;pointer-events:none}.dg-handle{fill:var(--accent);stroke:var(--surface-0);stroke-width:2px;cursor:grab}.dg-handle:hover{stroke:var(--text-primary)}.dg-handle.partial{fill:var(--surface-0);stroke:var(--accent);stroke-width:2.5px}.dg-handle.corner{fill:var(--surface-0);stroke:var(--accent);stroke-width:2px;cursor:nwse-resize}.dg-handle.radius{fill:var(--surface-0);stroke:var(--accent);stroke-width:2px;cursor:ew-resize}.dg-handle.rotate,.dg-handle.angle{fill:var(--surface-0);stroke:var(--accent);stroke-width:2px;cursor:alias}.dg-handle.locked{fill:var(--text-muted);stroke:var(--surface-0);cursor:help}.dg-handle.bound{fill:var(--surface-0);stroke:var(--accent);stroke-width:2px;cursor:grab}.dg-side{border-left:1px solid var(--border);grid-template-columns:minmax(0,1fr);align-content:start;gap:8px;min-width:0;padding:10px 12px;display:grid;overflow:auto}.dg-side>*,.dg-items li>*,.dg-args>*,.dg-side .grid2>*{min-width:0}.dg-props{border:1px solid var(--border);background:var(--surface-1);border-radius:10px;gap:8px;padding:10px;display:grid}.dg-props-head{grid-template-columns:30px minmax(0,1fr);align-items:start;gap:8px;display:grid}.dg-props-head .hint{line-height:1.35}.dg-args{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;display:grid}.dg-arg input,.dg-arg select{width:100%}.dg-arg.bound input{color:var(--accent-ink)}.dg-wide{grid-column:1/-1}.dg-mode{min-height:0;margin-left:4px;padding:0 4px;font-size:11px}.dg-swatches{flex-wrap:wrap;gap:5px;display:flex}.dg-swatch{border:2px solid var(--surface-0);outline:1px solid var(--border);cursor:pointer;border-radius:50%;width:20px;height:20px;padding:0}.dg-swatch.on{outline:2px solid var(--accent)}.dg-actions{flex-wrap:wrap;align-items:end;gap:6px;display:flex}.dg-actions .dg-arg{flex:1;min-width:120px}.dg-items{gap:3px;margin:0;padding:0;list-style:none;display:grid}.dg-items li{border:1px solid var(--border);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;min-width:0;padding:2px 4px;display:grid}.dg-items li.sel{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, transparent)}.dg-items li.hint{border:0}.dg-items .dg-icon{width:22px;height:22px}.dg-pick{justify-content:flex-start;align-items:center;gap:6px;min-width:0;padding:2px 4px;display:flex}.dg-pick-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dg-area summary,.dg-formula summary{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.dg-area[open]{gap:6px;display:grid}.dg-formula code{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface-2);border-radius:6px;padding:6px;font-size:12px;display:block}@media (width<=1100px){.dg{grid-template-columns:200px minmax(0,1fr);grid-auto-rows:max-content;overflow:auto}.dg-canvas,.dg-side{overflow:visible}.dg-palette{max-height:560px}.dg-side{border-left:0;border-top:1px solid var(--border);grid-column:1/-1}}@media (width<=720px){.dg{grid-template-columns:minmax(0,1fr)}.dg-palette{border-right:0;border-bottom:1px solid var(--border);max-height:220px}.dg-modal{height:calc(100vh - 32px)}}.field-hint{color:var(--text-muted);font-size:11px;line-height:1.3}.img-row{border-top:1px solid var(--border);grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px;padding:6px 0;display:grid}.img-row img{object-fit:contain;background:var(--surface-2);border-radius:6px;width:72px;height:54px}.img-meta{gap:4px;min-width:0;display:grid}.img-meta code{text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.btn.grip{cursor:grab;touch-action:none;color:var(--text-muted)}.btn.grip:active{cursor:grabbing}.sorting{opacity:.45}.sort-ghost{z-index:1000;pointer-events:none;background:0 0;border:0;height:auto;max-height:none;margin:0;padding:0;display:block;position:fixed;overflow:visible}.sort-ghost>*{background:var(--surface-0);opacity:.9;cursor:grabbing;transform:scale(.98);box-shadow:0 8px 24px #00000038}.sort-ghost .item-tools>:not(.grip){visibility:hidden}.drop-before{box-shadow:0 -6px 0 -3px var(--accent)}.drop-after{box-shadow:0 6px 0 -3px var(--accent)}.btn .ico{flex:none}.dg-grid path,.dg-grid rect,.dg-selbox rect,.dg-selbox line,.dg-spin,.dg-pivot *,.dg-handle,.dg-guide,.dg-insert *,.dg-snap,.dg-cursor,.dg-base-mark *,.dg-item .hit{vector-effect:non-scaling-stroke}.dg-zoom{align-items:center;gap:2px;display:inline-flex}.dg-zoom .btn{justify-content:center;min-width:26px}.dg-area .grip{fill:var(--surface-0);stroke:var(--accent);stroke-opacity:.5;stroke-width:1px;vector-effect:non-scaling-stroke;opacity:.7}.dg-area .grip:hover,.dg-area.active .grip{opacity:1;stroke-opacity:1;fill:color-mix(in srgb, var(--accent) 18%, var(--surface-0))}.dg-area .grip.n,.dg-area .grip.s{cursor:ns-resize}.dg-area .grip.e,.dg-area .grip.w{cursor:ew-resize}.dg-area .grip.nw,.dg-area .grip.se{cursor:nwse-resize}.dg-area .grip.ne,.dg-area .grip.sw{cursor:nesw-resize}.dg-area .frame{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:5 3;vector-effect:non-scaling-stroke;pointer-events:none}.dg-arg-now{color:var(--text-muted);font-weight:400}.dg-arg.bound .dg-arg-now{color:var(--accent-ink)}.dg-args .formula-editor .cm-content{padding:4px 0}.dg-args .formula-text{min-height:calc(1.45em + 10px);padding:4px 8px}.dg-args .f.dg-arg>span:first-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pick-list{border:1px solid var(--border);background:var(--surface-0);border-radius:8px;padding:6px 10px}.pick-list>summary{cursor:pointer;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.pick-list[open]>summary{white-space:normal;margin-bottom:8px}.pick-actions{gap:6px;margin-bottom:6px;display:flex}.check-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:2px 10px;max-height:220px;font-size:13px;display:grid;overflow:auto}.check-grid.wide{grid-template-columns:minmax(0,1fr)}.check-grid label{text-overflow:ellipsis;white-space:nowrap;cursor:pointer;align-items:baseline;gap:6px;min-width:0;display:flex;overflow:hidden}.check-grid input{flex:none;margin:0;position:relative;top:1px}.table-cols{grid-template-columns:minmax(70px,1fr) minmax(90px,2fr) minmax(60px,1fr) auto auto;align-items:center;gap:4px 6px;margin-bottom:8px;font-size:12px;display:grid}.table-grid-wrap{border:1px solid var(--border);border-radius:8px;max-height:420px;overflow:auto}.table-grid{border-collapse:collapse;min-width:100%;font-size:12.5px}.table-grid th{z-index:1;background:var(--surface-2);text-align:left;white-space:nowrap;padding:4px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:600;position:sticky;top:0}.table-grid td{border-top:1px solid var(--border);padding:0}.table-grid td+td{border-left:1px solid var(--border)}.table-grid td:last-child{border-left:0;width:1px}.cell{width:100%;min-width:64px;font:inherit;color:var(--text-primary);background:0 0;border:0;padding:4px 6px}.table-grid td.num .cell{text-align:right;font-variant-numeric:tabular-nums}.cell:focus{outline:2px solid var(--accent);outline-offset:-2px;background:var(--surface-0)}.table-cols .cell{border:1px solid var(--border);background:var(--surface-0);border-radius:6px}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.paste-box{gap:6px;display:grid}.change-list{gap:4px;margin:4px 0 0;padding:0;font-size:12.5px;list-style:none;display:grid}.change{grid-template-columns:14px minmax(0,1fr);gap:6px;display:grid}.change-mark{text-align:center;font-weight:700}.change.added .change-mark{color:var(--good-ink)}.change.removed .change-mark{color:var(--critical-ink)}.change-field{overflow-wrap:anywhere;color:var(--text-secondary);margin:2px 0 0 4px}.change-field del{color:var(--critical-ink);-webkit-text-decoration-color:color-mix(in srgb, var(--critical) 60%, transparent);text-decoration-color:color-mix(in srgb, var(--critical) 60%, transparent)}.change-field ins{color:var(--good-ink);text-decoration:none}.version-new{background:var(--surface-0)}.expect-row{border:1px solid var(--border);background:var(--surface-0);border-radius:8px;gap:8px;padding:8px 10px 10px;display:grid}.expect-head{justify-content:space-between;align-items:center;min-height:22px;font-size:12px;display:flex}.rev-version{border-left:1px solid var(--border);color:var(--text-secondary);text-overflow:ellipsis;align-items:center;gap:5px;max-width:200px;margin-left:4px;padding-left:7px;display:inline-flex;overflow:hidden}.rev .dot{border-radius:50%;flex:none;width:7px;height:7px}.rev.ok .dot{background:var(--good)}.rev.ok .rev-version{color:var(--good-ink)}.rev.warn .dot{background:var(--warning)}.modal.history-modal{grid-template-rows:auto minmax(0,1fr) auto;width:min(1080px,100%);height:min(760px,100vh - 32px)}.history-body{grid-template-columns:minmax(240px,340px) minmax(0,1fr);min-height:0;display:grid}.history-list{border-right:1px solid var(--border);padding:6px;overflow:auto}.history-day{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:10px 6px 4px;font-size:11px}.history-row{text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:0;border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:8px;padding:6px 8px;font-size:13px;display:grid}.history-row:hover{background:var(--surface-2)}.history-row[aria-selected=true]{background:color-mix(in srgb, var(--accent) 14%, var(--surface-1))}.history-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.history-time{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:12px}.history-what{min-width:0;display:grid}.history-summary{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.history-name{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.history-name.ok{color:var(--good-ink)}.history-who{color:var(--text-muted);white-space:nowrap;font-size:11px}.history-who.ai{color:color-mix(in srgb, var(--series-7) 80%, var(--text-primary))}.history-detail{align-content:start;gap:10px;min-width:0;padding:12px 16px 16px;display:grid;overflow:auto}.history-title{gap:2px;display:grid}.history-title h3{margin:0;font-size:16px}.history-labels summary{cursor:pointer;font-size:13px}.history-labels ul{gap:2px;margin:4px 0 0;padding-left:18px;font-size:12.5px;display:grid}.history-foot{border-top:1px solid var(--border);margin:0;padding:8px 14px}.history-detail .seg{justify-self:start}@media (width<=720px){.history-body{grid-template-rows:minmax(0,40%) minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.history-list{border-right:0;border-bottom:1px solid var(--border)}}.dg-swatch.none{background:linear-gradient(135deg, transparent 45%, var(--text-muted) 45% 55%, transparent 55%), var(--surface-0)}.dg-swatch.own{background:conic-gradient(#e04848,#e0c848,#48c860,#48a8e0,#8848e0,#e04848);position:relative;overflow:hidden}.dg-swatch.own input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.pill-btn{cursor:pointer;color:var(--text-secondary);font:inherit;font-variant-numeric:tabular-nums;border:0;font-size:12px}.pill-btn:hover,.pill-btn[aria-pressed=true]{color:var(--accent-ink)}.dbg{z-index:40;background:var(--surface-0);border:1px solid var(--border);border-radius:10px;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);width:min(380px,100vw - 32px);max-height:min(78vh,720px);font-size:12px;display:grid;position:fixed;bottom:12px;right:12px;box-shadow:0 12px 36px #00000038}.dbg-head{border-bottom:1px solid var(--border);background:var(--surface-1);border-radius:10px 10px 0 0;align-items:center;gap:8px;padding:6px 6px 6px 12px;display:flex}.dbg-sub{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.dbg-body{padding:4px 12px 10px;overflow:auto}.dbg h3{color:var(--text-primary);margin:10px 0 4px;font-size:12px}.dbg h4{color:var(--text-muted);margin:8px 0 3px;font-size:11px;font-weight:500}.dbg-row{grid-template-columns:9.5em minmax(0,1fr) auto;align-items:center;gap:6px;padding:2px 0;display:grid}.dbg-label{color:var(--text-secondary)}.dbg-value{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.dbg-aside{color:var(--text-muted);font-variant-numeric:tabular-nums;grid-column:2/-1;margin-top:-2px}.dbg-spark{color:var(--accent)}.dbg-row:has(.dbg-spark) .dbg-value{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (width<=820px){.dbg{width:auto;max-height:70vh;bottom:8px;left:8px;right:8px}}.dbg-spark polyline{fill:none;stroke:currentColor;stroke-width:1.5px}.dbg-bars{gap:2px;display:grid}.dbg-bar{grid-template-columns:minmax(0,9em) minmax(0,1fr) 5.5em;align-items:center;gap:6px;display:grid}.dbg-bar-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);overflow:hidden}.dbg-bar-name.code{font-family:var(--mono,ui-monospace, monospace);color:var(--text-primary);font-size:11px}.dbg-bar-track{background:var(--surface-2);border-radius:3px;height:6px;overflow:hidden}.dbg-bar-track>span{background:var(--accent);border-radius:3px;height:100%;display:block}.dbg-bar-ms{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.preview-bar{position:relative}.preview-progress{z-index:5;border-bottom:1px solid var(--border);background:var(--surface-0);padding:6px 12px;position:absolute;top:100%;left:0;right:0;box-shadow:0 2px 6px #0000000f}.gate{background:var(--surface-1);place-items:center;min-height:100vh;padding:16px;display:grid}.gate-card{background:var(--surface-0);border:1px solid var(--border);border-radius:12px;justify-items:start;gap:12px;max-width:460px;padding:24px;display:grid}.gate-card h1{margin:4px 0 0;font-size:20px}.gate-card p{color:var(--text-muted);margin:0}.user-menu .menu-pop{left:auto;right:0}.menu-pop a{color:inherit;border-radius:6px;padding:7px 10px;text-decoration:none}.menu-pop a:hover{background:var(--surface-2)}.menu-user{color:var(--text-muted);border-bottom:1px solid var(--border);margin-bottom:4px;padding:6px 10px 8px;font-size:13px}.menu-user strong{color:var(--text-primary)}.user-chip{gap:6px;padding-left:4px}.user-chip .avatar{object-fit:cover;border-radius:50%;flex:none;width:22px;height:22px}.user-name{text-overflow:ellipsis;white-space:nowrap;max-width:16ch;overflow:hidden}.calcs-body{padding:12px 14px;overflow:auto}.calcs-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.calcs-row{text-align:left;border:1px solid var(--border);background:var(--surface-0);cursor:pointer;width:100%;color:inherit;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:8px 10px;display:grid}.calcs-row:hover:not(:disabled){background:var(--surface-2)}.calcs-row:disabled{cursor:default;opacity:.75}.calcs-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.calcs-row .hint{grid-column:1/-1}.calcs-status{background:var(--surface-2);border-radius:999px;padding:1px 8px;font-size:12px}.calcs-status.publish{color:var(--good-ink)}.save-status{align-items:center;gap:6px;min-width:0;display:inline-flex}.save-conflict{color:var(--critical-ink);flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}@media (width<=1600px){.user-chip .user-name{display:none}.user-chip{padding:4px 6px}}@media (width<=820px){.topbar>.brand,.topbar>.doc-title,.topbar>.save-status{order:-3}.topbar>.user-menu{order:-2}.topbar>.row-break{order:-1}}.allowance{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.allowance-bar{background:var(--surface-2);border-radius:3px;width:56px;height:5px;overflow:hidden}.allowance-bar>span{background:var(--accent);height:100%;display:block}.allowance.high .allowance-bar>span{background:var(--warning)}.allowance.full .allowance-bar>span{background:var(--critical)}.allowance.full{color:var(--critical-ink)}.modal.publish-modal{width:min(620px,100%)}.publish-body{gap:12px;padding:14px;display:grid;overflow:auto}.publish-body .field-label{color:var(--text-secondary);font-size:13px}.publish-body textarea,.publish-body input[type=text],.publish-body select{box-sizing:border-box;border:1px solid var(--border);background:var(--surface-0);width:100%;color:inherit;font:inherit;border-radius:7px;padding:6px 8px}.publish-body .hint{margin:0}.check-row{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;font-size:14px;display:grid}.check-row input{accent-color:var(--accent);margin-top:3px}.link-btn{color:var(--accent-ink);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.publish-actions{align-items:center;gap:8px;display:flex}.notice.warn{border-color:var(--warning)}.notice.ok,.publish-btn.published{color:var(--good-ink)}.tag-input{border:1px solid var(--border);background:var(--surface-0);border-radius:7px;flex-wrap:wrap;align-items:center;gap:6px;padding:4px 6px;display:flex}.tag-input input[type=text]{background:0 0;border:0;outline:none;flex:120px;width:auto;min-width:120px;padding:3px 2px}.tag-chip{background:var(--surface-2);border-radius:999px;align-items:center;gap:2px;padding:1px 4px 1px 8px;font-size:13px;display:inline-flex}.tag-chip button{cursor:pointer;color:var(--text-muted);background:0 0;border:0;padding:0 3px;font-size:14px;line-height:1}.reports-btn .count{background:var(--critical);color:#fff;text-align:center;border-radius:999px;min-width:18px;margin-left:4px;padding:0 5px;font-size:11px;line-height:18px}.modal.reports-modal{width:min(720px,100%)}.reports-body{align-content:start;gap:10px;padding:12px 14px;display:grid;overflow:auto}.report{border:1px solid var(--border);border-radius:10px;gap:6px;padding:10px 12px;display:grid}.report.done{opacity:.65}.report-head,.report-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.report-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.picture-options{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;padding:2px;display:grid}.picture-option{border:1px solid var(--border);background:var(--surface-0);cursor:pointer;min-width:0;color:inherit;font:inherit;text-align:left;border-radius:8px;gap:4px;padding:4px;display:grid}.picture-option.on{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 30%, transparent)}.picture-option img,.picture-blank{aspect-ratio:1200/630;object-fit:cover;background:var(--surface-2);width:100%;color:var(--text-muted);border-radius:5px;place-items:center;font:italic 700 18px Georgia,serif;display:grid}.picture-label{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.picture-upload .picture-blank{font:400 24px var(--font)}.modal.calcs-modal{width:min(980px,100%)}.calcs-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.calc-tile{align-content:start;gap:8px;display:grid}.calc-tile.open .calc-tile-media{outline:2px solid var(--accent);outline-offset:2px}.calc-tile-media{aspect-ratio:1200/630;background:var(--surface-2);cursor:pointer;border:0;border-radius:8px;padding:0;position:relative;overflow:hidden}.calc-tile-media:disabled{cursor:default}.calc-tile-media img{object-fit:cover;width:100%;height:100%;display:block}.calc-tile-blank{height:100%;color:var(--text-muted);place-items:center;font:italic 700 24px Georgia,serif;display:grid}.calc-tile-state{color:var(--text-secondary);background:#ffffffeb;border-radius:999px;padding:1px 8px;font-size:11px;position:absolute;top:8px;left:8px}.calc-tile-state.live{color:var(--good-ink)}.calc-tile-state.changed{color:#9a5b00}.calc-tile-body{gap:4px;min-width:0;display:grid}.calc-tile-title{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.calc-tile-actions{flex-wrap:wrap;gap:4px;display:flex}.btn.danger{color:var(--critical-ink)}.calc-tile-actions a.btn{color:inherit;text-decoration:none}.calc-tile.busy{pointer-events:none}.calc-tile.busy .calc-tile-body{opacity:.5}.calc-tile-busy{color:var(--text-primary);z-index:1;background:#ffffffc7;place-items:center;font-size:13px;display:grid;position:absolute;inset:0}
