:root{--bg:#f4f6f5;--surface:#fff;--text:#1c2624;--muted:#66736f;--border:#e1e6e4;--brand:#2f4f4f;--brand-ink:#fff;--accent:#f2c94c;--paid:#1e8a4c;--paid-bg:#e2f4e8;--ordered:#a86a00;--ordered-bg:#fdf0d5;--planned:#56615e;--planned-bg:#eceff0;--undecided:#b4532a;--undecided-bg:#fbe4d7;--danger:#c0392b;--radius:14px;--tabbar-h:64px;--safe-b:env(safe-area-inset-bottom,0px);--tab-active:var(--brand);--chart:var(--brand);--chart-soft:color-mix(in srgb, var(--brand) 30%, transparent);color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#111614;--surface:#1b2220;--text:#e8eeec;--muted:#95a39f;--border:#2b3532;--brand:#3d6b68;--paid:#5dd08d;--paid-bg:#173324;--ordered:#f0b44c;--ordered-bg:#3a2c10;--planned:#b3bfbc;--planned-bg:#28312f;--undecided:#ff9f7a;--undecided-bg:#3d2218;--danger:#ff7b6b;--tab-active:var(--accent);--chart:var(--accent);--chart-soft:color-mix(in srgb, var(--accent) 28%, transparent);color-scheme:dark}}:root[data-theme=dark]{--bg:#111614;--surface:#1b2220;--text:#e8eeec;--muted:#95a39f;--border:#2b3532;--brand:#3d6b68;--paid:#5dd08d;--paid-bg:#173324;--ordered:#f0b44c;--ordered-bg:#3a2c10;--planned:#b3bfbc;--planned-bg:#28312f;--undecided:#ff9f7a;--undecided-bg:#3d2218;--danger:#ff7b6b;--tab-active:var(--accent);--chart:var(--accent);--chart-soft:color-mix(in srgb, var(--accent) 28%, transparent);color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}body.no-scroll{overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}code{background:var(--planned-bg);border-radius:4px;padding:1px 4px;font-size:.9em}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--danger);margin:0}.empty{text-align:center;color:var(--muted);padding:32px 16px}.stack{flex-direction:column;gap:16px;display:flex}.center-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100dvh;padding:24px;display:flex}.app{min-height:100dvh}.topbar{z-index:5;background:var(--brand);color:var(--brand-ink);padding:calc(env(safe-area-inset-top,0px) + 12px) 16px 12px;position:sticky;top:0}.topbar h1{margin:0;font-size:1.1rem;font-weight:650}.content{padding:16px 16px calc(var(--tabbar-h) + var(--safe-b) + 88px)}.tabbar{z-index:10;height:calc(var(--tabbar-h) + var(--safe-b));padding-bottom:var(--safe-b);background:var(--surface);border-top:1px solid var(--border);display:flex;position:fixed;bottom:0;left:0;right:0}.tab{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--muted);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.75rem;text-decoration:none;display:flex;overflow:hidden}.tab-icon{font-size:1.3rem;line-height:1}.tab.active{color:var(--tab-active);font-weight:650}.fab-wrap{z-index:12;right:16px;bottom:calc(var(--tabbar-h) + var(--safe-b) + 16px);flex-direction:column;align-items:flex-end;gap:12px;display:flex;position:fixed}.fab{background:var(--accent);color:#1c2624;border:0;border-radius:50%;place-items:center;width:58px;height:58px;font-size:1.7rem;font-weight:700;line-height:1;display:grid;box-shadow:0 6px 20px #00000040}.fab-icon{transition:transform .2s;display:block}.fab-wrap.open .fab-icon{transform:rotate(45deg)}.fab:active{transform:scale(.96)}.fab-backdrop{z-index:11;background:#0000004d;animation:.15s ease-out fade;position:fixed;inset:0}.fab-menu{flex-direction:column;align-items:flex-end;gap:10px;animation:.15s ease-out fade;display:flex}.fab-menu button{background:var(--surface);color:var(--text);white-space:nowrap;border:0;border-radius:99px;align-items:center;gap:10px;padding:10px 16px 10px 10px;font-weight:600;display:flex;box-shadow:0 4px 14px #0003}.fab-menu-icon{background:var(--brand);width:34px;height:34px;color:var(--brand-ink);border-radius:50%;place-items:center;font-size:1rem;display:grid}.summary{background:var(--brand);color:var(--brand-ink);border-radius:var(--radius);margin-bottom:16px;padding:16px}.summary-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.summary-label{opacity:.85;font-size:.85rem}.summary-total{letter-spacing:-.02em;margin-top:2px;font-size:2.3rem;font-weight:750}.summary-range{opacity:.8;font-size:.85rem}.progress{background:#fff3;border-radius:99px;height:10px;margin:14px 0 10px;overflow:hidden}.progress-bar{background:var(--accent);border-radius:99px;height:100%;transition:width .4s}.summary-split{justify-content:space-between;gap:12px;display:flex}.summary-split .k,.paid-box .k,.stat-card .k{opacity:.8;font-size:.78rem;display:block}.summary-split .v{font-size:1.15rem;font-weight:700}.summary-split small{opacity:.8;font-weight:500}.right{text-align:right}.summary-toggle{width:100%;color:inherit;background:#ffffff1f;border:0;border-radius:10px;margin-top:12px;padding:8px;font-size:.85rem}.switch{align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.switch input{width:18px;height:18px;accent-color:var(--accent)}.chips{scrollbar-width:none;gap:8px;margin-bottom:8px;padding-bottom:4px;display:flex;overflow-x:auto}.chip{border:1px solid var(--border);background:var(--surface);border-radius:99px;flex:none;padding:6px 14px;font-size:.9rem}.chip.active{background:var(--text);color:var(--bg);border-color:var(--text)}.category-filter{gap:8px;margin-bottom:4px;display:flex;position:relative}.category-filter select{appearance:none;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2395a39f' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center;border-radius:12px;flex:1;min-height:42px;padding:8px 40px 8px 14px;font-size:16px}.category-filter.active select{border-color:var(--brand);outline:1px solid var(--brand);font-weight:600}.category-filter .clear{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex:none;width:42px}.group{margin-top:16px}.group-head{justify-content:space-between;align-items:baseline;padding:0 4px 6px;display:flex}.group-head h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0;font-size:.8rem}.group-head span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem}.card-list{background:var(--surface);border-radius:var(--radius);margin:0;padding:0;list-style:none;overflow:hidden}.card-list li+li{border-top:1px solid var(--border)}.line-row{text-align:left;background:0 0;border:0;gap:12px;width:100%;min-height:60px;padding:12px 14px;display:flex;position:relative}.line-row:active{background:var(--planned-bg)}.line-main{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.line-label{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:550;display:-webkit-box;overflow:hidden}.line-meta{flex-wrap:wrap;align-items:center;gap:6px;font-size:.8rem;display:flex}.line-amounts{font-variant-numeric:tabular-nums;flex-direction:column;align-items:flex-end;gap:2px;display:flex}.line-retained{white-space:nowrap;font-weight:700}.line-paid{color:var(--paid);white-space:nowrap;font-size:.78rem}.line-progress{background:var(--border);height:3px;position:absolute;bottom:0;left:0;right:0}.line-progress div{background:var(--paid);height:100%}.status,.badge{border-radius:99px;padding:2px 8px;font-size:.72rem;font-weight:650}.status.a_decider{background:var(--undecided-bg);color:var(--undecided)}.status.prevu{background:var(--planned-bg);color:var(--planned)}.status.commande{background:var(--ordered-bg);color:var(--ordered)}.status.paye{background:var(--paid-bg);color:var(--paid)}.badge{border:1px solid var(--border);color:var(--muted)}.stat-card,.card{background:var(--surface);border-radius:var(--radius);padding:16px}.stat-card .v{font-size:1.8rem;font-weight:750;display:block}.btn{border:1px solid var(--border);background:var(--surface);border-radius:12px;min-height:48px;padding:12px 16px;font-weight:600}.btn.block{width:100%}.btn.grow{flex:1}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.btn.dashed{color:var(--muted);background:0 0;border-style:dashed;margin-top:16px}.field .btn.dashed{margin-top:0}.btn.danger-outline{color:var(--danger);background:0 0;border-color:currentColor}.btn:disabled{opacity:.6}.icon-btn{background:var(--planned-bg);border:0;border-radius:50%;width:36px;height:36px;font-size:.95rem}.actions{background:var(--surface);padding:8px 0 calc(8px + var(--safe-b));gap:10px;display:flex;position:sticky;bottom:0}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>span{color:var(--muted);font-size:.85rem;font-weight:600}.field small{font-weight:400}input:not([type=checkbox]),select,textarea{border:1px solid var(--border);background:var(--bg);border-radius:12px;width:100%;min-height:48px;padding:12px;font-size:16px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:0;border-color:#0000}.input-suffix{position:relative}.input-suffix input{padding-right:36px}.input-suffix span{color:var(--muted);pointer-events:none;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.input-suffix.big input{padding:10px 44px 10px 14px;font-size:2rem;font-weight:700}.input-suffix.big span{font-size:1.5rem}.row-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.segmented{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.segmented.three{grid-template-columns:repeat(3,1fr)}.segmented button{border:1px solid var(--border);background:var(--bg);border-radius:10px;min-height:44px;padding:10px 2px;font-size:.85rem;font-weight:600}.segmented button.active.a_decider{background:var(--undecided-bg);color:var(--undecided);border-color:currentColor}.segmented button.active.prevu{background:var(--planned-bg);color:var(--planned);border-color:currentColor}.segmented button.active.commande{background:var(--ordered-bg);color:var(--ordered);border-color:currentColor}.segmented button.active.paye{background:var(--paid-bg);color:var(--paid);border-color:currentColor}.check{background:var(--bg);border-radius:12px;align-items:flex-start;gap:12px;padding:12px;display:flex}.check input{width:22px;height:22px;accent-color:var(--brand);flex:none;margin:0}.check small{font-size:.8rem;display:block}.paid-box{background:var(--bg);border-radius:12px;justify-content:space-between;padding:12px 14px;display:flex}.paid-box .k{color:var(--muted);opacity:1}.paid-box .v{font-size:1.2rem;font-weight:700}.mini-list{border:1px solid var(--border);border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.mini-list li+li{border-top:1px solid var(--border)}.mini-list>li>button{text-align:left;background:0 0;border:0;justify-content:space-between;gap:8px;width:100%;padding:12px;display:flex}.login{text-align:left;flex-direction:column;gap:16px;width:100%;max-width:360px;display:flex}.login img{border-radius:14px;align-self:center}.login h1{text-align:center;margin:0 0 8px}.sheet-backdrop{z-index:20;background:#00000073;justify-content:center;align-items:flex-end;animation:.15s ease-out fade;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);border-radius:20px 20px 0 0;flex-direction:column;width:100%;max-width:640px;max-height:94dvh;animation:.22s ease-out slide-up;display:flex}.sheet-head{justify-content:space-between;align-items:center;padding:16px 16px 8px;display:flex}.sheet-head h2{margin:0;font-size:1.15rem}.sheet-body{overscroll-behavior:contain;padding:8px 16px 0;overflow-y:auto}.toast{z-index:30;left:50%;bottom:calc(var(--tabbar-h) + var(--safe-b) + 80px);background:var(--text);color:var(--bg);border-radius:99px;padding:10px 18px;font-size:.9rem;animation:.15s ease-out fade;position:fixed;transform:translate(-50%)}@keyframes slide-up{0%{transform:translateY(100%)}}@keyframes fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.offline{top:calc(env(safe-area-inset-top,0px) + 46px);z-index:4;background:var(--ordered-bg);color:var(--ordered);text-align:center;padding:6px 16px;font-size:.8rem;font-weight:600;position:sticky}.tiles{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tile{background:var(--surface);border-radius:var(--radius);flex-direction:column;gap:2px;padding:12px 14px;display:flex}.tile .k{color:var(--muted);font-size:.78rem}.tile .v{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:750}.tile .v small{color:var(--muted);font-size:.9rem;font-weight:500}.tile>small{font-size:.75rem}.card-title{margin:0;font-size:1rem}.card-sub{color:var(--muted);margin:4px 0 0;font-size:.8rem}.bars{flex-direction:column;gap:12px;margin:14px 0 0;padding:0;list-style:none;display:flex}.bar-label{justify-content:space-between;gap:10px;margin-bottom:4px;font-size:.85rem;display:flex}.bar-label .clamp{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.bar-value{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:650}.bar-value small{font-weight:500}.bar-track{height:10px;position:relative}.bar-fill{background:var(--chart-soft);border-radius:0 4px 4px 0;min-width:4px;height:100%;overflow:hidden}.bar-fill.solid{background:var(--chart)}.bar-paid{background:var(--chart);border-right:2px solid var(--surface);height:100%}.bar-range{background:var(--chart-soft);border-radius:4px;min-width:4px;height:100%;position:absolute;top:0}.bar-tick{background:var(--text);border-radius:1px;width:2px;height:16px;margin-left:-1px;position:absolute;top:-3px}.data-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:12px;font-size:.82rem}.data-table th,.data-table td{text-align:right;border-top:1px solid var(--border);white-space:nowrap;padding:8px 4px}.data-table thead th{color:var(--muted);border-top:0;font-weight:500}.data-table th[scope=row]{text-align:left;white-space:normal;font-weight:500}.data-table td.over{color:var(--danger)}.data-table td.under{color:var(--paid)}.planner{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.planner>*{min-width:0}.planner-bar{padding-top:calc(env(safe-area-inset-top,0px) + 8px);flex-wrap:wrap;align-items:center;column-gap:10px;padding-bottom:0;display:flex}.planner-bar h1{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.planner-bar .back{color:inherit;border-radius:50%;place-items:center;width:36px;height:36px;margin-left:-8px;font-size:1.3rem;line-height:1;text-decoration:none;display:grid}.save-state{background:#ffffff26;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:.85rem;display:grid}.save-state.bad{background:var(--danger)}.scene-wrap{flex:none;height:44dvh;min-height:220px;transition:height .2s;position:relative}.scene{touch-action:none;position:absolute;inset:0}.scene canvas{display:block}.scene-toolbar{pointer-events:none;justify-content:space-between;align-items:flex-start;gap:6px;display:flex;position:absolute;top:8px;left:8px;right:8px}.view-buttons{pointer-events:auto;background:var(--surface);scrollbar-width:none;border-radius:10px;gap:2px;min-width:0;padding:3px;display:flex;overflow-x:auto;box-shadow:0 2px 8px #00000026}.view-buttons button{color:var(--muted);background:0 0;border:0;border-radius:7px;flex:none;padding:6px 9px;font-size:.8rem;font-weight:600}.view-buttons button.active{background:var(--brand);color:var(--brand-ink)}.panel-legend{color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin-bottom:12px;font-size:.75rem;display:flex}.panel-legend span{align-items:center;gap:5px;display:inline-flex}.panel-legend i{border-radius:50%;width:10px;height:10px;display:inline-block}.template-grid i,.swatch{border:1px solid #00000026;border-radius:3px;flex:none;width:12px;height:12px;display:inline-block}.swatch{align-self:center;width:14px;height:14px}.planner-panel{padding:16px 16px calc(16px + var(--safe-b));background:var(--bg);border-top:1px solid var(--border);flex:1;overflow-y:auto}.segmented.two{grid-template-columns:1fr 1fr}.segmented.two button.active{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.template-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.template-grid button{text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items:center;gap:8px;min-height:44px;padding:10px;font-size:.88rem;display:flex}.card-list.outlined{border:1px solid var(--border)}.line-meta .clamp{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.editor-head{display:flex}.small-btn{min-height:38px;padding:6px 12px;font-size:.88rem}.warning{background:var(--undecided-bg);color:var(--undecided);border-radius:10px;margin:0;padding:10px 12px;font-size:.85rem;font-weight:600}.group-box{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:10px;margin:0;padding:8px 12px 12px;display:flex}.group-box legend{color:var(--muted);padding:0 4px;font-size:.85rem;font-weight:600}.stepper{justify-content:space-between;align-items:center;gap:10px;font-size:.88rem;display:flex}.stepper-controls{flex:none;align-items:center;gap:4px;display:flex}.stepper-controls button{border:1px solid var(--border);background:var(--bg);border-radius:10px;width:40px;height:40px;font-size:1.1rem;font-weight:700}.stepper-controls input{text-align:center;font-variant-numeric:tabular-nums;width:76px;min-height:40px;padding:6px}.snap-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.snap-grid button{border:1px solid var(--border);background:var(--bg);border-radius:8px;min-height:38px;padding:8px 4px;font-size:.78rem;font-weight:600}.color-field{flex-direction:row;justify-content:space-between;align-items:center}.color-field input{width:64px;min-height:40px;padding:4px}@media (width>=900px){.planner{grid-template-rows:auto auto 1fr;grid-template-columns:1fr 400px;display:grid}.planner-bar{grid-column:1/-1}.scene-wrap{height:auto}.planner-panel{border-top:0;border-left:1px solid var(--border)}}.scene-hint{color:#fff;pointer-events:none;text-align:center;background:#1c2624cc;border-radius:99px;width:max-content;max-width:calc(100% - 20px);padding:4px 10px;font-size:.72rem;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.vehicle-card{text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:2px;width:100%;padding:12px 14px;display:flex}.vehicle-card .k{color:var(--muted);font-size:.75rem}.headroom{background:var(--planned-bg);border-radius:12px;justify-content:space-between;gap:10px;padding:12px 14px;display:flex}.headroom .k{color:var(--muted);font-size:.75rem;display:block}.headroom .v{font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:700}.headroom.bad{background:var(--undecided-bg)}.headroom.bad .v{color:var(--danger)}.headroom-tag{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.72rem}.headroom-tag.bad{color:var(--danger);font-weight:700}.tip{margin:0}.zone-title{margin:0;font-size:1.2rem}.field-help{margin:-2px 0 2px}.empty-box{border:1px dashed var(--border);color:var(--muted);text-align:center;border-radius:12px;margin:0;padding:14px;font-size:.88rem}.linked-lines{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.linked-lines li{flex-direction:column;gap:8px;padding:12px 14px;display:flex}.linked-lines li+li{border-top:1px solid var(--border)}.linked-top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.linked-label{font-size:.95rem;font-weight:600;line-height:1.3}.linked-amount{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700}.linked-bottom{flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:.8rem;display:flex}.linked-paid{color:var(--paid);font-weight:600}.linked-remove{border:1px solid var(--border);color:var(--danger);background:0 0;border-radius:8px;margin-left:auto;padding:4px 10px;font-size:.8rem;font-weight:600}.collide{color:var(--danger)}.planner-panel .line-label{overflow-wrap:anywhere}.planner-panel .line-amounts{flex:none}.planner-panel{padding:14px 14px calc(16px + var(--safe-b));overscroll-behavior:contain}@media (width<=380px){.template-grid{grid-template-columns:1fr}.stepper-controls input{width:64px}.stepper-controls button{width:36px}.snap-grid{grid-template-columns:1fr 1fr}}.insul-summary{gap:10px}.insul-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.insul-list li{align-items:center;gap:10px;font-size:.88rem;display:flex}.insul-list i{border:1px solid #00000026;border-radius:3px;flex:none;width:14px;height:14px}.insul-list .grow{flex:1;min-width:0}.insul-list strong{white-space:nowrap;font-variant-numeric:tabular-nums}.mode-tabs{flex:1 0 100%;order:3;margin:4px -16px 0;padding:0 8px;display:flex}.mode-tabs button{color:#ffffffb3;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-bottom:3px solid #0000;flex:1;min-width:0;padding:9px 4px 8px;font-size:.88rem;font-weight:600;overflow:hidden}.mode-tabs button.active{color:#fff;border-bottom-color:var(--accent)}@media (width>=900px){.planner-bar{flex-wrap:nowrap;padding-bottom:8px}.planner-bar h1{flex:none}.mode-tabs{background:#ffffff1f;border-radius:10px;flex:none;order:0;gap:2px;margin:0 auto;padding:3px}.mode-tabs button{border-bottom:0;border-radius:8px;flex:none;padding:6px 18px}.mode-tabs button.active{background:var(--surface);color:var(--text)}}.paid-box>div{flex-direction:column;gap:2px;display:flex}.paid-box>.right{align-items:flex-end}.planner-panel .actions{background:var(--bg);border-top:1px solid var(--border);margin:0 -14px;padding-left:14px;padding-right:14px}.wall-stack{background:var(--planned-bg);border-radius:12px;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.wall-stack .k,.insul-summary>.k,.dims .k{color:var(--muted);font-size:.75rem}.wall-stack strong{font-size:1.2rem}.dims{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.dims li{font-variant-numeric:tabular-nums;grid-template-columns:80px 1fr;align-items:baseline;column-gap:10px;display:grid}.dims li .small{grid-column:2}.sep{border:0;border-top:1px solid var(--border);width:100%;margin:4px 0}.swatch-stack{flex-direction:column;flex:none;align-self:center;gap:2px;display:flex}.swatch-stack i{border:1px solid #00000026;border-radius:2px;width:14px;height:7px}.apply-box{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:10px;display:flex}.apply-box p{margin:0}.apply-box.on p{color:var(--paid);font-size:.85rem;font-weight:600}.budget-layout{display:block}@media (width>=1000px){.topbar{padding-left:32px;padding-right:32px}.content{padding:24px 32px calc(var(--tabbar-h) + var(--safe-b) + 100px)}.budget-layout{grid-template-columns:minmax(320px,400px) 1fr;align-items:start;gap:28px;display:grid}.budget-side{position:sticky;top:76px}.budget-side .summary{margin-bottom:0}.stats{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.stats .tiles{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}.settings{max-width:640px}.tabbar{justify-content:center}.tab{flex:0 170px}.fab-wrap{right:32px}}@media (width>=1500px){.lines-groups{columns:2;column-gap:24px}.lines-groups .group{break-inside:avoid}}.category-new{gap:8px;display:flex}.category-new input{flex:1;min-width:0}.category-new .btn{flex:none;min-height:48px}.elec-icon{color:#1c2624;border-radius:50%;flex:none;align-self:center;place-items:center;width:26px;height:26px;font-size:.8rem;line-height:1;display:grid}.template-grid button.active{border-color:var(--brand);outline:2px solid var(--brand)}.elec-balance{grid-template-columns:1fr 1fr;gap:12px;display:grid}.elec-balance div{flex-direction:column;display:flex}.elec-balance strong{font-variant-numeric:tabular-nums;font-size:1.2rem}.stack-sm{flex-direction:column;gap:8px;display:flex}.scene-hint.placing{pointer-events:auto;background:var(--brand);align-items:center;gap:10px;padding:6px 6px 6px 14px;font-size:.8rem;display:flex}.scene-hint.placing button{color:#fff;background:#fff3;border:0;border-radius:99px;padding:5px 12px;font-weight:600}@media (width<=420px){.mode-tabs button{padding-left:2px;padding-right:2px;font-size:.78rem}}.landing{flex-direction:column;min-height:100dvh;display:flex}.landing-bar{padding:calc(env(safe-area-inset-top,0px) + 12px) 20px 12px;background:var(--brand);color:var(--brand-ink);align-items:center;gap:10px;display:flex}.landing-bar img{border-radius:8px}.landing-bar strong{font-size:1.1rem}.landing-bar-link{color:inherit;background:#ffffff24;border-radius:99px;margin-left:auto;padding:8px 14px;font-size:.9rem;font-weight:600;text-decoration:none}.landing-features{grid-template-columns:1fr;gap:12px;width:100%;max-width:1100px;margin:-24px auto 0;padding:24px 20px;display:grid}.landing-feature{background:var(--surface);border-radius:var(--radius);padding:16px;box-shadow:0 2px 10px #0000000f}.landing-feature-icon{background:var(--brand);width:36px;height:36px;color:var(--brand-ink);border-radius:10px;place-items:center;font-weight:700;display:grid}.landing-feature h3{margin:10px 0 4px;font-size:1rem}.landing-feature p{color:var(--muted);margin:0;font-size:.9rem}.landing-join{background:var(--ordered-bg);max-width:420px;color:var(--ordered);border-radius:12px;margin:0;padding:12px 14px;font-size:.9rem;font-weight:600}@media (width>=760px){.landing-features{grid-template-columns:repeat(3,1fr);margin-top:-36px;padding:0 48px 32px}}.auth-card{background:var(--surface);border-radius:18px;flex-direction:column;gap:14px;width:100%;max-width:420px;padding:20px;display:flex;box-shadow:0 4px 20px #00000014}.auth-tabs{background:var(--bg);border-radius:12px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.auth-tabs button{color:var(--muted);background:0 0;border:0;border-radius:9px;padding:10px;font-weight:600}.auth-tabs button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #0000001a}.auth-title{margin:0;font-size:1.2rem}.auth-info{background:var(--paid-bg);color:var(--paid);border-radius:10px;margin:0;padding:10px 12px;font-size:.88rem;font-weight:600}.link-btn{color:var(--muted);background:0 0;border:0;align-self:center;padding:4px;font-size:.88rem;text-decoration:underline}.modal-backdrop{z-index:40;background:#00000080;place-items:center;padding:16px;animation:.15s ease-out fade;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:18px;flex-direction:column;gap:14px;width:100%;max-width:440px;padding:20px;display:flex;box-shadow:0 10px 40px #0000004d}.modal h2{margin:0;font-size:1.15rem}.modal-body p{margin:0 0 8px}.modal-list{margin:0 0 8px;padding-left:20px}.modal-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.btn.danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.k-label{color:var(--muted);font-size:.78rem;font-weight:600;display:block}.space-name{margin:2px 0;font-size:1.15rem}.space-id{background:var(--bg);word-break:break-all;user-select:all;border-radius:10px;padding:10px 12px;font-size:.82rem;display:block}.member-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.member-list li{align-items:center;gap:10px;min-width:0;font-size:.9rem;display:flex}.member-list .grow{overflow-wrap:anywhere;flex:1;min-width:0}.member-avatar{background:var(--brand);width:30px;height:30px;color:var(--brand-ink);border-radius:50%;flex:none;place-items:center;font-size:.85rem;font-weight:700;display:grid}.member-avatar.pending{background:var(--planned-bg);color:var(--muted)}.invite-card{border:2px solid var(--accent)}.invite-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.invite-row p{margin:0}.invite-actions{gap:8px;display:flex}.danger-zone{border:1px solid color-mix(in srgb, var(--danger) 35%, transparent)}.landing-brand{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.landing-brand img{border-radius:8px}.landing-brand strong{letter-spacing:-.01em;font-size:1.15rem}.landing-hero{background:var(--brand);color:var(--brand-ink);gap:24px;padding:28px 20px 40px;display:grid}.landing-kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;font-size:.78rem;font-weight:700;display:inline-block}.landing-hero h1{letter-spacing:-.02em;margin:0 0 14px;font-size:clamp(1.7rem,6.2vw,2.9rem);line-height:1.12}.landing-hero-text p{opacity:.88;max-width:560px;margin:0 0 24px;font-size:1.02rem}.landing-actions{flex-wrap:wrap;align-items:center;gap:12px 18px;display:flex}.landing-cta{background:var(--accent);color:#1c2624;border-radius:14px;justify-content:center;align-items:center;min-height:56px;padding:0 28px;font-size:1.08rem;font-weight:800;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex;box-shadow:0 8px 24px #f2c94c59,0 2px #00000026}.landing-cta:hover{transform:translateY(-1px);box-shadow:0 12px 30px #f2c94c73,0 2px #00000026}.landing-cta:active{transform:translateY(1px)}.landing-secondary{color:var(--brand-ink);text-underline-offset:3px;opacity:.9;font-weight:600;text-decoration:underline}.landing-hero .landing-join{margin-top:18px}.landing-demo{min-width:0}.demo{background:var(--surface);color:var(--text);border-radius:18px;overflow:hidden;box-shadow:0 16px 50px #00000059}.demo-tabs{background:var(--bg);scrollbar-width:none;gap:4px;padding:6px;display:flex;overflow-x:auto}.demo-tabs button{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:9px;flex:1 0 auto;padding:8px 10px;font-size:.85rem;font-weight:600}.demo-tabs button.active{background:var(--brand);color:var(--brand-ink)}.demo-scene{height:min(62vh,440px);min-height:300px;position:relative}.demo-hint{color:#fff;text-align:center;pointer-events:none;background:#1c2624cc;border-radius:99px;width:max-content;max-width:calc(100% - 20px);padding:5px 12px;font-size:.75rem;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.demo-loading{color:#fffc;background:#ffffff14;border:1px dashed #ffffff40;border-radius:18px;place-items:center;height:min(62vh,480px);min-height:340px;font-size:.9rem;display:grid}.landing-features{margin-top:0;padding-top:28px}.landing-final{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:36px 20px 20px;display:flex}.landing-final h2{margin:0;font-size:1.5rem}.landing-final p{color:var(--muted);max-width:460px;margin:0 0 8px}@media (width>=900px){.landing-hero{grid-template-columns:minmax(360px,1fr) 1.25fr;align-items:center;gap:48px;padding:56px 48px 64px}.landing-features{padding:36px 48px}}.auth-page{background:var(--bg);flex-direction:column;min-height:100dvh;display:flex}.auth-main{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:32px 20px;display:flex}.site-footer{padding:24px 20px calc(24px + var(--safe-b));text-align:center;color:var(--muted);border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-top:auto;font-size:.85rem;display:flex}.site-footer nav{flex-wrap:wrap;justify-content:center;gap:6px 16px;display:flex}.site-footer a,.site-footer button{color:var(--muted);font-size:inherit;background:0 0;border:0;padding:2px 0;text-decoration:none}.site-footer a:hover,.site-footer button:hover{color:var(--text);text-decoration:underline}.site-footer p{margin:0}.site-footer p a{color:var(--text);font-weight:700}.site-footer.compact{border-top:0;padding:8px 0 0;font-size:.8rem}.cookie-banner{z-index:60;left:12px;right:12px;bottom:calc(var(--safe-b) + 12px);background:var(--surface);max-width:560px;color:var(--text);border-radius:16px;flex-direction:column;gap:12px;margin:0 auto;padding:16px;animation:.25s ease-out slide-up;display:flex;position:fixed;box-shadow:0 10px 40px #0000004d}.cookie-banner[hidden]{display:none}.cookie-banner p{margin:0;font-size:.88rem;line-height:1.45}.cookie-banner a{color:inherit}.cookie-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.legal-page{flex-direction:column;min-height:100dvh;display:flex}.legal{width:100%;max-width:760px;margin:0 auto;padding:24px 20px 40px;line-height:1.6}.legal h1{margin:12px 0 4px;font-size:1.8rem}.legal h2{margin:28px 0 8px;font-size:1.15rem}.legal p,.legal li{color:var(--text)}.legal a{color:var(--brand)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .legal a{color:var(--accent)}}:root[data-theme=dark] .legal a{color:var(--accent)}.legal-back{font-size:.9rem;text-decoration:none}.legal-updated{margin:0;font-size:.85rem;color:var(--muted)!important}.legal-table{border-collapse:collapse;width:100%;margin:8px 0;font-size:.88rem}.legal-table th,.legal-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px 6px}.legal-table th{color:var(--muted);font-weight:600}.legal-table code{word-break:break-all;font-size:.8rem}.landing{overflow-x:clip}.landing-hero{grid-template-columns:minmax(0,1fr)}.landing-hero>*{min-width:0}.demo-tabs button{flex:auto}.landing-bar{gap:8px}.landing-bar-link{white-space:nowrap;flex:none}@media (width<=899px){.landing-hero{gap:22px;padding:22px 16px 28px}.landing-hero-text p{margin-bottom:20px;font-size:.98rem}.landing-actions{text-align:center;flex-direction:column;align-items:stretch;gap:14px}.landing-cta{width:100%}.demo-scene{aspect-ratio:1/.95;height:auto;min-height:280px;max-height:70vh}.demo-loading{aspect-ratio:1/1.05;height:auto;min-height:300px}.demo{border-radius:16px}.demo-tabs button{padding:8px 6px;font-size:.8rem}.landing-features{gap:10px;padding:24px 16px}.landing-feature{grid-template-columns:36px 1fr;align-items:start;column-gap:12px;padding:14px;display:grid}.landing-feature-icon{grid-row:span 2}.landing-feature h3{margin:0 0 2px}.landing-final{padding:28px 16px 16px}.landing-final .landing-cta{max-width:420px}}@media (width<=340px){.landing-hero h1{font-size:1.5rem}.landing-kicker{font-size:.7rem}.landing-bar-link{padding:7px 10px;font-size:.82rem}.demo-tabs{gap:2px;padding:4px}.demo-tabs button{padding:7px 4px;font-size:.72rem}}@media (width>=900px){.landing-hero{grid-template-columns:minmax(340px,1fr) minmax(0,1.3fr);align-items:center;gap:48px}.landing-hero h1{font-size:clamp(2rem,3.2vw,2.9rem)}.demo-scene{height:min(62vh,520px)}}.support-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:auto 1fr;align-items:start;gap:10px 12px;padding:14px 16px;display:grid}.support-icon{font-size:1.6rem;line-height:1}.support-text strong{margin-bottom:2px;font-size:.95rem;display:block}.support-text p{color:var(--muted);margin:0;font-size:.85rem;line-height:1.4}.support-btn{background:var(--accent);color:#1c2624;border-radius:12px;grid-column:1/-1;justify-content:center;align-items:center;min-height:44px;font-weight:700;text-decoration:none;display:flex}.support-btn:hover{filter:brightness(1.05)}.budget-side .support-card{margin-top:16px}.landing-bar-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.landing-bar-actions .landing-bar-link{margin-left:0}.support-link{white-space:nowrap;background:var(--accent);color:#1c2624;border-radius:99px;align-items:center;gap:6px;padding:8px 14px;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.support-link:hover{filter:brightness(1.05)}@media (width<=380px){.support-link{padding:7px 10px;font-size:.82rem}}@media (width<=999px){.budget-support{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:-4px 0 12px;padding:10px 12px}.budget-support .support-icon{font-size:1.3rem}.budget-support .support-text strong{margin:0;font-size:.85rem}.budget-support .support-text p{display:none}.budget-support .support-btn{white-space:nowrap;grid-column:auto;min-height:36px;padding:0 12px;font-size:.82rem}}.app,.content{overflow-x:clip}.content>*,.budget-layout>*,.budget-side>*{min-width:0}@media (width<=999px){.budget-support{grid-template-columns:auto minmax(0,1fr) auto}.budget-support .support-text{min-width:0}.budget-support .support-text strong{font-size:.82rem;line-height:1.25}}@media (width<=360px){.budget-support{grid-template-columns:auto minmax(0,1fr)}.budget-support .support-btn{grid-column:1/-1;min-height:34px}.summary{padding:14px}.summary-total{font-size:2rem}.content{padding-left:12px;padding-right:12px}.line-row{gap:8px;padding:10px 12px}.chips{gap:6px}.chip{padding:5px 11px;font-size:.85rem}}.clearance-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.clearance{background:var(--planned-bg);border-radius:10px;flex-direction:column;gap:1px;min-width:0;padding:8px 10px;display:flex}.clearance .k{color:var(--muted);font-size:.75rem}.clearance .v{font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:700}.clearance .to{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.clearance.touch .v{color:var(--muted)}.clearance.bad{background:var(--undecided-bg)}.clearance.bad .v{color:var(--danger)}.new-line{border:2px solid var(--brand);background:var(--surface);border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}.drawer-status{border-radius:10px;margin:0;padding:10px 12px;font-size:.85rem;font-weight:600}.drawer-status.ok{background:var(--paid-bg);color:var(--paid)}.drawer-status.warn{background:var(--ordered-bg);color:var(--ordered)}.drawer-status.bad{background:var(--undecided-bg);color:var(--danger)}.openings-note{margin:0}.fit-btn{border:1px dashed var(--brand);color:var(--brand);text-align:left;background:0 0;border-radius:10px;align-self:stretch;margin-top:-4px;padding:7px 10px;font-size:.82rem;font-weight:700}.fit-btn span{color:var(--muted);font-weight:500}.fit-btn:active{background:var(--planned-bg)}.fit-done{color:var(--paid);margin:-4px 0 0;font-size:.78rem}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .fit-btn{color:var(--accent);border-color:var(--accent)}}:root[data-theme=dark] .fit-btn{color:var(--accent);border-color:var(--accent)}.share-help{margin:4px 0 0}.share-main{justify-content:center;align-items:center;gap:8px;min-height:52px;font-size:1rem;display:flex}.share-qr{flex-direction:column;align-items:center;gap:6px;display:flex}.share-qr-code{aspect-ratio:1;background:#fff;border-radius:12px;width:min(240px,70vw);padding:8px}.share-qr-code svg{width:100%;height:100%;display:block}.share-qr p{margin:0}.cat-detail{flex-direction:column;gap:10px;margin-top:12px;display:flex}.cat-row{flex-direction:column;gap:3px;display:flex}.cat-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.cat-name{overflow-wrap:anywhere;min-width:0;font-size:.9rem;font-weight:600}.cat-amount{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700}.cat-sub{opacity:.75;font-variant-numeric:tabular-nums;justify-content:space-between;gap:10px;font-size:.75rem;display:flex}.cat-bar{background:#ffffff2e;border-radius:99px;height:5px;margin-top:2px;overflow:hidden}.cat-bar div{background:var(--accent);border-radius:99px;height:100%}.cat-sep{border-top:1px solid #ffffff40;margin:2px 0}.cat-row.strong .cat-name,.cat-row.strong .cat-amount{font-size:1rem;font-weight:800}.cat-row.muted-row .cat-name{opacity:.9;font-weight:500}.topbar:has(.bar-btn){align-items:center;gap:10px;display:flex}.topbar:has(.bar-btn) h1{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.bar-actions{flex:none;align-items:center;gap:6px;display:flex}.bar-btn{color:var(--brand-ink);white-space:nowrap;background:#ffffff24;border:0;border-radius:99px;flex:none;align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.bar-btn.support{background:var(--accent);color:#1c2624}.bar-btn:hover{filter:brightness(1.08)}@media (width<=600px){.bar-btn{padding:6px 9px}.bar-btn-text{display:none}}@media (width>=900px){.planner-bar .bar-actions{order:1}.planner-bar .save-state{order:2}}.plans-overlay{z-index:50;background:var(--bg);position:fixed;inset:0;overflow-y:auto}.plans-bar{z-index:1;padding:calc(env(safe-area-inset-top,0px) + 10px) 16px 10px;background:var(--brand);color:var(--brand-ink);justify-content:space-between;align-items:center;gap:10px;display:flex;position:sticky;top:0}.plan-svg{width:100%;height:auto;display:block}.plan-axes{color:#56615e;margin:6px 0 0;font-size:.72rem}@media (width>=900px){.planner-bar.topbar h1{flex:none}}.plan-legend{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:8px;font-size:.78rem}.plan-legend th,.plan-legend td{text-align:left;vertical-align:middle;border-bottom:1px solid #dfe4e2;padding:4px 6px}.plan-legend th{color:#56615e;font-size:.72rem;font-weight:600}.plan-tag{color:#fff;background:#1c2624;border-radius:99px;place-items:center;min-width:20px;height:20px;padding:0 4px;font-size:.72rem;font-weight:700;display:inline-grid}.plan-tag.opening{background:#2f80ed}.booklet{background:#3a4240;flex-direction:column;display:flex;overflow:hidden}.booklet .plans-bar{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.booklet .plans-bar>:last-child{justify-self:end}.bar-plain{color:#fff;white-space:nowrap;background:#ffffff29;border:0;border-radius:99px;justify-self:start;padding:7px 14px;font-size:.88rem;font-weight:600}.bar-plain.accent{background:var(--accent);color:#1c2624}.bar-plain.round{width:38px;height:38px;padding:0;font-size:1.4rem;line-height:1}.bar-plain:disabled{opacity:.35}.booklet-nav{color:#fff;font-variant-numeric:tabular-nums;align-items:center;gap:10px;font-weight:700;display:flex}.booklet-actions{gap:6px;display:flex}.booklet-stage{touch-action:pan-y;flex:1;place-items:center;min-height:0;padding:12px;display:grid;overflow:hidden}.booklet-stage.all{flex-direction:column;align-items:center;gap:18px;display:flex;overflow-y:auto}.booklet-stage:not(.all) .bk-slot{grid-area:1/1}.bk-slot{width:calc(297mm * var(--sheet-scale));height:calc(210mm * var(--sheet-scale));flex:none;position:relative}.bk-slot.bk-hidden{display:none}.booklet-stage:not(.all) .bk-slot.shown.fwd{animation:.38s ease-out page-fwd}.booklet-stage:not(.all) .bk-slot.shown.back{animation:.38s ease-out page-back}@keyframes page-fwd{0%{opacity:0;transform:perspective(1400px)rotateY(-14deg)translate(40px)}}@keyframes page-back{0%{opacity:0;transform:perspective(1400px)rotateY(14deg)translate(-40px)}}.bk-page{width:297mm;height:210mm;transform:scale(var(--sheet-scale));transform-origin:0 0;color:#1c2624;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;flex-direction:column;padding:10mm 12mm 7mm;font-size:10pt;line-height:1.35;display:flex;position:absolute;top:0;left:0;box-shadow:0 6px 30px #00000059}.bk-head{border-bottom:.6mm solid #1c2624;justify-content:space-between;align-items:baseline;padding-bottom:2mm;display:flex}.bk-head h2{margin:0;font-size:15pt}.bk-head span{color:#56615e;font-size:8.5pt}.bk-body{flex-direction:column;flex:1;min-height:0;padding-top:3mm;display:flex;overflow:hidden}.bk-foot{color:#56615e;border-top:.3mm solid #b9c0bd;justify-content:space-between;padding-top:2mm;font-size:8pt;display:flex}.bk-sub{color:#56615e;margin:0 0 2mm;font-size:8.5pt}.bk-plan{flex-direction:column;height:100%;display:flex}.bk-svg{flex:1;min-height:0}.bk-svg svg{width:100%;height:100%;display:block}.bk-legend .plan-legend{font-size:9pt}.bk-legend .plan-legend th,.bk-legend .plan-legend td{padding:1.4mm 2mm}.bk-symbols{color:#3a4541;flex-wrap:wrap;gap:3mm 8mm;margin-top:5mm;font-size:8.5pt;display:flex}.bk-symbols span{align-items:center;gap:2mm;display:inline-flex}.plan-sym{border:.35mm solid #1c2624;width:9mm;height:5mm;display:inline-block}.plan-sym.piece{background:#c8a27a59}.plan-sym.arch{background:repeating-linear-gradient(45deg,#0000 0 1.2mm,#6b7773 1.2mm 1.5mm);border-color:#6b7773}.plan-sym.opening{background:#7fb8e059;border:.35mm dashed #2f80ed}.plan-sym.door{border:.35mm dashed #2f80ed}.bk-3d{flex-direction:column;gap:3mm;height:100%;display:flex}.bk-3d img{object-fit:contain;background:#f4f6f5;border:.3mm solid #dfe4e2;border-radius:2mm;flex:1;width:100%;min-height:0}.bk-3d ul{grid-template-columns:repeat(3,1fr);gap:1mm 6mm;margin:0;padding:0;font-size:8pt;list-style:none;display:grid}.bk-3d li{align-items:center;gap:2mm;display:flex}.check-table{border-collapse:collapse;width:100%;font-size:9pt}.check-table th{text-align:left;color:#56615e;border-bottom:.5mm solid #1c2624;padding:1.5mm 2mm;font-size:8pt;font-weight:600}.check-table td{vertical-align:middle;border-bottom:.25mm solid #dfe4e2;padding:1.6mm 2mm}.check-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.check-table .c-box{text-align:center;width:16mm}.check-table .muted-cell{color:#56615e;font-size:8.5pt}.check-table tr.done td{color:#56615e}.check-table tfoot td{border-top:.5mm solid #1c2624;border-bottom:0;font-weight:800}.box{border:.45mm solid #1c2624;border-radius:1mm;place-items:center;width:5mm;height:5mm;font-size:9pt;font-weight:800;line-height:1;display:inline-grid}.box.checked{color:#fff;background:#2f4f4f;border-color:#2f4f4f}.bk-notes{flex-direction:column;display:flex}.note-line{border-bottom:.3mm dotted #9aa5a2;height:11mm}.bk-cover{color:#fff;background:linear-gradient(160deg,#2f4f4f 0%,#203836 100%);padding:14mm 16mm 9mm}.bk-cover .bk-foot{color:#ffffffb3;border-top-color:#ffffff40}.cover{flex-direction:column;gap:6mm;height:100%;display:flex}.cover-brand{align-items:center;gap:4mm;display:flex}.cover-brand img{border-radius:3mm}.cover-brand strong{font-size:16pt;display:block}.cover-brand span{color:#f2c94c;letter-spacing:.06em;text-transform:uppercase;font-size:9pt;font-weight:700}.cover-main{flex:1;grid-template-columns:1.35fr 1fr;align-items:center;gap:12mm;display:grid}.cover h1{letter-spacing:-.02em;margin:0 0 3mm;font-size:30pt;line-height:1.1}.cover-vehicle{color:#fffc;margin:0 0 8mm;font-size:11pt}.cover-grid{grid-template-columns:1fr 1fr;gap:5mm;display:grid}.cover-box{background:#ffffff1a;border:.3mm solid #fff3;border-radius:3mm;flex-direction:column;gap:1mm;padding:4mm 5mm;font-size:8.5pt;display:flex}.cover-box .k{color:#ffffffb3}.cover-box strong{font-size:18pt}.cover-toc{color:#1c2624;background:#fff;border-radius:3mm;padding:5mm 6mm}.cover-toc .k{color:#56615e;text-transform:uppercase;letter-spacing:.05em;font-size:8pt;font-weight:700}.cover-toc ol{flex-direction:column;gap:1.6mm;margin:2mm 0 0;padding:0;font-size:9.5pt;list-style:none;display:flex}.cover-toc li{align-items:baseline;gap:2mm;display:flex}.cover-toc .dots{border-bottom:.3mm dotted #9aa5a2;flex:1;transform:translateY(-1mm)}.cover-foot{color:#ffffffbf;justify-content:space-between;gap:6mm;font-size:8.5pt;display:flex}.cover-foot strong{color:#fff}@media (width<=600px){.booklet .plans-bar{grid-template-columns:auto 1fr auto}.booklet-nav{justify-self:center;gap:6px}.bar-plain{padding:7px 10px;font-size:.82rem}}@media print{@page{size:A4 landscape;margin:0}body.plans-open *{visibility:hidden}body.plans-open .booklet,body.plans-open .booklet *{visibility:visible}html,body{height:auto!important;overflow:visible!important}body.plans-open .planner{height:auto!important;display:block!important;overflow:visible!important}body.plans-open .planner>:not(.booklet){display:none!important}body.plans-open .booklet{background:#fff;height:auto;display:block;position:static;inset:auto;overflow:visible}body.plans-open .plans-bar,body.plans-open .cookie-banner{display:none!important}body.plans-open .booklet-stage{padding:0;display:block;overflow:visible}body.plans-open .bk-slot,body.plans-open .bk-slot.bk-hidden{page-break-after:always;break-after:page;width:297mm;height:210mm;display:block;animation:none!important;transform:none!important}body.plans-open .bk-slot:last-child{page-break-after:auto;break-after:auto}body.plans-open .bk-page{box-shadow:none;position:static;transform:none}}.elec-svg{width:100%;height:100%;display:block}.bk-elec{grid-template-columns:1.15fr 1fr;gap:6mm;height:100%;min-height:0;display:grid}.bk-elec .bk-svg{min-height:0}.bk-elec-side{min-width:0;overflow:hidden}.elec-table{font-size:8pt!important}.elec-table th,.elec-table td{padding:1.1mm 1.5mm!important}.plan-tag.elec{background:#d93025;min-width:24px}.bk-estimates{grid-template-columns:1fr 1fr;gap:7mm;height:100%;min-height:0;display:grid;overflow:hidden}.bk-estimates h3{margin:0 0 1.5mm;font-size:10.5pt}.bk-est-side{flex-direction:column;gap:3mm;min-width:0;display:flex}.bk-est-side h3{margin-top:1mm}.est-kpis{grid-template-columns:1fr 1fr;gap:2.5mm;display:grid}.est-kpis div{border:.3mm solid #dfe4e2;border-radius:2mm;flex-direction:column;padding:2mm 3mm;display:flex}.est-kpis span{color:#56615e;font-size:7.5pt}.est-kpis strong{font-size:13pt}.est-kpis em{color:#56615e;font-size:7pt;font-style:normal}.elec-table .num{text-align:right;white-space:nowrap}.elec-table tfoot td{border-top:.4mm solid #1c2624;font-weight:800}.lang-switch{background:#ffffff24;border-radius:99px;gap:2px;padding:3px;display:inline-flex}.lang-switch button{color:inherit;opacity:.75;background:0 0;border:0;border-radius:99px;padding:5px 8px;font-size:.78rem;font-weight:700}.lang-switch button.active{background:var(--surface);color:var(--text);opacity:1}.theme-toggle{width:34px;height:34px;color:inherit;background:#ffffff24;border:0;border-radius:50%;flex:none;place-items:center;font-size:1rem;line-height:1;display:grid}.lang-select{max-width:180px}.l-en,.l-fr,.l-nl,.l-es,.l-de,.l-it,.l-pt{display:none}html[lang=en] .l-en,html[lang=fr] .l-fr,html[lang=nl] .l-nl,html[lang=es] .l-es,html[lang=de] .l-de,html[lang=it] .l-it,html[lang=pt] .l-pt,html:is([lang=es],[lang=de],[lang=it],[lang=pt]) .l-en:not(.l-only){display:revert}html[lang=en] span.l-en,html[lang=fr] span.l-fr,html[lang=nl] span.l-nl,html[lang=es] span.l-es,html[lang=de] span.l-de,html[lang=it] span.l-it,html[lang=pt] span.l-pt,html:is([lang=es],[lang=de],[lang=it],[lang=pt]) span.l-en:not(.l-only){display:inline}.stats-state [hidden],#stats-toggle [hidden]{display:none!important}.stats-state{font-weight:600}.legal-bar-right{align-items:center;gap:10px;margin-left:auto;display:flex}.lang-compact,.support-fab{display:none}.lang-compact{appearance:none;width:auto;height:32px;min-height:0;font:inherit;color:inherit;cursor:pointer;background:#ffffff24 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='white' stroke-width='1.6'/%3E%3C/svg%3E") right 9px center no-repeat;border:0;border-radius:99px;padding:7px 24px 7px 11px;font-size:.82rem;font-weight:700}.lang-compact option{color:#1c2624}@media (width<=699px){.lang-wide,.landing-bar-actions>.support-link{display:none}.lang-compact{display:block}.landing-bar{padding-left:16px;padding-right:16px}.landing-bar-actions{gap:6px}.theme-toggle{width:32px;height:32px}.support-fab{z-index:30;right:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);padding:11px 16px;display:inline-flex;position:fixed;box-shadow:0 6px 20px #00000040}}.install-prompt{z-index:55;left:50%;top:calc(env(safe-area-inset-top,0px) + 10px);background:var(--surface);width:min(560px,100% - 20px);color:var(--text);border:1px solid var(--border);border-radius:16px;align-items:center;gap:12px;padding:12px 12px 12px 14px;animation:.35s ease-out install-in;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #00000040}.install-prompt img{border-radius:10px;flex:none}.install-text{flex:1;min-width:0}.install-text strong{font-size:.95rem;display:block}.install-text p{color:var(--muted);margin:2px 0 0;font-size:.82rem;line-height:1.35}.install-actions{flex:none;align-items:center;gap:4px;display:flex}.install-actions .btn{min-height:38px;padding:0 14px}.install-close{width:34px;height:34px;color:var(--muted);background:0 0;border:0;border-radius:50%;font-size:1rem}.install-share{vertical-align:-3px;color:#2f80ed}.install-ios{margin:2px 0 0}@keyframes install-in{0%{opacity:0;transform:translate(-50%,-12px)}}@media (prefers-reduced-motion:reduce){.install-prompt{animation:none}}.volume-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.volume-list li{justify-content:space-between;align-items:baseline;gap:12px;font-size:.9rem;display:flex}.volume-list small{color:var(--muted);font-size:.76rem;display:block}.volume-list strong{white-space:nowrap;font-variant-numeric:tabular-nums}.volume-total{border-top:1px solid var(--border);padding-top:8px;font-weight:700}html.has-session .seo-fallback,html:not([lang=en]) .seo-fallback{display:none}.not-found{text-align:center;flex-direction:column;gap:12px;padding:24px}.not-found h1{margin:8px 0 0}.not-found img{border-radius:12px}.add-tabs{scrollbar-width:none;gap:6px;margin:0 -2px;padding:2px;display:flex;overflow-x:auto}.add-tabs::-webkit-scrollbar{display:none}.add-tabs button{border:1px solid var(--border);background:var(--surface);color:var(--text);white-space:nowrap;border-radius:99px;flex:none;padding:8px 14px;font-size:.85rem;font-weight:600}.add-tabs button.active{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.add-tabs+.template-grid,.add-tabs+.warning{margin-top:10px}.field-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.piece-row{align-items:center;display:flex}.piece-row .line-row{flex:1;min-width:0}.piece-row.is-hidden .line-row{opacity:.5}.nest-mark{color:var(--muted);flex:none;margin-right:-4px}.eye-btn{width:44px;height:44px;color:var(--muted);background:0 0;border:0;border-radius:10px;flex:none;place-items:center;display:grid}.eye-btn[aria-pressed=true]{color:var(--brand)}.eye-btn:hover{background:var(--bg)}.sheet-bar{display:none}@media (width<=899px){.scene-wrap{flex:auto;height:auto;min-height:0}.planner-panel{z-index:2;border-top:0;border-radius:18px 18px 0 0;flex:none;height:56dvh;max-height:calc(100dvh - 230px);margin-top:-14px;padding-bottom:0;display:none;position:relative;box-shadow:0 -8px 24px #00000024}.planner-panel .actions{padding-bottom:8px}.planner-panel>:last-child:not(.actions){margin-bottom:16px}.planner.sheet-open .planner-panel{display:block}.planner-panel[data-sheet=add] .sec:not(.sec-add),.planner-panel[data-sheet=pieces] .sec:not(.sec-pieces),.planner-panel[data-sheet=repairs] .sec:not(.sec-repairs){display:none}.sheet-bar{z-index:3;background:var(--surface);border-top:1px solid var(--border);padding-bottom:var(--safe-b);flex:none;display:flex;position:relative}.sheet-bar button{min-height:58px;color:var(--muted);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:6px 4px;font-size:.72rem;font-weight:600;line-height:1.15;display:flex}.sheet-bar button span{font-size:1.2rem;line-height:1}.sheet-bar button.active{color:var(--brand)}.sheet-bar button.active span{transform:scale(1.1)}}@media (width>=900px){.add-tabs{flex-wrap:wrap;overflow:visible}}@media (width<=899px){.planner-panel{transition:height .22s}.planner.sheet-collapsed .planner-panel{cursor:pointer;height:64px;overflow:hidden}}.scene-toggle{pointer-events:auto;background:var(--surface);color:var(--muted);border:0;border-radius:10px;flex:none;align-items:center;gap:5px;padding:7px 11px;font-size:.8rem;font-weight:600;display:inline-flex;box-shadow:0 2px 8px #00000026}.scene-toggle.active{background:var(--accent);color:#1c2624}.space-switch{min-width:0;max-width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:6px;margin-left:-8px;padding:4px 8px;display:inline-flex}.space-switch:hover{background:#ffffff1f}.space-switch-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.space-switch-caret{opacity:.8;flex:none;font-size:.8em}.space-list{margin:0}.space-row{width:100%;color:inherit;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:12px 14px;display:flex}.space-row.current{background:var(--planned-bg)}.space-row-name{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:600}.space-row-check{color:var(--brand);font-weight:700}.paywall{border:2px solid var(--accent)}.paywall-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.paywall-head strong{font-size:1.05rem}.paywall-price{white-space:nowrap;font-size:1.1rem;font-weight:800}.paywall-list{flex-direction:column;gap:4px;margin:0;padding-left:20px;font-size:.9rem;display:flex}.sub-status{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.notice{background:var(--planned-bg);border-radius:10px;margin:0;padding:10px 12px;font-size:.9rem}.notice.ok{background:var(--paid-bg);color:var(--paid);font-weight:600}.topbar h1{min-width:0}.legal-quote{border-left:3px solid var(--border);background:var(--surface);border-radius:0 10px 10px 0;margin:12px 0;padding:12px 16px;font-style:italic}.check.consent{align-items:flex-start;font-size:.85rem;line-height:1.4}.check.consent input{margin-top:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pricing{flex-direction:column;align-items:center;gap:14px;width:100%;max-width:900px;margin:0 auto;padding:40px 20px 32px;display:flex}.pricing h2{text-align:center;margin:0;font-size:1.5rem}.pricing-lead{color:var(--muted);text-align:center;max-width:520px;margin:0 0 8px}.pricing-plans{grid-template-columns:1fr;gap:14px;width:100%;display:grid}.plan{background:var(--surface);border:1px solid var(--border);border-radius:18px;flex-direction:column;gap:8px;padding:22px 20px 20px;display:flex;position:relative}.plan.featured{border:2px solid var(--accent);box-shadow:0 10px 30px #00000014}.plan h3{margin:0;font-size:1.1rem}.plan-price{margin:0}.plan-price strong{letter-spacing:-.02em;font-size:2rem}.plan-price span{color:var(--muted);font-weight:600}.plan-desc{color:var(--muted);flex:1;margin:0 0 6px;font-size:.92rem}.plan .btn.block,.plan .landing-cta.block{text-align:center;justify-content:center;width:100%}.plan-badge{background:var(--accent);color:#1c2624;border-radius:99px;padding:3px 10px;font-size:.75rem;font-weight:800;position:absolute;top:-12px;left:20px}.compare-wrap{background:var(--surface);border:1px solid var(--border);border-radius:18px;width:100%;margin-top:6px;overflow-x:auto}.compare{border-collapse:collapse;width:100%;font-size:.9rem}.compare th,.compare td{border-bottom:1px solid var(--border);text-align:center;padding:11px 14px}.compare tr:last-child th,.compare tr:last-child td{border-bottom:0}.compare thead th{color:var(--muted);font-size:.85rem;font-weight:700}.compare tbody th{text-align:left;font-weight:500}.compare .featured{background:color-mix(in srgb, var(--accent) 12%, transparent);font-weight:700}.compare thead .featured{color:var(--text)}.compare .yes{color:var(--paid);font-weight:800}.compare .no{color:var(--muted)}.pricing-note{color:var(--muted);text-align:center;max-width:560px;margin:4px 0 0;font-size:.82rem}@media (width>=700px){.pricing-plans{grid-template-columns:1fr 1fr}.pricing{padding:48px 48px 40px}}@media (width<=420px){.compare th,.compare td{padding:10px 8px;font-size:.82rem}}.plan a.btn{color:var(--text);justify-content:center;align-items:center;min-height:48px;font-weight:700;text-decoration:none;display:flex}.pay-confirm{text-align:center}.pay-confirm h2{margin:6px 0 2px}.pay-confirm p{margin:6px 0}.pay-icon{background:var(--paid-bg);width:56px;height:56px;color:var(--paid);border-radius:50%;place-items:center;margin:0 auto;font-size:1.8rem;font-weight:800;display:grid}.pay-icon.pending{background:var(--planned-bg);color:var(--planned)}.pay-actions{flex-direction:column;gap:8px;margin-top:14px;display:flex}.pay-actions .link-btn{align-self:center}.pay-icon.failed{color:#d93025;background:#d9302524}.fail-reasons{text-align:left;flex-direction:column;gap:3px;margin:4px 0;padding-left:22px;font-size:.9rem;display:flex}.notice.failed{color:#b3261e;background:#d930251f;font-weight:600}.backup-counts{flex-direction:column;gap:2px;margin:6px 0;padding-left:20px;display:flex}.admin{background:var(--bg);min-height:100dvh}.admin-head{align-items:center;gap:10px;display:flex}.admin-head h1{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.admin-tabs{gap:6px;padding:12px 20px 0;display:flex;overflow-x:auto}.admin-tabs button{border:1px solid var(--border);background:var(--surface);color:var(--text);white-space:nowrap;border-radius:99px;padding:8px 14px;font-weight:600}.admin-tabs button.active{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.admin-main{max-width:1300px;margin:0 auto;padding:16px 20px 40px}.admin-denied{text-align:center;flex-direction:column;gap:10px}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-toolbar input[type=search],.admin-toolbar input[type=email]{flex:220px;min-width:0}.admin-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.88rem}.admin-table th,.admin-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:10px 12px}.admin-table thead th{color:var(--muted);white-space:nowrap;font-size:.78rem;font-weight:700}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table td small{color:var(--muted);margin-top:2px;font-size:.78rem;display:block}.admin-table .mono{user-select:all;font-family:ui-monospace,monospace;font-size:.72rem}.admin-actions{flex-wrap:wrap;gap:6px;display:flex}.badge{white-space:nowrap;border-radius:99px;padding:2px 8px;font-size:.75rem;font-weight:700;display:inline-block}.ok-badge{background:var(--paid-bg);color:var(--paid)}.warn-badge{background:var(--undecided-bg);color:var(--undecided)}.bad-badge{color:#b3261e;background:#d9302524}.muted-badge{background:var(--bg);color:var(--muted);border:1px solid var(--border)}.grant{align-items:center;gap:6px;display:inline-flex}.grant>button:not(.btn){border:1px solid var(--border);background:var(--surface);border-radius:8px;width:28px;height:28px;font-weight:700}.grant span{text-align:center;min-width:16px;font-weight:700}.admin-kpis{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.admin-kpi{flex-direction:column;gap:2px;display:flex}.admin-kpi strong{font-variant-numeric:tabular-nums;font-size:1.5rem}.admin-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-card-head select{flex:none;width:auto}.admin-chart{border-bottom:1px solid var(--border);align-items:flex-end;gap:2px;height:160px;padding-top:8px;display:flex}.admin-chart-bar{flex:1;align-items:flex-end;height:100%;display:flex}.admin-chart-bar span{background:var(--brand);border-radius:4px 4px 0 0;width:100%;min-height:2px}.admin-chart-bar:hover span{background:var(--accent)}.admin-lists{grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:10px;display:grid}.admin-top{flex-direction:column;gap:6px;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.admin-top li{grid-template-columns:minmax(0,1.4fr) 1fr auto;align-items:center;gap:8px;display:grid}.admin-top-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-top-bar{background:var(--bg);border-radius:99px;height:8px;overflow:hidden}.admin-top-bar i{background:var(--brand);border-radius:99px;height:100%;display:block}.admin-top-n{font-variant-numeric:tabular-nums;color:var(--muted)}.pro-head{align-items:center;gap:10px;display:flex}.pro-head h2{margin:0;font-size:1.3rem}.pro-toggle{width:100%;color:inherit;font:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:0;display:flex}.pro-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.pro-lines-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.pro-lines{flex-direction:column;gap:10px;display:flex}.pro-line{border:1px solid var(--border);background:var(--bg);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;padding:10px;display:grid}.pro-line-label{grid-column:1;font-weight:600}.pro-line-detail{grid-column:1;font-size:.88rem}.pro-line-nums{grid-column:1;grid-template-columns:70px 80px 110px 1fr;align-items:end;gap:8px;display:grid}.pro-line-nums label{color:var(--muted);flex-direction:column;gap:2px;font-size:.72rem;display:flex}.pro-line-total{text-align:right;font-variant-numeric:tabular-nums;padding-bottom:8px}.pro-line-actions{flex-direction:column;grid-area:1/2/span 3;gap:4px;display:flex}.pro-line-actions button{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--muted);border-radius:8px}.pro-totals{font-variant-numeric:tabular-nums;flex-direction:column;gap:4px;margin:0;display:flex}.pro-totals div{justify-content:space-between;gap:12px;display:flex}.pro-totals dt{color:var(--muted)}.pro-totals dd{margin:0}.pro-total{border-top:1px solid var(--border);padding-top:6px;font-size:1.1rem;font-weight:800}.pro-total dt{color:var(--text)}@media (width<=520px){.pro-line-nums{grid-template-columns:1fr 1fr}.pro-line-total{grid-column:1/-1}}#quote-print{display:none}@media print{@page{size:A4 portrait;margin:0}body.quote-printing>:not(#quote-print){display:none!important}body.quote-printing #quote-print{display:block}body.quote-printing{background:#fff}}.qs{color:#1c2624;font-size:10.5pt;line-height:1.4}.qs-head{justify-content:space-between;gap:20px;margin-bottom:18px;display:flex}.qs-from,.qs-meta,.qs-client{flex-direction:column;gap:1px;display:flex}.qs-company{font-size:14pt}.qs-meta{text-align:right}.qs-meta h1{letter-spacing:.08em;color:#2f4f4f;margin:0 0 4px;font-size:20pt}.qs-client{border:1px solid #cfd6d4;border-radius:6px;width:48%;margin:0 0 14px auto;padding:10px 12px}.qs-label{text-transform:uppercase;letter-spacing:.06em;color:#56615e;font-size:8pt}.qs-pre{white-space:pre-line}.qs-object{margin:0 0 10px}.qs-table{border-collapse:collapse;width:100%;margin-bottom:14px}.qs-table th{color:#fff;text-align:left;background:#2f4f4f;padding:6px 8px;font-size:9pt}.qs-table td{vertical-align:top;border-bottom:1px solid #dfe4e2;padding:6px 8px}.qs-table .num{text-align:right;white-space:nowrap}.qs-table tr{break-inside:avoid}.qs-detail{color:#56615e;font-size:9pt;display:block}.qs-bottom{break-inside:avoid;justify-content:space-between;gap:24px;display:flex}.qs-notes{flex:1;font-size:9.5pt}.qs-notes p{margin:0 0 6px}.qs .pro-totals{width:45%}.qs .pro-totals dt{color:#56615e}.qs .pro-total{border-top:1px solid #1c2624}.qs .muted{color:#56615e}.qs-sign{color:#56615e;break-inside:avoid;border:1px dashed #aab4b1;border-radius:6px;width:45%;height:90px;margin-top:28px;margin-left:auto;padding:8px;font-size:9pt}.pro .actions{background:0 0;padding-bottom:0;position:static}@media print{html:has(body.quote-printing),body.quote-printing{background:#fff!important}}.admin-user-link{font:inherit;color:var(--brand);text-align:left;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.admin-user{max-width:520px}.admin-user h2{overflow-wrap:anywhere}.admin-user-info{flex-direction:column;gap:6px;margin:0 0 8px;font-size:.9rem;display:flex}.admin-user-info div{justify-content:space-between;gap:12px;display:flex}.admin-user-info dt{color:var(--muted)}.admin-user-info dd{text-align:right;margin:0}.admin-blocked{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.admin-blocked li{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-blocked li span{font-weight:600}.admin-blocked li .link-btn{margin-left:auto}.qs-frame{border-collapse:collapse;width:100%}.qs-frame>thead>tr>td,.qs-frame>tfoot>tr>td{height:14mm;padding:0}.qs-page{padding:0 15mm}.pro-editor,.pro-overview{flex-direction:column;gap:14px;display:flex}.pro-col{flex-direction:column;gap:14px;min-width:0;display:flex}.pro-line-modal-total{text-align:right;margin:0}@media (width>=900px){.pro-editor{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);align-items:start;display:grid}.pro-overview{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.pro-editor>.pro-col:last-child{max-height:calc(100dvh - 120px);position:sticky;top:12px;overflow-y:auto}}.editor-head{z-index:5;background:var(--bg);align-items:center;gap:10px;margin:-4px -4px 0;padding:8px 4px;display:flex;position:sticky;top:0}.editor-head .btn.primary{margin-left:auto}.quote-state{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:5px 10px;font-size:.85rem;font-weight:600;display:inline-flex}.quote-state.ok{color:var(--paid);background:var(--paid-bg)}.quote-state.dirty{color:var(--ordered);background:var(--ordered-bg)}.quote-state.busy{color:var(--planned);background:var(--planned-bg)}.card-link{cursor:pointer}.card-link:hover{box-shadow:0 0 0 2px var(--border)}.card-link-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.card-link-head .link-btn{color:var(--tab-active);white-space:nowrap;font-weight:600;text-decoration:none}.admin-main,.admin-main>section{min-width:0}@media (width<=760px){.admin-tabs{padding:12px 16px 0}.admin-tabs button{flex:1;padding:8px 10px}.admin-main{padding:12px 16px 32px}.admin-toolbar>*{flex:100%}.admin-table-wrap:has(.admin-cards){background:0 0;border:0;border-radius:0;overflow:visible}.admin-cards,.admin-cards tbody,.admin-cards tr,.admin-cards td{width:100%;display:block}.admin-cards thead{display:none}.admin-cards tbody{flex-direction:column;gap:10px;display:flex}.admin-cards tr{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:6px 14px}.admin-cards td{border-bottom:1px solid var(--border);text-align:right;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:8px 0;display:flex}.admin-cards tr td:last-child{border-bottom:0}.admin-cards td[data-label]:before{content:attr(data-label);color:var(--muted);text-align:left;flex:none;font-size:.78rem;font-weight:600}.admin-cards td.admin-card-title{text-align:left;padding:10px 0;display:block}.admin-cards td.admin-card-title .admin-user-link,.admin-cards td.admin-card-title strong{overflow-wrap:anywhere;font-size:1rem}.admin-cards td>small{overflow-wrap:anywhere;margin-top:0}.admin-cards td[data-label=Membres]{flex-wrap:wrap}.admin-cards td[data-label=Membres] small{text-align:left;flex:100%}.admin-cards td.admin-actions{grid-template-columns:repeat(3,1fr);gap:6px;padding-top:10px;display:grid}.admin-cards td.admin-actions .btn{width:100%}.admin-blocked li .link-btn{margin-left:0}}.scene-side{flex-direction:column;flex:none;align-items:flex-end;gap:6px;display:flex}.scene-help span[aria-hidden]{background:var(--brand);width:18px;height:18px;color:var(--brand-ink);border-radius:50%;place-items:center;font-size:.72rem;font-weight:800;display:grid}.scene-help-corner{position:absolute;bottom:10px;left:10px}.planner-help{gap:0;max-width:560px;max-height:calc(100dvh - 32px);padding:0;overflow:hidden}.planner-help-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:16px 20px;display:flex}.planner-help-head h2{margin:0;font-size:1.15rem}.planner-help-body{padding:6px 20px 20px;overflow-y:auto}.planner-help-body h3{color:var(--tab-active);margin:16px 0 6px;font-size:.95rem}.planner-help-body ul{flex-direction:column;gap:6px;margin:0;padding-left:18px;font-size:.9rem;line-height:1.45;display:flex}.planner-help-suggest{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}.admin-tabs button{justify-content:center;align-items:center;gap:6px;display:inline-flex}.admin-count{background:var(--accent);color:#1c2624;border-radius:99px;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.72rem;font-weight:800;display:inline-grid}.admin-suggestions{grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr));align-items:start;gap:10px;margin:0;padding:0;list-style:none;display:grid}.admin-suggestions .sugg-new{box-shadow:inset 3px 0 0 var(--accent)}.admin-suggestions .sugg-done,.admin-suggestions .sugg-rejected{opacity:.65}.admin-sugg-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-sugg-head small{overflow-wrap:anywhere}.admin-sugg-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.45}.admin-sugg-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.admin-sugg-actions select{flex:140px;width:auto}@media (width<=760px){.admin-tabs{gap:4px}.admin-tabs button{padding:8px 6px;font-size:.82rem}}.admin-sugg-actions a.btn{color:var(--text);text-decoration:none}.admin-sugg-actions .btn{text-align:center;flex:auto}@media (width<=760px){.admin-sugg-actions select{flex-basis:100%}}.settings-menu .settings-row{align-items:center;gap:12px}.settings-icon{background:var(--bg);width:36px;height:36px;color:var(--tab-active);border-radius:10px;flex:none;place-items:center;font-size:1.05rem;font-weight:700;display:grid}.settings-menu .line-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings-chevron{color:var(--muted);flex:none;font-size:1.4rem;line-height:1}.settings-sheet{padding-bottom:calc(16px + var(--safe-b))}.settings-sheet .card{background:0 0;border-radius:0;padding:0}.settings-sheet>*+*{border-top:1px solid var(--border);padding-top:16px}.settings-sheet .danger-zone{border-top:1px solid var(--border)}.settings.settings-wide{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;max-width:1240px;display:grid}.settings-col{flex-direction:column;gap:16px;min-width:0;display:flex}.status-page{padding:24px 16px}.status-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:20px;flex-direction:column;gap:10px;width:100%;max-width:440px;padding:32px 24px;display:flex}.status-card h1{margin:0;font-size:1.35rem}.status-card>p{margin:0}.status-code{color:var(--tab-active);letter-spacing:-.02em;margin:0;font-size:3rem;font-weight:800;line-height:1}.status-actions{flex-direction:column;gap:8px;margin-top:10px;display:flex}.status-details{text-align:left;color:var(--muted);margin-top:6px;font-size:.8rem}.status-details summary{cursor:pointer;text-align:center}.status-details code{background:var(--bg);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:10px;margin-top:8px;padding:10px;display:block}.status-actions .btn{color:var(--text);text-align:center;text-decoration:none}.status-actions .btn.primary{color:var(--brand-ink)}.orient-row{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:10px;display:flex}.orient-row .btn{flex:none}.orient-face{flex:180px;margin:0}.board-backdrop{padding:12px}.board-modal{background:var(--surface);border-radius:18px;flex-direction:column;width:100%;max-width:1400px;height:calc(100dvh - 24px);display:flex;overflow:hidden;box-shadow:0 10px 40px #0000004d}.board-head{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;display:flex}.board-head h2{flex:200px;margin:0;font-size:1.1rem}.board-tabs{display:none}.board-body{flex:1;grid-template-columns:minmax(0,1fr) 360px;min-height:0;display:grid}.board-diagram{background:#f4f6f5;padding:16px;overflow:auto}.board-diagram svg{border-radius:10px;width:100%;min-width:760px;height:auto;display:block;box-shadow:0 1px 4px #00000014}.board-editor{border-left:1px solid var(--border);flex-direction:column;gap:18px;padding:16px;display:flex;overflow-y:auto}.board-editor section{flex-direction:column;gap:10px;display:flex}.board-editor h3{color:var(--tab-active);margin:0;font-size:.95rem}.board-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.board-num{margin:0}.board-check{font-size:.9rem}.board-fuses{flex-direction:column;gap:6px;margin:0;padding:0;font-size:.88rem;list-style:none;display:flex}.board-fuses li{align-items:center;gap:8px;display:flex}.board-fuses select{flex:none;width:auto;max-width:120px}.board-extra{border:1px solid var(--border);border-radius:12px;grid-template-columns:1fr 1fr;gap:6px;padding:10px;display:grid;position:relative}.board-extra .icon-btn{width:28px;height:28px;position:absolute;top:-10px;right:-10px}@media (width<=899px){.board-backdrop{padding:0}.board-modal{border-radius:0;height:100dvh}.board-tabs{flex:100%;order:3;grid-template-columns:1fr 1fr;display:grid}.board-body{grid-template-columns:1fr}.board-body.show-diagram .board-editor,.board-body.show-edit .board-diagram{display:none}.board-editor{border-left:0}.board-diagram{padding:8px}}.board-tabs button.active{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.pro-lock-backdrop{z-index:80}.pro-lock{max-width:460px}.pro-lock h2{text-align:center;margin:0;font-size:1.2rem}.pro-lock>p.muted:first-of-type{text-align:center;margin:0}.pro-lock-icon{background:var(--ordered-bg);border-radius:50%;place-items:center;width:56px;height:56px;margin:0 auto;font-size:1.6rem;display:grid}.lock-badge{margin-right:4px;font-size:.85em}@media print{body[data-print-locked]>*{display:none!important}body[data-print-locked]:after{content:attr(data-print-locked);text-align:center;color:#1c2624;padding:40mm 20mm;font:600 16pt system-ui,sans-serif;display:block}}.board-diagram svg.board-svg-compact{min-width:0;max-width:560px;margin:0 auto}.board-export{display:none}@media (width<=899px){.board-head{flex-wrap:wrap;gap:8px}.board-head h2{flex:1 1 0;min-width:0;font-size:1rem}.board-head .btn{padding:8px 10px}}.presence{color:var(--muted);align-items:center;gap:6px;margin:4px 0 2px;font-size:.78rem;font-weight:600;display:inline-flex}.presence:before{content:"";background:var(--border);border-radius:50%;flex:none;width:8px;height:8px}.presence.on{color:var(--paid)}.presence.on:before{background:var(--paid);box-shadow:0 0 0 3px color-mix(in srgb, var(--paid) 25%, transparent);animation:2s ease-in-out infinite presence-pulse}.presence.none{font-weight:400}@keyframes presence-pulse{50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--paid) 0%, transparent)}}.admin-card-title .presence{display:flex}.vehicle-pick{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:10px;display:grid}.vehicle-pick .field:only-child{grid-column:1/-1}.pe-fittings{grid-template-columns:1fr 1fr;gap:10px;display:grid}.pe-fittings .field{margin:0}.ext-card{gap:8px}.ext-card .check{font-size:.9rem}.ext-inline{justify-content:space-between;align-items:center;gap:10px;margin:0;display:flex}.ext-inline select{width:auto;min-width:120px}.planner.stats-open .scene-wrap,.planner.stats-open .planner-panel,.planner.stats-open .sheet-bar{display:none!important}.planner-stats{min-height:0;padding:16px 16px calc(24px + var(--safe-b));background:var(--bg);flex:1;grid-column:1/-1;overflow-y:auto}.pstats-grid{grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr));align-items:start;gap:16px;max-width:1200px;margin:0 auto;display:grid}.pstats-grid h2{margin:0;font-size:1.05rem}.pstats-weight{grid-row:span 2}.pstats-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.pstats-big{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.pstats-big strong{font-variant-numeric:tabular-nums;font-size:2rem}.pstats-meter{background:var(--bg);border-radius:99px;gap:2px;height:14px;display:flex;overflow:hidden}.pstats-meter i{min-width:2px;height:100%;display:block}.pstats-rows{flex-direction:column;gap:6px;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.pstats-rows li{align-items:center;gap:10px;display:flex}.pstats-rows i{border-radius:3px;flex:none;width:10px;height:10px}.pstats-rows span{flex:1}.pstats-rows strong{font-variant-numeric:tabular-nums}.pstats-list{flex-direction:column;gap:8px;margin:0;font-size:.9rem;display:flex}.pstats-list div{justify-content:space-between;gap:12px;display:flex}.pstats-list dt{color:var(--muted)}.pstats-list dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.ext-inline span{text-align:left;flex:1}.ext-panels{border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:8px;padding:10px;display:flex}.ext-panels-head{justify-content:space-between;align-items:baseline;gap:8px;font-size:.9rem;display:flex}.ext-panel{grid-template-columns:auto repeat(4,minmax(0,1fr)) auto auto;align-items:end;gap:6px;display:grid}.ext-panel label{color:var(--muted);flex-direction:column;gap:2px;min-width:0;font-size:.7rem;display:flex}.ext-panel input{width:100%;min-height:34px;padding:4px 6px;font-size:.85rem}.ext-panel .icon-btn{width:32px;height:34px}.ext-panel-n{color:#fff;background:#1d3557;border-radius:50%;align-self:center;place-items:center;width:22px;height:22px;font-size:.72rem;font-weight:700;display:grid}.ext-panels>.btn{align-self:flex-start}.landing-guides{max-width:1100px;margin:0 auto;padding:8px 20px 32px}.landing-guides h2{text-align:center;margin:0 0 16px}.landing-guides-list{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:12px;display:grid}.landing-guide{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);color:var(--text);align-items:center;gap:12px;padding:16px 18px;text-decoration:none;display:flex}.landing-guide:hover{border-color:var(--brand)}.landing-guide span{font-size:1.4rem}.landing-guide strong{flex:1;font-size:.98rem}.landing-guide em{color:var(--tab-active);font-style:normal;font-weight:700}.guide-page{flex-direction:column;min-height:100dvh;display:flex}.guide-bar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-left:auto;display:flex}.guide-bar .lang-switch a{color:inherit;border-radius:99px;padding:6px 10px;font-size:.8rem;font-weight:600;text-decoration:none}.guide-bar .lang-switch a.active{background:var(--brand);color:var(--brand-ink)}.guide-bar-cta{padding:8px 14px;font-size:.88rem}.guide{max-width:820px}.guide h1{font-size:clamp(1.5rem,4vw,2.1rem);line-height:1.25}.guide-crumbs{color:var(--muted);font-size:.85rem}.guide-crumbs a{color:var(--muted)}.guide-toc{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin:18px 0;padding:14px 18px}.guide-toc ol{margin:6px 0 0;padding-left:20px}.guide-table-wrap{margin:12px 0;overflow-x:auto}.guide-table{min-width:520px}.guide-table th[scope=row]{color:var(--text);font-weight:600}.guide-table .num{text-align:right;white-space:nowrap}.guide-table tfoot th,.guide-table tfoot td{border-top:2px solid var(--border);font-weight:800}.guide-download{background:var(--paid-bg);border-radius:12px;flex-wrap:wrap;align-items:center;gap:16px;margin:16px 0;padding:16px 18px;display:flex}.guide-download>div{flex:260px}.guide-download p{margin:4px 0 0;font-size:.9rem}.legal .guide-download a.landing-cta,.legal .guide-cta a.landing-cta{color:#1c2624;text-decoration:none}.guide-cta{border-radius:var(--radius);background:var(--brand);color:var(--brand-ink);text-align:center;flex-direction:column;align-items:center;gap:8px;margin:28px 0;padding:22px;display:flex}.guide-cta strong{font-size:1.2rem}.guide-cta p{opacity:.9;margin:0;color:inherit!important}.guide-faq details{border-bottom:1px solid var(--border);padding:12px 0}.guide-faq summary{cursor:pointer;font-weight:600}.guide-faq p{margin:8px 0 0}.guide-related{padding-left:18px}.guide-cards{gap:12px;margin:18px 0;display:grid}.guide-card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);flex-direction:column;gap:6px;padding:18px;text-decoration:none;display:flex;color:var(--text)!important}.guide-card:hover{border-color:var(--brand)}.guide-card span{color:var(--muted);font-size:.92rem}.guide-card em{color:var(--tab-active);font-style:normal;font-weight:700}@media (width<=560px){.guide-bar-cta{display:none}.guide-bar{gap:6px}}.arch-cut span{flex-direction:column;gap:2px;display:flex}.arch-cut small{font-size:.78rem}.budget-extras{flex-direction:column;gap:12px;display:flex}.suggest-btn{font:inherit;cursor:pointer;background:var(--surface);color:var(--tab-active);border:0;font-weight:700;box-shadow:inset 0 0 0 2px}@media (width<=999px){.budget-extras{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px;margin:-4px 0 12px;display:grid}.budget-extras .support-card{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 8px;margin:0;padding:10px}.budget-extras .support-icon{font-size:1.15rem}.budget-extras .support-text strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.78rem;line-height:1.25;display:-webkit-box;overflow:hidden}.budget-extras .support-text p{display:none}.budget-extras .support-btn{white-space:nowrap;grid-column:1/-1;min-height:34px;padding:0 8px;font-size:.8rem}}@media (width>=1000px){.budget-side{max-height:calc(100dvh - 76px - var(--tabbar-h) - 16px);scrollbar-width:thin;padding-bottom:4px;overflow-y:auto}}.budget-extras .support-card{margin-top:0}@media (width>=1000px){.budget-extras .support-card{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;padding:12px 14px}.budget-extras .support-btn{white-space:nowrap;grid-column:auto;min-height:38px;padding:0 14px;font-size:.85rem}.budget-extras .support-text p{font-size:.8rem}}@media (width<=999px){.budget-extras .budget-updates{grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto}.budget-extras .budget-updates .support-btn{grid-column:auto;padding:0 14px}}.updates-dot{background:var(--accent);color:#1c2624;vertical-align:2px;text-transform:uppercase;letter-spacing:.02em;border-radius:99px;margin-left:6px;padding:1px 7px;font-size:.68rem;font-weight:700;display:inline-block}.changelog-release h3{align-items:baseline;gap:10px;margin:0 0 10px;font-size:1rem;display:flex}.changelog-version{font-weight:800}.changelog-release time{color:var(--muted);font-size:.85rem;font-weight:500}.changelog-release ul{flex-direction:column;gap:8px;margin:0 0 4px;padding:0;list-style:none;display:flex}.changelog-release li{grid-template-columns:84px minmax(0,1fr);align-items:baseline;gap:10px;font-size:.9rem;line-height:1.45;display:grid}.changelog-tag{border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:99px;justify-self:start;padding:1px 8px;font-size:.72rem;font-weight:700}.changelog-tag.new{color:var(--tab-active);border-color:currentColor}.changelog-tag.fixed{color:var(--danger,#d9534f);border-color:currentColor}@media (width<=420px){.changelog-release li{grid-template-columns:74px minmax(0,1fr);gap:8px;font-size:.86rem}.changelog-tag{padding:1px 6px;font-size:.66rem}}.budget-extras{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.budget-extras .budget-support{grid-column:1/-1}.budget-extras .budget-suggest,.budget-extras .budget-updates{grid-column:auto;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 10px;padding:12px}.budget-extras .budget-suggest .support-icon,.budget-extras .budget-updates .support-icon{font-size:1.25rem}.budget-extras .budget-suggest .support-text strong,.budget-extras .budget-updates .support-text strong{margin:0;font-size:.85rem;line-height:1.25}.budget-extras .budget-suggest .support-text p{display:none}.budget-extras .budget-updates .support-text p{font-size:.75rem}.budget-extras .budget-suggest .support-btn,.budget-extras .budget-updates .support-btn{grid-column:1/-1;min-height:36px;padding:0 8px;font-size:.82rem}@media (width<=999px){.budget-extras{gap:8px}.budget-extras .budget-support{grid-template-columns:auto minmax(0,1fr) auto}.budget-extras .budget-support .support-btn{grid-column:auto;padding:0 12px}.budget-extras .budget-suggest,.budget-extras .budget-updates{gap:6px 8px;padding:10px}.budget-extras .budget-suggest .support-text strong,.budget-extras .budget-updates .support-text strong{font-size:.78rem}}.space-viewer{z-index:45;background:var(--bg);flex-direction:column;animation:.15s ease-out fade;display:flex;position:fixed;inset:0}.space-viewer-head{justify-content:space-between;gap:12px}.space-viewer-head .bar-btn{flex:none;margin-left:auto}.space-viewer-title{flex-direction:column;min-width:0;display:flex}.space-viewer-title h1{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.1rem;overflow:hidden}.space-viewer-title small{opacity:.8;overflow-wrap:anywhere;font-size:.78rem}.space-viewer-body{flex-direction:column;flex:1;gap:12px;min-height:0;padding:14px 20px 20px;display:flex;overflow-y:auto}.space-viewer-3d{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.space-viewer-controls{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.space-viewer-controls .seg{border:1px solid var(--border);background:var(--surface);border-radius:10px;display:inline-flex;overflow:hidden}.space-viewer-controls .seg button{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;padding:7px 12px;font-size:.85rem;font-weight:600}.space-viewer-controls .seg button+button{border-left:1px solid var(--border)}.space-viewer-controls .seg button.active{background:var(--brand);color:var(--brand-ink)}.space-viewer-scene{border-radius:var(--radius);border:1px solid var(--border);flex:1;min-height:340px;position:relative;overflow:hidden}.space-viewer-budget{grid-template-columns:minmax(280px,380px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.space-viewer .admin-table .num{text-align:right;white-space:nowrap}.space-viewer .swatch{vertical-align:-2px;border:1px solid #00000026;border-radius:3px;display:inline-block}@media (width<=800px){.space-viewer-body{padding:10px 12px 16px}.space-viewer-budget{grid-template-columns:minmax(0,1fr)}.space-viewer-scene{min-height:60dvh}.space-viewer-controls .seg{max-width:100%;overflow-x:auto}.space-viewer-controls .seg button{white-space:nowrap;padding:7px 10px}}.scene-corner{flex-direction:column;align-items:flex-start;gap:6px;display:flex;position:absolute;bottom:10px;left:10px}.scene-share span[aria-hidden]{background:var(--accent);color:#1c2624;border-radius:50%;place-items:center;width:18px;height:18px;font-size:.75rem;font-weight:800;display:grid}.share-sheet{padding-bottom:calc(16px + var(--safe-b,0px));flex-direction:column;gap:12px;display:flex}.share-preview{background:var(--bg);border:1px solid var(--border);border-radius:14px;place-items:center;min-height:180px;display:grid;overflow:hidden}.share-preview img{object-fit:contain;width:100%;max-height:58dvh;display:block}.share-actions{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;display:grid}.share-sheet .small{text-align:center;margin:0}.sheet-grip{display:none}@media (width<=899px){.sheet-grip{z-index:3;background:var(--bg);touch-action:none;cursor:grab;border-radius:18px 18px 0 0;place-items:center;height:30px;margin:-14px -14px 6px;display:grid;position:sticky;top:-14px}.sheet-grip:after{content:"";background:var(--border);border-radius:99px;width:44px;height:5px}.sheet-grip:active:after{background:var(--muted)}}.fold-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.fold-toggle{min-width:0;font:inherit;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:6px 0;display:flex}.fold-title{font-size:.85rem;font-weight:600}.fold-count{background:var(--surface);border:1px solid var(--border);min-width:22px;color:var(--text);text-align:center;border-radius:99px;padding:1px 7px;font-size:.75rem;font-weight:700}.fold-chevron{margin-left:auto;font-size:1.1rem;line-height:1;transition:transform .15s}.fold.open .fold-chevron{transform:rotate(90deg)}.fold-toggle:hover .fold-title{color:var(--text)}.fold:not(.open){gap:0}@media (width>=1000px){.budget-side .budget-extras{margin-top:16px}}.cat-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.cat-tile{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:92px;color:var(--text);font:inherit;text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:2px;padding:12px;display:flex}.cat-tile:active{transform:scale(.98)}.cat-tile-name{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.72rem;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.cat-tile-total{font-variant-numeric:tabular-nums;margin-top:auto;font-size:1.1rem}.cat-tile-meta{color:var(--muted);font-size:.75rem}.cat-tile-bar{background:var(--border);border-radius:99px;align-self:stretch;height:4px;margin-top:4px;overflow:hidden}.cat-tile-bar i{background:#2e9e5b;border-radius:99px;height:100%;display:block}.cat-sheet{padding-bottom:calc(16px + var(--safe-b,0px))}.cat-sheet-total{color:var(--muted);justify-content:space-between;align-items:baseline;margin:0 0 10px;font-size:.85rem;display:flex}.cat-sheet-total strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:1.05rem}.admin-sort{font:inherit;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.admin-sort span{opacity:.45;font-size:.7rem}.admin-sort.on{color:var(--text)}.admin-sort.on span{opacity:1;color:var(--brand)}.admin-sort:hover span{opacity:.9}.admin-chart-signups .admin-chart-bar{flex-direction:column;justify-content:flex-end;position:relative}.admin-chart-signups .admin-chart-bar span{background:var(--accent)}.admin-chart-signups .admin-chart-bar em{color:var(--muted);text-align:center;font-size:.68rem;font-style:normal;font-weight:700;line-height:1.4}.auto-btn{border-color:var(--brand);color:var(--brand);gap:6px;font-weight:700}.auto-layout{padding-bottom:calc(16px + var(--safe-b,0px))}.auto-group{border:0;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.auto-group legend{color:var(--muted);margin-bottom:6px;padding:0;font-size:.85rem;font-weight:700}.auto-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;display:grid}.auto-checks .check span{flex-direction:column;gap:2px;display:flex}.auto-checks .check small{font-size:.75rem;line-height:1.3}.segmented.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.segmented.three button{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:10px;padding:9px 6px;font-size:.85rem;font-weight:600}.segmented.three button.active{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.auto-summary{background:var(--bg);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:4px;padding:12px;display:flex}.auto-summary .warning{margin:4px 0 0;font-size:.82rem}.auto-actions{grid-template-columns:1fr 2fr;gap:8px;display:grid}@media (width<=420px){.auto-checks{grid-template-columns:minmax(0,1fr)}}.auto-sub{color:var(--muted);margin-top:4px;font-size:.8rem;font-weight:600}.auto-group>small{font-size:.78rem;line-height:1.35}.segmented.two-opt{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.segmented.two-opt button{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:10px;padding:9px 6px;font-size:.85rem;font-weight:600}.segmented.two-opt button.active{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.scene-hide svg{flex:none;width:16px;height:16px}.scene-hint-keys{opacity:.75}.play-logo{flex:none;display:block}.budget-extras.has-play .budget-support,.budget-extras .budget-play{grid-column:auto;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 10px;padding:12px}.budget-extras.has-play .budget-support .support-icon,.budget-extras .budget-play .support-icon{font-size:1.25rem}.budget-extras.has-play .budget-support .support-text strong,.budget-extras .budget-play .support-text strong{margin:0;font-size:.85rem;line-height:1.25}.budget-extras.has-play .budget-support .support-text p,.budget-extras .budget-play .support-text p{display:none}.budget-extras.has-play .budget-support .support-btn,.budget-extras .budget-play .support-btn{white-space:nowrap;grid-column:1/-1;min-height:36px;padding:0 8px;font-size:.82rem}.play-btn{color:#fff;background:#1c2624}:root[data-theme=dark] .play-btn{color:#1c2624;background:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .play-btn{color:#1c2624;background:#fff}}@media (width<=999px){.budget-extras.has-play .budget-support,.budget-extras .budget-play{gap:6px 8px;padding:10px}.budget-extras.has-play .budget-support .support-text strong,.budget-extras .budget-play .support-text strong{font-size:.78rem}}.landing-app{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:28px 20px 36px;display:flex}.landing-app h2{margin:0;font-size:1.3rem}.landing-app p{color:var(--muted);max-width:460px;margin:0 0 6px}.play-badge{color:#fff;background:#000;border:1px solid #ffffff40;border-radius:12px;align-items:center;gap:10px;padding:8px 18px 8px 14px;text-decoration:none;display:inline-flex}.play-badge:hover{filter:brightness(1.25)}.play-badge span{flex-direction:column;align-items:flex-start;line-height:1.1;display:flex}.play-badge small{text-transform:uppercase;letter-spacing:.04em;font-size:.68rem}.play-badge strong{font-size:1.15rem}.share-link{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.share-link .check{font-weight:600}.share-link p{margin:0}.share-link-row{align-items:stretch;gap:6px;display:flex}.share-link-row input{flex:1;min-width:0;font-size:.85rem}.share-link-row .btn{white-space:nowrap;flex:none;padding-inline:12px}@media (width<=480px){.share-link-row{flex-wrap:wrap}.share-link-row input{flex-basis:100%}.share-link-row .btn{flex:1}}.public-view{background:var(--bg);flex-direction:column;height:100dvh;display:flex}.public-view-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.public-view-brand{flex:none;display:flex}.public-view-title{flex-direction:column;flex:1;min-width:0;display:flex}.public-view-title h1{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.1rem;overflow:hidden}.public-view-title small{opacity:.8;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.public-view .scene-wrap{flex:1;height:auto;min-height:0}.public-view-foot{padding:10px 16px calc(10px + var(--safe-b));border-top:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;font-size:.9rem;display:flex}.public-view-foot .landing-cta{padding:9px 16px;font-size:.9rem}.public-view-msg{text-align:center;flex-direction:column;gap:14px;padding:20px}@media (width>=1000px){.public-view-head .mode-tabs{flex:none;order:0;margin:0 0 0 auto}}.share-link-row a.btn{color:inherit;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.corner-chips{flex-wrap:wrap;margin-bottom:4px;overflow:visible}.admin-user-spaces{flex-direction:column;gap:8px;margin:4px 0 12px;display:flex}.btn.admin-user-space{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;padding:10px 14px;display:flex}.admin-user-space small{font-size:.78rem;font-weight:500}.admin-chart{position:relative}.admin-avg{border-top:2px dashed var(--text);opacity:.55;pointer-events:none;position:absolute;left:0;right:0}.admin-avg small{background:var(--surface);color:var(--text);border-radius:4px;padding:0 4px;font-size:.68rem;font-weight:700;position:absolute;bottom:2px;right:0}.admin-chart-bar span{position:relative;overflow:hidden}.admin-chart-bar span i{background:var(--accent);position:absolute;bottom:0;left:0;right:0}.admin-legend{color:var(--muted);align-items:center;gap:6px;margin:0;display:flex}.admin-legend .legend-swatch{background:var(--brand);border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.admin-legend .legend-swatch.is-app{background:var(--accent);margin-left:8px}.scene-tools-left{pointer-events:none;align-items:flex-start;gap:6px;min-width:0;display:flex}.scene-tools-left>*{pointer-events:auto}.history-buttons{flex:none}.history-buttons button{color:var(--text);padding:4px 9px;font-size:.95rem}.history-buttons button:disabled{opacity:.35;cursor:default}.history-sheet{flex-direction:column;gap:10px;display:flex}.history-sheet h3{margin:10px 0 0;font-size:.95rem}.history-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.history-list{border:1px solid var(--border);border-radius:12px;flex-direction:column;max-height:40vh;margin:0;padding:0;list-style:none;display:flex;overflow:hidden auto}.history-list li{border-top:1px solid var(--border)}.history-list li:first-child{border-top:0}.history-list li>span,.history-list button{width:100%;color:var(--text);font:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:baseline;gap:10px;padding:9px 12px;font-size:.88rem;display:flex}.history-list li.undone{color:var(--muted);justify-content:space-between;align-items:baseline;gap:10px;padding:9px 12px;font-size:.88rem;text-decoration:line-through;display:flex}.history-list li.undone small{text-decoration:none}.history-list button{cursor:pointer}.history-list button:hover{background:var(--bg)}.history-list small{color:var(--muted);white-space:nowrap;font-size:.75rem}.history-now span{background:var(--bg);font-weight:700;color:var(--tab-active)!important;justify-content:flex-start!important}.snapshots.compact{flex-direction:column;gap:8px;display:flex}.snapshots p{margin:0}.snapshot-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.snapshot-list li{border:1px solid var(--border);background:var(--surface);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.snapshot-info{flex-direction:column;gap:2px;min-width:0;display:flex}.snapshot-info strong{text-transform:capitalize;font-size:.88rem}.snapshot-info small{overflow-wrap:anywhere;font-size:.75rem}.finish-color-row{align-items:center;gap:10px;display:flex}.finish-color-row input[type=color]{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;width:56px;height:36px;padding:2px}.texture-chips{flex-wrap:wrap;margin-bottom:0;overflow:visible}.import-sheet{gap:12px}.import-group{flex-direction:column;gap:4px;display:flex}.import-row{align-items:center;gap:10px;margin:0;padding:4px 0;display:flex}.import-row .grow{flex:1;min-width:0}.import-row small{white-space:nowrap}.import-all{border-bottom:1px solid var(--border);padding-bottom:4px;font-size:.85rem;font-weight:600}.import-warn{color:var(--danger,#c0392b)}.import-est{margin:0;font-weight:600}.line-estimate{border:1px dashed var(--border);border-radius:12px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.line-estimate p{margin:0}.line-estimate .line-estimate-hint{font-size:.9rem}.line-estimate .affiliate-note{opacity:.85;font-size:.68rem;line-height:1.35}.line-meta .line-auto-est{font-size:.78rem}.line-estimate-actions{flex-wrap:wrap;gap:8px;display:flex}.line-estimate-actions a.btn{color:inherit;align-items:center;text-decoration:none;display:inline-flex}.import-auto{border:1px solid var(--border);border-radius:12px;align-items:flex-start;padding:10px 12px}.import-auto>span{flex-direction:column;gap:2px;display:flex}.import-auto small{font-size:.76rem;line-height:1.35}.summary-est{flex-wrap:wrap;align-items:baseline;gap:0 6px;margin-top:4px;font-size:.9rem;font-weight:600;display:flex}.summary-est small{opacity:.8;font-size:.72rem;font-weight:400}.budget-box{background:var(--bg);border-radius:12px;grid-template-columns:1fr;gap:12px;padding:12px 14px;display:grid}.budget-box.two{grid-template-columns:1fr 1fr}.budget-col{flex-direction:column;gap:10px;min-width:0;display:flex}.budget-col>div{flex-direction:column;gap:2px;display:flex}.budget-box .k{color:var(--muted);font-size:.78rem;display:block}.budget-box .v{font-size:1.2rem;font-weight:700}.budget-col.est3d{border-left:1px solid var(--border);gap:2px;padding-left:12px}.budget-col.est3d .v{font-size:1.05rem}.budget-col.est3d small{font-size:.74rem;line-height:1.35}.gift{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.gift .grant span{text-align:center;white-space:nowrap;min-width:52px}.gift-until{white-space:nowrap;align-items:baseline;gap:6px;display:flex}.admin-chips{flex-wrap:wrap;margin-bottom:0;padding-bottom:0;overflow:visible}.admin-card-head .admin-chips{margin-left:auto}.admin-card-head .admin-chips .chip{padding-block:4px;font-size:.8rem}.promo-badge{color:#1d1f1c;vertical-align:middle;background:#f5c542;border-radius:999px;margin-right:6px;padding:2px 8px;font-size:.8rem;font-weight:800;line-height:1.4;animation:1.4s ease-in-out infinite promo-zoom;display:inline-block;box-shadow:0 2px 8px #f5c54273}@keyframes promo-zoom{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}@media (prefers-reduced-motion:reduce){.promo-badge{animation:none}}.paywall-price{align-items:center;display:inline-flex}.promo-line{margin:0;font-size:.85rem;font-weight:600}.plan .promo-line{margin-top:-4px}.plan-price .promo-badge,.paywall-price .promo-badge{color:#1d1f1c;opacity:1;font-size:.8rem;font-weight:800}.promo-hero{background:#f5c5421f;border:1px solid #f5c5428c;border-radius:14px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.promo-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.promo-hero .promo-badge{color:#1d1f1c;margin-right:0;padding:3px 12px;font-size:1.05rem}.promo-first{font-size:.95rem;font-weight:700}.promo-amounts{align-items:baseline;gap:10px;display:flex}.promo-now{font-size:2.4rem;font-weight:800;line-height:1.1}.promo-was{color:var(--muted);font-size:1.1rem;text-decoration-thickness:2px}.promo-then{color:var(--muted);margin:0;font-size:.85rem}.plan .promo-hero{margin:4px 0 2px}.demo-doors{border:1px solid var(--border);background:var(--surface,#fff);color:var(--text);cursor:pointer;border-radius:99px;align-items:center;gap:6px;padding:7px 14px;font-size:.85rem;font-weight:600;display:inline-flex;position:absolute;top:10px;right:10px;box-shadow:0 2px 8px #0000001f}.demo-doors.active{background:var(--brand);border-color:var(--brand);color:var(--brand-ink,#fff)}.setup-tip{z-index:6;background:var(--surface);width:min(440px,100% - 24px);color:var(--text);border:1px solid var(--accent);border-radius:14px;flex-direction:column;gap:6px;padding:14px 16px;animation:.25s ease-out setup-tip-in;display:flex;position:absolute;top:56px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000040}.setup-tip strong{padding-right:24px;font-size:.98rem}.setup-tip ol{flex-direction:column;gap:4px;margin:0;padding-left:20px;font-size:.88rem;display:flex}.setup-tip-why{color:var(--muted);margin:0;font-size:.8rem}.setup-tip-actions{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.setup-tip-actions .primary{margin-left:auto}.setup-tip-close{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:4px 6px;font-size:.9rem;position:absolute;top:8px;right:8px}@keyframes setup-tip-in{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.setup-tip{animation:none}}.public-links .admin-table tr.is-off td{opacity:.6}.public-links .admin-table a{white-space:nowrap}.admin-pager{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px 6px;width:100%;display:grid}.admin-pager-count{grid-column:1/-1;justify-self:center}.admin-pager-prev{justify-self:start}.admin-pager-next{justify-self:end}.admin-pager-nums{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;min-width:0;display:flex}.admin-pager button{border:1px solid var(--border);background:var(--surface);min-width:36px;color:var(--text);cursor:pointer;border-radius:99px;padding:6px 10px;font-weight:600}.admin-pager button.active{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.admin-pager button:disabled{opacity:.4;cursor:default}.admin-pager-gap{color:var(--muted);padding:0 2px}.admin-pager-count{color:var(--muted);font-size:.85rem}.color-wheel{flex-direction:column;gap:10px;display:flex}.color-wheel-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.color-wheel-disc{aspect-ratio:1;cursor:crosshair;touch-action:none;background:radial-gradient(circle closest-side,#fff,#fff0 100%),conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:50%;flex:none;width:150px;position:relative;box-shadow:inset 0 0 0 1px #0000001f}.color-wheel-disc:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.color-wheel-disc i{pointer-events:none;border:3px solid #fff;border-radius:50%;width:18px;height:18px;margin:-9px 0 0 -9px;position:absolute;box-shadow:0 0 0 1px #00000059,0 2px 6px #0000004d}.color-wheel-side{flex-direction:column;flex:120px;gap:8px;display:flex}.color-wheel-swatch{border-radius:10px;height:44px;display:block;box-shadow:inset 0 0 0 1px #00000026}.color-wheel-light input[type=range]{-webkit-appearance:none;appearance:none;border-radius:99px;outline:none;height:12px}.color-wheel-light input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border:1px solid #0000004d;border-radius:50%;width:20px;height:20px;box-shadow:0 1px 4px #0000004d}.color-wheel-light input[type=range]::-moz-range-thumb{background:#fff;border:1px solid #0000004d;border-radius:50%;width:20px;height:20px}.color-presets{flex-wrap:wrap;gap:8px;display:flex}.color-presets button{cursor:pointer;border:0;border-radius:50%;width:30px;height:30px;box-shadow:inset 0 0 0 1px #0000002e}.color-presets button.active{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--brand)}.real-credit{color:#fff;text-align:center;background:#1c2624bf;border-radius:99px;width:max-content;max-width:calc(100% - 20px);padding:4px 10px;font-size:.7rem;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.real-credit a{color:inherit}.plan2d{z-index:3;background:var(--bg);touch-action:none;user-select:none;position:absolute;inset:0;overflow:hidden}.plan2d svg{cursor:grab;width:100%;height:100%;font-family:system-ui,sans-serif;display:block}.plan2d svg:active{cursor:grabbing}.plan2d-floor{fill:var(--surface)}.plan2d-grid{stroke:var(--border);opacity:.55}.plan2d-grid.major{opacity:1}.plan2d-walls{fill:none;stroke:var(--text)}.plan2d-arch{stroke:#6b7773}.plan2d-door{stroke:#2f80ed;stroke-dasharray:40 24}.plan2d-window{stroke:#7fb8e0}.plan2d-roofwin{fill:#7fb8e040;stroke:#2f80ed;stroke-dasharray:30 18}.plan2d-label{fill:var(--muted)}.plan2d-piece{cursor:move}.plan2d-piece rect{fill-opacity:.55;stroke:var(--text)}.plan2d-piece.inside rect{stroke-dasharray:20 14}.plan2d-piece.selected rect{fill-opacity:.75;stroke:var(--accent)}.plan2d-piece text{fill:var(--text);pointer-events:none;font-weight:600}.plan2d-dim line,.plan2d-dim path{stroke:#d1495b}.plan2d-dim text{fill:#b2283c;pointer-events:none;font-weight:700}.plan2d-dim-bg{fill:var(--surface);stroke:#d1495b;stroke-width:0;opacity:.92}.plan2d-dim.editable{cursor:pointer}.plan2d-dim.editable:hover .plan2d-dim-bg{fill:#fde8eb}.plan2d-chain line{stroke:var(--text)}.plan2d-chain text{fill:var(--text)}.plan2d-edit{background:var(--surface);z-index:5;border:2px solid #d1495b;border-radius:10px;align-items:center;gap:4px;padding:4px 6px;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 6px 18px #0003}.plan2d-edit input{width:84px;color:var(--text);text-align:right;background:0 0;border:0;outline:none;font-size:1rem;font-weight:700}.plan2d-edit span{color:var(--muted);font-size:.85rem}.plan2d-tools{flex-direction:column;gap:6px;display:flex;position:absolute;bottom:54px;right:12px}.plan2d-tools button{border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--text);cursor:pointer;border-radius:10px;font-size:1.1rem;font-weight:700;box-shadow:0 2px 6px #0000001f}.plan2d-hint{color:#fff;text-align:center;pointer-events:none;background:#1c2624cc;border-radius:99px;width:max-content;max-width:calc(100% - 20px);padding:4px 10px;font-size:.72rem;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.view-buttons .plan2d-toggle{font-weight:800}.scene-wrap .scene-toolbar{z-index:4}.plan2d-faces{z-index:2;background:var(--surface);border:1px solid var(--border);border-radius:99px;gap:2px;max-width:calc(100% - 20px);padding:3px;display:flex;position:absolute;top:60px;left:50%;overflow-x:auto;transform:translate(-50%);box-shadow:0 2px 8px #0000001f}.plan2d-faces button{color:var(--text);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:99px;padding:6px 12px;font-size:.8rem;font-weight:600}.plan2d-faces button.active{background:var(--brand);color:var(--brand-ink)}.plan2d-doorrect{fill:none;stroke:#2f80ed;stroke-dasharray:40 24}.pe-cards{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.pe-card{border:1px solid var(--border);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;border-radius:12px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.pe-card:hover{border-color:var(--brand)}.pe-card .k{color:var(--muted);font-size:.74rem}.pe-card strong{font-size:1.05rem}.pe-card small{color:var(--muted);font-size:.72rem}.pe-card.bad strong{color:#c62828}.pe-card.add strong{color:var(--text);font-size:.92rem;font-weight:600}.pe-card.add strong:before{content:"＋ ";color:var(--accent);font-weight:800}.budget-col:first-child{flex-flow:wrap;gap:6px 18px}.budget-col:first-child>div{flex:auto;min-width:0}.view-picker{position:relative}.view-picker-current{background:var(--brand);color:var(--brand-ink);cursor:pointer;border:0;border-radius:12px;align-items:center;gap:6px;padding:7px 12px;font-size:.85rem;font-weight:700;display:inline-flex;box-shadow:0 2px 8px #00000026}.view-picker-menu{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:2px;min-width:150px;margin:0;padding:4px;list-style:none;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 10px 28px #00000038}.view-picker-menu button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:9px 12px;font-size:.88rem;font-weight:600}.view-picker-menu button.active{background:var(--brand);color:var(--brand-ink)}.view-controls{flex:none;align-items:center;gap:6px;display:flex}@media (width<=899px){.scene-tools-left{flex-wrap:wrap}}.dim-toggle{background:var(--surface);border:1px solid var(--border);border-radius:12px;gap:2px;padding:3px;display:inline-flex;box-shadow:0 2px 8px #0000001f}.dim-toggle button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:5px 10px;font-size:.82rem;font-weight:800}.dim-toggle button.active{background:var(--brand);color:var(--brand-ink)}@media (width<=899px){.sheet-bar{align-items:center;gap:4px;padding-left:4px;padding-right:4px}.sheet-bar .sheet-side{flex:0 0 58px}.sheet-group{background:color-mix(in srgb, var(--brand) 20%, var(--surface));border-radius:16px;flex:auto;gap:2px;min-width:0;margin:6px 0;padding:3px;display:flex}.sheet-group button{min-height:50px;color:var(--text);border-radius:13px}.sheet-bar .sheet-group button.active{background:var(--brand);color:var(--brand-ink)}.sheet-bar .sheet-group button.active span{transform:none}}.pe-card-wide{width:100%}.pe-card-wide strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.piece-preview{touch-action:none;cursor:grab;background:radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--surface) 70%, #fff), var(--bg));border:1px solid var(--border);border-radius:14px;height:200px;margin-bottom:12px;overflow:hidden}.piece-preview canvas{width:100%;height:100%;display:block}@media (width>=900px){.sheet-backdrop{padding-bottom:24px}.sheet{border-radius:20px;max-height:calc(100dvh - 48px)}.sheet-body{padding-bottom:16px}}.sheet{overflow:hidden}.sheet-body{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--text) 28%, transparent) transparent;scrollbar-gutter:stable}.share-doors{grid-template-columns:1fr 1fr;gap:8px;display:grid}.scene-side.tools-closed>.scene-toggle:not(.scene-tools-btn):not(.scene-edit){display:none}.piece-preview-wrap{margin-bottom:12px;position:relative}.piece-preview-wrap .piece-preview{margin-bottom:0}.piece-preview-open{position:absolute;top:8px;right:8px}.pe-cards>.pe-card:only-child{grid-column:1/-1}.walk-height{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:4px;padding:3px 4px 3px 10px;font-size:.82rem;display:inline-flex;box-shadow:0 2px 8px #0000001f}.walk-height span{color:var(--muted);margin-right:2px;font-weight:600}.walk-height strong{text-align:center;font-variant-numeric:tabular-nums;min-width:52px}.walk-height button{background:var(--bg);color:var(--text);cursor:pointer;border:0;border-radius:8px;width:28px;height:28px;font-weight:800}.walk-ui{z-index:3;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:52px;right:12px}.walk-ui>*{pointer-events:auto}.walk-crouch{background:var(--accent);color:#1d2b2a;border-radius:10px;padding:6px 10px;font-size:.8rem;font-weight:700;box-shadow:0 2px 8px #0000002e}.walk-pad{background:color-mix(in srgb, var(--surface) 85%, transparent);border-radius:16px;grid-template-columns:repeat(4,46px);gap:6px;padding:6px;display:grid;box-shadow:0 4px 14px #0000002e}.walk-pad button{background:var(--bg);height:46px;color:var(--text);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border:0;border-radius:12px;font-size:1.1rem;font-weight:800}.walk-pad button:active{background:var(--brand);color:var(--brand-ink)}@media (width<=899px){.walk-height{padding-left:4px}.walk-height span{display:none}.walk-height strong{min-width:46px}}.walk-pose{padding:8px 14px;font-size:.9rem}.linked-amazon{color:var(--brand);white-space:nowrap;margin-left:auto;font-size:.8rem;font-weight:700;text-decoration:none}.linked-amazon+.linked-remove{margin-left:8px}.affiliate-note{opacity:.85;margin:0;font-size:.68rem;line-height:1.35}.route-list{flex-direction:column;gap:4px;margin:0 0 8px;padding:0;list-style:none;display:flex}.route-list li{background:var(--bg);border-radius:10px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:.88rem;display:flex}.route-actions{flex-wrap:wrap;gap:8px;display:flex}.pstats-wide{grid-column:1/-1}.reg-country{align-items:center;gap:8px;display:flex}.reg-country select{border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;border-radius:10px;padding:6px 10px;font-size:.9rem}.reg-body{grid-template-columns:minmax(0,2fr) minmax(220px,1fr);align-items:start;gap:20px;display:grid}.reg-body p{margin:0 0 8px}.reg-points{flex-direction:column;gap:6px;margin:0;padding-left:18px;font-size:.92rem;display:flex}.reg-check{background:var(--bg);border-radius:12px;padding:12px 14px}.reg-check h3{margin:0 0 8px;font-size:.95rem}.reg-check ul{flex-direction:column;gap:6px;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.reg-check li{align-items:baseline;gap:8px;display:flex}.reg-check li span{flex:none;width:1em;font-weight:800}.reg-check li.ok span{color:#2e9e5b}.reg-check li.missing span{color:#c62828}.reg-check li.warn span{color:#d18b00}@media (width<=760px){.reg-body{grid-template-columns:1fr}}.bar-lang{display:none}@media (width>=900px){.bar-lang{flex:none;display:inline-flex}}.reg-cost{background:color-mix(in srgb, var(--accent) 18%, transparent);border-radius:10px;margin:12px 0 0;padding:10px 12px;font-size:.9rem}.play-import{cursor:pointer;align-self:flex-start}.scene-toolbar .view-controls,.scene-toolbar .dim-toggle,.scene-toolbar .walk-height{pointer-events:auto}@media (width<=899px){.public-view .scene-toolbar .view-controls{flex-wrap:wrap;flex:auto;min-width:0}.public-view .scene-toolbar .view-buttons{max-width:100%}.public-view .scene-side{flex:none}}.admin-chart-returning .admin-chart-bar span{background:var(--brand)}.google-btn{background:var(--surface);color:var(--text);border:1px solid var(--border);justify-content:center;align-items:center;gap:10px;font-weight:600;display:flex}.google-btn:hover{border-color:var(--muted)}.auth-or{color:var(--muted);align-items:center;gap:10px;margin:2px 0;font-size:.82rem;display:flex}.auth-or:before,.auth-or:after{content:"";background:var(--border);flex:1;height:1px}.line-estimate-actions a.vevor-btn,a.btn.vevor-btn{color:#e65100;border-color:#f57c00}.msg-btn{position:relative}.msg-btn.has-unread{background:var(--accent);color:#1c2624}.msg-badge{background:var(--danger);color:#fff;min-width:18px;height:18px;box-shadow:0 0 0 2px var(--brand);border-radius:99px;place-items:center;padding:0 5px;font-size:.7rem;font-weight:800;display:grid;position:absolute;top:-5px;right:-5px}.msg-box{flex-direction:column;gap:10px;min-height:0;display:flex}.msg-thread{flex-direction:column;gap:10px;max-height:min(55vh,520px);padding:2px;display:flex;overflow-y:auto}.msg{background:var(--bg);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:6px;max-width:86%;padding:10px 12px;display:flex}.msg-mine{background:color-mix(in srgb, var(--brand) 12%, var(--surface));border-color:color-mix(in srgb, var(--brand) 25%, var(--border));border-bottom-right-radius:4px;align-self:flex-end}.msg-theirs{border-bottom-left-radius:4px;align-self:flex-start}.msg-meta{color:var(--muted);font-size:.75rem}.msg-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.45}.msg-quote{border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;justify-content:space-between;align-items:flex-start;gap:8px;margin:0;padding:6px 10px;font-size:.85rem;display:flex}.msg-image img{border-radius:10px;max-width:100%;max-height:320px;display:block}.msg-delete{color:var(--danger);align-self:flex-end;font-size:.75rem}.msg-compose{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:10px;display:flex}.msg-compose textarea{resize:vertical;width:100%;min-height:70px}.msg-actions{justify-content:space-between;gap:8px;display:flex}.msg-attach{cursor:pointer}.dm-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.dm-item{border:1px solid var(--border);background:var(--surface);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.dm-item:hover{border-color:var(--brand)}.dm-item.is-unread strong{font-weight:800}.dm-item-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.dm-item-main small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dm-when{white-space:nowrap;font-size:.72rem}.dm-unread{background:var(--danger);color:#fff;border-radius:99px;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.72rem;font-weight:800;display:grid}.dm-back{align-self:flex-start}.dm-peer{overflow-wrap:anywhere;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;margin:0;display:flex}.msg-preview{align-self:flex-start;position:relative}.msg-preview img{border:1px solid var(--border);border-radius:10px;max-height:120px;display:block}.msg-preview .icon-btn{color:#fff;background:#0000008c;width:26px;height:26px;position:absolute;top:4px;right:4px}.modal.admin-msg{flex-direction:column;gap:10px;width:min(640px,100%);display:flex}.admin-msg-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-msg-head h2{overflow-wrap:anywhere;margin:0;font-size:1.05rem}.admin-msg-new input{flex:1}.admin-convs{grid-template-columns:minmax(0,1fr);gap:6px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.admin-convs>li{min-width:0}.admin-conv{box-sizing:border-box;text-align:left;cursor:pointer;border:1px solid var(--border);background:var(--surface);width:100%;min-width:0;font:inherit;color:inherit;border-radius:12px;flex-direction:column;gap:3px;padding:10px 12px;display:flex;overflow:hidden}.admin-conv:hover{border-color:var(--brand)}.admin-conv.active{border-color:var(--brand);background:color-mix(in srgb, var(--brand) 8%, var(--surface))}.admin-conv.new{border-style:dashed}.admin-conv-head strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.admin-msgs{grid-template-columns:minmax(0,1fr);gap:12px;min-width:0;display:grid}.admin-msgs-thread{flex-direction:column;gap:10px;min-width:0;display:flex}.admin-msgs-thread .msg-thread{max-height:min(62vh,640px)}.admin-msgs-empty{text-align:center;margin:auto;padding:40px 12px}.admin-msgs-side{flex-direction:column;gap:8px;min-width:0;display:flex}.admin-msgs-side input{box-sizing:border-box;width:100%}.admin-msgs-label{margin:6px 0 0}.admin-msgs-back{display:none}@media (width>=900px){.admin-msgs{grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);align-items:start}.admin-msgs-thread{min-height:420px;position:sticky;top:12px}.admin-msgs-side{max-height:calc(100dvh - 140px);padding-right:2px;overflow-y:auto}}@media (width<=899px){.admin-msgs:not(.has-open) .admin-msgs-thread{display:none}.admin-msgs.has-open .admin-msgs-thread{z-index:60;padding:calc(env(safe-area-inset-top,0px) + 12px) 14px calc(env(safe-area-inset-bottom,0px) + 14px);background:var(--surface);border:0;border-radius:0;margin:0;position:fixed;inset:0;overflow-y:auto}.admin-msgs.has-open .admin-msgs-thread .msg-thread{flex:1;max-height:none}.admin-msgs-back{display:inline-flex}.admin-msgs-thread .admin-msg-head{background:var(--surface);z-index:1;padding-bottom:6px;position:sticky;top:0}}.admin-conv.unread{box-shadow:inset 3px 0 0 var(--accent)}.admin-conv-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-conv-head small{margin-left:auto}.admin-conv-last{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.modal.admin-user{max-width:760px;max-height:calc(100dvh - 32px);overflow-y:auto}.admin-user-actions{gap:8px;display:flex}.admin-user-actions .btn{white-space:nowrap;flex:1 1 0;justify-content:center;align-items:center;gap:6px;padding-inline:10px;display:inline-flex}@media (width>=700px){.admin-user-info{grid-template-columns:1fr 1fr;gap:6px 28px;display:grid}.admin-user-spaces{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}}@media (width<=600px){.admin-user-actions .admin-act-text{display:none}.admin-user-actions .btn{padding-block:10px;font-size:1.15rem}}.lang-units{display:inline-flex;position:relative}.lang-units-btn{color:inherit;cursor:pointer;background:#ffffff24;border:0;border-radius:99px;align-items:center;gap:5px;padding:6px 11px;font-size:.8rem;font-weight:700;display:inline-flex}.lang-units-btn:hover{background:#ffffff38}.lang-units-sep{opacity:.6}.lang-units-caret{opacity:.75;font-size:.7rem}.lang-units-pop{z-index:60;background:var(--surface);min-width:250px;color:var(--text);border:1px solid var(--border);text-align:left;border-radius:14px;flex-direction:column;gap:6px;padding:12px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 30px #00000038}.lang-units-k{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-top:4px;font-size:.72rem;font-weight:700}.lang-units-row{flex-direction:column;gap:4px;display:flex}.lang-units-row button{border:1px solid var(--border);background:var(--bg);color:var(--text);text-align:left;cursor:pointer;border-radius:10px;padding:7px 10px;font-size:.85rem;font-weight:600}.lang-units-row button.active{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.admin-h2{margin:0;font-size:1.1rem}.api-h3{margin:6px 0 0;font-size:.95rem}.api-created{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.api-secret{flex-wrap:wrap;align-items:center;gap:8px;max-width:100%;display:flex}.api-secret code{background:var(--surface);color:var(--text);overflow-wrap:anywhere;user-select:all;border-radius:8px;padding:8px 10px;font-size:.85rem}.api-keys{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.api-keys li{border:1px solid var(--border);border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:10px 12px;display:grid}.api-keys li.is-off{opacity:.55}.api-keys li>small{grid-column:1}.api-keys li>.btn{grid-area:1/2/span 2}.api-key-main{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.api-key-main code,.api-doc code{background:var(--bg);border-radius:6px;padding:1px 6px;font-size:.82rem}.api-basics{flex-direction:column;gap:8px;margin:0;font-size:.9rem;display:flex}.api-basics div{grid-template-columns:150px 1fr;gap:10px;display:grid}.api-basics dt{color:var(--muted)}.api-basics dd{overflow-wrap:anywhere;margin:0}.api-routes td{vertical-align:top;font-size:.88rem}.api-method{text-align:center;color:#fff;background:var(--brand);border-radius:6px;min-width:52px;padding:2px 6px;font-size:.72rem;font-weight:800;display:inline-block}.api-method.m-post{background:var(--paid)}.api-method.m-patch{background:var(--ordered)}.api-example{border:1px solid var(--border);border-radius:10px;overflow:hidden}.api-example-head{background:var(--bg);justify-content:space-between;padding:6px 10px;font-size:.82rem;font-weight:600;display:flex}.api-example pre{margin:0;padding:10px 12px;font-size:.8rem;line-height:1.45;overflow-x:auto}.api-example pre code{background:0 0;padding:0}@media (width<=600px){.api-basics div{grid-template-columns:1fr;gap:2px}}.api-new{grid-template-columns:1fr 200px auto;gap:8px;display:grid}.api-new select{width:100%}@media (width<=600px){.api-new{grid-template-columns:1fr}}.lang-menu>summary{list-style:none}.lang-menu>summary::-webkit-details-marker{display:none}.lang-units-row a{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:10px;padding:7px 10px;font-size:.85rem;font-weight:600;text-decoration:none;display:block}.lang-units-row a.active{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.lang-units-pair{flex-direction:row}.lang-units-pair button{text-align:center;flex:1}.lang-menu .lang-units-row button.active{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.piece-tag{background:color-mix(in srgb, var(--brand) 18%, transparent);color:var(--text);vertical-align:1px;border-radius:99px;margin-left:6px;padding:1px 7px;font-size:.72rem;font-weight:700;display:inline-block}.lift-box legend span{color:var(--brand)}.sheet.sheet-wide{max-width:1040px}.community{max-width:860px;padding:16px 0 calc(var(--tabbar-h,64px) + 24px);flex-direction:column;gap:12px;margin:0 auto;display:flex}.com-list{flex-direction:column;gap:16px;display:flex}.com-head h2{margin:0 0 6px}.com-head p{margin:0}.com-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0;display:flex}.com-toolbar .grow,.com-profile-card .grow{flex:1}.com-profile-btn{align-items:center;gap:8px;max-width:220px;padding-left:6px;display:inline-flex}.com-profile-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.com-gear{justify-content:center;width:44px;padding:0;font-size:1.15rem}.com-avatar{background:color-mix(in srgb, var(--brand) 20%, transparent);width:30px;height:30px;color:var(--text);border-radius:50%;flex:none;place-items:center;font-size:.9rem;font-weight:800;display:grid}.com-avatar.big{width:44px;height:44px;font-size:1.2rem}.com-profile-card{align-items:center;gap:12px;display:flex}.com-handle{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.com-handle small{flex-basis:100%}.com-handle code{background:var(--bg);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:8px;padding:2px 8px;font-size:.9rem}.com-profile-who{flex-direction:column;gap:4px;min-width:0;display:flex}.com-ok{color:#1f7a45;margin:0}.com-filters{grid-template-columns:minmax(0,2fr) minmax(0,1.4fr) minmax(0,1.2fr);align-items:center;gap:8px;display:grid}.com-filters input,.com-filters select{min-width:0}@media (width<=720px){.com-filters{grid-template-columns:1fr 1fr}.com-filters input{grid-column:1/-1}}.com-topics,.com-replies{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.com-topic{text-align:left;border:1px solid var(--border);cursor:pointer;width:100%;color:inherit;font:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.com-guest{margin:-6px 0 0}.com-guest-reply{align-items:flex-start}.com-guest-reply p{margin:0}.community-page{flex-direction:column;min-height:100vh;display:flex}.community-page-main{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:8px 16px 32px}.community-page-main .community{padding-bottom:16px}.community-page .landing-bar-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.community.wide{max-width:1240px}.com-pane-tabs{background:var(--bg);border:1px solid var(--border);border-radius:12px;gap:4px;padding:4px;display:none}.com-pane-tabs button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;padding:8px 12px;font-weight:600}.count-dot{color:#fff;text-align:center;background:#e5484d;border-radius:99px;min-width:17px;height:17px;padding:0 5px;font-size:.66rem;font-style:normal;font-weight:800;line-height:17px;display:inline-block}.tab-icon .count-dot{box-shadow:0 0 0 2px var(--surface);position:absolute;top:-5px;left:calc(100% - 4px)}.com-pane-tabs .count-dot{vertical-align:1px;margin-left:6px}.com-pane-tabs button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000001f}.com-columns{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.com-col-topics,.com-col-articles{flex-direction:column;gap:12px;min-width:0;display:flex}.com-col-articles h3,.com-col-articles>p{margin:0}.com-articles-empty{border:1px dashed var(--border);text-align:center;border-radius:12px;padding:16px}.com-article-item{border:1px solid var(--border);color:inherit;flex-direction:column;gap:4px;text-decoration:none;display:flex}.com-article-item:hover{border-color:var(--brand)}.com-article-item>small{font-size:.76rem}.com-article-item>strong{font-size:.98rem;line-height:1.3}.com-article-summary{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:.85rem;line-height:1.4;display:-webkit-box;overflow:hidden}.com-article-counts{gap:12px;margin-top:2px;font-size:.8rem;display:flex}.com-kind.article{color:#1f7a45;background:#2e9e5b2e}.com-article-lead{margin:0;font-weight:600;line-height:1.5}.article-body{overflow-wrap:anywhere;line-height:1.6}.article-body>:first-child{margin-top:0}.article-body p{margin:0 0 12px}.article-body h3{margin:20px 0 8px;font-size:1.1rem}.article-body h4{margin:14px 0 6px;font-size:1rem}.article-body ul,.article-body ol{margin:0 0 12px;padding-left:22px}.article-body li{margin:4px 0}.article-body a{color:inherit;text-decoration:underline}.article-note,.rte-area blockquote{border-left:3px solid var(--brand);background:var(--bg);border-radius:0 8px 8px 0;padding:10px 12px}.af-serif{font-family:Georgia,Times New Roman,serif}.af-mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.94em}.af-small{font-size:.875em}.af-large{font-size:1.25em}.article-body a.article-shop,.article-shop{border:1px solid var(--border);background:var(--surface);color:var(--text);vertical-align:1px;white-space:nowrap;border-radius:999px;margin:0 2px;padding:0 8px;font-size:.74rem;font-weight:600;line-height:1.6;text-decoration:none;display:inline-block}.article-body a.article-shop:hover{border-color:var(--brand)}.article-body a.article-shop.vevor,.article-shop.vevor{color:#e65100;border-color:#f57c00}.article-body .affiliate-note{margin-top:16px}.com-article-thumb{aspect-ratio:2.2;object-fit:cover;background:var(--bg);border-radius:8px;width:100%;margin-bottom:6px}.com-article-hero{margin:0}.com-article-hero img{aspect-ratio:16/9;object-fit:cover;background:var(--bg);border-radius:10px;width:100%;display:block}.com-article-hero figcaption{text-align:right;margin-top:4px;font-size:.7rem}.com-article-hero figcaption a{color:inherit}@media (width<=860px){.com-pane-tabs{display:flex}.com-columns{grid-template-columns:minmax(0,1fr)}.com-columns[data-pane=topics] .com-col-articles,.com-columns[data-pane=articles] .com-col-topics{display:none}}.admin-article{flex-direction:column;gap:8px;display:flex}.admin-article-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-article-actions .grow{flex:1}.admin-article-quote{border-left:3px solid var(--border);color:var(--muted);white-space:pre-wrap;margin:0;padding:6px 10px}.admin-article-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.admin-article-meta{grid-template-columns:minmax(0,2fr) minmax(0,1.4fr) 100px;gap:8px;display:grid}.admin-article-cover{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:12px;display:grid}.admin-article-cover>img,.admin-article-nocover{aspect-ratio:16/9;object-fit:cover;background:var(--bg);border-radius:8px;width:100%}.admin-article-nocover{border:1px dashed var(--border);place-items:center;display:grid}.rte{border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow:hidden}.rte:focus-within{border-color:var(--brand)}.rte-bar{border-bottom:1px solid var(--border);background:var(--bg);flex-wrap:wrap;align-items:center;gap:2px;padding:6px;display:flex}.rte-btn{min-width:34px;height:34px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0 7px;font-size:.86rem;display:inline-flex}.rte-btn:hover{background:var(--border)}.rte-btn[data-active]{background:var(--brand);color:#fff}.rte-sel{border:1px solid var(--border);background:var(--surface);width:auto;height:34px;min-height:34px;color:var(--text);font:inherit;border-radius:6px;padding:0 6px;font-size:.86rem}.rte-sep{background:var(--border);width:1px;height:22px;margin:0 4px}.rte-area{outline:none;min-height:420px;max-height:70vh;padding:14px 16px;overflow-y:auto}.rte-area a{color:inherit;text-decoration:underline}.rte-area font[face=inherit]{font-family:inherit}.rte-area font[face=serif]{font-family:Georgia,Times New Roman,serif}.rte-area font[face=monospace]{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.94em}.rte-area font[size="2"]{font-size:.875em}.rte-area font[size="3"]{font-size:1em}.rte-area font[size="5"]{font-size:1.25em}.rte-area .article-shop{cursor:pointer;user-select:none}.rte-area blockquote{margin:0 0 12px}@media (width<=860px){.admin-article-meta,.admin-article-cover{grid-template-columns:minmax(0,1fr)}}.community-fallback{max-width:860px;margin:0 auto;padding:24px 16px}.com-topic:hover{border-color:var(--brand)}.com-topic.is-hidden,.com-reply.is-hidden{opacity:.6}.com-topic-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.com-topic-main strong{flex-wrap:wrap;align-items:center;gap:6px;font-size:.98rem;display:flex}.com-counts{white-space:nowrap;flex-direction:column;align-items:flex-end;gap:2px;font-size:.82rem;display:flex}.kind-icon{flex:none;display:block}.com-kinds .chip{align-items:center;gap:6px;display:inline-flex}.segmented.three button:has(.kind-icon){justify-content:center;align-items:center;gap:6px;display:inline-flex}.com-kind{background:var(--bg);width:36px;height:36px;color:var(--brand);border-radius:10px;flex:none;place-items:center;font-weight:800;display:grid}.com-kind.question{color:#8a6a00;background:#f2c94c4d}.com-kind.share{background:color-mix(in srgb, var(--brand) 18%, transparent)}.com-kind.discussion{color:#3a68b0;background:#4a7fd02e}@media (prefers-color-scheme:dark){.com-kind.question{color:#f2c94c}.com-kind.discussion{color:#8db4f0}}.com-badge{background:var(--bg);color:var(--muted);border-radius:99px;margin-left:6px;padding:1px 8px;font-size:.72rem;font-weight:700;display:inline-block}.com-badge.solved{color:#1f7a45;background:#2e9e5b2e}.com-badge.share{background:color-mix(in srgb, var(--brand) 18%, transparent);color:var(--text)}.com-empty{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.com-back{align-self:flex-start}.com-thread{flex-direction:column;gap:12px;display:flex}.com-thread-head{align-items:flex-start;gap:12px;display:flex}.com-thread-head h2{margin:0 0 4px;font-size:1.25rem}.com-thread-head p{margin:0}.com-post,.com-reply{flex-direction:column;gap:10px;display:flex}.com-reply p{margin:0}.com-reply.solution{border:2px solid #2e9e5b}.com-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.com-body a{color:var(--brand)}.com-model{border:1px solid var(--border);background:var(--bg);border-radius:12px;overflow:hidden}.com-model .com-model-scene{height:min(62vh,520px);min-height:300px}.com-model.compact .com-model-scene{height:min(45vh,340px);min-height:240px}.com-model-msg{height:100%;margin:0}.com-model-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.com-share{background:var(--bg);border:1px solid var(--border);color:inherit;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex}.com-share:hover{border-color:var(--brand)}.com-share>span:nth-child(2){flex-direction:column;flex:1;gap:2px;display:flex}.com-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.com-actions .grow{flex:1}.com-actions .link-btn.danger{color:var(--danger)}.com-like{border:1px solid var(--border);background:var(--bg);color:var(--muted);cursor:pointer;border-radius:99px;padding:4px 12px;font-weight:700}.com-like.on{color:#d0384b;background:#d0384b1a;border-color:currentColor}.com-replies-title{margin:8px 0 0;font-size:1rem}.com-reply-form{flex-direction:column;gap:10px;display:flex}.com-reply-form .btn{align-self:flex-end}.com-rules ul{flex-direction:column;gap:4px;margin:8px 0 0;padding-left:18px;font-size:.9rem;display:flex}.beta-badge{vertical-align:middle;background:var(--accent);color:#1c2624;letter-spacing:.04em;text-transform:uppercase;border-radius:99px;margin-left:6px;padding:2px 8px;font-size:.68rem;font-weight:800;display:inline-block}.tab-icon{position:relative}.beta-dot{background:var(--accent);color:#1c2624;border-radius:99px;padding:0 4px;font-size:.6rem;font-weight:800;line-height:1.4;position:absolute;top:-6px;right:-12px}.com-beta-note{margin-top:4px}.com-photos-pick{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.com-photo-thumb{border:1px solid var(--border);border-radius:10px;width:84px;height:84px;position:relative;overflow:hidden}.com-photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.com-photo-thumb .icon-btn{color:#fff;background:#0009;width:24px;height:24px;min-height:0;padding:0;font-size:.75rem;position:absolute;top:3px;right:3px}.com-photo-add{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.com-photo-add.disabled{opacity:.5;pointer-events:none}.com-photo-hint{flex-basis:100%}.com-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.com-gallery.n1{grid-template-columns:minmax(0,1fr)}.com-gallery.n2{grid-template-columns:repeat(2,minmax(0,1fr))}.com-gallery-item{cursor:zoom-in;background:var(--bg);aspect-ratio:4/3;border:0;border-radius:10px;padding:0;overflow:hidden}.com-gallery.n1 .com-gallery-item{aspect-ratio:auto;max-height:480px}.com-gallery-item img{object-fit:cover;width:100%;height:100%;display:block}.com-gallery.n1 .com-gallery-item img{object-fit:contain;max-height:480px}.com-lightbox{z-index:1000;cursor:zoom-out;background:#000000e0;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.com-lightbox img{object-fit:contain;border-radius:6px;max-width:100%;max-height:100%}.com-lightbox-close{top:calc(env(safe-area-inset-top,0px) + 12px);color:#fff;background:#ffffff26;position:absolute;right:12px}.com-lightbox-count{color:#fff;font-size:.85rem;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.com-share-pick{border:1px dashed var(--border);border-radius:12px;padding:10px}.landing-community,.auth-community{color:inherit;border:1px solid color-mix(in srgb, currentColor 25%, transparent);background:color-mix(in srgb, currentColor 6%, transparent);border-radius:14px;align-items:center;gap:12px;max-width:460px;margin-top:18px;padding:12px 16px;text-decoration:none;display:inline-flex}.landing-community:hover,.auth-community:hover{border-color:currentColor}.landing-community>span:nth-child(2),.auth-community>span:nth-child(2){text-align:left;flex-direction:column;gap:2px;display:flex}.landing-community small,.auth-community small{opacity:.8;font-size:.82rem}.auth-community{width:100%;max-width:420px;margin:4px 0 8px}.guide-community{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-wrap:wrap;align-items:center;gap:16px;max-width:860px;margin:32px auto;padding:20px;display:flex}.guide-community h2{margin:0 0 4px;font-size:1.15rem}.guide-community p{color:var(--muted);margin:0}.guide-community>div{flex:280px}.guide-community-icon{font-size:1.8rem}@media (width<=900px){.guide-community{margin:24px 16px}}.admin-flag{color:var(--text);background:#e0a10029;border-radius:8px;margin:0;padding:6px 10px;font-size:.85rem}.admin-thumbs{flex-wrap:wrap;gap:6px;display:flex}.admin-thumbs img{object-fit:cover;border-radius:8px;width:96px;height:96px;display:block}.admin-gallery{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px;display:grid}.admin-gallery-item{aspect-ratio:1;cursor:zoom-in;background:var(--bg);border:0;border-radius:8px;padding:0;position:relative;overflow:hidden}.admin-gallery-item img{object-fit:cover;width:100%;height:100%;display:block}.admin-gallery-item.is-hidden img{opacity:.45}.admin-gallery-tag{color:#fff;background:#000000a6;border-radius:99px;padding:1px 6px;font-size:.7rem;position:absolute;bottom:4px;left:4px}.admin-photo{flex-direction:column;gap:10px;max-width:min(900px,94vw);display:flex}.admin-photo img{object-fit:contain;border-radius:8px;max-width:100%;max-height:70vh}.admin-word-form{grid-template-columns:2fr 1fr 1.5fr auto;gap:6px;display:grid}@media (width<=720px){.admin-word-form{grid-template-columns:1fr 1fr}}.admin-words{flex-wrap:wrap;gap:6px;display:flex}.admin-word{border:1px solid var(--border);background:var(--surface);border-radius:99px;align-items:center;gap:6px;padding:3px 4px 3px 10px;font-size:.85rem;display:inline-flex}.admin-word.mask{border-color:color-mix(in srgb, var(--danger) 45%, var(--border))}.admin-word.review{border-color:color-mix(in srgb, #e0a100 55%, var(--border))}.admin-word small{color:var(--muted)}.admin-word button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 6px}.admin-fab,.admin-menu-backdrop{display:none}@media (width<=760px){.admin-tabs{display:none}.admin-tabs.open{right:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 84px);z-index:71;background:var(--surface);border:1px solid var(--border);border-radius:18px;flex-direction:column;gap:6px;min-width:210px;padding:10px;display:flex;position:fixed;overflow:visible;box-shadow:0 12px 40px #00000040}.admin-tabs.open button{flex:none;justify-content:space-between;padding:11px 14px;font-size:.95rem}.admin-menu-backdrop{z-index:70;background:#00000040;display:block;position:fixed;inset:0}.admin-fab{right:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);z-index:72;background:var(--brand);color:var(--brand-ink);font:inherit;cursor:pointer;border:0;border-radius:99px;align-items:center;gap:8px;padding:14px 18px;font-weight:700;display:inline-flex;position:fixed;box-shadow:0 8px 24px #00000047}.admin-fab>span:first-child{font-size:1.15rem;line-height:1}.admin-fab .admin-count{margin-left:2px}.admin-main{padding-bottom:96px}}.com-badge.role-team{background:var(--brand);color:var(--brand-ink)}.com-badge.role-ambassador{color:var(--text);background:#d9a40038}.ambassador-note{background:#d9a4002e;border-radius:12px;margin:0;padding:8px 12px;font-size:.9rem;font-weight:600}.admin-members{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.admin-member{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;display:grid}.admin-member-who{overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:6px;min-width:0;display:flex}.admin-member-stats{grid-column:1}.admin-member select{grid-area:1/2/span 2}.admin-member.role-team{border-color:var(--brand)}.admin-member.role-ambassador{border-color:#d9a400}@media (width<=560px){.admin-member{grid-template-columns:minmax(0,1fr)}.admin-member select{grid-area:auto/1}}.com-author{font:inherit;color:var(--text);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline dotted}.com-author:hover{text-decoration-style:solid}.com-tag{color:var(--muted);font-size:.9em;font-weight:400}.com-author-card p{margin:0}.com-thread-head>div{flex:1;min-width:0}.com-stats-btn{flex-shrink:0;font-size:.85rem}.com-stat-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin-bottom:16px;display:grid}.com-stat{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.com-stat strong{font-variant-numeric:tabular-nums;color:var(--text);font-size:1.3rem}.com-stat span{color:var(--muted);font-size:.78rem}.com-stats h4{margin:0 0 8px;font-size:.9rem}.com-stat-chart{border-bottom:1px solid var(--border);align-items:flex-end;gap:2px;height:120px;padding-bottom:1px;display:flex}.com-stat-col{cursor:default;flex:1;align-items:flex-end;height:100%;display:flex}.com-stat-col:hover .com-stat-bar{opacity:.75}.com-stat-bar{background:var(--brand);border-radius:4px 4px 0 0;width:100%;min-height:1px}.com-stat-axis{justify-content:space-between;margin:4px 0 12px;display:flex}.com-author-actions{flex-direction:column;gap:8px;display:flex}.dm-h3{margin:12px 0 0;font-size:.95rem}.msg .link-btn.small{opacity:.75;font-size:.72rem}.models-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.models-card{flex-direction:column;align-items:stretch;gap:8px;min-width:0;padding:10px;display:flex}.models-hit{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;padding:0}.models-thumb{aspect-ratio:16/10;background:var(--bg);border-radius:8px;width:100%;display:block;overflow:hidden}.models-thumb img,.layout-thumb-img{object-fit:cover;width:100%;height:100%;display:block}.layout-thumb-img{aspect-ratio:16/10;border-radius:8px;max-width:280px;height:auto}.models-thumb-empty{width:100%;height:100%;color:var(--muted);place-items:center;font-size:1.4rem;font-weight:800;display:grid}.models-card-head{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.models-title{flex-direction:column;gap:2px;min-width:0;display:flex}.models-title strong{overflow-wrap:anywhere;line-height:1.25}.models-go{flex:none}@media (width<=700px){.models-go{display:none}}.models-scene{height:55dvh}.models-wrap{display:inline-flex;position:relative}.bar-btn svg{flex:none}.models-hint{z-index:30;background:var(--text);width:max-content;max-width:min(260px,80vw);color:var(--bg);border-radius:12px;align-items:center;gap:2px;padding:4px 4px 4px 12px;animation:.3s ease-out models-hint-in;display:flex;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 6px 20px #00000040}.models-hint:before{content:"";background:var(--text);border-radius:2px;width:12px;height:12px;position:absolute;top:-6px;right:22px;transform:rotate(45deg)}.models-hint button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;position:relative}.models-hint-text{text-align:left;padding:8px 4px;font-size:.86rem;font-weight:600}.models-hint-x{opacity:.7;padding:8px}@keyframes models-hint-in{0%{opacity:0;transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.models-hint{animation:none}}.models-mini{pointer-events:none;width:100%;height:100%;position:relative}.space-viewer-split{flex-direction:column;flex:1;gap:14px;min-height:0;display:flex}.space-viewer-split.with-model{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;display:grid}.space-viewer-split.with-model .space-viewer-3d{min-width:0}.space-viewer-split.with-model .space-viewer-scene{min-height:60dvh}.space-viewer-model{position:sticky;top:0}.models-panel-meta{grid-template-columns:minmax(0,1fr) 90px;align-items:end}@media (width<=860px){.space-viewer-split.with-model{flex-direction:column;display:flex}.space-viewer-split.with-model .space-viewer-3d{order:1}.space-viewer-split.with-model .space-viewer-model{order:2;position:static}.space-viewer-head{flex-wrap:wrap;row-gap:6px}.space-viewer-title{flex:100%}.space-viewer-head .bar-btn{margin-left:0}.space-viewer-body{padding:10px 12px 16px}}.template-edit-bar{background:color-mix(in srgb, var(--accent) 35%, var(--surface));border-bottom:1px solid var(--border);flex-wrap:wrap;flex:none;grid-column:1/-1;align-items:center;gap:6px 10px;padding:5px 12px;font-size:.85rem;font-weight:600;display:flex}.template-edit-bar .grow{flex:1}.template-edit-bar .btn{min-height:30px;padding:3px 12px;font-size:.82rem}.template-edit-msg{opacity:.85;font-weight:500}.models-catalog summary{cursor:pointer}.models-catalog-body{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px 20px;max-height:50vh;margin-top:12px;display:grid;overflow-y:auto}.models-catalog-brand h4{margin:0 0 4px;font-size:.9rem}.models-catalog-brand ul{margin:0;padding:0;list-style:none}.models-catalog-brand li{opacity:.75;align-items:center;gap:6px;padding:2px 0;font-size:.85rem;display:flex}.models-catalog-brand li.has{opacity:1;font-weight:600}.models-catalog-brand li .link-btn:first-child{text-align:left;flex:1}
