@import url("/theme.css");
  /* ===== 回顾（访谈记录抽屉） ===== */
  .log { position:absolute; top:var(--hud-h,52px); right:0; bottom:0; width:min(100vw, 400px); z-index:30; background:rgba(14,16,19,.94); border-left:1px solid rgba(255,255,255,.12); transform:translateX(100%); transition:transform .3s ease; display:flex; flex-direction:column; backdrop-filter:blur(12px); }
  .log.on { transform:translateX(0); }
  .log .lh { padding:12px 14px; border-bottom:1px solid rgba(255,255,255,.1); font-size:13px; display:flex; align-items:center; gap:8px; flex:none; }
  .log .lh .x { margin-left:auto; cursor:pointer; font-size:22px; color:var(--mut); line-height:1; }
  .msgs { flex:1; overflow-y:auto; padding:14px; }
  .row { display:flex; gap:8px; margin-bottom:12px; align-items:flex-start; }
  .row.me { flex-direction:row-reverse; }
  .ava { width:32px; height:32px; border-radius:50%; color:#fff; display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:700; flex:none; background:#3a6f5a center / cover no-repeat; background-clip:padding-box; border:1px solid rgba(255,255,255,.22); }
  .bub { max-width:80%; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); border-radius:8px; padding:8px 11px; font-size:13.5px; line-height:1.6; white-space:pre-wrap; word-break:break-word; color:#ece8e1; }
  .row.me .bub { background:rgba(58,111,90,.35); border-color:rgba(120,180,150,.35); }
  .bub.err { background:rgba(160,80,60,.3); border-color:rgba(240,150,120,.4); }
  .bub .who { font-size:11px; color:var(--acc2); font-weight:600; margin-bottom:3px; }
  .sys { text-align:center; font-size:11px; color:#9a968f; margin:10px 0; }

  /* ===== 登记遮罩 ===== */
  .gate { position:fixed; inset:0; background:rgba(8,9,11,.55); display:flex; align-items:center; justify-content:center; z-index:50; backdrop-filter:blur(3px); }
  .gbox { background:rgba(16,18,22,.86); border:1px solid rgba(255,255,255,.14); border-radius:12px; padding:34px 36px; width:min(90vw, 380px); text-align:center; backdrop-filter:blur(12px); box-shadow:0 20px 60px rgba(0,0,0,.5); }
  .gbox .glogo { width:52px; height:52px; background:var(--acc); color:#fff; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:26px; font-weight:900; font-style:italic; margin:0 auto 14px; }
  .gbox h2 { font-size:17px; margin-bottom:4px; }
  .gbox p { font-size:12px; color:var(--mut); margin-bottom:18px; }
  .gbox button { width:100%; background:var(--acc); color:#fff; border:none; border-radius:6px; padding:11px; font-size:14px; cursor:pointer; }
  .gbox .gerr { color:#ff9b7a; font-size:12px; margin-top:9px; min-height:15px; }

  /* ===== 弹窗：履历 / 组会 ===== */
  dialog.modal { width:100vw; height:100dvh; max-width:none; max-height:none; border:0; border-radius:0; background:transparent; padding:16px; }
  dialog.modal[open] { display:flex; align-items:center; justify-content:center; }
  dialog.modal::backdrop { background:rgba(0,0,0,.55); backdrop-filter:blur(2px); }
  .mbox { background:rgba(20,22,26,.96); border:1px solid rgba(255,255,255,.14); border-radius:12px; width:min(94vw, 520px); max-height:86vh; overflow:auto; color:#ece8e1; }
  .mbox .rh { padding:14px 18px; border-bottom:1px solid rgba(255,255,255,.1); display:flex; align-items:center; gap:12px; }
  .mbox .rh .ava { width:46px; height:46px; font-size:20px; }
  .mbox .rh h3 { font-size:16px; }
  .mbox .rh .rt { font-size:12px; color:var(--mut); margin-top:2px; }
  .mbox .rh .x { margin-left:auto; cursor:pointer; color:var(--mut); font-size:22px; line-height:1; }
  .mbox .rc { padding:14px 18px 18px; }
  .mbox .lab { font-size:11px; color:var(--acc2); letter-spacing:1px; margin:6px 0 4px; }
  .mbox .txt { font-size:13.5px; line-height:1.8; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:6px; padding:10px 12px; }
  .mbox h3.t { font-size:15px; margin-bottom:4px; }
  .mbox p.d { font-size:11px; color:var(--mut); margin-bottom:12px; }
  .mbox label { display:flex; align-items:center; gap:8px; padding:7px 4px; font-size:13px; cursor:pointer; border-radius:5px; }
  .mbox label:hover { background:rgba(255,255,255,.06); }
  .mbox .mpa { display:flex; gap:8px; margin-top:14px; }
  .mbox .mpa button { flex:1; border-radius:6px; padding:9px 0; font-size:13px; cursor:pointer; border:1px solid rgba(255,255,255,.22); background:transparent; color:#fff; }
  .mbox .mpa button.go { background:var(--acc); border-color:var(--acc); }
  .mbox .merr { display:flex; align-items:center; gap:7px; min-height:18px; margin-top:8px; font-size:12px; color:#ff9b7a; }
  .mbox .merr:not(:empty)::before { content:""; width:6px; height:6px; border-radius:50%; background:#ff9b7a; box-shadow:0 0 0 3px rgba(255,155,122,.18); flex:none; }

  .message-images { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; white-space:normal; }
  .message-images .image-open { width:94px; height:74px; }
  .bub small { display:block; font-size:11px; color:#cbbcac; margin-top:6px; }
  .retry { display:block; padding:6px 12px; margin-top:8px; color:#fff; background:#864322; border:1px solid #c78b63; border-radius:6px; cursor:pointer; }
  .notice { position:fixed; z-index:100; top:58px; left:50%; transform:translateX(-50%); width:max-content; max-width:92vw; padding:12px 16px; color:#fff; background:#463125; border:1px solid #ca966c; box-shadow:0 8px 30px #0008; border-radius:8px; font-size:13px; }
  .log .lh .x { background:transparent; border:0; padding:5px; }
  dialog { margin:auto; color:#eee; border:1px solid #666; border-radius:12px; background:#181b20; }
  dialog::backdrop { background:#000b; }
  dialog button { background:#30343a; color:#fff; border:1px solid #80776e; border-radius:6px; padding:9px 12px; cursor:pointer; }
  dialog button:disabled { opacity:.4; cursor:default; }
  .image-viewer { width:96vw; height:92dvh; max-width:1400px; padding:0; }
  .image-viewer header,.image-viewer footer { display:flex; align-items:center; gap:10px; padding:10px 14px; height:62px; }
  .image-title { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
  .image-viewer footer { justify-content:center; }
  .image-canvas { height:calc(100% - 124px); overflow:auto; text-align:center; background:#101216; }
  .image-canvas img { max-width:100%; max-height:100%; object-fit:contain; }
  .image-canvas.zoomed img { max-width:none; max-height:none; }
  .export-dialog { max-width:500px; width:92vw; padding:24px; }
  .export-dialog h2 { font-size:19px; }.export-dialog p { font-size:13px; color:#c6beb5; margin:14px 0; line-height:1.7; }
  .export-dialog div { display:flex; flex-wrap:wrap; gap:8px; }.export-dialog [data-html] { background:#9c471f; }

  /* ===== 拒访管理（管理员）：查账号、逐次撤销误判 ===== */
  .admin-dialog { width:min(94vw, 560px); max-height:86dvh; padding:0; overflow:hidden; color:#ece8e1; background:rgba(20,22,26,.97); border:1px solid rgba(255,255,255,.14); border-radius:14px; box-shadow:0 24px 70px rgba(0,0,0,.55); }
  .admin-dialog[open] { display:flex; flex-direction:column; animation:ad-in .18s ease-out; }
  .admin-dialog::backdrop { background:rgba(0,0,0,.62); backdrop-filter:blur(3px); }
  @keyframes ad-in { from { opacity:0; transform:translateY(8px) scale(.985); } to { opacity:1; transform:none; } }
  .admin-dialog .lab { display:block; font-size:11px; color:var(--acc2); letter-spacing:1px; margin-bottom:6px; }
  .ad-head { display:flex; align-items:center; gap:10px; padding:16px 18px 14px; border-bottom:1px solid rgba(255,255,255,.1); flex:none; }
  .ad-head h2 { display:flex; align-items:center; gap:9px; font-size:16px; font-weight:700; letter-spacing:.5px; }
  .ad-head h2::before { content:""; width:4px; height:16px; border-radius:2px; background:var(--acc); }
  .admin-dialog .ad-x { margin-left:auto; width:32px; height:32px; padding:0; border:0; border-radius:8px; background:transparent; color:var(--mut); font-size:22px; line-height:1; }
  .admin-dialog .ad-x:hover:not(:disabled) { color:#fff; background:rgba(255,255,255,.08); }
  .ad-query { padding:16px 18px 10px; flex:none; }
  .ad-row { display:flex; gap:8px; }
  .ad-row input { flex:1; min-width:0; height:40px; padding:0 12px; border:1px solid rgba(255,255,255,.22); border-radius:8px; background:rgba(255,255,255,.07); color:#fff; font:13px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.3px; outline:none; transition:border-color .15s, box-shadow .15s; }
  .ad-row input:focus, .ad-undo textarea:focus { border-color:var(--acc); box-shadow:0 0 0 3px rgba(242,107,29,.2); }
  .ad-row input[aria-invalid="true"], .ad-undo textarea[aria-invalid="true"] { border-color:#ff9b7a; }
  .admin-dialog .ad-go { height:40px; padding:0 18px; border:1px solid var(--acc); border-radius:8px; background:var(--acc); color:#fff; font-size:13px; font-weight:600; white-space:nowrap; }
  .admin-dialog .ad-go:hover:not(:disabled) { background:#ff7a2b; border-color:#ff7a2b; }
  .admin-dialog .ad-ghost { height:34px; padding:0 14px; border:1px solid rgba(255,255,255,.22); border-radius:8px; background:transparent; color:#e8e2d8; font-size:12.5px; white-space:nowrap; }
  .admin-dialog .ad-ghost:hover:not(:disabled) { border-color:var(--acc2); color:#fff; }
  .admin-dialog button:disabled { opacity:.55; cursor:default; }
  .ad-err { display:flex; align-items:center; gap:7px; min-height:18px; margin-top:7px; font-size:12px; color:#ff9b7a; }
  .ad-err:not(:empty)::before { content:""; width:6px; height:6px; border-radius:50%; background:#ff9b7a; flex:none; }
  .ad-result { padding:0 18px 18px; overflow-y:auto; overscroll-behavior:contain; }
  .ad-result:empty { display:none; }
  .ad-sum { font-size:12px; color:var(--mut); margin:2px 0 10px; }
  .ad-empty { padding:8px 0 6px; text-align:center; font-size:13px; color:var(--mut); }
  .ad-item { padding:12px 14px; margin-bottom:10px; border:1px solid rgba(255,255,255,.1); border-radius:10px; background:rgba(255,255,255,.04); outline:none; }
  .ad-item:last-child { margin-bottom:0; }
  .ad-meta { display:flex; align-items:center; gap:9px; font-size:13.5px; }
  .ad-meta .ava { width:30px; height:30px; font-size:13px; }
  .ad-meta time { font-size:12px; color:var(--mut); font-variant-numeric:tabular-nums; }
  .ad-tag { margin-left:auto; padding:2px 9px; border-radius:999px; font-size:11px; color:#a9dcc2; background:rgba(58,111,90,.35); border:1px solid rgba(120,180,150,.4); white-space:nowrap; }
  .ad-reason { margin-top:9px; font-size:13.5px; line-height:1.7; }
  .ad-quote { margin-top:8px; padding:8px 11px; border-left:2px solid rgba(242,107,29,.65); border-radius:0 6px 6px 0; background:rgba(0,0,0,.24); font-size:12.5px; line-height:1.7; color:#d6d0c6; white-space:pre-wrap; word-break:break-word; }
  .ad-quote span { display:block; font-size:11px; color:var(--acc2); letter-spacing:1px; }
  .ad-item.voided .ad-reason, .ad-item.voided .ad-quote:not(.ad-fix) { opacity:.55; }
  .ad-quote.ad-fix { border-left-color:#78b496; }
  .ad-quote.ad-fix span { color:#a9dcc2; }
  .ad-item > .ad-ghost { margin-top:10px; }
  .ad-undo { margin-top:10px; }
  .ad-undo textarea { display:block; width:100%; min-height:76px; padding:9px 11px; border:1px solid rgba(255,255,255,.22); border-radius:8px; background:rgba(255,255,255,.07); color:#fff; font-family:inherit; font-size:13px; line-height:1.6; resize:vertical; outline:none; transition:border-color .15s, box-shadow .15s; }
  .ad-acts { display:flex; justify-content:flex-end; gap:8px; margin-top:4px; }
  .ad-acts .ad-go { height:34px; padding:0 14px; font-size:12.5px; }
html,body{height:100%;overflow:hidden}body{height:100dvh}#stage{position:fixed;inset:0;overflow:hidden;background:#0E0E11}.bg{position:absolute;inset:-30px;background:center/cover;filter:blur(3px) saturate(1.08) brightness(.78);transform:translate(var(--bg-x,0px),var(--bg-y,0px)) scale(1.04);opacity:0;transition:opacity .45s,filter .45s}.bg.on{opacity:1}body.choosing .bg{filter:blur(18px) brightness(.38) saturate(1.2)}.vig{position:absolute;inset:0;pointer-events:none;z-index:4;background:radial-gradient(90% 70% at 50% 38%,transparent 45%,#0008 100%),linear-gradient(180deg,#0008 0,transparent 14%,transparent 55%,#000b 100%)}.ray,.dust{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0}body[data-scene="lei"]:not(.choosing) .ray{opacity:1;background:linear-gradient(115deg,transparent 40%,rgba(255,170,90,.16) 58%,transparent 72%);mix-blend-mode:screen;animation:ray 9s ease-in-out infinite alternate}body[data-scene="lei"]:not(.choosing) .dust{opacity:.8}
.dust{background-image:radial-gradient(1.5px 1.5px at 20% 30%,rgba(255,220,180,.7),transparent),radial-gradient(1px 1px at 70% 20%,rgba(255,220,180,.6),transparent),radial-gradient(1.5px 1.5px at 82% 46%,rgba(255,220,180,.5),transparent),radial-gradient(1px 1px at 35% 60%,rgba(255,220,180,.5),transparent),radial-gradient(1.2px 1.2px at 60% 40%,rgba(255,220,180,.6),transparent);animation:drift 14s linear infinite}
@keyframes ray{from{opacity:.4;transform:translateX(-30px)}to{opacity:1;transform:translateX(30px)}}@keyframes drift{from{transform:translateY(10px)}to{transform:translateY(-20px)}}
#cast{position:absolute;inset:0;z-index:3;pointer-events:none;transform:translate(var(--fig-x,0px),var(--fig-y,0px))}.sprite{position:absolute;left:50%;top:70px;height:118dvh;aspect-ratio:.6;transform:translateX(-50%);transform-origin:center 80%;animation:breath 5.5s ease-in-out infinite;transition:filter 240ms,opacity 240ms,scale 240ms}.sprite img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:translateY(4px);transition:opacity 200ms,transform 200ms;filter:drop-shadow(0 30px 40px #0009)}.sprite img.on{opacity:1;transform:translateY(0)}.sprite.leave{opacity:0;animation:none}.sprite.enter{animation:cast-in 420ms ease-out,breath 5.5s 420ms ease-in-out infinite}.sprite .lit,.sprite .rim{position:absolute;inset:0;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;pointer-events:none}.sprite .lit{mix-blend-mode:soft-light}.sprite .rim{mix-blend-mode:screen}.sprite[data-light="lei"] .lit{background:linear-gradient(255deg,rgba(255,150,60,.95),rgba(255,150,60,.25) 38%,rgba(40,30,60,.55))}.sprite[data-light="lei"] .rim{background:linear-gradient(270deg,rgba(255,170,90,.55),transparent 16%)}.sprite[data-light="tan"] .lit{background:linear-gradient(90deg,rgba(222,241,255,.62),transparent 40%,rgba(50,75,120,.2))}.sprite[data-light="tan"] .rim{background:linear-gradient(270deg,rgba(219,236,255,.3),transparent 16%)}.sprite[data-light="qin"] .lit{background:linear-gradient(135deg,rgba(226,239,255,.55),transparent 45%,rgba(50,70,100,.25))}.sprite[data-light="qin"] .rim{background:linear-gradient(270deg,rgba(204,222,255,.26),transparent 16%)}.sprite[data-light="gao"] .lit{background:linear-gradient(180deg,rgba(255,212,165,.5),transparent 55%)}.sprite[data-light="gao"] .rim{background:linear-gradient(270deg,rgba(255,243,221,.25),transparent 16%)}.sprite[data-light="su"] .lit{background:linear-gradient(180deg,rgba(210,232,255,.4),transparent 55%)}.sprite[data-light="su"] .rim{background:linear-gradient(270deg,rgba(77,143,255,.4),transparent 16%)}.sprite[data-light="fang"] .lit{background:linear-gradient(110deg,rgba(239,239,230,.4),transparent 50%)}.sprite[data-light="fang"] .rim{background:linear-gradient(270deg,rgba(221,236,231,.23),transparent 16%)}
@keyframes breath{0%,100%{transform:translateX(-50%) scale(1)}50%{transform:translateX(-50%) scale(1.006) translateY(-1px)}}@keyframes cast-in{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
#cast.multi .sprite{height:100dvh;top:100px;filter:brightness(.6);scale:.96}#cast.multi .sprite.speak{height:104dvh;top:80px;filter:none;scale:1;z-index:3}body.choosing #cast{visibility:hidden}
.hud{position:absolute;top:0;left:0;right:0;height:64px;display:flex;align-items:center;padding:0 22px;gap:12px;z-index:20}.hud h1{font-size:15px;letter-spacing:.04em;white-space:nowrap}.hud h1 span{color:var(--mute);font-weight:500;margin-left:10px;padding-left:10px;border-left:1px solid var(--line2)}.hud button,.hud a{height:38px;min-width:38px;padding:0 12px;border-radius:12px;background:rgba(14,14,17,.5);backdrop-filter:blur(14px) saturate(1.3);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:600;white-space:nowrap}.hud .icon{padding:0}.hud button:hover,.hud a:hover{border-color:var(--line2);background:rgba(50,40,33,.7)}.hud button.on{color:var(--acc2);border-color:var(--brand)}.hud svg{width:18px;height:18px}.dots{fill:currentColor;stroke:none}.quota{height:30px;padding:0 10px;border-radius:999px;background:rgba(240,164,58,.14);border:1px solid rgba(240,164,58,.35);display:flex;align-items:center;gap:8px;font-size:12.5px;color:#FFD7A0;font-weight:600;white-space:nowrap}.quota::before{content:"";width:13px;height:13px;border:3px solid #f0a43a4d;border-top-color:var(--warn);border-radius:50%}.quota.exhausted{background:#ef5b4329;border-color:#ef5b4373;color:#FFB3A6}.quota.exhausted::before{border-color:var(--bad)}
.more-menu{position:absolute;right:22px;top:58px;width:270px;border-radius:16px;padding:8px;background:rgba(23,23,27,.97);border:1px solid var(--line2);box-shadow:0 20px 60px #0009;max-height:calc(100dvh - 90px);overflow:auto}.more-menu .account-name{padding:10px 12px;color:var(--mute);font-size:12px;overflow-wrap:anywhere}.hud .more-menu button,.hud .more-menu a{background:transparent;width:100%;border:0;justify-content:flex-start;height:40px;font-weight:500}.hud .more-menu button:hover,.hud .more-menu a:hover{background:var(--brand-soft)}
.roster{position:absolute;inset:0;z-index:18;padding:92px 96px 48px;overflow:auto;overscroll-behavior:contain}.rt h2{font-size:28px;font-weight:800;letter-spacing:.04em}.rt p{margin-top:6px;font-size:14px;color:var(--ink2)}.grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin-top:28px;max-width:1500px;margin-inline:auto}.card{position:relative;height:520px;border-radius:22px;overflow:hidden;background:#17171B;border:1px solid var(--line);box-shadow:0 24px 40px -24px #000c;transition:transform 260ms,border-color 260ms,box-shadow 260ms;animation:card-in 460ms both;animation-delay:calc(var(--order)*60ms)}.card .scene{position:absolute;inset:0;background:center/cover;filter:blur(2px) brightness(.55) saturate(1.1);transform:scale(1.05)}.card .who{position:absolute;left:50%;bottom:150px;height:380px;transform:translateX(-50%);transition:scale 260ms}.card .who img{height:100%;width:auto;display:block;filter:drop-shadow(0 20px 20px #0008)}.card .fade{position:absolute;left:0;right:0;bottom:0;height:270px;background:linear-gradient(180deg,transparent,#17171B 46%)}.card .info{position:absolute;inset:auto 0 0;padding:0 18px 18px}.card .nm{font-size:22px;font-weight:800;letter-spacing:.06em;display:flex;align-items:center;gap:8px}.card .nm::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--cc);flex:none}.card .tt{font-size:12.5px;color:var(--ink2);margin-top:2px;min-height:18px}.card .tz{font-size:12.5px;color:var(--mute);line-height:1.6;margin-top:8px;min-height:40px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card .st{margin-top:10px;font-size:12px;color:var(--ink2);min-height:20px}.card .st.warn{color:#FFC27A}.card .st.bad{color:#FF8D7A}.card .acts{display:flex;gap:8px;margin-top:12px}.card .acts button{height:40px;border-radius:12px;border:1px solid var(--line2);background:transparent;font-size:13px;padding:0 10px}.card .acts .go{flex:1;border:0;background:linear-gradient(150deg,#FF8A3D,var(--brand) 55%,var(--brand-deep));font-size:14px;font-weight:700;white-space:nowrap}.card.banned .who,.card.banned .scene{filter:grayscale(1) brightness(.4)}.card.banned .go{background:#ffffff14;color:var(--mute)}.card:hover,.card:focus-within{transform:translateY(-6px);border-color:color-mix(in srgb,var(--cc) 60%,transparent);box-shadow:0 30px 50px -20px #000e,0 0 0 1px color-mix(in srgb,var(--cc) 40%,transparent),0 0 40px -10px var(--cc)}.card:hover .who{scale:1.03}.card.inmeet{border-color:var(--warn)}@keyframes card-in{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
.mbtn{margin:26px auto 0;width:min(640px,100%);min-height:62px;border-radius:18px;border:1px dashed #f26b1d8c;background:#f26b1d14;display:flex;align-items:center;justify-content:center;gap:16px;font-size:15px;font-weight:700;color:#FFC9A6}.mbtn:hover{background:#f26b1d24}.stack{display:flex;padding-left:8px}.stack .ava{width:32px;height:32px;border:2px solid #1A1410;margin-left:-8px}
.dlg{position:absolute;left:50%;transform:translateX(-50%);bottom:max(26px,calc(env(safe-area-inset-bottom) + 16px));width:min(1120px,calc(100% - 48px));border-radius:22px;background:var(--glass);backdrop-filter:blur(22px) saturate(1.4);border:1px solid var(--line);box-shadow:0 30px 60px -20px #000b,inset 0 1px 0 #ffffff14;z-index:19;transition:opacity 200ms}.dlg.off{opacity:0;pointer-events:none}.dlg::before{content:"";position:absolute;left:24px;right:24px;top:-1px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--cc),transparent 70%)}.tag{position:absolute;left:22px;top:-19px;display:flex;gap:10px;height:38px;padding:0 16px;border-radius:12px;background:linear-gradient(135deg,var(--cc),color-mix(in srgb,var(--cc) 62%,#000));box-shadow:0 10px 24px -10px var(--cc);align-items:center}.tag b{font-size:19px;font-weight:800;letter-spacing:.06em}.tag small{font-size:12.5px;opacity:.85}.turn{position:absolute;right:22px;top:16px;font-size:12px;color:var(--mute);display:flex;gap:10px;align-items:center}.turn .dots7{display:flex;gap:4px}.turn i{width:6px;height:6px;border-radius:50%;background:var(--line2);display:inline-block}.turn i.on{background:var(--cc)}.dlg .txt{padding:34px 30px 16px;font-size:19px;line-height:1.85;letter-spacing:.02em;min-height:calc(2em*1.85 + 50px);max-height:calc(5em*1.85 + 50px);overflow-y:auto;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:0 1px 0 #0006}.dlg .txt.err{color:#FFB3A6}.dlg .txt.nar{color:var(--ink2)}.dlg .cue{position:absolute;right:30px;bottom:88px;width:10px;height:10px;border-right:2.5px solid var(--cc);border-bottom:2.5px solid var(--cc);transform:rotate(45deg);opacity:0;pointer-events:none}.dlg .cue.on{opacity:1;animation:nudge 1.1s ease-in-out infinite}@keyframes nudge{50%{translate:3px -1px}}.compose{display:flex;align-items:flex-end;gap:10px;padding:12px 14px 14px;border-top:1px solid var(--line)}.compose textarea{flex:1;min-width:0;min-height:46px;max-height:120px;border-radius:14px;background:#ffffff0f;border:1px solid var(--line);padding:12px 14px;font-size:15.5px;color:var(--ink);line-height:1.5;resize:none}.compose textarea:focus{border-color:#f26b1d99;box-shadow:0 0 0 4px #f26b1d24}.compose textarea::placeholder{color:#7E786F}.compose textarea:disabled{opacity:.5}.cbtn,.send{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;flex:none;padding:0}.cbtn{border:1px solid var(--line);background:#ffffff0f;color:var(--ink2);position:relative}.send{border:0;background:linear-gradient(150deg,#FF8A3D,var(--brand) 55%,var(--brand-deep));color:#fff;box-shadow:0 10px 20px -10px #f26b1de6}.send.stop{background:#ffffff1a;border:1px solid var(--line2);box-shadow:none;opacity:1}.image-count{position:absolute;right:-4px;top:-5px;font-size:10px;border-radius:50%;background:var(--brand);color:#fff;min-width:16px}.image-count:empty{display:none}.pimgbar{display:flex;gap:8px;padding:0 14px 12px;overflow-x:auto;max-width:100%}.pending-image{position:relative;width:54px;height:54px;flex:none}.pending-image .image-open{width:54px;height:54px;border-radius:12px;border:1px solid var(--line2)}.pending-image .image-remove{position:absolute;right:-6px;top:-6px;width:22px;height:22px;padding:0;border-radius:50%;background:#2A2A2F;border:1px solid var(--line2);font-size:16px}.input-status{font-size:12.5px;color:#FFD7A0;padding:0 16px 12px}.charcount{position:absolute;right:75px;bottom:4px;font-size:10px;color:var(--mute)}.typing{display:inline-flex;gap:4px}.typing i{width:6px;height:6px;border-radius:50%;background:#fff;opacity:.4;animation:typing 1.2s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes typing{30%{opacity:1;transform:translateY(-3px)}}.shim{height:14px;border-radius:7px;margin:8px 0;background:linear-gradient(90deg,#ffffff0f,#ffffff29 40%,#ffffff0f 80%);background-size:300% 100%;animation:shimmer 1.6s linear infinite}@keyframes shimmer{from{background-position:100% 0}to{background-position:-200% 0}}body.choosing .dlg{display:none}.log{top:64px;bottom:0;z-index:30;width:min(100vw,420px)}.ava{background-size:cover!important;background-position:center!important}.notice{top:74px;z-index:100;max-width:92vw;border-radius:12px}.gbox{border-radius:22px}.gbox .account-link{margin:14px 0 0}.gbox .glogo{margin-inline:auto}.mbox{border-radius:20px}.modal{z-index:60}.modal .mbox{padding:0}.modal .rh .x{border:0;background:transparent;color:var(--mute);padding:5px}.mbox label input{accent-color:var(--brand)}.mbox .txt{white-space:normal}.retry{display:inline-flex;border-radius:10px;background:var(--brand-soft);border-color:var(--brand);font:13px var(--cn)}.image-viewer,.export-dialog{border-radius:20px}#de-brand-wm{position:fixed;inset:0;pointer-events:none;z-index:99990;opacity:.025}#de-brand-ft{position:fixed;left:0;right:0;bottom:6px;text-align:center;font-size:11px;color:#fff;opacity:.32;pointer-events:none;z-index:99991;letter-spacing:.06em}
@media(max-width:1100px){.roster{padding:86px 32px 40px}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hud h1 span{display:none}.card{height:490px}.hud{gap:8px}.card .who{height:360px}.card .tz{min-height:40px}}
@media(max-width:680px){.hud{height:72px;padding:max(10px,env(safe-area-inset-top)) 16px 0;gap:8px;align-items:center}.hud h1{display:none}.hud button,.hud a{height:36px;min-width:36px;border-radius:11px;padding:0}.hud button>span{display:none}.hud .quota{position:absolute;right:16px;top:78px;height:28px;font-size:11.5px}.more-menu{right:12px;top:68px}.hud .more-menu button,.hud .more-menu a{height:42px;padding:0 12px}.roster{padding:94px 16px 50px}.rt h2{font-size:24px}.rt p{font-size:12px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}.card{height:370px;border-radius:20px}.card .who{height:250px;bottom:115px}.card .fade{height:220px}.card .info{padding:0 12px 12px}.card .nm{font-size:19px}.card .tt{font-size:11px;min-height:32px}.card .tz{font-size:11px;min-height:35px;line-height:1.55;margin-top:4px}.card .st{font-size:11px;min-height:30px;margin-top:6px}.card .acts{gap:6px;margin-top:6px}.card .acts button{padding:0 8px;font-size:12px;height:36px;border-radius:10px}.card .acts .go{font-size:12px}.mbtn{min-height:58px;font-size:14px;gap:12px}.sprite{top:120px;height:97dvh}#cast.multi .sprite{top:150px;height:83dvh}#cast.multi .sprite.speak{top:120px;height:90dvh}.dlg{bottom:max(20px,calc(env(safe-area-inset-bottom) + 12px));width:calc(100% - 20px);border-radius:22px}.tag{left:16px;height:34px;top:-17px;padding:0 12px;gap:7px}.tag b{font-size:16px}.tag small{font-size:11px;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.turn{right:16px;top:14px;font-size:10px;gap:6px}.turn i{width:4px;height:4px}.turn .dots7{gap:3px}.dlg .txt{font-size:16.5px;line-height:1.78;padding:34px 18px 12px;min-height:calc(3.56em + 46px);max-height:calc(8.9em + 46px)}.compose{padding:10px;gap:8px}.compose textarea{min-height:42px;font-size:15px;padding:10px 12px;border-radius:13px}.send,.cbtn{width:42px;height:42px;border-radius:13px}.pimgbar{padding:0 10px 10px}.log{top:72px}.dlg .cue{right:18px;bottom:76px}#de-brand-ft{font-size:9px;bottom:3px}.notice{top:112px}.input-status{font-size:12px}.image-viewer footer{gap:6px;padding:8px}.image-viewer footer button{padding:9px 8px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.ray,.dust{display:none}#cast,.bg{transform:none}.bg{inset:0}.card{opacity:1}.sprite{animation:none;transform:translateX(-50%)}}

.more-menu hr{border:0;border-top:1px solid var(--line);margin:6px 8px}

.image-open{padding:0;overflow:hidden;background:#222;border:0;cursor:zoom-in;display:grid;place-items:center}.image-open img{width:100%;height:100%;object-fit:cover}

@media(max-width:680px){#cast.multi[data-count="3"] .sprite{height:70dvh;top:165px}#cast.multi[data-count="3"] .sprite.speak{height:74dvh;top:145px}#cast.multi[data-count="4"] .sprite{height:60dvh;top:190px}#cast.multi[data-count="4"] .sprite.speak{height:64dvh;top:170px}}
