.feedback-admin .lang-switch{margin:0 .5rem .5rem 0}.fb-admin-list{list-style:none;padding:0}.fb-admin-list article{padding:.75rem;margin:.5rem 0;border:1px solid var(--line);border-radius:.75rem;background:#fff}.fb-text{white-space:pre-wrap;margin:.5rem 0}.fb-shots{display:flex;gap:.5rem;flex-wrap:wrap}.fb-shots img{width:6rem;height:6rem;object-fit:cover;border-radius:.5rem;border:1px solid var(--line)}.fb-admin-list textarea{box-sizing:border-box;width:100%;font:inherit;padding:.5rem;border:1px solid var(--line);border-radius:.5rem}.fb-admin-list button{margin:.4rem .4rem 0 0}.monitor-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.6rem;list-style:none;padding:0;margin:.75rem 0}.monitor-cards .card{padding:.6rem .75rem;border:1px solid var(--line);border-radius:.75rem;background:#fff}.monitor-cards h3{margin:0;font-size:.8rem;color:var(--muted);font-weight:600}.monitor-cards .big{margin:.2rem 0 0;font-size:1.05rem;font-weight:700}.monitor-cards .sub{margin:.1rem 0 .3rem;font-size:.75rem;color:var(--muted)}.sparkline{display:block;width:100%;height:2rem;color:var(--accent)}.monitor table{width:100%;border-collapse:collapse;font-size:.8rem}.monitor th,.monitor td{padding:.3rem .4rem;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.monitor .table-wrap{overflow-x:auto}.log-view{max-height:24rem;overflow:auto;margin:.5rem 0;padding:.6rem;border-radius:.5rem;background:#1e1b18;color:#e8e2d8;font:.75rem/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word}.log-warn{color:#f0c36a}.log-error{color:#ff8a80}.log-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.log-controls button{margin-top:0}.token-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;list-style:none;padding:0;font-size:.9rem}.token-legend .swatch{display:inline-block;width:.75rem;height:.75rem;border-radius:.2rem;margin-right:.35rem;vertical-align:middle}.token-chart{margin:.5rem 0 1rem}.token-bars{display:flex;align-items:flex-end;gap:2px;height:10rem;border-bottom:1px solid var(--line);overflow-x:auto}.token-bars .col{flex:1 0 .6rem;display:flex;flex-direction:column;justify-content:flex-end;height:100%;position:relative}.token-bars .stack{display:flex;flex-direction:column-reverse;height:calc(100% - 1rem);justify-content:flex-start}.token-bars .stack span{display:block;width:100%}.token-bars .x{position:absolute;bottom:-1.1rem;left:0;font-size:.65rem;color:var(--muted);white-space:nowrap}.tokens table{width:100%;border-collapse:collapse;font-size:.9rem;margin-top:1.25rem}.tokens th,.tokens td{padding:.35rem .4rem;border-bottom:1px solid var(--line);text-align:left}.tokens .table-wrap{overflow-x:auto}.usage-summary{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;padding:0;list-style:none}.usage-bars{list-style:none;padding:0;margin:.5rem 0}.usage-bars li{display:grid;grid-template-columns:7.5rem 1fr auto;align-items:center;gap:.5rem;margin:.25rem 0;font-size:.9rem}.usage-bars .bar{display:block;height:.6rem;border-radius:999px;background:var(--line);overflow:hidden}.usage-bars .bar span{display:block;height:100%;background:var(--accent)}.usage table{width:100%;border-collapse:collapse;font-size:.9rem}.usage th,.usage td{padding:.35rem .4rem;border-bottom:1px solid var(--line);text-align:left}.usage .table-wrap{overflow-x:auto}.model-controls label{display:block;margin-top:.5rem;font-weight:600}.model-controls select{display:block;box-sizing:border-box;width:100%;margin-top:.25rem;padding:.6rem;font-size:1rem;border:1px solid var(--line);border-radius:.5rem;background:#fff;color:var(--ink)}.model-controls .actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.model-controls .actions button{margin:0}.model-controls button.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.model-controls .hint{margin-top:.5rem;color:var(--muted)}.model-controls [role=status]{color:var(--muted)}.model-controls .confirm{margin-top:.75rem;padding:.75rem;border:1px solid var(--fire);border-radius:.5rem;background:#fff7f2}.model-controls .confirm p{margin:0}.model-controls .confirm .actions{margin-top:.5rem}.google-btn{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;min-height:3rem;padding:.6rem 1rem;border:1px solid #dadce0;border-radius:.75rem;background:#fff;color:#1f1f1f;font:inherit;font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;box-sizing:border-box}.google-btn:hover{background:#f8f9fa}.google-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.google-btn svg{width:1.25rem;height:1.25rem;flex:none}.auth-divider{display:flex;align-items:center;gap:.75rem;margin:1rem 0;color:var(--muted);font-size:.85rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--line)}.google-finish{display:flex;flex-direction:column;gap:.75rem;max-width:26rem;margin:1rem auto;padding:0 1rem}.google-finish h2{margin:0;font-size:1.2rem}.live-thinking{margin:.5rem 0 0;padding:.4rem .6rem;border:1px dashed var(--line);border-radius:.5rem;background:var(--paper)}.live-thinking summary{cursor:pointer;color:var(--muted);font-size:.85rem}.live-thinking-text{margin:.35rem 0 0;max-height:12rem;overflow-y:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);font-size:.85rem;line-height:1.5}.share-suggestions{position:relative;margin:.5rem .75rem;padding:.75rem 2.25rem .75rem .75rem;border:1px dashed var(--line);border-radius:.75rem;background:var(--paper)}.share-title{margin:0 0 .25rem;font-weight:600;font-size:.95rem}.share-text{margin:0 0 .5rem;color:var(--muted);font-size:.85rem}.share-action{display:inline-flex;align-items:center;gap:.25rem;min-height:2.25rem;padding:.35rem .75rem;border:1px solid var(--line);border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:.85rem;cursor:pointer}.share-action:focus-within,.share-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.share-dismiss{position:absolute;top:.25rem;right:.25rem;width:2rem;height:2rem;border:none;background:transparent;color:var(--muted);font-size:1.1rem;line-height:1;cursor:pointer}.starter{margin:.75rem;padding:.75rem 2.25rem .75rem .75rem;border:1px solid var(--line);border-radius:.75rem;background:var(--paper);position:relative}.starter-title{margin:0 0 .25rem;font-weight:600;font-size:1rem}.starter-text{margin:0 0 .5rem;color:var(--muted);font-size:.85rem}.starter-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.starter-q{display:block;width:100%;text-align:left;padding:.6rem .75rem;border:1px solid var(--line);border-radius:.6rem;background:transparent;color:inherit;font:inherit;font-size:.9rem;line-height:1.4;cursor:pointer;white-space:normal}.starter-q:hover,.starter-q:focus-visible{border-color:var(--accent)}.starter-q:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.instant-quota{margin:.25rem .75rem;padding:.4rem .6rem;border:1px solid var(--line);border-radius:.6rem;background:var(--accent-soft, var(--paper));font-size:.85rem}.instant-quota-line{margin:0;font-weight:600}.instant-quota-hint{margin:.15rem 0 0;color:var(--muted);font-size:.75rem}.instant-quota--used-up{background:var(--paper)}.instant-quota--used-up .instant-quota-line{color:var(--muted)}.invite-banner{display:flex;align-items:center;gap:.75rem;margin:.5rem .75rem;padding:.75rem .9rem;border-radius:.9rem;background:color-mix(in srgb,var(--accent, #8b1e14) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent, #8b1e14) 30%,transparent)}.invite-banner-icon{flex:none;font-size:1.6rem}.invite-banner-text{flex:1;min-width:0}.invite-banner-title{margin:0;font-weight:700;font-size:.95rem}.invite-banner-sub{margin:.15rem 0 0;color:var(--muted);font-size:.8rem}.invite-banner-btn{flex:none;min-height:2.25rem;padding:.35rem .9rem;border-radius:999px;border:none;background:var(--accent, #8b1e14);color:#fff;font:inherit;font-weight:600;cursor:pointer}.instant-quota-invite{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:.35rem 0 0;font-size:.8rem}.instant-quota-invite-btn{flex:none;padding:.25rem .7rem;border-radius:999px;border:1px solid var(--accent, #8b1e14);background:transparent;color:var(--accent, #8b1e14);font:inherit;font-weight:600;cursor:pointer}.feedback textarea{box-sizing:border-box;width:100%;font:inherit;padding:.6rem;border:1px solid var(--line);border-radius:.5rem;background:#fff}.feedback .lang-switch{margin:.5rem 0 .75rem}.fb-photos{display:block;margin:.75rem 0 .25rem;font-weight:400}.fb-previews{display:flex;gap:.5rem;list-style:none;padding:0;margin:.5rem 0}.fb-previews li{position:relative}.fb-previews img{width:4.5rem;height:4.5rem;object-fit:cover;border-radius:.5rem;border:1px solid var(--line)}.fb-previews button{position:absolute;top:-.4rem;right:-.4rem;width:1.5rem;height:1.5rem;padding:0;border-radius:999px;font-size:.75rem}.fb-list{list-style:none;padding:0}.fb-list li{padding:.6rem 0;border-bottom:1px solid var(--line)}.fb-list p{margin:.25rem 0 0;white-space:pre-wrap}.fb-status{display:inline-block;padding:.05rem .5rem;border-radius:999px;font-size:.8rem;background:var(--line)}.fb-accepted,.fb-done{background:#e3f1e7;color:#1f6b3a}.fb-declined{background:#f3e5e3;color:#8b1e14}.fb-reply{color:var(--muted)}.drawer-root .drawer{position:fixed;inset:0;width:100%;max-width:none;height:100%;border-radius:0;box-shadow:none;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--paper)}.drawer-root .scrim{display:none}.drawer-head{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--line)}.drawer-head h2{margin:0;font-size:1.05rem;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-back{display:inline-flex;align-items:center;gap:.15rem;min-height:2.5rem;padding:0 .5rem;border:none;background:transparent;color:var(--accent);font:inherit;font-size:1rem;cursor:pointer}.drawer-body{flex:1;overflow-y:auto;padding:.75rem 1rem 2rem}.menu-tabs{position:sticky;top:0;z-index:1;display:flex;gap:.25rem;padding:.4rem .75rem;background:var(--paper);border-bottom:1px solid var(--line)}.menu-tab{flex:1;min-height:2.4rem;border:none;border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:.95rem;cursor:pointer}.menu-tab--active{background:var(--accent);color:#fff;font-weight:600}.rel-map{display:flex;flex-direction:column;gap:.75rem}.rel-group{padding:.75rem;border:1px solid var(--line);border-radius:.75rem;background:var(--paper)}.rel-group h3{margin:0 0 .5rem;font-size:1rem}.rel-legend{list-style:none;margin:0 0 .5rem;padding:0;display:flex;flex-wrap:wrap;gap:.25rem .75rem;font-size:.8rem}.rel-swatch{display:inline-block;width:.7rem;height:.7rem;border-radius:.2rem;margin-right:.25rem;vertical-align:middle}.rel-m0{background:#8b1e14}.rel-m1{background:#c27c0e}.rel-m2{background:#2f6f4e}.rel-m3{background:#2b5c8a}.rel-m4{background:#6b4c9a}.rel-m5{background:#8a6d3b}.rel-chart{display:grid;gap:.3rem}.rel-row{display:grid;grid-template-columns:1.5rem 1fr 1.75rem 1.5rem;align-items:center;gap:.4rem;font-size:.85rem}.rel-bar{display:flex;height:.8rem;border-radius:.4rem;overflow:hidden;background:color-mix(in srgb,var(--line) 35%,transparent)}.rel-seg{height:100%}.rel-count{text-align:right;color:var(--muted)}.rel-missing{font-size:.7rem;font-weight:600;color:var(--accent)}.rel-pairs{margin:.5rem 0 0;padding-left:1.1rem;font-size:.85rem;line-height:1.5}.rel-advice{margin-top:.5rem;padding:.5rem .6rem;border-radius:.6rem;background:color-mix(in srgb,var(--accent) 12%,transparent);font-size:.85rem}.rel-advice-title{margin:0 0 .25rem;font-weight:600}.rel-advice p{margin:.15rem 0}.rel-empty p{margin:0 0 .5rem;color:var(--muted);font-size:.9rem}.rel-note{margin:0;font-size:.8rem;color:var(--muted)}.friends-intro{margin:0 0 1rem;padding:.75rem 1rem;border:1px solid var(--line);border-radius:.75rem;background:#fff}.friends-intro h3{margin:0 0 .25rem}.friends-intro summary{cursor:pointer;font-weight:600;color:var(--accent)}.friends-benefits{margin:.5rem 0;padding-left:1.1rem}.friends-benefits li{margin:.4rem 0}.friends-benefits li strong,.friends-benefits li span{display:block}.friends-benefits .example{color:var(--muted);font-size:.9rem}:root{color-scheme:light;--ink: #1f1a17;--muted: #6b625b;--paper: #fbf8f3;--line: #e4dccf;--accent: #8a1f11;--wood: #2e7d32;--fire: #c62828;--earth: #8d6e63;--metal: #b8860b;--water: #1565c0;font-family:system-ui,-apple-system,PingFang SC,Noto Sans CJK SC,Microsoft YaHei,sans-serif;color:var(--ink);background:var(--paper)}body{margin:0}main{max-width:40rem;margin:0 auto;padding:1rem}h1{color:var(--accent);font-size:1.6rem;margin:.5rem 0 1rem}form label,form legend{display:block;margin-top:.75rem;font-weight:600}fieldset{border:0;padding:0;margin:0}fieldset label{display:inline-flex;gap:.25rem;margin-right:1rem;font-weight:400}input[type=text],input[type=email],input[type=date],input[type=time],input[type=number],input:not([type]){box-sizing:border-box;width:100%;font-size:1rem;padding:.6rem;border:1px solid var(--line);border-radius:.5rem;background:#fff}[role=listbox]{list-style:none;margin:.25rem 0 0;padding:0;border:1px solid var(--line);border-radius:.5rem;background:#fff}[role=option]{padding:.6rem;cursor:pointer}[role=option]:hover{background:var(--paper)}[role=alert]{color:var(--fire);margin:.25rem 0}button{margin-top:1rem;font-size:1rem;padding:.7rem 1.4rem;border:0;border-radius:.5rem;background:var(--accent);color:#fff}button:disabled{opacity:.6}.pillars{width:100%;border-collapse:collapse;text-align:center;margin:.5rem 0 1rem}.pillars th,.pillars td{border-bottom:1px solid var(--line);padding:.4rem .2rem}.pillars tbody tr:nth-child(2) td,.pillars tbody tr:nth-child(3) td{font-size:1.8rem;font-weight:700}.pillars td.unknown{color:var(--muted);font-size:1rem}.hidden{font-size:.85rem}.el-wood{color:var(--wood)}.el-fire{color:var(--fire)}.el-earth{color:var(--earth)}.el-metal{color:var(--metal)}.el-water{color:var(--water)}.elements,.luck{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0}.luck li{display:flex;flex-direction:column;align-items:center;min-width:4.5rem;padding:.4rem;border:1px solid var(--line);border-radius:.5rem;font-size:.8rem}.luck li strong{font-size:1.1rem}.luck li.current{border-color:var(--accent);background:#fff3ef}.correction,.birthplace,.luck-summary,.intro{color:var(--muted)}button.link{background:none;color:var(--accent);padding:.3rem 0;margin-top:0;text-decoration:underline}[role=tablist]{display:flex;gap:.5rem}[role=tab]{margin-top:0;background:#fff;color:var(--ink);border:1px solid var(--line)}[role=tab][aria-selected=true]{background:var(--accent);color:#fff}input[type=password]{box-sizing:border-box;width:100%;font-size:1rem;padding:.6rem;border:1px solid var(--line);border-radius:.5rem;background:#fff}.notice{color:var(--muted);font-size:.9rem}.profiles{list-style:none;padding:0;display:flex;flex-direction:column;gap:.5rem}button.profile{width:100%;margin-top:0;display:flex;justify-content:space-between;background:#fff;color:var(--ink);border:1px solid var(--line)}.partner{margin-top:1rem;padding:.6rem .8rem;border:1px solid var(--line);border-radius:.75rem;background:#fff}.partner p{margin:.25rem 0}.partner button{margin:.5rem .5rem 0 0;padding:.5rem 1rem}.partner label{display:block;margin-top:.5rem;color:var(--muted)}.partner select{box-sizing:border-box;width:100%;font-size:1rem;padding:.6rem;border:1px solid var(--line);border-radius:.5rem;background:#fff}.chat{display:flex;flex-direction:column}.messages{list-style:none;padding:0;display:flex;flex-direction:column;gap:.75rem}.msg{padding:.6rem .8rem;border-radius:.75rem;overflow-wrap:anywhere}.msg-user{align-self:flex-end;max-width:85%;background:#fff3ef}.msg-assistant{background:#fff;border:1px solid var(--line)}.msg p{margin:.4rem 0}.msg h3,.msg h4,.msg h5{margin:.8rem 0 .3rem;color:var(--accent)}.status,.hint{color:var(--muted)}.table-wrap{overflow-x:auto}.table-wrap table{border-collapse:collapse;font-size:.9rem}.table-wrap th,.table-wrap td{border:1px solid var(--line);padding:.3rem .5rem;white-space:nowrap}textarea{box-sizing:border-box;width:100%;font-size:1rem;padding:.6rem;border:1px solid var(--line);border-radius:.5rem;font-family:inherit}.chats{list-style:none;padding:0;display:flex;flex-direction:column;gap:.5rem}button.chat-row{width:100%;margin-top:0;display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"badge who when" "badge preview preview";gap:.1rem .6rem;text-align:left;background:#fff;color:var(--ink);border:1px solid var(--line)}.chat-row .badge{grid-area:badge;align-self:center;width:2.6rem;height:2.6rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff3ef;color:var(--accent);font-weight:700}.chat-row .who{grid-area:who}.chat-row .pillars,.chat-row .when,.chat-row .preview{color:var(--muted);font-size:.85rem}.chat-row .when{grid-area:when}.chat-row .preview{grid-area:preview;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.totals{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.totals li{padding:.4rem .7rem;border:1px solid var(--line);border-radius:.5rem;background:#fff}.admin-profiles{list-style:none;padding:0;display:flex;flex-direction:column;gap:.75rem}.admin-profiles li{padding:.6rem .8rem;border:1px solid var(--line);border-radius:.75rem;background:#fff}.admin-profiles button{margin-right:.5rem}details.thinking{margin-top:.5rem;color:var(--muted)}details.thinking pre{white-space:pre-wrap;font-family:inherit;font-size:.85rem}.fresh .code{font-family:ui-monospace,monospace;font-size:1.3rem;letter-spacing:.1em;color:var(--accent)}.meta{color:var(--muted);font-size:.8rem}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:.5rem;margin:-1rem -1rem .75rem;padding:calc(.5rem + env(safe-area-inset-top)) .75rem .5rem;background:var(--paper);border-bottom:1px solid var(--line)}.topbar-title{flex:1;min-width:0}.topbar h1{font-size:1.15rem;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-subtitle{margin:0;font-size:.8rem;color:var(--muted)}.topbar-actions{display:flex;gap:.25rem}button.icon{margin:0;padding:.35rem .6rem;font-size:1.3rem;line-height:1;background:none;color:var(--accent)}button.icon.back{font-size:1.8rem;padding:0 .5rem .2rem}main.chat-screen{display:flex;flex-direction:column;height:100dvh;box-sizing:border-box;padding-bottom:0}main.chat-screen .chat{flex:1;min-height:0}main.chat-screen .messages{flex:1;overflow-y:auto;margin:0 -1rem;padding:.5rem 1rem}.msg.bubble-row{display:flex;gap:.5rem;padding:0;max-width:none;background:none;border:0;border-radius:0}.bubble-row.me{flex-direction:column;align-items:flex-end;align-self:stretch}.bubble-row.master{align-items:flex-start}.bubble-row.notice{justify-content:center}.bubble{padding:.55rem .8rem;border-radius:1.1rem;max-width:80%;overflow-wrap:anywhere;line-height:1.55}.bubble-user{background:var(--accent);color:#fff;border-bottom-right-radius:.3rem}.bubble-user .bubble-text{margin:0;white-space:pre-wrap}.bubble-col{display:flex;flex-direction:column;align-items:flex-start;max-width:85%;min-width:0}.bubble-col .bubble{max-width:100%;box-sizing:border-box}.bubble-master{background:#fff;border:1px solid var(--line);border-bottom-left-radius:.3rem}.bubble-master>:first-child{margin-top:0}.bubble-master>:last-child{margin-bottom:0}.avatar{flex:none;display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--accent);color:#fff;font-size:.9rem}.bubble-time{margin:.15rem .3rem 0;font-size:.7rem;color:var(--muted)}.bubble-row.notice .notice{margin:0;padding:.3rem .8rem;border-radius:1rem;background:#efe8dc;font-size:.8rem}.scroll-anchor{height:1px}.composer{display:flex;gap:.5rem;align-items:flex-end;margin:0 -1rem;padding:.5rem .75rem calc(.5rem + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line)}.composer textarea{flex:1;width:auto;max-height:8rem;resize:none;border-radius:1.2rem;padding:.55rem .9rem}.composer .send{margin:0;padding:.6rem 1.1rem;border-radius:1.2rem}.chat-error{display:flex;align-items:center;gap:.75rem;padding:.25rem 0}.chat-error button{margin:0;padding:.4rem 1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.drawer-root{position:fixed;inset:0;z-index:50}.scrim{position:absolute;inset:0;background:#00000059;animation:fade-in .2s ease-out}.drawer{position:absolute;top:0;right:0;bottom:0;width:min(88vw,26rem);box-sizing:border-box;overflow-y:auto;padding:calc(.75rem + env(safe-area-inset-top)) 1rem calc(1rem + env(safe-area-inset-bottom));background:var(--paper);box-shadow:-4px 0 16px #00000026;animation:slide-in .22s ease-out}.drawer-head{display:flex;align-items:center;justify-content:space-between}.drawer-head h2{margin:0;font-size:1.1rem}nav.menu{display:flex;flex-direction:column;gap:.25rem;margin-top:1.25rem;padding-top:.75rem;border-top:1px solid var(--line)}.menu-user{margin:0 0 .25rem;color:var(--muted)}button.menu-item{margin:0;text-align:left;background:#fff;color:var(--ink);border:1px solid var(--line)}@keyframes slide-in{0%{transform:translate(100%)}to{transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.drawer,.scrim{animation:none}}.thinking{display:flex;flex-direction:column;gap:.2rem}.thinking-dots{display:inline-flex;gap:.3rem;height:.9rem;align-items:center}.thinking-dots span{width:.45rem;height:.45rem;border-radius:50%;background:var(--accent);opacity:.25;animation:thinking-pulse 1.2s ease-in-out infinite}.thinking-dots span:nth-child(2){animation-delay:.2s}.thinking-dots span:nth-child(3){animation-delay:.4s}.thinking .thinking-phrase{margin:0;animation:fade-in .4s ease-out}.thinking-meta{margin:0;font-size:.75rem;color:var(--muted)}.retry-banner{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.25rem 0;padding:.5rem .75rem;border-radius:.75rem;background:#fff3e0;border:1px solid #f0d9b5}.retry-banner p{flex:1 1 100%;margin:0;font-size:.9rem}.retry-banner button{margin:0;padding:.4rem 1rem}.retry-banner button+button{background:#fff;color:var(--ink);border:1px solid var(--line)}@keyframes thinking-pulse{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-.2rem)}}@media(prefers-reduced-motion:reduce){.thinking-dots span,.thinking .thinking-phrase{animation:none;opacity:.8}}.composer{flex-wrap:wrap}.composer-photos{display:flex;flex:1 1 100%;gap:.5rem;margin:0;padding:0;list-style:none;overflow-x:auto}.composer-photos li{position:relative;flex:none}.composer-photos img{display:block;width:4rem;height:4rem;object-fit:cover;border-radius:.6rem;border:1px solid var(--line)}.composer-photos .remove{position:absolute;top:-.4rem;right:-.4rem;width:1.4rem;height:1.4rem;margin:0;padding:0;border-radius:50%;font-size:.9rem;line-height:1.4rem;background:var(--ink);color:#fff}.composer-tools{display:flex;gap:.25rem;align-self:center}.composer-tools .pick{display:grid;place-items:center;width:2.4rem;height:2.4rem;margin:0;border-radius:50%;font-size:1.25rem;font-weight:400;cursor:pointer;background:#fff;border:1px solid var(--line)}.composer-tools .pick:has(input:disabled){opacity:.4;cursor:default}.bubble-photos{display:grid;grid-template-columns:repeat(2,minmax(0,7rem));gap:.3rem;margin-bottom:.3rem}.bubble-photos .photo{display:block;margin:0;padding:0;border:0;border-radius:.6rem;overflow:hidden;background:none}.bubble-photos img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.photo-viewer{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:env(safe-area-inset-top) .5rem env(safe-area-inset-bottom);background:#000000e0}.photo-viewer img{max-width:100%;max-height:90dvh;object-fit:contain}.photo-viewer button{position:absolute;top:calc(.75rem + env(safe-area-inset-top));right:.75rem;color:#fff;font-size:1.8rem}.photo-error{flex:1 1 100%;margin:.25rem 0}.composer textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #8a1f112e}.composer textarea:focus-visible{outline:none}.share-invite{margin:.5rem 0;padding:.75rem;border:1px solid var(--line);border-radius:.75rem;background:#fff}.share-invite .code{margin:0;font-size:1.4rem;font-weight:700;letter-spacing:.08em;color:var(--accent)}.share-invite .link{margin:.25rem 0 0;font-size:.85rem;color:var(--muted);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.share-invite .message-lang{margin-top:.6rem}.share-invite .message{margin:.5rem 0 0;padding:.6rem .75rem;border-radius:.5rem;background:var(--paper);font-size:.9rem;overflow-wrap:anywhere}.share-actions{display:flex;flex-wrap:wrap;gap:.5rem}.share-actions button{margin-top:.5rem;padding:.5rem 1rem}.invites .quota{margin:.25rem 0 .5rem}.invite-list{display:flex;flex-direction:column;gap:.4rem;margin:1rem 0 0;padding:0;list-style:none}.invite-list li{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--line);border-radius:.75rem;background:#fff}.invite-list .code{font-weight:700;letter-spacing:.05em}.invite-list .state{flex:1;font-size:.85rem;color:var(--muted)}.invite-list button{margin:0;padding:.35rem .8rem;font-size:.9rem}.allowance{margin:.75rem 0;padding:.75rem;border:1px solid var(--line);border-radius:.75rem;background:#fff}.allowance h3{margin:0 0 .25rem;font-size:1rem}.allowance p{margin:.25rem 0}.allowance button{margin:.5rem .5rem 0 0;padding:.45rem .9rem}.install-popover{position:fixed;top:calc(3.6rem + env(safe-area-inset-top));right:.5rem;z-index:40;width:min(22rem,calc(100vw - 1rem));max-height:calc(100dvh - 5rem - env(safe-area-inset-top));box-sizing:border-box;overflow-y:auto;padding:.9rem 1rem;border:1px solid var(--line);border-radius:1rem;background:#fff;box-shadow:0 8px 24px #0000002e;animation:fade-in .18s ease-out}.install-popover:before{content:"";position:absolute;top:-.45rem;right:3.4rem;width:.8rem;height:.8rem;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}.install-guide h2{margin:0 0 .25rem;font-size:1.1rem}.install-guide .steps,.install-guide .in-app ol{margin:.5rem 0;padding-left:1.3rem;line-height:1.6}.install-guide .note,.install-guide .in-app{margin:.5rem 0;padding:.5rem .75rem;border-radius:.6rem;background:#fff3e0}.install-guide .in-app p{margin:0}.install-guide [role=tablist],.install-guide .prompt button{margin-top:.5rem}button.icon.install{font-size:1.4rem}.notify-toggle{margin-top:1rem;padding:.75rem;border:1px solid var(--line);border-radius:.75rem;background:#fff}.notify-toggle h3{margin:0 0 .25rem;font-size:1rem}.notify-toggle p{margin:.25rem 0}.notify-toggle button{margin:.5rem .5rem 0 0;padding:.45rem .9rem}.notify-toggle button+button{background:#fff;color:var(--ink);border:1px solid var(--line)}.update-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 .75rem;padding:.5rem .75rem;border:1px solid var(--accent);border-radius:.5rem;background:#fff7f2;color:var(--ink)}.update-banner button{flex:none;padding:.4rem .9rem}main.chat-screen .update-banner{flex:none}.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0}.chips button{margin-top:0;padding:.35rem .8rem;font-size:.95rem;background:#fff;color:var(--ink);border:1px solid var(--line)}.chips button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.chat-row .relation{margin-right:.4em;color:var(--muted);font-weight:400}.home-tabs{margin:0 0 .75rem}.home-tabs [role=tab]{flex:1;padding:.5rem .75rem}.home-tabs .badge{display:inline-block;min-width:1.2em;margin-left:.4rem;padding:0 .35em;border-radius:1em;background:var(--fire);color:#fff;font-size:.8rem;line-height:1.4}.friends section{margin:0 0 1.25rem}.friends ul{list-style:none;padding:0;margin:.5rem 0}.friends li{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--line)}.friends li button{margin-top:0;padding:.4rem .8rem;font-size:.95rem}.friends li button+button{background:#fff;color:var(--ink);border:1px solid var(--line)}.friend-finder input{box-sizing:border-box;width:100%;font-size:1rem;padding:.6rem;border:1px solid var(--line);border-radius:.5rem;background:#fff}.friend-chat-start select{display:block;width:100%;margin:.25rem 0 .75rem;padding:.5rem;font-size:1rem}.friend-chat-start button{margin-right:.5rem}.friend-chat-start button+button{background:#fff;color:var(--ink);border:1px solid var(--line)}.sign-in{display:flex;flex-direction:column;gap:1rem;max-width:28rem;margin:0 auto}.sign-in form{display:flex;flex-direction:column}.sign-in form button[type=submit]{width:100%;margin-top:1.25rem}.sign-in button.link{align-self:center;margin-top:.75rem}.sign-in [role=tablist] [role=tab]{flex:1;margin-top:0;padding:.6rem .75rem}.lang-switch{display:inline-flex;align-self:flex-end;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:#fff}.lang-switch button,.lang-switch button+button{margin:0;padding:.35rem 1rem;font-size:.9rem;line-height:1.4;vertical-align:top;border:0;border-radius:0;background:transparent;color:var(--ink)}.lang-switch button+button{border-left:1px solid var(--line)}.lang-switch button[aria-pressed=true]{background:var(--accent);color:#fff}.notify-toggle .lang-switch{margin-top:.5rem}:root{--ink: #221a15;--ink-2: #4a3f37;--muted: #7d7067;--paper: #f7f3ed;--surface: #ffffff;--surface-2: #efe8de;--line: #e7ddd1;--line-strong: #d8cbbb;--accent: #8b1e14;--accent-hover: #741810;--accent-soft: #f6e8e3;--gold: #b4842a;--ok: #1f7a43;--danger: #b3261e;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-pill: 999px;--shadow-1: 0 1px 2px rgb(60 30 10 / 6%);--shadow-2: 0 1px 2px rgb(60 30 10 / 5%), 0 8px 24px rgb(60 30 10 / 6%);--focus: 0 0 0 3px rgb(139 30 20 / 18%);--tap: 44px;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Noto Sans SC,Noto Sans CJK SC,Microsoft YaHei,system-ui,sans-serif;font-size:16px;line-height:1.55;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}body{background:var(--paper)}h1,h2,h3,h4{line-height:1.3;letter-spacing:.01em;color:var(--ink)}h2{font-size:1.3rem;margin:1.25rem 0 .75rem}h3{font-size:1.05rem;margin:1rem 0 .5rem}p{margin:.5rem 0}.hint,.intro{color:var(--muted);font-size:.92rem}a{color:var(--accent);text-underline-offset:3px}button{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:var(--tap);margin-top:.75rem;padding:.55rem 1.1rem;font:inherit;font-size:.95rem;font-weight:600;line-height:1.25;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow-1);cursor:pointer;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s}@media(hover:hover){button:hover{background:#fbf8f4;border-color:#cdbdab}}button:active{transform:translateY(1px)}button:focus-visible{outline:none;box-shadow:var(--focus)}button:disabled,button:disabled:hover{opacity:.45;cursor:not-allowed;transform:none}button[type=submit],button.primary,.composer .send,.invite-banner-btn,.sign-in form button[type=submit]{color:#fff;background:var(--accent);border-color:var(--accent);box-shadow:0 1px 2px #8b1e1440}button[type=submit]:hover,button.primary:hover,.composer .send:hover,.invite-banner-btn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button.link{min-height:auto;margin-top:.5rem;padding:.25rem 0;color:var(--accent);background:none;border:0;box-shadow:none;font-weight:500;text-decoration:underline;text-decoration-color:#8b1e1459;text-underline-offset:3px}button.link:hover{background:none;color:var(--accent-hover);text-decoration-color:currentColor}button.danger{color:var(--danger);border-color:#e9bdb7}button.icon{min-width:40px;min-height:40px;margin:0;padding:0;color:var(--accent);background:transparent;border:0;border-radius:var(--radius-pill);box-shadow:none;font-size:1.25rem}@media(hover:hover){button.icon:hover{background:var(--accent-soft)}}[role=tablist],.lang-switch{display:flex;gap:2px;max-width:100%;padding:3px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-pill);overflow-x:auto;scrollbar-width:none}.lang-switch{display:inline-flex}[role=tablist]::-webkit-scrollbar,.lang-switch::-webkit-scrollbar{display:none}[role=tablist] [role=tab],.lang-switch button,.lang-switch button+button{flex:1 0 auto;min-height:36px;margin:0;padding:.4rem .95rem;font-size:.92rem;font-weight:600;white-space:nowrap;color:var(--ink-2);background:transparent;border:0;border-radius:var(--radius-pill);box-shadow:none}[role=tablist] [role=tab]:hover,.lang-switch button:hover{background:#ffffff8c}[role=tablist] [role=tab][aria-selected=true],.lang-switch button[aria-pressed=true]{color:var(--accent);background:var(--surface);box-shadow:0 1px 3px #3c1e0a29}input[type=text],input[type=email],input[type=password],input[type=date],input[type=time],input[type=number],input:not([type]),select,textarea{box-sizing:border-box;width:100%;min-height:48px;padding:.7rem .85rem;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus)}input::placeholder,textarea::placeholder{color:#a99d92}input[type=radio],input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--accent)}form label,form legend{margin-top:1rem;margin-bottom:.35rem;font-size:.9rem;font-weight:600;color:var(--ink-2)}fieldset label{align-items:center;font-size:1rem;color:var(--ink)}.topbar{min-height:56px;box-sizing:border-box;background:var(--paper);border-bottom:1px solid var(--line)}.topbar h1,.topbar-title{margin:0;font-size:1.15rem;font-weight:700;color:var(--accent)}.invite-banner,.share-invite,.friends-intro,.notify-toggle,.allowance,.fb-admin-list article,.monitor-cards .card,.model-controls{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-2)}.invite-banner{margin:0 0 12px;background:linear-gradient(135deg,#fbefe9,#f6e5df);border-color:#efd5cc}button.menu-item{width:100%;justify-content:flex-start;min-height:52px;padding:.75rem 1rem;font-weight:500;border-radius:var(--radius)}.chips button{min-height:38px;padding:.4rem .9rem;font-weight:500;border-radius:var(--radius-pill)}table{border-collapse:collapse}.admin table,.table-wrap table{width:100%;font-size:.88rem;background:var(--surface)}.admin th,.table-wrap th{font-weight:600;color:var(--ink-2);background:#faf6f1}.admin th,.admin td{padding:.5rem .6rem;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.table-wrap,.admin .table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}.composer{background:#f7f3edf0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.composer textarea{border-radius:22px;min-height:44px}.composer .send{min-height:44px;border-radius:22px}.composer-tools .pick{width:44px;height:44px;background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow-1)}@media(max-width:420px){[role=tablist] [role=tab]{padding:.4rem .75rem}}.new-chat,.invites>button,.rel-group button{color:#fff;background:var(--accent);border-color:var(--accent);box-shadow:0 1px 2px #8b1e1440}.new-chat:hover,.invites>button:hover,.rel-group button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.new-chat{width:100%;margin:12px 0}button.chat-row,.starter-q,.share-action{font-weight:400;text-align:left}button.chat-row{border-color:var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-2)}.chat-row .who strong,.chat-row .who{font-weight:600}.chat-row .preview,.chat-row .when,.chat-row .pillars{font-weight:400}.starter-q{justify-content:flex-start;min-height:48px;margin:0;border-color:var(--line);border-radius:var(--radius);box-shadow:none;background:#fffdfb}.starter-q:hover{border-color:var(--accent);background:var(--accent-soft)}.share-dismiss,.drawer-back{min-height:36px;margin:0;padding:.25rem .6rem;background:transparent;border:0;box-shadow:none;color:var(--muted)}.drawer-back{color:var(--accent);font-weight:500}@media(hover:hover){.share-dismiss:hover,.drawer-back:hover{background:var(--accent-soft)}}.instant-quota{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:none}.instant-quota--used-up{background:#fdf4f1;border-color:#efcfc6}.instant-quota-invite-btn{min-height:36px;border-radius:var(--radius-pill)}.model-controls{padding:16px;margin:12px 0}.model-controls h2,.model-controls h3{margin-top:0}.brand{display:flex;flex-direction:column;align-items:center;margin:12px 0 4px;text-align:center}.brand-mark{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:linear-gradient(145deg,#a02717,#721710);color:#f3dba6;font-family:Songti SC,STSong,"Noto Serif SC","Noto Serif CJK SC",serif;font-size:1.4rem;font-weight:700;letter-spacing:.04em;box-shadow:0 8px 20px #8b1e1442,inset 0 0 0 2px #f3dba64d}.brand-name{margin:12px 0 0;font-size:1.35rem;font-weight:700;color:var(--ink)}.brand-tagline{margin:4px 0 0;max-width:22rem;font-size:.92rem;color:var(--muted)}.sign-in .lang-switch{align-self:center}.legal-links{text-align:center;font-size:.85rem;color:var(--muted)}.legal-links a{color:var(--muted)}.icon-svg{display:block;flex:none}.composer-tools .pick{color:var(--ink-2)}.monitor-cards{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr))}.share-actions>*,.chips>*{margin-top:0}.friend-requests ul,.friend-list ul,.invite-list,.admin-profiles{margin:8px 0 0;padding:0;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);overflow:hidden}.friend-requests li,.friend-list li,.invite-list li,.admin-profiles li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0;padding:12px 14px;background:transparent;border:0;border-radius:0;border-bottom:1px solid var(--line)}.friend-requests li:last-child,.friend-list li:last-child,.invite-list li:last-child,.admin-profiles li:last-child{border-bottom:0}.friend-requests li>span:first-child,.friend-list li>strong,.invite-list li>.code,.admin-profiles li>:first-child{flex:1 1 10rem;min-width:0;overflow-wrap:anywhere}.friend-list li>.hint{flex-basis:100%;order:2;margin:0}.friend-requests li button,.friend-list li button,.invite-list li button,.admin-profiles li button{min-height:36px;margin:0;padding:.35rem .85rem;font-size:.88rem;border-radius:var(--radius-pill)}.friend-requests li button:first-of-type:not(:last-of-type){color:#fff;background:var(--accent);border-color:var(--accent)}.friends section>h3,.friends section>h2{margin-bottom:4px}.friends-benefits{list-style:none;padding:0}.friends-benefits li{position:relative;margin:12px 0 0;padding:0 0 0 18px;background:none;border:0;border-radius:0;box-shadow:none}.friends-benefits li:before{content:"";position:absolute;left:2px;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--gold)}.friends-intro summary{list-style:none}.friends-intro summary::-webkit-details-marker{display:none}.friends-intro summary:after{content:"›";float:right;color:var(--muted);transition:transform .15s}.friends-intro details[open] summary:after{transform:rotate(90deg)}button[type=submit]:disabled,button.primary:disabled,.composer .send:disabled,.new-chat:disabled,.invites>button:disabled{opacity:1;color:#fff;background:#d6cbbf;border-color:#d6cbbf;box-shadow:none}fieldset label,form fieldset label,label.choice{display:inline-flex;align-items:center;gap:.45rem;margin-top:.25rem;margin-bottom:0;font-size:1rem;font-weight:400;color:var(--ink)}fieldset legend{margin-bottom:.5rem}.notify-toggle .lang-switch,.share-invite .lang-switch{display:flex;width:100%;box-sizing:border-box}.notify-toggle .lang-switch button,.share-invite .lang-switch button{flex:1 1 0;min-width:0;padding-inline:.5rem}.fb-photos{position:relative;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;margin:.75rem 0 .25rem;padding:.6rem 1rem;color:var(--ink-2);font-weight:500;background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius);cursor:pointer}.fb-photos:before{content:"+";font-size:1.2rem;line-height:1;color:var(--accent)}.fb-photos input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.fb-photos:focus-within{border-color:var(--accent);box-shadow:var(--focus)}@media(min-width:900px){main:has(section.admin){max-width:72rem}}.fb-list{margin:8px 0 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);overflow:hidden}.fb-list li{padding:12px 14px}.fb-list li:last-child{border-bottom:0}
