:root{--bg: #f7f7f5;--panel: #ffffff;--fg: #1b1b19;--muted: #6f6f69;--line: #e8e8e4;--line2: #d6d6d0;--acc: #2f5fd0;--acc-bg: #e9eefb;--warn: #b3261e;--warn-bg: #fbebea;--hard: #7a3e00;--hard-bg: #fff3e0;--actual: #f2f2ee;--up: #1e7b3a;--down: #b3261e;--hardcode: #1d4ed8;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--sans: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", system-ui, sans-serif;--shadow: 0 8px 30px rgba(20, 20, 20, .14), 0 1px 3px rgba(0,0,0,.08)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font:13px/1.45 var(--sans);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3{font-weight:650;letter-spacing:-.01em}code{font-family:var(--mono);font-size:12px;background:var(--bg);padding:0 4px;border-radius:3px}button{font:inherit;color:inherit;background:var(--panel);border:1px solid var(--line2);border-radius:6px;padding:4px 10px;cursor:pointer;line-height:1.3}button:hover:not(:disabled){background:#f1f1ee}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--fg);color:#fff;border-color:var(--fg)}button.primary:hover:not(:disabled){background:#333}button.link{border:none;background:none;padding:2px 4px;color:var(--acc)}button.link:hover{text-decoration:underline;background:none}button.icon{padding:2px 7px;border-color:transparent;background:transparent;color:var(--muted)}button.icon:hover:not(:disabled){background:#eeeeea;color:var(--fg)}button.icon.on{color:var(--acc);background:var(--acc-bg)}button.danger,.danger,button.icon.danger{color:var(--warn)}button.dangerbtn{color:var(--warn);border-color:#e7b9b5}button.dangerbtn:hover{background:var(--warn-bg)}button.small{padding:2px 8px;font-size:12px}button.toggle{color:var(--muted)}button.toggle.on{background:#fff3e0;color:var(--hard);border-color:#f0c68c}input,select,textarea{font:inherit;color:inherit;border:1px solid var(--line2);border-radius:6px;padding:4px 7px;background:var(--panel)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 2px var(--acc-bg)}.muted{color:var(--muted)}.small{font-size:12px}.pad{padding:12px 14px}.spacer{flex:1}.sep{width:1px;height:20px;background:var(--line);margin:0 4px}.row{display:flex;gap:8px;align-items:center}.row.end{justify-content:flex-end;margin-top:12px}.row.wrap{flex-wrap:wrap}.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.count{margin-left:auto;color:var(--muted);font-weight:400;font-size:11px}.label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:12px 0 6px;font-weight:600}.pill{display:inline-block;font-size:10.5px;line-height:1.4;padding:0 6px;border-radius:999px;background:#eef0f5;color:#4a5470;margin-left:6px;vertical-align:1px;white-space:nowrap}.pill.warn{background:var(--hard-bg);color:var(--hard)}kbd{font:11px var(--mono);border:1px solid var(--line2);border-radius:3px;padding:0 4px;background:var(--panel)}.home{max-width:860px;margin:8vh auto;padding:0 24px}.home h1{font-size:28px;margin:0 0 6px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:12px}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:10px;min-width:0}.card h2{margin:0;font-size:17px}.card label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted)}.saved{margin-top:28px}.saved ul{padding-left:18px}.app{height:100%;display:grid;grid-template-columns:250px minmax(0,1fr) 360px;grid-template-rows:44px minmax(0,1fr);grid-template-areas:"tb tb tb" "rail main insp"}.app.view-dashboard,.app.view-dimensions{grid-template-columns:250px minmax(0,1fr);grid-template-areas:"tb tb" "rail main"}.toolbar{grid-area:tb;display:flex;align-items:center;gap:6px;padding:0 12px;border-bottom:1px solid var(--line);background:var(--panel);height:44px;min-height:44px;overflow:hidden;flex-wrap:nowrap}.tbleft{display:flex;align-items:center;gap:8px;min-width:160px;flex:0 1 auto;margin-right:6px;height:44px}.tbleft .title{flex:0 1 auto;min-width:48px;height:24px;display:inline-flex;align-items:center;line-height:1}.tbleft .sync{flex:none;height:22px;line-height:1;padding-top:0;padding-bottom:0;box-sizing:border-box}.tbleft .brand{display:inline-flex;align-items:center;height:24px;line-height:1}.brand{font-weight:700;color:var(--fg);text-decoration:none;letter-spacing:-.01em;margin-right:4px}.toolbar .title{font-weight:600;font-size:14px;padding:2px 6px;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px;display:inline-block;line-height:20px}.toolbar .title:hover{background:#f1f1ee}.toolbar .editinput.title{font-weight:600;font-size:14px}.scen{display:inline-flex;align-items:center;gap:6px;font-weight:600}.scen .dot{width:8px;height:8px;border-radius:50%;background:var(--acc)}.scen.alt .dot{background:#c9711a}.scen .chev{color:var(--muted);font-size:11px}.seg{display:inline-flex;border:1px solid var(--line2);border-radius:6px;overflow:hidden}.seg button{border:none;border-radius:0;padding:3px 10px;background:var(--panel)}.seg button+button{border-left:1px solid var(--line2)}.seg button.on{background:var(--fg);color:#fff}.seg.small button{padding:1px 7px;font-size:12px}.ctxmenu{position:fixed;z-index:1000;min-width:220px;background:var(--panel);border:1px solid var(--line2);border-radius:9px;box-shadow:var(--shadow);padding:4px;font-size:13px}.mitem{display:flex;align-items:center;gap:8px;padding:5px 10px 5px 6px;border-radius:5px;cursor:pointer;position:relative;white-space:nowrap}.mitem:hover{background:var(--acc-bg);color:var(--acc)}.mitem.disabled{color:var(--muted);cursor:default}.mitem.disabled:hover{background:none}.mitem.danger{color:var(--warn)}.mitem.danger:hover{background:var(--warn-bg);color:var(--warn)}.micon{width:16px;text-align:center;color:var(--muted);font-size:12px}.mitem:hover .micon{color:inherit}.mtext{flex:1}.mhint{color:var(--muted);font-size:11px;margin-left:12px}.mitem:hover .mhint{color:inherit;opacity:.7}.ctxmenu .sep{height:1px;background:var(--line);margin:4px 6px;width:auto}.mlabel{font-size:11px;color:var(--muted);padding:5px 10px 2px;text-transform:uppercase;letter-spacing:.04em;max-width:320px;overflow:hidden;text-overflow:ellipsis}.popover{position:fixed;z-index:900;background:var(--panel);border:1px solid var(--line2);border-radius:10px;box-shadow:var(--shadow);padding:8px;max-height:70vh;overflow:auto}.pophead{font-weight:600;padding:4px 6px 8px;white-space:normal}.pophead .muted{font-weight:400;margin-left:6px}.poprow{display:flex;align-items:center;gap:8px;padding:6px;border-radius:6px}.poprow.on{background:var(--acc-bg)}.poprow .dot{width:9px;height:9px;border-radius:50%;background:var(--line2);cursor:pointer;flex:none}.poprow.on .dot{background:var(--acc)}.poprow input,.grow{flex:1}.modalbg{position:fixed;inset:0;background:#14141459;z-index:1100;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh}.modal{background:var(--panel);border-radius:12px;box-shadow:var(--shadow);max-width:92vw}.modalhead{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 0}.modalhead h3{margin:0;font-size:16px}.modalbody{padding:12px 18px 18px}.editable{cursor:text;border-radius:4px;padding:0 2px}.editable:hover{background:#2f5fd014}.editinput{padding:1px 4px;font:inherit;border-radius:4px;min-width:120px}.rail{grid-area:rail;border-right:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;overflow:hidden}.views{display:flex;flex-direction:column;gap:2px;padding:8px 8px 4px}.views button{display:flex;align-items:center;gap:6px;text-align:left;border:none;background:none;padding:5px 8px;border-radius:6px;font-weight:500}.views button.on{background:var(--acc-bg);color:var(--acc)}.views .count{margin-left:auto}.search{margin:6px 10px}.tree{flex:1;overflow:auto;padding:2px 6px 8px}.grpname{display:flex;align-items:center;gap:6px;padding:4px 4px 4px 6px;border-radius:6px;cursor:pointer;font-weight:600;-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden}.grpname:hover{background:#f3f3f0}.grpname.active{background:var(--acc-bg);color:var(--acc)}.grpname.all{color:var(--muted);font-weight:500}.caret{color:var(--muted);width:12px;font-size:11px;text-align:center}.treetools{margin-left:auto;display:flex;gap:2px}.treetools button.icon{width:20px;height:20px;padding:0;font-size:13px;line-height:1;color:var(--muted);border:none;background:none;border-radius:4px}.treetools button.icon:hover:not(:disabled){color:var(--fg);background:#e9e9e4}.treetools button.icon:disabled{opacity:.35;cursor:default}.grpname.all .count{margin-left:0}.varlink{display:block;padding:2px 6px 2px 22px;border-radius:4px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.varlink:hover{background:#f3f3f0}.varlink.active{color:var(--acc);background:var(--acc-bg)}.railactions{display:flex;gap:6px;padding:8px 10px;border-top:1px solid var(--line)}.railactions button{flex:1}.rowmore{border:none;background:none;color:var(--muted);padding:0 4px;margin-left:auto;opacity:0;font-weight:700}.grpname:hover .rowmore,.grid .rowhead:hover .rowmore{opacity:1}.rowmore:hover{color:var(--fg);background:none}.main{grid-area:main;display:flex;flex-direction:column;overflow:hidden;min-width:0}.main.wide{overflow:auto}.app:not(.view-sheet){grid-template-columns:250px minmax(0,1fr);grid-template-areas:"tb tb" "rail main"}.formulabar{border-bottom:1px solid var(--line);background:var(--panel);padding:8px 12px 6px;flex:none}.fbhead{display:flex;align-items:center;gap:10px;margin-bottom:5px;height:24px;flex-wrap:nowrap;overflow:hidden;white-space:nowrap}.fbhead>*{flex:none}.fbhead .status,.fbhead .muted{overflow:hidden;text-overflow:ellipsis;min-width:0;flex:0 1 auto}.fbtext.ghost{height:54px;border-color:var(--line);background:var(--bg)}.vname{font-family:var(--mono);font-size:12.5px;cursor:text;padding:0 3px;border-radius:4px}.vname:hover{background:var(--acc-bg)}.pathchip{font-family:var(--mono);font-size:12px;background:var(--acc-bg);color:var(--acc);padding:1px 6px;border-radius:4px}.fbeditor{position:relative;font:13px/1.55 var(--mono)}.fbtext{display:block;width:100%;margin:0;padding:7px 9px;border:1px solid var(--line2);border-radius:6px;background:var(--panel);color:var(--fg);resize:vertical;outline:none;white-space:pre-wrap;height:54px;min-height:54px;overflow:auto}.fbtext:focus{border-color:var(--acc);box-shadow:0 0 0 2px var(--acc-bg)}.suggest{position:absolute;left:8px;top:100%;margin-top:2px;z-index:30;background:var(--panel);border:1px solid var(--line2);border-radius:8px;box-shadow:var(--shadow);min-width:280px;max-height:300px;overflow:auto;font:12.5px var(--mono)}.suggest div{padding:5px 10px;cursor:pointer}.suggest div.on,.suggest div:hover{background:var(--acc-bg);color:var(--acc)}.fbfoot{display:flex;gap:6px;flex-wrap:nowrap;align-items:center;margin-top:5px;height:22px;overflow:hidden;white-space:nowrap}.chip{font:12px var(--mono);background:var(--acc-bg);color:var(--acc);border-radius:4px;padding:1px 7px;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.chip.unknown{background:var(--warn-bg);color:var(--warn)}.chip button{border:none;background:none;padding:0 2px;color:inherit;font-size:11px}.fberr{color:var(--warn);font-size:12px}.gridwrap{flex:1;overflow:auto;position:relative}.grid{border-collapse:separate;border-spacing:0;font:12px var(--mono);white-space:nowrap}.grid th,.grid td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:3px 8px;text-align:right;min-width:78px;height:27px}.grid thead th{position:sticky;top:0;background:var(--bg);z-index:2;font-weight:600;color:var(--muted);font-family:var(--sans);font-size:11.5px}.grid thead th.actual{background:#e9e9e4}.grid thead th.boundary{border-right:2px solid #b8b8b0}.grid .rowhead{position:sticky;left:0;background:var(--panel);text-align:left;font-family:var(--sans);font-size:13px;min-width:280px;max-width:360px;z-index:1;cursor:default;overflow:hidden;text-overflow:ellipsis;padding-right:6px}.grid .rowhead .rowname{margin-left:2px}.grid .rowhead .rowname.item{color:#555;font-size:12px}.grid thead .rowhead{z-index:3;background:var(--bg);display:table-cell;vertical-align:middle;height:27px;padding-top:0;padding-bottom:0}.grid thead .rowhead .cornerin{display:flex;align-items:center;justify-content:space-between;gap:6px;height:27px}.grid td.actual{background:var(--actual);color:#444}.grid td.hardcoded{color:var(--hardcode);font-weight:600;position:relative}.grid td.hardcoded.actual{color:var(--hardcode)}.grid td.err{color:var(--warn);font-weight:600}.cellreset{position:absolute;left:3px;top:3px;border:none;background:var(--acc-bg);color:var(--hardcode);border-radius:4px;padding:0 4px;font-size:11px;line-height:17px;cursor:pointer}.cellreset:hover{background:var(--hardcode);color:#fff}.grid .rowhead .rowname.item.own{color:var(--hardcode);font-weight:600}.ownmark{font-family:var(--mono);font-style:italic;font-size:10px;margin-left:5px;background:var(--acc-bg);color:var(--hardcode);border-radius:3px;padding:0 4px}.status{font-size:12px;display:inline-flex;align-items:center;gap:2px;padding:1px 6px;border-radius:4px}.status.hard,.status.own{background:var(--acc-bg);color:var(--hardcode);font-weight:600}.status.scen{background:var(--hard-bg);color:var(--hard);font-weight:600}.status .link{padding:0 3px}.grid td.up{color:var(--up)}.grid td.down{color:var(--down)}.grid tr:hover td{background-color:#fafaf7}.grid tr:hover td.actual{background-color:#ededea}.grid tr.selrow .rowhead{background:var(--acc-bg);color:var(--acc)}.grid td.selcell{outline:2px solid var(--acc);outline-offset:-2px}.grid tr.grouprow .rowhead{font-weight:600;color:var(--muted);background:var(--bg);text-transform:uppercase;font-size:11px;letter-spacing:.04em;cursor:pointer;display:flex;align-items:center;gap:6px}.grid tr.grouprow.d0 .rowhead{background:#e9e9e4;color:var(--fg);font-size:12px;letter-spacing:.05em;height:30px;border-top:2px solid var(--line2)}.grid tr.grouprow.d1 .rowhead{background:#f1f1ed;color:#3a3a37}.grid tr.grouprow.d2 .rowhead,.grid tr.grouprow.d3 .rowhead{background:var(--bg);text-transform:none;letter-spacing:0;font-size:12px;font-weight:600}.grid tr.grouprow td:not(.rowhead){background:inherit}.grid tr.grouprow.d0 td{background:#e9e9e4}.grid tr.grouprow.d1 td{background:#f1f1ed}.grpcount{color:var(--muted);font-weight:400;font-size:11px;letter-spacing:0;text-transform:none}.grid tr.grouprow .rowhead .rowmore{margin-left:0}.grid tr.grouprow .rowhead .rowmore:first-of-type{margin-left:auto}.grpname:focus-visible{outline:2px solid var(--acc);outline-offset:-2px}.grpname.d0{font-weight:650}.grpname.d1{font-weight:550}.grpname.d2,.grpname.d3{font-weight:500;color:#3a3a37}.grid tr.itemrow .rowhead{color:#444;font-size:12px}.grid tr.itemrow td{color:#555}.grid tr.addrow .rowhead{border-bottom:none;background:transparent}.grid tr.addrow .rowhead button{color:var(--muted)}.grid tr.addrow .rowhead button:hover{color:var(--acc)}.expander{border:none;background:none;padding:0 5px 0 0;color:var(--muted);cursor:pointer;font-size:11px}.expander:hover{color:var(--fg);background:none}.unit{color:var(--muted);font-size:11px;margin-left:8px;font-family:var(--mono)}.badge{margin-left:6px;font-size:10px;background:var(--hard-bg);color:var(--hard);border-radius:3px;padding:0 4px}.grid .rowhead .hardcount{margin-left:6px;font-size:10px;background:var(--acc-bg);color:var(--hardcode);border-radius:3px;padding:0 4px;font-family:var(--mono)}.celledit{width:100%;font:inherit;text-align:right;padding:1px 4px;border:1px solid var(--acc);border-radius:3px}.grid td.empty{white-space:normal;padding:14px 10px}.inspector{grid-area:insp;border-left:1px solid var(--line);background:var(--panel);overflow:auto}.insphead{display:flex;align-items:flex-start;justify-content:space-between;padding:12px 14px 0;gap:8px}.insphead h3{margin:0;font-size:15px;word-break:break-word}.hint p{margin:8px 0}.tabs{display:flex;gap:2px;padding:6px 10px 0;border-bottom:1px solid var(--line)}.tabs button{border:none;border-bottom:2px solid transparent;border-radius:0;background:none;padding:6px 8px;color:var(--muted)}.tabs button.on{color:var(--fg);border-bottom-color:var(--fg)}.kv{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}.kv span:first-child{color:var(--muted)}.formula{font:12px/1.5 var(--mono);white-space:pre-wrap;word-break:break-word;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:8px;margin:8px 0 0}.refs{width:100%;border-collapse:collapse;font:12px var(--mono)}.refs td{padding:4px 0;border-bottom:1px solid var(--line);vertical-align:top}.refs td:last-child{text-align:right;white-space:nowrap;padding-left:8px}.refs td.ref{color:var(--acc);cursor:pointer;word-break:break-word}.refs td.ref:hover{text-decoration:underline}.deplist{list-style:none;padding:0;margin:0}.deplist li{display:flex;justify-content:space-between;gap:8px;padding:5px 4px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:12px;color:var(--acc);cursor:pointer}.deplist li:hover{background:var(--acc-bg)}.deplist li.muted{color:var(--muted);cursor:default;font-family:var(--sans)}.form label{display:flex;flex-direction:column;gap:3px;margin:8px 0;font-size:12px;color:var(--muted)}.form label.check{flex-direction:row;align-items:center;gap:6px;margin:4px 0;color:var(--fg)}.form label.inline{flex-direction:row;align-items:center;gap:6px}.form textarea{resize:vertical}.chart{margin-top:12px}.chart svg{width:100%;height:auto;background:var(--panel);border:1px solid var(--line);border-radius:8px;display:block}.chart.empty{padding:20px;text-align:center}.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:6px;align-items:center;padding:4px 8px;border-radius:6px;min-height:26px;box-sizing:border-box;border:1px solid transparent}.legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:-1px}.legend.hot{background:var(--acc-bg);border-color:#cfdcf7;color:var(--fg)}.legend.hot b{font-weight:700;font-variant-numeric:tabular-nums;color:var(--fg)}.legend .hovlabel{font-weight:700;color:#fff;background:var(--acc);padding:1px 8px;border-radius:999px;font-size:11.5px;letter-spacing:.01em}.tablewrap{overflow:auto;margin-top:8px;border:1px solid var(--line);border-radius:6px}table.mini{border-collapse:collapse;font:11.5px var(--mono);white-space:nowrap}table.mini th,table.mini td{padding:3px 8px;border-bottom:1px solid var(--line);text-align:right}table.mini td:first-child,table.mini th:first-child{text-align:left;position:sticky;left:0;background:var(--panel);font-family:var(--sans)}.sw{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px}.dash{padding:18px 24px 40px}.dashhead{display:flex;align-items:center;gap:12px;margin-bottom:14px}.dashhead h2{margin:0;font-size:20px}.dash .cards{grid-template-columns:repeat(auto-fill,minmax(460px,1fr));margin-top:0}.dashempty{padding:60px 20px;text-align:center;border:1px dashed var(--line2);border-radius:12px}.chartcard{gap:6px}.chartcard.editing{border-color:var(--acc)}.cardhead{display:flex;align-items:center;gap:6px}.cardtitle{font-weight:600;font-size:14px}.chartcard .chart{margin-top:4px}.chartedit{background:var(--bg);border-radius:8px;padding:8px 10px 10px}.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:6px}.picker>input{width:100%;margin-bottom:6px}.pickerlist{max-height:300px;overflow:auto}.pickerlist label{display:flex;gap:8px;align-items:center;padding:4px 6px;border-radius:5px;white-space:nowrap;cursor:pointer}.pickerlist label:hover{background:var(--bg)}.pickerlist label input[type=checkbox]{width:auto;margin:0;flex:none}.pickerlist label .grow{overflow:hidden;text-overflow:ellipsis}.pickerlist label .muted{flex:none}.picker .newcol{gap:6px}.picker .newcol input{flex:1;min-width:0}.picker .newcol select,.picker .newcol button{flex:none}.dimsview{display:grid;grid-template-columns:300px 1fr;min-height:100%}.dimlist{border-right:1px solid var(--line);padding:18px 14px;background:var(--panel)}.dimdetail{padding:18px 24px 40px}.dimrow{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:6px;cursor:pointer}.dimrow:hover{background:var(--bg)}.dimrow.on{background:var(--acc-bg);color:var(--acc)}.dimrow.add input{width:100%}.dimcols{display:grid;grid-template-columns:minmax(360px,1fr) minmax(280px,380px);gap:28px;align-items:start}table.items{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:8px}table.items td{padding:5px 8px;border-bottom:1px solid var(--line)}table.items td.idx{color:var(--muted);width:28px;font-family:var(--mono);font-size:11px}table.items td.acts{text-align:right;white-space:nowrap;width:90px}table.items td.acts button{opacity:0}table.items tr:hover td.acts button{opacity:1}table.items td.mapcell{white-space:nowrap}table.items td.mapcell select{margin-left:6px}table.items tr.add input{width:100%}.toasts{position:fixed;bottom:16px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;z-index:1200}.toast{background:var(--fg);color:#fff;padding:8px 14px;border-radius:8px;box-shadow:var(--shadow);display:flex;gap:12px;align-items:center;font-size:13px}.toast .link{color:#9ec1ff}@media(max-width:1200px){.app{grid-template-columns:220px minmax(0,1fr) 300px}.app:not(.view-sheet){grid-template-columns:220px minmax(0,1fr)}.grid .rowhead{min-width:220px;max-width:260px}.dimcols{grid-template-columns:1fr}}@media(max-width:900px){.app{grid-template-columns:200px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) 280px;grid-template-areas:"tb tb" "rail main" "rail insp"}.app.view-dashboard,.app.view-dimensions{grid-template-rows:auto minmax(0,1fr);grid-template-areas:"tb tb" "rail main"}.toolbar{padding:0 10px}.toolbar .title{max-width:160px}.sync .hint{display:none}.inspector{border-left:none;border-top:1px solid var(--line)}.dimsview{grid-template-columns:1fr}.dimlist{border-right:none;border-bottom:1px solid var(--line)}}.grid td.ranged{background-color:var(--acc-bg)!important}.grid td.selcell.ranged{outline-color:var(--acc)}.fillhandle{position:absolute;right:-3px;bottom:-3px;width:7px;height:7px;background:var(--acc);border:1px solid #fff;border-radius:1px;cursor:crosshair;z-index:2}.grid td{position:relative}.grid td.dragtarget{background-color:#dfe7fb!important}.gridwrap.dragging{cursor:crosshair;-webkit-user-select:none;user-select:none}.grid thead tr.grouphdr th.grp{text-align:center;border-right:2px solid #b8b8b0}.grid thead th.cur{color:var(--fg)}.grid td.other{color:#6b6b66;background:#fafaf8}.grid td.actual.other{background:#ececea}.grid thead .rowhead.sub{height:22px}.pill.input{background:var(--acc-bg);color:var(--hardcode)}.inputsview{padding:18px 24px 40px}.inputsec{margin-bottom:18px}table.inputs{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:8px}table.inputs td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle}table.inputs td.iname{width:28%;font-weight:500}table.inputs td.imode{width:150px}table.inputs td.ipreview{width:200px;text-align:right;white-space:nowrap}table.inputs tr.overridden td.iname{color:var(--hard)}table.inputs input.num{width:110px;font-family:var(--mono);text-align:right}table.inputs input[type=range]{width:160px}.steps{display:flex;flex-wrap:wrap;gap:6px}.steps label{display:flex;flex-direction:column;font-size:10px;color:var(--muted)}.steps input.num{width:78px}.spark{width:120px;height:22px;vertical-align:middle;margin-right:8px}.linkmap svg{background:var(--panel);border:1px solid var(--line);border-radius:8px}.linkmap .node:hover rect{stroke:var(--acc)}.serieslist{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.seriesrow{display:flex;align-items:center;gap:8px}.chartcard.wide{grid-column:1 / -1}.tablewrap.compare th.grp{text-align:center;border-left:1px solid var(--line2)}.dl{font-size:9px;margin-left:3px}.dl.up{color:var(--up)}.dl.down{color:var(--down)}.fbrich{cursor:text}.fbrich:empty:before{content:attr(data-placeholder);color:var(--muted);pointer-events:none}.fbrich:focus{border-color:var(--acc);box-shadow:0 0 0 2px var(--acc-bg)}.refchip{display:inline-flex;align-items:center;margin:0 1px;padding:0 2px 0 6px;border-radius:5px;background:var(--acc-bg);color:var(--acc);font:11.5px/18px var(--sans, system-ui);vertical-align:baseline;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border:1px solid transparent}.refchip:hover{border-color:var(--acc)}.refchip.grp{background:#eef4ec;color:#2d6a3e}.refchip.grp i,.refchip.grp em{border-left-color:#2d6a3e40}.refchip.unknown{background:var(--warn-bg);color:var(--warn)}.refchip b{font-weight:600}.refchip i,.refchip em{font-style:normal;opacity:.75;padding:0 5px;border-left:1px solid rgba(47,95,208,.25)}.refchip em{font-family:var(--mono);font-size:11px}.refchip.unknown i,.refchip.unknown em{border-left-color:#b3261e40}.chippop{display:flex;flex-direction:column;gap:6px}.chippop .mono{font-family:var(--mono)}.chippop .fpreview{display:block;font:11.5px/1.45 var(--mono);background:var(--bg);border-radius:6px;padding:6px 8px;white-space:pre-wrap;word-break:break-word;color:var(--fg)}.chippop .field{display:flex;align-items:center;gap:8px}.chippop .field span{width:40px;color:var(--muted);font-size:12px}.chippop .field input{flex:1;font-family:var(--mono);font-size:12px}.links{display:flex;flex-direction:column;gap:6px}.linkrow{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.linkrow .idx{width:18px;height:18px;border-radius:50%;background:var(--acc-bg);color:var(--acc);font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;flex:none}.linkrow.add{border-style:dashed;background:transparent}.linkrow.add .idx{background:var(--bg);color:var(--muted)}.linkrow.add select{flex:1}.items thead th.mapcol{font-size:11px;color:var(--muted);font-weight:500;text-align:left;padding:0 6px 2px}.grid tr.multisel .rowhead{background:var(--acc-bg);box-shadow:inset 3px 0 0 var(--acc)}.grid tr.multisel td{background:#f4f7fe}.grid .rowhead{cursor:grab}body.rowdragging,body.rowdragging *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}.grid tr.dragsrc .rowhead,.grid tr.dragsrc td{opacity:.45}.dropline{position:absolute;right:0;height:2px;background:var(--acc);z-index:6;pointer-events:none}.dropline:before{content:"";position:absolute;left:-5px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--acc)}.dragghost{position:absolute;z-index:7;pointer-events:none;background:var(--fg);color:#fff;font-size:12px;padding:3px 9px;border-radius:6px;box-shadow:var(--shadow);white-space:nowrap}.grpname.dragsrc{opacity:.45}.grpname.drop-above{box-shadow:inset 0 2px 0 var(--acc)}.grpname.drop-below{box-shadow:inset 0 -2px 0 var(--acc)}.grpname.drop-into{background:var(--acc-bg);outline:1px dashed var(--acc);outline-offset:-1px}.dimtablewrap{overflow:auto;max-width:100%}table.items.data th{text-align:left;font-size:12px;font-weight:600;padding:6px 8px;border-bottom:1px solid var(--line2);background:var(--bg);white-space:nowrap;position:sticky;top:0}table.items.data th .unit{margin-left:6px;color:var(--muted);font-weight:400;font-size:11px}table.items.data th .hdrgo{opacity:0;padding:0 3px;margin-left:2px}table.items.data th:hover .hdrgo{opacity:1}table.items.data td{padding:0}table.items.data td.idx{padding:5px 8px}table.items.data td.iname{min-width:200px}table.items.data td input{width:100%;border:none;border-radius:0;background:transparent;padding:5px 8px;font:inherit}table.items.data td input.num{text-align:right;font-variant-numeric:tabular-nums}table.items.data td input:focus{outline:none;box-shadow:inset 0 0 0 2px var(--acc);background:var(--panel)}table.items.data td.dcell{position:relative;min-width:130px;cursor:default}table.items.data td.dcell.own .cellview,table.items.data td.dcell.own input{color:var(--hardcode);font-weight:500}table.items.data td.dcell.inherit .cellview{color:var(--muted)}table.items.data td.dcell.formula .cellview,table.items.data td.dcell.formula input{font-family:var(--mono);font-size:11.5px}table.items.data .cellview{padding:5px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:27px;box-sizing:border-box}table.items.data td.num .cellview{text-align:right;font-variant-numeric:tabular-nums}table.items.data td.cur{outline:2px solid var(--acc);outline-offset:-2px;background:var(--panel)}table.items.data:focus{outline:none}table.items.data td.iname{cursor:default}table.items.data td.iname .cellview{padding-right:8px}table.items.data td.dcell .cellreset{position:absolute;left:4px;top:50%;transform:translateY(-50%);border:1px solid var(--acc-bg);background:var(--panel);color:var(--hardcode);font-size:11px;line-height:16px;padding:0 4px;border-radius:4px}table.items.data td.dcell .cellreset:hover{background:var(--hardcode);color:#fff}table.items.data tr.add td input{padding:5px 8px}.ledgerview{padding:18px 24px 40px}.ledgerview .setup{max-width:720px;line-height:1.5}.ledgerview .setup p{margin:8px 0}.ledgercols{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start;margin-top:8px}.custlist{border:1px solid var(--line);border-radius:10px;background:var(--panel);max-height:calc(100vh - 160px);overflow:auto}.custlist .search{width:calc(100% - 16px);margin:8px}.custrow{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;border-top:1px solid var(--line);font-size:13px}.custrow:hover{background:var(--bg)}.custrow.on{background:var(--acc-bg);color:var(--acc)}.custrow.all{font-weight:600}.custrow.empty{color:var(--muted)}.custrow .amt{font-variant-numeric:tabular-nums;font-size:12px;min-width:64px;text-align:right}.custrow .spark{width:70px;height:16px;flex:none}.custrow.add input{width:100%}.ledgermain{min-width:0}table.ledger{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:8px;font-size:13px}table.ledger th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600;padding:6px 8px;border-bottom:1px solid var(--line2);background:var(--bg);white-space:nowrap}table.ledger th.num{text-align:right}table.ledger td{padding:3px 6px;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap}table.ledger td.num{text-align:right;font-variant-numeric:tabular-nums}table.ledger td>input,table.ledger td>select{font-size:12.5px;padding:3px 6px}table.ledger td>input.num{text-align:right;width:110px}table.ledger td>input.short{width:52px}table.ledger td>input.mono{font-family:var(--mono);width:80px}table.ledger td .mono{font-family:var(--mono)}table.ledger tr.forecast td:not(.acts){background:#fbfbfa}table.ledger tr.actual td:first-child{box-shadow:inset 3px 0 0 var(--line2)}table.ledger td.delta.up{color:var(--up)}table.ledger td.delta.down{color:var(--down)}table.ledger td.acts{text-align:right}table.ledger td.acts .icon{opacity:0}table.ledger tr:hover td.acts .icon{opacity:1}table.ledger tr.add td{padding:6px 8px;background:var(--bg)}table.ledger.compact td{padding:4px 8px;cursor:pointer}table.ledger.compact tr.first td{border-top:2px solid var(--line2)}table.ledger.compact tr:hover td{background:var(--bg)}.kind{display:inline-block;font-size:11px;font-weight:600;padding:1px 7px;border-radius:10px;background:var(--bg);color:var(--muted)}.kind.k-new{background:#e6f3ea;color:#1e7b3a}.kind.k-expansion{background:#e9eefb;color:var(--acc)}.kind.k-reactivation{background:#e6f3ea;color:#1e7b3a}.kind.k-contraction{background:#fff3e0;color:#9a4e00}.kind.k-churn{background:var(--warn-bg);color:var(--warn)}.custsummary{margin-top:18px}table.mini{border-collapse:collapse;font-size:12px}table.mini th,table.mini td{padding:3px 10px;border-bottom:1px solid var(--line)}table.mini th{color:var(--muted);font-weight:500}table.mini .num{text-align:right;font-variant-numeric:tabular-nums}.elements .elemrow{display:flex;align-items:center;gap:8px;padding:5px 4px;border-bottom:1px solid var(--line)}.elements .hints{margin:10px 0 0;padding-left:16px;line-height:1.45}.usageedit{max-width:100%}.usageedit input,.usageedit select{min-width:0}.usageedit .fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 12px}.usageedit .fields label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted)}.usageedit .fields input,.usageedit .fields select{width:100%;box-sizing:border-box}.usageedit .withunit{display:flex;align-items:center;gap:6px}.usageedit .withunit input{flex:1}.usageedit .profile{margin-top:12px}.usageedit .bars{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;align-items:end;height:40px;margin:6px 0 4px}.usageedit .bar{background:var(--acc);opacity:.75;border-radius:2px 2px 0 0}.usageedit .cells{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.usageedit .cells label{display:flex;flex-direction:column;font-size:10.5px;color:var(--muted);gap:2px}.usageedit .cells input{width:100%;box-sizing:border-box;padding:3px 4px;font-size:12px;text-align:right;font-variant-numeric:tabular-nums}.pastebox{width:100%;font:12px/1.5 var(--mono);margin:8px 0}.maprow{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}.maprow label{display:flex;flex-direction:column;gap:2px;color:var(--muted)}.maprow select{font-size:12px}.previewwrap{max-height:260px;overflow:auto}table.ledger.preview tr.bad td{background:var(--warn-bg)}@media(max-width:1100px){.ledgercols{grid-template-columns:1fr}.custlist{max-height:260px}}.fnref input{width:100%;margin-bottom:6px}.fnlist{max-height:380px;overflow:auto}.fnlist .label{margin:8px 0 2px}.fnitem{display:grid;grid-template-columns:200px 1fr;gap:10px;padding:4px 6px;border-radius:5px;cursor:pointer;align-items:baseline}.fnitem:hover{background:var(--acc-bg)}.fnitem code{font:11.5px var(--mono);color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fbhead .status.ledger{color:#1e7b3a;font-weight:600;font-size:12px}.tablewrap{overflow-x:auto;overflow-y:hidden;border:1px solid var(--line);border-radius:8px;background:var(--panel);max-width:100%}.tablewrap table.ledger{border:none;border-radius:0;min-width:100%}table.ledger th:first-child,table.ledger td:first-child{position:sticky;left:0;background:var(--panel);z-index:1}table.ledger th:first-child{background:var(--bg);z-index:2}table.ledger tr.forecast td:first-child{background:#fbfbfa}table.ledger.compact tr:hover td:first-child{background:var(--bg)}table.ledger td>input:not(.num):not(.short):not(.mono){width:100%;min-width:120px;box-sizing:border-box}table.ledger td>select{max-width:160px}table.ledger th:nth-child(9),table.ledger td:nth-child(9){width:100%}.grid .rowhead .rowname.item.subtotal{color:var(--fg);font-weight:500}table.ledger td>input.coterm{border-style:dashed;color:var(--muted)}table.mini tr.sep td{padding-top:8px;border-bottom:none}.ledgerview .dashhead label.inline select{font-size:12px;padding:2px 4px}button.link.own{color:var(--hardcode);font-weight:600}.fbrich.derived{background:#f6faf6;border-style:dashed;border-color:#b7d3bd;color:#2d4a35;cursor:default}.refchip.ledger{background:#eef4ec;color:#2d6a3e}.refchip.ledger i,.refchip.ledger em{border-left-color:#2d6a3e40}.sync{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;line-height:18px;color:var(--muted);padding:1px 8px 1px 7px;border-radius:10px;background:var(--bg);border:1px solid transparent;white-space:nowrap;flex:none;font-family:var(--sans);font-weight:500}.sync .dot{width:6px;height:6px;border-radius:50%;background:var(--line2);flex:none}.sync .hint{color:var(--muted);font-weight:400;margin-left:2px}.sync.is-saved{color:#1e7b3a;background:#eef6f0}.sync.is-saved .dot{background:#1e7b3a}.sync.is-saved .hint{color:#4c7a58}.sync.is-saving .dot{background:var(--acc);animation:pulse 1s infinite}.sync.is-offline .dot{background:#c9711a}.sync.is-offline{color:#9a4e00;background:#fff3e0}.sync.is-conflict,.sync.is-error{color:var(--warn);background:var(--warn-bg)}.sync.is-conflict .dot,.sync.is-error .dot{background:var(--warn)}.sync.is-local{border-color:var(--line2);background:transparent}.sync.is-local .dot{background:var(--line2)}button.sync.action{cursor:pointer}button.sync.action:hover:not(:disabled){border-color:var(--acc);color:var(--acc);background:var(--acc-bg)}button.sync.action:hover:not(:disabled) .hint{color:var(--acc)}@keyframes pulse{50%{opacity:.35}}.poprow.version{align-items:flex-start}.vsummary{margin-top:4px;font-size:11.5px;color:#3a3a37;line-height:1.4}.pending{margin:4px 6px 10px;padding:8px 10px;background:var(--bg);border-radius:8px;line-height:1.45}.home .saved.cloud h3{color:var(--acc)}.home .row{display:flex;align-items:center;gap:12px}.home .models{margin-top:26px}.home .models h3{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);display:flex;align-items:center;gap:8px}.home .models h3 .count{margin-left:0}.card.model h2 a{color:var(--fg);text-decoration:none}.card.model h2 a:hover{color:var(--acc)}.card.model p{margin:4px 0 12px}.card.model .row{gap:8px}.card.model.local{border-style:dashed;background:transparent}.card.demo h2 .pill{margin-left:6px;vertical-align:middle}.card .row3{margin:6px 0 12px}.card .row3 input,.card label input{width:100%;min-width:0;box-sizing:border-box}.card label{margin-top:6px}.card>button{margin-top:6px}.viewlabel{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:10px 8px 2px;font-weight:600}.grid td.external{color:#6b6b66;background:#f4f4f1;font-weight:400;cursor:default}.grid td.external.actual{background:#f0f0ec}.grid tr:hover td.external{background-color:#ebebe7}.grid td.external.selcell:after{content:"⇄";position:absolute;left:4px;top:3px;font-size:10px;color:var(--muted)}.grid td.external{position:relative}.grid tr.inactive .rowhead .rowname{color:var(--muted);font-style:italic}.grid tr.inactive td{color:#9a9a95}.drilltable td{white-space:nowrap}.drill .tablewrap{margin-top:6px;max-height:320px;overflow:auto}.dataview{padding:18px 24px 40px}.dataview .cards{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.hiddennote{color:var(--muted);font-weight:400;text-transform:none;letter-spacing:0;font-size:11px}.hiddennote:hover{color:var(--acc)}.card label.inline{flex-direction:row;align-items:center;gap:6px;margin-top:2px}.card label.inline input[type=checkbox]{width:auto;margin:0}.form .row3 input,.form label input,.form label select{width:100%;min-width:0;box-sizing:border-box}.toolbar button.icon.gear{font-size:18px;padding:0 8px;height:30px;line-height:1}.tbleft{flex-wrap:nowrap}.tbleft>*{align-self:center}table.refs{width:100%;table-layout:fixed}table.refs td.ref{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0;width:62%}table.refs td:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right;font-variant-numeric:tabular-nums}table.refs tr.member td.ref{padding-left:16px;color:var(--muted);font-size:11.5px}table.refs tr.member td:last-child{color:var(--muted);font-size:11.5px}.ledgerview .custpreview{margin-top:12px;padding:10px 12px;background:var(--panel);border:1px solid var(--line);border-radius:8px;max-width:720px;line-height:1.45}.staffing table.mini{width:100%}.staffing table.mini td,.staffing table.mini th{padding:4px 6px}.staffing select{max-width:150px}.nowrap,.dashhead button{white-space:nowrap}.custhistory.wide{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.custhistory.wide>.row{grid-column:1 / -1}.custhistory.wide .tablewrap{min-width:0}.hcside{display:flex;flex-direction:column;gap:12px}.hcside .card{padding:12px 14px;gap:6px}.hcside .kv{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12.5px}table.ledger.hctable td>select,table.ledger.hclines td>select{max-width:120px;font-size:12px}table.ledger .withunit{display:inline-flex;align-items:center;gap:4px}table.ledger td>input.own,.hcside input.own{color:var(--hardcode);font-weight:600}table.ledger td>input.short{width:58px}.pname{display:inline-flex;align-items:center;gap:4px}.pname .linkmark{color:var(--muted);font-size:11px}table.ledger tr.inactive td{color:var(--muted)}.ledgermain .tablewrap,.ledgermain table.ledger{width:100%}@media(max-width:1300px){.custhistory.wide{grid-template-columns:1fr}}table.ledger.hctable th,table.ledger.hctable td{padding:5px 6px}table.ledger.hctable td>input:not(.num):not(.short):not(.mono){min-width:80px}table.ledger.hctable td>input.num{width:92px}table.ledger.hctable td>select,table.ledger.hclines td>select{max-width:104px}table.ledger.hctable td>input.short{width:52px}table.ledger.hctable td .pname+.link{opacity:0}table.ledger.hctable tr:hover td .pname+.link{opacity:1}table.ledger td input.num,.hcside input.num,table.items.data td input.num,.staffing input.num,.usageedit input.num{text-align:right;font-variant-numeric:tabular-nums}table.ledger .withunit{display:inline-flex;align-items:center;gap:4px;justify-content:flex-end;width:100%}table.ledger .withunit input.num{width:92px}table.ledger .withunit .unit{width:22px;text-align:left}table.ledger.hctable td>input.num,table.ledger.hclines td>input.num{width:92px}table.inputs input.num,.inputsview input.num{text-align:right;font-variant-numeric:tabular-nums}.actualsfrom select{width:100%;margin:4px 0 6px}.actualsfrom{border-bottom:1px solid var(--line)}.pastearea{border:1px dashed transparent;border-radius:8px;padding:2px}.pastearea.over{border-color:var(--acc);background:var(--acc-bg)}.pastearea .row{margin:2px 4px 8px;flex-wrap:wrap}.importmode{margin:8px 0 0;gap:12px;flex-wrap:wrap}.importmode label.inline{display:inline-flex;align-items:center;gap:5px}.importmode input[type=radio]{margin:0}button.primary.dangerbtn,button.primary.dangerbtn:hover:not(:disabled){color:#fff}button.primary.dangerbtn{background:var(--warn);border-color:var(--warn)}button.primary.dangerbtn:hover:not(:disabled){background:#8f1d16;border-color:#8f1d16}button.primary.dangerbtn:disabled{opacity:.5}.importwarn{color:var(--warn);font-size:12px;margin-top:6px}.hcchart{margin:0 0 12px}.hcchart svg{border-radius:10px}.custfilters{display:flex;gap:10px;padding:0 10px 6px;flex-wrap:wrap}.custfilters label.inline{display:inline-flex;align-items:center;gap:4px;color:var(--muted);cursor:pointer}.custfilters input{margin:0}.custrow.inactive .grow{color:var(--muted);text-decoration:line-through;text-decoration-color:#ccc}table.seedmap{width:100%;margin-top:4px}table.seedmap input{width:100%}tr.inactive td,tr.churned td{color:var(--muted)}table.seedprev .step{display:inline-block;background:#eef0f5;border-radius:4px;padding:0 6px;margin:1px 4px 1px 0;white-space:nowrap}.ok{color:#2f7a3d}table.seedprev .step.ended{color:var(--muted);text-decoration:line-through;text-decoration-color:#ccc}.lp{--lp-ink: #121311;--lp-ink2: #4b4d47;--lp-line: #e3e3de;font-size:15px;line-height:1.5;color:var(--lp-ink);background:#fbfbf9;min-height:100%}.lp-wrap{max-width:1120px;margin:0 auto;padding:0 28px}.lp-nav{position:sticky;top:0;z-index:10;background:#fbfbf9d9;-webkit-backdrop-filter:saturate(160%) blur(10px);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--lp-line)}.lp-navin{display:flex;align-items:center;height:58px;gap:24px}.lp-logo{font-weight:750;letter-spacing:-.02em;font-size:18px}.lp-nav nav{margin-left:auto;display:flex;align-items:center;gap:22px}.lp-nav nav a{color:var(--lp-ink2);text-decoration:none;font-size:14px}.lp-nav nav a:hover{color:var(--lp-ink)}.lp-btn{font:inherit;font-size:14px;font-weight:600;border-radius:10px;padding:10px 16px;border:1px solid var(--lp-line);background:#fff;color:var(--lp-ink);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:transform .08s ease,box-shadow .12s ease}.lp-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px #00000014}.lp-btn.primary{background:var(--lp-ink);color:#fff;border-color:var(--lp-ink)}.lp-btn.ghost{background:transparent}.lp-nav .lp-btn{padding:7px 13px}.lp-hero{padding:72px 0 40px;background:radial-gradient(1200px 500px at 50% -10%,#e9eefb,#e9eefb00 70%)}.lp-eyebrow{font-size:12px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);margin-bottom:18px}.lp-hero h1{font-size:clamp(34px,5.2vw,60px);line-height:1.04;letter-spacing:-.03em;margin:0 0 20px;max-width:900px;font-weight:750}.lp-hero h1 span{color:var(--lp-ink2);font-weight:600}.lp-sub{font-size:18px;color:var(--lp-ink2);max-width:720px;margin:0 0 26px}.lp-ctas{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.lp-ctas .lp-btn.primary{padding:12px 20px;font-size:15px}.lp-fine{margin-top:12px;font-size:13px;color:var(--muted)}.lp-mock{margin:52px auto 0;background:#fff;border:1px solid var(--lp-line);border-radius:16px;box-shadow:0 30px 80px #14182824,0 2px 6px #0000000d;overflow:hidden}.lp-mock-top{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--lp-line);background:#fafaf8;font-size:12px;color:var(--muted)}.lp-mock-top .dot{width:10px;height:10px;border-radius:50%;background:#e4e4df}.lp-mock-title{margin-left:10px;color:var(--lp-ink2)}.lp-mock-saved{margin-left:auto;color:#1e7b3a}.lp-mock-body{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.8fr)}.lp-mock-grid{padding:14px 0 0;font:12px var(--mono);overflow:hidden;border-right:1px solid var(--lp-line)}.lp-gr{display:grid;grid-template-columns:190px repeat(7,minmax(72px,1fr));align-items:center;border-bottom:1px solid #f0f0ec}.lp-gh{color:var(--muted);font-size:11px}.lp-gs .lp-gn{font-family:var(--sans);font-weight:650;padding-top:10px;padding-bottom:4px}.lp-gn{font-family:var(--sans);font-size:12.5px;padding:6px 14px;white-space:nowrap;display:flex;align-items:center;gap:6px}.lp-gc{padding:6px 10px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.lp-gc.act{background:#f3f3ef;color:#5a5a55}.lp-gc.blue{color:var(--hardcode);font-weight:600}.lp-gr.formula .lp-gn{color:var(--acc)}.lp-tag{font:600 9.5px var(--sans);letter-spacing:.04em;text-transform:uppercase;background:#eef0f5;color:#4a5470;border-radius:999px;padding:1px 6px}.lp-fbar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#fff;border-top:1px solid var(--lp-line);flex-wrap:wrap}.lp-fname{font-family:var(--sans);font-weight:650;font-size:12.5px}.lp-feq,.lp-op{color:var(--muted)}.lp-chip{font:12px var(--mono);background:#f1f1ee;border-radius:5px;padding:2px 7px}.lp-chip.v{background:var(--acc-bg);color:var(--acc)}.lp-mock-side{padding:14px;display:flex;flex-direction:column;gap:12px;background:#fafaf8}.lp-card{background:#fff;border:1px solid var(--lp-line);border-radius:10px;padding:10px 12px}.lp-card-h{font-size:12px;font-weight:650;margin-bottom:6px}.lp-spark{width:100%;height:auto;display:block;border:1px solid var(--lp-line);border-radius:6px}.lp-legend{display:flex;gap:10px;font-size:11.5px;color:var(--muted);margin-top:6px;align-items:center;background:var(--acc-bg);border-radius:6px;padding:4px 8px}.lp-legend .hov{background:var(--acc);color:#fff;border-radius:999px;padding:1px 8px;font-weight:700}.lp-legend i{display:inline-block;width:9px;height:9px;background:#2f5fd0;border-radius:2px;margin-right:5px;vertical-align:-1px}.lp-legend b{color:var(--lp-ink)}.lp-explain{font-size:12px;line-height:1.5}.lp-explain .k{font-weight:650}.lp-explain .m{color:var(--lp-ink2);margin:4px 0 6px}.lp-explain .ref{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #f0f0ec;padding:4px 0}.lp-explain .ref span{color:var(--acc);font-family:var(--mono);font-size:11.5px}.lp-section{padding:84px 0}.lp-section.alt{background:#f3f4f1}.lp-num{font-size:12px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);margin-bottom:14px}.lp-section h2,.lp-cta h2{font-size:clamp(26px,3.4vw,40px);letter-spacing:-.025em;line-height:1.1;margin:0 0 36px;max-width:760px;font-weight:750}.lp-feats{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.lp-feats.three{grid-template-columns:repeat(3,1fr)}.lp-feat h3{font-size:16px;margin:0 0 8px}.lp-feat p{margin:0;color:var(--lp-ink2);font-size:14.5px}.lp-mods{display:grid;grid-template-columns:1fr 1fr;gap:24px}.lp-mod{background:#fff;border:1px solid var(--lp-line);border-radius:14px;padding:26px 28px}.lp-mod-h{font-size:19px;font-weight:700;margin-bottom:10px}.lp-mod p{color:var(--lp-ink2);margin:0 0 12px}.lp-mod ul{margin:0;padding-left:18px;color:var(--lp-ink2);font-size:14px}.lp-mod li{margin:4px 0}.lp-cta{padding:90px 0;text-align:center;background:var(--lp-ink);color:#fff}.lp-cta h2{margin:0 auto 10px;max-width:760px}.lp-cta p{color:#c9cac4;margin:0 0 24px;font-size:16px}.lp-cta .lp-btn.primary{background:#fff;color:var(--lp-ink);border-color:#fff;padding:12px 22px;font-size:15px}.lp-foot{padding:22px 0;font-size:13px;color:var(--muted)}.lp-foot .lp-wrap{display:flex;gap:18px;align-items:center}.lp-foot a{color:var(--muted);text-decoration:none}.lp-foot a:hover{color:var(--lp-ink)}@media(max-width:900px){.lp-mock-body{grid-template-columns:1fr}.lp-mock-grid{border-right:none;border-bottom:1px solid var(--lp-line)}.lp-feats,.lp-feats.three,.lp-mods{grid-template-columns:1fr 1fr}.lp-nav nav a{display:none}}@media(max-width:600px){.lp-feats,.lp-feats.three,.lp-mods{grid-template-columns:1fr}.lp-hero{padding-top:44px}.lp-section{padding:56px 0}.lp-gr{grid-template-columns:150px repeat(7,72px)}.lp-mock-grid{overflow-x:auto}}
