@import"https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@500;700;900&family=Space+Mono:wght@400;700&display=swap";.dialogue-card p{font-family:var(--serif);font-size:16px;line-height:1.8;margin:12px 0 20px;white-space:pre-wrap;min-height:3.6em}.typing-hint{display:block;color:#71808d;font-size:9px;margin:-8px 0 14px;letter-spacing:.04em}.is-hidden{visibility:hidden;opacity:0;pointer-events:none;height:0;margin:0;overflow:hidden}.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;transition:opacity .25s}:root{--ink:#e9edf1;--muted:#9ca8b4;--line:rgba(233,237,241,.14);--panel:#121820;--panel-2:#18212a;--accent:#c3ff65;--warm:#ffbf69;--danger:#ff796d;--serif:"Noto Serif SC", Georgia, serif;--mono:"Space Mono","Microsoft YaHei",monospace}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#0b1015;font-family:var(--mono)}button,input{font:inherit}button{cursor:pointer}.auth-screen{min-height:100vh;display:grid;place-items:center;position:relative;overflow:hidden;background:#0e151a}.auth-backdrop{position:absolute;inset:0;background:linear-gradient(90deg,#070b10f0,#070b10ad 42%,#070b1033),url(/assets/bg/BG_03_%E5%AE%9E%E9%AA%8C%E5%AE%A4%EF%BC%88%E6%B7%B1%E5%A4%9C%EF%BC%89.png) center/cover;filter:saturate(.7)}.auth-panel{width:min(470px,calc(100% - 36px));position:relative;padding:38px 42px 34px;background:#10171ee0;border:1px solid var(--line);box-shadow:0 28px 90px #0006;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-mark{color:var(--ink);font-weight:700;letter-spacing:.08em;font-size:15px}.brand-mark span{color:var(--accent)}.brand-mark small{color:var(--muted);font-weight:400;margin-left:14px;letter-spacing:.03em}.eyebrow{color:var(--accent);font-size:10px;letter-spacing:.18em;margin:26px 0 16px}.auth-panel h1,.admin-intro h1{font:900 clamp(34px,5vw,52px)/1.12 var(--serif);margin:0;letter-spacing:.02em}.auth-panel h1 em{color:var(--warm);font-style:normal}.auth-copy{color:var(--muted);font-size:12px;line-height:1.9;margin:20px 0 28px;max-width:34em}.auth-tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin-bottom:22px}.tab{border:0;background:none;color:var(--muted);padding:0 0 12px;position:relative}.tab.active{color:var(--ink)}.tab.active:after{content:"";position:absolute;height:2px;background:var(--accent);left:0;right:0;bottom:-1px}label{display:block;color:var(--muted);font-size:11px;margin:14px 0}input{width:100%;display:block;color:var(--ink);background:#0d141a;border:1px solid var(--line);padding:13px 14px;margin-top:7px;outline:none}input:focus{border-color:var(--accent)}.hidden{display:none}.primary{border:0;color:#0d1411;background:var(--accent);padding:14px 16px;font-weight:700;display:flex;justify-content:space-between;align-items:center;margin-top:22px}.primary:hover{background:#ddffa5}.wide{width:100%}.demo-hint,.auth-footer{color:#73808b;font-size:10px}.demo-hint{text-align:center;margin:22px 0 0}.auth-footer{position:absolute;bottom:20px;left:0;right:0;text-align:center}.app-shell{min-height:100vh;background:radial-gradient(circle at 75% 0%,#24303a 0,#0b1015 35%)}.topbar{height:72px;display:flex;align-items:center;padding:0 4vw;border-bottom:1px solid var(--line);gap:55px}.topbar nav{display:flex;gap:24px;flex:1}.nav-btn,.logout{border:0;background:none;color:var(--muted);padding:26px 0;font-size:11px}.nav-btn.active{color:var(--accent);border-bottom:2px solid var(--accent)}.user-menu{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}.logout{padding:0 0 0 14px;color:#71808d;border-left:1px solid var(--line)}.game-view{min-height:calc(100vh - 72px);display:grid;grid-template-columns:minmax(0,1fr) 330px;grid-template-rows:minmax(440px,1fr) auto;position:relative}.scene{grid-row:1;min-height:510px;background-position:center;background-size:cover;position:relative}.scene:after{content:"";position:absolute;inset:auto 0 0;height:50%;background:linear-gradient(transparent,#0b1015)}.scene-stamp,.scene-caption{position:absolute;z-index:1;color:#ffffffb3;font-size:10px;letter-spacing:.14em}.scene-stamp{right:27px;top:25px}.scene-caption{left:34px;bottom:30px}.hud{padding:34px 30px;background:#10171eeb;border-left:1px solid var(--line)}.hud-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px}.hud-heading span,.meter-label span,.memory-note span{color:var(--muted);font-size:10px;letter-spacing:.08em}.hud-heading b{color:var(--accent);font-size:11px}.meter{margin:24px 0}.meter-label{display:flex;justify-content:space-between;margin-bottom:9px;font-size:11px}.meter-label strong{color:var(--accent);font-size:11px}.meter-track{height:5px;background:#27323c}.meter-track i{display:block;height:100%;background:var(--warm);transition:width .4s}.spirit .meter-track i{background:var(--accent)}.mentor .meter-track i{background:#88b6ff}.memory-note{border-top:1px solid var(--line);margin-top:40px;padding-top:20px;display:grid;grid-template-columns:1fr auto;gap:8px}.memory-note b{font-size:26px;color:var(--warm)}.memory-note small{grid-column:1/3;color:#71808d;font-size:10px}.dialogue{grid-column:1/3;z-index:2;display:flex;align-items:end;padding:0 6vw 34px;gap:0;margin-top:-120px;pointer-events:none}.dialogue-character{width:200px;max-height:300px;align-self:end;overflow:hidden;pointer-events:none}.dialogue-character img{display:block;width:100%;max-height:330px;object-fit:contain;object-position:bottom;filter:drop-shadow(0 8px 24px rgba(0,0,0,.45))}.dialogue-card{pointer-events:auto;background:#0e141af2;border:1px solid rgba(233,237,241,.22);padding:22px 28px 25px;flex:1;max-width:850px;box-shadow:0 15px 50px #00000047}.speaker{color:var(--warm);font-weight:700;font-size:12px}.speaker span{color:#71808d;font-size:9px;margin-left:12px;font-weight:400}.dialogue-card p{font-family:var(--serif);font-size:16px;line-height:1.8;margin:12px 0 20px;white-space:normal}.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.choice{text-align:left;color:var(--ink);background:#ffffff0a;border:1px solid var(--line);padding:12px 14px;font-size:11px;transition:.2s}.choice span{color:var(--accent);margin-right:12px}.choice b{float:right;color:var(--muted)}.choice:hover{border-color:var(--accent);background:#c3ff6514;transform:translateY(-2px)}.admin-view{width:min(1120px,calc(100% - 64px));margin:0 auto;padding:72px 0}.admin-intro p:not(.eyebrow){color:var(--muted);font-size:12px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin:54px 0 28px}.stats-grid>div{background:var(--panel);padding:22px}.stats-grid span,.stats-grid small{display:block;color:var(--muted);font-size:10px}.stats-grid strong{display:block;color:var(--warm);font:700 36px var(--mono);margin:11px 0}.stats-grid .green{color:var(--accent)}.admin-table{border:1px solid var(--line)}.table-head,.table-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;align-items:center;padding:15px 18px;border-bottom:1px solid var(--line);font-size:11px}.table-head{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.table-row:last-child{border-bottom:0}.player-cell{display:flex;align-items:center;gap:12px}.player-cell small{display:block;color:var(--muted);margin-top:4px;font-size:10px}.avatar{display:grid;place-items:center;width:30px;height:30px;color:#111;background:var(--accent)}.pill{color:var(--accent);font-size:10px}.pill.gold{color:var(--warm)}.admin-note{display:flex;gap:12px;margin-top:24px;padding:16px;background:#ffbf6912;color:var(--warm)}.admin-note p{color:var(--muted);font-size:10px;margin:6px 0 0}.admin-note b{font-size:11px}#toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);opacity:0;padding:12px 18px;background:#1d2b32;border:1px solid var(--accent);color:var(--ink);font-size:11px;transition:.25s;z-index:10}#toast.show{opacity:1;transform:translate(-50%)}#toast[data-type=error]{border-color:var(--danger)}@media(max-width:800px){.topbar{padding:0 18px;gap:20px}.brand-mark small{display:none}.user-menu{margin-left:auto}.game-view{display:block}.scene{min-height:390px}.hud{border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px}.hud-heading,.memory-note{grid-column:1/-1;margin:0}.meter{margin:0}.memory-note{display:none}.dialogue{margin-top:-66px;padding:0 14px 20px}.dialogue-character{display:none}.dialogue-card{padding:18px}.dialogue-card p{font-size:14px}.choices{grid-template-columns:1fr}.admin-view{width:calc(100% - 32px);padding:40px 0}.stats-grid{grid-template-columns:repeat(2,1fr);margin:32px 0 18px}.table-head{display:none}.table-row{grid-template-columns:1fr 1fr;gap:10px;padding:15px}.table-row>span:nth-child(2){text-align:right}.table-row>span:nth-child(3),.table-row>span:nth-child(4){display:none}}@media(max-width:500px){.auth-panel{padding:28px 24px}.auth-panel h1{font-size:36px}.scene{min-height:300px}.hud{grid-template-columns:1fr}.meter{margin:8px 0}.nav-btn{padding:26px 0}.topbar nav{gap:12px}.user-menu{font-size:0}.logout{font-size:10px}.dialogue{margin-top:-36px}.dialogue-card p{font-size:13px}.admin-intro h1{font-size:38px}}.row-actions{display:flex;align-items:center;gap:12px}.self-label{color:#71808d}.delete-user{border:1px solid rgba(255,121,109,.4);color:var(--danger);background:transparent;padding:5px 9px;font-size:10px}.delete-user:hover{background:#ff796d1a;border-color:var(--danger)}.table-row>.row-actions{display:flex!important}.dialogue-card p{white-space:pre-wrap}@media(min-width:801px){.app-shell:has(.game-view){height:100vh;overflow:hidden}.game-view{height:calc(100vh - 72px);min-height:0;overflow:hidden;grid-template-rows:minmax(0,1fr) auto}.scene{min-height:0;height:auto}.dialogue{min-height:0;margin-top:-118px;padding-bottom:24px}.dialogue-card{max-height:none;overflow:visible}.dialogue-card p{max-height:none;overflow:visible;margin:10px 0 14px;font-size:clamp(12px,1.05vw,16px);line-height:1.55}.choice{padding:10px 12px}}@media(min-width:801px)and (max-height:720px){.topbar{height:60px}.nav-btn{padding:20px 0}.game-view{height:calc(100vh - 60px)}.dialogue{margin-top:-96px;padding-bottom:14px}.dialogue-card{padding:12px 18px 14px}.dialogue-card p{max-height:none;margin:6px 0 8px;font-size:12px;line-height:1.4}.typing-hint{margin:-3px 0 8px}.choice{padding:8px 10px}}.home-view,.collection-view{width:min(1120px,calc(100% - 64px));margin:0 auto;padding:64px 0 48px}.home-view{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-content:start}.home-hero{padding:36px;min-height:280px;background:linear-gradient(135deg,#c3ff651f,#ffbf690a);border:1px solid var(--line)}.home-hero .eyebrow,.collection-heading .eyebrow{margin-top:0}.home-hero h1,.collection-heading h1{font:900 clamp(38px,6vw,72px)/1.05 var(--serif);margin:18px 0}.home-hero p:not(.eyebrow),.collection-heading p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.9;max-width:52em}.home-actions{display:flex;gap:10px;margin-top:28px}.home-primary,.home-secondary{border:1px solid var(--accent);padding:13px 16px;font-size:11px}.home-primary{color:#0d1411;background:var(--accent);font-weight:700;min-width:170px;display:flex;justify-content:space-between}.home-secondary{color:var(--ink);background:transparent;border-color:var(--line)}.home-primary:hover{background:#ddffa5}.home-status{padding:30px;background:var(--panel);border:1px solid var(--line)}.home-status>span,.home-meters small{color:var(--muted);font-size:10px}.home-status>strong{display:block;margin:12px 0 38px;color:var(--warm);font-size:18px}.home-meters{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;border-top:1px solid var(--line);padding-top:18px}.home-meters small,.home-meters b{display:block}.home-meters b{color:var(--accent);margin-top:8px}.home-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.home-card{min-height:145px;text-align:left;color:var(--ink);background:#ffffff09;border:1px solid var(--line);padding:20px;transition:.2s}.home-card:hover{transform:translateY(-3px);border-color:var(--accent);background:#c3ff6512}.home-card span{display:block;color:var(--accent);font-size:10px;margin-bottom:22px}.home-card b,.home-card small{display:block}.home-card b{font:700 18px var(--serif)}.home-card small{color:var(--muted);font-size:10px;margin-top:9px;line-height:1.5}.collection-view{min-height:calc(100vh - 72px)}.collection-heading{border-bottom:1px solid var(--line);padding-bottom:28px}.memory-grid,.ending-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:34px 0}.memory-card,.ending-card{min-height:150px;display:flex;flex-direction:column;justify-content:space-between;padding:20px;border:1px solid var(--line);background:var(--panel)}.memory-card span,.ending-card span{color:var(--accent);font-size:10px}.memory-card b,.ending-card b{font:700 18px var(--serif)}.memory-card small,.ending-card small{color:var(--muted);font-size:10px;line-height:1.5}.locked{opacity:.48}.found{border-color:#c3ff6566}.ending-card.found span{color:var(--warm)}.back-home{color:var(--muted);background:none;border:0;padding:12px 0;font-size:11px}.back-home:hover{color:var(--accent)}.relation-list{margin:34px 0;max-width:760px}.relation-row{display:grid;grid-template-columns:1fr 52px;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}.relation-row b,.relation-row small{display:block}.relation-row b{font:700 20px var(--serif)}.relation-row small{color:var(--muted);font-size:10px;margin-top:7px}.relation-row strong{color:var(--accent);text-align:right;font-size:12px}.relation-row i{grid-column:1/-1;display:block;height:4px;background:#29343c}.relation-row em{display:block;height:100%;background:var(--accent)}.settings-list{max-width:760px;margin:34px 0}.settings-list button{width:100%;display:grid;grid-template-columns:1fr 2fr 20px;gap:20px;align-items:center;text-align:left;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-bottom:0;padding:20px}.settings-list button:last-child{border-bottom:1px solid var(--line)}.settings-list button:hover{background:#c3ff6512;border-color:var(--accent)}.settings-list span{font:700 16px var(--serif)}.settings-list small{color:var(--muted);font-size:10px}.settings-list b{color:var(--accent)}.nav-btn{white-space:nowrap}@media(max-width:800px){.topbar{overflow-x:auto}.home-view,.collection-view{width:calc(100% - 32px);padding:40px 0}.home-view{display:block}.home-status{margin-top:14px}.home-grid{grid-template-columns:repeat(2,1fr);margin-top:14px}.memory-grid,.ending-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.home-hero{padding:24px}.home-hero h1{font-size:42px}.home-actions{flex-direction:column}.home-primary,.home-secondary{width:100%}.home-grid,.memory-grid,.ending-grid{grid-template-columns:1fr}.settings-list button{grid-template-columns:1fr 20px}.settings-list small{grid-column:1/-1;grid-row:2}}
