@import"https://fonts.googleapis.com/css2?family=Archivo:wght@400;600;800&display=swap";.pin-picker{display:flex;flex-direction:column;gap:var(--space-2)}.pin-kinds{grid-template-columns:repeat(2,1fr)}.pin-picker-plan{position:relative;cursor:crosshair;border:2px solid var(--color-divider);background:var(--color-surface);-webkit-user-select:none;user-select:none}.pin-picker-plan img{display:block;width:100%;height:auto}.pin{position:absolute;transform:translate(-50%,-50%);padding:2px 8px;font-size:12px;font-weight:800;border:2px solid var(--color-bg);cursor:pointer;white-space:nowrap}.pin-room{background:var(--color-accent);color:var(--color-bg)}.pin-common{background:var(--color-text);color:var(--color-bg)}.pin-floor h3{font-size:14px;margin:var(--space-2) 0 var(--space-1)}.quick-setup{display:flex;flex-direction:column;gap:var(--space-6)}.quick-step h2{font-size:22px;display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.quick-num{display:inline-grid;place-items:center;width:30px;height:30px;background:var(--color-accent);color:var(--color-bg);font-size:16px}.quick-drop{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:var(--space-6) var(--space-4);background:var(--color-surface);color:var(--color-text);border:2px dashed var(--color-divider);font-family:var(--font-body);font-weight:400}.quick-drop strong{font-family:var(--font-heading);font-weight:800;font-size:18px}.quick-drop span{font-size:13px;color:color-mix(in srgb,var(--color-text) 65%,transparent)}.quick-drop.has-files{border-style:solid;border-color:var(--color-accent)}.quick-drop:hover:not(:disabled){background:var(--color-neutral-200)}.quick-rejected{color:var(--color-accent-700);font-size:13px;margin:var(--space-2) 0 0}.quick-levels{list-style:none;padding:0;margin:var(--space-2) 0 0;display:flex;flex-direction:column;gap:6px}.quick-levels li{display:flex;align-items:center;gap:var(--space-2)}.quick-levels img{width:56px;height:40px;object-fit:cover;background:#fff;border:1px solid var(--color-divider)}.quick-levels input{flex:1;max-width:240px}.quick-remove{background:transparent;color:var(--color-text);border:1px solid var(--color-divider);padding:4px 8px}.quick-types{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-2)}.quick-type{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--space-3);background:var(--color-surface);color:var(--color-text);border:2px solid transparent;font-size:14px}.quick-type:hover:not(:disabled){background:var(--color-neutral-200)}.quick-type.active{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-100)}.quick-type-icon{font-size:36px;line-height:1}.quick-help{font-size:13px;color:color-mix(in srgb,var(--color-text) 65%,transparent);margin:0 0 var(--space-2)}.quick-width{display:flex;align-items:center;gap:var(--space-3)}.quick-width input[type=range]{flex:1;min-height:0;padding:0;accent-color:var(--color-accent);border:0;background:transparent}.quick-width span{min-width:4em}.quick-width output{font-family:var(--font-heading);font-weight:800;min-width:4em;text-align:right}.quick-area{font-family:var(--font-heading);font-weight:800;margin:var(--space-2) 0 0}.quick-link{background:transparent;color:var(--color-accent);border:0;padding:4px 0;font-family:var(--font-body);font-weight:400;text-decoration:underline;text-underline-offset:3px}.quick-go{font-size:20px;padding:var(--space-3) var(--space-4);width:100%}@media (max-width: 640px){.quick-types{grid-template-columns:repeat(2,1fr)}}.quick-floors{display:flex;gap:var(--space-2)}.quick-floors .quick-type{min-width:3em;padding:var(--space-2) var(--space-3)}.floor-plate-drawer{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.floor-plate-canvas{flex:1;width:100%;cursor:crosshair;z-index:12}.floor-plate-controls{display:flex;gap:8px;align-items:center;padding:8px;background:var(--c-surface, #fff);border-top:1px solid var(--c-border, #ddd)}.floor-plate-controls-inactive{display:none}.floor-plate-area{font-weight:600}.no-mount-zone-drawer{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.no-mount-zone-canvas{flex:1;width:100%;cursor:crosshair;z-index:12}.no-mount-zone-controls{display:flex;gap:8px;align-items:center;padding:8px;background:var(--c-surface, #fff);border-top:1px solid var(--c-border, #ddd)}.no-mount-zone-controls-inactive{display:none}.no-mount-zone-count{font-weight:600}.section-line-drawer{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.section-line-canvas{flex:1;width:100%;cursor:crosshair;z-index:13}.section-line-controls{display:flex;gap:8px;align-items:center;padding:8px;background:var(--c-surface, #fff);border-top:1px solid var(--c-border, #ddd)}.section-line-controls-inactive{display:none}.section-view{padding:8px 12px;background:var(--color-surface);border-top:1px solid var(--color-divider)}.section-view-title{font-size:.8rem;color:color-mix(in srgb,var(--color-text) 60%,transparent);margin-bottom:4px}.section-view-canvas{width:100%;max-width:720px;display:block;background:#0f141b}.section-view-labels{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.level-rail{position:absolute;top:8px;right:12px;display:flex;flex-direction:column;gap:4px;z-index:10;align-items:stretch}.level-rail-btn{min-width:32px;height:32px;padding:0 10px;white-space:nowrap;font-size:12px;border:1px solid var(--color-divider, #ccc);background:var(--color-bg, #fff);color:var(--color-text, #201e1d);cursor:pointer}.level-rail-active{background:var(--color-accent, #ec3013);color:var(--color-bg, #fff);border-color:var(--color-accent, #ec3013)}.level-rail-ghost-toggle{margin-top:6px;font-size:.7rem;padding:4px;border:1px solid var(--color-divider, #ccc);background:var(--color-bg, #fff);color:var(--color-text, #201e1d);cursor:pointer}.ap-budget-panel{display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--color-surface);border-top:2px solid var(--color-divider);color:var(--color-text)}.ap-budget-reasoning{margin:0;font-size:.85rem;color:var(--color-text)}.ap-budget-input-row{display:flex;align-items:center;gap:6px}.ap-budget-input-row input{width:4em}.plan-canvas{color:var(--color-text);display:flex;flex-direction:column;height:100%;min-height:600px;border-radius:0;overflow:hidden;border:1px solid var(--color-text);background:var(--color-surface)}.plan-canvas-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-surface);border-bottom:1px solid var(--color-divider);flex-wrap:wrap}.toolbar-group{display:flex;align-items:center;gap:4px}.toolbar-group+.toolbar-group{margin-left:8px;padding-left:8px;border-left:1px solid var(--color-divider)}.toolbar-right{margin-left:auto}.toolbar-label{font-size:.75rem;color:color-mix(in srgb,var(--color-text) 60%,transparent);margin-right:4px}.tool-btn{padding:4px 10px;border-radius:0;border:1px solid var(--color-divider);background:var(--color-divider);color:var(--color-text);font-size:.8rem;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.tool-btn:hover{background:var(--color-divider);border-color:var(--color-divider)}.tool-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}.tool-btn.danger{background:var(--color-accent-700);border-color:var(--color-accent-700)}.tool-btn.danger:hover{background:var(--color-accent-700)}.material-btn{padding:3px 8px;border-radius:0;border:1px solid var(--color-divider);background:var(--color-surface);color:color-mix(in srgb,var(--color-text) 60%,transparent);font-size:.75rem;cursor:pointer;text-transform:capitalize;transition:background .15s}.material-btn:hover{background:var(--color-divider)}.material-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.wall-count{font-size:.78rem;color:color-mix(in srgb,var(--color-text) 60%,transparent);margin-right:6px}.wall-count.ap-ceiling{color:#38a169}.wall-count.ap-wall{color:#d69e2e}.wall-count.ap-mesh-wired{color:#6b46c1}.wall-count.ap-mesh-wireless{color:#9f7aea}.tool-btn.analyze-btn{background:#276749;border-color:#1e4f37;color:#c6f6d5;font-weight:600}.tool-btn.analyze-btn:hover:not(:disabled){background:#2f855a;border-color:#276749}.tool-btn.analyze-btn:disabled{opacity:.4;cursor:not-allowed}.opacity-slider{width:80px;accent-color:var(--color-accent);cursor:pointer}.legend-label{font-weight:600;color:color-mix(in srgb,var(--color-text) 60%,transparent)}.plan-canvas-hint{padding:6px 14px;background:var(--color-accent-100);color:var(--color-accent);font-size:.78rem;border-bottom:1px solid var(--color-divider);text-align:center}.plan-canvas-viewport{position:relative;flex:1;min-height:480px}.plan-canvas-viewport>:first-child{position:absolute;top:0;right:0;bottom:0;left:0;width:100%!important;height:100%!important}.plan-canvas-legend{display:flex;gap:20px;padding:6px 14px;background:var(--color-surface);border-top:1px solid var(--color-divider);font-size:.72rem;color:color-mix(in srgb,var(--color-text) 60%,transparent);flex-wrap:wrap}.coverage-stats{background:var(--color-surface);border-top:2px solid var(--color-divider);padding:14px 16px 12px}.cs-header{display:flex;align-items:center;gap:14px;margin-bottom:12px}.cs-covered-badge{display:flex;flex-direction:column;align-items:center;background:var(--color-divider);border-radius:0;padding:6px 14px;min-width:64px;flex-shrink:0}.cs-covered-pct{font-size:1.4rem;font-weight:700;color:#68d391;line-height:1.1}.cs-covered-label{font-size:.68rem;color:color-mix(in srgb,var(--color-text) 60%,transparent);margin-top:1px}.cs-title-block{flex:1}.cs-title{margin:0 0 2px;font-size:.88rem;color:var(--color-text);font-weight:600}.cs-subtitle{margin:0;font-size:.75rem;color:color-mix(in srgb,var(--color-text) 60%,transparent)}.cs-export-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 14px;border-radius:0;border:none;background:linear-gradient(135deg,var(--color-accent),#553c9a);color:#fff;font-size:.82rem;font-weight:600;cursor:pointer;flex-shrink:0;transition:opacity .15s}.cs-export-btn:hover{opacity:.88}.cs-export-price{font-size:.72rem;font-weight:400;color:#bee3f8}.cs-bar-wrap{display:flex;height:18px;border-radius:0;overflow:hidden;margin-bottom:8px;gap:1px}.cs-bar-seg{display:flex;align-items:center;justify-content:center;transition:width .4s ease}.cs-bar-label{font-size:.68rem;font-weight:700;color:#ffffffe6}.cs-tier-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:10px}.cs-tier-item{display:flex;align-items:center;gap:4px;font-size:.72rem}.cs-tier-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.cs-tier-name{color:color-mix(in srgb,var(--color-text) 60%,transparent)}.cs-tier-pct{color:var(--color-text);font-weight:600}.cs-ap-row{display:flex;gap:8px;flex-wrap:wrap}.cs-ap-chip{font-size:.72rem;padding:2px 8px;border-radius:0;border:1px solid}.cs-ap-ceiling{color:#68d391;border-color:#2f855a;background:rgba(56,161,105,.12)}.cs-ap-wall{color:#f6e05e;border-color:#b7791f;background:rgba(214,158,46,.12)}.cs-ap-mesh-wired{color:#b794f4;border-color:#6b46c1;background:rgba(107,70,193,.12)}.cs-ap-mesh-wireless{color:#d6bcfa;border-color:#9f7aea;background:rgba(159,122,234,.12)}.cs-ap-empty{color:color-mix(in srgb,var(--color-text) 60%,transparent);font-size:.72rem}.cs-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;z-index:1000}.cs-modal{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:0;padding:24px 28px;width:360px;max-width:92vw;box-shadow:0 20px 60px #00000080}.cs-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.cs-modal-header h3{margin:0;font-size:1rem;color:var(--color-text)}.cs-modal-close{background:none;border:none;color:color-mix(in srgb,var(--color-text) 60%,transparent);font-size:1rem;cursor:pointer;padding:0 4px}.cs-modal-close:hover{color:var(--color-text)}.cs-modal-price-row{display:flex;align-items:baseline;gap:8px;margin-bottom:14px}.cs-modal-price{font-size:1.6rem;font-weight:700;color:#68d391}.cs-modal-price-note{font-size:.78rem;color:color-mix(in srgb,var(--color-text) 60%,transparent)}.cs-modal-features{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:7px}.cs-modal-features li{font-size:.82rem;color:color-mix(in srgb,var(--color-text) 60%,transparent)}.cs-modal-pay-btn{width:100%;padding:12px;border-radius:0;border:none;background:linear-gradient(135deg,#276749,var(--color-accent));color:#fff;font-size:.92rem;font-weight:700;cursor:pointer;transition:opacity .15s;margin-bottom:10px}.cs-modal-pay-btn:hover:not(:disabled){opacity:.88}.cs-modal-pay-btn:disabled{opacity:.5;cursor:not-allowed}.cs-modal-pay-btn.done{background:#276749}.cs-modal-stripe-note{text-align:center;font-size:.72rem;color:var(--color-divider);margin:0}.level-settings .level-num{width:4.5em}.rack-marker{position:absolute;transform:translate(-50%,-50%);color:#3182ce;font-size:1.1rem;line-height:1;text-align:center;pointer-events:none;z-index:30;text-shadow:0 0 3px #fff,0 0 3px #fff}.rack-marker-label{display:block;font-size:.58rem;font-weight:700;letter-spacing:.04em}.rack-place-overlay{position:absolute;top:0;right:0;bottom:0;left:0;cursor:crosshair;z-index:40;background:rgba(49,130,206,.08)}.plan-watermark{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:35;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='280' height='190'><text x='140' y='95' font-family='sans-serif' font-size='15' font-weight='700' fill='%23718096' fill-opacity='0.28' text-anchor='middle' transform='rotate(-24 140 95)'>wifi-planner.homeauto.sg · PREVIEW</text></svg>") repeat}.unlock-band{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-3) var(--space-4);background:var(--color-accent);color:var(--color-bg)}.unlock-band>div{display:flex;flex-direction:column;gap:2px;margin-right:auto}.unlock-band strong{font-family:var(--font-heading);font-weight:800;font-size:16px}.unlock-band span{font-size:13px;opacity:.9}.unlock-band button{background:var(--color-bg);color:var(--color-accent);border:0;padding:8px 16px}.unlock-band button:hover:not(:disabled){background:var(--color-neutral-100)}.unlock-band-error{flex-basis:100%;margin:0;font-size:13px}.building-result-panel{background:var(--color-bg);color:var(--color-text);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.building-result-headline{display:flex;align-items:baseline;gap:var(--space-3)}.building-result-pct{font-family:var(--font-heading);font-weight:800;font-size:32px;line-height:1}.building-result-area{color:color-mix(in srgb,var(--color-text) 65%,transparent)}.building-result-tabs{display:flex;border-bottom:2px solid var(--color-divider)}.building-result-tab{background:transparent;border:0;border-bottom:2px solid transparent;margin-bottom:-2px;color:var(--color-text);padding:6px 12px;cursor:pointer}.building-result-tab:hover:not(:disabled){background:color-mix(in srgb,var(--color-text) 7%,transparent)}.building-result-tab.active{border-bottom-color:var(--color-accent);color:var(--color-accent)}.building-result-heatmap-wrap{position:relative;width:100%;max-width:640px;aspect-ratio:4 / 3;background:var(--color-surface);overflow:hidden;isolation:isolate}.building-result-plan{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:fill}.building-result-bar{display:flex;width:100%;max-width:640px;height:8px}.building-result-bar-segment.covered{background:#2f7d32}.building-result-bar-segment.marginal{background:#d9a400}.building-result-bar-segment.failing{background:var(--color-accent)}.building-result-worst-spot,.building-result-no-data,.building-result-diagnosis{font-size:13px;margin:4px 0 0}.building-result-diagnosis{color:color-mix(in srgb,var(--color-text) 70%,transparent)}.building-result-export{align-self:flex-start}.building-result-export-error{font-size:13px;margin:0;color:var(--color-accent-700)}.install-quote-panel{background:var(--color-bg);color:var(--color-text);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.install-quote-field,.install-quote-rack label{display:flex;gap:8px;align-items:center;margin:0}.install-quote-rack{display:flex;gap:var(--space-3);border:0;border-top:2px solid var(--color-divider);padding:var(--space-2) 0 0}.install-quote-rack legend{font-family:var(--font-heading);font-weight:800;font-size:13px}.install-quote-rack input{width:5em}.install-quote-gate,.install-quote-note{color:color-mix(in srgb,var(--color-text) 65%,transparent);font-size:13px;margin:0}.install-quote-points,.install-quote-items,.install-quote-hardware{width:100%;border-collapse:collapse;font-size:14px}.install-quote-points caption,.install-quote-items caption,.install-quote-hardware caption{text-align:left;font-family:var(--font-heading);font-weight:800;padding:var(--space-2) 0 4px}.install-quote-points th,.install-quote-hardware th{text-align:left;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text) 60%,transparent);padding:var(--space-2) 6px;border-bottom:2px solid var(--color-divider)}.install-quote-points td,.install-quote-items td,.install-quote-hardware td{padding:4px 6px;border-bottom:1px solid var(--color-divider);text-align:left;vertical-align:top}.install-quote-points input{width:5em}.install-quote-points td.override{background:var(--color-accent-100)}.install-quote-points td.override input,.install-quote-points td.override select{border-color:var(--color-accent)}.install-quote-flag{font-size:11px;color:color-mix(in srgb,var(--color-text) 60%,transparent)}.install-quote-total td{font-weight:700;border-top:2px solid var(--color-divider)}.install-quote-grand td{border-top:2px solid var(--color-accent)}.install-quote-hardware caption{display:flex;justify-content:space-between;align-items:center}.install-quote-model{font-weight:400;display:flex;gap:6px;align-items:center;margin:0}.install-quote-hardware tr.stale td{background:var(--color-accent-100)}.install-quote-stale{color:var(--color-accent);font-weight:800;font-size:11px}.install-quote-pricebox{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px;font-size:12px;align-items:center}.install-quote-pricebox input[type=url]{width:14em;min-height:30px}.install-quote-pricebox input[type=number]{width:7em;min-height:30px}.install-quote-pricebox button{padding:4px 10px;font-size:12px}.install-quote-price-error{color:var(--color-accent-700);flex-basis:100%}.install-quote-export{align-self:flex-start}.install-quote-export-error{color:var(--color-accent-700);margin:0;font-size:13px}.install-quote-place-rack{padding:4px 10px;font-size:12px}.install-quote-rack-status{font-size:12px}.design-screen{display:flex;flex-direction:column;min-height:100vh}.design-canvas{position:sticky;top:0;z-index:30;background:var(--color-bg);border-bottom:2px solid var(--color-divider)}.design-sheet{display:flex;flex-direction:column}.design-sheet-bar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:2px solid var(--color-divider)}.design-sheet-tabs{display:flex;gap:0;border:1px solid var(--color-divider)}.design-sheet-tabs button{background:transparent;color:var(--color-text);border:0;padding:6px 14px;font-family:var(--font-heading);font-weight:800}.design-sheet-tabs button+button{border-left:1px solid var(--color-divider)}.design-sheet-tabs button.active{background:var(--color-accent);color:var(--color-bg)}.design-sheet-status{font-size:13px;color:color-mix(in srgb,var(--color-text) 60%,transparent);margin-right:auto}.design-sheet-restart{background:transparent;color:var(--color-text);border:1px solid var(--color-divider);padding:6px 12px}.design-canvas .plan-canvas{min-height:0;height:auto}.design-canvas .plan-canvas-viewport{min-height:0;flex:none;width:min(100%,calc(40vh * var(--plan-ar, 1.333)));margin:0 auto}.design-screen.simple .plan-canvas-toolbar,.design-screen.simple .plan-canvas-hint,.design-screen.simple .ap-budget-panel{display:none}.design-headline{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-2) var(--space-4);border-top:2px solid var(--color-divider)}.design-headline strong{font-family:var(--font-heading);font-weight:800;font-size:22px;display:block}.design-headline span{font-size:14px;color:color-mix(in srgb,var(--color-text) 70%,transparent)}.design-headline .design-coliving{flex-basis:100%;font-weight:700;color:var(--color-text)}.design-headline>strong,.design-headline>span{flex-basis:100%}.design-headline:has(>span)>strong{flex-basis:auto}.design-headline-actions{display:flex;gap:var(--space-2);margin-left:auto}.design-toggle{background:transparent;color:var(--color-text);border:1px solid var(--color-divider)}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:baseline;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:2px solid var(--color-divider)}.app-brand{font-family:var(--font-heading);font-weight:800;font-size:18px}.app-tagline{font-size:13px;color:color-mix(in srgb,var(--color-text) 60%,transparent)}main{flex:1}.app-setup{max-width:720px;padding:var(--space-6) var(--space-4)}:root{--color-bg: #f3f2f2;--color-surface: #eae9e9;--color-text: #201e1d;--color-accent: #ec3013;--color-accent-2: #e15b47;--color-divider: color-mix(in srgb, #201e1d 40%, transparent);--color-neutral-100: #f8f4f4;--color-neutral-200: #eae7e7;--color-neutral-300: #d7d3d3;--color-neutral-400: #bab6b6;--color-neutral-500: #9b9797;--color-neutral-600: #7d7979;--color-neutral-700: #605d5d;--color-neutral-800: #444141;--color-neutral-900: #2d2b2b;--color-accent-100: #fff2ef;--color-accent-600: #dd2b0f;--color-accent-700: #ae1800;--color-accent-800: #7c1405;--font-heading: "Archivo", system-ui, sans-serif;--font-heading-weight: 800;--font-body: "Archivo", system-ui, sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--radius-sm: 0;--radius-md: 0;--radius-lg: 0;--radius-xl: 0;--shadow-sm: 0 1px 2px color-mix(in srgb, #2d2b2b 14%, transparent);--shadow-md: 0 3px 10px color-mix(in srgb, #2d2b2b 16%, transparent);--shadow-lg: 0 12px 32px color-mix(in srgb, #2d2b2b 22%, transparent);--c-bg: var(--color-bg);--c-surface: var(--color-surface);--c-surface-2: var(--color-neutral-100);--c-text-1: var(--color-text);--c-text-2: var(--color-neutral-700);--c-text-3: var(--color-neutral-500);--c-accent: var(--color-accent);--c-accent-dark: var(--color-accent-600);--c-green: #2f7d32;--c-border: var(--color-divider);--shadow-xs: var(--shadow-sm);--shadow-lift: var(--shadow-lg);--ease: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-spring: cubic-bezier(.4, 0, .2, 1);font-family:var(--font-body);-webkit-font-smoothing:antialiased;color:var(--color-text);background-color:var(--color-bg)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-size:15px;line-height:1.55;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);line-height:1.12;letter-spacing:-.015em}a{color:var(--color-accent);text-underline-offset:3px}img{display:block;max-width:100%}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb,var(--color-accent) 30%,transparent)}button{border-radius:0;border:1px solid transparent;padding:.5em 1.1em;font-size:14px;font-family:var(--font-heading);font-weight:var(--font-heading-weight);background:var(--color-accent);color:var(--color-bg);cursor:pointer;text-align:left;justify-content:flex-start}button:hover:not(:disabled){background:var(--color-accent-600)}button:active:not(:disabled){background:var(--color-accent-700)}button:disabled{opacity:.45;cursor:not-allowed}input,select,textarea{min-height:36px;padding:6px 10px;border:1px solid var(--color-divider);border-radius:0;font:inherit;font-size:14px;background:var(--color-surface);color:var(--color-text);caret-color:var(--color-accent)}input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--color-text) 45%,transparent)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--color-accent);outline-offset:0}label{display:block;margin-bottom:.3em;font-size:12px;color:color-mix(in srgb,var(--color-text) 70%,transparent)}@media print{img{filter:grayscale(1) contrast(1.08)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes spin-ring{to{transform:rotate(360deg)}}@keyframes pulse-border{0%,to{border-color:color-mix(in srgb,var(--color-accent) 30%,transparent)}50%{border-color:var(--color-accent)}}
