@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1e219c03c996efbd-s.0vlx5hthn2t7i.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0fu677rwbv-.g.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/03bda585a99c6450-s.p.0zzh68k1~whtc.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_5db8dfc6-module__nI_9nG__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_5db8dfc6-module__nI_9nG__variable{--font-display:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a342834df7752944-s.10ev4cu2inrn-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.0i6ci0u~g4zml.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.0x1a9yg0jkq20.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.0dyk20wuvya7a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.0ctuso5mgh_i..woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_c1ecd0f4-module__rG64oW__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_c1ecd0f4-module__rG64oW__variable{--font-sans:"Manrope", "Manrope Fallback"}
:root{--bg:#f3ede2;--surface:#fffcf7db;--surface-strong:#fffaf3f2;--line:#3f2b1c1f;--ink:#23170f;--ink-soft:#23170fb3;--accent:#1f5f57;--accent-strong:#143f3a;--accent-soft:#1f5f571f;--warn:#884f22;--danger:#8f2d23;--shadow:0 28px 80px #20120824;--radius-xl:32px;--radius-lg:24px;--radius-md:18px}*{box-sizing:border-box}html{color:var(--ink);background:linear-gradient(#efe5d3 0%,#f7f0e5 38%,#efe3d0 100%)}body{min-height:100vh;font-family:var(--font-sans), "Segoe UI", sans-serif;color:var(--ink);margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}.gate-screen,.auth-screen,.onboarding-shell,.app-shell{min-height:100vh}.gate-screen,.auth-screen{position:relative;overflow:hidden}.gate-glow{filter:blur(10px);background:radial-gradient(circle,#1f5f572e,#0000 68%);border-radius:999px;width:32rem;height:32rem;position:absolute;inset:auto}.gate-glow-left{top:-8rem;left:-10rem}.gate-glow-right{background:radial-gradient(circle,#905d2a29,#0000 70%);bottom:-10rem;right:-8rem}.gate-card,.auth-panel,.instruction-card,.key-card,.dashboard-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.gate-card{border-radius:var(--radius-xl);max-width:40rem;margin:16vh auto 0;padding:3rem;position:relative}.gate-card h1,.auth-hero h1,.onboarding-header h1,.panel-header h2,.sidebar-title{font-family:var(--font-display), Georgia, serif;letter-spacing:-.03em;margin:0;font-weight:600}.gate-card h1{font-size:clamp(2.8rem,4vw,4rem)}.gate-card p,.auth-hero p,.onboarding-header p,.panel-header p,.sidebar-copy,.dashboard-card p,.instruction-card p,.key-card p{color:var(--ink-soft);line-height:1.7}.gate-label,.auth-label,.panel-label,.sidebar-label{letter-spacing:.18em;text-transform:uppercase;color:var(--accent-strong);margin-bottom:1rem;font-size:.76rem;font-weight:800;display:inline-flex}.auth-screen{grid-template-columns:1.2fr minmax(22rem,28rem);align-items:center;gap:2rem;padding:3rem;display:grid}.auth-hero{padding:2rem 1rem}.auth-hero h1{max-width:12ch;font-size:clamp(3rem,6vw,5.8rem);line-height:.95}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem;display:grid}.feature-card{border-radius:var(--radius-md);background:#fff8efb8;border:1px solid #23170f1a;padding:1.4rem}.feature-card h2,.instruction-card h2,.key-card h2,.dashboard-card h3{margin:0 0 .6rem;font-size:1.1rem}.auth-panel{border-radius:var(--radius-xl);padding:2rem}.primary-button,.secondary-button,.ghost-link,.sidebar-link{border-radius:999px;justify-content:center;align-items:center;transition:transform .18s,border-color .18s,background-color .18s;display:inline-flex}.primary-button,.secondary-button{cursor:pointer;border:1px solid #0000;padding:.9rem 1.2rem;font-size:.98rem;font-weight:700}.primary-button{background:linear-gradient(135deg, var(--accent) 0%, #2f7669 100%);color:#fffdf6}.secondary-button{color:var(--ink);background:#fff7edeb;border-color:#23170f1f}.secondary-button.danger{color:var(--danger)}.primary-button:hover,.secondary-button:hover,.ghost-link:hover,.sidebar-link:hover{transform:translateY(-1px)}.ghost-link{background:#fff7edc7;border:1px solid #23170f1a;width:fit-content;padding:.76rem 1rem;font-size:.94rem;font-weight:700}.onboarding-shell{padding:3rem}.onboarding-header{max-width:48rem}.onboarding-header h1{font-size:clamp(2.8rem,5vw,4.6rem)}.onboarding-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:2rem;display:grid}.instruction-card,.key-card{border-radius:var(--radius-lg);padding:1.6rem}.key-card{flex-direction:column;gap:.9rem;display:flex}.step-list,.bullet-list{color:var(--ink-soft);margin:0;padding-left:1.1rem;line-height:1.7}.field-label{letter-spacing:.12em;text-transform:uppercase;font-size:.86rem;font-weight:800}.text-field{width:100%;color:var(--ink);background:#fffcf7eb;border:1px solid #23170f24;border-radius:18px;padding:.95rem 1rem}.text-field:focus{border-color:#1f5f576b;outline:2px solid #1f5f5740}.inline-status{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.status-chip{color:var(--ink-soft);background:#23170f14;border-radius:999px;padding:.36rem .72rem;font-size:.86rem;font-weight:700}.status-chip.valid{background:var(--accent-soft);color:var(--accent-strong)}.muted-copy{color:var(--ink-soft);font-size:.92rem}.checkbox-row{color:var(--ink-soft);align-items:flex-start;gap:.7rem;line-height:1.6;display:flex}.checkbox-row input{margin-top:.15rem}.error-copy{color:var(--danger);margin:0;font-size:.94rem}.app-shell{grid-template-columns:minmax(18rem,22rem) minmax(0,1fr);gap:1.25rem;padding:1.25rem;display:grid}.app-sidebar,.app-main{border-radius:var(--radius-xl);min-height:calc(100vh - 2.5rem)}.app-sidebar{box-shadow:var(--shadow);background:linear-gradient(#faf1e2f5,#f5e9d6eb),radial-gradient(circle at 0 0,#1f5f5729,#0000 38%);border:1px solid #3f2b1c1f;flex-direction:column;justify-content:space-between;padding:1.6rem;display:flex}.sidebar-title{font-size:2.1rem}.sidebar-nav{gap:.6rem;display:grid}.sidebar-link{background:#fff9f0ad;border:1px solid #3f2b1c14;justify-content:flex-start;padding:.95rem 1rem;font-weight:700}.sidebar-link.active{color:var(--accent-strong);background:linear-gradient(135deg,#1f5f5729,#1f5f571a);border-color:#1f5f572e}.app-main{box-shadow:var(--shadow);background:#fffbf5bd;border:1px solid #3f2b1c1a;padding:1.5rem}.panel-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.panel-header h2{font-size:2.3rem}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.dashboard-card{border-radius:var(--radius-lg);padding:1.35rem}.dashboard-card.wide{grid-column:span 2}.settings-stack{gap:1rem;display:grid}.inline-link{color:var(--accent-strong);margin-left:.35rem;font-weight:700}.panel-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.panel-heading h3,.dashboard-card h3{font-family:var(--font-display), Georgia, serif;letter-spacing:-.02em;font-size:1.55rem}.field-grid{grid-template-columns:1.4fr repeat(2,minmax(0,1fr));gap:.9rem;margin-bottom:1rem;display:grid}.field-stack{gap:.45rem;display:grid}.textarea-field{resize:vertical;min-height:6.2rem;color:var(--ink);font:inherit;background:#fffcf7eb;border:1px solid #23170f24;border-radius:18px;padding:.95rem 1rem}.textarea-field:focus{border-color:#1f5f576b;outline:2px solid #1f5f5740}.inline-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.chip-row{flex-wrap:wrap;gap:.6rem;display:flex}.chip-button{color:var(--ink);cursor:pointer;background:#fff8efc7;border:1px solid #23170f1f;border-radius:999px;padding:.62rem .92rem;font-weight:700;transition:transform .18s,border-color .18s,background-color .18s}.chip-button:hover{background:#eff8f6eb;border-color:#1f5f5747;transform:translateY(-1px)}.status-copy,.subtle-copy,.status-row{color:var(--ink-soft);font-size:.92rem;line-height:1.6}.status-row{flex-wrap:wrap;gap:1rem;margin-top:1rem;display:flex}.app-dashboard{grid-template-columns:minmax(0,1.45fr) minmax(22rem,.9fr);gap:1rem;display:grid}.dashboard-column-main,.dashboard-column-side{align-content:start;gap:1rem;display:grid}.control-panel{gap:1rem;display:grid}.weather-hero{background:radial-gradient(circle at 100% 0,#1f5f571f,#0000 38%),#fffcf7e6}.weather-hero-head,.assessment-hero,.official-slot-header,.saved-location-actions,.saved-location-card{gap:1rem;display:flex}.weather-hero-head,.assessment-hero,.official-slot-header{justify-content:space-between;align-items:flex-start}.weather-score-block{justify-items:end;gap:.25rem;display:grid}.weather-score-value,.assessment-score{font-family:var(--font-display), Georgia, serif;font-size:3rem;line-height:.9}.score-badge{border-radius:999px;justify-content:center;align-items:center;min-width:3rem;padding:.34rem .7rem;font-size:.85rem;font-weight:800;display:inline-flex}.score-badge.excellent{color:var(--accent-strong);background:#1f5f5724}.score-badge.strong{color:#345a2a;background:#41743924}.score-badge.steady{color:#875a18;background:#a3762c24}.score-badge.warning{color:var(--warn);background:#be6d2424}.score-badge.danger{color:var(--danger);background:#8f2d2324}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1rem;display:grid}.metric-item{border-radius:var(--radius-md);background:#fff7edc7;border:1px solid #23170f14;padding:1rem}.metric-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.35rem;font-size:.82rem;font-weight:800;display:block}.metric-value{font-family:var(--font-display), Georgia, serif;font-size:1.4rem;line-height:1}.saved-list,.stack-list,.factor-list{gap:.8rem;display:grid}.saved-location-card{border-radius:var(--radius-md);background:#fff8efbd;border:1px solid #23170f1a;flex-direction:column;justify-content:space-between;padding:1rem}.saved-location-card.active{background:#edf7f5eb;border-color:#1f5f5742}.saved-location-card p,.saved-location-card small,.official-slot p,.official-slot small,.factor-row p{color:var(--ink-soft);margin:0}.saved-location-actions{flex-wrap:wrap}.official-slot,.highlight-box{border-radius:var(--radius-md);background:#fff8efb3;border:1px solid #23170f14;padding:.95rem 1rem}.highlight-box{gap:.25rem;margin:1rem 0;display:grid}.factor-row{border-top:1px solid #23170f14;justify-content:space-between;gap:1rem;padding:.9rem 0;display:flex}.factor-row:first-child{border-top:0;padding-top:0}.factor-row span{font-family:var(--font-display), Georgia, serif;font-size:1.5rem;line-height:1}.table-wrap{overflow-x:auto}.hourly-table{border-collapse:collapse;width:100%;min-width:44rem}.hourly-table th,.hourly-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #23170f14;padding:.8rem .7rem}.hourly-table th{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:.82rem;font-weight:800}.empty-state{border-radius:var(--radius-md);background:#fff8efb8;border:1px dashed #23170f24;padding:1rem}@media (max-width:960px){.auth-screen,.onboarding-grid,.app-shell,.dashboard-grid,.app-dashboard,.field-grid,.metric-grid{grid-template-columns:1fr}.dashboard-card.wide{grid-column:span 1}.feature-grid{grid-template-columns:1fr}}@media (max-width:720px){.auth-screen,.onboarding-shell,.app-shell{padding:1rem}.gate-card,.auth-panel,.instruction-card,.key-card,.app-main,.app-sidebar{border-radius:24px}.gate-card,.auth-panel{padding:1.4rem}.panel-header,.panel-heading,.weather-hero-head,.assessment-hero{flex-direction:column}}
