:root{--accent: #3a4fc4;--accent-deep: #2c3c99;--accent-soft: #e2e6f7;--paper: #faf7f1;--paper-2: #f4efe5;--surface: #fff;--ink: #1a1815;--ink-2: #3a3631;--ink-3: #6b6356;--ink-4: #9a9182;--line: #e8e1d2;--line-strong: #d6cdb9;--green: #3e9670;--green-soft: #e1efe6;--amber: #d97706;--amber-soft: #fbe7c8;--red: #dc2626;--serif: "Newsreader", Georgia, serif;--sans: "DM Sans", -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{background:var(--paper);color:var(--ink);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased}a{color:var(--accent-deep)}button{font:inherit;cursor:pointer}input,select{font:inherit}.brand{display:flex;align-items:center;gap:9px}.mark{display:block;--mark-bg: var(--accent);--mark-fg: #fff;flex:none}.word{font:500 21px var(--serif);color:var(--ink);letter-spacing:-.015em;white-space:nowrap}.word b{font-weight:500;color:var(--accent)}.field{margin-bottom:14px}.field label{display:block;font-size:12.5px;font-weight:600;margin-bottom:6px;color:var(--ink-2)}.inp{width:100%;border:1px solid var(--line-strong);background:#fff;border-radius:10px;padding:11px 12px;font:14px var(--sans);color:var(--ink);-moz-appearance:none;appearance:none;-webkit-appearance:none}.inp:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3a4fc41f}.inp[aria-invalid=true]{border-color:var(--red)}select.inp{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%236b6356' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 12px center;padding-right:30px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hint{font-size:12px;color:var(--ink-4);margin-top:5px}.req{color:var(--accent);font-weight:700}.reqnote{font-size:12px;color:var(--ink-4);margin:-10px 0 16px}.btn{width:100%;background:var(--accent);color:#fff;border:0;border-radius:10px;padding:12px;font:600 14.5px var(--sans);margin-top:8px;box-shadow:0 1px #fff3 inset,0 6px 16px -6px #3a4fc499}.btn:hover{opacity:.92}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.auto{width:auto;padding:10px 18px;margin-top:0}.btn.ghost{background:var(--surface);color:var(--ink-2);border:1px solid var(--line-strong);box-shadow:none}.err{background:#fdecec;border:1px solid #f5c2c2;color:#9f1d1d;border-radius:10px;padding:10px 12px;font-size:13px;margin:4px 0 12px}.ok{color:#15803d;font-weight:600;font-size:12.5px}.pw{position:relative}.pw .toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:0;font-size:12px;color:var(--ink-3);padding:4px 6px;border-radius:6px}.pw .toggle:hover{background:var(--paper-2)}.lrow{display:flex;justify-content:space-between;align-items:baseline}.lrow span{font-size:12px;color:var(--ink-3)}.center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:64px 24px;background:var(--paper)}.col{width:100%;max-width:420px}.brand.centered{justify-content:center;margin-bottom:32px}.card{width:100%;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:32px 28px;box-shadow:0 8px 32px -16px #00000014}.card h3{font:500 28px var(--serif);margin-bottom:6px;letter-spacing:-.01em}.card .sub{color:var(--ink-3);font-size:13.5px;line-height:1.5;margin-bottom:22px}.under{text-align:center;margin-top:24px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4)}.fine{font-size:12px;color:var(--ink-4);margin-top:14px;text-align:center;line-height:1.5}.signup{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.story{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(155deg,#211d18,#1a1815 55%,#120f0b);color:#fff;padding:52px 56px;display:flex;flex-direction:column;justify-content:space-between;gap:28px}.story>.brand,.story>.copy,.story>.foot{position:relative;z-index:2}.topo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.veil{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(180deg,#1a181500,#1a181559 30%,#1a181573 55%,#1a181533)}.story .brand .mark{--mark-bg: #fff;--mark-fg: var(--accent)}.story .brand .word{color:#fff;font-size:24px}.story .brand .word b{color:#9fb0ff}.story .copy{display:flex;flex-direction:column;gap:18px;max-width:460px}.story .eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600}.story h2{font:500 40px/1.12 var(--serif);letter-spacing:-.02em}.story h2 em{font-style:normal;color:#9fb0ff}.story p{font-size:14px;line-height:1.65;color:#ffffff9e;max-width:440px}.chips{display:flex;flex-wrap:wrap;gap:10px}.chips span{background:#ffffff12;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:6px 12px;font-size:12.5px;color:#ffffffd9}.foot{display:flex;flex-direction:column;gap:18px}.badges{display:flex;flex-wrap:wrap;gap:8px}.badges span{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:#ffffffe0;background:#ffffff12;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:6px 12px}.badges b{width:16px;height:16px;border-radius:50%;background:#5eb88c40;color:#8fdbb4;font-size:10px;display:grid;place-items:center}.stats{display:flex;gap:36px;flex-wrap:wrap}.stats .n{font:500 26px var(--serif);color:#fff;letter-spacing:-.01em}.stats .l{font-size:11.5px;color:#ffffff8c;margin-top:2px}.formwrap{display:flex;align-items:center;justify-content:center;padding:48px 40px;background:var(--paper)}.formwrap .card{max-width:460px;padding:36px 32px}.eyebrow-card{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:6px}.trust{display:flex;justify-content:center;gap:14px;margin-top:14px;font-size:12px;color:var(--ink-3)}.trust span{white-space:nowrap}.trust span:first-letter{color:var(--green)}.divider{display:flex;align-items:center;gap:12px;margin:26px 0 14px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4)}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.help{background:var(--paper-2);border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:13px;line-height:1.55;color:var(--ink-3)}.done{text-align:center;padding:8px 0}.done .tick{width:52px;height:52px;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:24px;display:grid;place-items:center;margin:0 auto 16px}.app{min-height:100vh;background:var(--paper)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 26px;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.tabs{display:flex;gap:4px}.tabs button{padding:8px 12px;border-radius:8px;color:var(--ink-3);background:none;border:0;font-size:13.5px;font-weight:500}.tabs button.on{background:var(--paper-2);color:var(--ink)}.who{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--ink-3);text-align:right}.who b{color:var(--ink);font-weight:600;display:block;font-size:13px}.av{width:32px;height:32px;border-radius:50%;background:var(--accent-soft);color:var(--accent-deep);font-weight:700;display:grid;place-items:center;font-size:12px;flex:none}.signout{background:none;border:0;color:var(--ink-4);font-size:12px;padding:4px 6px}.signout:hover{color:var(--ink)}.page{max-width:1100px;margin:0 auto;padding:26px 30px 60px;display:grid;grid-template-columns:1fr;gap:16px}.hero h4{font:500 26px var(--serif)}.hero p{color:var(--ink-3);font-size:13.5px;margin-top:4px;max-width:70ch}.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px}.panel h5{font:500 18px var(--serif);margin-bottom:8px}.cols{display:grid;grid-template-columns:1.2fr 1fr;gap:14px}.cols.even{grid-template-columns:1fr 1fr}.empty{color:var(--ink-4);font-size:13px;padding:10px 0}.order{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--surface);margin-bottom:10px}.order .t{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}.order .t b{font:500 16px var(--serif)}.pill{display:inline-block;font-size:11px;font-weight:600;border-radius:999px;padding:3px 9px;white-space:nowrap}.p-rec{background:#f0dfc6;color:#7a4f1d}.p-res{background:#dbe7f3;color:#1f4e79}.p-match{background:#d8ebe0;color:#256d4f}.p-prog{background:#f5e6d6;color:#a8754a}.p-done{background:var(--green-soft);color:#256d4f}.p-off{background:var(--paper-2);color:var(--ink-4)}.kv{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:8px 0 10px}.kv div{font-size:12px;color:var(--ink-4)}.kv div b{display:block;color:var(--ink);font-weight:500;font-size:13px}.rail{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.rail div{text-align:center;font-size:10.5px;color:var(--ink-4);padding-top:8px}.rail div:before{content:"";display:block;height:4px;border-radius:999px;background:var(--line);margin-bottom:6px}.rail div.done:before{background:var(--green)}.rail div.now:before{background:var(--accent)}.rail div.now{color:var(--ink);font-weight:600}.guide{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.guide div{font-size:12.5px;color:var(--ink-3)}.guide b{display:block;color:var(--ink);font-weight:600;margin-bottom:3px;font-size:13px}.note{background:var(--amber-soft);border:1px solid #f0d9a8;border-radius:10px;padding:10px 12px;font-size:12.5px;color:#7a4f1d;margin-bottom:12px}.drop{border:1.5px dashed var(--line-strong);border-radius:12px;padding:22px;text-align:center;color:var(--ink-3);background:var(--paper);font-size:13px;cursor:pointer}.drop:hover{border-color:var(--accent);color:var(--ink)}.drop.has{border-style:solid;border-color:var(--accent);color:var(--ink)}.file{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}.file:last-child{border-bottom:0}.file span{color:var(--ink-4);font-size:12px;display:block}.file .acts{display:flex;gap:10px;flex:none}.link{background:none;border:0;color:var(--accent-deep);font-size:12.5px;font-weight:600;padding:0}.link.danger{color:var(--red)}.saved{color:#15803d;font-weight:600;font-size:12px;margin-left:8px}@media (max-width: 900px){.signup{grid-template-columns:1fr}.story{padding:36px 24px;min-height:0}.story h2{font-size:30px}.cols,.cols.even,.guide{grid-template-columns:1fr}.kv{grid-template-columns:1fr 1fr}.rail div{font-size:9.5px}.topbar{padding:10px 14px;flex-wrap:wrap}.who{display:none}.page{padding:18px 16px 50px}}
