@font-face{font-family:SourceHan;src:url('/fonts/SourceHanSansCN-Bold.otf')}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#101923;color:#fff9ea;font-family:SourceHan,'Microsoft YaHei',sans-serif}.stage{position:relative;width:100vw;height:100dvh;overflow:hidden;background:#16232b}.scene{position:absolute;inset:0;background-position:center;background-size:cover;transition:opacity 1.1s ease,background-image .2s}.scene-shade{position:absolute;inset:0;background:linear-gradient(180deg,#07111a66 0%,transparent 35%,#07111a12 60%,#07111a88 100%);pointer-events:none}#live2d{position:absolute;z-index:1;inset:0;width:100%;height:100%;display:block;pointer-events:none;background:transparent}.top-card{position:absolute;z-index:2;left:22px;top:18px;min-width:316px;height:58px;display:flex;align-items:center;gap:12px;padding:0 20px;background:#10202cdf;border-left:7px solid #4c7e80;box-shadow:0 0 0 2px #cbb879}.top-card strong{font-size:22px}.top-card span{font-size:15px;color:#d8e3df}.top-card .dot{width:7px;height:7px;border-radius:50%;background:#d9b96a;margin-left:auto}.top-right{position:absolute;right:22px;top:18px;display:flex;align-items:center;gap:12px;background:#10202cdf;border:1px solid #cbb879;padding:8px 12px}.top-right button{border:0;color:#fff9ea;background:transparent;font-size:22px;cursor:pointer}.dialog{position:absolute;z-index:3;left:50%;bottom:22px;transform:translateX(-50%);width:min(1260px,calc(100vw - 44px));height:min(285px,38vh);min-height:240px;background:#101923e8;border:2px solid #cbb879;box-shadow:inset 7px 0 #4c7e80,0 12px 42px #0008;padding:10px 22px 14px;display:flex;flex-direction:column}.dialog-head{height:45px;display:flex;align-items:center;gap:16px;border-bottom:1px solid #cbb87966}.nameplate{display:flex;align-items:center;gap:10px;color:#fff9ea;font-size:21px}.nameplate small{font:11px Arial;letter-spacing:1px;color:#dceae5}.dialog-head #mood{margin-left:auto;color:#cbb879;font-size:15px}.dialog-text{flex:1;overflow:auto;padding:12px 4px 8px;font-size:clamp(20px,1.9vw,28px);line-height:1.55;white-space:pre-wrap}.suggestions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 10px}.suggestions button{min-height:42px;text-align:left;padding:7px 13px;border:1px solid #42666c;background:#172633dc;color:#f8f4ea;font:16px SourceHan, sans-serif;cursor:pointer}.suggestions button:hover{background:#254653}.suggestions button:disabled{opacity:.45;cursor:default}#chat-form{display:flex;gap:10px;height:44px}#message{flex:1;min-width:0;border:1px solid #778d8c;background:#0c141dcc;color:#fff9ea;padding:0 13px;font:17px SourceHan, sans-serif;outline:none}#message:focus{border-color:#cbb879}#send,.entry button{border:0;background:#3c6d70;color:#fff9ea;padding:0 24px;font:17px SourceHan,sans-serif;cursor:pointer}#send:hover,.entry button:hover{background:#51878a}.entry{position:absolute;z-index:5;inset:0;display:grid;place-items:center;background:#0b121bd9;backdrop-filter:blur(8px);transition:opacity .35s}.entry.hidden{opacity:0;pointer-events:none}.entry-card{text-align:center;padding:36px 60px;background:#10202ce8;border:1px solid #cbb879;box-shadow:0 16px 60px #0008}.mark{font-size:38px;color:#e4d19a}.entry-card h1{font-size:25px;margin:10px 0}.entry-card p{color:#d8e3df}.entry-card button{height:44px;margin:12px auto 8px}.entry-card small{display:block;color:#aebcba;max-width:360px}.toast{position:absolute;z-index:8;left:50%;top:90px;transform:translate(-50%,-10px);opacity:0;transition:.2s;background:#172633f2;border:1px solid #cbb879;padding:10px 18px;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}.transition{position:absolute;z-index:1;inset:0;background:#e8e2d4;opacity:0;pointer-events:none;transition:opacity .7s}.transition #transition-sky{position:absolute;inset:0;background-position:center;background-size:cover;opacity:.9;mix-blend-mode:normal}.transition.on{opacity:.9}@media(max-width:700px){.top-card{left:10px;top:10px;min-width:0;width:230px;height:48px;padding:0 12px;gap:7px}.top-card strong{font-size:17px}.top-card span{font-size:12px}.top-right{right:10px;top:10px}.dialog{left:10px;right:10px;bottom:10px;transform:none;width:auto;height:35vh;min-height:235px;padding:8px 12px}.dialog-text{font-size:18px}.suggestions{gap:5px}.suggestions button{font-size:14px;padding:5px}.entry-card{padding:28px 20px}}
 .model-warning{position:absolute;left:50%;top:34%;transform:translateX(-50%);z-index:2;text-align:center;padding:12px 18px;color:#f8f4ea;background:#1019239c;border:1px solid #cbb879;font-size:14px;line-height:1.7;pointer-events:none}.model-warning small{color:#d8e3df}
/* Deliberately slower sky hold for scene changes. */
.transition{transition:opacity 1.2s ease-in-out}
.entry{position:fixed;inset:0;width:100vw;height:100vh;min-height:100dvh;overflow:hidden;padding:0;background:#000}
.entry video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.entry-hint{font-size:clamp(32px,4vw,64px);font-weight:700;letter-spacing:8px;padding:18px 42px;border-width:2px;background:#10202caa;bottom:8%;text-shadow:0 3px 12px #000;white-space:nowrap}
.entry{cursor:pointer}.entry video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.entry-hint{position:absolute;left:50%;bottom:7%;transform:translateX(-50%);padding:10px 22px;border:1px solid #cbb879;background:#10202caa;color:#fff9ea;font-size:18px;letter-spacing:2px;text-shadow:0 2px 5px #000;pointer-events:none}
#live2d{transition:opacity 0.8s ease-in-out}
#live2d.scene-transitioning{opacity:0}
.entry,.entry:fullscreen{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;min-width:100vw!important;min-height:100dvh!important;margin:0!important;padding:0!important;display:block!important;background:#000!important;overflow:hidden!important;z-index:9999!important}.entry video,.entry:fullscreen video{position:absolute!important;inset:0!important;display:block!important;width:100vw!important;height:100vh!important;min-width:100vw!important;min-height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;object-fit:cover!important;object-position:center!important}.entry-hint{z-index:2!important}
.entry video,.entry:fullscreen video{object-fit:contain!important;background:#000!important}
.entry,.entry:fullscreen{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#000!important}
.entry video,.entry:fullscreen video{object-fit:cover!important;object-position:center center!important}
.dialog{max-height:34dvh}.dialog-text{overflow-wrap:anywhere}@media(max-width:700px){.dialog{height:34dvh;min-height:190px;max-height:34dvh}.dialog-text{font-size:clamp(15px,4vw,20px);line-height:1.4}.dialog-head{height:36px}.suggestions button{min-height:34px;font-size:clamp(11px,3vw,14px)}#chat-form{height:38px}#message{font-size:14px}}
.entry video{pointer-events:none}.entry-choice{position:absolute;left:50%;bottom:7%;z-index:10;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;color:#fff9ea;text-shadow:0 2px 5px #000;pointer-events:auto}.entry-choice .entry-hint{position:static;transform:none;bottom:auto}.entry-options{position:relative;z-index:11;display:flex;gap:12px;pointer-events:auto}.entry-options button{position:relative;z-index:12;min-width:120px;height:44px;border:1px solid #cbb879;background:#10202cdd;color:#fff9ea;font:17px SourceHan,sans-serif;cursor:pointer;pointer-events:auto;touch-action:manipulation}.entry-options button:hover{background:#3c6d70}.entry-choice small{color:#d8e3df;font-size:13px}
