:root{font-family:Manrope,Segoe UI,sans-serif;color:#102018;background:linear-gradient(155deg,#f7f5e7,#edf7f2 40%,#f7f9fc);line-height:1.45}*{box-sizing:border-box}body{margin:0;min-height:100vh}h1,h2,h3,p{margin:0}button,input,select{font:inherit}#root{min-height:100vh}.app{max-width:1120px;margin:0 auto;padding:1rem .9rem 2rem;display:grid;gap:.9rem}.hero{background:radial-gradient(circle at top right,rgba(34,151,107,.18),transparent 44%),#fffc;border:1px solid #d3e4da;border-radius:18px;padding:1rem}.kicker{color:#1e674d;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.25rem}.hero h1{font-size:clamp(1.2rem,4vw,1.8rem);margin-bottom:.4rem}.hero p{color:#30423a}.hero-copy{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.hero-copy-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.grid{display:grid;gap:.9rem}.grid.three{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.card{background:#ffffffd9;border:1px solid #d9e5dd;border-radius:16px;padding:.9rem;box-shadow:0 10px 18px -20px #0f2d22}.full-bleed-card{width:100vw;margin-left:calc(50% - 50vw);border-left:none;border-right:none;border-radius:0;padding-inline:clamp(.8rem,2.2vw,1.8rem)}.card h2{margin-bottom:.8rem;font-size:1rem}.requests-table{width:100%;border-collapse:collapse;min-width:980px}.requests-table th,.requests-table td{padding:.8rem .7rem;border-bottom:1px solid #d9e5dd;text-align:left;vertical-align:top;font-size:.9rem}.requests-table th{color:#335045;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;background:#f6faf7}.requests-table tbody tr:hover{background:#f8fcf9}.fields{display:grid;gap:.55rem}.two-col{grid-template-columns:1fr}.field{display:grid;gap:.25rem}.field span{font-size:.78rem;font-weight:600;color:#3d5248}.field input,.field select{width:100%;padding:.5rem;border-radius:10px;border:1px solid #c9dbd0;background:#fcfffd}.inline-note{margin-top:.65rem;padding:.45rem .55rem;border-left:4px solid #2f8764;background:#effaf4;font-size:.84rem}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.55rem;margin-top:.75rem}.stat{background:#f6faf7;border:1px solid #d5e4db;border-radius:10px;padding:.55rem}.stat h3{font-size:.73rem;color:#4b5d54;margin-bottom:.28rem}.stat p{font-size:1rem;font-weight:700}.stat small{font-size:.72rem;color:#617168}.roof-preview{width:100%;max-height:280px;display:block}.roof-outline{fill:#f1f4f0;stroke:#96b4a5;stroke-width:2}.panel-box{fill:#2163a8;stroke:#8bc2ff;stroke-width:1}.chart-wrap{height:150px;background:#fbfffc;margin-top:.8rem;border:1px solid #d6e5db;border-radius:10px;padding:.5rem .3rem;display:grid;grid-template-columns:repeat(12,1fr);gap:.2rem;align-items:end}.bar-col{height:100%;display:grid;align-content:end;justify-items:center;gap:.25rem}.bar{width:78%;border-radius:4px 4px 0 0;background:linear-gradient(to top,#2b845f,#68c995)}.bar-col strong{font-size:.6rem;color:#5d6e65}.actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.75rem}.request-design-modal button.secondary{background:#dfece5;color:#1f513b}.muted p{color:#495a52;font-size:.9rem}.loading{margin:0;padding:.8rem;border-radius:10px;background:#eef7f1;color:#3d5348;font-size:.86rem}.shadow-demo{display:grid;gap:.7rem}.shadow-demo h2{margin:0;font-size:1rem}.shadow-demo-note{margin:0;color:#43574d;font-size:.84rem}.shadow-demo-controls{display:grid;gap:.45rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.shadow-demo-controls label{display:grid;gap:.25rem;padding:.45rem;border-radius:10px;border:1px solid #cfe0d5;background:#f8fcfa}.shadow-demo-controls span{font-size:.74rem;font-weight:700;color:#3f5549}.shadow-demo-controls input,.shadow-demo-controls select{width:100%}.shadow-demo-controls strong{font-size:.74rem;color:#486154}.shadow-demo-grid{display:grid;gap:.7rem;grid-template-columns:1fr}.shadow-view{border:1px solid #cadcd1;border-radius:12px;overflow:hidden;background:#f3f8f5}.shadow-view h3{margin:0;padding:.5rem .6rem;font-size:.8rem;color:#3d5548;border-bottom:1px solid #d1e2d8;background:#edf5f0}.shadow-view canvas{display:block;width:100%;height:300px}.d3-card{display:grid;gap:.65rem}.scene-wrap{display:grid;gap:.7rem;width:100%}.scene-layout{display:grid;gap:.7rem;grid-template-columns:1fr}.scene-toolbar{display:grid;gap:.55rem;grid-template-columns:1fr;padding:.65rem;border:1px solid #cdded3;border-radius:12px;background:linear-gradient(180deg,#fff,#f7fbf8)}.scene-toolbar--floating{position:sticky;top:.55rem;z-index:18;margin:.55rem;padding:.45rem;border-radius:12px;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#f0f8f3e6}.scene-toolbar-compact{display:flex;align-items:center;gap:.42rem;flex-wrap:wrap}.scene-picker-trigger{position:relative;width:34px;height:34px}.scene-icon-btn{width:34px;height:34px;min-width:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid #c5dbcf;background:#fff;color:#264a3b;padding:0}.scene-icon-btn.active{background:#e6f5ee;border-color:#86b9a2}.scene-icon-btn:disabled{opacity:.6;cursor:not-allowed}.toolbar-native-picker{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}.toolbar-file-picker{display:none}.location-search{position:relative;display:grid;gap:.3rem}.location-search label{display:grid;gap:.2rem}.location-search span{font-size:.75rem;font-weight:700;color:#3c5247}.location-search input{width:100%;border:1px solid #bfd5c8;border-radius:8px;padding:.42rem .5rem;background:#fff}.location-search-compact{display:flex;align-items:center;gap:.35rem;min-width:min(420px,100%);flex:1 1 260px}.location-search-icon{width:32px;height:32px;border-radius:9px;border:1px solid #cadecf;display:inline-flex;align-items:center;justify-content:center;color:#2f5848;background:#fff}.location-search-compact input{min-width:160px;height:34px;padding:0 .6rem}.coord-btn{justify-self:start;font-size:.75rem;padding:.34rem .56rem}.location-suggestions{position:relative;top:auto;left:auto;right:auto;margin-top:.1rem;z-index:12;border:1px solid #c7dbce;border-radius:10px;background:#fff;box-shadow:0 14px 26px -24px #0f281eb3;max-height:220px;overflow:auto}.location-suggestions button{display:block;width:100%;text-align:left;border:none;border-bottom:1px solid #e5efe8;background:#fff;color:#254a3b;font-size:.8rem;padding:.44rem .54rem;border-radius:0}.location-suggestions button:last-child{border-bottom:none}.location-suggestions button:hover{background:#f2faf5}.location-status{margin:0;font-size:.75rem;color:#4a6156}.location-search-compact .location-status{width:100%;margin-top:.1rem}.location-search-compact .location-suggestions{position:absolute;top:calc(100% + .3rem);left:32px;right:0;margin-top:0}.scene-tool{display:grid;gap:.25rem}.scene-tool span{font-size:.75rem;font-weight:700;color:#3c5247}.scene-tool strong{font-size:.75rem;color:#42584d;font-weight:600}.scene-tool input[type=date],.scene-tool input[type=time]{width:100%;border:1px solid #bfd5c8;border-radius:10px;padding:.42rem .5rem;background:#fff;color:#2d463c;font-weight:600}.scene-status{display:flex;flex-wrap:wrap;gap:.45rem .9rem;font-size:.78rem;color:#3d5146;padding:.45rem .5rem;border-radius:10px;background:#edf5f0;border:1px solid #d7e4dc}.scene-status-compact{margin-left:auto;flex:0 0 clamp(240px,22vw,320px);width:clamp(240px,22vw,320px);padding:.28rem .42rem;font-size:.72rem;justify-content:space-between;align-items:center;min-height:34px;white-space:nowrap;font-variant-numeric:tabular-nums}.scene-status-compact span{flex:0 0 auto;white-space:nowrap}.scene-icon-popover-wrap{position:relative}.scene-azimuth-popover{position:absolute;top:calc(100% + .36rem);right:0;width:240px;z-index:22;border:1px solid #c7dbce;border-radius:10px;background:#fff;box-shadow:0 14px 26px -24px #0f281eb3;padding:.5rem .6rem}.scene-slider-popover{position:absolute;top:calc(100% + .36rem);right:0;width:clamp(180px,18vw,220px);z-index:22;border:1px solid #c7dbce;border-radius:12px;background:#fffffffa;box-shadow:0 16px 30px -24px #0f281ecc;padding:.55rem .65rem .6rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.scene-slider-popover--time{width:clamp(190px,19vw,228px)}.scene-slider-popover__head{display:grid;gap:.16rem;margin-bottom:.4rem}.scene-slider-popover__head span{font-size:.68rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#5a7468}.scene-slider-popover__head strong{font-size:.98rem;line-height:1.1;color:#1e4234}.scene-slider-popover input[type=range]{width:100%;margin:0}.scene-slider-popover__labels{display:flex;justify-content:space-between;gap:.75rem;margin-top:.28rem;font-size:.68rem;color:#6a8176}.scene-time-entry{display:grid;gap:.22rem;margin-top:.55rem;padding:.5rem .55rem .52rem;border-radius:11px;border:1px solid #d7e5db;background:linear-gradient(180deg,#e9f7efcc,#fffffff5)}.scene-time-entry span{font-size:.66rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#5a7468}.scene-time-entry input[type=time]{width:100%;border:1px solid #bfd5c8;border-radius:9px;padding:.34rem .48rem;background:#fff;color:#234133;font-weight:700;font-size:.86rem;letter-spacing:.01em}.scene-time-entry input[type=time]::-webkit-calendar-picker-indicator{opacity:.75;cursor:pointer}.scene-azimuth-popover p{margin:0 0 .32rem;font-size:.76rem;color:#345646;font-weight:600}.scene-azimuth-popover input[type=range]{width:100%}.scene-status select,.scene-status input{border:1px solid #bfd5c8;border-radius:8px;padding:.2rem .35rem;background:#fff}.fullscreen-btn{justify-self:start}.scene-sidebar{border:1px solid #cedfd4;background:linear-gradient(170deg,#fafffcf7,#ecf8f1f2);border-radius:14px;padding:.7rem;display:grid;gap:.65rem;box-shadow:inset 0 1px #fffc,0 12px 24px -24px #13352859}.scene-sidebar-brand{display:flex;align-items:center;gap:.65rem;padding:.8rem .8rem .85rem;border-radius:12px;border:1px solid rgba(61,108,82,.16);background:linear-gradient(180deg,#ffffffeb,#ecf8f1f5);box-shadow:inset 0 1px #ffffffe6;position:sticky;top:0;z-index:3}.scene-sidebar-brand__logo-wrap{width:2.45rem;height:2.45rem;border-radius:.85rem;display:grid;place-items:center;background:linear-gradient(180deg,#1f5c421f,#1f5c420d);border:1px solid rgba(31,92,66,.12);flex:0 0 auto}.scene-sidebar-brand__logo{width:1.75rem;height:1.75rem;object-fit:contain;display:block}.scene-sidebar-brand__copy{display:grid;gap:.08rem;min-width:0}.scene-sidebar-brand__title{font-size:.98rem;font-weight:900;letter-spacing:-.02em;color:#173526;line-height:1.1}.scene-sidebar-brand__subtitle{font-size:.73rem;font-weight:700;color:#6c8579;line-height:1.1}.scene-sidebar h4{margin:0;font-size:.88rem}.scene-sidebar-body{display:grid;gap:.65rem;min-height:0}.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.sidebar-config-btn{padding:.36rem .55rem;border-radius:8px;border:1px solid #bcd3c4;background:#f7fbf8;color:#1e5a41;font-size:.72rem}.element-list{display:grid;gap:.35rem}.element-item-row{display:flex;align-items:center;gap:.45rem}.element-item-row.is-hidden{opacity:.72}.element-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:1.1rem;height:1.1rem;border-radius:.3rem;border:1px solid #bfd4c5;background:#f7fbf8;box-shadow:inset 0 1px #fffc}.element-toggle input{width:.78rem;height:.78rem;margin:0;accent-color:#1f7a55}.element-btn{flex:1 1 auto;text-align:left;font-size:.8rem;padding:.45rem .55rem;border-radius:8px;border:1px solid #c9ddd0;background:#fff;color:#51655b}.element-btn.active{background:#1f7a55;color:#fff;border-color:#1f7a55}.control-block{border-top:1px dashed #c8dbce;padding-top:.6rem;display:grid;gap:.5rem}.pv-config{display:grid;gap:.45rem;padding:.5rem;border:1px solid #d0dfd5;border-radius:10px;background:#f8fcfa}.pv-grid{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}.pv-grid label{display:grid;gap:.2rem}.pv-grid span{font-size:.72rem;color:#4d6357;font-weight:600}.pv-grid input{width:100%;font-size:.78rem;border:1px solid #c3d8ca;border-radius:8px;padding:.32rem .4rem}.pv-total{margin:0;font-size:.78rem;color:#3e5347}.pv-metric{display:grid;gap:.18rem;padding:.52rem .6rem;border-radius:10px;border:1px solid #d5e6d9;background:linear-gradient(180deg,#f1faf4f2,#e8f5ecf2)}.pv-metric span{font-size:.72rem;font-weight:700;color:#4a6254}.pv-metric strong{font-size:.9rem;color:#214535}.pv-metric small{font-size:.72rem;color:#587164;line-height:1.35}.ai-placement-btn{width:100%;margin-top:.75rem;border:1px solid #2d8e60;border-radius:12px;padding:.72rem .8rem;background:linear-gradient(180deg,#2f9967,#23754d);color:#f5fff9;font-size:.88rem;font-weight:800;text-align:left;cursor:pointer;display:grid;gap:.2rem}.ai-placement-btn:hover{filter:brightness(1.03)}.ai-placement-btn:disabled{cursor:not-allowed;opacity:.72;filter:saturate(.55)}.ai-placement-btn span{font-size:.73rem;font-weight:600;color:#f4fff8e0}.control-row,.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:.55rem;font-size:.8rem}.control-row select{min-width:110px;padding:.3rem;border:1px solid #bdd3c4;border-radius:8px;background:#fff}.triplet{border:1px solid #d0dfd4;border-radius:10px;padding:.45rem;background:#fafffc}.triplet p{margin:0 0 .35rem;font-size:.76rem;color:#4a5f53;font-weight:600}.triplet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem}.triplet-grid label{display:grid;gap:.2rem}.triplet-grid span{font-size:.68rem;color:#5d7366}.triplet-grid input{width:100%;font-size:.76rem;border:1px solid #c3d8ca;border-radius:8px;padding:.3rem .36rem}.reset-btn{background:#dfece5;color:#1f513b;border:1px solid #c8ddd0}.scene-head h3{margin:0 0 .2rem;font-size:1rem}.scene-head p{margin:0;color:#4b5c53;font-size:.84rem}.scene-canvas{width:100%;height:100%;min-height:100%;display:block;overflow:hidden;border-radius:14px;border:1px solid #bfd4e1;background:linear-gradient(180deg,#b6d8ef,#d1e6f4 56%,#c8dfbf);box-shadow:inset 0 1px #ffffff6b,0 22px 38px -28px #101e2da6}.scene-canvas--measure-mode,.scene-canvas--precision-mode{cursor:none}.measurement-panel{position:absolute;top:4.95rem;right:1rem;z-index:24;width:min(360px,calc(100% - 2rem));max-height:calc(100% - 6rem);overflow:auto;display:grid;gap:.7rem;padding:.85rem;border-radius:16px;border:1px solid rgba(111,145,131,.22);background:#f7fcf9f7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 24px 54px -30px #1431279e}.measurement-panel--inline{position:static;top:auto;right:auto;width:100%;max-height:none;overflow:visible;margin:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.measurement-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.measurement-panel__eyebrow{display:inline-flex;align-items:center;gap:.35rem;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#4a7060}.measurement-panel__header h3{margin:.1rem 0 0;font-size:1rem;color:#173a2e}.measurement-panel__icon-btn{width:30px;height:30px;min-width:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;border:1px solid #c7dbcf;background:#fff;color:#265343}.measurement-panel__hint{margin:0;font-size:.78rem;line-height:1.45;color:#4a6257}.measurement-panel__hint kbd{padding:.1rem .28rem;border-radius:6px;border:1px solid #c7d8ce;background:#edf5f0;font-size:.72rem;font-weight:700}.measurement-panel__toggles{display:flex;flex-wrap:wrap;gap:.45rem .7rem}.measurement-switch{display:inline-flex;align-items:center;gap:.45rem;padding:.34rem .55rem;border-radius:10px;border:1px solid #d4e2d9;background:linear-gradient(180deg,#f0f8f3f5,#fffffff5);font-size:.76rem;font-weight:700;color:#244a3c}.measurement-switch input{width:15px;height:15px;margin:0;accent-color:#1d8a61}.measurement-panel__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.measurement-panel__fields label{display:grid;gap:.24rem}.measurement-panel__fields label span{font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#5b7669}.measurement-panel__fields select{width:100%;border:1px solid #c7dbcf;border-radius:10px;padding:.42rem .52rem;background:#fff;color:#24483b;font-weight:700}.measurement-panel__color,.routing-panel__color{margin-top:.1rem}.line-color-picker{display:grid;gap:.55rem;padding:.65rem;border-radius:14px;border:1px solid #d7e4dc;background:linear-gradient(180deg,#fffffffa,#f3f9f5f2);box-shadow:0 10px 18px -20px #0e281d59}.line-color-picker__head{display:grid;gap:.15rem}.line-color-picker__head span{font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#3e5b4e}.line-color-picker__head small{font-size:.73rem;color:#65796f}.line-color-picker__controls{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.55rem;align-items:center}.line-color-picker__color-input{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.55rem;height:2.55rem;border-radius:12px;border:1px solid #c9dbd0;background:#fff;overflow:hidden}.line-color-picker__color-input input[type=color]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.line-color-picker__color-preview{width:1.42rem;height:1.42rem;border-radius:8px;border:1px solid rgba(0,0,0,.08);box-shadow:inset 0 0 0 1px #ffffff38}.line-color-picker__hex-input{width:100%;min-width:0;padding:.5rem .62rem;border-radius:10px;border:1px solid #c9dbd0;background:#fff;color:#24483b;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.line-color-picker__swatches{display:flex;flex-wrap:wrap;gap:.36rem}.line-color-picker__swatch{--swatch-color: #17d7a0;display:inline-flex;align-items:center;gap:.42rem;padding:.38rem .52rem;border-radius:999px;border:1px solid #c9dbd0;background:#fff;color:#315044;font-size:.72rem;font-weight:700}.line-color-picker__swatch.is-active{border-color:var(--swatch-color);box-shadow:0 0 0 2px #268f6a1f}.line-color-picker__swatch-dot{width:.7rem;height:.7rem;border-radius:999px;background:var(--swatch-color);box-shadow:inset 0 0 0 1px #ffffff4d}.measurement-panel__actions{display:flex;flex-wrap:wrap;gap:.45rem}.measurement-panel__action{padding:.42rem .65rem;border-radius:10px;border:1px solid #c8ddd0;background:#f5fbf8;color:#205140;font-size:.76rem;font-weight:800}.measurement-panel__action.active{background:#1d8a61;color:#fff;border-color:#1d8a61}.measurement-panel__action--danger{background:#fff2f0;color:#9d2f24;border-color:#efc7c1}.measurement-panel__action:disabled{opacity:.55;cursor:not-allowed}.measurement-panel__summary{display:flex;align-items:baseline;gap:.45rem;padding:.42rem .6rem;border-radius:10px;background:#edf5f0;border:1px solid #d7e5db;color:#2d4e41}.measurement-panel__summary strong{font-size:1rem}.measurement-panel__summary span{font-size:.78rem}.measurement-panel__list{display:grid;gap:.45rem}.measurement-panel__list-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.35rem .45rem;border:none;background:transparent;color:#234337;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.measurement-panel__list-body{display:grid;gap:.38rem}.measurement-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:center;padding:.55rem .6rem;border-radius:12px;border:1px solid #d7e4dc;background:#fffffffa;box-shadow:0 10px 18px -18px #122c2166;text-align:left;cursor:pointer}.measurement-row.selected{border-color:#81b59d;background:linear-gradient(180deg,#eaf8f2f2,#fffffffa);box-shadow:0 14px 24px -18px #122c217a}.measurement-row__main{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.1rem}.measurement-row__swatch,.routing-row__swatch{width:.82rem;height:.82rem;border-radius:999px;border:1px solid rgba(14,30,22,.16);box-shadow:inset 0 0 0 1px #ffffff40;grid-row:span 3;align-self:start}.measurement-row__main strong{font-size:.84rem;color:#16382c}.measurement-row__main span{font-size:.92rem;font-weight:800;color:#22473a}.measurement-row__main small{font-size:.7rem;color:#627468}.measurement-row__actions{display:flex;align-items:center;gap:.28rem}.measurement-row__icon{width:28px;height:28px;min-width:28px;border-radius:8px;border:1px solid #ccdcd3;background:#f8fcfa;color:#24483b;display:inline-flex;align-items:center;justify-content:center}.measurement-row__icon--danger{color:#9b3328;background:#fff3f1;border-color:#f0c7c0}.measurement-panel__empty{padding:.75rem .8rem;border-radius:12px;border:1px dashed #c8ddd0;background:#f1f8f4eb;color:#52685d;font-size:.8rem}.scene-measurement-label{display:grid;gap:.08rem;min-width:100px;padding:.42rem .55rem;border-radius:12px;border:1px solid rgba(107,147,129,.26);background:#0a1511e6;box-shadow:0 12px 24px -18px #020806b3;color:#f4fffb;text-align:center;transform:translateY(-50%)}.scene-measurement-label--selected{border-color:#8dffd0a6;box-shadow:0 0 0 1px #5fe7b829,0 14px 26px -18px #01130dcc}.scene-measurement-label strong{font-size:.88rem;line-height:1.05}.scene-measurement-label span{font-size:.67rem;opacity:.82}.scene-measurement-label small{font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;opacity:.7}.scene-measurement-cursor{width:18px;height:18px;border-radius:50%;border:2px solid rgba(29,138,97,.92);background:#f6fffbf0;box-shadow:0 0 0 5px #1d8a611f;display:grid;place-items:center}.scene-measurement-cursor span{width:5px;height:5px;border-radius:50%;background:#1d8a61}.scene-measurement-cursor--snap{border-color:#0f5e43f2;box-shadow:0 0 0 5px #0f5e4324}.scene-measurement-cursor--snap span{background:#0f5e43}.scene-measurement-snap-tag{display:inline-flex;align-items:center;justify-content:center;padding:.28rem .44rem;border-radius:999px;border:1px solid rgba(95,147,126,.26);background:#f6fffaf5;color:#1b5c44;font-size:.7rem;font-weight:800;white-space:nowrap;box-shadow:0 10px 16px -14px #152b2199}.routing-panel{position:absolute;top:1.1rem;right:1.1rem;z-index:24;width:min(350px,calc(100vw - 2rem));max-height:calc(100% - 6rem);overflow:auto;display:grid;gap:.7rem;padding:.85rem;border-radius:16px;border:1px solid rgba(104,142,196,.24);background:#f7fafffa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 24px 54px -30px #16305794}.routing-panel--inline{position:static;top:auto;right:auto;width:100%;max-height:none;overflow:visible;margin:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.scene-sidebar-tool-shell{display:grid;gap:.6rem}.scene-sidebar-tool-shell__backbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-bottom:.35rem;border-bottom:1px solid #d5e4db}.scene-sidebar-tool-shell__title{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5a766b}.scene-sidebar-back-btn{padding:.34rem .58rem;border-radius:999px;border:1px solid #bfd6c8;background:#eef7f1;color:#205743;font-size:.74rem;font-weight:800}.routing-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.routing-panel__eyebrow{display:inline-flex;align-items:center;gap:.35rem;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#42618d}.routing-panel__header h3{margin:.1rem 0 0;font-size:1rem;color:#18314e}.routing-panel__icon-btn{width:30px;height:30px;min-width:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;border:1px solid #cad8eb;background:#fff;color:#35557c}.routing-panel__hint{margin:0;font-size:.78rem;line-height:1.45;color:#48607f}.routing-panel__hint kbd{padding:.1rem .28rem;border-radius:6px;border:1px solid #cad5e4;background:#edf4fb;font-size:.72rem;font-weight:700}.routing-panel__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.routing-panel__fields label{display:grid;gap:.24rem}.routing-panel__fields label span{font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#5c7392}.routing-panel__fields select{width:100%;border:1px solid #cad8eb;border-radius:10px;padding:.42rem .52rem;background:#fff;color:#244267;font-weight:700}.routing-panel__color{margin-top:.1rem}.routing-panel__actions{display:flex;flex-wrap:wrap;gap:.45rem}.routing-panel__action{padding:.42rem .65rem;border-radius:10px;border:1px solid #c7d5e8;background:#f6f9ff;color:#244267;font-size:.76rem;font-weight:800;display:inline-flex;align-items:center;gap:.32rem}.routing-panel__action.active{background:#2f7cff;color:#fff;border-color:#2f7cff}.routing-panel__action--danger{background:#fff4f0;color:#9e3a22;border-color:#efc5bc}.routing-panel__action:disabled{opacity:.55;cursor:not-allowed}.routing-panel__summary{display:flex;align-items:baseline;gap:.45rem;padding:.42rem .6rem;border-radius:10px;background:#edf4fb;border:1px solid #d7e1ef;color:#29476d;flex-wrap:wrap}.routing-panel__summary strong{font-size:1rem}.routing-panel__summary span,.routing-panel__summary small{font-size:.78rem}.routing-panel__list{display:grid;gap:.45rem}.routing-panel__list-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.35rem .45rem;border:none;background:transparent;color:#244267;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.routing-panel__list-body{display:grid;gap:.38rem}.routing-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:center;padding:.55rem .6rem;border-radius:12px;border:1px solid #d5dfec;background:#fffffffa;box-shadow:0 10px 18px -18px #122c2152;text-align:left;cursor:pointer}.routing-row.selected{border-color:#8db8ff;background:linear-gradient(180deg,#ecf4fff5,#fffffffa);box-shadow:0 14px 24px -18px #1630576b}.routing-row__main{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.1rem}.routing-row__main strong{font-size:.84rem;color:#17314e}.routing-row__main span{font-size:.92rem;font-weight:800;color:#21446f}.routing-row__main small{font-size:.7rem;color:#61708c}.routing-row__actions{display:flex;align-items:center;gap:.28rem}.routing-row__icon{width:28px;height:28px;min-width:28px;border-radius:8px;border:1px solid #ced9e7;background:#f7fbff;color:#244267;display:inline-flex;align-items:center;justify-content:center}.routing-row__icon--danger{color:#9e3a22;background:#fff4f0;border-color:#f0cbc2}.routing-panel__empty{padding:.75rem .8rem;border-radius:12px;border:1px dashed #c7d5e8;background:#f2f7fff5;color:#556883;font-size:.8rem}.scene-route-label{display:grid;gap:.08rem;min-width:104px;padding:.42rem .55rem;border-radius:12px;border:1px solid rgba(83,127,204,.3);background:#0c1828eb;box-shadow:0 12px 24px -18px #020806b3;color:#f4fbff;text-align:center;transform:translateY(-50%)}.scene-route-label--selected{border-color:#8ec9ffbf;box-shadow:0 0 0 1px #5aa9ff29,0 14px 26px -18px #01130dcc}.scene-route-label--draft{background:#091424e0}.scene-route-label strong{font-size:.88rem;line-height:1.05}.scene-route-label span{font-size:.67rem;opacity:.84}.scene-route-label small{font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;opacity:.72}.scene-canvas-shell{position:relative;height:min(78vh,860px);min-height:520px;min-width:0;overflow:hidden}.scene-canvas--route-mode{cursor:none}.scene-canvas-shell--processing>:not(.scene-processing-overlay){filter:grayscale(.88) saturate(.72) blur(1.6px);opacity:.58;pointer-events:none;-webkit-user-select:none;user-select:none;transition:filter .16s ease,opacity .16s ease}.layout-combo-picker{position:absolute;top:4.2rem;right:6.1rem;z-index:12}.layout-combo-trigger{display:inline-flex;align-items:center;gap:.48rem;padding:.32rem .5rem;border-radius:10px;border:1px solid #9fb9c8;background:#f5fcf9f0;color:#1f3c31;box-shadow:0 8px 20px -14px #0f293499;cursor:pointer}.layout-combo-trigger strong{font-size:.74rem;font-weight:800;line-height:1}.layout-combo-menu{margin-top:.36rem;border-radius:10px;border:1px solid #b7cdd9;background:#f4f9fcfa;box-shadow:0 14px 30px -18px #12242fa6;padding:.3rem;display:grid;gap:.22rem;min-width:120px}.layout-combo-option{display:inline-flex;align-items:center;justify-content:flex-start;gap:.44rem;width:100%;border:1px solid transparent;background:transparent;border-radius:8px;padding:.24rem .32rem;color:#264338;cursor:pointer}.layout-combo-option:hover{border-color:#bad3de;background:#ecf8f3e6}.layout-combo-option.active{border-color:#82b09b;background:#d1ecddd9}.layout-combo-option span{font-size:.73rem;font-weight:700}.layout-pattern-icon{width:20px;min-width:20px;display:grid;gap:1px;align-content:center}.layout-pattern-cell{width:100%;aspect-ratio:1 / 1;border-radius:1px;border:1px solid #8aa6b4;background:#d4e1ea99}.layout-pattern-cell.filled{background:linear-gradient(180deg,#60a8e6,#2e6dcf);border-color:#2f71b8}.scene-canvas-alert{position:absolute;top:4.1rem;left:.75rem;right:5.6rem;z-index:8;pointer-events:none;-webkit-user-select:none;user-select:none;border:1px solid #cc5656;background:#9a1c1cf0;color:#fff2f2;border-radius:9px;padding:.46rem .58rem;font-size:.78rem;font-weight:700;line-height:1.35}.scene-canvas-alert.scene-canvas-alert--warning{top:6.25rem;border-color:#d3b24f;background:#fff1b8f5;color:#5f4900}.scene-shadow-warning-banner{position:relative;top:auto;left:auto;right:auto;z-index:19;margin:.65rem .75rem 0}.scene-toolbar-note{position:absolute;top:4.1rem;left:.75rem;z-index:9;border:1px solid #a6c7b6;background:#eff9f4f2;color:#24513f;border-radius:8px;padding:.38rem .54rem;font-size:.75rem;font-weight:600;max-width:min(60%,520px)}.scene-toolbar-note.scene-toolbar-note--success{top:6.25rem;border-color:#8cc7a9;background:#edfbf2f7;color:#295844}.scene-toolbar-note.scene-toolbar-note--warning{border-color:#d8b23f;background:#fff8d6fa;color:#6a5100;box-shadow:0 16px 30px -24px #664d006b}.scene-processing-overlay{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:1rem;background:#e4ecf17a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.scene-processing-card{width:min(100%,24rem);display:grid;gap:.58rem;justify-items:center;padding:1.1rem 1.2rem;border:1px solid rgba(150,181,167,.96);border-radius:20px;background:#fafdfbfa;color:#244d3d;text-align:center;box-shadow:0 26px 54px -28px #16352894}.scene-processing-card strong{font-size:1rem;line-height:1.2}.scene-processing-card p{margin:0;font-size:.84rem;line-height:1.45;color:#44695b;max-width:24rem}.scene-processing-spinner{width:2.5rem;height:2.5rem;border-radius:999px;border:3px solid rgba(49,116,85,.16);border-top-color:#2a8b62;animation:scene-processing-spin .82s linear infinite}@keyframes scene-processing-spin{to{transform:rotate(360deg)}}.scene-solar-hours-badge{position:absolute;right:.8rem;bottom:1rem;z-index:9;border:1px solid rgba(159,204,184,.92);background:#f5fcf8f0;color:#1f4d3c;border-radius:999px;padding:.45rem .72rem;font-size:.76rem;font-weight:700;line-height:1.2;box-shadow:0 14px 28px -22px #173e30b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.compass-rose{position:absolute;top:6.1rem;right:.8rem;z-index:11;pointer-events:none}.request-design-modal .full-bleed-card{width:100%;margin-left:0;border-radius:16px;border-left:1px solid #d9e5dd;border-right:1px solid #d9e5dd;position:relative}.report-workspace-overlay{position:absolute;inset:0;z-index:24;display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:.9rem;padding:.9rem;background:#f2f8f4f0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.report-workspace-sidebar{max-height:min(86vh,100%);overflow:hidden;display:flex;flex-direction:column}.report-workspace-sidebar>*{flex:0 0 auto}.report-workspace-preview{min-width:0;display:grid;gap:.7rem;align-content:start}.report-preview-topbar{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;padding:.35rem .1rem 0}.report-preview-topbar h3{margin:0;font-size:1rem}.report-preview-topbar p{margin:.2rem 0 0;color:#4b6157;font-size:.82rem}.report-preview-frame{width:100%;min-height:72vh;border:1px solid #c9ddd0;border-radius:16px;background:#fff;box-shadow:0 22px 42px -36px #0c20188c}.report-preview-shell{position:relative;min-height:72vh;overflow:hidden}.report-preview-frame.is-busy{pointer-events:none;filter:blur(1px)}.report-preview-busy{position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:1rem;border-radius:16px;background:#f5fbf7a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.report-preview-busy-card{min-width:min(320px,92%);max-width:420px;padding:1rem 1.1rem;border-radius:16px;border:1px solid #cfe1d5;background:#ffffffeb;box-shadow:0 20px 34px -26px #12342773;display:grid;justify-items:center;gap:.5rem;text-align:center;color:#244036}.report-preview-busy-card p,.report-preview-busy-card small{margin:0}.report-preview-busy-card p{font-size:.92rem;font-weight:700}.report-preview-busy-card small{font-size:.78rem;color:#5a7066}.report-preview-busy-spinner{width:34px;height:34px;border-radius:50%;border:3px solid rgba(31,122,85,.14);border-top-color:#1f7a55;animation:report-spin .9s linear infinite}.report-preview-placeholder,.report-preview-error{min-height:72vh;border:1px dashed #c7d9cf;border-radius:16px;background:#f8fcf9;display:grid;align-content:center;justify-items:center;text-align:center;padding:1.1rem;gap:.45rem}.report-preview-error{background:#fff6f5;border-color:#f0c9c4}.report-sidebar-subtitle{margin-top:.2rem;font-size:.74rem;color:#4d6157}.report-summary-row{display:flex;justify-content:space-between;gap:.7rem;font-size:.75rem;color:#51645a;padding:.3rem .05rem .15rem}.report-section-list{flex:1 1 auto;min-height:0;display:grid;gap:.45rem;overflow:auto;padding-right:.1rem}.report-section-item,.report-format-option{display:flex;align-items:flex-start;gap:.55rem;padding:.55rem .6rem;border-radius:12px;border:1px solid #d5e4db;background:#f8fcf9;cursor:pointer}.report-section-item.is-selected,.report-format-option.is-selected{border-color:#7fb69a;background:#eef9f3}.report-section-item input,.report-format-option input{margin-top:.16rem;accent-color:#1f7a55}.report-section-item span,.report-format-option span{display:grid;gap:.12rem}.report-section-item strong,.report-format-option strong{font-size:.82rem;color:#20352d}.report-section-item small,.report-format-option small{font-size:.7rem;color:#587064}.report-format-group{display:grid;gap:.45rem}.report-format-group h5{margin:0;font-size:.82rem;color:#244036}.report-preview-note{border-left:3px solid #2f8764;background:#effaf4;padding:.55rem .6rem;border-radius:0 10px 10px 0;display:grid;gap:.18rem}.report-preview-note strong{font-size:.8rem;color:#204133}.report-preview-note p{margin:0;font-size:.74rem;color:#49645a}.report-preview-note small{font-size:.7rem;color:#5d766b}.report-download-btn{padding:.72rem .9rem;border-radius:10px;border:1px solid #1f7a55;background:linear-gradient(95deg,#1b7a55,#30a46c);color:#fff;font-size:.84rem;font-weight:700;cursor:pointer;box-shadow:0 14px 22px -18px #1c7750b3}.report-apply-btn{padding:.72rem .9rem;border-radius:10px;border:1px solid #9fcdb8;background:linear-gradient(95deg,#eef9f3,#dff4ea);color:#1f5d42;font-size:.84rem;font-weight:700;cursor:pointer;box-shadow:0 12px 18px -18px #1c775073}.report-secondary-btn{padding:.72rem .9rem;border-radius:10px;border:1px solid #c7d9cf;background:#f7fbf8;color:#244036;font-size:.84rem;font-weight:700;cursor:pointer;box-shadow:0 10px 16px -18px #12342757}.report-secondary-btn:disabled{opacity:.6;cursor:not-allowed}.report-apply-btn:disabled{opacity:.62;cursor:not-allowed}.report-download-btn:disabled{opacity:.6;cursor:not-allowed}@keyframes report-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.request-design-modal.app{width:100%;max-width:none;margin:0;padding:.55rem .6rem .8rem}.request-design-modal .scene-fallback button,.request-design-modal .actions button{border:none;border-radius:10px;background:#186543;color:#fff;padding:.6rem .8rem;font-weight:600}.request-design-modal .card{width:100%}.boq-editor-overlay{position:fixed;inset:0;z-index:30;background:#0e211a6b;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;place-items:center;padding:1rem}.boq-editor-modal{width:min(1300px,100%);max-height:min(88vh,100%);overflow:hidden;border-radius:20px;border:1px solid #d2e2d8;background:#f8fcf9;box-shadow:0 26px 60px -30px #0e211a9e;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}.boq-editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.1rem .7rem;border-bottom:1px solid #dbe8df}.boq-editor-header h3{margin:0;font-size:1.05rem;color:#173c2f}.boq-editor-header p{margin:.25rem 0 0;font-size:.82rem;color:#567267}.boq-editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1.1rem;border-bottom:1px solid #dbe8df;color:#4a6458;font-size:.8rem}.boq-editor-table-shell{min-height:0;overflow:auto;padding:.9rem 1.1rem 1rem}.boq-editor-table{width:100%;min-width:1120px;border-collapse:collapse;background:#fff}.boq-editor-table th,.boq-editor-table td{border:1px solid #cfded4;padding:.45rem;vertical-align:top;font-size:.78rem}.boq-editor-table th{background:#e6f4ee;color:#1d3f33;text-align:left}.boq-editor-table input,.boq-editor-table textarea{width:100%;border:1px solid #c7d9cf;border-radius:8px;background:#fbfdfb;padding:.45rem .5rem;font:inherit;color:#21382f;box-sizing:border-box}.boq-editor-table textarea{resize:vertical;min-height:2.8rem}.boq-editor-serial{text-align:center;font-weight:700;color:#1f4d3d;white-space:nowrap}.boq-editor-delete-btn{padding:.46rem .62rem;border-radius:8px;border:1px solid #e0b9b3;background:#fff6f5;color:#8b3f33;font-size:.74rem;font-weight:700;cursor:pointer}.boq-editor-empty{padding:1.1rem;text-align:center;color:#5a7066}.boq-editor-footer{padding:.8rem 1.1rem 1rem;border-top:1px solid #dbe8df;color:#5a7066;font-size:.78rem;display:flex;align-items:center;justify-content:space-between;gap:.8rem}.boq-editor-footer-actions{display:flex;align-items:center;gap:.7rem}.request-design-modal .scene-layout,.request-design-modal .scene-sidebar{min-width:0}.request-design-modal .scene-canvas-shell{height:min(80vh,920px);min-height:560px}.compass-ring{width:76px;height:76px;border-radius:50%;border:2px solid rgba(24,75,56,.5);background:#f3fbf7d6;position:relative;display:grid;place-items:center;color:#264f3e;font-size:.62rem;font-weight:700}.compass-ring i{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:16px solid #ae2a2a;position:absolute;top:14px;left:50%;transform-origin:50% 24px}.compass-ring .north{position:absolute;top:4px}.compass-ring .south{position:absolute;bottom:4px}.compass-ring .east{position:absolute;right:4px}.compass-ring .west{position:absolute;left:4px}.scene-fallback{display:grid;place-content:center;gap:.65rem;text-align:center;color:#30483e;background:linear-gradient(180deg,#e9f2f7,#edf5f0)}.scene-fallback p{margin:0;font-size:.95rem}.scene-wrap:fullscreen{background:#edf3ef;padding:.75rem;overflow:hidden;height:100dvh}.scene-wrap:fullscreen .scene-canvas{height:100%;min-height:100%}.scene-wrap:fullscreen .scene-layout{height:calc(100dvh - 1.5rem);align-items:stretch}.scene-wrap:fullscreen .scene-sidebar{height:100%;max-height:none;overflow:auto}.scene-wrap:fullscreen .scene-canvas-shell{height:100%;min-height:0}.scene-legend{display:flex;flex-wrap:wrap;gap:.55rem .9rem;font-size:.78rem;color:#3f5147}.scene-legend span{display:inline-flex;align-items:center;gap:.35rem}.scene-legend i{width:12px;height:12px;border-radius:3px;display:inline-block}.d3-head h3{margin:0 0 .2rem;font-size:1rem}.d3-head p{margin:0;color:#4a5a51;font-size:.84rem}.d3-svg{width:100%;height:auto;max-height:440px;border-radius:14px;border:1px solid #d7e5db;background:#f8fbf8}.legend{display:flex;flex-wrap:wrap;gap:.55rem .9rem;font-size:.78rem;color:#3f5147}.legend span{display:inline-flex;align-items:center;gap:.35rem}.legend i{width:12px;height:12px;border-radius:3px;display:inline-block}.config-modal-backdrop{position:fixed;inset:0;background:#0b151080;display:grid;place-items:center;padding:1rem;z-index:40}.config-modal{width:min(820px,100%);max-height:90vh;overflow:auto;background:#f7fcf9;border:1px solid #c9dccf;border-radius:14px;padding:.95rem;display:grid;gap:.75rem}.config-modal h4{margin:0;font-size:.95rem}.config-grid{display:grid;grid-template-columns:1fr;gap:.5rem}.config-grid label{display:grid;gap:.22rem}.config-grid span{font-size:.74rem;color:#40574c;font-weight:600}.config-grid input,.config-grid select{width:100%;padding:.45rem .5rem;border-radius:9px;border:1px solid #c7d9cc;background:#fff}.config-grid input[type=checkbox]{width:18px;height:18px;padding:0;accent-color:#1e7b4d;justify-self:start}.obstacle-manager{grid-column:1 / -1;border:1px dashed #bfd3c8;border-radius:10px;padding:.55rem;display:grid;gap:.5rem}.obstacle-manager-head{display:flex;justify-content:space-between;align-items:center}.obstacle-manager-head span{font-size:.72rem;color:#5a7368}.obstacle-presets{display:flex;flex-wrap:wrap;gap:.4rem}.obstacle-category-actions{display:grid;gap:.45rem}.obstacle-category-action{border:1px solid #d7e6de;border-radius:8px;background:linear-gradient(180deg,#fbfefc,#f3faf6);padding:.45rem;display:grid;gap:.35rem}.obstacle-category-action-title{font-size:.74rem;font-weight:700;color:#2e5f4a;letter-spacing:.02em;text-transform:uppercase}.obstacle-category-list{display:grid;gap:.45rem}.obstacle-category{display:grid;gap:.45rem;padding:.45rem;border:1px solid #d7e6de;border-radius:8px;background:#f9fcfa}.obstacle-category-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.obstacle-category-head span{font-size:.72rem;color:#5a7368}.obstacle-presets .secondary{font-size:.75rem;padding:.34rem .52rem}.obstacle-empty{padding:.55rem;border-radius:8px;border:1px solid #d7e6de;background:#f4faf7;color:#527064;font-size:.78rem}.obstacle-empty--prompt{border-style:solid;background:linear-gradient(180deg,#eff9f3,#f9fefb);font-weight:600}.obstacle-card{border:1px solid #d7e6de;border-radius:8px;padding:.45rem;display:grid;gap:.45rem}.obstacle-card-head{display:flex;justify-content:space-between;align-items:center}.config-note{margin:0;font-size:.8rem;color:#466156;border-left:3px solid #2d825d;background:#ebf8f1;padding:.35rem .5rem}.field-error{display:block;margin-top:.25rem;font-size:.72rem;color:#9b2d2d}.config-actions{display:flex;justify-content:flex-end;gap:.45rem}.config-actions button:disabled{opacity:.58;cursor:not-allowed}.panel-info-backdrop{z-index:48}.panel-info-modal{width:min(1140px,96vw);max-height:92vh;background:#f4faf6;gap:.6rem}.panel-info-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.panel-info-head h4{margin:0}.panel-info-card-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.46rem}.panel-info-card-head h5{margin:0}.panel-info-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:.55rem}.panel-info-card{border:1px solid #cfdfd4;background:#fff;border-radius:10px;padding:.52rem .56rem}.panel-info-card h5{margin:0 0 .46rem;font-size:.8rem;color:#2e4b3d}.panel-info-map-card{overflow:hidden}.panel-info-preview-btn{flex:0 0 auto}.panel-info-map-frame{border:1px solid #d6e4dc;border-radius:10px;background:#f8fcfa;overflow:hidden}.panel-info-map-scroll{overflow:auto;-webkit-overflow-scrolling:touch}.panel-info-map{width:100%;height:auto;display:block;border-radius:9px;border:1px solid #d6e4dc;background:#f8fcfa}.panel-info-map-label{font-size:12px;font-weight:700;fill:#3a5849}.panel-info-map-distance-line{stroke:#4f7f6f;stroke-width:1.3;stroke-dasharray:5 4}.panel-info-map-distance-tick{stroke:#4f7f6f;stroke-width:1.3}.panel-info-map-distance-text{font-size:10.5px;font-weight:700;fill:#265646;paint-order:stroke;stroke:#fff;stroke-width:2.2;stroke-linejoin:round}.panel-info-map-structure-guide-line{stroke:#5a86df;stroke-width:1.5;stroke-dasharray:4 3}.panel-info-map-structure-guide-dot{fill:#f9fbff;stroke:#5a86df;stroke-width:1.3}.panel-info-map-leg-label{font-size:9.6px;font-weight:700;fill:#244f41;paint-order:stroke;stroke:#fff;stroke-width:2;stroke-linejoin:round}.panel-info-map-structure-label{font-size:9.4px;font-weight:700;fill:#2d4e7a;paint-order:stroke;stroke:#fff;stroke-width:2.1;stroke-linejoin:round}.panel-info-stats{display:grid;gap:.3rem}.panel-info-stats p{margin:0;font-size:.76rem;color:#30483d}.panel-info-boundary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.38rem}.panel-info-boundary-item{border:1px solid #d6e4dc;border-radius:8px;padding:.34rem .42rem;background:#f8fcf9;display:grid;gap:.08rem}.panel-info-boundary-item span{font-size:.71rem;color:#4c675b}.panel-info-boundary-item strong{font-size:.8rem;color:#1f4f3a}.panel-info-structure-list{display:grid;gap:.45rem}.panel-info-structure-card{border:1px solid #d6e4dc;border-radius:8px;padding:.42rem .46rem;background:#f8fcf9;display:grid;gap:.32rem}.panel-info-structure-head{display:flex;justify-content:space-between;gap:.45rem;align-items:baseline}.panel-info-structure-head strong{font-size:.79rem;color:#20473d}.panel-info-structure-head span,.panel-info-structure-meta{font-size:.71rem;color:#4c675b}.panel-info-structure-meta{margin:0}.panel-info-structure-meta strong{color:#1f4f3a}.panel-info-structure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem}.panel-info-structure-grid div{border:1px solid #dce8e0;border-radius:6px;padding:.26rem .32rem;background:#fff;display:grid;gap:.04rem}.panel-info-structure-grid span{font-size:.68rem;color:#557064}.panel-info-structure-grid strong{font-size:.76rem;color:#21493d}.panel-info-table{width:100%;border-collapse:collapse;font-size:.74rem}.panel-info-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #e0ebe4;border-radius:10px}.panel-info-table th,.panel-info-table td{padding:.3rem .28rem;border-bottom:1px solid #ddeae1;text-align:left;white-space:nowrap}.panel-info-table th{font-size:.69rem;color:#4b665a;text-transform:uppercase;letter-spacing:.03em}.panel-info-muted{margin:0;color:#4f675b;font-size:.75rem}.panel-info-map-preview-backdrop{position:fixed;inset:0;z-index:52;background:#0a1410a8;display:grid;place-items:center;padding:.8rem}.panel-info-map-preview{width:min(1200px,100%);max-height:92vh;display:grid;gap:.7rem;padding:.9rem;border-radius:16px;border:1px solid #c9dccf;background:#f7fcf9;box-shadow:0 28px 50px -30px #081411db}.panel-info-map-preview-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.panel-info-map-preview-head h5{margin:0;font-size:.9rem;color:#2b493c}.panel-info-map-preview-scroll{overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid #d6e4dc;border-radius:12px;background:#f8fcfa;padding:.6rem}.panel-info-map--preview{min-width:960px}@media (min-width: 850px){.app{padding:1.2rem;gap:1rem}.two,.two-col{grid-template-columns:1fr 1fr}.scene-layout{grid-template-columns:minmax(240px,300px) minmax(0,1fr);align-items:start}.scene-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.scene-toolbar--floating{grid-template-columns:1fr;align-items:stretch}.location-search{grid-column:1 / -1}.location-search-compact{grid-column:auto}.scene-tool:last-of-type{grid-column:1 / -1}.scene-status{grid-column:1 / -1}.scene-status-compact{grid-column:auto}.fullscreen-btn{grid-column:2;justify-self:end}.scene-sidebar{max-height:100vh;overflow:auto}.request-design-modal .scene-sidebar{max-height:min(74vh,860px)}.scene-canvas{height:100%}.scene-canvas-shell{height:min(78vh,900px)}.config-grid{grid-template-columns:1fr 1fr}.shadow-demo-grid{grid-template-columns:1.1fr .9fr}}@media (max-width: 980px){.panel-info-grid{grid-template-columns:1fr}.panel-info-modal{width:min(100%,100vw - 1rem);max-height:calc(100vh - 1rem);padding:.75rem;border-radius:16px}.panel-info-head{align-items:flex-start;flex-wrap:wrap}.panel-info-head h4{font-size:.9rem;line-height:1.35}.panel-info-card{padding:.6rem}.panel-info-card-head{align-items:flex-start;flex-wrap:wrap}.panel-info-map-scroll{overflow-x:auto;overflow-y:hidden}.panel-info-map{min-width:720px}.panel-info-boundary{grid-template-columns:1fr}.panel-info-structure-head{align-items:flex-start;flex-direction:column}.panel-info-table{min-width:640px}.panel-info-map-preview{max-height:calc(100vh - 1rem);padding:.75rem}.panel-info-map-preview-head{align-items:flex-start;flex-wrap:wrap}.panel-info-map--preview{min-width:880px}.report-workspace-overlay{grid-template-columns:1fr}.report-workspace-sidebar{max-height:none}.report-preview-frame,.report-preview-placeholder,.report-preview-error{min-height:62vh}.scene-toolbar-note{max-width:calc(100% - 1.5rem)}.scene-solar-hours-badge{right:.7rem;bottom:5.3rem;max-width:calc(100% - 1.4rem)}}@media (max-width: 640px){.panel-info-modal{width:calc(100vw - .5rem);max-height:calc(100vh - .5rem);padding:.65rem;gap:.55rem}.panel-info-head .secondary,.panel-info-preview-btn,.panel-info-map-preview-head .secondary{width:100%;justify-content:center}.panel-info-card h5{font-size:.78rem}.panel-info-stats p,.panel-info-muted{font-size:.74rem}.panel-info-structure-grid{grid-template-columns:1fr}.panel-info-map{min-width:640px}.panel-info-table{min-width:560px;font-size:.72rem}.panel-info-table th,.panel-info-table td{padding:.28rem .26rem}.report-workspace-overlay{padding:.35rem}.report-preview-topbar{flex-wrap:wrap}.report-preview-topbar .sidebar-config-btn,.report-download-btn{width:100%;justify-content:center}.panel-info-map-preview-backdrop{padding:.35rem}.panel-info-map-preview{padding:.65rem;border-radius:14px}.panel-info-map--preview{min-width:760px}}.mobile-request-webview-root{position:fixed;inset:0;width:100vw;height:var(--mobile-request-viewport-height, 100dvh);min-height:var(--mobile-request-viewport-height, 100dvh);max-width:100%;padding:0;margin:0;gap:0;overflow:hidden;display:block;background:radial-gradient(1200px 520px at 15% -12%,rgba(53,144,245,.22),transparent 52%),radial-gradient(900px 420px at 85% -8%,rgba(23,130,225,.16),transparent 54%),linear-gradient(180deg,#edf6ff,#dff0ff 48%,#eaf6ff)}.mobile-request-webview-root .mobile-canvas-only-card{width:100vw;margin:0;border:0;border-radius:0;padding:0;height:100%;min-height:100%;background:transparent;box-shadow:none;overflow:hidden}.mobile-request-webview-root .scene-wrap,.mobile-request-webview-root .scene-layout,.mobile-request-webview-root .scene-canvas-shell,.mobile-request-webview-root .scene-canvas{height:100%;min-height:0}.mobile-request-webview-root .scene-wrap,.mobile-request-webview-root .scene-layout{width:100%;min-height:0}.mobile-request-webview-root .scene-canvas-shell{border-radius:0;overflow:hidden;min-height:0}.mobile-request-webview-root .scene-canvas{border:0;border-radius:0;box-shadow:none;min-height:0}.mobile-request-webview-root .compass-rose{top:.95rem;right:.9rem;z-index:27}.mobile-request-webview-root .scene-canvas-alert{top:1rem;left:.8rem;right:.8rem;border-radius:12px;z-index:22}.mobile-request-webview-root .mobile-perf-badge{position:absolute;top:.95rem;left:.8rem;z-index:24;padding:.34rem .56rem;border-radius:999px;background:#ffffffb8;border:1px solid rgba(255,255,255,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#133c63;font-size:.7rem;font-weight:700;letter-spacing:.02em}.mobile-scene-tools-fab,.mobile-elements-fab,.mobile-report-fab,.mobile-fullscreen-fab,.mobile-undo-fab{position:absolute;z-index:28;border:0;color:#f2f8ff;font-weight:700;letter-spacing:.01em;background:linear-gradient(135deg,#1c74dc,#0e4ea9);box-shadow:0 14px 30px -18px #082c5fe0,inset 0 1px #ffffff57}.mobile-scene-tools-fab span,.mobile-elements-fab span,.mobile-report-fab span,.mobile-fullscreen-fab span,.mobile-undo-fab span{width:1.75rem;height:1.75rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#fff3;border:1px solid rgba(255,255,255,.36);font-size:1rem}.mobile-scene-tools-fab,.mobile-elements-fab{bottom:1.2rem;min-height:2.85rem;border-radius:999px;padding:.5rem .9rem .5rem .55rem;display:inline-flex;align-items:center;gap:.42rem;font-size:.82rem}.mobile-scene-tools-fab{left:.85rem}.mobile-elements-fab{right:.85rem}.mobile-fullscreen-fab,.mobile-report-fab,.mobile-undo-fab{right:.9rem;width:2.75rem;height:2.75rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0}.mobile-report-fab{top:.95rem;left:.85rem;right:auto}.mobile-fullscreen-fab{top:.9rem}.mobile-undo-fab{top:4.15rem}.mobile-undo-fab:disabled{opacity:.45;box-shadow:none}.mobile-scene-tools-overlay,.mobile-elements-overlay{position:fixed;inset:0;z-index:32;background:#07142752;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.mobile-scene-tools-sheet,.mobile-elements-sheet{width:min(96vw,560px);margin-inline:auto;background:linear-gradient(180deg,#fbfefff2,#edf6fff0);border:1px solid rgba(186,213,236,.9);box-shadow:0 24px 42px -28px #10244ad1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-scene-tools-sheet{margin-top:.8rem;border-radius:20px;padding:.7rem;max-height:min(68dvh,580px);overflow:auto}.mobile-scene-tools-sheet-head,.mobile-elements-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.mobile-scene-tools-sheet-head{margin-bottom:.5rem}.mobile-scene-tools-sheet-head h4,.mobile-elements-sheet-head h4{margin:0;font-size:.9rem;color:#21466d}.mobile-scene-tools-sheet .scene-toolbar{border:0;margin:0;border-radius:14px;background:#ffffffbd;box-shadow:inset 0 1px #fffc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mobile-scene-popover-shell{position:fixed;left:.6rem;right:.6rem;bottom:calc(.75rem + env(safe-area-inset-bottom,0px));z-index:34;pointer-events:none}.mobile-scene-popover-card{pointer-events:auto;width:100%;margin-inline:auto;border-radius:22px;border:1px solid rgba(186,213,236,.95);background:linear-gradient(180deg,#fbfefffa,#eef7fff7);box-shadow:0 28px 48px -30px #10244ae0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow:hidden}.mobile-scene-popover-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.85rem .85rem .55rem;border-bottom:1px solid rgba(205,222,229,.75)}.mobile-scene-popover-head__copy{display:grid;gap:.2rem;min-width:0}.mobile-scene-popover-head__copy h4{margin:0;font-size:.96rem;color:#21466d}.mobile-scene-popover-head__copy p{margin:0;font-size:.74rem;line-height:1.35;color:#58768f}.mobile-scene-popover-close{flex:0 0 auto;width:2rem;height:2rem;border:1px solid rgba(186,213,236,.95);border-radius:999px;background:#ffffffeb;color:#215179;display:inline-flex;align-items:center;justify-content:center;padding:0}.mobile-scene-popover-body{display:grid;gap:.8rem;padding:.85rem;max-height:min(42dvh,380px);overflow:auto}.mobile-scene-popover-field{display:grid;gap:.55rem;padding:.72rem .75rem;border-radius:18px;border:1px solid rgba(193,217,229,.95);background:#ffffffeb;box-shadow:inset 0 1px #ffffffb8}.mobile-scene-popover-field__head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.mobile-scene-popover-field__head span{font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#5f7a90}.mobile-scene-popover-field__head strong{font-size:.98rem;font-weight:800;color:#173955}.mobile-scene-popover-field input[type=range]{width:100%}.mobile-scene-popover-field__labels{display:flex;justify-content:space-between;gap:.5rem;font-size:.68rem;color:#6f8597}.mobile-scene-popover-input{display:grid;gap:.24rem;padding:.7rem .75rem;border-radius:16px;border:1px solid rgba(193,217,229,.95);background:#ffffffeb}.mobile-scene-popover-input span{font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#5f7a90}.mobile-scene-popover-input input[type=time]{width:100%;border:1px solid #c8dbe4;border-radius:12px;padding:.52rem .62rem;background:#fff;color:#23405d;font-weight:800;font-size:.95rem}.mobile-scene-popover-note{margin:0;font-size:.79rem;color:#4e6780;line-height:1.4}.mobile-scene-popover-footer{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.55rem .7rem;border-radius:14px;background:linear-gradient(180deg,#e8f3fbe6,#f8fbfff2);border:1px solid rgba(196,219,232,.85)}.mobile-scene-popover-footer__label{font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#6280a0}.mobile-scene-popover-footer strong{font-size:.84rem;font-weight:800;color:#173955}.mobile-elements-sheet{position:absolute;left:50%;bottom:.6rem;transform:translate(-50%);border-radius:22px;padding:.65rem;max-height:min(74dvh,680px);overflow:hidden}.mobile-elements-sheet-actions{display:flex;align-items:center;gap:.4rem}.mobile-elements-sheet-body{margin-top:.55rem;max-height:min(61dvh,560px);overflow:auto;padding-right:.2rem}.scene-legend-mobile-overlay{position:absolute;left:.6rem;right:.6rem;bottom:5.2rem;z-index:26;padding:.5rem;display:flex;gap:.46rem;overflow-x:auto;flex-wrap:nowrap;border-radius:14px;border:1px solid rgba(198,219,240,.95);background:#f5fbffc7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-overflow-scrolling:touch;scrollbar-width:none}.scene-legend-mobile-overlay::-webkit-scrollbar{display:none}.scene-legend-mobile-overlay span{flex:0 0 auto;white-space:nowrap;gap:.3rem;font-size:.72rem;color:#1f405f;background:#ffffffbd;border:1px solid rgba(202,223,242,.92);border-radius:999px;padding:.26rem .55rem}.scene-legend-mobile-overlay i{width:10px;height:10px;border-radius:999px}.mobile-nudge-panel{border:1px solid #c8dff1;border-radius:12px;background:linear-gradient(180deg,#f7fbff,#edf6ff);padding:.52rem;display:grid;gap:.42rem}.mobile-nudge-panel .mobile-nudge-title{margin:0;font-size:.74rem;color:#2a5277;font-weight:700}.mobile-nudge-grid{display:grid;gap:.34rem}.mobile-nudge-row{display:grid;grid-template-columns:1.1rem 1fr 1fr;align-items:center;gap:.35rem}.mobile-nudge-row span{font-size:.72rem;font-weight:700;color:#244d72}.mobile-nudge-row button{border-radius:9px;border:1px solid #b9d4ea;background:#fff;color:#1c4f7f;padding:.32rem .4rem;font-size:.72rem;font-weight:700}.scene-wrap.mobile-fullscreen-active{position:fixed;inset:0;z-index:70;width:100vw;height:100dvh;background:#dbeeff}.scene-wrap.mobile-fullscreen-active .scene-layout,.scene-wrap.mobile-fullscreen-active .scene-canvas-shell,.scene-wrap.mobile-fullscreen-active .scene-canvas{width:100%;height:100dvh;min-height:100dvh}.mobile-fallback-card{display:grid;place-content:center;gap:.7rem;text-align:center;padding:1.25rem}@media (min-width: 768px){.mobile-request-webview-root .mobile-canvas-only-card,.mobile-request-webview-root .scene-wrap,.mobile-request-webview-root .scene-layout,.mobile-request-webview-root .scene-canvas-shell,.mobile-request-webview-root .scene-canvas{min-height:var(--mobile-request-viewport-height, 100dvh);height:var(--mobile-request-viewport-height, 100dvh)}}/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-white:#fff;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.visible\!{visibility:visible!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.static\!{position:static!important}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.hidden\!{display:none!important}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.flex-shrink,.shrink{flex-shrink:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.transform\!{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)!important}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.break-all{word-break:break-all}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter\!{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)!important}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}html,body,#root{width:100%;min-width:0;min-height:100%;margin:0}body{background:#f7faf8;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box;letter-spacing:0}.design-embed-shell{background:linear-gradient(#fbfdfc,#f5faf7);width:100%;min-height:100vh}.design-embed-loading{color:#35574c;place-items:center;min-height:360px;display:grid}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
