:root{--ink:#0d0d0d;--paper:#ece6d9;--red:#d22a1f;--muted:#8a857c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Noto Sans SC,system-ui,sans-serif}*{box-sizing:border-box;margin:0}html,body,#root{height:100%}body{background:var(--ink);color:var(--paper);-webkit-tap-highlight-color:transparent}.screen{min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) 24px max(32px, env(safe-area-inset-bottom));background-position:50%;background-size:cover;position:relative;overflow:hidden}.center{place-items:center;display:grid}.notice{color:var(--muted);letter-spacing:.2em}.welcome{flex-direction:column;justify-content:flex-end;gap:20px;display:flex}.bar{background:var(--red);width:140%;height:72px;position:absolute;top:18%;left:-20%;transform:rotate(-14deg)}.name{letter-spacing:.04em;font-size:56px;font-weight:900;line-height:1}.greeting{border-left:6px solid var(--red);max-width:22em;padding-left:12px;font-size:16px;line-height:1.7}.enter{background:var(--paper);color:var(--ink);font:inherit;letter-spacing:.3em;clip-path:polygon(0 0,100% 0,92% 100%,0 100%);border:0;margin:24px auto 8vh;padding:16px 48px;font-size:18px;font-weight:900}.chat{flex-direction:column;height:100dvh;animation:.35s ease-out fade-in;display:flex}@keyframes fade-in{0%{opacity:0}}.chat-head{padding:max(14px, env(safe-area-inset-top)) 20px 12px;border-bottom:4px solid var(--red);justify-content:space-between;align-items:baseline;display:flex}.chat-head h1{letter-spacing:.08em;font-size:22px;font-weight:900}.quota{font-variant-numeric:tabular-nums;background:var(--paper);color:var(--ink);padding:2px 10px;font-weight:900}.chat-list{overscroll-behavior:contain;flex-direction:column;flex:1;gap:12px;padding:20px 16px;display:flex;overflow-y:auto}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;max-width:82%;padding:10px 14px;line-height:1.65}.bubble.assistant{border-left:4px solid var(--red);background:#1b1b1b;align-self:flex-start}.bubble.user{background:var(--red);color:#fff;clip-path:polygon(0 0,100% 0,100% 100%,8px 100%,0 calc(100% - 8px));align-self:flex-end}.caret{vertical-align:-.12em;background:var(--paper);width:.5em;height:1em;margin-left:2px;animation:.9s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.divider{color:var(--muted);letter-spacing:.4em;align-self:center;font-size:12px}.chat-notice{color:var(--muted);text-align:center;align-self:center;font-size:13px}.chat-input{padding:10px 12px max(10px, env(safe-area-inset-bottom));background:#151515;gap:8px;display:flex}.chat-input input{background:var(--ink);min-width:0;color:var(--paper);font:inherit;border:2px solid #333;border-radius:0;flex:1;padding:12px;font-size:16px}.chat-input input:focus{border-color:var(--red);outline:none}.chat-input button{background:var(--red);color:#fff;font:inherit;letter-spacing:.15em;border:0;padding:0 18px;font-weight:900}.chat-input button:disabled,.chat-input input:disabled{opacity:.4}.chat-head-actions{align-items:baseline;gap:14px;display:flex}.link{color:var(--paper);font:inherit;letter-spacing:.1em;text-decoration:underline;-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red);text-underline-offset:4px;background:0 0;border:0;padding:0;font-size:14px}.btn{width:100%;font:inherit;letter-spacing:.2em;border:0;padding:14px;font-weight:900;display:block}.btn.primary{background:var(--red);color:#fff}.btn.ghost{color:var(--muted);letter-spacing:.1em;background:0 0;font-weight:400}.btn:disabled{opacity:.45}.btn.inline{letter-spacing:.1em;align-self:center;width:auto;padding:10px 20px}.sheet-backdrop{z-index:10;background:#0009;align-items:flex-end;animation:.2s ease-out fade-in;display:flex;position:fixed;inset:0}.sheet{width:100%;padding:24px 20px max(20px, env(safe-area-inset-bottom));border-top:6px solid var(--red);background:#151515;flex-direction:column;gap:12px;animation:.25s ease-out slide-up;display:flex}@keyframes slide-up{0%{transform:translateY(100%)}}.sheet h2{letter-spacing:.05em;font-size:20px;font-weight:900}.sheet-hint{color:var(--muted);font-size:14px;line-height:1.6}.sheet-error{color:#ff6b5f;font-size:14px}.sheet input{background:var(--ink);color:var(--paper);font:inherit;border:2px solid #333;border-radius:0;padding:14px 12px;font-size:16px}.sheet input:focus{border-color:var(--red);outline:none}.sheet .code-input{letter-spacing:.5em;text-align:center;font-variant-numeric:tabular-nums;font-size:24px}.owned{text-align:center;flex-direction:column;gap:16px;width:min(100%,320px);display:flex}.owned-title{border-bottom:4px solid var(--red);padding-bottom:12px;font-size:22px;font-weight:900}
