:root{--brand: #0052FF;--brand-hover: #0041CC;--ink: #111827;--muted: #6B7280;--page: #FAF8F5;--line: #E5E7EB;--ok: #10B981;--bad: #e02424;--radius: 16px;--font: Inter, system-ui, sans-serif;--display: Manrope, Inter, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{font-family:var(--font);background:var(--page);color:var(--ink);-webkit-font-smoothing:antialiased}button,input{font:inherit}a{color:inherit}h1,h2,.display{font-family:var(--display);font-weight:800;letter-spacing:-.04em;line-height:.95}.page{max-width:720px;margin:0 auto;padding:28px 20px 80px}.mascot{width:88px;height:88px;object-fit:contain;display:block}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--brand);color:#fff;border-radius:999px;padding:14px 22px;font-weight:600;cursor:pointer;text-decoration:none}.btn:disabled{opacity:.6}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn.light{background:#fff;color:var(--brand)}.field{width:100%;border:0;background:#fff;border-radius:var(--radius);padding:16px 18px;font-size:16px;outline:none}.email-wrap{position:relative;background:#fff;border-radius:var(--radius)}.email-wrap .field{position:relative;z-index:2;background:transparent}.email-ghost{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;padding:16px 18px;font-size:16px;line-height:24px;pointer-events:none;white-space:pre;overflow:hidden;z-index:1}.email-ghost-hidden{color:transparent}.email-ghost-visible{color:#a0a5af}.hint{color:var(--muted);font-size:15px;line-height:1.45}.err{color:var(--bad);font-size:14px}.otp{display:flex;gap:8px;justify-content:center}.otp input{width:46px;height:56px;text-align:center;font-size:22px;font-weight:700;border:1.5px solid transparent;background:#fff;border-radius:12px;outline:none;transition:border-color .28s ease,box-shadow .28s ease}.otp.ok input{border-color:var(--ok);box-shadow:0 0 0 3px #10b98129}.chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;cursor:pointer}.chip.on{background:var(--brand);color:#fff;border-color:var(--brand)}.chip.on:before{content:"✓";color:#fff;font-weight:800;font-size:14px;line-height:1}.gate{min-height:100dvh;background:var(--brand);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 22px;text-align:center;gap:28px}.gate h1{font-size:clamp(28px,7vw,44px);font-weight:800;max-width:16ch}.gate .opts{display:grid;gap:10px;width:min(100%,360px)}.gate .opts p{color:#fff;font-size:16px;margin:0 0 4px}.gate .opts button,.gate .opts a,.gate .num{width:100%;border:0;background:#ffffff29;color:#fff;border-radius:999px;padding:14px;font-size:18px}.gate .opts a{display:block;text-decoration:none;text-align:center;box-sizing:border-box}.gate .num{background:transparent;border-bottom:2px solid #fff;border-radius:0;text-align:center;font-size:32px;letter-spacing:4px;outline:none}.row{display:flex;flex-wrap:wrap;gap:10px}.stack{display:grid;gap:16px}.big{font-size:clamp(36px,8vw,64px)}.chat-log{background:#fff;border-radius:var(--radius);padding:16px;min-height:240px;max-height:52vh;overflow:auto;display:flex;flex-direction:column;gap:8px}.bubble{max-width:82%;padding:10px 14px;border-radius:18px 18px 18px 4px;background:var(--page);align-self:flex-start;font-size:16px;line-height:1.35;white-space:pre-wrap}.bubble.mine{background:var(--brand);color:#fff;align-self:flex-end;border-radius:18px 18px 4px}.bubble.sys{align-self:center;background:transparent;color:var(--muted);font-size:13px;max-width:100%;text-align:center}.chat-compose{display:flex;gap:8px}.chat-compose .field{flex:1}
