:root{--bg:#0b0c0e;--surface:#141619;--surface-2:#1d2024;--line:#ffffff17;--line-strong:#ffffff2e;--text:#ecebe7;--muted:#8b9098;--accent:#ff4a2b;--sans:"Inter", "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Microsoft YaHei", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--gutter:20px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--sans)}*{box-sizing:border-box;margin:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}.mono{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px}.screen{min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) var(--gutter) max(24px, env(safe-area-inset-bottom));position:relative}.center{place-items:center;display:grid}.notice{color:var(--muted);font-size:14px;line-height:1.6}.welcome-stage{z-index:20;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:fixed;inset:0;overflow:hidden}.welcome-stage.fading{opacity:0;transition:opacity .3s}.welcome{padding:max(14px, env(safe-area-inset-top)) var(--gutter) max(24px, env(safe-area-inset-bottom));background-color:var(--bg);background-position:top;background-size:cover;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.welcome.has-art:before{content:"";background:linear-gradient(to bottom, #0b0c0e1a 0%, #0b0c0e59 40%, var(--bg) 78%);pointer-events:none;position:absolute;inset:0}.grid-lines{inset:0 var(--gutter);pointer-events:none;grid-template-columns:repeat(4,1fr);display:grid;position:absolute}.grid-lines span{border-left:1px solid var(--line)}.grid-lines span:last-child{border-right:1px solid var(--line)}.meta-bar{border-bottom:1px solid var(--line-strong);grid-template-columns:repeat(4,1fr);padding-bottom:10px;display:grid;position:relative}.meta-bar>:last-child{text-align:right;grid-column:3/span 2}.welcome-body{flex-direction:column;gap:14px;margin-top:auto;padding-bottom:28px;display:flex;position:relative}.dot{vertical-align:1px;background:var(--accent);width:6px;height:6px;margin-right:8px;display:inline-block}.name{letter-spacing:-.01em;font-size:clamp(56px,19vw,92px);font-weight:800;line-height:.95}.greeting{border-top:1px solid var(--line-strong);max-width:21em;padding-top:14px;font-size:16px;line-height:1.75}.enter{background:var(--text);width:100%;height:58px;color:var(--bg);letter-spacing:.12em;touch-action:none;border:0;justify-content:space-between;align-items:center;padding:0 18px;font-size:17px;font-weight:700;transition:transform .15s;display:flex;position:relative}.enter:active{transform:scale(.985)}.facets{pointer-events:none;position:absolute;inset:0}.shard{will-change:transform, opacity;backface-visibility:hidden;transition:transform .2s cubic-bezier(.2,.8,.2,1);position:absolute;overflow:hidden}.sheen{transition:opacity .2s;position:absolute;inset:0}.glass-gl{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.crack-canvas{pointer-events:none;transition:opacity .15s;position:absolute;inset:0}.shattering .crack-canvas{opacity:0;transition-duration:.1s}.flash{z-index:1;opacity:0;pointer-events:none;background:#fff;animation:.22s ease-out flash;position:absolute;inset:0}@keyframes flash{0%{opacity:.22}}.enter .mono{color:var(--bg);font-size:13px}.chat{flex-direction:column;height:100dvh;animation:.35s ease-out fade-in;display:flex}@keyframes fade-in{0%{opacity:0}}.chat-head{padding:max(12px, env(safe-area-inset-top)) var(--gutter) 12px;border-bottom:1px solid var(--line-strong);justify-content:space-between;align-items:flex-end;display:flex}.chat-head h1{font-size:19px;font-weight:700;line-height:1.2}.chat-head .mono{margin-top:4px;display:block}.chat-head-actions{align-items:flex-end;gap:16px;display:flex}.quota{text-align:right}.quota-num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:15px}.quota-num small{color:var(--muted);font-size:11px}.quota-bar{background:var(--line-strong);width:56px;height:2px;margin-top:5px;margin-left:auto}.quota-bar i{background:var(--accent);height:100%;transition:width .3s;display:block}.link{font-family:var(--mono);letter-spacing:.08em;color:var(--text);border:0;border-bottom:1px solid var(--accent);background:0 0;padding:0 0 2px;font-size:12px}.chat-list{overscroll-behavior:contain;padding:20px var(--gutter);flex-direction:column;flex:1;gap:16px;display:flex;overflow-y:auto}.group{flex-direction:column;gap:4px;max-width:80%;display:flex}.group.assistant{align-self:flex-start}.group.user{align-self:flex-end;align-items:flex-end}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:2px;width:fit-content;max-width:100%;padding:9px 13px;font-size:15px;line-height:1.6}.bubble.fresh{animation:.2s ease-out bubble-in}@keyframes bubble-in{0%{opacity:0;transform:translateY(4px)}}.group.assistant .bubble{background:var(--surface-2)}.group.user .bubble{background:var(--text);color:var(--bg)}.typing{gap:4px;padding:15px 14px;display:inline-flex}.typing i{background:var(--muted);width:5px;height:5px;animation:1.2s ease-in-out infinite typing}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes typing{0%,60%,to{opacity:.25}30%{opacity:1}}.divider{align-items:center;gap:10px;display:flex}.divider:before,.divider:after{content:"";border-top:1px solid var(--line);flex:1}.chat-notice{color:var(--muted);text-align:center;align-self:center;font-size:13px;line-height:1.6}.chat-input{padding:10px 12px max(10px, env(safe-area-inset-bottom));border-top:1px solid var(--line-strong);background:var(--bg);gap:8px;display:flex}.chat-input input{border:1px solid var(--line-strong);background:var(--surface);min-width:0;color:var(--text);font:inherit;border-radius:2px;flex:1;padding:12px 14px;font-size:16px}.chat-input input:focus{border-color:var(--accent);outline:none}.chat-input button{background:var(--text);color:var(--bg);letter-spacing:.1em;border:0;border-radius:2px;padding:0 18px;font-weight:700}.chat-input button:disabled,.chat-input input:disabled{opacity:.35}.btn{letter-spacing:.12em;border:0;border-radius:2px;width:100%;padding:15px;font-weight:700;display:block}.btn.primary{background:var(--text);color:var(--bg)}.btn.ghost{color:var(--muted);letter-spacing:.06em;background:0 0;font-weight:400}.btn:disabled{opacity:.4}.btn.inline{letter-spacing:.06em;align-self:center;width:auto;padding:10px 18px;font-size:14px}.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:26px var(--gutter) max(20px, env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line-strong);flex-direction:column;gap:12px;animation:.25s ease-out slide-up;display:flex;position:relative}.sheet:before{content:"";top:-1px;left:var(--gutter);background:var(--accent);width:32px;height:3px;position:absolute}@keyframes slide-up{0%{transform:translateY(100%)}}.sheet h2{font-size:20px;font-weight:700;line-height:1.35}.sheet-hint{color:var(--muted);font-size:14px;line-height:1.6}.sheet-error{color:#ff7a63;font-size:14px}.sheet input{border:1px solid var(--line-strong);background:var(--bg);color:var(--text);font:inherit;border-radius:2px;padding:14px;font-size:16px}.sheet input:focus{border-color:var(--accent);outline:none}.sheet .code-input{font-family:var(--mono);letter-spacing:.5em;text-align:center;font-variant-numeric:tabular-nums;font-size:24px}.owned{flex-direction:column;gap:14px;width:min(100%,340px);display:flex}.owned-title{border-bottom:1px solid var(--line-strong);padding-bottom:14px;font-size:24px;font-weight:700}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
