@font-face{font-family:Plex;src:url('/assets/fonts/IBMPlexSans-Regular.ttf')}@font-face{font-family:Plex;src:url('/assets/fonts/IBMPlexSans-SemiBold.ttf');font-weight:600}@font-face{font-family:Plex Mono;src:url('/assets/fonts/IBMPlexMono-SemiBold.ttf');font-weight:600}:root{--green:#3bb54a;--deep:#0f3114;--blue:#182946;--ink:#222428;--muted:#5e6166;--paper:#f8f9fb;--line:#c9cdd6;--danger:#be2b4a;font:16px/1.55 Plex,system-ui,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}.app-shell{min-height:100dvh}.project-hero{min-height:34dvh;padding:24px;background:linear-gradient(135deg,var(--blue),var(--deep) 68%,#1d5b25);color:white;display:flex;flex-direction:column;position:relative;overflow:hidden}.project-hero:after{content:"";position:absolute;width:270px;height:270px;border:1px solid #ffffff20;border-radius:50%;right:-130px;top:-100px;box-shadow:0 0 0 42px #ffffff08,0 0 0 84px #ffffff08}.logo{width:140px;height:auto;position:relative;z-index:1}.hero-copy{margin:auto 0;position:relative;z-index:1}.eyebrow,.progress-wrap span{font:600 .69rem Plex Mono,monospace;letter-spacing:.18em;text-transform:uppercase}.eyebrow{color:#aee5b6}.hero-kicker{margin:28px 0 4px;color:#ffffffb8}.project-hero h1{font-size:clamp(2rem,9vw,3.7rem);letter-spacing:-.04em;line-height:1.02;margin:0;max-width:650px}.project-hero p{max-width:560px}.privacy{font-size:.78rem;color:#ffffffb8;margin:0;position:relative;z-index:1}.privacy span{color:var(--green)}main{padding:20px 24px 32px;max-width:760px;margin:auto}.topbar{display:flex;min-height:42px;align-items:center;gap:24px}.back{border:0;background:none;font:600 .9rem Plex;color:var(--muted);padding:8px 0;cursor:pointer}.progress-wrap{margin-left:auto;display:flex;align-items:center;gap:12px;color:var(--muted)}progress{width:96px;height:4px;border:0}progress::-webkit-progress-bar{background:#edeff3;border-radius:9px}progress::-webkit-progress-value{background:var(--green);border-radius:9px}.loading{padding:12vh 0;font-size:1.2rem}.screen{min-height:47vh;padding:5vh 0 18px;animation:enter .24s ease-out}.screen h2{font-size:clamp(1.85rem,7vw,3rem);letter-spacing:-.035em;line-height:1.12;margin:0 0 8px}.lede{font-size:1.05rem;color:var(--muted);margin:0 0 28px}.field{display:grid;gap:8px;margin:18px 0}.field label,.field legend{font-weight:600}.field small{color:var(--muted)}input,textarea,select{width:100%;border:0;border-bottom:2px solid var(--line);background:transparent;padding:12px 2px;font:inherit;font-size:1.12rem;color:inherit;border-radius:0}textarea{min-height:140px;resize:vertical}input:focus,textarea:focus,select:focus,button:focus-visible,.drop:focus-visible{outline:3px solid #85d78f;outline-offset:3px;border-color:var(--green)}.cards{display:grid;gap:12px}.card{position:relative;display:flex;gap:16px;border:1px solid var(--line);border-radius:14px;background:white;padding:18px;cursor:pointer;box-shadow:0 2px 8px #2224280f}.card:hover{border-color:var(--green);transform:translateY(-1px)}.card:has(input:checked){border:2px solid var(--green);background:#ecfaef;padding:17px}.card input{position:absolute;opacity:0}.card-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#eef2fa;font-size:1.3rem}.card span{display:grid}.card small{color:var(--muted)}fieldset{border:0;padding:0;margin:0}.actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;border-top:1px solid #edeff3;padding-top:18px}.actions button{border:0;border-radius:12px;background:var(--green);color:#fff;padding:13px 22px;font:600 1rem Plex;box-shadow:0 8px 18px #3bb54a47;cursor:pointer}.actions button:disabled{opacity:.55}.key-hint{font-size:.74rem;color:#8a909b}.error{min-height:28px;color:var(--danger);font-weight:600}.drop{border:2px dashed var(--line);border-radius:14px;padding:24px;text-align:center;background:white;cursor:pointer}.drop.drag{border-color:var(--green);background:#ecfaef}.file-list,.link-list,.review{display:grid;gap:10px;margin-top:16px}.file-item,.review-row{background:#fff;border:1px solid #edeff3;border-radius:10px;padding:12px}.file-item{display:flex;justify-content:space-between;gap:12px}.review-row small{display:block;color:var(--muted)}.notice{padding:14px;border-left:4px solid #f5b829;background:#fff6e3}.receipt{padding:10vh 0}.receipt-mark{width:64px;height:64px;border-radius:18px;background:#ecfaef;color:#185020;display:grid;place-items:center;font-size:2rem}.receipt h2{font-size:2.4rem;line-height:1.05}.receipt a{color:#185020;font-weight:600}.status-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 12px 28px #22242814}@keyframes enter{from{opacity:0;transform:translateY(8px)}}@media(min-width:900px){.app-shell{display:grid;grid-template-columns:minmax(340px,42%) 1fr}.project-hero{min-height:100dvh;padding:40px}.logo{width:170px}main{width:100%;padding:32px 7vw}.screen{min-height:70vh;padding-top:13vh}.cards{grid-template-columns:repeat(3,1fr)}.card{display:grid}.project-hero h1{font-size:4rem}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition:none!important}}@media(max-width:480px){.key-hint{display:none}.actions button{width:100%}}
