:root{--bg: #000000;--surface: #111112;--line: #2a2a2e;--muted: #8b8b92;--fg: #f4f4f1;--accent: #ffffff;--danger: #ff6b5e;--font-display: "Inter", "Helvetica Neue", Arial, sans-serif;--font-body: "Inter", "Helvetica Neue", Arial, sans-serif;--font-mono: "Inter", "Helvetica Neue", Arial, sans-serif;--ease: cubic-bezier(.22, 1, .36, 1);color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}.shell{min-height:100%;display:flex;flex-direction:column;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:20px;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.brand{display:block;height:26px;width:auto}.progress{position:relative;height:2px;background:var(--line);overflow:hidden}.progress span{position:absolute;inset:0 auto 0 0;width:0;background:var(--accent);transition:width .6s var(--ease)}.stage{flex:1;position:relative;display:grid;max-width:760px;width:100%;margin:0 auto}.screen{grid-area:1 / 1;align-self:center;padding-block:48px;opacity:0;transform:translateY(24px);pointer-events:none;visibility:hidden;transition:opacity .5s var(--ease),transform .6s var(--ease),visibility 0s linear .6s}.screen.active{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .5s var(--ease) .12s,transform .6s var(--ease) .12s,visibility 0s}.screen.leaving-up{transform:translateY(-24px)}.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 16px}.eyebrow b{color:var(--fg);font-weight:500}.section-head{display:flex;align-items:baseline;gap:14px;padding-bottom:18px;margin-bottom:36px;border-bottom:1px solid var(--line)}.section-num{font-size:15px;font-weight:600;color:var(--muted)}.section-name{flex:1;min-width:0;font-size:clamp(22px,3.2vw,30px);font-weight:800;letter-spacing:-.01em;text-transform:uppercase;line-height:1.1}.section-count{font-size:14px;color:var(--muted);white-space:nowrap}.section-count b{color:var(--fg);font-weight:600}h1,h2{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;line-height:1.05;text-wrap:balance;margin:0}h1{font-size:clamp(40px,8vw,84px);text-transform:uppercase}h2{font-size:clamp(26px,4.4vw,40px)}.hint{color:var(--muted);margin:14px 0 0;max-width:60ch}.lead{color:var(--muted);font-size:18px;max-width:52ch;margin:20px 0 0}.answer{margin-top:32px;display:grid;gap:16px}input[type=text],input[type=url],input[type=email],textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--fg);font:inherit;font-size:20px;padding:10px 0;outline:none;transition:border-color .2s;border-radius:0}textarea{min-height:120px;resize:vertical;line-height:1.5}input::placeholder,textarea::placeholder{color:#55555b}input:focus,textarea:focus{border-bottom-color:var(--fg)}.group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px}.group label{display:grid;gap:6px;font-size:13px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.group label input{font-size:18px;font-family:var(--font-body);letter-spacing:0;text-transform:none}@media(max-width:560px){.group{grid-template-columns:1fr}}.rating{display:flex;gap:10px;flex-wrap:wrap}.rating button{width:56px;height:56px;border:1px solid var(--line);background:transparent;color:var(--fg);font:600 18px var(--font-mono);cursor:pointer;transition:background .2s,color .2s,border-color .2s}.rating button:hover{border-color:var(--fg)}.rating button[aria-pressed=true]{background:var(--fg);color:var(--bg);border-color:var(--fg)}.scale{display:flex;justify-content:space-between;max-width:330px;color:var(--muted);font-size:13px}.voice{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.voice-btn{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border:1px solid var(--line);background:transparent;color:var(--fg);font:500 14px var(--font-body);cursor:pointer}.voice-btn:hover{border-color:var(--fg)}.voice-btn .dot{width:10px;height:10px;border-radius:50%;background:var(--danger)}.voice-btn.recording .dot{animation:pulse 1s infinite}.voice-time{font-family:var(--font-mono);font-size:13px;color:var(--muted)}.voice audio{height:36px;max-width:100%}.voice-del{background:none;border:0;color:var(--muted);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer}@keyframes pulse{50%{opacity:.25}}.drop{border:1px dashed var(--line);padding:28px;text-align:center;color:var(--muted);cursor:pointer;transition:border-color .2s,color .2s}.drop:hover,.drop.over{border-color:var(--fg);color:var(--fg)}.drop input{display:none}.file-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:14px}.file-list li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:8px 0}.file-list li span:first-child{overflow-wrap:anywhere;min-width:0}.file-list button{background:none;border:0;color:var(--muted);cursor:pointer;font:inherit}.nav{display:flex;align-items:center;gap:16px;margin-top:36px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 24px;background:var(--fg);color:var(--bg);border:1px solid var(--fg);font:600 15px var(--font-body);cursor:pointer;transition:opacity .2s,transform .2s var(--ease)}a.btn{text-decoration:none}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.4;cursor:default;transform:none}.btn.ghost{background:transparent;color:var(--fg);border-color:var(--line)}.kbd{font-family:var(--font-mono);font-size:12px;color:var(--muted)}.error{color:var(--danger);font-size:14px;min-height:20px;margin:10px 0 0}:focus-visible{outline:2px solid var(--fg);outline-offset:3px}input:focus-visible,textarea:focus-visible{outline:none}.done{display:grid;grid-template-columns:260px minmax(0,1fr);gap:48px;align-items:center}.done-photo{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border:1px solid var(--line)}.sign{margin:28px 0 0;font-weight:700;font-size:18px;display:grid;gap:2px}.sign span{font-weight:400;font-size:14px;color:var(--muted)}@media(max-width:640px){.done{grid-template-columns:1fr;gap:28px}.done-photo{max-width:180px}}.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:40px}.project{position:relative;aspect-ratio:4 / 5;overflow:hidden;background:var(--surface);border:1px solid var(--line);color:var(--fg);text-decoration:none}.project img{width:100%;height:100%;object-fit:cover;filter:grayscale(.15);transition:transform .8s var(--ease)}.project:hover img{transform:scale(1.04)}.project .ph{position:absolute;inset:0;background:repeating-linear-gradient(135deg,#18181b 0 14px,#141416 14px 28px)}.project .meta{position:absolute;inset:auto 0 0;padding:12px;background:linear-gradient(transparent,#000000d9);display:grid;gap:2px}.project .meta b{font-family:var(--font-display);font-size:16px}.project .meta span{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#bdbdc2}@media(max-width:560px){.projects{grid-template-columns:1fr 1fr}.projects .project:nth-child(3){display:none}}.facts{display:flex;gap:28px;flex-wrap:wrap;margin-top:28px;font-family:var(--font-mono);font-size:13px;color:var(--muted)}.facts b{color:var(--fg);font-weight:500}@media(prefers-reduced-motion:reduce){.screen,.screen.active,.progress span{transition:none}.voice-btn.recording .dot{animation:none}}
