.immersive .page{max-width:none;padding:0;min-height:100dvh}.combat-header{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:calc(6px + env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) 5px;border-bottom:1px solid #354b53;min-height:50px;background:#10232bdc}.combat-header button{font-size:12px;background:none;border:0;min-height:44px;padding:8px}.combat-header>span{font-size:10px;color:#b2c3be}.page-prepare{max-width:900px!important;margin:auto!important;padding:0 18px 25px!important}.enemy-preview{display:flex;align-items:center;padding:20px 0;gap:12px}.enemy-preview>div:first-child{width:64%}.enemy-preview h1{font-size:26px;margin-top:10px}.enemy-preview>.portrait,.enemy-preview>.portrait-placeholder{width:36%;height:230px}.enemy-preview .stats{grid-template-columns:1fr 1fr;gap:0 10px}.enemy-preview .stats dt{font-size:11px}.enemy-preview .stats dd{font-size:14px}.ready-hero{display:flex;align-items:center;gap:15px;border:1px solid #485c5d;background:#1e353d;padding:16px;margin:15px 0;border-radius:15px}.ready-hero>.portrait,.ready-hero>.portrait-placeholder{width:35%;height:180px}.ready-hero>div{flex:1;min-width:0}.ready-hero p{font-size:13px}.page-prepare>.primary,.page-prepare>button{width:100%;margin:7px 0}.story-reader{height:100dvh;display:flex;flex-direction:column;background:#101f29}.story-reader>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:calc(5px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 5px;min-height:55px;position:relative;z-index:2}.story-reader>header>span{flex:1;min-width:0;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#bdc7bd}.story-reader>header button{background:none;border:none;padding:8px 4px;min-height:44px;font-size:12px;flex:none}.story-image{position:relative;flex:1;min-height:140px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#111e29}.story-image:before{content:"";position:absolute;inset:-20px;background-image:linear-gradient(#101f2966,#101f2999),var(--scene);background-size:cover;background-position:center;filter:blur(20px);opacity:.5}.story-image>img{position:relative;width:100%;height:100%;object-fit:contain;max-height:48dvh}.dialogue{position:relative;border-top:1px solid #8a8664;background:#192e37;padding:20px 20px calc(10px + env(safe-area-inset-bottom));flex-shrink:0}.dialogue h2{color:#e2c895;margin:4px 0 10px;font-size:19px}.dialogue>p{font-size:16px;line-height:1.9;max-height:27dvh;overflow-y:auto;color:#e0e7e2;min-height:80px;white-space:pre-wrap;margin-bottom:18px}.dialogue>footer{display:flex;align-items:center;gap:5px;justify-content:space-between}.dialogue>footer button{font-size:12px;min-height:44px;padding:8px 10px}.dialogue>footer small{font-size:10px;flex:1;text-align:center}.story-transcript p{padding:15px 0;border-bottom:1px solid #3c535c}.story-transcript b{color:#e3cb9d}.battle-screen{min-height:100dvh;background:#11222b}.battle-layout{max-width:1100px;margin:auto}.health-row{display:flex;justify-content:space-between;gap:20px;padding:10px 15px 6px}.health{width:47%;min-width:0}.health>strong{font-size:12px;font-weight:500;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.health>div{height:6px;border-radius:4px;background:#31434c;overflow:hidden;margin:5px 0}.health>div>i{display:block;height:100%;background:#92c9b6;transition:width .18s ease-out}.health-enemy>div>i{background:#c89486}.health-enemy{text-align:right}.health>small{display:block;font-size:10px;font-variant-numeric:tabular-nums}.battle-stage{height:clamp(170px,31dvh,320px);position:relative;background-size:cover;background-position:center;overflow:hidden;border-block:1px solid #4b5c5d}.battle-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(#10202b00,#10232b25 60%,#10202be6)}.fighter{position:absolute;height:85%;width:44%;bottom:4%;display:flex;align-items:center;justify-content:center}.fighter-hero{left:1%}.fighter-enemy{right:1%}.fighter .portrait{filter:drop-shadow(0 6px 5px #0004)}.fighter.reviving{animation:revive-glow .5s ease-in-out infinite alternate}.fighter .portrait-placeholder{height:100%}.tokens{position:absolute;top:8px;max-width:47%;z-index:5}.tokens-hero{left:8px}.tokens-enemy{right:8px}.state-row,.mark-row{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-start;margin-bottom:6px}.tokens-enemy .state-row,.tokens-enemy .mark-row{justify-content:flex-end}.status-token,.mark-token{min-width:32px;min-height:36px;padding:4px;border:1px solid #88b5a4;background:#132c35e8;border-radius:6px;gap:2px;font-size:13px}.status-token>span{font-size:20px;line-height:1}.status-token.negative{border-color:#cb9d91;color:#e3ad9a}.status-token b,.mark-token b{font-size:11px}.mark-token{border-style:dashed;border-color:#b8a4c7;color:#cabbe0;min-width:44px}.mark-icons{display:flex}.mark-icons .element{width:12px;height:20px;font-size:12px}.tokens button:after{content:"";position:absolute;inset:-4px;pointer-events:none}.atb-panel{padding:9px 18px 13px}.atb-label{display:flex;justify-content:space-between;align-items:center}.atb-label small{font-size:8px;letter-spacing:2px}.atb-label b{font-size:11px;color:#d5c7a5;font-weight:400}.atb{height:5px;background:linear-gradient(90deg,#385760,#b6c8ad);position:relative;margin:17px 15px 9px}.atb-marker{position:absolute;top:-11px;width:27px;height:27px;transform:translate(-50%);border:1px solid #a1c3b4;border-radius:50%;overflow:hidden;background:#20343c;transition:left .4s linear}.atb-marker.enemy{top:-7px;border-color:#e3b3a1;width:22px;height:22px}.atb-marker>.portrait{object-fit:cover}.atb-finish{position:absolute;left:94%;top:-7px;font-size:9px;background:#18343c;z-index:1;color:#d5d4ad;padding:0 4px;border-left:1px solid #d0bb8b}.battle-dock{padding:0 12px calc(8px + env(safe-area-inset-bottom))}.enemy-usage{border:1px solid #3d555d;border-radius:10px;padding:6px 10px 7px;margin-bottom:9px;background:#19303a}.enemy-usage>div:first-child{display:flex;justify-content:space-between;align-items:center;height:23px}.enemy-usage>div>small{font-size:10px}.enemy-usage .text-button{font-size:10px;min-height:24px;padding:0 4px}.enemy-chips{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px}.enemy-chips>button{min-height:44px;flex-direction:column;gap:0;padding:2px;background:transparent;border:0;font-size:11px}.enemy-chips small{font-size:8px}.enemy-chips .element{height:20px;width:20px;font-size:19px}.enemy-chips .cooling{opacity:.5}.skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.skill-grid .skill-button{height:49px;min-height:49px;padding:5px 9px;gap:7px;justify-content:flex-start;background:#2b454b;border-color:#526861;border-radius:9px;min-width:0}.skill-button>span:last-child{display:flex;flex-direction:column;text-align:left;min-width:0;gap:2px}.skill-button strong{font-size:12px;font-weight:500;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.skill-button small{font-size:9px;color:#afc0b8}.skill-button:disabled{background:#1c323a;opacity:.48}.skill-button>.element{font-size:23px;width:23px}.wait-button{width:100%;min-height:40px;height:40px;padding:5px;margin-top:7px;background:#1b333b;color:#afc6c6;font-size:12px}.log-button{font-size:10px;min-height:26px;width:100%;padding:3px!important}.battle-log article{border-left:2px solid #78978a;padding:13px 14px;background:#112831;border-radius:0 10px 10px 0;margin:18px 0}.battle-log header{font-size:11px;color:#d7c395;display:flex;gap:10px;flex-wrap:wrap}.battle-log header b{font-weight:500}.battle-log p{font-size:12px;margin:8px 0;overflow-wrap:anywhere}.battle-log summary{font-size:11px;min-height:32px}.battle-result{max-width:700px;margin:auto;padding:35px 22px calc(30px + env(safe-area-inset-bottom));text-align:center}.battle-result h1{font-size:28px;margin:15px 0}.battle-result>.portrait,.battle-result>.portrait-placeholder{height:250px}.battle-result>button{width:100%;margin:7px 0}.battle-result>details{text-align:left}.floating-number{position:absolute;left:50%;top:40%;transform:translate(-50%);font-size:35px;font-weight:700;color:#ffdfb4;text-shadow:0 2px 5px #000;z-index:8;animation:float-damage .6s ease-out}.combo-banner{position:absolute;top:27%;left:50%;transform:translate(-50%);width:max-content;max-width:90%;background:#16252bef;border-block:1px solid #ddc39b;padding:13px 35px;text-align:center;z-index:10}.combo-banner small{display:block;font-size:10px;letter-spacing:3px}.combo-banner b{color:#ebd2b1;font-size:22px}.battle-fx{pointer-events:none;position:absolute;z-index:6;top:48%;left:20%;width:50%;height:10px;border-radius:50%;box-shadow:0 0 15px currentColor;background:currentColor;animation:projectile .6s ease-in forwards;color:#dce5e5}.battle-fx.from-enemy{left:auto;right:20%;animation-name:projectile-left}.fx-fire{color:#f3a16b}.fx-water{color:#8dcce6}.fx-wind{color:#a8d5b3}.fx-earth{color:#cdb18c;height:30px;width:30px}.fx-light{color:#e8d8a6}.fx-dark{color:#b49ed1}.fx-physical{color:#ddd4b7;clip-path:polygon(0 35%,75% 35%,75% 0,100% 50%,75% 100%,75% 65%,0 65%);height:20px}.fx-electric{color:#95dce8;height:35px;background:repeating-linear-gradient(135deg,transparent,transparent 8px,#9be2e9 9px,#9be2e9 11px);border-radius:0}.fx-bound,.fx-scatter{width:38%;height:72%;top:12%;left:3%;border:2px dashed #9ad6df;background:transparent;animation:electric-pulse .3s ease-in-out infinite;border-radius:40%}.fx-bound.from-enemy,.fx-scatter.from-enemy{right:3%;left:auto;animation-name:electric-pulse}.fx-scatter{animation:electric-scatter 1.3s ease-out forwards!important}.fx-revive{display:none}@keyframes projectile{0%{transform:translate(0) scaleX(.2);opacity:.6}to{transform:translate(60%) scaleX(.9);opacity:1}}@keyframes projectile-left{0%{transform:translate(0) scaleX(.2)}to{transform:translate(-60%) scaleX(.9)}}@keyframes revive-glow{0%{filter:drop-shadow(0 0 3px #e3dab0)}to{filter:drop-shadow(0 0 17px #fff0a9) brightness(1.3)}}@keyframes float-damage{0%{margin-top:20px;opacity:0}to{margin-top:-10px;opacity:1}}@keyframes electric-pulse{50%{border-radius:30%;opacity:.55;rotate:4deg}}@keyframes electric-scatter{to{scale:1.7;opacity:0}}@media(max-width:370px){.battle-stage{height:170px}.health-row{padding-top:5px}.battle-dock{padding:0 9px 5px}.skill-grid{gap:5px}.skill-grid .skill-button{height:45px;min-height:45px}.enemy-usage{margin-bottom:6px}.atb-panel{padding:6px 15px 10px}}@media(orientation:landscape)and (min-width:600px){.battle-screen{height:100dvh;overflow:auto}.battle-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,34%);gap:10px;padding:0 max(12px,env(safe-area-inset-right)) 10px}.battle-stage{height:calc(100dvh - 176px);min-height:175px}.health-row{padding:8px 5px 5px}.battle-dock{padding:9px 0 0}.enemy-usage{padding:4px 5px;margin-bottom:6px}.skill-grid .skill-button{height:45px;min-height:45px;padding:4px 5px;gap:3px}.skill-button strong{font-size:11px}.skill-button small{font-size:8px}.wait-button{min-height:36px;height:36px;margin-top:5px}.atb-panel{padding:7px 12px}.combat-header{padding-top:env(safe-area-inset-top);min-height:45px}.story-reader{position:relative}.story-reader>.story-image{position:absolute;inset:0}.story-reader>.story-image>img{height:100%;width:100%;max-height:none;object-fit:contain}.story-reader>header{background:#10232baa}.dialogue{margin-top:auto;width:100%;padding:12px max(25px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom));background:#142931eb;max-height:50dvh;z-index:1}.dialogue>.eyebrow{display:none}.dialogue>p{max-height:18dvh;min-height:0;line-height:1.7;font-size:14px;margin-bottom:7px}.dialogue h2{font-size:15px;margin:0 0 5px}.dialogue footer{justify-content:flex-end;gap:10px}.dialogue footer small{flex:none}.story-reader>header{z-index:3}}.tokens .status-token,.tokens .mark-token{min-width:44px;min-height:44px;position:relative}.battle-screen .wait-button{min-height:48px;height:48px}.battle-screen .log-button,.battle-screen .enemy-usage .text-button{min-height:44px}.state-icon{height:23px;width:23px;flex-shrink:0;color:inherit}.battle-screen .skill-grid .skill-button{min-height:48px;height:48px}@media(orientation:landscape)and (min-width:600px){.battle-dock{padding-top:3px}.enemy-usage{margin-bottom:3px}}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#e6e9e5;background:#111d29;font-synthesis:none;line-height:1.65;font-size:15px;--muted:#9cafb7;--gold:#d5bc88;--aqua:#a5d7ce;--line:#31454f;--panel:#182c36e8;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{min-height:48px;border:1px solid #445861;background:#21343d;color:#e8ece7;border-radius:12px;padding:11px 17px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.4;touch-action:manipulation}button:active{transform:translateY(1px)}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--aqua);outline-offset:3px}button.primary{background:#d6bc89;color:#192a30;border:1px solid #e9d8b4;font-weight:700}button.danger{color:#ffc0b6;border-color:#aa6969}button.text-button{background:transparent;border-color:transparent;color:var(--muted);padding:8px 5px}button.subtle{background:#203d45bb;border-color:#4b6970;min-height:44px}h1,h2,h3,h4,p{margin:0 0 14px}h1{font-size:28px;font-weight:650;letter-spacing:1px;line-height:1.4}h2{font-size:21px;line-height:1.5}h3{font-size:17px}small{font-size:12px;color:var(--muted)}p{color:#c1cfd0}label{display:flex;flex-direction:column;gap:7px;margin:14px 0;color:#c8d8d8}input,select,textarea{width:100%;min-height:48px;padding:11px 13px;border:1px solid #50636b;border-radius:10px;background:#11232e;color:#edf2ed;font-size:16px}input[type=checkbox]{width:20px;height:20px;min-height:20px;flex-shrink:0;accent-color:var(--aqua)}.check{flex-direction:row;align-items:flex-start;padding:8px 0;min-height:44px}.check>span{line-height:1.6}.icon{width:22px;height:22px;flex:none}.icon-button{width:44px;height:44px;min-height:44px;padding:0;font-size:28px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:#b4bfae;display:block;line-height:1.8}.center{text-align:center}.fineprint{color:var(--muted);font-size:12px;margin-top:20px}.notice{padding:12px;border:1px solid #7c7150;border-radius:9px;background:#483f2522}.empty{min-height:45vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty .icon{width:48px;height:48px;color:var(--gold);margin-bottom:20px}.game{min-height:100dvh;position:relative;background:linear-gradient(#111d2988,#111d29 70%)}.game:before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(#111d2977,#111d29ee),var(--world-bg);background-size:cover;background-position:50% 30%;opacity:.6}.page{max-width:900px;margin:auto;padding:20px 20px calc(100px + env(safe-area-inset-bottom));min-height:70dvh}.topbar{height:calc(70px + env(safe-area-inset-top));padding:calc(12px + env(safe-area-inset-top)) 20px 12px;display:flex;align-items:center;justify-content:space-between;max-width:940px;margin:auto;border-bottom:1px solid #ffffff10}.brand{display:flex;align-items:center;gap:9px;cursor:pointer}.brand img{width:34px;height:40px}.brand>span{font-size:16px;letter-spacing:2px;font-weight:600}.brand small{font-size:8px;letter-spacing:2px;display:block}.account-chip{min-height:38px;width:38px;border-radius:50%;padding:0;color:var(--gold);font-size:16px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;padding:7px max(10px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom));background:#13252df5;border-top:1px solid #455653;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.bottom-nav button{flex:1;min-width:0;background:transparent;border:none;color:#8fa8b0;font-size:11px;padding:4px;gap:3px;display:flex;flex-direction:column;min-height:52px}.bottom-nav button.selected{color:#e8ce9d}.bottom-nav button.selected:before{content:"";width:16px;height:2px;background:var(--gold);position:absolute;top:0}.bottom-nav .icon{height:22px;width:22px}.section-head{display:flex;justify-content:space-between;align-items:center;margin:20px 0 14px;gap:10px}.section-head h2{margin:3px 0}.panel{border:1px solid #3a5059;background:var(--panel);padding:20px;border-radius:17px;margin:16px 0}.panel h3{color:#d8d7be}.panel p:last-child{margin-bottom:0}.panel .section-head{margin:0 0 12px}.panel>button.primary,.sheet>button,.creation-frame>button,.explore-panel>button{width:100%}.tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:16px;overflow-x:auto;scrollbar-width:none}.tabs button{background:none;border:none;border-radius:0;flex:none;min-height:48px;padding:10px 15px;color:#a4b8ba;font-size:14px}.tabs .selected{color:#ead4a8;border-bottom:2px solid var(--gold)}details{margin:12px 0}summary{cursor:pointer;min-height:44px;padding:9px 0;color:#cfdbd8}details p{font-size:13px;overflow-wrap:anywhere}details[open]>summary{margin-bottom:10px}.sticky-action{position:sticky;bottom:12px;width:100%;z-index:2;box-shadow:0 2px 22px #10232edd}.home-hero{display:flex;align-items:center;justify-content:space-between;min-height:250px;position:relative;padding:10px 0}.home-hero>div{z-index:1;width:58%}.home-hero h1{font-size:30px;letter-spacing:2px;margin:12px 0}.home-hero p{font-size:13px;max-width:180px}.home-hero .portrait,.home-hero .portrait-placeholder{width:52%;height:250px;position:absolute;right:-12px;bottom:0;object-fit:contain}.portrait{width:100%;height:100%;object-fit:contain;display:block}.portrait-placeholder{height:200px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#a4b7bb;background:radial-gradient(ellipse,#4c716440,transparent 65%)}.portrait-placeholder>span{font-size:64px;color:#c4b884}.portrait-placeholder small{letter-spacing:2px}.daily-panel{background:#173039e8;border-color:#45616a}.daily-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.daily-buttons button{background:#233b43;border:1px solid #425b60;border-radius:12px;display:flex;flex-direction:column;gap:5px;min-height:105px;padding:10px 5px}.daily-buttons button>span{font-size:25px;color:#d8cda8}.daily-buttons b{font-weight:500;font-size:13px}.daily-buttons small{font-size:10px}.explore-panel{padding:27px 22px;background:linear-gradient(125deg,#28424ae6,#1a3036f7);border:1px solid #4f6a6a;border-radius:18px;margin:23px 0;position:relative;overflow:hidden}.explore-panel:before{content:"◈";position:absolute;right:-12px;top:-28px;font-size:160px;line-height:1;color:#c3cfb208;pointer-events:none}.explore-panel h2{font-size:22px;margin:12px 0}.explore-panel>small:last-child{display:block;text-align:center;margin-top:12px;font-size:11px}.story-continue{width:100%;text-align:left;justify-content:space-between;background:#29373c;border:1px solid #726b51;padding:20px}.story-continue>span{display:flex;flex-direction:column;gap:5px}.story-continue strong{font-size:20px;color:#e6cfa4}.story-continue small{font-size:10px;letter-spacing:1px}.story-continue span>span{font-size:13px;color:#acbebd}.tip{border-top:1px solid #43564f;margin:28px 0 0;padding:15px 4px}.tip small{color:#c9b88c;letter-spacing:2px}.tip p{font-size:13px;margin:8px 0;color:#9db5b9}.login{min-height:100dvh;display:grid;align-content:center;max-width:900px;margin:auto;padding:30px 24px 20px;background:radial-gradient(ellipse at 70% 15%,#35555b70,transparent 50%)}.login-art{position:relative;padding:15px 0 22px;overflow:hidden}.login-art>img{width:60px;height:60px;margin-bottom:28px}.login-art h1{font-size:39px;font-family:Georgia,Songti SC,serif;margin:12px 0 20px;letter-spacing:3px;line-height:1.5;color:#ece6d6}.login-art p{font-size:13px}.orbit{position:absolute;border:1px solid #8fb8af30;pointer-events:none;border-radius:50%;width:220px;height:280px;top:0;right:-55px;rotate:27deg}.orbit.o2{width:200px;height:260px;rotate:50deg;right:-37px;top:8px}.login-form{border-top:1px solid #38505a;padding:22px 0 0}.login-form h2{font-size:19px}.login-form>button{width:100%;margin-top:10px}.login-form>small{display:block;text-align:center;font-size:10px;margin-top:15px}.welcome{padding-top:25px}.welcome h1{font-size:30px;margin:18px 0}.welcome img{width:100%;aspect-ratio:3/2;object-fit:cover;border:1px solid #6b765e;border-radius:6px;margin:18px 0 26px}.welcome .primary{width:100%}.creation-frame{text-align:center;border:1px solid #657466;padding:38px 25px;border-radius:20px;margin-top:26px;background:linear-gradient(#27404888,#18303b99)}.creation-frame h2{margin-top:28px}.creation-frame p{font-size:14px}.photo-outline{height:170px;width:130px;margin:auto;rotate:7deg;border:1px solid #a7ac89;padding:20px;display:grid;place-content:center;border-bottom-width:30px}.photo-outline .icon{width:45px;height:45px;color:#c8bb91}.hero-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.hero-title h1{margin:6px 0}.constitution{font-size:12px;border:1px solid #726b4d;border-radius:30px;color:var(--gold);padding:4px 12px}.hero-title>button{min-height:44px;font-size:13px;flex:none}.hero-display{height:340px;position:relative;background:radial-gradient(ellipse at 50% 55%,#45665c5c,transparent 65%);margin:10px -20px 0}.hero-display>.portrait{height:295px;padding-top:5px}.hero-caption{text-align:center;position:absolute;bottom:4px;width:100%;display:flex;flex-direction:column;gap:4px}.hero-caption>span{font-size:11px;letter-spacing:2px;color:#a3b4b0}.hero-caption>strong{font-size:12px;font-weight:500;color:#d7d2bd}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin:0}.stats>div{display:flex;justify-content:space-between;gap:8px;align-items:baseline;padding:11px 0;border-bottom:1px solid #49606a55;min-width:0}.stats dt{color:#adbdc0;font-size:12px}.stats dd{margin:0;font-size:16px;font-variant-numeric:tabular-nums;color:#e6e2ce}.comparison{margin:0}.comparison>div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #3c5159;padding:12px 0}.comparison dt{color:#aebfc1}.comparison dd{margin:0;color:#a7bbbb;font-variant-numeric:tabular-nums}.comparison dd span{padding:0 18px;color:#667f86}.comparison dd b{color:#e8d1a1;font-size:20px}.resistances{display:grid;grid-template-columns:1.1fr repeat(3,1fr);gap:0;text-align:right;font-size:13px}.resistances>*{border-bottom:1px solid #40535a;padding:10px 0;font-weight:400}.resistances>:nth-child(4n+1){text-align:left}.resistances>:nth-child(-n+4){color:#a4b8bc;font-size:11px}.resistances strong{color:#dfcda6}.inventory-row,.character-choice{width:100%;text-align:left;justify-content:flex-start;gap:12px;padding:12px 0;background:none;border:0;border-bottom:1px solid #3a505a;border-radius:0}.inventory-row>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:4px}.inventory-row b{font-weight:500}.inventory-row small{font-size:11px}.inventory-row>span:last-child{font-size:12px;color:#b4c3c5}.element{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;color:#d6d4ba;flex:none}.element-water{color:#93cce6}.element-fire{color:#eba98f}.element-wind{color:#9fcdb3}.element-light{color:#f4e0a5}.element-dark{color:#b8a4d6}.element-earth{color:#cdb082}.art-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.art-grid article{border:1px solid #3a535a;background:#24343d66;border-radius:12px;padding:12px;text-align:center}.art-grid .portrait,.art-grid .portrait-placeholder{height:150px}.art-grid h3{font-size:14px;margin:8px 0 0}.character-choice{background:#1d333be8;padding:12px;margin:12px 0;border:1px solid #455c60;border-radius:12px}.character-choice>.portrait,.character-choice>.portrait-placeholder{width:64px;height:74px;flex:none}.character-choice>span{display:flex;flex-direction:column;flex:1}.character-choice b{font-size:17px;font-weight:500}.character-choice small{font-size:11px;margin-top:3px}.loadout h3{margin:25px 0 8px}.loadout h3 small{font-size:11px;display:block;font-weight:400}.loadout select{font-size:14px}.loadout .check{font-size:13px;padding:9px}.loadout .adapted{font-size:12px;color:#c6c095;margin:10px 0}.advice{border:1px solid #45696b;background:#1a3a4166;padding:10px 14px;border-radius:12px}.advice p{font-size:12px}.prologue-card{width:100%;background:linear-gradient(115deg,#34453f,#24333a);border-color:#817b5d;align-items:flex-start;flex-direction:column;gap:6px;padding:24px}.prologue-card strong{font-size:23px;color:#dfd6b6}.prologue-card small{letter-spacing:3px}.prologue-card>span{font-size:12px;color:#b9c9c3}.chapter{border:1px solid #465d64;background:#182c35;border-radius:16px;overflow:hidden;margin:22px 0;padding-bottom:17px}.chapter-cover{height:145px;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:20px;position:relative;gap:15px}.chapter-cover:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent,#142630ed)}.chapter-cover>*{position:relative}.chapter-cover>span{font-family:Georgia,serif;color:#e3d1a4;font-size:42px;line-height:1.2}.chapter-cover h2{margin:0;letter-spacing:2px}.chapter>p{margin:16px 18px;font-size:13px}.chapter>button{margin:0 18px;width:calc(100% - 36px);font-size:13px}.chapter.locked{opacity:.5}.chapter-nodes{margin:20px 18px 0;border-top:1px solid #465b60}.chapter-node{display:flex;gap:12px;padding:17px 0 12px;border-bottom:1px solid #3c515a}.chapter-node>span{font:20px Georgia,serif;color:#d7c29a}.chapter-node h3{font-size:15px;margin:0 0 4px}.chapter-node>div{min-width:0;flex:1}.node-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.node-actions>button{padding:8px 10px;font-size:11px;min-height:44px}.record>summary{display:flex;align-items:center;gap:12px}.record summary>img{width:58px;height:65px;object-fit:cover;border-radius:6px}.record summary>span{display:flex;flex-direction:column;gap:4px;flex:1}.record summary b{font-size:14px;font-weight:500}.scrim{position:fixed;inset:0;z-index:100;background:#06131ac9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px 16px calc(20px + env(safe-area-inset-bottom))}.sheet{background:#192e38;border:1px solid #5b716f;border-radius:20px;width:100%;max-width:560px;max-height:calc(100dvh - 65px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;padding:24px;box-shadow:0 20px 80px #0006}.sheet>header{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:22px}.sheet>header h2{margin:4px 0 0;font-size:21px}.sheet>header .eyebrow{font-size:9px}.sheet>button{margin:10px 0 0}.sheet p{font-size:14px}.sheet.roster-sheet{max-height:48dvh;align-self:flex-end}.photo-preview{max-height:35dvh;background:#0d1f2a;border-radius:10px;overflow:hidden}.photo-preview img{width:100%;max-height:35dvh;object-fit:contain}.photo-sheet .check{font-size:12px}.photo-sheet>small{display:block;margin-top:18px;font-size:11px}.processing{text-align:center;padding:30px 0}.portal-loader{width:70px;height:90px;border:2px solid #91b7ab;border-radius:50%;margin:20px auto 35px;box-shadow:inset 0 0 25px #a0d3b72b;animation:portal-spin 2.5s ease-in-out infinite}.loading{height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center}.result-thumb{width:100%;height:130px;object-fit:contain;background:#0f252d;border-radius:8px;margin-bottom:20px}.reward-name{font-size:24px;color:#e5cda3;line-height:1.5;margin:15px 0}.talent-heading{display:flex;gap:15px;align-items:center;margin-bottom:20px}.talent-heading img{width:70px;height:80px;object-fit:cover;border:1px solid #66745b;rotate:-5deg;border-bottom-width:9px}.talent-heading h3{margin:4px 0}.talent-bars>div{display:flex;position:relative;align-items:baseline;gap:12px;padding:13px 0 15px;border-bottom:1px solid #36505a}.talent-bars span{flex:1}.talent-bars b{font-size:21px;font-weight:500;color:#e2c99b;font-variant-numeric:tabular-nums}.talent-bars i{position:absolute;bottom:0;left:0;height:2px;background:#9cc4b6;max-width:100%;animation:talent-fill 1s ease-out}.talent-bars small{font-size:11px}.narrative{border-left:2px solid #93876b;padding-left:14px;margin:22px 0}.narrative p{font-size:12px}.created{text-align:center;padding:20px 0}.created>span{font-size:80px;color:#d2bc88}.daily-animation,.growth-animation{text-align:center;min-height:200px;padding:20px 0}.reward-number{font:500 56px/1.3 Georgia,serif;color:#e3c891;min-height:75px;margin:15px 0;font-variant-numeric:tabular-nums}.reward-symbol{display:block;font-size:65px;line-height:1;color:#a4cfc6}.rolling .reward-number{filter:blur(3px);animation:number-roll .15s linear infinite}.reveal-copy{text-align:center;animation:reveal .35s ease-out}.fortune-cylinder{margin:0 auto;position:relative;width:68px;height:80px;border:2px solid #c7a875;border-radius:7px 7px 14px 14px;background:#8b5e4444;display:grid;place-content:center;transform-origin:50% 90%}.fortune-cylinder b{font-size:32px;color:#ddbd8e;font-family:serif}.fortune-cylinder i{position:absolute;top:-25px;height:38px;width:8px;border:1px solid #d3b888;background:#a0916a;left:10px;rotate:-12deg}.fortune-cylinder i:nth-child(2){left:29px;rotate:0deg;top:-32px}.fortune-cylinder i:nth-child(3){left:48px;rotate:13deg}.rolling .fortune-cylinder{animation:shake .22s linear infinite}.card-deck{display:flex;gap:8px;margin:10px -5px}.event-card{padding:8px 6px;width:33.33%;height:170px;min-width:0;display:flex;flex-direction:column;background:repeating-linear-gradient(45deg,#2c4447,#2c4447 5px,#294046 5px 10px);border-color:#a29972;transition:transform .5s}.event-card>span{font-size:35px;color:#d6c38e}.event-card small{font-size:10px}.event-card.flipped{background:#d4c19c;transform:rotateY(0);color:#253538}.event-card.flipped>span{font-size:16px;color:#29443d}.event-card strong{font-size:14px;line-height:1.8}.die{margin:0 auto;width:90px;height:90px;border-radius:19px;border:2px solid #e0cba0;background:#c8baa4;color:#223844;display:grid;place-content:center;box-shadow:inset -8px -8px #77674e44}.die svg{width:80px;height:80px}.die>span{font-size:48px}.rolling .die{animation:dice-roll .4s linear infinite}.treasure{width:120px;height:100px;position:relative;margin:25px auto 38px}.chest-base,.chest-lid{position:absolute;left:0;width:120px;border:3px solid #cfb280;background:#715b49;border-radius:9px}.chest-base{height:60px;bottom:0;display:grid;place-content:center;font-size:30px;color:#f2dbad}.chest-lid{height:35px;top:14px;z-index:2;transform-origin:bottom;transition:transform .7s}.chest-glow{position:absolute;inset:-30px;background:radial-gradient(#ead39466,transparent 65%);opacity:0;pointer-events:none;transition:opacity 1s}.opened .chest-lid{transform:translateY(-25px) rotateX(-60deg)}.opened .chest-glow{opacity:1}.offline{background:#654b2a;color:#ffe8be;font-size:12px;padding:8px 15px;text-align:center;position:sticky;top:0;z-index:50}.toast{position:fixed;bottom:calc(100px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:200;background:#e2d2af;color:#1c3037;padding:12px 18px;border-radius:10px;max-width:90vw;width:max-content;font-size:13px;box-shadow:0 8px 30px #0007}.saving-indicator{position:fixed;top:env(safe-area-inset-top);right:10px;background:#244a51e8;color:#c1dad1;padding:3px 10px;font-size:10px;border-radius:0 0 8px 8px;z-index:150}@keyframes portal-spin{50%{transform:rotateY(45deg);box-shadow:inset 0 0 40px #a0d3b74b}}@keyframes talent-fill{0%{width:0}}@keyframes number-roll{50%{translate:0 -4px}}@keyframes shake{25%{rotate:-12deg}75%{rotate:12deg}}@keyframes dice-roll{50%{rotate:180deg;translate:0 -10px}to{rotate:360deg}}@keyframes reveal{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}@media(min-width:700px){.page{padding:30px 40px 115px}.home-hero{min-height:320px}.home-hero .portrait{height:340px;width:45%}.home-hero h1{font-size:40px}.home-hero p{max-width:none}.daily-buttons button{min-height:130px}.login{grid-template-columns:1fr 1fr;gap:70px;padding:50px}.login-form{border:0}.hero-display{height:400px}.hero-display>.portrait{height:360px}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.art-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.chapter-cover{height:210px}.bottom-nav{max-width:900px;margin:auto;border-inline:1px solid #3b5559;border-radius:18px 18px 0 0}}@media(max-height:550px)and (orientation:landscape){.page{padding:15px 25px 90px}.topbar{height:50px}.home-hero{min-height:180px}.home-hero .portrait{height:220px}.scrim{padding:12px 24px}.sheet{max-height:calc(100dvh - 24px);padding:18px 24px;max-width:660px}.sheet>header{margin-bottom:10px}.hero-display{height:220px}.hero-display>.portrait{height:190px}.daily-animation,.growth-animation{min-height:130px;padding:5px 0}.card-deck{max-width:350px;margin:auto}.event-card{height:130px}.login{grid-template-columns:1fr 1fr;gap:25px;padding:15px 30px}.login-art h1{font-size:30px}.login-art>img{width:45px;height:45px;margin-bottom:12px}.login-form{border:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}html[data-reduce-motion=true] *,html[data-reduce-motion=true] *:before,html[data-reduce-motion=true] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.world-unlock{text-align:center;padding:22px 5px}.world-unlock>span{display:block;font-size:64px;color:#ddc18f;animation:connection-unlock 1.2s ease both}.world-unlock>small{letter-spacing:3px;color:#b9cdbd}.world-unlock p{color:#b5c7c4}@keyframes connection-unlock{0%{transform:scale(.5) rotate(-35deg);opacity:0;filter:blur(8px)}to{transform:scale(1);opacity:1;filter:blur(0)}}.resume-reading{position:fixed;bottom:calc(80px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:min(90vw,420px);background:#354a48;border-color:#d1bc85;box-shadow:0 6px 30px #0008;z-index:12}
