:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;letter-spacing:0;--text:#f2f4f3;--muted:#adb7b4;--ink:#151b1a;--panel:#131c1bd9;--panel-strong:#182321;--line:#ebf5f026;--gold:#d7a845;--green:#6fc18b;--blue:#86d7ff;--danger:#e06a54;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#app{background:var(--ink);width:100%;height:100%;margin:0;overflow:hidden}button{min-height:38px;color:var(--text);font:inherit;cursor:pointer;touch-action:manipulation;background:#293430;border:1px solid #f7ead32b;border-radius:7px;font-weight:800;transition:border-color .15s,transform .15s,background .15s}button:hover{background:#34463e;border-color:#d7a845b3;transform:translateY(-1px)}button:disabled{cursor:default;opacity:.5;transform:none}button:focus-visible,input:focus-visible{outline:2px solid var(--green);outline-offset:3px}svg{flex:none}#game-root{background:#dceef0 url(/games/story-town/assets/art/lowpoly-v2/scenes/academy.webp) top/max(100%,163.484vh) no-repeat;position:fixed;inset:0}.game-canvas{cursor:pointer;touch-action:none;width:100%;height:100%;display:block}#ui-root{color:var(--text);pointer-events:none;position:fixed;inset:0}.hud{pointer-events:none;position:absolute;inset:0}.status-panel,.promotion-card{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:8px;box-shadow:0 18px 44px #00000047}.game-tools{pointer-events:auto;gap:8px;display:flex;position:absolute;top:18px;right:18px}.game-tools .icon-button{background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:42px;height:42px}.status-panel{pointer-events:auto;gap:8px;width:min(300px,100vw - 36px);padding:12px;display:grid;position:absolute;top:18px;left:18px}.eyebrow{color:var(--gold);margin:0 0 4px;font-size:12px;font-weight:900}.status-panel h1{color:var(--text);margin:0;font-size:24px;line-height:1.12}.status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.status-grid span{align-items:center;gap:4px;min-width:0;padding:0;display:flex}.status-grid small,.panel-heading span{color:var(--muted);font-size:11px;font-weight:800}.status-grid b{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.message{color:#f7ead3db;margin:0;font-size:13px;line-height:1.45}.side-panel{pointer-events:auto;gap:12px;width:300px;max-height:calc(100vh - 104px);padding:14px;display:grid;position:absolute;top:18px;right:18px;overflow:hidden}.panel-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-heading strong{color:var(--green);font-size:15px}.actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.actions button{flex-direction:column;justify-content:center;align-items:center;gap:5px;width:100%;min-height:55px;padding:0 9px;font-size:13px;display:flex}.computer-toggle{min-height:55px;color:var(--muted);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:7px;font-size:12px;display:flex}.computer-toggle input{appearance:none;cursor:pointer;background:#53635b;border-radius:9px;width:30px;height:18px;margin:0}.computer-toggle input:before{content:"";background:#f2f4f3;border-radius:50%;width:12px;height:12px;margin:3px;transition:transform .15s;display:block}.computer-toggle input:checked{background:#40976b}.computer-toggle input:checked:before{transform:translate(12px)}.opponent-button{text-align:left;background:0 0;border:0;border-radius:0;align-items:center;gap:11px;min-width:0;padding:0;font-weight:400;display:flex}.opponent-button:hover{background:0 0;transform:none}.opponent-button img{object-fit:cover;border-radius:6px;width:62px;height:62px}.opponent-info{flex:1;gap:3px;min-width:0;display:grid}.opponent-info small,.opponent-info>span{color:var(--muted);font-size:11px}.opponent-info b{align-items:center;gap:8px;font-size:20px;display:flex}.difficulty{color:var(--character-accent,var(--green));white-space:nowrap;font-size:11px;font-weight:600}.opponent-change{color:var(--green);justify-items:center;gap:4px;display:grid}.opponent-change small{font-size:11px}.character-progress{gap:7px;display:grid}.character-progress>span{align-items:center;gap:6px;font-size:11px;display:flex}.character-progress svg{width:13px;height:13px;color:var(--gold)}.character-progress small{color:var(--muted);margin-left:auto;font-size:11px}.character-progress progress{appearance:none;background:#354c40;border:0;border-radius:2px;width:100%;height:3px}.character-progress progress::-webkit-progress-bar{background:#354c40;border-radius:2px}.character-progress progress::-webkit-progress-value{background:var(--green);border-radius:2px}.character-progress progress::-moz-progress-bar{background:var(--green);border-radius:2px}.character-overlay{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto;background:#09100edb;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.character-dialog{background:var(--panel-strong);width:min(1040px,100%);max-height:calc(100dvh - 48px);padding:24px;overflow-y:auto}.character-dialog-header{justify-content:space-between;align-items:center;gap:14px;padding-bottom:23px;display:flex}.character-dialog h2{margin:0;font-size:26px;line-height:1.3}.icon-button{background:0 0;flex:none;place-items:center;width:38px;height:38px;padding:0;display:grid}.character-roster{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.character-option{cursor:pointer;min-width:0;display:block;position:relative}.character-option input{opacity:0;width:1px;height:1px;position:absolute;top:0;left:0}.character-art{aspect-ratio:1/1.12;outline-offset:0;border-radius:6px;outline:1px solid #40504a;width:100%;display:block;position:relative;overflow:hidden}.character-art img{object-fit:cover;object-position:50% 42%;width:100%;height:100%;display:block}.character-option:hover .character-art{outline-color:var(--character-accent)}.character-option input:checked+.character-art{outline:2px solid var(--character-accent);outline-offset:3px}.character-option input:focus-visible+.character-art{outline:3px solid var(--character-accent);outline-offset:4px}.character-number,.character-state{width:28px;height:28px;color:var(--character-accent);background:#0c1411d1;place-items:center;font-size:11px;font-weight:700;display:grid;position:absolute}.character-number{top:8px;left:8px}.character-state{bottom:8px;right:8px}.character-caption{gap:6px;padding-top:14px;display:grid}.character-caption>span:first-child{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:7px;display:flex}.character-caption b{font-size:18px}.character-caption>small{color:var(--muted);font-size:12px}.character-unlock{color:#bdc9c1;align-items:center;gap:5px;min-height:28px;font-size:10px;line-height:1.45;display:flex}.character-unlock svg{width:12px;height:12px}.character-dialog-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;margin-top:24px;padding-top:19px;display:flex}.character-dialog-footer b{font-size:16px}.character-dialog-footer p{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.5}.start-challenge{color:#112d1c;background:#b6dec2;justify-content:center;align-items:center;gap:15px;min-width:162px;min-height:44px;padding:10px 16px;font-size:13px;display:flex}.start-challenge:hover{background:#cef0d7}.start-challenge:disabled{color:#b8c2bd;opacity:1;background:#35443b}.capture-line{color:#f7ead3d6;background:#86d7ff12;border:1px solid #86d7ff2e;border-radius:7px;min-height:38px;padding:9px 10px;font-size:12px;line-height:1.45}.history{gap:5px;max-height:330px;padding-right:3px;display:grid;overflow:auto}.history p{color:var(--muted);margin:0;font-size:13px}.history-row{color:#f7ead3db;grid-template-columns:32px 1fr 1fr;align-items:center;gap:7px;min-height:28px;font-size:13px;display:grid}.history-row span{color:var(--muted)}.history-row b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.controls-chip{color:#f7ead3d4;max-width:min(520px,100vw - 36px);padding:10px 12px;font-size:12px;line-height:1.42;position:absolute;bottom:18px;right:18px}.promotion-modal{pointer-events:auto;background:#080a0e7a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.promotion-card{background:var(--panel-strong);gap:14px;width:min(460px,100vw - 32px);padding:18px;display:grid}.promotion-card p,.promotion-card h2{margin:0}.promotion-card p{color:var(--muted);font-size:13px}.promotion-card h2{color:var(--text);font-size:24px}.promotion-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.promotion-options button{background:linear-gradient(#d7a84538,#ffffff0a),#392a1ef2;place-items:center;gap:5px;min-height:76px;display:grid}.promotion-options span{color:var(--gold);font-size:22px;font-weight:900}.promotion-options b{color:var(--text);font-size:13px}@media (width<=860px){.status-panel{width:min(300px,100vw - 20px);padding:12px;top:10px;left:10px}.status-panel h1{font-size:20px}.side-panel{width:min(330px,100vw - 20px);max-height:210px;padding:10px;top:auto;bottom:10px;right:10px}.character-overlay{padding:16px}.character-dialog{max-height:calc(100dvh - 32px);padding:18px}.character-roster{gap:10px}.character-unlock{font-size:10px}.history{max-height:92px}.controls-chip{max-width:calc(100vw - 20px);bottom:10px;right:10px}}@media (width<=560px){.game-tools{top:auto;right:12px;bottom:max(12px, env(safe-area-inset-bottom))}.status-panel{gap:8px;width:auto;padding:10px 12px;right:10px}.status-panel>div:first-child{justify-content:space-between;align-items:center;gap:10px;display:flex}.status-panel .eyebrow{margin:0}.status-panel h1{font-size:17px}.opponent-button img{width:46px;height:46px}.opponent-info b{font-size:17px}.opponent-info small{display:none}.status-grid span{background:0 0;border:0;gap:0;padding:5px 7px}.status-grid small{font-size:10px}.status-grid b{font-size:11px}.message{font-size:11px;line-height:1.4}.character-progress>span,.character-progress small{font-size:10px}.character-dialog-header{padding-bottom:19px}.character-dialog h2{font-size:22px}.character-roster{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 14px}.character-art{aspect-ratio:1}.character-dialog-footer{background:var(--panel-strong);gap:12px;margin:20px -18px -18px;padding:16px 18px;position:sticky;bottom:-18px}.character-dialog-footer p{max-width:150px}.start-challenge{gap:5px;min-width:130px;padding:9px 12px;font-size:12px}.character-caption{gap:3px;padding-top:10px}.character-caption b{font-size:17px}.character-caption small{font-size:11px}.character-unlock{min-height:24px;font-size:10px}.side-panel .panel-heading{display:none}.status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.side-panel{width:auto;max-height:176px;left:10px}.actions{grid-template-columns:repeat(4,minmax(0,1fr))}.actions button{min-height:34px;padding:0 5px;font-size:11px}.capture-line,.history{display:none}.promotion-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){button,.computer-toggle input:before{transition:none}}.ui-surface{position:absolute;inset:0}.coin-wallet{pointer-events:auto;background:#121e1aeb;border-color:#b89a56;align-items:center;gap:9px;min-width:124px;min-height:42px;padding:8px 13px;display:flex;position:absolute;top:18px;left:18px;box-shadow:0 3px 14px #0003}.coin-wallet svg{color:#f1cb69;width:23px;height:23px}.coin-wallet b{font-variant-numeric:tabular-nums;min-width:24px;font-size:18px}.coin-wallet small{color:#e2d7b6;font-size:11px;font-weight:500}.speech-bubble{color:#21372c;background:#f1f5ef;border-left:3px solid #b6dec2;border-radius:0 6px 6px 0;min-height:46px;margin:4px 0 0;padding:10px 12px;font-size:13px;line-height:1.6;animation:.28s ease-out both speech-in;position:relative}@keyframes speech-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.home-screen{pointer-events:auto;background:linear-gradient(#10261d40 0%,#122c2470 25%,#12291e87 67%,#142a24 100%);position:absolute;inset:0;overflow-y:auto}.home-brand{white-space:nowrap;text-shadow:0 2px 8px #102016;align-items:center;gap:9px;display:flex;position:absolute;top:25px;left:50%;transform:translate(-50%)}.home-brand svg{color:#f1ce7c;width:26px;height:26px}.home-brand b{font-size:21px}.home-brand span{color:#e1e7df;border-left:1px solid #f5fff755;padding-left:8px;font-size:10px;font-weight:600}.home-hero{place-items:center;min-height:calc(100dvh - 154px);padding:110px 24px 88px;display:grid;position:relative}.hero-content{text-align:center;text-shadow:0 3px 16px #10281fe6;justify-items:center;max-width:640px;display:grid}.hero-kicker{color:#e5eddf;margin:0 0 13px;font-size:13px;font-weight:600}.home-hero h1{margin:0;font-family:Songti SC,STSong,Noto Serif CJK SC,serif;font-size:68px;font-weight:800;line-height:1.3}.hero-subtitle{color:#f1f2e7;margin:13px 0 25px;font-size:15px;line-height:1.6}.home-opponent{text-align:left;text-shadow:0 2px 7px #0009;background:0 0;border:0;align-items:center;gap:12px;width:218px;margin-bottom:22px;padding:0;display:flex}.home-opponent:hover{background:0 0}.home-opponent img{object-fit:cover;border-radius:50%;outline:2px solid #d2ddbf;width:48px;height:48px;box-shadow:0 2px 10px #14241d88}.home-opponent>span{flex:1;gap:3px;display:grid}.home-opponent small{color:#d2e1d3;font-size:11px;font-weight:400}.home-opponent b{align-items:center;gap:13px;font-size:17px;display:flex}.home-opponent em{color:#c6e5cf;font-size:11px;font-style:normal;font-weight:500}.home-play{color:#193c2a;width:270px;min-height:56px;text-shadow:none;background:#dcecc9;border:1px solid #ecf5d8;font-size:18px;font-weight:800;box-shadow:0 8px 25px #13291e55}.home-play svg:first-child{width:19px;height:19px}.home-play svg:last-child{margin-left:auto}.home-actions{justify-content:center;gap:13px;width:270px;margin-top:15px;display:flex}.home-actions button{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#143126b8;border-color:#d4e5ce6b;justify-content:center;align-items:center;gap:8px;width:50%;min-height:42px;padding:8px;font-size:12px;display:flex}.home-actions button:last-child{color:#f1d58c}.hero-footer{color:#d7e4d5;flex-wrap:wrap;justify-content:center;gap:16px 30px;font-size:11px;display:flex;position:absolute;bottom:24px;left:0;right:0}.hero-footer>span{align-items:center;gap:6px;display:flex}.hero-footer svg{color:#efd080;width:14px;height:14px}.hero-footer b{color:#f5dc93;font-variant-numeric:tabular-nums}.home-roster{border-top:1px solid #d8ebd62e;max-width:1000px;margin:0 auto;padding:22px 32px 38px}.home-roster header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.home-roster h2{margin:0;font-size:18px;font-weight:600}.text-button{color:#c4d8c8;background:0 0;border:0;align-items:center;gap:4px;min-height:28px;padding:0;font-size:11px;font-weight:500;display:flex}.text-button:hover{background:0 0}.home-characters{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;display:grid}.home-character{text-align:left;background:#1b332b;border-color:#738c774d;border-radius:6px;padding:0;overflow:hidden}.home-character img{aspect-ratio:1;object-fit:cover;width:100%;height:auto;display:block}.home-character>span{align-items:center;gap:6px;padding:12px 10px;display:flex}.home-character b{font-size:15px}.home-character small{color:var(--character-accent);font-size:10px;font-weight:400}.home-character svg{color:#c4d2c8;width:13px;height:13px;margin-left:auto}.shop-dialog{max-width:960px}.shop-balance{color:#f1cc75;justify-content:flex-end;align-items:center;gap:8px;padding:0 0 22px;font-size:17px;display:flex}.shop-balance span{color:#b8c7bf;font-size:11px}.skin-roster{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.skin-option{cursor:pointer;min-width:0;position:relative}.skin-option input{opacity:0;width:1px;height:1px;position:absolute}.skin-board{aspect-ratio:1;border:9px solid var(--frame);outline-offset:0;border-radius:3px;outline:1px solid #6b79694d;grid-template-rows:repeat(8,minmax(0,1fr));grid-template-columns:repeat(8,minmax(0,1fr));width:100%;display:grid;box-shadow:0 7px 14px #0004}.skin-board i{background:var(--light);display:block}.skin-board .dark{background:var(--dark)}.skin-option input:checked+.skin-board{outline:2px solid var(--character-accent);outline-offset:5px}.skin-option input:focus-visible+.skin-board{outline:3px solid var(--character-accent);outline-offset:5px}.skin-caption{gap:7px;padding-top:19px;display:grid}.skin-caption b{font-size:16px}.skin-caption>span{color:#dec887;align-items:center;gap:6px;font-size:12px;display:flex}.skin-caption svg{width:13px;height:13px}.coin-effects{pointer-events:none;z-index:10;position:fixed;inset:0;overflow:hidden}.coin-popup{color:#ffdc75;text-shadow:0 2px 2px #493619,0 3px 10px #0009;opacity:0;white-space:nowrap;justify-content:center;align-items:center;gap:5px;min-width:74px;font-size:28px;font-weight:900;display:flex;position:absolute}.coin-popup svg{width:25px;height:25px}.coin-popup small{text-align:center;font-size:13px;font-weight:600;position:absolute;top:38px;left:0;right:0}.victory-reward{font-size:42px}.flying-coin{color:#8b5d0d;opacity:0;background:#efbc45;border:2px solid #ffeaa5;border-radius:50%;place-items:center;width:27px;height:27px;display:grid;position:absolute;box-shadow:0 2px 6px #0005,inset 0 0 0 2px #da962e}.flying-coin svg{stroke-width:2px;width:16px;height:16px}@media (width<=860px){.home-roster{padding-left:22px;padding-right:22px}.home-characters{gap:10px}.home-character>span{gap:4px;padding:10px 8px}.home-character b{font-size:13px}.home-character small{font-size:9px}.skin-roster{gap:16px}.skin-caption b{font-size:14px}}@media (width<=560px){.coin-wallet{gap:7px;min-width:100px;min-height:38px;padding:6px 10px;top:12px;left:12px}.coin-wallet b{font-size:16px}.coin-wallet small{font-size:10px}.coin-wallet svg{width:20px;height:20px}.home-brand{gap:6px;top:19px;left:50%;right:auto;transform:translate(-50%)}.home-brand span{display:none}.home-brand b{font-size:18px}.home-brand svg{width:21px;height:21px}.home-hero{min-height:calc(100dvh - 146px);padding:96px 22px 83px}.home-hero h1{font-size:48px}.hero-subtitle{margin-bottom:22px;font-size:13px}.hero-kicker{font-size:11px}.home-play{min-height:52px;font-size:16px}.hero-footer{gap:15px;font-size:10px;bottom:23px}.home-roster{padding:19px 20px 26px}.home-roster h2{font-size:16px}.home-characters{scroll-snap-type:x mandatory;gap:12px;padding:3px 2px 10px;display:flex;overflow-x:auto}.home-character{scroll-snap-align:start;flex:0 0 132px}.home-character b{font-size:14px}.hud .status-panel{gap:7px;top:61px}.speech-bubble{min-height:42px;margin-top:1px;padding:8px 10px;font-size:12px}.skin-roster{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 17px}.skin-board{border-width:7px}.skin-caption{gap:5px;padding-top:14px}.shop-balance{padding-bottom:22px}.character-dialog-footer>div{min-width:0}.character-dialog-footer b{font-size:14px}}@media (height<=620px) and (width>=561px){.home-hero{padding-top:78px;padding-bottom:65px}.home-hero h1{font-size:46px}.hero-kicker{margin-bottom:4px}.hero-subtitle{margin:8px 0 14px}.home-opponent{margin-bottom:13px}.home-play{min-height:48px}.home-actions{margin-top:9px}.hero-footer{bottom:18px}}@media (prefers-reduced-motion:reduce){.speech-bubble{animation:none}}.opponent-dialogue{grid-template-columns:62px minmax(0,1fr);align-items:start;gap:13px;margin:3px 0;display:grid}.opponent-avatar{border:2px solid var(--character-accent);background:#2b3c34;border-radius:50%;width:62px;height:62px;min-height:62px;padding:0;position:relative}.opponent-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.opponent-avatar>span{border:1px solid var(--character-accent);background:#22372c;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;bottom:-3px;right:-4px}.opponent-avatar svg{width:13px;height:13px;color:var(--character-accent)}.opponent-words{min-width:0}.opponent-heading{align-items:center;gap:8px;min-height:22px;display:flex}.opponent-heading b{font-size:16px}.opponent-heading small{color:var(--muted);margin-left:auto;font-size:10px}.hud .status-panel{gap:10px;width:min(350px,100% - 36px)}.opponent-words .speech-bubble{transform-origin:-14px 22px;border:1px solid #d2e2d0;border-radius:7px;min-height:57px;margin:7px 0 0;padding:9px 11px;font-size:12px;line-height:1.7;animation:.38s cubic-bezier(.2,.85,.25,1.2) both avatar-speech}.opponent-words .speech-bubble:before{content:"";clip-path:polygon(100% 0,100% 100%,0 48%);background:#f1f5ef;width:10px;height:15px;position:absolute;top:16px;left:-9px}@keyframes avatar-speech{0%{opacity:0;transform:scale(.72)translate(-8px)}to{opacity:1;transform:scale(1)translate(0)}}.shop-dialog{background:#172521;border:1px solid #9cb8a636;border-radius:8px;max-width:1040px;padding:28px;box-shadow:0 24px 70px #0005}.shop-dialog .character-dialog-header{padding-bottom:20px}.shop-dialog .eyebrow{align-items:center;gap:6px;margin-bottom:7px;font-weight:600;display:flex}.shop-dialog .eyebrow svg{width:13px;height:13px}.shop-dialog h2{font-family:Songti SC,STSong,serif;font-size:29px}.shop-header-actions{align-items:center;gap:22px;display:flex}.shop-header-actions .shop-balance{background:#ffffff07;border:1px solid #d8c99b2b;border-radius:6px;padding:8px 12px}.shop-toolbar{justify-content:space-between;align-items:center;gap:14px;padding:0 0 23px;display:flex}.shop-toolbar>span{color:#a7bab0;font-size:11px}.shop-tabs{background:#0d1916;border:1px solid #89a2912b;border-radius:7px;align-items:center;gap:4px;padding:4px;display:flex}.shop-tabs button{color:#aebfb5;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;gap:7px;min-width:104px;min-height:36px;padding:7px 13px;font-size:13px;font-weight:600;display:flex}.shop-tabs button:hover{transform:none}.shop-dialog .skin-roster{gap:17px}.catalog-option{background:#22342c;border:1px solid #a3baa12b;border-radius:8px;padding:0 0 14px;transition:border-color .15s,transform .15s}.catalog-option:hover{border-color:var(--character-accent);transform:translateY(-3px)}.catalog-option:has(input:checked){border-color:var(--character-accent);box-shadow:0 0 0 1px var(--character-accent);background:#2b3f35}.catalog-option:has(input:focus-visible){outline-offset:4px;outline:2px solid #d3f0d7}.product-art{border-radius:7px 7px 0 0;width:100%;display:block;position:relative;overflow:hidden}.board-art{aspect-ratio:4/3;background:#e0e8e3}.board-product-image{object-fit:contain;width:100%;height:100%;display:block}.scene-art{aspect-ratio:16/10;background:#32453d}.scene-art>img{object-fit:cover;width:100%;height:100%;display:block}.product-check{border:1px solid var(--character-accent);width:23px;height:23px;color:var(--character-accent);opacity:0;background:#20362b;border-radius:50%;place-items:center;display:grid;position:absolute;top:9px;right:9px}.product-check svg{width:14px;height:14px}.catalog-option:has(input:checked) .product-check{opacity:1}.product-tag{color:#e4f0e8;background:#13261dcc;border-radius:3px;align-items:center;gap:4px;padding:4px 6px;font-size:9px;display:flex;position:absolute;bottom:8px;left:8px}.product-tag svg{width:10px;height:10px}.catalog-option .skin-caption{gap:8px;padding:14px 13px 0}.catalog-option .skin-caption b{font-size:15px;font-weight:600}.product-swatches{align-items:center;gap:5px;padding-top:3px;display:flex}.product-swatches i{border:1px solid #ffffff40;border-radius:50%;width:13px;height:13px;display:block}.shop-footer{min-height:88px;margin-top:25px;padding-top:19px}.shop-footer>div:first-child small{color:#eac77e;margin-top:5px;font-size:11px;display:block}.shop-footer-actions{align-items:center;gap:10px;display:flex}.preview-button{background:#23352d;border-color:#adc5b64d;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:9px 14px;font-size:12px;font-weight:600;display:flex}.purchase-button{color:#3c3020;background:#ecd195;border:1px solid #ffe1a4;gap:9px;min-width:166px;min-height:45px;box-shadow:inset 0 1px #fff9,0 3px #8b6c3433}.purchase-button:hover{background:#f8dfa9;border-color:#f8dfa9}.purchase-button:disabled{color:#9eb3a5;box-shadow:none;background:#2b3d33;border-color:#71847166}.home-play{border-color:#edf6dc;box-shadow:inset 0 1px #fff9,0 4px #56725277,0 8px 23px #0d211c4d}.home-play:active,.purchase-button:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 1px 2px #0001}.home-actions button{border-color:#c1d6bd8c;box-shadow:inset 0 1px #ecffe212,0 3px 7px #14271d22}.home-actions{gap:8px;width:306px;max-width:100%}.home-actions button{flex-direction:column;gap:5px;width:33.333%;min-height:57px}.home-actions button:first-child{color:#d7ecef}.home-play{color:#fffbea;text-shadow:0 1px 3px #002a20;background:#176e4f url(/games/story-town/assets/ui/jade-button.webp) 50%/100% 165% no-repeat;border-color:#d7b65d}.effect-roster{grid-template-columns:repeat(2,minmax(0,1fr));max-width:620px}.effect-art{aspect-ratio:4/3;background:#263f49;place-items:center;display:grid}.effect-art>img{object-fit:contain;width:82%;height:100%}.effect-art>svg{color:#b6dcca;width:50px;height:50px}.effect-demo{background:#243c48;place-items:center;min-height:300px;display:grid}.effect-demo>svg{color:#b6dcca;width:64px;height:64px}.full-product-art .effect-demo-crystal{object-fit:contain;width:65%;height:300px;animation:2.4s ease-out infinite frost-preview}.frost-burst{object-fit:contain;pointer-events:none;width:64px;height:64px;position:fixed}.music-button{top:max(18px, env(safe-area-inset-top));pointer-events:auto;background:#172521e6;width:42px;height:42px;position:absolute;right:178px}.home-screen~.music-button{right:max(18px, env(safe-area-inset-right))}.full-product-art.effect-demo{background:#243c48}.shop-dialog .scene-roster{grid-template-columns:repeat(3,minmax(0,1fr))}.coin-wallet{top:max(18px, env(safe-area-inset-top));left:max(18px, env(safe-area-inset-left))}.hud .status-panel{top:calc(max(18px, env(safe-area-inset-top)) + 54px)}.game-tools{top:max(18px, env(safe-area-inset-top))}@keyframes frost-preview{0%{opacity:0;transform:translateY(20px)scale(.6)}30%,65%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-30px)scale(.8)}}@media (width<=620px){.shop-tabs{width:100%}.shop-tabs button{flex:1;min-width:0;padding:9px}.shop-toolbar>span{display:none}.shop-dialog .scene-roster{grid-template-columns:repeat(2,minmax(0,1fr))}.music-button{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));width:38px;height:38px}}@media (prefers-reduced-motion:reduce){.full-product-art .effect-demo-crystal{animation:none}}.product-preview-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;z-index:3;background:#08140fef;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.product-preview-dialog{background:#182b22;border:1px solid #becfc538;border-radius:8px;width:min(1050px,100%);max-height:calc(100dvh - 48px);position:relative;overflow:hidden}.preview-close{z-index:1;background:#14281edb;position:absolute;top:12px;right:12px}.full-product-art{background:#e0e8e3;place-items:center;height:min(65dvh,580px);display:grid}.full-product-art>img{object-fit:contain;width:100%;height:100%;display:block}.product-preview-dialog footer{justify-content:space-between;align-items:center;gap:20px;padding:17px 22px;display:flex}.product-preview-dialog h2{margin:0;font-size:19px;font-weight:600}.product-preview-dialog .skin-board{max-width:450px}@media (width<=560px){.hud .status-panel{gap:9px;width:auto}.opponent-dialogue{grid-template-columns:52px minmax(0,1fr);gap:12px}.opponent-avatar{width:52px;height:52px;min-height:52px;margin-top:7px}.opponent-heading b{font-size:14px}.opponent-heading small{font-size:9px}.opponent-words .speech-bubble{min-height:45px;padding:7px 9px;font-size:11px}.shop-dialog{padding:18px}.shop-dialog h2{font-size:24px}.shop-header-actions{gap:8px}.shop-header-actions .shop-balance{gap:5px;padding:6px 8px}.shop-balance b{font-size:15px}.shop-balance span{display:none}.shop-toolbar{padding-bottom:18px}.shop-toolbar>span{display:none}.shop-tabs{width:100%}.shop-tabs button{flex:1;min-width:0}.shop-dialog .skin-roster{gap:16px 13px}.catalog-option .skin-caption{gap:7px;padding:10px 10px 0}.catalog-option .skin-caption b{font-size:13px}.catalog-option .skin-caption>span{font-size:11px}.product-swatches i{width:11px;height:11px}.shop-footer{flex-wrap:wrap;gap:12px;margin-top:18px;padding-bottom:16px}.shop-footer>div:first-child{width:100%}.shop-footer>div:first-child p{max-width:none}.shop-footer-actions{width:100%}.shop-footer .purchase-button{flex:1;min-width:0;font-size:12px}.shop-footer .preview-button{width:84px;padding:9px 8px}.product-preview-overlay{padding:12px}.product-preview-dialog{max-height:calc(100dvh - 24px)}.full-product-art{height:min(65dvh,520px)}.product-preview-dialog footer{gap:8px;padding:12px}.product-preview-dialog h2{font-size:16px}.product-preview-dialog footer button{font-size:11px}}@media (prefers-reduced-motion:reduce){.opponent-words .speech-bubble{animation:none}.catalog-option{transition:none}}@media (width<=620px){.game-tools{top:auto;right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom))}.coin-wallet{top:max(12px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left))}.hud .status-panel{top:calc(max(12px, env(safe-area-inset-top)) + 49px)}}.rules-switch{background:#142a24bf;border:1px solid #c6d7bf66;border-radius:6px;gap:3px;width:270px;max-width:100%;margin:9px 0;padding:3px;display:flex}.rules-switch button{background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:6px;font-size:12px;display:flex}.rules-switch button[aria-pressed=true]{color:#163a2a;background:#d9e7d5}.battle-skills{bottom:max(18px, env(safe-area-inset-bottom));left:max(18px, env(safe-area-inset-left));pointer-events:auto;gap:9px;display:flex;position:absolute}.battle-skill{background:#142a24f2;border:1px solid #a4b9b178;border-radius:6px;grid-template-rows:46px 18px 16px;place-items:center;gap:2px;width:72px;height:94px;padding:5px;display:grid}.battle-skill img{object-fit:contain;width:46px;height:46px}.battle-skill span{font-size:12px;font-weight:700}.battle-skill small{color:#c0d8d0;font-size:10px}.battle-skill.armed{background:#235060;border-color:#c8f3ff;box-shadow:0 0 0 2px #9ad8ef45}.fire-burst{width:70px;height:90px}@media (width<=620px){.battle-skills{bottom:max(12px, env(safe-area-inset-bottom));gap:7px;left:12px}.battle-skill{grid-template-rows:34px 16px 14px;width:62px;height:78px}.battle-skill img{width:36px;height:34px}.rules-switch{margin:4px 0 8px}.rules-switch button{min-height:32px}}.mode-hub{pointer-events:auto;background:#122820d9;position:absolute;inset:0;overflow-y:auto}.mode-hub-content{flex-direction:column;justify-content:center;width:min(1040px,100%);min-height:100dvh;margin:auto;padding:92px 32px 40px;display:flex}.mode-hub-content>header{text-align:center;margin-bottom:28px}.mode-hub h1{margin:0;font:700 48px/1.3 Songti SC,STSong,serif}.mode-hub header>p:last-child{color:#d2ded8;font-size:14px}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.mode-choice{text-align:left;background:#192d24;border:1px solid #b2c2b88a;border-radius:8px;width:100%;padding:0;transition:transform .18s,border-color .18s;display:block;overflow:hidden;box-shadow:0 12px 25px #0003}.mode-choice:hover{border-color:#dcddad;transform:translateY(-3px)}.mode-art{background-position:50%;background-size:cover;justify-content:center;align-items:flex-end;width:100%;height:260px;display:flex}.mode-art img{object-fit:contain;filter:drop-shadow(0 12px 8px #0004);width:100%;height:95%}.mode-art img.mode-scene-fallback{object-fit:cover;height:100%}.mode-caption{justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;display:flex}.mode-caption b{font:700 24px/1.3 Songti SC,STSong,serif;display:block}.mode-caption small{color:#c4d7cf;margin-top:6px;font-size:12px;display:block}.mode-caption>svg{width:23px;height:23px}.mode-hub~.music-button{right:max(18px, env(safe-area-inset-right))}.mode-back{top:max(18px, env(safe-area-inset-top));z-index:1;background:#172521e6;position:absolute;right:72px}@media (width<=620px){.mode-hub-content{justify-content:flex-start;padding:75px 20px 20px}.mode-hub-content>header{margin-bottom:15px}.mode-hub h1{font-size:34px}.mode-hub .hero-kicker{font-size:10px}.mode-hub header>p:last-child{margin:7px 0 0}.mode-grid{grid-template-columns:1fr;gap:15px}.mode-art{height:172px}.mode-caption{padding:10px 14px}.mode-caption b{font-size:21px}.mode-caption small{margin-top:4px;font-size:11px}.mode-back{top:max(12px, env(safe-area-inset-top));width:38px;min-height:38px;right:62px}}@media (prefers-reduced-motion:reduce){.mode-choice{transition:none}}.effect-roster{margin-inline:auto}@media (width<=620px) and (height<=700px){.mode-art{height:140px}}.unified-hub{background:#111d28a8}.unified-home-content{flex-direction:column;justify-content:center;width:min(920px,100%);min-height:100dvh;margin:auto;padding:82px 40px 32px;display:flex}.unified-home-content>header{text-align:center;text-shadow:0 2px 12px #000;margin:0 0 24px}.unified-home-content h1{font-size:44px}.unified-home-content .hero-kicker{margin-bottom:7px}.chess-carousel{width:100%}.chess-carousel-viewport{border-top:1px solid #fff8;border-bottom:1px solid #fff8;overflow:hidden}.chess-carousel-track{transition:transform .7s cubic-bezier(.22,.75,.25,1);display:flex}.carousel-slide{flex:0 0 100%;min-width:0}.carousel-enter{isolation:isolate;background:#253a3d;border:none;border-radius:0;justify-content:center;align-items:center;width:100%;height:380px;padding:0;display:flex;position:relative;overflow:hidden}.carousel-enter:focus-visible{outline-offset:-4px;outline:3px solid #ffecb3}.carousel-scene{object-fit:cover;z-index:-2;width:100%;height:100%;position:absolute;inset:0}.carousel-enter:after{content:"";z-index:-1;background:linear-gradient(#0000,#0d1f22ed);position:absolute;inset:45% 0 0}.carousel-board{object-fit:contain;filter:drop-shadow(0 15px 9px #0004);width:69%;height:94%;margin-left:27%}.carousel-title{text-align:left;gap:8px;display:grid;position:absolute;bottom:26px;left:28px}.carousel-title small{color:#ffdf9e;font-size:12px}.carousel-title b{font:700 36px/1.2 Songti SC,STSong,serif}.carousel-title>span{align-items:center;gap:7px;font-size:13px;display:flex}.carousel-controls{justify-content:center;align-items:center;gap:13px;padding:17px 0;display:flex;position:relative}.chess-mode-tabs{border-bottom:1px solid #fff4;display:flex}.chess-mode-tabs button{color:#e3eaee;background:0 0;border:none;border-radius:0;padding:11px 24px;font-size:14px}.chess-mode-tabs button[aria-pressed=true]{color:#ffdda0;box-shadow:inset 0 -3px #e6c47c}.carousel-pause{position:absolute;right:0}.unified-home-options{flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;padding-top:7px;display:flex}.unified-home-options .rules-switch{width:245px;margin:0}.unified-home-options .home-opponent{width:158px;min-height:58px;margin:0;padding:7px 11px}.unified-home-options .home-opponent small{margin-top:3px;display:block}.home-shop{background:#253338ef;border-color:#a9b9bd;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:10px 16px;display:flex}.battle-skill{grid-template-rows:44px 18px 16px 15px;width:82px;height:112px}.battle-skill em{color:#f4d398;font-size:10px;font-style:normal}.battle-skill:disabled{opacity:.76;filter:saturate(.6)}.game-tools .exit-game{gap:5px;width:74px;display:flex}.exit-game span{white-space:nowrap;font-size:12px}.skill-side{color:#f2e2b8;text-shadow:0 1px 4px #000;white-space:nowrap;font-size:11px;position:absolute;top:-22px;left:0}.hud~.music-button{right:max(220px, calc(env(safe-area-inset-right) + 220px))}.theme-chess .icon-button,.theme-chess .battle-skill{background:#202b32f2;border-color:#aab9c1;border-radius:6px}.theme-chess .status-panel{background:#222d36f0;border-color:#a3b2bc66}.theme-xiangqi .icon-button{color:#f1ddae;background:#24463af5;border:2px solid #c9aa66;border-radius:3px;box-shadow:inset 0 0 0 2px #193b30}.theme-xiangqi .battle-skill{background:#214b3bf5;border:2px solid #d1b474;border-radius:3px;box-shadow:inset 0 0 0 2px #17362b}.theme-xiangqi .battle-skill span,.theme-xiangqi .status-panel h1{font-family:Songti SC,STSong,serif}.theme-xiangqi .battle-skill.armed{background:#265b55;border-color:#acffff}.theme-xiangqi .unified-hub{background:#143628a3}.theme-xiangqi .status-panel{background:#1d382ef0;border-color:#d1b47488}.theme-xiangqi .home-shop,.theme-xiangqi .rules-switch{background:#234738e6;border-color:#c9aa66;border-radius:3px}.theme-xiangqi .character-dialog{border-color:#c9aa66}.king-danger{border-color:#ff8989!important}.king-danger h1{align-items:center;gap:6px;animation:.85s steps(2,jump-none) infinite king-alert;display:flex}@keyframes king-alert{0%{color:#fff}to{color:#f77}}@media (width<=620px){.unified-home-content{justify-content:center;padding:76px 20px 25px}.unified-home-content h1{font-size:34px}.unified-home-content>header{margin-bottom:15px}.carousel-enter{height:288px}.carousel-board{width:96%;height:82%;margin:-50px 0 0}.carousel-title{gap:5px;bottom:16px;left:17px}.carousel-title b{font-size:25px}.carousel-title small,.carousel-title>span{font-size:11px}.carousel-controls{gap:5px;padding:12px 36px 12px 0}.carousel-controls .icon-button{width:32px;height:34px;min-height:34px}.chess-mode-tabs button{padding:9px 10px;font-size:12px}.unified-home-options{gap:9px;padding-top:0}.unified-home-options .rules-switch{width:100%}.unified-home-options .home-opponent{flex:1;min-height:48px}.unified-home-options .home-opponent img{width:32px;height:32px}.home-shop{flex:1;padding:9px;font-size:12px}.battle-skill{grid-template-rows:32px 16px 14px 13px;width:64px;height:94px;padding:4px}.battle-skill small,.battle-skill em{font-size:9px}.game-tools{gap:6px}.game-tools .icon-button{width:36px;height:38px}.game-tools .exit-game{width:62px}.hud~.music-button{right:max(12px, env(safe-area-inset-right))}}@media (height<=670px) and (width>=621px){.unified-home-content{padding-top:65px}.unified-home-content>header{margin-bottom:12px}.carousel-enter{height:290px}}@media (height<=650px) and (width<=620px){.carousel-enter{height:250px}}@media (prefers-reduced-motion:reduce){.chess-carousel-track{transition:none}.king-danger h1{color:#f77;animation:none}}.game-portrait{background-repeat:no-repeat;background-size:500%;width:100%;height:100%;display:block}.opponent-avatar>.game-portrait{background-repeat:no-repeat;background-size:500%;border:0;border-radius:50%;width:100%;height:100%;display:block;position:static}.home-opponent>.game-portrait{outline:2px solid var(--ui-accent);border-radius:50%;flex:none;width:42px;height:42px}.character-art>.game-portrait{border-radius:3px;position:absolute;inset:0}.ui-surface .status-panel,.ui-surface .battle-skill,.ui-surface .icon-button,.ui-surface .home-shop,.ui-surface .rules-switch{background-color:var(--ui-surface);border-color:var(--ui-accent)}.ui-surface .character-dialog{background:color-mix(in srgb, var(--ui-surface) 90%, #121915);border-color:var(--ui-accent)}.ui-surface .shop-footer,.ui-surface .character-dialog-footer{background-color:var(--ui-surface)}.ui-surface .battle-skill.armed{border-color:#adffff;box-shadow:inset 0 0 0 1px #c6ffff,0 0 18px #60cfd644}.ui-surface .unified-hub{background-color:color-mix(in srgb, var(--ui-surface) 67%, transparent)}.ui-surface .rules-switch button[aria-pressed=true],.ui-surface .start-challenge{background:var(--ui-light);color:var(--ui-ink)}.ui-surface .start-challenge:disabled{color:#d0d7d2;background:#4b5350}.theme-xiangqi .character-number{background:var(--ui-ink);color:#f8e1aa}.theme-xiangqi .coin-wallet{border:2px solid var(--ui-accent);border-radius:3px;box-shadow:inset 0 0 0 2px #324b36}.theme-xiangqi .carousel-title b{font-family:Songti SC,STSong,serif}.theme-chess .carousel-title b{font-family:Georgia,Songti SC,serif}.game-result{pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:30;background:#101919b8;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.result-content{text-align:center;z-index:1;padding:30px 18px;position:relative}.result-emblem{color:var(--ui-accent);margin-bottom:15px;animation:.65s cubic-bezier(.16,.75,.26,1) both result-rise;display:block}.result-emblem svg{stroke-width:1.2px;width:58px;height:58px}.result-content h2{color:#f6e2a4;text-shadow:0 3px 25px #cb993560;margin:0;font:700 82px/1.25 Songti SC,STSong,serif;animation:.85s cubic-bezier(.16,.7,.25,1) both result-word}.result-side{color:#dce9e5;margin-top:11px;font-size:12px;display:inline-block}.result-actions{justify-content:center;align-items:center;gap:10px;margin-top:35px;display:flex}.result-spark{width:6px;height:11px;top:-20px;left:calc(5% + var(--spark) * 6%);background:var(--ui-accent);animation:result-confetti 2.6s ease-in calc(var(--spark) * 65ms) both;position:absolute}.result-spark:nth-of-type(3n){background:#9adaca}.result-spark:nth-of-type(3n+1){background:#d78288}@keyframes result-rise{0%{opacity:0;transform:translateY(22px)scale(.6)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes result-word{0%{opacity:0;transform:scale(.72)translateY(15px)}45%{opacity:1;transform:scale(1.06)}60%{transform:translate(-4px)rotate(-1deg)}73%{transform:translate(4px)rotate(1deg)}85%{transform:translate(-2px)}to{opacity:1;transform:none}}@keyframes result-confetti{0%{opacity:0;transform:rotate(0)}10%{opacity:1}to{opacity:0;transform:translateY(90dvh)rotate(620deg)}}@media (width<=620px){.home-opponent>.game-portrait{width:32px;height:32px}.result-content h2{font-size:58px}.result-actions{gap:8px}.result-actions .start-challenge{min-width:120px}.result-emblem svg{width:45px;height:45px}}@media (prefers-reduced-motion:reduce){.result-content h2,.result-emblem{animation:none}.result-spark{display:none}}.energy-wallet{color:#e7f7ec;cursor:pointer;pointer-events:auto;background:#163f35;border:1px solid #83c9a6;border-radius:6px;align-items:center;gap:8px;width:132px;height:42px;padding:7px 10px;display:flex;position:absolute;top:18px;left:158px}.energy-wallet>span{text-align:left;flex:1}.energy-wallet b{font-size:15px;line-height:16px}.energy-wallet small{color:#bbd8cb;font-size:10px}.energy-wallet i{background:#0b2924;height:3px;margin-top:4px;display:block}.energy-wallet em{background:#a6ecb3;height:100%;transition:width .25s;display:block}.energy-empty{color:#ffc9ba;border-color:#eea395}.coin-wallet{justify-content:flex-start;width:124px;min-width:124px}.coin-wallet small{display:none}.coin-wallet:after{content:"金币";color:#d9c27e;flex:none;margin-left:auto;font-size:10px}.coin-wallet{gap:5px;padding-left:9px;padding-right:9px}.coin-wallet b{text-overflow:ellipsis;min-width:0;font-size:14px;overflow:hidden}.island-controls,.stone-actions{width:max-content;max-width:calc(100% - 24px)}.island-controls b{white-space:nowrap;flex:none}@media (width<=620px){.coin-wallet{width:105px;min-width:105px}}.move-practice{border-top:1px solid #b6c8b333;align-items:center;gap:5px;margin-top:10px;padding-top:10px;font-size:11px;display:flex}.move-practice span{opacity:.75;margin-left:auto}.stone-score{align-items:center;gap:15px;padding-top:12px;font-size:13px;display:flex}.stone-score>span{align-items:center;gap:5px;display:flex}.stone-score small{opacity:.75;font-size:10px}.stone-dot{border:1px solid #9daaa1;border-radius:50%;width:13px;height:13px;display:inline-block}.stone-actions>button:not(.icon-button):not(.start-challenge){color:#e3f0e5;cursor:pointer;background:#243e33;border:1px solid #b1d3bb;border-radius:4px;padding:10px 14px}.stone-actions button:disabled{opacity:.45;cursor:default}.island-entry{color:#244e49;cursor:pointer;background:#c9e2dc;border:1px solid #8bc4b6;border-radius:6px;align-items:center;gap:12px;width:100%;margin-top:16px;padding:12px 18px;display:flex}.island-entry>svg{width:24px;height:24px}.island-entry>span{text-align:left;flex:1;align-items:center;gap:12px;display:flex}.island-entry small{color:#54776c;font-size:11px}.hub-extras{align-items:stretch;gap:10px;display:flex}.piece-style-trigger{color:#d8ece4;cursor:pointer;background:#263e35;border:1px solid #88b29f;border-radius:5px;flex-shrink:0;align-items:center;gap:6px;margin-top:16px;padding:10px 14px;font-size:12px;display:flex}.in-game-style{pointer-events:auto;position:absolute;bottom:18px;right:18px}.styles-dialog{max-width:820px}.piece-style-roster{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:22px;display:grid}.piece-style-option{color:#2c453a;cursor:pointer;background:#eef4f0;border:1px solid #6c9480;border-radius:5px;padding:0;overflow:hidden}.piece-style-option[aria-pressed=true]{outline:2px solid #b8d3a7}.piece-style-option img{aspect-ratio:4/3;object-fit:contain;width:100%;display:block}.piece-style-option>span{justify-content:space-between;align-items:center;gap:5px;padding:12px;font-size:12px;display:flex}.piece-style-option small{color:#6e8c76;align-items:center;gap:3px;font-size:10px;display:flex}@media (width<=620px){.piece-style-roster{grid-template-columns:1fr;gap:10px;padding:16px}.piece-style-option img{aspect-ratio:3}.piece-style-option>span{padding:10px}.piece-style-trigger{padding:8px;font-size:10px}.hub-extras .island-entry{padding:10px}.hub-extras .island-entry small{display:none}.in-game-style{bottom:60px;right:12px}}.island-hud{pointer-events:none;color:#173c39;position:absolute;inset:0}.island-heading{text-align:center;position:absolute;top:28px;left:50%;transform:translate(-50%)}.island-heading span{color:#457571;font-size:10px}.island-heading h1{margin:5px 0;font-size:24px}.island-state{white-space:nowrap;background:#f1fbefd9;border:1px solid #a4c9b7;border-radius:4px;justify-content:center;align-items:center;gap:8px;max-width:calc(100% - 28px);padding:8px 14px;font-size:12px;display:flex;position:absolute;top:110px;left:50%;transform:translate(-50%)}.island-state small{color:#756132}.island-controls{pointer-events:auto;align-items:center;gap:8px;display:flex;position:absolute;bottom:184px;left:50%;transform:translate(-50%)}.island-controls b{background:#e9f5e7;border-radius:4px;padding:10px;font-size:12px}.house-catalog{pointer-events:auto;background:#f0f8eddc;border:1px solid #a1c2ab;border-radius:6px;gap:10px;width:min(780px,100% - 36px);padding:12px;display:flex;position:absolute;bottom:38px;left:50%;overflow-x:auto;transform:translate(-50%)}.house-product{color:#253f37;cursor:pointer;text-align:left;background:#fff;border:1px solid #c4d2c5;border-radius:4px;flex:1 0 112px;width:138px;padding:0;overflow:hidden}.house-product[aria-pressed=true]{outline:2px solid var(--house-accent)}.house-product:disabled{cursor:default}.house-product:disabled>span{opacity:.55}.house-product img{object-fit:cover;width:100%;height:85px;display:block}.house-product span{justify-content:space-between;align-items:center;gap:3px;padding:8px 6px;display:flex}.house-product b{font-size:11px}.house-product small{color:#867042;align-items:center;gap:2px;font-size:10px;display:flex}.house-product small svg{width:12px;height:12px}.theme-island .icon-button{color:#28564f;background:#edf8e9;border-color:#8ab4a8}.theme-island .energy-wallet{display:none}@media (width<=620px){.island-heading{top:66px}.island-heading h1{font-size:20px}.island-state{font-size:11px;top:121px}.house-catalog{gap:7px;width:calc(100% - 20px);padding:7px;bottom:57px}.house-product{flex-basis:104px}.house-product img{height:66px}.house-product span{flex-wrap:wrap;padding:6px}.island-controls{bottom:181px}.unified-home-content{margin-top:62px}}.energy-dialog{color:#1d3930;background:#f0f6f0;border:1px solid #93b9a5;border-radius:8px;width:min(480px,100vw - 32px);padding:24px}.energy-dialog header{justify-content:space-between;align-items:start;display:flex}.energy-dialog h2{align-items:center;gap:8px;margin:10px 0;font-size:40px;display:flex}.energy-dialog h2 small{color:#688375;font-size:20px}.energy-dialog .eyebrow{color:#446555}.energy-cells{grid-template-columns:repeat(10,1fr);gap:5px;margin:20px 0;display:grid}.energy-cells i{background:#d9e5db;border:1px solid #b7ccbc;border-radius:3px;height:27px}.energy-cells .filled{background:#57ac79;border-color:#3a8c63}.energy-rule{color:#496858;font-size:13px}.energy-stats{justify-content:space-between;margin:22px 0;font-size:12px;display:flex}.energy-stats b{margin-top:5px;font-size:18px;display:block}.energy-buy{gap:10px;margin-top:24px;display:flex}.energy-buy button{flex:1;justify-content:center;align-items:center;gap:6px;min-width:0;display:flex}.energy-buy span{align-items:center;gap:2px;font-size:12px;display:flex}.practice-summary{border-top:1px solid #90ab9245;align-items:center;gap:16px;margin:15px 0 0;padding-top:12px;font-size:11px;display:flex}.practice-summary>span{align-items:center;gap:5px;display:flex}.practice-summary small{opacity:.7}.practice-summary .daily-goal{flex-direction:column;flex:1;align-items:stretch;gap:5px}.practice-summary progress{accent-color:#8bcca8;width:100%;height:4px}.practice-line{opacity:.8;margin-top:8px;font-size:11px}.stone-actions{pointer-events:auto;align-items:center;gap:8px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.stone-actions button{justify-content:center;align-items:center;gap:6px;display:flex}.stone-actions .start-challenge{min-width:104px;padding:10px 14px}.go-size{gap:3px;margin-left:8px;display:inline-flex}.go-size button{color:inherit;cursor:pointer;background:0 0;border:1px solid #9cbca877;border-radius:3px;padding:4px 8px}.go-size button[aria-pressed=true]{color:#204637;background:#cce8d6}.chess-mode-tabs{grid-template-columns:repeat(4,1fr)}.chess-mode-tabs button{white-space:nowrap;padding-left:8px;padding-right:8px}@media (width<=620px){.energy-wallet{gap:6px;width:123px;height:38px;padding:6px 8px;top:12px;left:129px}.practice-summary{gap:8px;font-size:10px}.practice-summary small{display:none}.stone-actions{gap:5px;bottom:62px}.stone-actions .start-challenge{min-width:91px;font-size:12px}.chess-mode-tabs button{padding:10px 4px;font-size:11px}.energy-dialog{padding:20px}}.academy-home{pointer-events:auto;isolation:isolate;color:#fff;grid-template-rows:auto minmax(128px,1fr) auto auto;display:grid;position:absolute;inset:0;overflow-y:auto}.academy-background{z-index:-1;object-fit:cover;object-position:center;width:100%;height:100%;position:fixed;inset:0}.academy-header{padding:max(18px, env(safe-area-inset-top)) max(82px, calc(env(safe-area-inset-right) + 82px)) 0 max(24px, env(safe-area-inset-left));flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.academy-resources{align-items:center;gap:12px;display:flex}.academy-home .coin-wallet,.academy-home .energy-wallet{position:static}.academy-player{color:#25473b;background:#fcfff1ed;border:1px solid #b99c51;border-radius:8px;align-items:center;gap:10px;min-width:0;max-width:260px;padding:5px 10px 5px 5px;display:flex}.academy-player>span:not(.player-portrait){text-align:left;min-width:0}.academy-player b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;display:block;overflow:hidden}.academy-player small{color:#668074;margin-top:3px;font-size:11px;display:block}.player-portrait{background-repeat:no-repeat;background-size:600%;border:1px solid #bc9d53;border-radius:6px;flex:none;width:48px;height:48px;display:block}.academy-title{text-align:center;text-shadow:0 2px 3px #183d44,0 4px 16px #0f465b;align-self:center;padding:26px 20px}.academy-title p{margin:0 0 4px;font-size:15px;font-weight:700}.academy-title h1{color:#fff;margin:0;font:800 64px/1.25 Songti SC,STSong,serif}.academy-title>span{margin-top:10px;font-size:15px;display:block}.academy-menu{grid-template-columns:repeat(4,minmax(0,180px));justify-content:center;gap:24px;width:min(880px,100%);margin:0 auto;padding:0 24px 20px;display:grid}.academy-menu-button{color:#fff;background:0 0;border:0;border-radius:8px;flex-direction:column;justify-content:end;align-items:center;gap:7px;min-width:0;padding:0;display:flex}.academy-menu-button:hover{background:0 0;transform:none}.academy-menu-art{aspect-ratio:3/4;filter:drop-shadow(0 8px 5px #28483640);background-repeat:no-repeat;background-size:400% 100%;width:132px;max-width:100%;transition:transform .18s;display:block}.academy-menu-button:hover .academy-menu-art,.academy-menu-button:focus-visible .academy-menu-art{transform:translateY(-7px)}.academy-menu-label{color:#fff;background:#195d4ef5;border:1px solid #e3cb85;border-radius:6px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:44px;padding:9px 10px;display:flex;box-shadow:0 3px #143c3c,inset 0 1px #fff3}.academy-menu-label b{font-size:16px}.academy-menu-label>svg:last-child{width:14px;margin-left:auto}.academy-menu-button>small{text-shadow:0 1px 3px #142e3c,0 1px 8px #142e3c;min-height:20px;font-size:12px}.menu-shop .academy-menu-label{background:#963f4af5;box-shadow:0 3px #602c3e,inset 0 1px #fff3}.menu-island .academy-menu-label{background:#237b88f5;box-shadow:0 3px #245365,inset 0 1px #fff3}.menu-profile .academy-menu-label{color:#475838;background:#f9edbdf5;box-shadow:0 3px #a78b47,inset 0 1px #fff9}.academy-footer{min-height:52px;padding:8px 24px max(12px, env(safe-area-inset-bottom));background:#153d45c9;flex-wrap:wrap;justify-content:center;align-items:center;gap:22px;font-size:12px;display:flex}.academy-footer button{color:#fff;background:0 0;border:0;align-items:center;gap:6px;min-height:30px;padding:5px 2px;font-size:12px;display:flex}.academy-footer>span{color:#e6f0e9}.academy-home~.music-button{top:max(18px, env(safe-area-inset-top));right:max(24px, env(safe-area-inset-right))}.player-dialog{width:min(660px,100vw - 32px)}.player-identity{align-items:center;gap:18px;display:flex}.player-identity>.player-portrait{width:76px;height:88px}.player-identity label{color:#c7ded0;flex:1;min-width:0;font-size:12px;display:block}.player-identity input{color:#f3fbf4;width:100%;font:inherit;background:#142821;border:1px solid #8aa58d;border-radius:4px;margin-top:8px;padding:10px 12px;font-size:16px;display:block}.player-identity>span:not(.player-portrait){color:#e2c879;flex:none;align-items:center;gap:6px;font-size:14px;display:flex}.player-avatar-picker{border:0;margin:24px 0;padding:0}.player-avatar-picker legend{margin-bottom:10px;font-size:13px}.player-avatar-picker>div{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.player-avatar-option{cursor:pointer;min-width:0;position:relative}.player-avatar-option input{opacity:0;width:1px;height:1px;position:absolute}.player-avatar-option>.player-portrait{aspect-ratio:3/4;border:2px solid #7c9484;width:100%;height:auto}.player-avatar-option>span:last-child{color:#fff;opacity:0;background:#267052;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;bottom:4px;right:4px}.player-avatar-option input:checked~span:last-child{opacity:1}.player-avatar-option input:focus-visible~.player-portrait{outline-offset:3px;outline:2px solid #b8e0bf}.player-level-summary{border-top:1px solid var(--line);gap:22px;padding:14px 0;display:flex}.player-level-summary>span{color:#dbebdd;align-items:center;gap:7px;display:flex}.player-level-summary b{font-size:18px}.player-level-summary small{color:#a5c0b1;font-size:11px}.player-mode-progress{border-top:1px solid var(--line);gap:14px;padding:16px 0;display:grid}.player-mode-progress>div{grid-template-columns:88px 1fr 28px;align-items:center;gap:14px;display:grid}.player-mode-progress b{font-size:13px}.player-mode-progress>div>span{grid-template-columns:repeat(6,1fr);gap:5px;display:grid}.player-mode-progress i{background:#15251e;border:1px solid #617268;border-radius:2px;height:8px}.player-mode-progress small{color:#b1cab8;font-size:12px}.player-save{justify-content:flex-end;margin-top:12px;display:flex}.player-save .start-challenge{justify-content:center;align-items:center;gap:8px;min-width:156px;display:flex}.story-dialog{width:min(660px,100vw - 32px);padding:0;position:relative;overflow:hidden}.story-dialog>img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.story-dialog>div{padding:24px}.story-dialog>div>p:last-child{color:#d3e3d9;margin-bottom:0;font-size:14px;line-height:1.9}.story-close{position:absolute;top:12px;right:12px}.character-roster{grid-template-columns:repeat(6,minmax(0,1fr))}@media (width<=860px){.academy-menu{gap:16px}.academy-menu-art{width:114px}.academy-menu-label{gap:5px;padding:9px 8px}.academy-menu-label b{font-size:14px}.character-roster{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=620px){.academy-home{grid-template-rows:auto minmax(104px,1fr) auto auto}.academy-header{padding:max(12px, env(safe-area-inset-top)) max(64px, calc(env(safe-area-inset-right) + 64px)) 0 16px;gap:10px}.academy-resources{gap:10px}.academy-player{max-width:230px;margin-left:auto}.academy-player .player-portrait{width:38px;height:38px}.academy-player b{font-size:12px}.academy-player small{font-size:10px}.academy-title{padding:16px 20px}.academy-title h1{font-size:44px}.academy-title p{font-size:12px}.academy-title>span{margin-top:6px;font-size:12px}.academy-menu{grid-template-columns:repeat(2,minmax(0,156px));gap:14px 20px;padding:0 20px 16px}.academy-menu-button{gap:5px}.academy-menu-art{width:90px}.academy-menu-label{min-height:38px;padding:8px 9px}.academy-menu-label b{font-size:14px}.academy-menu-button>small{min-height:15px;font-size:10px}.academy-footer{gap:14px;padding-left:16px;padding-right:16px}.academy-footer>span{font-size:10px}.academy-home~.music-button{top:max(12px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right))}.player-identity{flex-wrap:wrap;gap:12px}.player-identity>.player-portrait{width:60px;height:70px}.player-identity label{flex-basis:calc(100% - 80px)}.player-identity>span:not(.player-portrait){margin-left:auto}.player-avatar-picker>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.player-avatar-option>.player-portrait{aspect-ratio:1}.player-level-summary{flex-wrap:wrap;gap:14px}.player-mode-progress>div{grid-template-columns:80px 1fr 24px;gap:9px}.player-save .start-challenge{width:100%}}@media (width<=560px){.character-roster{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (height<=650px){.academy-title{padding-top:12px;padding-bottom:12px}.academy-title h1{font-size:40px}.academy-menu-art{width:90px}}@media (prefers-reduced-motion:reduce){.academy-menu-art{transition:none}.academy-menu-button:hover .academy-menu-art,.academy-menu-button:focus-visible .academy-menu-art{transform:none}}.painted-icon{vertical-align:middle;background-image:url(/games/story-town/assets/ui/buttons-20-v5.webp);background-repeat:no-repeat;background-size:560.8% 448.8%;flex:none;width:22px;height:22px;display:inline-block}.ui-surface .island-modes{pointer-events:auto;color:#284c42;background:#f0f8ed;border:1px solid #82aa98;width:204px;margin:0;position:absolute;top:75px;left:50%;transform:translate(-50%)}.ui-surface .island-modes button{color:#284c42}.ui-surface .island-modes button[aria-pressed=true]{color:#fff;background:#2d7466}.island-hud .island-state{top:125px}.island-hud~.music-button{right:174px}.island-hud .game-tools{top:max(18px, env(safe-area-inset-top));bottom:auto}.walk-controls{bottom:max(26px, env(safe-area-inset-bottom));left:max(24px, env(safe-area-inset-left));pointer-events:auto;touch-action:none;grid-template-rows:repeat(2,48px);grid-template-columns:repeat(3,48px);gap:5px;display:grid;position:absolute}.walk-controls button{color:#28574f;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#edf8e9ee;border:1px solid #8ab4a8;border-radius:6px;place-items:center;width:48px;height:48px;min-height:48px;padding:0;display:grid;box-shadow:0 3px #467e7255}.walk-controls button svg{width:22px;height:22px}.walk-controls button:active{box-shadow:none;background:#9ad3bd;transform:translateY(2px)}.walk-up{grid-area:1/2}.walk-left{grid-area:2/1}.walk-down{grid-area:2/2}.walk-right{grid-area:2/3}.walk-enter{bottom:max(34px, env(safe-area-inset-bottom));right:max(28px, env(safe-area-inset-right));pointer-events:auto;color:#245244;background:#f8e6a9;border:1px solid #b6964c;border-radius:6px;align-items:center;gap:10px;max-width:calc(100% - 216px);min-height:58px;padding:10px 18px;display:flex;position:absolute;box-shadow:0 4px #5a7c5b55}.walk-enter>span{text-align:left;min-width:0;display:block}.walk-enter b{font-size:14px;display:block}.walk-enter:hover{color:#245244;background:#fff1c5}.walk-enter small{color:#627b57;margin-top:4px;font-size:11px;display:block}.island-walk-hud .island-heading{max-width:calc(100% - 320px);top:20px}.island-walk-hud .island-heading h1{text-overflow:ellipsis;white-space:nowrap;margin:2px 0;font-size:20px;overflow:hidden}.island-indoors .island-heading,.island-indoors .island-heading>span{color:#f2fbec;text-shadow:0 1px 4px #29483b}@media (width<=620px){.ui-surface .island-modes{width:194px;top:115px}.island-hud .island-state{top:165px}.island-walk-hud .island-heading{max-width:calc(100% - 32px);top:68px}.island-walk-hud .island-heading h1{margin:2px 0;font-size:18px}.walk-controls{left:max(12px, env(safe-area-inset-left));bottom:max(24px, env(safe-area-inset-bottom));grid-template-rows:repeat(2,42px);grid-template-columns:repeat(3,42px)}.walk-controls button{width:42px;height:42px;min-height:42px}.walk-enter{right:12px;bottom:max(28px, env(safe-area-inset-bottom));max-width:calc(100% - 174px);padding:10px 12px}.walk-enter b{font-size:13px}.walk-enter small{font-size:10px}.island-hud .coin-wallet{width:124px;min-width:124px}.island-hud .game-tools{top:max(12px, env(safe-area-inset-top));bottom:auto}.island-hud~.music-button{left:146px;right:auto}}.icon-button>.painted-icon{width:28px;height:28px}.coin-wallet>.painted-icon{width:25px;height:25px}.energy-wallet>.painted-icon{flex:none;width:25px;height:25px}.academy-menu{grid-template-columns:repeat(3,minmax(0,180px));gap:28px;width:min(700px,100%);padding-bottom:16px}.painted-icon.academy-menu-art{aspect-ratio:1;background-size:560.8% 448.8%;width:136px;max-width:100%;height:auto}.academy-home-actions{width:100%;padding-bottom:22px}.academy-shortcuts{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:min(780px,100%);margin:auto;padding:0 24px;display:grid}.academy-shortcuts button{color:#234b43;text-align:left;background:#f8fcf1f2;border:1px solid #baa970;border-radius:6px;align-items:center;gap:8px;min-width:0;min-height:62px;padding:8px;display:flex;box-shadow:0 3px #315f566b}.academy-shortcuts .painted-icon{width:42px;height:42px}.academy-shortcuts button>span:not(.painted-icon){flex:1;min-width:0}.academy-shortcuts b{font-size:12px;line-height:1.5;display:block}.academy-shortcuts small{color:#658079;margin-top:2px;font-size:10px;display:block}.academy-shortcuts button>svg{width:12px}.academy-footer .painted-icon{width:24px;height:24px}.player-identity label>span,.player-avatar-picker legend{align-items:center;gap:7px;display:flex}.player-avatar-picker legend{margin-bottom:12px}.player-trophies{border-top:1px solid var(--line);padding-top:14px}.player-trophies h3{align-items:center;gap:7px;margin:0 0 12px;font-size:13px;display:flex}.player-trophies>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.player-trophies figure{text-align:center;min-width:0;margin:0}.player-trophies figure>.painted-icon{aspect-ratio:1;width:88px;max-width:100%;height:auto}.player-trophies .locked>.painted-icon{filter:grayscale(.85);opacity:.5}.player-trophies figcaption b{margin-top:6px;font-size:12px;display:block}.player-trophies figcaption small{color:#b8d1c2;margin-top:3px;font-size:10px;display:block}.battle-skill>.painted-icon{justify-self:center;width:48px;height:48px}.shop-tabs .painted-icon{width:24px;height:24px}.character-state .painted-icon,.product-check .painted-icon{width:18px;height:18px}.shop-balance .painted-icon,.shop-dialog .eyebrow>.painted-icon{width:26px;height:26px}@media (width<=860px){.academy-shortcuts{gap:8px}.academy-shortcuts .painted-icon{width:34px;height:34px}}@media (width<=620px){.academy-menu{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:min(440px,100%);padding:0 16px 16px}.painted-icon.academy-menu-art{width:96px}.academy-menu-label{justify-content:space-between;gap:3px;padding:8px}.academy-menu-label b{font-size:13px}.academy-menu-label>svg:last-child{width:12px}.academy-home-actions{padding-bottom:18px}.academy-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(440px,100%);padding:0 16px}.academy-shortcuts button{gap:7px;min-height:56px}.academy-shortcuts .painted-icon{width:34px;height:34px}.academy-shortcuts b{font-size:12px}.player-trophies>div{gap:8px}.player-trophies figure>.painted-icon{width:64px}.battle-skill>.painted-icon{width:34px;height:34px}}@media (width<=360px){.academy-menu{gap:8px}.academy-menu-label b{font-size:12px}.academy-menu-label>svg:last-child{display:none}}@media (height<=650px){.painted-icon.academy-menu-art{width:86px}.academy-home-actions{padding-bottom:12px}}.casual-icon{color:currentColor;vertical-align:middle;flex:none;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.casual-icon svg{width:80%;height:80%}.academy-home{color:#244c50;background:#daf2f311}.academy-title h1{color:#435d59;font-family:system-ui,sans-serif;font-weight:700}.academy-title>span{color:#536c68}.academy-player,.academy-shortcuts button{background:#fafffff2;border-color:#c0e1de;box-shadow:0 3px #8bbeb64d}.casual-icon.academy-menu-art{aspect-ratio:auto;color:#fff;filter:none;background:#50aa9a;border:2px solid #ecfffa;border-radius:8px;width:86px;height:80px;margin:0 auto 6px;transform:rotate(-3deg);box-shadow:inset 0 -7px #348c7d,0 5px #2a695a38}.casual-icon.academy-menu-art svg{filter:drop-shadow(0 2px #256e6933);width:44px;height:44px}.menu-shop .casual-icon.academy-menu-art{background:#e99b73;transform:rotate(3deg);box-shadow:inset 0 -7px #cd7b56,0 5px #774d3330}.academy-menu-label,.menu-shop .academy-menu-label,.menu-island .academy-menu-label{color:#2c5658;background:#ffffffed;border-color:#d5eeeb;box-shadow:0 3px #80aaa65c}.academy-menu-button:hover .academy-menu-label{background:#fff;border-color:#83c9bb}.academy-menu-button>small{color:#244d51;text-shadow:0 1px 2px #fff,0 0 6px #fff}.academy-shortcuts .casual-icon{color:#389b8b;width:34px;height:34px}.academy-footer{color:#38605e;background:#f1fff0e8;border-top:1px solid #d4ece3}.academy-footer button,.academy-footer>span{color:#38605e}.home-play{text-shadow:none;background:#55ad98;border-color:#a6e1ce}@media (width<=600px){.casual-icon.academy-menu-art{width:64px;height:62px}.casual-icon.academy-menu-art svg{width:34px;height:34px}.academy-title h1{font-size:44px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--text:#314f53;--muted:#687f81;--ink:#dceef0;--panel:#f7fbf8f2;--panel-strong:#f7fbf8;--line:#c9ddd9;--gold:#99784d;--green:#398a78;--blue:#478da8;--danger:#bd665e}button{color:var(--text);border-color:var(--line);background:#f7fbf8;font-weight:650}button:hover{background:#e9f4ef;border-color:#83b5a9}button:disabled{opacity:.58}#game-root{background-color:#dceef0;background-position:50%;background-size:cover}.ui-surface{color:var(--text)}.ui-surface :is(.icon-button,.status-panel,.battle-skill,.home-shop,.rules-switch,.coin-wallet,.music-button,.energy-wallet){color:var(--text);background:#f7fbf8f2;border:1px solid #bcd7d1;border-radius:8px;box-shadow:0 3px #65978926,0 7px 20px #31565b0d}.ui-surface :is(.coin-wallet,.energy-wallet){-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.coin-wallet:after,.coin-wallet svg{color:#94774e}.energy-wallet>.casual-icon{color:#398a78}.energy-wallet small{color:#5a7e73}.energy-wallet i{background:#d7e9e1;border-radius:2px;overflow:hidden}.energy-wallet em{background:#6ba995}.ui-surface .energy-empty{color:#a75149;border-color:#d88c80}.ui-surface .icon-button:hover{background:#e6f2ee;border-color:#83b5a9}.ui-surface :is(.eyebrow,.panel-heading strong,.difficulty){color:#4b897b}.status-panel h1,.opponent-heading b{color:#314f53;font-family:inherit}.status-panel h1{font-weight:700}.opponent-avatar{background:#e2eee4;border-color:#a0c9bd}.opponent-avatar>span:not(.game-portrait){background:#f6fbf8;border-color:#b7d7ca}.opponent-avatar svg{color:#468b78}.opponent-words .speech-bubble{color:#415f58;background:#eaf3ee;border-color:#d7e6dd}.opponent-words .speech-bubble:before{background:#eaf3ee}.move-practice{color:#5c7c77;border-color:#d4e4df}.stone-dot.black{background:#344d58}.stone-dot.white{background:#f3f5e9}.message,.history-row,.capture-line{color:#526e6b}.ui-surface .battle-skill.armed{background:#deeff2;border-color:#6aa9b5;box-shadow:0 0 0 2px #91c8d944}.battle-skill small,.battle-skill em{color:#617e7e}.skill-side{color:#476d68;text-shadow:0 1px 3px #fff}.ui-surface .stone-actions>button:not(.icon-button):not(.start-challenge){color:#314f53;background:#f7fbf8;border-color:#bcd7d1;border-radius:8px}.character-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#31545a61}.ui-surface .character-dialog,.product-preview-dialog,.energy-dialog,.promotion-card{color:#314f53;background:#f7fbf8;border:1px solid #c0d8d1;border-radius:8px;box-shadow:0 20px 65px #234c5630}.character-dialog h2,.shop-dialog h2,.product-preview-dialog h2{font-family:inherit;font-weight:700}.character-dialog-header{border-color:#d4e4df}.ui-surface .character-dialog-footer,.ui-surface .shop-footer{background:#f7fbf8;border-color:#d4e4df}.character-dialog-footer p,.character-caption small,.character-unlock,.skin-caption>span,.shop-toolbar>span{color:#6a817e}.character-dialog-footer b,.character-caption b,.skin-caption b{color:#314f53}.character-art{background:#dcece5;border:1px solid #c2dcd1;border-radius:8px}.theme-xiangqi .character-art{border:1px solid #c2dcd1;border-radius:8px}.character-art>img{object-fit:cover;object-position:center}.character-number,.theme-xiangqi .character-number{color:#41665d;background:#f5faf5eb;border-radius:4px}.character-state{color:#418674;background:#f5faf5ed;border-color:#bcd7cd}.character-option:has(input:checked) .character-art{border-color:#71a995;box-shadow:0 0 0 2px #86baa62e}.character-option:has(input:disabled) .character-art{filter:saturate(.5)}.ui-surface .start-challenge,.ui-surface .rules-switch button[aria-pressed=true]{color:#fff;background:#4c9685;border-color:#4c9685;box-shadow:0 3px #327c6d}.ui-surface .start-challenge:hover{background:#428976}.ui-surface .start-challenge:disabled{color:#6d847d;box-shadow:none;background:#dce8e1;border-color:#cadbd2}.shop-tabs{background:#e7f0eb;border-color:#d3e3da}.shop-tabs button{color:#647d77}.shop-tabs button[aria-selected=true]{color:#317d6d;background:#fff;box-shadow:0 2px 5px #547a6c14}.shop-header-actions .shop-balance{color:#98704d;background:#fff3e7;border-color:#ebd9c5}.catalog-option{background:#fff;border-color:#d2e2d9}.catalog-option:has(input:checked){background:#f0f8f3;border-color:#7cb49e;box-shadow:0 0 0 1px #7cb49e}.catalog-option .skin-caption{color:#314f53}.product-check{color:#fff;background:#4c9685;border-color:#fff}.product-tag{color:#496f62;background:#f6fbf6ed}.product-swatches i{border-color:#acc6c0}.preview-button,.piece-style-trigger{color:#466960;background:#edf4f0;border-color:#bad4c8}.shop-footer>div:first-child small{color:#94754f}.board-art,.full-product-art{background:#e3eee8}.effect-art,.effect-demo,.full-product-art.effect-demo{background:#deeff3}.product-preview-overlay{background:#31545abf}.scene-full-preview .full-product-art{background:#e4efec}.player-identity label,.player-mode-progress small,.player-trophies figcaption small,.story-dialog>div>p:last-child{color:#698078}.player-identity input{color:#314f53;background:#fff;border-color:#b8d2c6;border-radius:6px}.player-identity>span:not(.player-portrait){color:#94774e}.player-portrait,.player-avatar-option>.player-portrait{border-color:#bad4c8;border-radius:8px}.player-avatar-option input:checked~.player-portrait{border-color:#4c9685}.player-level-summary>span,.player-mode-progress b{color:#496d61}.player-level-summary small{color:#728a80}.player-mode-progress i{background:#dce9e2;border-color:#c1d9cc}.player-mode-progress i.unlocked{background:#80b99f;border-color:#80b99f}.player-trophies .earned figcaption small{color:#3a8871}.ui-surface .unified-hub{background:#e9f4f0e8}.unified-home-content>header{text-shadow:none}.unified-home-content h1{color:#314f53;font-family:inherit;font-size:34px}.chess-carousel-viewport{border:1px solid #c5dcd2;border-radius:8px}.carousel-enter{color:#314f53;background:#dcebe6}.carousel-enter:after{background:#f6fbf5ed;border-top:1px solid #ffffffb8;height:114px;inset:auto 0 0}.carousel-title{color:#314f53}.carousel-title b,.theme-xiangqi .carousel-title b,.theme-chess .carousel-title b{font-family:inherit;font-size:28px}.carousel-title small{color:#538c7a}.chess-mode-tabs{border-color:#c5dcd2}.chess-mode-tabs button{color:#657f77}.ui-surface .chess-mode-tabs button[aria-pressed=true]{color:#347f6c;box-shadow:inset 0 -3px #6ca995}.home-opponent{color:#314f53;background:#f7fbf8;border-color:#c5dcd2}.home-opponent small,.practice-panel small{color:#6a817e}.practice-panel{color:#496d61;background:#f3f9f5;border-color:#c5dcd2}.academy-background{filter:saturate(.75)brightness(1.04)}.academy-title{color:#526f6e;text-shadow:0 1px 4px #fff}.academy-title h1{color:#426462}.casual-icon.academy-menu-art{background:#6bab99;border-color:#f3fbf5;box-shadow:inset 0 -6px #4f8f7e,0 5px #5c877727}.menu-shop .casual-icon.academy-menu-art{background:#dba18d;box-shadow:inset 0 -6px #bf806e,0 5px #8c675326}.menu-island .casual-icon.academy-menu-art{background:#85b8c7;box-shadow:inset 0 -6px #6399ac,0 5px #527a8a26}.academy-player,.academy-shortcuts button{color:#41675f;background:#f8fcf8f2;border-color:#c4dcd2}.academy-shortcuts .casual-icon{color:#629b87}.ui-surface .academy-shortcuts button>.casual-icon{flex:0 0 34px}.academy-footer{background:#f3f9f3ed;border-color:#d6e5db}.academy-menu-label,.menu-shop .academy-menu-label,.menu-island .academy-menu-label{color:#466962;background:#f8fcf7f5;border-color:#cfe0d6}.house-catalog{background:#f7fbf5ed;border-color:#bcd8cb;box-shadow:0 4px #83a99624}.house-product{border-color:#d0e2d7;border-radius:8px}.house-product img{object-fit:contain;background:#e4eee8}.house-product small{color:#94774e}.ui-surface .island-modes{background:#f7fbf8;border-color:#bcd7d1}.walk-controls button,.walk-enter{border-color:#bcd7d1;border-radius:8px}.walk-enter{color:#6e694e;background:#f6e5cd}.game-result{background:#e6f1e9db}.result-content h2{color:#468a72;text-shadow:none;font-family:inherit}.result-loss h2{color:#bd7168;text-shadow:none}.result-draw h2{color:#59879c;text-shadow:none}.result-side{color:#648079}.promotion-options button{background:#e6f1e9}@media (width<=620px){.ui-surface .coin-wallet{gap:4px;width:112px;min-width:112px;padding-inline:8px}.coin-wallet b{font-size:12px}.coin-wallet>.casual-icon{width:20px;height:20px}.coin-wallet:after{font-size:9px}.ui-surface .energy-wallet{left:136px}.unified-home-content h1{font-size:27px}.carousel-title b,.theme-xiangqi .carousel-title b,.theme-chess .carousel-title b{font-size:23px}.carousel-enter:after{height:92px}.shop-dialog .scene-roster{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=360px){.ui-surface .academy-shortcuts button>.casual-icon{flex-basis:26px;width:26px;height:26px}.academy-shortcuts button{gap:6px}.academy-shortcuts button>svg:last-child{display:none}.academy-shortcuts b{font-size:11px}}
