:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#111418;color:#edf2f7}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#111418}a{color:inherit}.app-shell{min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid #2a313b;background:#171b21}.brand{font-weight:700;text-decoration:none}.nav{display:flex;gap:.85rem;color:#a9b4c2;font-size:.9rem}.nav a{text-decoration:none}.nav a:hover{color:#eef5ff}.auth-controls{display:flex;align-items:center;gap:.5rem}.auth-controls .primary-button,.auth-controls .secondary-button{white-space:nowrap}.auth-setup-note{color:#7f8b9a;font-size:.8rem}.account-required{display:grid;gap:.8rem;align-items:start;max-width:24rem}.project-list{display:grid;gap:.75rem;margin:1rem 0}.project-list-item{display:flex;justify-content:space-between;gap:1rem;padding:.9rem;border:1px solid #2f3a48;border-radius:8px;background:#171d24}.project-list-item h2{margin:0 0 .25rem;font-size:1rem}.project-list-item p{margin:.2rem 0 0}.project-list-actions{display:grid;gap:.45rem;align-content:start;min-width:6rem}.start-screen{display:grid;grid-template-columns:minmax(18rem,34rem) minmax(18rem,1fr);gap:clamp(1rem,3vw,3rem);align-items:center;min-height:calc(100vh - 58px);padding:clamp(1rem,4vw,4rem)}.start-panel{display:grid;gap:1rem}.eyebrow{margin:0;color:#67d0a0;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.start-panel h1{margin:0;max-width:13ch;font-size:clamp(2.1rem,6vw,4.8rem);line-height:.98}.lede{margin:0;max-width:38rem;color:#b4bfcc;font-size:1.05rem;line-height:1.55}.start-actions{display:grid;gap:.75rem;margin-top:.5rem}.start-option{display:grid;gap:.25rem;padding:.9rem 1rem;border:1px solid #3c4654;border-radius:8px;background:#171d24;text-decoration:none;transition:border-color .15s ease,background .15s ease,transform .15s ease}.start-option:hover{border-color:#6c7a8d;background:#1d2530;transform:translateY(-1px)}.start-option-primary{border-color:#2f9d67;background:#14231c}.start-option span{color:#f3f7fb;font-weight:700}.start-option small{color:#a9b4c2;font-size:.86rem;line-height:1.4}.start-preview{display:grid;place-items:center;min-width:0}.roof-sketch{position:relative;width:min(100%,44rem);aspect-ratio:14 / 11;overflow:hidden;border:1px solid #384251;border-radius:8px;background:#0d1217;clip-path:polygon(12% 0,100% 0,100% 100%,0 100%)}.roof-sketch-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(238,87,72,.28) 1px,transparent 1px),linear-gradient(90deg,rgba(238,87,72,.28) 1px,transparent 1px),linear-gradient(160deg,#3b4553,#252d38 72%,#1a2028);background-size:100% 8.33%,7.14% 100%,auto}.roof-sketch-window{position:absolute;left:43%;top:30%;width:12%;height:26%;border:3px solid rgba(30,39,52,.95);background:#74b9de9e}.roof-sketch-panel{position:absolute;width:16%;height:32%;border:2px solid #6c7a8d;border-radius:3px;background:linear-gradient(165deg,#171d23,#090b0e);box-shadow:0 8px 18px #00000047}.panel-a{left:20%;top:12%}.panel-b{left:20%;top:47%}.panel-c{left:61%;top:12%}.panel-d{left:61%;top:47%}.editor-layout{display:grid;grid-template-columns:minmax(18rem,24rem) minmax(0,1fr);min-height:calc(100vh - 58px)}.side-panel{display:flex;flex-direction:column;min-width:0;padding:1rem;border-right:1px solid #2a313b;background:#171b21}.side-panel h1,.page h1{margin:0 0 .65rem;font-size:1.35rem}.side-panel p,.page p{color:#a9b4c2;line-height:1.5}.control-group{margin-top:1rem}label{display:grid;gap:.35rem;color:#a9b4c2;font-size:.85rem}input,select{width:100%;border:1px solid #3c4654;border-radius:6px;background:#111820;color:#edf2f7;padding:.5rem .6rem}button{font:inherit}.link-button{width:fit-content;padding:0;border:0;color:#7dd3fc;background:transparent;font-weight:700;cursor:pointer}.link-button:hover{color:#bae6fd}.measurement-form{display:grid;gap:.85rem;margin-top:1rem}.segmented-fieldset{margin:0;padding:0;border:0}.segmented-fieldset legend{margin-bottom:.35rem;color:#a9b4c2;font-size:.85rem}.segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;padding:.25rem;border:1px solid #3c4654;border-radius:8px;background:#111820}.segmented-control label{display:grid;place-items:center;min-height:2rem;border-radius:6px;color:#a9b4c2;cursor:pointer}.segmented-control label:has(input:checked){background:#26313f;color:#edf2f7}.segmented-control input{position:absolute;opacity:0;pointer-events:none}.form-grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.check-row{display:flex;align-items:center;gap:.55rem;color:#dbe5ef}.check-row input{width:auto;margin:0}.setback-side-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .75rem;padding:.65rem;border:1px solid #3c4654;border-radius:8px;background:#111820}.obstacle-section{display:grid;gap:.6rem}.obstacle-section-header,.obstacle-editor-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.obstacle-section-header span{color:#a9b4c2;font-size:.85rem}.obstacle-editor{display:grid;gap:.7rem;padding:.75rem;border:1px solid #3c4654;border-radius:8px;background:#141a21}.obstacle-editor-header strong{font-size:.9rem}.primary-button,.secondary-button,.icon-button{border:1px solid #3c4654;border-radius:6px;color:#edf2f7;background:#1d2530;cursor:pointer}.primary-button:disabled,.secondary-button:disabled,.icon-button:disabled{border-color:#2a313b;color:#647181;background:#151a20;cursor:not-allowed;opacity:.72}.primary-button{padding:.65rem .8rem;border-color:#2f9d67;background:#16452f;font-weight:700}.secondary-button{padding:.4rem .6rem;font-size:.85rem}.back-link{display:inline-flex;width:fit-content;margin:0 0 .65rem;color:#7dd3fc;font-size:.88rem;font-weight:700;text-decoration:none}.back-link:hover{color:#bae6fd}.icon-button{display:grid;place-items:center;width:1.75rem;height:1.75rem;padding:0;font-weight:700}.primary-button:not(:disabled):hover,.secondary-button:not(:disabled):hover,.icon-button:not(:disabled):hover{border-color:#6c7a8d;background:#26313f}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:1rem;background:#080b0fb8}.modal-panel{display:grid;gap:1rem;width:min(100%,24rem);padding:1rem;border:1px solid #3c4654;border-radius:8px;background:#171d24;box-shadow:0 1.5rem 4rem #00000073}.modal-panel h2{margin:0;font-size:1.15rem}.modal-actions{display:flex;justify-content:flex-end;gap:.55rem}.stage{display:grid;min-width:0;place-items:center;align-content:center;gap:.8rem;padding:1rem}.measured-roof-shell{display:grid;place-items:center;width:min(100%,58rem)}.measured-roof{position:relative;width:100%;max-height:calc(100vh - 10rem);overflow:hidden;border:1px solid #384251;border-radius:8px;background:#0d1217}.measured-roof-grid{position:absolute;inset:0;display:grid}.measured-roof-tile{border-right:1px solid rgba(238,87,72,.34);border-bottom:1px solid rgba(238,87,72,.34);background:linear-gradient(165deg,#3b4553,#252d38 74%,#1a2028)}.measured-setback{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.measured-setback path{fill:#ef444426;stroke:#ef444452;stroke-width:2;vector-effect:non-scaling-stroke}.measured-obstacle{position:absolute;border:3px solid rgba(30,39,52,.95);background:#74b9de9e;box-shadow:inset 0 0 0 1px #dbeafe5c}.roof-summary{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem .75rem;color:#a9b4c2;font-size:.9rem}.roof-summary strong{color:#edf2f7}.layout-toolbar{display:grid;gap:.85rem;margin-top:.8rem}.layout-toolbar-group{display:grid;gap:.5rem}.orientation-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.custom-panel-fields{display:grid;gap:.6rem}.orientation-toggles .is-active{border-color:#56b0da;background:#56b0da29;color:#edf2f7}.layout-toolbar-group--auto{margin-top:.45rem;padding-top:.85rem;border-top:1px solid #2a313b}.layout-toolbar-group--share{margin-top:.45rem}.layout-share-status{color:#7dd3fc;font-size:.82rem}.share-details{display:grid;gap:1rem;margin-top:1.2rem}.share-detail-section{display:grid;gap:.55rem}.share-detail-section h2{margin:0;color:#edf2f7;font-size:.95rem}.share-detail-section dl{display:grid;gap:.45rem;margin:0}.share-detail-section div{display:grid;gap:.1rem}.share-detail-section dt{color:#7f8b9a;font-size:.75rem}.share-detail-section dd{margin:0;color:#d8e1ec;font-size:.88rem}.layout-readout{display:grid;gap:.25rem;margin:auto 0 0;padding-top:1rem;color:#edf2f7;font-size:1.2rem;font-weight:700;line-height:1.15}.shared-layout-panel{pointer-events:none}.layout-readout span:first-child{display:flex;align-items:baseline;gap:.4rem;color:#a9b4c2;font-size:.95rem;font-weight:600}.layout-readout strong{color:#edf2f7;font-size:2.7rem;line-height:.9}.layout-roof{touch-action:none;width:min(100%,58rem);max-height:none}.layout-panel-layer{position:absolute;inset:0;z-index:4}.layout-panel{position:absolute;border:2px solid #6a798d;border-radius:4px;background:linear-gradient(165deg,#171d23,#0c0f13);box-shadow:0 8px 14px #00000059;cursor:grab}.layout-panel:active{cursor:grabbing}.layout-panel.is-selected{z-index:2;border-color:#56b0da;box-shadow:0 0 0 2px #56b0da59}.layout-panel span{position:absolute;right:.25rem;bottom:.2rem;color:#edf2f78c;font-size:.68rem;font-weight:700}.stage-empty{display:grid;gap:.3rem;width:min(100%,56rem);aspect-ratio:27 / 34;place-items:center;align-content:center;border:1px solid #384251;border-radius:8px;background:#0e1318;color:#a9b4c2;text-align:center}.stage-empty strong{color:#edf2f7}.page{max-width:54rem;padding:1.25rem}@media(max-width:760px){.start-screen{grid-template-columns:1fr;align-items:start}.start-panel h1{max-width:11ch}.editor-layout{grid-template-columns:1fr}.side-panel{border-right:none;border-bottom:1px solid #2a313b}.layout-panel span{font-size:.62rem}}
