*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}html,body{overscroll-behavior:none;touch-action:none}body{color:#f3f7ff;-webkit-text-size-adjust:100%;-webkit-overflow-scrolling:auto;background:#060810;width:100%;height:100%;font-family:Inter,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;position:fixed;inset:0}.boot{z-index:200;background:radial-gradient(120% 90% at 50% 40%,#0a0f1a,#04060c 70%);justify-content:center;align-items:center;width:100vw;height:100dvh;min-height:100svh;display:flex;position:fixed;inset:0;overflow:hidden}.boot-inner{text-align:center;flex-direction:column;align-items:center;gap:1.1rem;max-width:min(26rem,100vw - 2rem);display:flex}.boot-label{color:#cfe0f4;letter-spacing:.08em;font-size:.92rem;font-weight:800}.boot-bar{background:#bed7f524;width:min(15rem,52vw);height:2px;position:relative;overflow:hidden}.boot-fill{background:linear-gradient(90deg,#8edbff66,#8edbff);height:100%;transition:width .3s ease-out;position:absolute;top:0;left:0;box-shadow:0 0 10px #8edbff99}.boot-error{color:#ffc6d4;margin:0;font-weight:600;line-height:1.6}:root{--glass-bg:linear-gradient(180deg,#12141a57,#0c0e1475);--glass-bg-strong:linear-gradient(180deg,#10121875,#0a0c1299);--glass-blur:blur(18px) saturate(1.25);--glass-line:#ffffff14;--glass-edge:inset 0 1px 0 #ffffff1a;--glass-shadow:0 12px 40px #00000057;--sprite-drop:min(12vh,7.5rem)}.game-shell{touch-action:none;background:#080c14;width:100vw;height:100dvh;min-height:100svh;position:relative;overflow:hidden}.bg{filter:brightness(.92)saturate(1.05);background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;height:100%;position:absolute;inset:0}.bg-tint{filter:none;background-color:#050912;background-image:radial-gradient(60rem 42rem at 22% 18%,#4866be4d,#0000 62%),radial-gradient(52rem 38rem at 80% 72%,#7e48b242,#0000 64%),radial-gradient(38rem 30rem at 58% 42%,#2884a833,#0000 66%),radial-gradient(1.4px 1.4px at 12% 22%,#ffffffd9,#0000 100%),radial-gradient(1.2px 1.2px at 34% 8%,#d6ecffbf,#0000 100%),radial-gradient(1.3px 1.3px at 68% 16%,#fffc,#0000 100%),radial-gradient(1.1px 1.1px at 84% 34%,#cee6ffb3,#0000 100%),radial-gradient(1.3px 1.3px at 26% 58%,#ffffffb8,#0000 100%),radial-gradient(1.2px 1.2px at 52% 76%,#e0f0ffad,#0000 100%),radial-gradient(1.4px 1.4px at 76% 88%,#ffffffbf,#0000 100%),radial-gradient(1.1px 1.1px at 8% 84%,#d2e8ffa8,#0000 100%),linear-gradient(#070d1c 0%,#050912 52%,#03060d 100%);background-size:140% 140%,140% 140%,140% 140%,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%;animation:96s ease-in-out infinite alternate nebula-drift}.bg-tint:before,.bg-tint:after{content:"";pointer-events:none;position:absolute;inset:-10%}.bg-tint:before{background-image:radial-gradient(2.2px 2.2px at 18% 30%,#fffffff2,#0000 100%),radial-gradient(2px 2px at 62% 12%,#c6e2ffe0,#0000 100%),radial-gradient(2.4px 2.4px at 88% 56%,#ffffffeb,#0000 100%),radial-gradient(2px 2px at 40% 68%,#cee8ffd9,#0000 100%),radial-gradient(2.2px 2.2px at 72% 82%,#ffffffe0,#0000 100%);animation:7.5s ease-in-out infinite star-breathe,150s linear infinite star-drift}.bg-tint:after{filter:blur(.3px);background-image:radial-gradient(3.2px 3.2px at 30% 46%,#fffffffa,#0000 100%),radial-gradient(2.8px 2.8px at 82% 24%,#badcffe6,#0000 100%),radial-gradient(3px 3px at 56% 90%,#fffffff0,#0000 100%);animation:11s ease-in-out infinite reverse star-breathe,230s linear infinite reverse star-drift}@keyframes nebula-drift{0%{background-position:0 0,100% 100%,50%,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0}to{background-position:12% 8%,88% 92%,58% 44%,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0}}@keyframes star-breathe{0%,to{opacity:.55}50%{opacity:1}}@keyframes star-drift{0%{transform:translate(0,0)}to{transform:translate(-3%,1.6%)}}@media (prefers-reduced-motion:reduce){.bg-tint,.bg-tint:before,.bg-tint:after{animation:none}.bg-tint:before,.bg-tint:after{opacity:.85}}.shade{pointer-events:none;background:radial-gradient(circle at 50% 30%,#0000 0 40%,#04081059),linear-gradient(#0000000a,#0000000f 52%,#000000a8);position:absolute;inset:0}.toolbar{z-index:24;top:calc(1.1rem + env(safe-area-inset-top,0px));border:1px solid var(--glass-line);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-edge),var(--glass-shadow);border-radius:1.4rem;align-items:center;gap:.45rem;padding:.4rem .5rem;display:flex;position:absolute;left:50%;transform:translate(-50%)}.tool{color:#e6eefb;cursor:pointer;background:#ffffff0d;border:1px solid #0000;border-radius:.95rem;place-items:center;width:2.5rem;height:2.5rem;transition:background-color .16s,border-color .16s,transform .12s;display:grid}.tool:hover{background:#ffffff21;border-color:#ffffff4d;transform:translateY(-1px)}.tool:disabled{opacity:.5;cursor:not-allowed}.tool-sep{background:#ffffff29;width:1px;height:1.5rem;margin:0 .15rem}.tool.ai{font-size:.86rem;font-weight:800}.tool.ai.on{color:#bdffe2;background:#1c483c6b;border-color:#7dffc666}.tool.ai.thinking{color:#ffe7a5;background:#4a3a1680;border-color:#ffd8806b}.tool.ai.fallback{color:#ffd4e2;background:#4a1c2e80;border-color:#ff7ea866}.tool.ai.off{color:#c7cdd6;background:#282c3480;border-color:#c7cdd652}.tool.ai .off{opacity:.55}.tool.no-track,.tool.no-track:disabled{color:#ffb3c1;opacity:1;cursor:not-allowed;background:#4a142280;border-color:#ff698c73}.tool.no-track:hover{background:#4a142280;border-color:#ff698c73;transform:none}.menu-panel{z-index:30;right:1.1rem;top:calc(4.6rem + env(safe-area-inset-top,0px));border:1px solid var(--glass-line);background:var(--glass-bg-strong);width:min(23rem,100vw - 2rem);max-height:calc(100dvh - 6rem);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-edge),0 24px 64px #00000085;border-radius:1rem;flex-direction:column;gap:.65rem;padding:0;display:flex;position:absolute;overflow:hidden}.panel-head{background:#ffffff09;border-bottom:1px solid #ffffff14;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.75rem .85rem;display:grid}.panel-head strong{text-overflow:ellipsis;white-space:nowrap;color:#f3f6fb;min-width:0;font-size:.94rem;font-weight:850;line-height:1.1;overflow:hidden}.panel-head button{color:#dde4ee;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:.55rem;place-items:center;width:1.8rem;height:1.8rem;font:800 1.05rem/1 inherit;transition:background-color .16s,border-color .16s;display:grid}.panel-head button:hover{background:#ffffff21;border-color:#ffffff42}.actor-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;gap:.42rem;min-height:0;padding:0 1.1rem;display:grid;overflow-y:auto}.actor-list button{text-align:left;color:#fff;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:.85rem;width:100%;padding:.7rem .8rem;transition:border-color .16s,background-color .16s}.actor-list button:hover{background:#ffffff1a;border-color:#ffffff47}.actor-list button.active{background:#4696e13d;border-color:#96dbffcc}.actor-list button span{font-weight:900;display:block}.actor-list button small{color:#aab8cc;margin-top:.2rem;display:block}.meter-board{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:.85rem;gap:.32rem;margin:0 1.1rem;padding:.6rem .7rem;display:grid}.meter-row{color:#d2dceb;justify-content:space-between;align-items:center;gap:.6rem;font-size:.9rem;font-weight:800;display:flex}.meter-row span{flex:none}.meter-bar{background:#ffffff1a;border-radius:999px;flex:auto;min-width:3.5rem;max-width:9rem;height:.42rem;overflow:hidden}.meter-fill{background:linear-gradient(90deg,#ffb347,#ffd880);border-radius:999px;height:100%;transition:width .32s;display:block}.menu-reset{color:#ffd6d6;cursor:pointer;background:#3c121875;border:1px solid #ff96965c;border-radius:.85rem;justify-content:center;align-items:center;gap:.4rem;height:2.6rem;margin:.1rem 1.1rem 1.1rem;font-weight:800;transition:background-color .16s;display:flex}.menu-reset:hover{background:#5a1a2294}.stage{z-index:8;pointer-events:none;place-items:center;display:grid;position:absolute;inset:4.4rem 0 12.4rem}.sprite{bottom:calc(.4rem - var(--sprite-drop));object-fit:contain;object-position:bottom center;filter:drop-shadow(0 26px 42px #0009);opacity:0;max-width:42vw;height:min(66vh,46rem);transition:opacity .22s;position:absolute;left:50%;transform:translate(-50%)}.sprite.is-loaded,.sprite-tint{opacity:1}.sprite-tint{width:min(30vw,22rem);height:min(56vh,38rem);bottom:calc(.4rem - var(--sprite-drop));filter:drop-shadow(0 24px 40px #00000080);border-radius:1.6rem;place-items:center;display:grid}.sprite-tint span{color:#ffffffdb;text-shadow:0 6px 24px #00000080;font-size:7rem;font-weight:900}.think-bubble{z-index:9;left:calc(50% + min(21vw,13rem));bottom:calc(min(46vh,32rem) - var(--sprite-drop));-webkit-backdrop-filter:blur(6px);pointer-events:none;background:#141822d1;border:1px solid #bed7f538;border-radius:1.1rem 1.1rem 1.1rem .3rem;align-items:center;gap:.32rem;padding:.6rem .7rem;animation:.28s both bubble-in;display:flex;position:absolute;box-shadow:0 8px 22px #0006}.think-bubble span{background:#f4f6fad9;border-radius:50%;width:.42rem;height:.42rem;animation:1.2s ease-in-out infinite bubble-dot}.think-bubble span:nth-child(2){animation-delay:.18s}.think-bubble span:nth-child(3){animation-delay:.36s}@keyframes bubble-in{0%{opacity:0;transform:translateY(.4rem)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes bubble-dot{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-.22rem)}}@media (width<=640px){.think-bubble{left:calc(50% + min(28vw,9rem));bottom:calc(min(52vh,26rem) - var(--sprite-drop))}}.stage:after{content:"";z-index:1;pointer-events:none;opacity:0;transition:opacity .28s;position:absolute;inset:0}.stage.mood-warm:after{opacity:.4;background:radial-gradient(circle at 50% 38%,#ffd88042,#0000 24rem)}.stage.mood-tense:after{opacity:.36;background:radial-gradient(circle at 50% 36%,#ff506438,#0000 22rem)}.stage.mood-playful:after{opacity:.3;background:radial-gradient(circle at 46% 34%,#8cd2ff38,#0000 18rem)}.stage.mood-quiet:after{opacity:.24;background:radial-gradient(circle at 50% 36%,#c8ecff24,#0000 22rem)}.dock{z-index:18;left:50%;bottom:calc(1.4rem + env(safe-area-inset-bottom,0px) + var(--keyboard-lift,0px));pointer-events:none;touch-action:none;flex-direction:column;gap:.6rem;width:min(44rem,72vw);transition:bottom .14s;display:flex;position:absolute;transform:translate(-50%)}.dock>*{pointer-events:auto}.choice-float{gap:.5rem;animation:.22s ease-out floatIn;display:grid}.choice-float button{border:1px solid var(--glass-line);background:var(--glass-bg);min-height:2.8rem;-webkit-backdrop-filter:var(--glass-blur);color:#eef1f6;text-align:left;cursor:pointer;box-shadow:var(--glass-edge),var(--glass-shadow);border-radius:.85rem;align-items:center;gap:.65rem;padding:.45rem 1rem;font-weight:700;transition:border-color .14s,background-color .14s,transform .12s;display:flex}.choice-float button:hover{background:var(--glass-bg-strong);border-color:#ffffff38;transform:translateY(-1px)}.choice-float i{color:#e8edf5;background:#ffffff1a;border:1px solid #ffffff1f;border-radius:.5rem;flex:none;place-items:center;width:1.5rem;height:1.5rem;font-size:.72rem;font-style:normal;font-weight:800;display:grid}.choice-float span{line-height:1.3}.dialogue{border:1px solid var(--glass-line);background:var(--glass-bg-strong);width:100%;min-height:8.6rem;max-height:32vh;-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-edge),var(--glass-shadow);border-radius:1rem;grid-template-rows:auto minmax(0,1fr) auto;gap:.5rem;padding:.85rem 1.05rem .9rem;display:grid}.meta{color:#e4e9f2a8;letter-spacing:.01em;align-items:center;gap:.6rem;font-size:.82rem;font-weight:700;display:flex}.meta .name{color:#f3f6fb;white-space:nowrap;font-weight:800}.meta .pager{opacity:.5;align-items:center;gap:.3rem;margin-left:auto;transition:opacity .16s;display:flex}.dialogue:hover .meta .pager,.meta .pager:hover{opacity:.85}.meta .pager button{color:#dde4ee;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:.45rem;width:1.6rem;height:1.6rem;font-size:1.15rem;line-height:1}.meta .pager button:disabled{opacity:.3}.text{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-width:none;color:#f4f6fa;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;cursor:pointer;text-shadow:0 1px 8px #0006;background:0 0;border:0;width:100%;min-height:3rem;max-height:100%;padding:.1rem .2rem;font-family:inherit;font-size:clamp(.98rem,1.18vw,1.16rem);font-weight:500;line-height:1.76;display:block;position:relative;overflow-y:auto}.text::-webkit-scrollbar{display:none}.text:focus-visible{outline-offset:.15rem;border-radius:.4rem;outline:2px solid #fff6}.caret{vertical-align:-.16em;background:#fffc;width:.1rem;height:1.05em;margin-left:.06rem;animation:.7s step-end infinite blink;display:inline-block}.text.done .caret{display:none}.text.done:after{content:"›";color:#fff6;font-size:1.3rem;font-weight:900;animation:1.1s ease-in-out infinite nudge;position:absolute;bottom:-.1rem;right:.2rem}.thinking-line{color:#f4f6fac7;font-weight:600}.thinking-line .dots{background:radial-gradient(circle,#f4f6fac7 35%,#0000 40%) 0/33% 100%;width:1.4rem;height:.35rem;margin-left:.3rem;animation:.9s steps(3,end) infinite dots;display:inline-block}.input-row{touch-action:manipulation;align-items:center;gap:.55rem;padding-top:.1rem;display:flex}.input-row input{color:#fff;touch-action:manipulation;appearance:none;background:#00000038;border:1px solid #ffffff1a;border-radius:.7rem;outline:none;flex:1;min-width:0;height:2.5rem;padding:0 .95rem;font-family:inherit;font-size:16px;font-weight:500;line-height:1;transition:border-color .16s,background-color .16s;transform:translateZ(0)}.input-row input::placeholder{color:#d2d9e46b}.input-row input:focus{background:#0000004d;border-color:#ffffff4d}.input-row .input-hint{color:#d2d9e466;letter-spacing:.02em;white-space:nowrap;flex:none;font-size:.74rem;font-weight:600}.input-row .send{color:#eef1f6;cursor:pointer;background:#ffffff14;border:1px solid #ffffff24;border-radius:.7rem;flex:none;place-items:center;width:2.5rem;height:2.5rem;line-height:0;transition:background-color .16s,border-color .16s,transform .12s;display:grid}.input-row .send:hover:not(:disabled){background:#ffffff29;border-color:#ffffff47;transform:translateY(-1px)}.input-row .send:disabled{opacity:.32;cursor:not-allowed}.toast{z-index:40;background:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-edge),var(--glass-shadow);color:#eef1f6;border:1px solid #ffffff24;border-radius:.7rem;padding:.5rem 1.1rem;font-weight:700;animation:.2s ease-out toastIn;position:absolute;top:4.6rem;left:50%;transform:translate(-50%)}.turn-log-panel{z-index:32;right:1.1rem;top:calc(4.6rem + env(safe-area-inset-top,0px));bottom:calc(11.8rem + env(safe-area-inset-bottom,0px));border:1px solid var(--glass-line);background:var(--glass-bg-strong);width:min(25rem,100vw - 2rem);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-edge),0 24px 64px #00000085;border-radius:1rem;grid-template-rows:auto minmax(0,1fr);animation:.18s ease-out floatIn;display:grid;position:absolute;overflow:hidden}.log-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-width:none;align-content:start;gap:.62rem;min-height:0;padding:.75rem;display:grid;overflow-y:auto}.log-list::-webkit-scrollbar{display:none}.log-card{background:#0003;border:1px solid #ffffff14;border-radius:.82rem;gap:.44rem;padding:.72rem .78rem;display:grid;box-shadow:inset 0 1px #ffffff0d}.log-meta{color:#d2d9e48c;align-items:center;gap:.45rem;min-width:0;font-size:.72rem;font-weight:800;display:flex}.log-meta b{color:#f3f6fb;background:#ffffff17;border-radius:.42rem;flex:none;place-items:center;width:1.55rem;height:1.35rem;font-size:.66rem;display:grid}.log-meta span{color:#f3f6fb;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.log-meta em{color:#9fc4e8;white-space:nowrap;text-overflow:ellipsis;max-width:10rem;margin-left:auto;font-style:normal;overflow:hidden}.log-card p{overflow-wrap:anywhere;word-break:break-word;margin:0}.log-player{color:#f3f6fb;font-size:.82rem;font-weight:700;line-height:1.48}.log-response{color:#cbd6e5;-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:.8rem;line-height:1.58;display:-webkit-box;overflow:hidden}.log-empty{color:#d2d9e499;text-align:center;border:1px dashed #ffffff24;border-radius:.82rem;align-self:start;padding:1rem;font-size:.84rem;font-weight:700;line-height:1.55}@keyframes blink{50%{opacity:0}}@keyframes nudge{0%,to{opacity:.4;transform:translate(0)}50%{opacity:.85;transform:translate(3px)}}@keyframes dots{0%{clip-path:inset(0 70% 0 0)}50%{clip-path:inset(0 35% 0 0)}to{clip-path:inset(0)}}@keyframes floatIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.game-shell.keyboard-open .stage{inset:3.4rem 0 12.2rem}.game-shell.keyboard-open .dialogue{max-height:min(38vh,17rem)}@media (width<=900px){.toolbar{top:calc(.7rem + env(safe-area-inset-top,0px));gap:.35rem;padding:.32rem .4rem}.tool{width:2.3rem;height:2.3rem}.stage{inset:6.6rem 0 12rem}:root{--sprite-drop:min(8vh,4.6rem)}.sprite{max-width:72vw;height:56vh}.sprite-tint{width:60vw;height:48vh}.sprite-tint span{font-size:4.5rem}.dock{left:.7rem;right:.7rem;bottom:calc(.7rem + env(safe-area-inset-bottom,0px) + var(--keyboard-lift,0px));width:auto;transform:none}.choice-float{animation:.22s ease-out floatIn}.dialogue{border-radius:.9rem;min-height:8.4rem;max-height:min(34vh,18rem)}.input-row .input-hint{display:none}.menu-panel{width:auto;left:.7rem;right:.7rem}.turn-log-panel{left:.7rem;right:.7rem;top:calc(3.7rem + env(safe-area-inset-top,0px));bottom:calc(10.8rem + env(safe-area-inset-bottom,0px));border-radius:.9rem;width:auto}.panel-head{padding:.62rem .7rem}.panel-head strong{font-size:.86rem}.log-card{padding:.62rem .68rem}.log-response{-webkit-line-clamp:3}.log-meta em{max-width:7rem}.game-shell.keyboard-open .turn-log-panel{display:none}.game-shell.keyboard-open .stage{inset:3.4rem 0 12.2rem}.game-shell.keyboard-open .dialogue{max-height:min(38vh,17rem)}}.identity-screen{color:#e9efe9;background:#070b0d;place-items:center;padding:2rem;display:grid;position:fixed;inset:0;overflow:auto}.identity-backdrop{background:radial-gradient(circle at 50% 25%,#4375654d,#0000 36%),linear-gradient(135deg,#0d1615,#050708 70%);position:absolute;inset:0}.identity-card{background:#0a1110e0;border:1px solid #d6be7f5c;width:min(32rem,100%);padding:clamp(1.6rem,5vw,3rem);position:relative;box-shadow:0 28px 90px #00000080}.identity-kicker{color:#cbb675;letter-spacing:.18em;font-size:.68rem;font-weight:900}.identity-card h1{margin:1rem 0 .6rem;font-family:Georgia,serif;font-size:clamp(1.8rem,5vw,2.8rem);font-weight:500;line-height:1.1}.identity-card p{color:#aabbb1;margin:0 0 1.7rem;line-height:1.7}.identity-card form{gap:1rem;display:grid}.identity-card label{color:#d4dfd8;letter-spacing:.04em;gap:.42rem;font-size:.76rem;font-weight:800;display:grid}.identity-card input,.identity-card select{color:#f1f4ee;height:2.8rem;font:inherit;background:#101b19;border:1px solid #d6be7f3d;border-radius:.2rem;outline:none;padding:0 .8rem}.identity-card input:focus,.identity-card select:focus{border-color:#d6bd78}.identity-grid{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.identity-submit{color:#111713;cursor:pointer;background:#cdb775;border:1px solid #cdb775;justify-content:space-between;align-items:center;height:3.1rem;margin-top:.5rem;padding:0 1rem;font-weight:900;display:flex}.identity-submit:hover{background:#ead89b}.lang-switch{color:#9eb9aa;cursor:pointer;background:0 0;border:0;margin:1.3rem auto 0;font-weight:800;display:block}.archive-panel{z-index:31;left:1.1rem;top:calc(4.6rem + env(safe-area-inset-top,0px));background:linear-gradient(#08110ff5,#060c0bfa);border:1px solid #cdb7755c;width:min(34rem,100vw - 2rem);max-height:calc(100dvh - 6rem);position:absolute;overflow:hidden;box-shadow:0 24px 64px #00000085}.archive-tabs{border-bottom:1px solid #cdb77529;grid-template-columns:repeat(3,1fr);gap:.35rem;padding:.7rem;display:grid}.archive-tabs button{color:#9cb2a6;font:inherit;cursor:pointer;background:#ffffff09;border:1px solid #cdb77529;padding:.55rem .3rem;font-size:.75rem;font-weight:800}.archive-tabs button.active{color:#f3e5b2;background:#cdb7751f;border-color:#cdb775}.archive-content{padding:.9rem}.archive-caption{color:#d8c27f;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.7rem;font-size:.7rem;font-weight:900;display:block}.archive-list{gap:.5rem;display:grid}.archive-list b{color:#eef2ed;background:#ffffff09;border:1px solid #cdb77529;padding:.65rem .7rem;font-size:.82rem}.archive-list b.locked{color:#6f8177}.relation-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.relation-grid b{text-align:center;color:#899c91;border:1px solid #cdb77529;padding:.75rem .5rem;font-size:.9rem}.relation-grid b.relation-main{color:#ead99f;border-color:#cdb775}.relation-grid small{font-size:.63rem;font-weight:600}@media (width<=640px){.identity-screen{padding:1rem}.identity-card{padding:1.4rem}.archive-panel{width:auto;left:.7rem;right:.7rem}.input-row .input-hint{display:none}}.identity-rail{z-index:20;color:#edf2ec;pointer-events:none;flex-direction:column;justify-content:space-between;width:13.5rem;padding:1rem 0;display:flex;position:absolute;top:1.6rem;bottom:13.6rem;left:1.8rem}.rail-mark{color:#e8d590;letter-spacing:.1em;border:1px solid #cdb775;place-items:center;width:2.35rem;height:2.35rem;font:700 .75rem/1 Georgia,serif;display:grid}.rail-copy{border-top:1px solid #cdb77559;gap:.22rem;padding-top:1.2rem;display:grid}.rail-copy span{color:#cdb775;letter-spacing:.16em;text-transform:uppercase;font-size:.65rem;font-weight:900}.rail-copy strong{font:500 1.35rem/1.05 Georgia,serif}.rail-copy small{color:#9aac9f;font-size:.72rem}.chapter-stamp{border-left:2px solid #cdb775;gap:.35rem;padding:.1rem 0 .1rem .75rem;display:grid}.chapter-stamp span{color:#cdb775;letter-spacing:.16em;font-size:.62rem;font-weight:900}.chapter-stamp b{font:500 1.05rem/1.15 Georgia,serif}.chapter-stamp small{color:#9aac9f;font-size:.72rem;line-height:1.35}.story-index{z-index:16;color:#e5d9abcc;letter-spacing:.1em;align-items:center;gap:.45rem;font:700 .65rem/1 Inter,sans-serif;display:flex;position:absolute;top:7rem;right:1.8rem}.story-index i{background:#cdb77566;width:2.5rem;height:1px}.sprite{max-width:42vw;height:min(67vh,47rem)}.dock{align-items:stretch;gap:.5rem;width:auto;bottom:1.4rem;left:16.4rem;right:3rem;transform:none}.choice-float{grid-template-columns:repeat(3,1fr);gap:.55rem}.choice-float button{min-height:2.35rem;box-shadow:none;background:#08100f9e;border-color:#cdb77547;border-radius:.25rem;padding:.35rem .7rem}.choice-float button:hover{background:#34402fc7;border-color:#cdb775}.choice-float i{color:#cdb775;background:0 0;border-color:#cdb77573;border-radius:0;width:1.2rem;height:1.2rem}.dialogue{background:linear-gradient(#0c1614d6,#070d0deb);border-color:#cdb77557;border-radius:.25rem;min-height:7.3rem;max-height:25vh;box-shadow:0 16px 40px #0006}.dialogue .meta{color:#9aac9f}.dialogue .meta .name{color:#e8d590}.input-row input{background:#0000004d;border-radius:.2rem}.input-row .send{color:#111713;background:#cdb775;border-radius:.2rem}.toolbar{box-shadow:none;background:#08100fa8;border-color:#cdb77547;border-radius:.25rem;top:1.2rem;left:auto;right:1.8rem;transform:none}.tool{border-radius:.25rem}.menu-panel{border-color:#cdb7754d;border-radius:.25rem;top:4.5rem;right:1.8rem}.archive-panel{border-radius:.25rem;top:4.5rem;left:auto;right:1.8rem}.archive-tabs button{border-radius:.15rem}.turn-log-panel{border-radius:.25rem;top:4.5rem;bottom:9.5rem;right:1.8rem}@media (width<=900px){.identity-rail{width:auto;padding:0;display:block;top:4.2rem;bottom:auto;left:1rem}.rail-mark{display:none}.rail-copy{border:0;align-items:baseline;gap:.55rem;padding:0;display:flex}.rail-copy strong{font-size:1.05rem}.rail-copy small{font-size:.65rem}.chapter-stamp{display:none}.story-index{top:7.1rem;right:1rem}.stage{inset:7.1rem 0 11.8rem}.dock{left:.7rem;right:.7rem;bottom:calc(.7rem + env(safe-area-inset-bottom,0px) + var(--keyboard-lift,0px))}.choice-float{grid-template-columns:1fr}.dialogue{max-height:28vh}.toolbar{top:.7rem;right:.7rem}.archive-panel,.menu-panel,.turn-log-panel{top:4rem;right:.7rem}}.toolbar{border-radius:.35rem;flex-direction:column;gap:.35rem;padding:.45rem .35rem;top:50%;left:auto;right:1.5rem;transform:translateY(-50%)}.tool-sep{width:1.5rem;height:1px;margin:.15rem 0}.archive-panel{animation:.2s ease-out drawer-right;top:50%;right:5.1rem;transform:translateY(-50%)}.archive-panel.from-left{animation:.2s ease-out drawer-left;left:5.1rem;right:auto}.menu-panel{top:50%;right:5.1rem;transform:translateY(-50%)}.turn-log-panel{height:min(65vh,38rem);top:50%;bottom:auto;right:5.1rem}.left-drawer-nav{pointer-events:auto;gap:.55rem;display:grid}.left-drawer-nav button{color:#92a69a;text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #cdb7752e;grid-template-columns:1.7rem 1fr;align-items:center;gap:.45rem;padding:.5rem 0;font:700 .7rem/1.1 Inter,sans-serif;display:grid}.left-drawer-nav button span{color:#cdb775;font-size:1rem}.left-drawer-nav button.active,.left-drawer-nav button:hover,.left-drawer-nav button.active span{color:#f0e3ae}.story-index{top:1.8rem;right:5.8rem}@keyframes drawer-right{0%{opacity:0;transform:translate(10px,-50%)}to{opacity:1;transform:translateY(-50%)}}@keyframes drawer-left{0%{opacity:0;transform:translate(-10px,-50%)}to{opacity:1;transform:translateY(-50%)}}@media (width<=900px){.toolbar{padding:.35rem .28rem;top:50%;right:.7rem;transform:translateY(-50%)}.story-index{top:1rem;right:4.2rem}.left-drawer-nav{z-index:21;gap:.25rem;position:fixed;top:50%;left:.7rem;transform:translateY(-50%)}.left-drawer-nav button{grid-template-columns:1.5rem;justify-items:center;padding:.38rem 0}.left-drawer-nav button:not(:hover):not(.active){font-size:0}.left-drawer-nav button span{font-size:1rem}.archive-panel,.archive-panel.from-left{width:min(20rem,100vw - 5rem);top:50%;left:auto;right:3.8rem;transform:translateY(-50%)}.menu-panel,.turn-log-panel{top:50%;bottom:auto;right:3.8rem}.stage{inset:7.1rem 2.8rem 11.8rem}.dock{left:2.8rem;right:2.8rem}.identity-rail{left:3rem}}.archive-panel.map-expanded{width:min(48rem,100vw - 12rem);padding-bottom:.4rem}.archive-panel.relations-expanded{width:min(38rem,100vw - 12rem)}.map-expanded .map-view{aspect-ratio:16/9}.relations-expanded .relation-grid{grid-template-columns:repeat(4,1fr);gap:.8rem}.relations-expanded .relation-grid b{place-content:center;gap:.4rem;min-height:8rem;font-size:1.2rem;display:grid}.relations-expanded .relation-grid small{font-size:.72rem}.home-tool{line-height:1;color:#d9c47f!important;font-size:1.45rem!important}.home-tool:hover{background:#cdb77529!important}@media (width<=900px){.archive-panel.map-expanded,.archive-panel.relations-expanded{width:min(34rem,100vw - 5rem)}.relations-expanded .relation-grid{grid-template-columns:repeat(2,1fr)}}.stage{inset:3.8rem 3rem 9.2rem 16.4rem}.sprite{max-width:50vw;height:min(82vh,58rem);bottom:calc(-2.5rem - var(--sprite-drop));filter:drop-shadow(0 20px 34px #0000009e);transform-origin:50% 82%;animation:5.4s ease-in-out infinite sprite-live}.shade{background:radial-gradient(circle at 54% 36%,#0000 0 30%,#04081047),linear-gradient(#00000008,#00000014 56%,#000000b8)}.bg{filter:brightness(.82)saturate(.92)}.dialogue{min-height:6.7rem;max-height:22vh}.map-view{border-color:#cdb7756b}@media (width<=900px){.stage{inset:6.8rem 2.8rem 10.5rem}.sprite{max-width:78vw;height:min(76vh,46rem);bottom:calc(-1.8rem - var(--sprite-drop))}.dialogue{min-height:7.5rem;max-height:25vh}}.title-screen{color:#eff3ed;background:#07100f;flex-direction:column;justify-content:center;padding:clamp(2rem,8vw,7rem);display:flex;position:fixed;inset:0;overflow:hidden}.title-scene{object-fit:cover;object-position:center;filter:brightness(.52)saturate(.72);width:100%;height:100%;animation:18s ease-in-out infinite alternate title-scene-drift;position:absolute;inset:0}.title-scene.hero-title-scene{object-position:62% 42%;filter:brightness(.6)saturate(.78)contrast(1.02)}.title-atmosphere{pointer-events:none;background:linear-gradient(90deg,#040c0bf5 0%,#040c0bbd 34%,#040c0b47 63%,#040c0b80 100%),linear-gradient(#050c0c57,#0000 46%,#030808d6);position:absolute;inset:0}.title-player-live{z-index:1;color:#dac783;letter-spacing:.12em;text-transform:uppercase;justify-items:center;gap:.35rem;font:600 .68rem/1 Inter,sans-serif;animation:4.8s ease-in-out infinite live2d-float;display:grid;position:absolute;bottom:-3%;right:8%}.title-player-live:before{content:"";pointer-events:none;border:1px solid #cdb77542;border-radius:50%;position:absolute;inset:9% -9% 13%;box-shadow:0 0 2rem #cdb7751f}.title-player-live img{object-fit:cover;border:1px solid #dcc784b8;border-radius:50%;width:clamp(11rem,23vw,21rem);height:clamp(11rem,23vw,21rem);animation:4.8s ease-in-out infinite live2d-breathe;position:relative;box-shadow:0 0 0 .7rem #cdb7750f,0 22px 50px #0009}.title-player-live span{position:relative}.title-screen:before{z-index:2;content:"";aspect-ratio:1;border:1px solid #cdb7753d;border-radius:50%;width:min(55vw,42rem);position:absolute;top:-18vw;right:-12vw;box-shadow:0 0 0 5rem #cdb77506,0 0 0 10rem #cdb77505}.title-screen:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0 58%,#cdb7750f 58.1%,#0000 58.2%),linear-gradient(0deg,#0000 0 76%,#cdb7750a 76.1%,#0000 76.2%);position:absolute;inset:0}.title-ornament{color:#d6bd78;opacity:.75;font-size:clamp(3rem,8vw,8rem);font-weight:300;position:absolute;top:20%;right:14vw}.title-copy,.title-actions,.title-language,.title-credit{z-index:1;position:relative}.title-kicker{color:#cdb775;letter-spacing:.24em;font-size:.68rem;font-weight:900}.title-copy h1{letter-spacing:.01em;margin:1.1rem 0 .8rem;font:500 clamp(3.4rem,9vw,7.5rem)/.84 Georgia,serif}.title-copy h1 em{color:#d5c17e;font-style:italic}.title-copy p{color:#aabdaf;max-width:28rem;margin:0;font:400 1rem/1.8 Georgia,serif}.title-actions{align-items:center;gap:1rem;margin-top:2.5rem;display:flex}.title-primary{color:#111814;cursor:pointer;background:#d4bc78;border:1px solid #d4bc78;justify-content:space-between;align-items:center;gap:4rem;min-width:14rem;padding:.95rem 1rem;font-weight:900;display:flex}.title-primary:hover{background:#efdda0}.title-primary span{font-size:1.3rem}.title-secondary{color:#aabdaf;cursor:pointer;background:0 0;border:0;font-weight:800}.title-secondary:hover{color:#f0e3ae}.title-language{color:#cdb775;letter-spacing:.15em;cursor:pointer;background:0 0;border:0;font-size:.7rem;font-weight:900;position:absolute;bottom:4.5rem;right:clamp(2rem,8vw,7rem)}.title-credit{color:#71877a;letter-spacing:.12em;font-size:.64rem;font-weight:800;position:absolute;bottom:4.5rem;left:clamp(2rem,8vw,7rem)}@media (width<=640px){.title-screen{padding:2rem}.title-screen:before{top:-15vw;right:-42vw}.title-ornament{font-size:4rem;top:17%;right:12vw}.title-copy h1{font-size:clamp(3.2rem,18vw,5rem)}.title-copy p{max-width:19rem;font-size:.9rem}.title-actions{justify-items:start;gap:1rem;margin-top:2rem;display:grid}.title-primary{min-width:12.5rem}.title-language,.title-credit{bottom:2rem}.title-credit{font-size:.56rem}.title-language{right:2rem}}.map-view{aspect-ratio:16/9;background:#15231d;border:1px solid #cdb77552;position:relative;overflow:hidden}.map-view img{object-fit:cover;filter:saturate(.78)contrast(.92)brightness(.78);width:100%;height:100%;display:block}.map-pin{color:#e8d590;text-shadow:0 1px 5px #07100d;cursor:pointer;background:0 0;border:0;justify-items:center;gap:.12rem;font:900 .78rem/1 Inter,sans-serif;display:grid;position:absolute;transform:translate(-50%,-50%)}.map-pin:before{content:"";border:1px solid #e8d590b8;border-radius:50%;width:1.6rem;height:1.6rem;animation:2.4s ease-in-out infinite map-pulse;position:absolute;box-shadow:0 0 0 .25rem #cdb7751f}.map-pin span{white-space:nowrap;margin-top:1.8rem;font-size:.57rem;position:relative}.map-pin.locked{color:#6d7c70;filter:grayscale();opacity:.72}.map-pin.locked:before{box-shadow:none;border-color:#8296896b;animation:none}.pin-castle{top:46%;left:49%}.pin-library{top:31%;left:65%}.pin-lake{top:78%;left:55%}.pin-forest{top:22%;left:78%}.pin-owl{top:65%;left:14%}.pin-greenhouse{top:24%;left:66%}.pin-pitch{top:48%;left:84%}@keyframes map-pulse{0%,to{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1.12)}}.relation-network{touch-action:none;background:radial-gradient(circle at 50% 48%,#486f5838,#0000 35%),linear-gradient(145deg,#0a1512,#101d1b 58%,#09100e);border:1px solid #cdb77552;height:clamp(22rem,52vh,34rem);position:relative;overflow:hidden}.relation-lines{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.relation-lines line{stroke:#cdb77557;stroke-width:.45px;stroke-dasharray:2 1.6;animation:4s linear infinite relation-flow}.relation-lines g.is-focus line{stroke:#e8d590;stroke-width:.8px}.relation-lines text{fill:#c6d5c9a6;letter-spacing:.1px;font:600 2.4px Inter,sans-serif}.relation-lines g.is-focus text{fill:#f0e3ae}.relation-node{z-index:2;color:#d9e4dc;cursor:grab;touch-action:none;background:#0a1612f0;border:1px solid #96b19d7a;border-radius:50%;align-content:center;place-items:center;gap:.18rem;width:5.8rem;height:5.8rem;padding:.35rem;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 10px 24px #0000004d}.relation-node:active{cursor:grabbing}.relation-node:hover,.relation-node.selected{border-color:#d8c27f;transform:translate(-50%,-50%)scale(1.06);box-shadow:0 0 0 .35rem #cdb7751a,0 14px 28px #0006}.relation-node span,.relation-node img{border:1px solid;border-radius:50%;place-items:center;width:2.1rem;height:2.1rem;font:900 .72rem/1 Inter,sans-serif;display:grid}.relation-node img{object-fit:cover;object-position:top center;background:#12211b}.relation-node b{font:700 .7rem/1 Inter,sans-serif}.relation-node small{color:#8da495;white-space:nowrap;font-size:.55rem}.relation-node.core{color:#f0e3ae;border-color:#d8c27f;width:8.5rem;height:8.5rem}.relation-node.core span,.relation-node.core img{width:3.1rem;height:3.1rem;font-size:1rem}.relation-node.core b{font-size:.9rem}.relation-node.ally{border-color:#83a9bd}.relation-detail{background:#cdb77512;border-left:2px solid #cdb775;gap:.3rem;margin-top:.7rem;padding:.7rem .8rem;display:grid}.relation-detail span{color:#cdb775;letter-spacing:.16em;font-size:.6rem;font-weight:900}.relation-detail b{color:#d9e4dc;font-size:.78rem;line-height:1.4}@keyframes relation-flow{to{stroke-dashoffset:-12px}}.profile-section-label{color:#cdb775;letter-spacing:.14em;margin:.2rem 1.1rem .35rem;font-size:.58rem;font-weight:900}.player-appearance{background:#ffffff09;border:1px solid #cdb77538;align-items:center;gap:.65rem;margin:0 1.1rem .65rem;padding:.55rem .65rem;display:flex}.player-appearance img{object-fit:cover;border:1px solid #cdb775;border-radius:50%;width:3rem;height:3rem}.player-appearance div{gap:.18rem;display:grid}.player-appearance b{color:#f0e3ae;font:500 1rem/1 Georgia,serif}.player-appearance small{color:#9eafa4;font-size:.65rem}.player-profile-card{background:#cdb7750f;border:1px solid #cdb77547;grid-template-columns:3.4rem 1fr;align-items:center;gap:.75rem;margin:0 1.1rem .7rem;padding:.75rem;display:grid}.player-profile-card img{object-fit:cover;border:1px solid #cdb775;border-radius:50%;width:3.4rem;height:3.4rem}.player-profile-card div{gap:.22rem;min-width:0;display:grid}.player-profile-card span,.expression-picker>span{color:#cdb775;letter-spacing:.12em;font-size:.58rem;font-weight:900}.player-profile-card strong{color:#f0e3ae;font:500 1.15rem/1 Georgia,serif}.player-profile-card small{color:#aabdaf;font-size:.68rem;line-height:1.35}.expression-picker{border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff14;margin:0 1.1rem .8rem;padding:.65rem .7rem}.expression-picker>div{flex-wrap:wrap;gap:.35rem;margin-top:.5rem;display:flex}.expression-picker button{color:#aabdaf;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;padding:.38rem .5rem;font:700 .68rem/1 Inter,sans-serif}.expression-picker button.active,.expression-picker button:hover{color:#f0e3ae;background:#cdb7751f;border-color:#cdb775}.mini-album{grid-template-columns:1fr 1fr;gap:.5rem;margin:0 1.1rem .75rem;display:grid}.mini-album div{color:#1b251f;background:#d6c9a9;gap:.3rem;padding:.3rem;display:grid;transform:rotate(-1deg)}.mini-album div:nth-child(2){transform:rotate(1deg)}.mini-album img{object-fit:cover;width:100%;height:3.2rem}.mini-album small{font:700 .58rem/1.1 Georgia,serif}.album-label{margin-top:.45rem}.relationship-progress{grid-template-columns:repeat(2,1fr);gap:.55rem;margin:.1rem 0 .8rem;display:grid}.relationship-card{text-align:left;color:#d9e4dc;cursor:pointer;background:#ffffff09;border:1px solid #96b19d40;gap:.45rem;padding:.55rem;display:grid}.relationship-card:hover,.relationship-card.draco{background:#cdb77512;border-color:#cdb7759e}.relationship-head{align-items:center;gap:.45rem;min-width:0;display:flex}.relationship-head img,.relationship-lock{object-fit:cover;object-position:top center;color:#cdb775;background:#14221c;border:1px solid #cdb775;border-radius:50%;flex:none;place-items:center;width:2.35rem;height:2.35rem;font-size:1rem;display:grid}.relationship-head span:not(.relationship-lock){gap:.16rem;min-width:0;display:grid}.relationship-head b{text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.relationship-head small{color:#91a298;font-size:.57rem}.relationship-bar{background:#ffffff1a;height:.28rem;overflow:hidden}.relationship-bar i{background:linear-gradient(90deg,#7b9d88,#d6bc71);height:100%;transition:width .3s;display:block}.relationship-card.locked{opacity:.6}.relationship-card.locked .relationship-bar i{background:#617169}.identity-rail{pointer-events:none}.identity-rail .rail-copy,.identity-rail .chapter-stamp{display:none}.player-avatar{z-index:25;cursor:pointer;background:#13201c;border:1px solid #d3bd78;border-radius:50%;width:4.1rem;height:4.1rem;padding:0;position:absolute;top:1.5rem;left:1.7rem;overflow:hidden;box-shadow:0 0 0 .35rem #cdb7751a,0 10px 24px #00000059}.player-avatar img{object-fit:cover;width:100%;height:100%;display:block}.player-avatar span{color:#ebd793;background:#0b1713;border:1px solid #d3bd78;border-radius:50%;place-items:center;width:1.35rem;height:1.35rem;font:900 .65rem/1 Inter,sans-serif;display:grid;position:absolute;bottom:-.1rem;right:-.15rem}.player-avatar:hover{box-shadow:0 0 0 .5rem #cdb7751f,0 10px 24px #0006}.route-toast{z-index:42;right:1.6rem;bottom:calc(11rem + env(safe-area-inset-bottom,0px));background:#08110fe0;border:1px solid #cdb7757a;gap:.28rem;min-width:13rem;padding:.72rem .8rem;animation:.22s ease-out route-toast-in;display:grid;position:absolute;box-shadow:0 14px 34px #00000061}.route-toast span{color:#cdb775;letter-spacing:.16em;font-size:.58rem;font-weight:900}.route-toast b{color:#eef3ec;font:500 .78rem/1.35 Georgia,serif}@keyframes route-toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes sprite-live{0%,to{transform:translate(-50%)rotate(-.25deg)}50%{transform:translate(-50%,-8px)rotate(.35deg)}}@media (width<=900px){.route-toast{right:.8rem;bottom:calc(12rem + env(safe-area-inset-bottom,0px));min-width:11rem}}.photo-album{grid-template-columns:repeat(2,1fr);gap:.7rem;display:grid}.photo-card{color:#e6ece5;box-shadow:none;background:#ffffff0a;border:1px solid #cdb7753d;gap:.35rem;padding:.45rem;display:grid}.photo-card img{aspect-ratio:1.35;object-fit:cover;filter:saturate(.7)brightness(.82);width:100%;display:block}.photo-card b{color:#f0e3ae;font:700 .72rem/1.15 Georgia,serif}.photo-card small{color:#9fb0a5;font-size:.58rem;line-height:1.25}.photo-card.locked{color:#829288;background:#ffffff08;place-items:center;min-height:9rem}.photo-card.locked div{color:#cdb775;font-size:2rem}.photo-card.locked b,.photo-card.locked small{justify-self:stretch}@media (width<=900px){.player-avatar{width:3.2rem;height:3.2rem;top:1rem;left:1rem}.identity-rail{left:4.8rem}.left-drawer-nav{top:50%}}.menu-panel{border-color:#cdb77561;width:min(34rem,100vw - 9rem);animation:.2s ease-out profile-slide;top:1.45rem;left:6.4rem;right:auto;transform:none}.audio-dock{z-index:24;right:5.6rem;bottom:calc(8.4rem + env(safe-area-inset-bottom,0px));color:#d9c47f;cursor:pointer;background:#08100fb8;border:1px solid #cdb77566;border-radius:.3rem;place-items:center;width:2.35rem;height:2.35rem;display:grid;position:absolute}.audio-dock:hover{background:#cdb77526}@keyframes profile-slide{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes title-scene-drift{0%{transform:scale(1)}to{transform:scale(1.055)translate(-1.2%,.5%)}}@keyframes live2d-float{0%,to{transform:translate(0,0)rotate(-.4deg)}50%{transform:translateY(-10px)rotate(.4deg)}}@keyframes live2d-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.025)}}@media (prefers-reduced-motion:reduce){.title-scene,.title-player-live,.title-player-live img,.sprite{animation:none}}.school-map-screen{color:#f0f3ea;background:#07100f;position:fixed;inset:0;overflow:hidden}.school-map-bg{object-fit:cover;filter:saturate(.75)brightness(.66)sepia(.08);width:100%;height:100%;position:absolute;inset:0}.school-map-shade{background:linear-gradient(90deg,#050b0ae6,#050b0a61 50%,#050b0aad),linear-gradient(#050b0a7a,#050b0a1f 55%,#050b0ad1);position:absolute;inset:0}.school-map-header{z-index:2;max-width:32rem;position:absolute;top:clamp(2rem,7vh,5rem);left:clamp(2rem,6vw,5rem)}.school-map-header span{color:#cdb775;letter-spacing:.2em;font-size:.62rem;font-weight:900}.school-map-header h1{margin:.6rem 0 .45rem;font:500 clamp(2rem,5vw,4.2rem)/1 Georgia,serif}.school-map-header p{color:#b1c0b5;margin:0;font:400 .9rem/1.7 Georgia,serif}.school-event-pins{z-index:2;position:absolute;inset:0}.school-event-pin{color:#e8d590;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#08110fb3;border:1px solid #cdb7757a;justify-items:center;gap:.18rem;padding:.65rem .7rem;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 10px 30px #0000004d}.school-event-pin span{font-size:1rem}.school-event-pin b{white-space:nowrap;font:700 .72rem/1 Inter,sans-serif}.school-event-pin small{color:#9cab9f;font-size:.58rem}.school-event-pin.open{background:#0d1814db;border-color:#e6d28c}.school-event-pin.open:after{content:"";border:1px solid #e6d28c38;animation:2.5s ease-in-out infinite map-pulse;position:absolute;inset:-.45rem}.school-event-pin.locked{filter:grayscale(.8);opacity:.6}.school-event-pin:first-of-type{top:46%;left:48%}.school-event-pin:nth-of-type(2){top:31%;left:66%}.school-event-pin:nth-of-type(3){top:78%;left:55%}.school-map-home{z-index:2;color:#e8d590;cursor:pointer;background:#08110fc7;border:1px solid #cdb77580;padding:.7rem .9rem;font-weight:800;position:absolute;bottom:clamp(2rem,7vh,4.5rem);right:clamp(2rem,6vw,5rem)}.school-map-home:hover{background:#cdb77526}@media (width<=700px){.school-map-header{top:1.5rem;left:1.4rem;right:1.4rem}.school-event-pin{padding:.5rem .55rem}.school-event-pin b{font-size:.62rem}.school-map-home{bottom:1.4rem;right:1.4rem}}.castle-pin{top:38%;left:47%}.castle-map-screen .school-map-bg{object-position:center}.castle-interior-bg{object-fit:cover;filter:saturate(.62)brightness(.72)sepia(.2)contrast(1.06)!important}.identity-orbs{gap:.35rem;margin-bottom:.8rem;display:grid}.identity-orbs span{color:#cdb775;letter-spacing:.16em;font-size:.58rem;font-weight:900}.identity-orbs div{flex-wrap:wrap;gap:.6rem;display:flex}.identity-orbs button{color:#eef3ec;cursor:pointer;background:#07100eb8;border:1px solid #cdb77561;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .6rem .35rem .35rem;display:flex}.identity-orbs button.active{background:#cdb77538;border-color:#cdb775}.identity-orbs img{object-fit:cover;border-radius:50%;width:1.8rem;height:1.8rem}.draco-dossier{gap:.7rem;margin-bottom:.4rem;display:grid}.draco-dossier-head{align-items:center;gap:.65rem;display:flex}.draco-dossier-head img{object-fit:cover;object-position:top center;background:#13201b;border:1px solid #cdb775;border-radius:50%;width:3.4rem;height:3.4rem}.draco-dossier-head b{color:#f0e3ae;font:600 .95rem/1.1 Georgia,serif;display:block}.draco-dossier-head small{color:#9eb1a5;font-size:.62rem}.draco-hud-meters{gap:.35rem;display:grid}.draco-hud-meters>div{grid-template-columns:auto 1.8rem 1fr;align-items:center;gap:.45rem;font-size:.68rem;display:grid}.draco-hud-meters span{color:#cdb775}.draco-hud-meters b{text-align:right;color:#fff}.draco-hud-meters .bar{background:#ffffff24;height:.32rem;overflow:hidden}.draco-hud-meters .bar div{background:#cdb775;height:100%}.draco-hud-expressions{flex-wrap:wrap;gap:.3rem;display:flex}.draco-hud-expressions button{color:#dbe6de;cursor:pointer;background:#0000004d;border:1px solid #cdb77552;padding:.32rem .5rem;font-size:.66rem}.draco-hud-expressions button.active{color:#101713;background:#cdb775;border-color:#cdb775;font-weight:900}.draco-hud-skins{gap:.35rem;display:flex}.draco-hud-skins button{cursor:pointer;background:#0000004d;border:1px solid #cdb77552;width:2.4rem;height:2.4rem;padding:0;overflow:hidden}.draco-hud-skins img{object-fit:cover;object-position:top center;width:100%;height:100%}.draco-hud-skins button:hover{border-color:#cdb775}.castle-pins .school-event-pin:first-of-type{top:42%;left:47%}.castle-pins .school-event-pin:nth-of-type(2){top:35%;left:62%}.castle-pins .school-event-pin:nth-of-type(3){top:58%;left:38%}.castle-pins .school-event-pin:nth-of-type(4){top:20%;left:68%}.castle-pins .school-event-pin:nth-of-type(5){top:34%;left:25%}.castle-pins .school-event-pin:nth-of-type(6){top:62%;left:74%}.memory-slot{gap:.45rem;margin:0 1.1rem .55rem;display:grid}.memory-slot textarea{resize:none;color:#eef3ec;min-height:4.6rem;font:inherit;background:#0000003d;border:1px solid #cdb77547;outline:none;padding:.65rem;font-size:.78rem}.memory-slot textarea:focus{border-color:#cdb775}.memory-slot button{color:#111713;cursor:pointer;background:#cdb775;border:1px solid #cdb775;padding:.55rem .7rem;font-weight:900}.memory-log{scrollbar-width:none;border-top:1px solid #cdb77529;gap:.3rem;max-height:7rem;margin:0 1.1rem .7rem;padding:.5rem .6rem;display:grid;overflow-y:auto}.memory-log::-webkit-scrollbar{display:none}.memory-log p{color:#b6c4ba;border-bottom:1px solid #ffffff0d;gap:.16rem;margin:0;padding:.3rem 0;font-size:.67rem;line-height:1.35;display:grid}.memory-log span{color:#cdb775;letter-spacing:.1em;font-size:.55rem;font-weight:900}.event-brief{z-index:23;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);text-align:center;background:#070f0edb;border:1px solid #cdb7757a;gap:.5rem;width:min(30rem,100vw - 4rem);padding:1.1rem 1.2rem;display:grid;position:absolute;top:16%;left:50%;transform:translate(-50%);box-shadow:0 18px 48px #0006}.event-brief span{color:#cdb775;letter-spacing:.18em;font-size:.58rem;font-weight:900}.event-brief h2{color:#f0e3ae;margin:0;font:500 1.6rem/1.1 Georgia,serif}.event-brief p{color:#b5c3ba;margin:0;font:400 .8rem/1.65 Georgia,serif}.event-brief button{color:#111713;cursor:pointer;background:#cdb775;border:1px solid #cdb775;margin-top:.25rem;padding:.65rem .8rem;font-weight:900}.event-brief button:hover{background:#ead89b}@media (width<=700px){.event-brief{top:12%}}@media (width<=900px){.menu-panel{width:min(26rem,100vw - 6rem);top:1rem;left:4.7rem;right:auto}.audio-dock{right:4.2rem;bottom:calc(8.7rem + env(safe-area-inset-bottom,0px))}}
