:root{--paper: #f4f1ea;--paper-2: #efebe1;--surface: #fffefb;--ink: #201e1a;--muted: #76705f;--faint: #a39b89;--line: #e5dfd1;--line-strong: #d8d0bd;--accent: #463cc0;--accent-ink: #f4f1ea;--accent-soft: #ecebfb;--clay: #b4582f;--good: #2f6f4f;--danger: #b23b2e;--font-display: "Fraunces", "Pretendard", serif;--font-body: "Pretendard", -apple-system, system-ui, sans-serif;--shadow: 0 1px 2px rgba(40, 34, 20, .04), 0 8px 30px rgba(40, 34, 20, .06)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);color:var(--ink);background-color:var(--paper);background-image:radial-gradient(900px 500px at 78% -8%,rgba(70,60,192,.06),transparent 60%),radial-gradient(700px 480px at 8% 108%,rgba(180,88,47,.05),transparent 55%);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.app{height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;border-bottom:1px solid var(--line);background:#f4f1ead1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20}.brand{font-family:var(--font-display);font-size:21px;font-weight:500;letter-spacing:-.01em;color:var(--ink)}.brand b{font-weight:600;font-style:italic;color:var(--accent)}.brand .dot{color:var(--clay)}.token-toggle{font-size:12px;color:var(--faint);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid var(--line);border-radius:999px;padding:5px 12px;background:var(--surface)}.token-pop{position:absolute;right:28px;top:58px;background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;padding:12px;width:360px;box-shadow:var(--shadow)}.token-pop label{font-size:11px;color:var(--muted);display:block;margin-bottom:6px}.token-pop input{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:13px}.thread{flex:1;overflow-y:auto;scroll-behavior:smooth}.thread-inner{max-width:720px;margin:0 auto;padding:30px 20px 140px;display:flex;flex-direction:column;gap:22px}.hero{margin:max(8vh,64px) auto 0;max-width:640px;text-align:center;animation:rise .6s ease both}.hero h1{font-family:var(--font-display);font-weight:400;font-size:40px;line-height:1.1;letter-spacing:-.02em;margin:0 0 14px}.hero h1 em{font-style:italic;color:var(--accent)}.hero p{color:var(--muted);font-size:15px;margin:0 0 26px}.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.chip{font-size:13px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:999px;padding:8px 14px;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease}.chip:hover{transform:translateY(-1px);border-color:var(--accent);background:var(--accent-soft)}.msg{display:flex;flex-direction:column;gap:6px;animation:rise .42s cubic-bezier(.2,.7,.2,1) both}.msg .who{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);display:flex;align-items:center;gap:7px}.msg .who .mk{width:16px;height:16px;border-radius:5px;display:inline-grid;place-items:center;font-size:10px}.who .mk.agent{background:var(--accent);color:var(--accent-ink);font-family:var(--font-display);font-style:italic}.who .mk.user{background:var(--ink);color:var(--paper)}.msg.user{align-items:flex-end}.bubble-user{background:var(--ink);color:#f6f2e8;border-radius:16px 16px 4px;padding:11px 15px;max-width:86%;font-size:15px;line-height:1.5;white-space:pre-wrap}.bubble-agent{font-size:15.5px;line-height:1.68;color:var(--ink);white-space:pre-wrap;max-width:100%}.plan{background:var(--surface);border:1px solid var(--line-strong);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.plan .ph{display:flex;align-items:center;gap:9px;padding:13px 16px;border-bottom:1px solid var(--line);font-family:var(--font-display);font-style:italic;font-size:16px}.plan .ph:before{content:"✶";color:var(--accent)}.plan .pb{padding:14px 16px;white-space:pre-wrap;font-size:14px;line-height:1.6;color:#34302a;max-height:320px;overflow:auto}.plan .pa{display:flex;gap:9px;padding:12px 16px;border-top:1px solid var(--line);background:var(--paper-2)}.work{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:6px 4px}.work .wh{display:flex;align-items:center;gap:9px;padding:9px 14px 7px;font-size:13px;color:var(--muted)}.work .wh .pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 1.2s ease-in-out infinite}.steps{list-style:none;margin:0;padding:2px 8px 8px;display:flex;flex-direction:column}.steps li{display:flex;align-items:center;gap:11px;padding:7px 8px;font-size:13.5px;color:#3a352d;border-radius:8px;animation:rise .3s ease both}.steps li .tick{width:18px;height:18px;border-radius:6px;background:var(--accent-soft);color:var(--accent);display:inline-grid;place-items:center;font-size:11px;flex:none}.steps li.err{color:var(--danger)}.steps li.err .tick{background:#f7e2df;color:var(--danger)}.steps li .nm{font-variant-numeric:tabular-nums}.arts{display:flex;flex-direction:column;gap:12px}.art{background:var(--surface);border:1px solid var(--line-strong);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.art .ah{display:flex;align-items:center;justify-content:space-between;padding:11px 15px;border-bottom:1px solid var(--line)}.art .tag{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.art .tag b{color:var(--clay)}.art .ab{padding:14px 16px;white-space:pre-wrap;font-size:13.5px;line-height:1.65;color:#34302a;max-height:300px;overflow:auto}.btn{font:inherit;font-size:14px;cursor:pointer;border-radius:10px;padding:9px 16px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);transition:transform .1s ease,background .12s ease,border-color .12s ease}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.primary:hover{background:#382fa8}.btn.good{background:var(--good);border-color:var(--good);color:#f2f7f4}.btn.ghost{background:transparent}.inline-actions{display:flex;gap:9px;flex-wrap:wrap}.composer-wrap{position:sticky;bottom:0;background:linear-gradient(to top,var(--paper) 62%,rgba(244,241,234,0));padding:14px 20px 22px}.composer{max-width:720px;margin:0 auto;background:var(--surface);border:1px solid var(--line-strong);border-radius:18px;box-shadow:var(--shadow);padding:8px 8px 8px 16px;display:flex;align-items:flex-end;gap:10px;transition:border-color .15s ease,box-shadow .15s ease}.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.composer textarea{flex:1;border:0;outline:0;resize:none;font:inherit;font-size:15px;line-height:1.55;background:transparent;color:var(--ink);max-height:180px;padding:8px 0}.composer textarea::placeholder{color:var(--faint)}.send{width:40px;height:40px;border-radius:12px;border:0;background:var(--accent);color:var(--accent-ink);cursor:pointer;font-size:17px;flex:none;display:grid;place-items:center;transition:transform .1s ease,opacity .12s ease}.send:hover{transform:translateY(-1px)}.send:disabled{opacity:.4;cursor:not-allowed}.composer-hint{max-width:720px;margin:8px auto 0;text-align:center;font-size:12px;color:var(--faint)}.error-line{color:var(--danger);font-size:13.5px;padding:2px}.statusbar{font-size:12px;color:var(--muted)}.statusbar b{color:var(--accent);font-weight:600}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.gate{min-height:100%;display:grid;place-items:center;padding:24px}.gate-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--line-strong);border-radius:20px;box-shadow:var(--shadow);padding:32px 28px;animation:rise .5s ease both}.gate-card.wide{max-width:460px}.gate-brand{font-family:var(--font-display);font-size:20px;font-weight:500;margin-bottom:18px}.gate-brand b{font-style:italic;color:var(--accent)}.gate-brand .dot{color:var(--clay)}.gate-title{font-family:var(--font-display);font-weight:400;font-size:27px;letter-spacing:-.02em;margin:0 0 6px}.gate-sub{color:var(--muted);font-size:14px;margin:0 0 22px;line-height:1.5}.gate-fields{display:flex;flex-direction:column;gap:10px}.gate-label{font-size:12px;color:var(--muted);margin-top:6px}.gate-input{width:100%;padding:12px 14px;border:1px solid var(--line-strong);border-radius:11px;font:inherit;font-size:14px;background:var(--paper)}.gate-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--surface)}.gate-submit{width:100%;margin-top:18px;padding:12px;font-size:15px}.gate-error{color:var(--danger);font-size:13px;margin-top:12px;background:#fff1f0;border:1px solid #ffd4d1;border-radius:9px;padding:9px 12px}.gate-step{color:var(--accent);font-size:13px;margin-top:12px}.gate-switch{text-align:center;margin-top:16px;font-size:13px;color:var(--muted)}.gate-switch button{background:none;border:none;color:var(--accent);cursor:pointer;font:inherit;font-weight:600;padding:0}.gate-email{font-size:12px;color:var(--muted)}@media (max-width: 640px){.topbar{padding:14px 16px}.token-pop{right:12px;width:calc(100vw - 24px)}.hero h1{font-size:30px}.thread-inner{padding:22px 14px 130px}}
