@font-face{font-family:Inter;src:url(../fonts/inter-latin.woff2) format("woff2");font-style:normal;font-weight:400 700;font-display:swap}@font-face{font-family:Space Grotesk;src:url(../fonts/space-grotesk-latin.woff2) format("woff2");font-style:normal;font-weight:400 700;font-display:swap}:root{color-scheme:dark;font-family:Inter,Arial,sans-serif;color:var(--text-primary);background:var(--surface-page);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--green-950: #061a0f;--green-900: #0b2416;--green-800: #123520;--green-700: #1a472c;--green-600: #2a6a3c;--green-500: #4f9158;--green-300: #8fc984;--green-200: #b9e2a8;--green-100: #e2f5d4;--lime-400: #c3ee86;--lime-300: #d5f5a7;--lime-100: #eeffd2;--surface-page: var(--green-950);--surface-dialog: var(--green-800);--surface-field: var(--green-900);--surface-subtle: var(--green-700);--surface-backdrop: rgb(6 26 15 / .72);--text-primary: var(--green-100);--text-secondary: var(--green-200);--text-muted: var(--green-300);--text-on-accent: var(--green-950);--border-subtle: var(--green-600);--border-control: var(--green-500);--accent-solid: var(--lime-400);--accent-hover: var(--lime-300);--accent-text: var(--lime-400);--focus-ring: var(--lime-100);--error-text: var(--lime-100);--error-surface: var(--green-700);--radius-control: 8px;--radius-field: 7px;--radius-cta: 16px;--radius-panel: 20px;--font-display: "Space Grotesk", Inter, Arial, sans-serif;--text-xs: .6875rem;--text-sm: .75rem;--text-ui: .875rem;--text-body: 1rem;--text-title: 1.3125rem;--text-cta: 1.25rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.65}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}::selection{background:var(--accent-solid);color:var(--text-on-accent)}h1,h2,h3,p{margin:0}h2,h3{text-wrap:balance}p{line-height:1.6;text-wrap:pretty}svg{flex-shrink:0;vertical-align:middle}img{display:block;max-width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:var(--surface-page);pointer-events:none}.backdrop img{width:100%;height:100%;object-fit:cover;object-position:60% 50%}.backdrop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#061a0f47,#061a0f1f 45%,#061a0fd1)}.stage{position:relative;min-height:100vh;min-height:100dvh;display:grid;align-content:end;justify-items:center;padding-block:var(--space-6) max(10vh,calc(env(safe-area-inset-bottom) + var(--space-6)));padding-inline:max(var(--space-5),env(safe-area-inset-left)) max(var(--space-5),env(safe-area-inset-right))}.button{border:1px solid transparent;border-radius:var(--radius-control);padding:13px 20px;min-height:46px;display:inline-flex;justify-content:center;align-items:center;gap:var(--space-3);font-size:var(--text-ui);font-weight:600;text-decoration:none;line-height:1.4}.button-primary{background:var(--accent-solid);color:var(--text-on-accent)}.submit-button{font-family:var(--font-display);font-size:var(--text-cta);font-weight:600;letter-spacing:-.3px;min-height:64px;padding:18px 36px 18px 40px;border-radius:var(--radius-cta);max-width:100%;box-shadow:0 1px #ffffff59 inset,0 12px 32px #061a0f8c,0 0 0 1px #061a0f59}.link-button{border:0;background:none;padding:0;margin:0;color:var(--accent-text);font-size:inherit;text-decoration:underline;text-decoration-thickness:from-font;text-underline-offset:3px;min-height:24px}.icon-button{border:0;background:transparent;border-radius:var(--radius-control);width:40px;height:40px;padding:9px;display:inline-grid;place-items:center;color:var(--text-secondary)}.modal{width:min(560px,calc(100% - 24px));max-height:min(92dvh,900px);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-dialog);color:var(--text-primary);padding:0;box-shadow:0 24px 64px #061a0f99;overscroll-behavior:contain}.modal::backdrop{background:var(--surface-backdrop);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-content{padding:var(--space-5) var(--space-6) var(--space-6)}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-block-end:var(--space-4);border-bottom:1px solid var(--border-subtle);margin-block-end:var(--space-6)}.modal-heading h2{font-family:var(--font-display);font-size:var(--text-title);letter-spacing:-.4px;font-weight:600;overflow-wrap:anywhere}.modal-heading>button{flex-shrink:0}.auth-gate{text-align:center}.gate-art{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-block:var(--space-1) var(--space-6);color:var(--accent-solid)}.gate-art>svg:first-child{background:var(--surface-field);width:64px;height:64px;border-radius:17px;border:1px solid var(--border-subtle);padding:8px}.gate-art>svg:last-child{background:var(--surface-field);width:64px;height:64px;border-radius:17px;border:1px solid var(--border-subtle);padding:19px;color:var(--text-primary)}.gate-plus{color:var(--text-muted);font-size:var(--text-title)}.auth-gate h3{font-family:var(--font-display);font-size:1.75rem;line-height:1.15;letter-spacing:-.8px;margin-block:var(--space-3)}.auth-gate>p{color:var(--text-secondary);font-size:var(--text-ui);max-width:38ch;margin-inline:auto;margin-block-end:var(--space-6)}.gate-button{width:100%}.gate-button>svg:first-child{width:16px;height:16px}.public-callout{display:flex;gap:var(--space-3);padding:14px 15px;background:var(--surface-subtle);border-radius:var(--radius-control);color:var(--accent-text);text-align:start}.public-callout>svg{margin-block-start:2px}.public-callout p{font-size:var(--text-sm);color:var(--text-secondary)}.public-callout strong{color:var(--text-primary)}.project-form fieldset{padding:0;border:0;margin:var(--space-6) 0 0;min-width:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5) var(--space-4);margin-block-start:var(--space-5)}.full-width{grid-column:1 / -1}.form-field{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.form-field label{font-size:var(--text-sm);font-weight:600;display:flex;align-items:center;gap:3px}.form-field input,.form-field textarea{min-width:0;width:100%;background:var(--surface-field);color:var(--text-primary);padding:var(--space-3);font-size:var(--text-body);border:1px solid var(--border-control);border-radius:var(--radius-field)}.form-field textarea{resize:vertical;min-height:116px;line-height:1.5}.form-field input[readonly]{background:var(--surface-subtle);border-color:var(--border-subtle);color:var(--text-secondary)}.form-field [aria-invalid=true]{border-color:var(--accent-solid);border-width:2px}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:1}.field-hint{font-size:var(--text-xs);line-height:1.6;color:var(--text-secondary)}.character-count{float:inline-end;margin-inline-start:var(--space-2);font-variant-numeric:tabular-nums}.verified-label{margin-inline-start:auto;color:var(--accent-text);display:inline-flex;gap:var(--space-1);align-items:center;font-size:var(--text-xs);font-weight:600}.field-error{color:var(--error-text);font-size:var(--text-sm);font-weight:600;line-height:1.5;display:flex;align-items:flex-start;gap:6px}.field-error>svg{margin-block-start:2px}.consent{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--text-sm);line-height:1.6;padding-block:var(--space-5) var(--space-1);cursor:pointer}.consent input{accent-color:var(--accent-solid);width:18px;height:18px;margin:1px 0 0;flex-shrink:0}.consent+.field-error{margin-block-start:var(--space-2)}.form-alert:empty{display:none}.form-alert:not(:empty){display:flex;align-items:flex-start;gap:var(--space-2);background:var(--error-surface);color:var(--error-text);font-size:var(--text-sm);font-weight:600;line-height:1.6;padding:var(--space-3) 15px;border-radius:var(--radius-control);margin-block-start:var(--space-4);text-align:start}.form-alert>svg{margin-block-start:2px}.form-footer{display:flex;justify-content:flex-end;margin-block-start:var(--space-6);padding-block-start:var(--space-5);border-top:1px solid var(--border-subtle)}.success-state{text-align:center;padding-block:var(--space-4)}.success-icon{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:var(--surface-subtle);color:var(--accent-text);margin-inline:auto}.success-state h3{font-family:var(--font-display);font-size:1.75rem;letter-spacing:-.8px;margin-block:var(--space-5) var(--space-3)}.success-state p{font-size:var(--text-ui);color:var(--text-secondary);max-width:38ch;margin-inline:auto;overflow-wrap:anywhere}.success-state .button{margin-block-start:var(--space-6);min-width:160px}@media(hover:hover){.button-primary:hover{background:var(--accent-hover)}.icon-button:hover{background:var(--surface-subtle);color:var(--text-primary)}.link-button:hover{color:var(--accent-hover)}}@media(prefers-reduced-motion:no-preference){.button{transition-property:background-color,scale;transition-duration:.15s;transition-timing-function:ease-out}.button:active:not(:disabled){scale:.96}}@media(max-width:40rem){.backdrop img{object-position:58% 50%}.stage{padding-block-end:max(8vh,calc(env(safe-area-inset-bottom) + var(--space-5)))}.submit-button{width:100%;max-width:420px;font-size:1.125rem;padding-inline:24px}.modal-content{padding:var(--space-4) var(--space-4) var(--space-5)}.modal-heading{margin-block-end:var(--space-5)}.auth-gate h3{font-size:1.5rem}.form-grid{grid-template-columns:1fr}.form-footer .button{width:100%}}@media(max-height:30rem){.stage{align-content:center;padding-block-end:var(--space-6)}}@media(forced-colors:active){button,input,textarea{border:1px solid ButtonText}:focus-visible{outline:3px solid Highlight!important}.backdrop:after{display:none}}
