:root{--accent:var(--brand-primary);--accent-hover:var(--brand-primary-hover);--accent-soft:var(--brand-primary-soft);--black:var(--brand-black);--graphite:var(--brand-graphite);--cream:var(--brand-canvas);--ink:#1c1c1c;--muted:#696969;--line:#deddd8;--white:var(--brand-white)}*{box-sizing:border-box}html{background:var(--cream)}body{color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}.loading{place-items:center;min-height:100dvh;display:grid}.language-screen{background:radial-gradient(circle at 18% 8%, color-mix(in srgb,var(--accent),transparent 68%) 0, transparent 33%), linear-gradient(145deg,var(--graphite),var(--black));place-items:center;min-height:100dvh;padding:24px;display:grid;position:relative;overflow:hidden}.language-screen:after{content:"";border:1px solid #ffffff14;border-radius:50%;width:360px;height:360px;position:absolute;bottom:-170px;right:-180px;box-shadow:0 0 0 70px #ffffff06}.language-card{z-index:1;background:var(--white);text-align:center;border-radius:24px;width:min(100%,470px);padding:38px 26px 25px;position:relative;box-shadow:0 30px 80px #00000045}.brand-banner{object-fit:contain;width:auto;height:auto;display:block}.loading .brand-banner{width:min(76vw,290px)}.language-card .brand-banner{border-radius:4px;width:min(100%,290px);margin:0 auto 18px}.eyebrow{color:var(--black);letter-spacing:.12em;text-transform:uppercase;margin:0 0 4px;font-size:.73rem;font-weight:900}.brand-descriptor{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;margin:0 0 22px;font-size:.76rem;font-weight:700}h1,h2,h3,p{margin-top:0}.language-card h1{letter-spacing:-.025em;margin-bottom:9px;font-family:Georgia,serif;font-size:clamp(2rem,9vw,2.6rem)}.muted{color:var(--muted);line-height:1.5}.landing-actions{gap:10px;margin:28px 0 24px;display:grid}.landing-actions button{border-radius:13px;min-height:50px;font-weight:800;transition:all .2s}.landing-primary{border:1px solid var(--black);background:var(--accent);color:var(--black);padding:13px 18px;font-size:.94rem}.landing-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.landing-primary span{margin-left:9px}.landing-secondary{color:var(--black);background:0 0;border:0;padding:8px 18px}.landing-secondary strong,.landing-secondary small{display:block}.landing-secondary small{color:var(--muted);margin-top:3px;font-size:.7rem;font-weight:500}.landing-secondary:hover strong{text-underline-offset:3px;text-decoration:underline}.privacy-note{color:#777;margin:0;font-size:.76rem}.privacy-note span{color:var(--accent-hover);font-size:.55rem}.demo-notice{text-align:left;color:#443c17;background:#fff9dc;border:1px solid #d6c55e;border-radius:12px;margin:20px 0 0;padding:14px}.demo-notice strong{font-size:.78rem;display:block}.demo-notice p{margin:4px 0 0;font-size:.73rem;line-height:1.45}.demo-notice hr{border:0;border-top:1px solid #443c1729;margin:10px 0}.clear-draft-link{color:#555;text-underline-offset:3px;background:0 0;border:0;padding:8px;font-size:.72rem;text-decoration:underline}.clear-draft-link small{color:#777;margin-top:3px;font-size:.65rem;display:block}.clear-success{color:#3f4c36;background:#f1f0eb;border-radius:9px;margin:12px 0 0;padding:9px;font-size:.75rem}.final-clear{margin:10px auto 0;display:block}.final-clear small{display:none}.dialog-backdrop{z-index:20;background:#0a0a0a7a;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.clear-dialog{text-align:left;background:#fff;border-radius:16px;width:min(100%,430px);padding:22px;box-shadow:0 22px 70px #0000004d}.clear-dialog h2{margin-bottom:10px;font-family:Georgia,serif;font-size:1.35rem}.clear-dialog p{color:var(--muted);margin-bottom:20px;font-size:.85rem;line-height:1.5}.clear-dialog>div{justify-content:flex-end;gap:9px;display:flex}.danger-button{color:#fff;background:#a94131;border:1px solid #8f3224;border-radius:11px;min-height:47px;padding:11px 14px;font-weight:800}.app-shell{min-height:100dvh;padding:0 16px 30px}header{justify-content:space-between;align-items:center;gap:16px;max-width:900px;min-height:68px;margin:auto;display:flex}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brand-symbol{background:var(--accent);border:1px solid var(--graphite);border-radius:11px;flex:none;place-items:center;width:43px;height:43px;display:grid}.brand-symbol img{object-fit:contain;width:32px;height:32px}.brand-copy{min-width:0}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.03em;white-space:nowrap;font-size:.78rem}.brand small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:3px;font-size:.67rem}.text-button{color:var(--graphite);text-underline-offset:3px;background:0 0;border:0;padding:10px 0;font-size:.8rem;text-decoration:underline}.progress-wrap{max-width:740px;margin:8px auto 19px}.progress-meta{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.75rem;display:flex}.progress-meta span{font-weight:700}.progress-meta strong{color:var(--graphite)}.progress-track{background:#d8d7d2;border-radius:5px;height:6px;overflow:hidden}.progress-track span{background:var(--accent);border-radius:5px;height:100%;transition:width .35s;display:block}.form-card{background:#fff;border:1px solid #00000014;border-radius:22px;max-width:740px;margin:auto;padding:24px 19px 18px;box-shadow:0 12px 42px #00000012}.title-block{border-bottom:1px solid #ecebe7;align-items:flex-start;gap:15px;margin-bottom:24px;padding-bottom:22px;display:flex}.step-badge{background:var(--accent);color:var(--black);border-radius:9px;padding:8px;font-size:.75rem;font-weight:900}.title-block h1{letter-spacing:-.02em;margin-bottom:8px;font-family:Georgia,serif;font-size:clamp(1.55rem,6vw,2.05rem);line-height:1.1}.title-block p{color:var(--muted);margin:0;font-size:.9rem;line-height:1.5}.fields{gap:19px;display:grid}.field{gap:7px;display:grid}.field>span,legend{color:#383838;font-size:.83rem;font-weight:700}.field em,legend em{color:#b9513d;margin-left:2px;font-style:normal}input,textarea,select{width:100%;color:var(--ink);background:#fff;border:1px solid #cbc9c1;border-radius:11px;outline:none;padding:13px;transition:all .15s}input:focus,textarea:focus,select:focus{border-color:var(--accent-hover);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent),transparent 68%)}textarea{resize:vertical;line-height:1.45}.coordinate-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field-invalid input,.field-invalid textarea,.field-invalid select{border-color:#b74735!important}.fieldset-invalid{outline-offset:5px;border-radius:8px;outline:1px solid #b74735}.field-invalid input:focus,.field-invalid textarea:focus,.field-invalid select:focus,.fieldset-invalid:focus{box-shadow:0 0 0 3px #b7473529}.inline-error{color:#a33f2e;margin:5px 0 0;font-size:.75rem;line-height:1.4;display:block}.zone-section-head .inline-error{margin-top:6px}.location-button{border:1px solid var(--graphite);color:var(--black);background:var(--accent-soft);border-radius:12px;padding:14px;font-weight:750}.location-button:disabled{opacity:.65}.target{margin-right:8px;font-size:1.3rem}.status{border-radius:9px;margin:-7px 0 0;padding:11px 12px;font-size:.8rem}.status.success{background:var(--accent-soft);color:var(--black)}.status.error{color:#a74734;background:#fff1ee}.divider{color:#929292;align-items:center;gap:10px;font-size:.65rem;font-weight:800;display:flex}.divider:before,.divider:after{content:"";background:#e5e4df;flex:1;height:1px}.hint{color:var(--muted);margin:-9px 0 0;font-size:.78rem}fieldset{border:0;min-width:0;margin:0;padding:0}legend{margin-bottom:11px}.choice-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.choice-grid label{cursor:pointer;border:1px solid #d5d3cc;border-radius:11px;align-items:center;gap:9px;min-height:48px;padding:12px;font-size:.84rem;line-height:1.2;display:flex}.choice-grid label.selected{border-color:var(--graphite);background:var(--accent-soft);color:var(--black);font-weight:700}.choice-grid input{opacity:0;pointer-events:none;position:absolute}.radio{border:1.5px solid #9c9b96;border-radius:50%;flex:none;width:17px;height:17px;display:block}.selected .radio{border:5px solid var(--graphite)}.check{color:#0000;border:1.5px solid #a4a39e;border-radius:5px;flex:none;place-items:center;width:18px;height:18px;font-size:.7rem;display:grid}.selected .check{background:var(--accent);border-color:var(--graphite);color:var(--black)}.solar-callout{background:var(--accent-soft);border:1px solid var(--accent-hover);color:#4b3d00;border-radius:13px;gap:12px;padding:14px;display:flex}.solar-callout>span{font-size:1.4rem}.solar-callout strong{font-size:.85rem}.solar-callout p{margin:5px 0 0;font-size:.78rem;line-height:1.5}.upload-zone{text-align:center;cursor:pointer;background:#faf9f5;border:1.5px dashed #9b9991;border-radius:14px;justify-items:center;padding:26px 15px;display:grid}:is(.upload-zone:has(input:disabled),.zone-upload:has(input:disabled)){opacity:.6;cursor:wait}.upload-zone input{opacity:0;pointer-events:none;position:absolute}.upload-icon{background:var(--accent);width:42px;height:42px;color:var(--black);border-radius:50%;place-items:center;margin-bottom:9px;font-size:1.6rem;display:grid}.upload-zone strong{color:var(--black);font-size:.9rem}.upload-zone small{color:var(--muted);margin-top:7px;font-size:.74rem;line-height:1.5}.empty-note{color:var(--muted);text-align:center;background:#f5f4f0;border-radius:9px;margin:0;padding:12px;font-size:.8rem}.photo-privacy{color:var(--muted);margin:-9px 0 0;font-size:.72rem;line-height:1.45}.zone-photo-section .photo-privacy{margin:0}.photo-processing{color:var(--graphite);margin:0;font-size:.78rem;font-weight:800}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;min-width:0;display:grid}.photo-grid figure{min-width:0;margin:0;position:relative}.photo-grid img{aspect-ratio:1;object-fit:cover;border-radius:9px;width:100%;display:block}.photo-grid button{color:#fff;background:#000000d1;border:0;border-radius:50%;width:29px;height:29px;font-size:1.2rem;line-height:1;position:absolute;top:5px;right:5px}.photo-grid figcaption{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:5px;font-size:.67rem;overflow:hidden}.photo-notice{color:#8b3325;background:#fff0ed;border:1px solid #e1a79d;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:10px;margin:18px 0 0;padding:11px 12px;font-size:.78rem;line-height:1.45;display:flex}.photo-notice button{color:#8b3325;background:0 0;border:0;border-radius:50%;flex:none;width:28px;height:28px;font-size:1.15rem;line-height:1}.review-list{gap:11px;display:grid}.review{border:1px solid var(--line);border-radius:12px;padding:14px}.review-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.review h3{text-transform:uppercase;letter-spacing:.08em;color:var(--black);margin:0;font-size:.78rem}.review button{color:var(--graphite);background:0 0;border:0;font-size:.75rem;text-decoration:underline}.review p{overflow-wrap:anywhere;margin:0;font-size:.86rem;line-height:1.55}.review small{color:var(--muted);margin-top:5px;line-height:1.4;display:block}.review-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;min-width:0;margin-top:10px;display:grid}.review-photo-grid img{aspect-ratio:4/3;object-fit:cover;background:#eeece7;border-radius:7px;width:100%;height:auto;display:block}.prototype-note{color:#5d5d59;background:#f3f2ee;border-radius:9px;padding:11px;font-size:.78rem}.form-error{color:#a33f2e;background:#fff0ed;border-radius:9px;margin:18px 0 0;padding:10px 12px;font-size:.8rem}.form-nav{border-top:1px solid #ecebe7;justify-content:space-between;gap:12px;margin-top:26px;padding-top:18px;display:flex}.primary,.secondary{border:1px solid var(--graphite);border-radius:11px;min-height:47px;padding:13px 18px;font-weight:800}.primary{background:var(--accent);color:var(--black)}.primary:hover{background:var(--accent-hover)}.secondary{color:var(--black);background:#fff}.primary span{margin-left:8px}.full{width:100%}.confirmation{text-align:center;padding:8px 0 3px}.success-ring{background:var(--accent);width:70px;height:70px;color:var(--black);border:7px solid var(--accent-soft);border-radius:50%;place-items:center;margin:0 auto 18px;font-size:2rem;display:grid}.confirmation h2{margin-bottom:9px;font-family:Georgia,serif;font-size:1.8rem}.confirmation>p{color:var(--muted);max-width:500px;margin:0 auto 23px;font-size:.88rem;line-height:1.6}.reference{background:#f4f3ef;border-radius:12px;gap:4px;margin:0 auto 21px;padding:14px;display:grid}.reference span{color:var(--muted);letter-spacing:.1em;font-size:.63rem;font-weight:700}.reference strong{color:var(--black);letter-spacing:.05em}footer{color:#7c7c78;justify-content:space-between;max-width:740px;margin:16px auto 0;padding:0 4px;font-size:.67rem;display:flex}footer span:first-child{color:var(--graphite)}.migration-notice{background:#fff9d8;border:1px solid #d4b72b;border-radius:11px;align-items:flex-start;gap:10px;max-width:740px;margin:3px auto 14px;padding:11px 13px;font-size:.72rem;line-height:1.45;display:flex}.migration-notice p{flex:1;margin:0}.migration-notice button{background:0 0;border:0;padding:0 2px;font-size:1.2rem;line-height:1}.zone-step{gap:22px}.zone-section-head{border-top:1px solid #ecebe7;justify-content:space-between;align-items:center;padding-top:4px;display:flex}.zone-section-head h2{margin:0 0 4px;font-size:1rem}.zone-section-head h2 em{color:#b9513d;font-style:normal}.zone-section-head p{color:var(--muted);margin:0;font-size:.77rem}.zone-section-head>span{background:var(--graphite);color:#fff;border-radius:50%;place-items:center;min-width:31px;height:31px;font-size:.76rem;font-weight:800;display:grid}.zone-list{gap:11px;display:grid}.zone-summary{background:#fff;border:1px solid #cfcdc5;border-radius:13px;gap:11px;padding:13px;display:flex}.zone-number{background:var(--accent);border-radius:8px;flex:none;place-items:center;width:29px;height:29px;font-size:.75rem;font-weight:900;display:grid}.zone-summary-main{flex:1;min-width:0}.zone-summary h3{margin:1px 0 4px;font-size:.9rem;line-height:1.25}.zone-summary p{color:var(--muted);margin:0;font-size:.72rem;line-height:1.35}.zone-actions{flex-wrap:wrap;gap:2px 5px;margin:3px 0 -7px -4px;display:flex}.zone-actions button{text-underline-offset:2px;background:0 0;border:0;min-height:40px;padding:8px 4px;font-size:.71rem;font-weight:700;text-decoration:underline}.zone-actions .danger{color:#a33f2e}.add-zone{width:100%;min-height:49px;color:var(--black);background:#faf9f5;border:1.5px dashed #77746c;border-radius:12px;font-weight:800}.add-zone:hover{background:var(--accent-soft);border-color:var(--graphite)}.zone-editor{border:2px solid var(--graphite);border-radius:16px;gap:20px;padding:16px;display:grid;box-shadow:0 7px 24px #00000012}.zone-editor-head{border-bottom:1px solid #e6e4dd;justify-content:space-between;align-items:flex-start;padding-bottom:13px;display:flex}.zone-editor-head span,.review-zone .review-head span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:.67rem;font-weight:800;display:block}.zone-editor-head h3{margin:0;font-size:1.05rem}.icon-remove{background:#fff;border:1px solid #d2d0c8;border-radius:50%;width:32px;height:32px;font-size:1.2rem;line-height:1}.zone-type-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.zone-type-grid label{cursor:pointer;border:1px solid #d2d0c8;border-radius:10px;align-items:center;min-height:45px;padding:10px;font-size:.76rem;line-height:1.25;display:flex}.zone-type-grid label:last-child{grid-column:1/-1}.zone-type-grid label.selected{border-color:var(--graphite);background:var(--accent-soft);font-weight:800}.zone-type-grid input{opacity:0;pointer-events:none;position:absolute}.measurement-help{border-left:3px solid var(--accent-hover);background:#f5f4ef;border-radius:4px 9px 9px 4px;padding:10px 11px;font-size:.75rem;line-height:1.5}.detail-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.detail-grid .field:has(textarea){grid-column:1/-1}.confidence-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.confidence-grid label,.indicator-grid label,.species-grid label{cursor:pointer;border:1px solid #d5d3cc;border-radius:10px;align-items:center;gap:8px;min-height:45px;padding:10px;font-size:.74rem;line-height:1.25;display:flex}.confidence-grid label.selected,.indicator-grid label.selected,.species-grid label.selected{border-color:var(--graphite);background:var(--accent-soft);font-weight:700}.confidence-grid input,.indicator-grid input,.species-grid input{opacity:0;pointer-events:none;position:absolute}.fieldset-help{color:var(--muted);margin:-6px 0 10px;font-size:.72rem}.indicator-grid,.species-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.species-fieldset{border-bottom:1px solid #ecebe7;padding-bottom:20px}.zone-photo-section{background:#f7f6f2;border-radius:12px;gap:10px;padding:13px;display:grid}.zone-photo-section h4{margin:0 0 5px;font-size:.83rem}.zone-photo-section p{color:var(--muted);margin:0;font-size:.72rem;line-height:1.45}.zone-photo-section>small{color:var(--muted);font-size:.68rem}.solar-label{color:#594900;font-size:.73rem}.zone-upload{text-align:center;cursor:pointer;background:#fff;border:1px dashed #77746c;border-radius:10px;justify-content:center;align-items:center;min-height:43px;font-size:.76rem;font-weight:800;display:flex}.zone-upload input{opacity:0;pointer-events:none;position:absolute}.done-zone{border:1px solid var(--graphite);background:var(--accent);border-radius:11px;min-height:47px;font-weight:850}.review-zones{gap:10px;margin:4px 0;display:grid}.review-zones>h2{margin:3px 0 0;font-size:.86rem}.review-zone{border:1px solid #bcb9af;border-left:4px solid var(--accent-hover);border-radius:12px;padding:14px}.review-zone .review-head{align-items:flex-start}.review-zone .review-head h3{margin:0;font-size:.9rem}.review-zone .review-head button{background:0 0;border:0;font-size:.75rem;text-decoration:underline}.review-zone p{overflow-wrap:anywhere;margin:6px 0;font-size:.77rem;line-height:1.5}.review-zone small{color:var(--muted);font-size:.72rem}.choice-grid input,.zone-type-grid input,.confidence-grid input,.indicator-grid input,.species-grid input,.upload-zone input,.zone-upload input{width:1px;height:1px;margin:0;padding:0}@media (min-width:640px){.app-shell{padding:0 25px 40px}.form-card{padding:32px 38px 28px}.title-block{gap:19px}.form-nav{margin-top:32px}.photo-grid{grid-template-columns:repeat(4,1fr)}.zone-editor{padding:21px}.zone-type-grid{grid-template-columns:repeat(3,1fr)}.zone-type-grid label:last-child{grid-column:auto}}@media (max-width:520px){header,.brand{gap:8px}.brand-symbol{border-radius:10px;width:40px;height:40px}.brand-symbol img{width:30px;height:30px}.brand-copy{max-width:145px}.brand-copy small{font-size:.58rem}.brand strong{white-space:normal;font-size:.68rem;line-height:1.1}.text-button{max-width:86px;font-size:.72rem}.choice-grid,.coordinate-grid,.detail-grid{grid-template-columns:1fr}.detail-grid .field:has(textarea){grid-column:auto}.form-card{border-radius:18px}.form-nav .primary,.form-nav .secondary{padding:12px 14px}.zone-editor{padding:13px}.zone-type-grid{grid-template-columns:1fr}.zone-type-grid label:last-child{grid-column:auto}.confidence-grid{grid-template-columns:1fr}.indicator-grid{grid-template-columns:1fr 1fr}.indicator-grid label{padding:8px;font-size:.69rem}.species-grid{grid-template-columns:1fr}.review-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}footer{text-align:center;justify-content:center;gap:6px;display:grid}}@media (max-width:350px){.app-shell{padding-left:10px;padding-right:10px}.form-card{padding-left:13px;padding-right:13px}.title-block{gap:10px}.title-block h1{font-size:1.42rem}.indicator-grid{grid-template-columns:1fr}.form-nav{gap:7px}.form-nav .primary,.form-nav .secondary{padding:10px 11px;font-size:.78rem}.zone-summary{padding:11px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
