*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0e0f13}body,html{height:100%;background:var(--bg-sunken,#08090c);color:var(--text-primary,#f2f3f5);font-family:var(--font-ui,-apple-system,"PingFang SC","Microsoft YaHei",system-ui,sans-serif)}a{color:inherit;text-decoration:none}.cg-shell{position:relative;width:100%;max-width:430px;min-height:100vh;margin:0 auto;background:var(--bg-base,#0e0f13);overflow-x:hidden}@media (min-width:480px){.cg-shell{box-shadow:0 0 60px rgba(0,0,0,.6)}}.gallery{max-width:1100px;margin:0 auto;padding:48px 24px}.gallery h1{font-size:26px;font-weight:700}.gallery .sub{color:#9aa0a6;margin:8px 0 32px;font-size:14px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:20px;gap:20px}.card{border-radius:16px;overflow:hidden;cursor:pointer;border:1px solid hsla(0,0%,100%,.08);transition:transform .15s ease,box-shadow .15s ease}.card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.45)}.card .portrait{height:240px;display:flex;align-items:flex-end;justify-content:center;position:relative}.card .face{font-size:80px;margin-bottom:24px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.4))}.card .mood{position:absolute;top:12px;left:12px;font-size:12px;padding:3px 10px;border-radius:999px;background:rgba(0,0,0,.35);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.card .meta{padding:14px 16px;background:#16181d}.card .name{font-size:17px;font-weight:600}.card .tagline{font-size:12px;color:#9aa0a6;margin-top:4px;line-height:1.5;min-height:32px}.card .tags{margin-top:10px;display:flex;gap:6px;flex-wrap:wrap}.card .tag{font-size:11px;padding:2px 8px;border-radius:6px;background:hsla(0,0%,100%,.08);color:#c8ccd0}.stage{position:relative;height:100vh;overflow:hidden;display:flex;flex-direction:column}.scene{inset:0;z-index:0}.scene,.sprite{position:absolute}.sprite{bottom:7vh;left:50%;transform:translateX(-50%);z-index:1;display:flex;align-items:flex-end;justify-content:center;height:82vh;transition:opacity .3s ease}.sprite .face{font-size:220px;filter:drop-shadow(0 10px 30px rgba(0,0,0,.5))}.topbar{position:relative;z-index:3;display:flex;align-items:center;gap:16px;padding:14px 20px}.topbar .back{font-size:20px;cursor:pointer;opacity:.85}.topbar .who{flex:1 1}.topbar .who .nm{font-weight:600}.topbar .who .lv{font-size:12px;color:#d7dade;opacity:.9}.bond{width:180px}.bond .row{display:flex;justify-content:space-between;font-size:11px;color:#d7dade;margin-bottom:4px}.bond .track{height:8px;border-radius:999px;background:hsla(0,0%,100%,.15);overflow:hidden}.bond .fill{height:100%;border-radius:999px;transition:width .5s ease}.call-btn{font-size:20px;cursor:pointer;opacity:.85;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin-left:8px}.call-btn:hover{opacity:1}.sprite .wave{text-align:center;margin-top:8px;letter-spacing:4px;font-size:14px;animation:blink 1.1s steps(1) infinite}.delta-pop{position:absolute;right:20px;top:56px;z-index:4;font-size:13px;font-weight:600;animation:floatUp 1.6s ease forwards}@keyframes floatUp{0%{opacity:0;transform:translateY(8px)}20%{opacity:1}to{opacity:0;transform:translateY(-18px)}}.spacer{flex:1 1;position:relative;z-index:2}.dialogue{position:relative;z-index:3;margin:0 20px 18px;background:rgba(12,14,18,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid hsla(0,0%,100%,.1);border-radius:16px;padding:18px 22px}.dialogue .speaker{font-weight:600;margin-bottom:8px}.dialogue .text{font-size:17px;line-height:1.7;min-height:28px}.dialogue .text .caret{opacity:.6;animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.topbar .history-btn{font-size:18px;line-height:1;cursor:pointer;opacity:.8;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:hsla(0,0%,100%,.08)}.topbar .history-btn:active{opacity:1}.caption{position:relative;z-index:3;margin:0 20px 18px;background:rgba(12,14,18,.68);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid hsla(0,0%,100%,.1);border-radius:16px;padding:14px 18px;transition:opacity .6s ease}.caption.show{opacity:1}.caption.hide{opacity:0;pointer-events:none}.caption .cap-user{font-size:12px;color:#b9bec4;opacity:.7;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid hsla(0,0%,100%,.08);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.caption .cap-ai{font-size:15px;line-height:1.6}.caption .cap-name{font-weight:600;margin-right:8px}.caption .cap-action{font-style:italic;opacity:.55;font-size:.9em}.caption .caret{opacity:.6;animation:blink 1s steps(1) infinite}.sheet-mask{position:fixed;inset:0;z-index:20;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;animation:sheetFade .2s ease}@keyframes sheetFade{0%{opacity:0}to{opacity:1}}.sheet{width:100%;max-height:72vh;background:#16181d;border-radius:20px 20px 0 0;padding:10px 20px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;animation:sheetUp .28s cubic-bezier(.22,.61,.36,1)}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet .sheet-bar{width:36px;height:4px;border-radius:2px;background:hsla(0,0%,100%,.25);margin:4px auto 12px}.sheet .sheet-title{font-weight:600;margin-bottom:12px}.sheet .sheet-body{overflow-y:auto}.sheet .sheet-empty{text-align:center;color:#9aa0a6;padding:30px 0}.sheet .turn{margin-bottom:16px}.sheet .turn-who{font-size:12px;font-weight:600;opacity:.8;margin-bottom:4px}.sheet .turn.user .turn-who{color:#d7dade}.sheet .turn-text{font-size:14px;line-height:1.6}.sheet .turn-text .cap-action{font-style:italic;opacity:.55;font-size:.9em}.composer{position:relative;z-index:3;display:flex;align-items:center;gap:10px;padding:0 20px calc(20px + env(safe-area-inset-bottom))}.composer input{flex:1 1;min-width:0;padding:14px 16px;height:48px;border-radius:12px;border:1px solid hsla(0,0%,100%,.12);background:hsla(0,0%,100%,.06);color:#fff;font-size:15px;outline:none}.composer input:focus{border-color:var(--theme)}.composer button{flex-shrink:0;white-space:nowrap;padding:0 18px;height:48px;border-radius:12px;border:none;cursor:pointer;background:var(--theme);color:#fff;font-size:15px;font-weight:600}.composer button:disabled{opacity:.5;cursor:default}.composer .hangup{background:#c0392b}.composer .mode-toggle{width:48px;height:48px;padding:0;border-radius:12px;background:hsla(0,0%,100%,.1);color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center}.composer .mode-toggle:active{background:hsla(0,0%,100%,.18)}.voice-live{flex:1 1;min-width:0;height:48px;display:flex;align-items:center;gap:12px;padding:0 16px;border-radius:12px;cursor:pointer;border:1px solid hsla(0,0%,100%,.12);background:hsla(0,0%,100%,.06);--vol:0}.voice-live .voice-hint{font-size:13px;color:#d7dade;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viz{display:flex;align-items:center;gap:3px;height:22px;flex-shrink:0}.viz i{display:block;width:3px;height:22px;border-radius:2px;background:var(--theme);transform-origin:center;transform:scaleY(.22);animation:vizBar .9s ease-in-out infinite;animation-delay:calc(var(--i) * -.18s)}.viz i:first-child,.viz i:nth-child(5){height:12px}.viz i:nth-child(2),.viz i:nth-child(4){height:18px}.viz i:nth-child(3){height:22px}@keyframes vizBar{0%,to{transform:scaleY(calc(.18 + var(--vol) * .9))}50%{transform:scaleY(calc(.42 + var(--vol) * 2))}}@media (prefers-reduced-motion:reduce){.viz i{animation:none;transform:scaleY(calc(.3 + var(--vol) * 1.6))}}.guides{display:flex;gap:8px;padding:0 20px 12px;z-index:3;position:relative;flex-wrap:wrap}.guides button{font-size:13px;padding:6px 12px;border-radius:999px;cursor:pointer;background:hsla(0,0%,100%,.08);color:#d7dade;border:1px solid hsla(0,0%,100%,.1)}.loading{padding:60px;text-align:center;color:#9aa0a6}@keyframes cgFeedHint{0%,to{transform:translateX(-50%) translateY(0);opacity:.9}50%{transform:translateX(-50%) translateY(-5px);opacity:.5}}.cg-feed-scroller::-webkit-scrollbar{display:none}@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;700&family=Ma+Shan+Zheng&display=swap");:root{--bg-base:#0e0f13;--bg-elevated:#1a1c22;--bg-overlay:rgba(14,15,19,.72);--bg-sunken:#08090c;--text-primary:#f2f2f5;--text-secondary:#c4c6cf;--text-muted:#9a9ca6;--text-on-theme:#fff;--line:hsla(0,0%,100%,.08);--line-strong:hsla(0,0%,100%,.14);--success:#5bd0a0;--warning:#e0b15b;--danger:#e06b6b;--theme:#5b7a99;--theme-soft:rgba(91,122,153,.18);--theme-accent:#6e92b5;--theme-glow:rgba(91,122,153,.4);--scene-a:#2a3340;--scene-b:#10141a;--shadow-card:0 8px 32px rgba(0,0,0,.35);--glow-edge:inset 0 0 0 1px hsla(0,0%,100%,.06)}:root[data-theme=light],[data-theme=light]{--bg-base:#f6f6f8;--bg-elevated:#fff;--bg-overlay:hsla(0,0%,100%,.78);--bg-sunken:#ececef;--text-primary:#1a1c22;--text-secondary:#4a4d57;--text-muted:#8a8d97;--line:rgba(0,0,0,.08);--line-strong:rgba(0,0,0,.14);--shadow-card:0 6px 24px rgba(20,22,34,.1);--glow-edge:inset 0 0 0 1px rgba(0,0,0,.04)}[data-char=lin]{--theme:#5b7a99;--theme-soft:rgba(91,122,153,.18);--theme-accent:#6e92b5;--theme-glow:rgba(91,122,153,.4);--scene-a:#2a3340;--scene-b:#10141a}[data-char=an]{--theme:#a6597a;--theme-soft:rgba(166,89,122,.18);--theme-accent:#c06e92;--theme-glow:rgba(166,89,122,.4);--scene-a:#3a2a33;--scene-b:#171014}[data-char=shi]{--theme:#c08a4e;--theme-soft:rgba(192,138,78,.18);--theme-accent:#d8a368;--theme-glow:rgba(192,138,78,.4);--scene-a:#3a3026;--scene-b:#17120c}[data-char=shen]{--theme:#4e8a6e;--theme-soft:rgba(78,138,110,.18);--theme-accent:#62a586;--theme-glow:rgba(78,138,110,.4);--scene-a:#26342d;--scene-b:#0c1712}:root{--font-dialogue:"Noto Serif SC","Songti SC","Source Han Serif SC",serif;--font-ui:"Noto Sans SC","PingFang SC","HarmonyOS Sans","Source Han Sans SC",sans-serif;--font-display:"Noto Serif SC","Songti SC",serif;--font-hand:"Ma Shan Zheng","Noto Serif SC",cursive;--fs-dialogue:1.125rem;--fs-title:1.375rem;--fs-h1:1.75rem;--fs-body:1rem;--fs-label:0.9375rem;--fs-caption:0.8125rem;--fs-micro:0.6875rem;--lh-dialogue:1.8;--lh-tight:1.3;--lh-body:1.55;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-bold:700;--ls-tight:-0.01em;--ls-wide:0.04em;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-8:48px;--page-pad:20px;--r-sm:8px;--r-md:16px;--r-lg:24px;--r-full:999px;--screen-w:390px;--screen-h:844px;--z-scene:0;--z-glow:10;--z-tachie:20;--z-dialogue:30;--z-input:40;--z-overlay:100;--ease-soft:cubic-bezier(.22,.61,.36,1);--ease-enter:cubic-bezier(.16,1,.3,1);--dur-fast:160ms;--dur-base:280ms;--dur-slow:520ms;--type-speed:36ms;--breathe-dur:4s}@keyframes cg-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.015)}}@keyframes cg-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes cg-blink{50%{opacity:0}}@keyframes cg-eq{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}@keyframes cg-fade-in{0%{opacity:0}to{opacity:1}}@keyframes cg-unlock-pulse{0%{box-shadow:0 0 0 0 var(--theme-glow)}70%{box-shadow:0 0 0 12px transparent}to{box-shadow:0 0 0 0 transparent}}@keyframes cg-rain{to{background-position:60px 120px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important}}