@import url('data:text/css,');
:root{font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:#3c493a;background:#e3e9d8;font-synthesis:none;--sage:#718a64;--sage-dark:#465f42;--cream:#f8f6ed;--gold:#e9bd61;--muted:#86917b;--line:#e8eade;--safe:0px;--safe:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}body{display:flex;justify-content:center}button{font:inherit;color:inherit;border:0;cursor:pointer;touch-action:manipulation}button:disabled{opacity:.45;cursor:default}button:focus-visible{outline:3px solid #adbd83;outline-offset:2px}button,canvas{-webkit-user-select:none;user-select:none}button:active:not(:disabled){transform:scale(.965)}[hidden]{display:none!important}#app{position:relative;display:flex;flex-direction:column;width:100%;max-width:520px;height:100%;height:100vh;height:100dvh;background:var(--cream);overflow:hidden;box-shadow:0 0 90px rgba(100,115,84,0.13333)}.topbar{height:calc(75px + 0px);height:calc(75px + env(safe-area-inset-top,0px));padding:calc(14px + 0px) 18px 12px;padding:calc(14px + env(safe-area-inset-top,0px)) 18px 12px;display:flex;justify-content:space-between;align-items:center;flex:none;z-index:3;background:#f8f6ed}.brand{display:flex;grid-gap:10px;gap:10px;align-items:center}.brand-mark{width:37px;height:40px;border-radius:45% 45% 40% 40%;background:#f1cd67;color:#756436;display:grid;place-items:center;font-weight:900;font-size:18px;box-shadow:inset 0 -4px rgba(230,187,89,0.2)}.brand h1{font-size:18px;letter-spacing:.6px;margin:0 0 4px;font-weight:850}.brand p{font-size:10px;color:var(--muted);margin:0;letter-spacing:.6px}.top-tools{display:flex;grid-gap:7px;gap:7px;align-items:center}.currency{display:flex;align-items:center;grid-gap:5px;gap:5px;min-height:40px;padding:0 10px;border-radius:30px;background:#efe8d5}.currency span{font-size:16px}.currency b{font-size:15px}.currency .plus{font-size:15px;color:#aa955e;padding-left:3px}.icon-btn{height:42px;width:38px;background:none;display:grid;place-items:center}.icon-btn svg{width:22px;height:22px;fill:none;stroke:#88937f;stroke-width:1.6}.care-status{padding:2px 18px 13px;display:flex;grid-gap:9px;gap:9px;z-index:2;flex:none;background:#f8f6ed}.status-pill{flex:1;display:flex;align-items:center;grid-gap:7px;gap:7px;min-width:0;border:1px solid #e8e9db;border-radius:12px;padding:8px;background:#fffdf6}.status-pill>span{font-size:20px}.status-pill>div{flex:1}.status-pill p{margin:0 0 5px;font-size:9px;white-space:nowrap;color:#84907b}.status-pill b{float:right;font-size:10px;color:#69775e;font-weight:750}.status-pill i{height:4px;display:block;background:#edeede;border-radius:3px;overflow:hidden}.status-pill em{height:100%;display:block;transition:width .4s;background:#dca687;border-radius:3px}.status-pill:nth-child(2) em{background:#9bbab7}.status-pill:nth-child(3) em{background:#d9bc70}#stage{position:relative;flex:1;min-height:0;isolation:isolate;overflow:hidden;background:#e9eedf}#scene{height:100%;width:100%;display:block;touch-action:none}.room-caption{position:absolute;left:20px;top:14px;display:flex;align-items:center;grid-gap:7px;gap:7px;font-size:10px;letter-spacing:2px;color:#829077;pointer-events:none}.live-dot{height:5px;width:5px;border-radius:50%;background:#96a788}.room-line{height:1px;width:32px;background:rgba(165,178,148,0.33333)}.friend-chip{position:absolute;left:16px;top:38px;min-height:46px;display:flex;align-items:center;grid-gap:7px;gap:7px;background:rgba(251,251,239,0.80784);border:1px solid rgba(255,255,255,0.53333);border-radius:14px;padding:7px 10px;text-align:left;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.friend-chip>span{font-size:28px;line-height:1;color:#b39758}.friend-chip b{display:block;font-size:11px;font-weight:650}.friend-chip small{display:block;font-size:9px;color:#8a947a;margin-top:3px}.side-tools{position:absolute;right:12px;top:17px;display:flex;flex-direction:column;grid-gap:8px;gap:8px}.round-tool{width:45px;min-height:55px;border-radius:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;grid-gap:2px;gap:2px;background:rgba(251,251,239,0.80392);border:1px solid rgba(255,255,255,0.6);position:relative}.round-tool svg{width:22px;height:22px;fill:none;stroke:#7c8c6c;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.round-tool span{font-size:9px;letter-spacing:1px;color:#728264}.round-tool i{position:absolute;top:6px;right:6px;width:7px;height:7px;background:#d98e66;border:1.5px solid #fff;border-radius:50%}.speech{position:absolute;top:21%;left:50%;transform:translateX(-50%);width:max-content;max-width:76%;padding:10px 15px;background:rgba(255,253,242,0.92941);border:1px solid #fff;border-radius:16px;font-size:12px;box-shadow:0 3px 10px rgba(116,130,90,0.03922);text-align:center;pointer-events:none;transition:opacity .25s}.speech i{position:absolute;bottom:-5px;left:47%;width:9px;height:9px;transform:rotate(45deg);background:#fffdf2}.idle-hint{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);white-space:nowrap;padding:9px 16px;border-radius:20px;background:rgba(255,255,241,0.73333);color:#7d8a70;font-size:10px;letter-spacing:1px;border:1px solid rgba(255,255,255,0.6);display:flex;grid-gap:8px;gap:8px;align-items:center}.hint-dot{width:4px;height:4px;border-radius:50%;background:#b8a168}.bottom-nav{height:calc(78px + var(--safe));padding:8px 15px calc(8px + var(--safe));background:#fbf9f0;border-top:1px solid #e1e6d5;display:flex;grid-gap:8px;gap:8px;z-index:4;flex:none}.bottom-nav button{flex:1;border-radius:16px;background:transparent;display:flex;flex-direction:column;grid-gap:3px;gap:3px;align-items:center;justify-content:center;min-height:55px;transition:background .2s}.bottom-nav button.selected{background:#eaf0dd}.nav-icon{font-size:25px;line-height:27px;filter:saturate(.8)}.bottom-nav b{font-size:10px;font-weight:600;letter-spacing:2px;color:#829075}.bottom-nav button.selected b{color:#526c44}.loading-card{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;z-index:15;background:#eaf0e0;display:flex;flex-direction:column;align-items:center;justify-content:center;grid-gap:12px;gap:12px}.loading-face{font-size:38px;color:#826f3b;background:#efd270;width:94px;height:108px;display:grid;place-items:center;border-radius:45% 45% 37% 37%;animation:breathe 2s ease-in-out infinite}.loading-card b{font-size:14px;letter-spacing:1px}.loading-card>span{font-size:11px;color:#8a967f}.loading-track{width:120px;height:4px;background:#dce4cb;border-radius:8px;overflow:hidden}.loading-track i{display:block;width:6%;height:100%;background:#a7b980;transition:width .3s}@keyframes breathe{50%{transform:translateY(-5px) scale(1.02,.98)}}.feed-tray,.bath-bar{position:absolute;left:12px;right:12px;bottom:12px;background:rgba(255,253,244,0.94902);border:1px solid white;border-radius:20px;padding:10px 13px 9px;box-shadow:0 10px 26px rgba(89,101,68,0.07451);z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tray-top{display:flex;align-items:center;justify-content:space-between}.tray-top>b,.bath-bar b{font-size:11px;font-weight:650}.tiny-close{height:32px;width:34px;font-size:23px;background:none;color:#9ca28c;margin:-5px -6px}.food-list{display:flex;grid-gap:8px;gap:8px;margin:2px 0 6px}.food-item{flex:1;min-width:0;background:#f3f1e5;border-radius:12px;padding:5px 0;min-height:65px;touch-action:none;border:1px solid transparent}.food-item.selected{border-color:#b5bf83;background:#edf0d8}.food-item .food-symbol{display:block;font-size:27px;line-height:30px}.food-item small{display:block;font-size:9px;margin-top:3px;color:#869071}.food-item.locked{filter:grayscale(.7);opacity:.60}.feed-tray>p{font-size:9px;color:#949b86;text-align:center;margin:2px 0 0}.food-ghost{position:fixed;z-index:50;pointer-events:none;font-size:50px;transform:translate(-50%,-65%);filter:drop-shadow(0 6px 5px rgba(77,87,51,0.18824))}.bath-bar>div:first-child{display:flex;justify-content:space-between;grid-gap:8px;gap:8px}.bath-bar span{font-size:10px;color:#93a087}.wash-track{height:5px;margin:10px 0;background:#e2e8d7;border-radius:6px;overflow:hidden}.wash-track i{width:0;background:#a1bbad;display:block;height:100%;transition:width .2s}.bath-actions{display:flex;grid-gap:8px;gap:8px}.button{min-height:44px;border-radius:12px;font-size:12px;font-weight:650;padding:10px 16px;display:inline-flex;justify-content:center;align-items:center;grid-gap:6px;gap:6px}.primary{background:#778f64;color:#fffdf3}.ghost{background:#eff0e4;color:#879274}.gold{background:#efd388;color:#756039}.bath-actions button{flex:1}.action-bar{position:absolute;left:16px;right:16px;bottom:14px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,253,243,0.92549);border-radius:16px;padding:7px 10px 7px 15px;font-size:11px}.action-bar button{min-height:38px;padding:8px 12px;border-radius:10px;background:#e9eddd;font-size:10px;color:#7a8968}.sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;background:rgba(44,59,45,0.25098);z-index:20;display:flex;align-items:flex-end;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sheet{background:#fbfaf2;width:100%;max-height:86%;border-radius:28px 28px 0 0;box-shadow:0 -8px 50px rgba(59,70,35,0.14902);display:flex;flex-direction:column;padding-bottom:var(--safe);animation:up .2s ease-out}.sheet-handle{width:34px;height:4px;border-radius:10px;margin:10px auto 3px;background:#dce1d0;flex:none}.sheet-head{display:flex;justify-content:space-between;align-items:center;padding:16px 22px 13px;flex:none}.sheet-head span{font-size:8px;letter-spacing:2px;color:#b1b89d}.sheet-head h2{font-size:21px;letter-spacing:1px;margin:5px 0 0;font-weight:750}.close-sheet{width:42px;height:42px;background:#efefe2;border-radius:50%;font-size:25px;color:#91a080}.sheet-content{padding:0 20px 20px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.sheet-intro{font-size:11px;line-height:1.8;color:#959e88;margin:0 0 16px}.section-label{display:flex;align-items:center;grid-gap:8px;gap:8px;margin:21px 0 11px;font-size:12px;font-weight:700}.section-label span{font-size:9px;color:#a3aa97;font-weight:500}.game-cards{display:grid;grid-template-columns:1fr 1fr;grid-gap:11px;gap:11px}.game-card{padding:16px 12px 12px;border-radius:19px;text-align:left;min-height:185px;position:relative;overflow:hidden}.game-card.catch{background:#f1e4bd}.game-card.bubbles{background:#dfeae2}.game-illustration{font-size:47px;display:block;height:66px;line-height:60px;position:relative;z-index:1}.game-card::after{content:'';width:120px;height:120px;background:rgba(255,255,255,0.26667);position:absolute;right:-30px;top:-24px;border-radius:50%}.game-card h3{font-size:15px;margin:9px 0 5px}.game-card p{font-size:9px;color:#859077;margin:0 0 12px;line-height:1.5}.game-card .play-now{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:700}.game-card .play-now>span{height:28px;width:28px;border-radius:50%;background:rgba(255,255,255,0.53333);display:grid;place-items:center}.quick-actions{display:flex;grid-gap:8px;gap:8px}.quick-actions button{flex:1;background:#f0f1e6;border-radius:12px;min-height:53px;font-size:11px}.quick-actions span{display:block;font-size:19px;margin-bottom:3px}.journal-tabs{display:flex;padding:4px;background:#eeeee1;border-radius:13px;margin-bottom:14px;grid-gap:4px;gap:4px}.journal-tabs button{flex:1;min-height:36px;border-radius:10px;background:none;font-size:11px;color:#8a947a}.journal-tabs button.active{background:#fffdf6;color:#5d7050;box-shadow:0 2px 4px rgba(68,85,40,0.02745)}.list-card{background:#fffef7;border:1px solid #e7eadb;border-radius:15px;padding:12px;display:flex;align-items:center;grid-gap:11px;gap:11px;margin-bottom:9px}.list-icon{width:39px;height:41px;flex:none;display:grid;place-items:center;border-radius:12px;background:#f0f0df;font-size:23px}.list-copy{flex:1;min-width:0}.list-copy h3{font-size:12px;margin:0 0 5px}.list-copy p{font-size:9px;color:#9ca58c;margin:0;line-height:1.5}.claim{min-height:39px;min-width:66px;border-radius:11px;font-size:10px;font-weight:650;padding:7px 8px;background:#f3d994;color:#876c32}.claim.done{background:#eef1e6;color:#a1ac8f}.claim:disabled{opacity:1;background:#eff0e6;color:#a9af9d}.small-progress{height:4px;width:90%;max-width:160px;background:#edf0e1;margin-top:7px;border-radius:3px;overflow:hidden}.small-progress i{height:100%;display:block;background:#b3c095}.shop-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.shop-card{border:1px solid #e8eadb;border-radius:16px;background:#fffef6;padding:13px;display:flex;flex-direction:column;min-height:185px}.shop-symbol{font-size:35px;padding:6px 0 10px}.shop-card h3{font-size:12px;margin:0 0 5px}.shop-card p{font-size:9px;line-height:1.6;color:#9aa388;margin:0 0 11px;flex:1}.shop-card button{min-height:37px;font-size:10px;background:#f0d997;color:#857044;border-radius:10px;font-weight:650}.shop-card button.owned{background:#e9eddd;color:#839572}.shop-card button.equipped{background:#82946d;color:#fffdf2}.album-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.memory{background:white;border:1px solid #ececdc;padding:8px 8px 12px;border-radius:4px;box-shadow:0 4px 10px rgba(91,99,79,0.02353);transform:rotate(-1deg)}.memory:nth-child(even){transform:rotate(1deg)}.memory-picture{background:linear-gradient(130deg,#e9ead5,#f3ddb0);border-radius:2px;height:96px;display:grid;place-items:center;font-size:42px}.memory.locked .memory-picture{background:#eef0e7;filter:grayscale(1);opacity:.65}.memory h3{font-size:11px;margin:10px 5px 5px}.memory p{font-size:8px;line-height:1.7;color:#9ca58e;margin:0 5px}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid #e9ecde;grid-gap:12px;gap:12px}.settings-row b{font-size:12px}.settings-row p{font-size:9px;color:#969f89;line-height:1.7;margin:5px 0 0}.toggle{background:#dfe5d3;width:48px;height:29px;border-radius:20px;position:relative;flex:none}.toggle.on{background:#8eaa78}.toggle::after{content:'';position:absolute;width:21px;height:21px;background:#fff;top:4px;left:4px;border-radius:50%;box-shadow:0 1px 3px rgba(86,100,68,0.13333);transition:left .2s}.toggle.on::after{left:23px}.quality-options{display:flex;grid-gap:7px;gap:7px;margin-top:12px}.quality-options button{flex:1;background:#edeee1;border-radius:9px;font-size:10px;min-height:37px}.quality-options button.active{background:#849972;color:#fff}.notice{border-radius:13px;padding:12px;background:#eff1e6;color:#8a987b;font-size:10px;line-height:1.8;margin-top:15px}.save-note{font-size:9px;color:#a3ab94;text-align:center;margin:20px 0 4px}.toast{position:absolute;bottom:calc(96px + var(--safe));left:50%;transform:translateX(-50%);padding:11px 17px;border-radius:15px;background:rgba(71,93,62,0.94902);color:#fffcee;font-size:12px;z-index:80;max-width:90%;width:max-content;box-shadow:0 5px 20px rgba(41,55,32,0.09412);pointer-events:none;text-align:center}.mini{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;z-index:10;background:linear-gradient(#f1edda,#e7eddc)}.mini-top{position:absolute;top:14px;left:13px;right:13px;z-index:2;display:flex;align-items:center;grid-gap:10px;gap:10px}.mini-top>button{width:39px;height:39px;border-radius:12px;background:#fffdf3;font-size:23px;color:#849271}.mini-top>div:nth-child(2){flex:1}.mini-top b{display:block;font-size:13px}.mini-top span{display:block;font-size:8px;color:#97a087;margin-top:4px}.timer{border:1px solid #ffffff;border-radius:13px;padding:7px 12px;background:rgba(255,253,241,0.53333);display:flex;align-items:baseline;grid-gap:3px;gap:3px}.timer b{font-size:20px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mini-score{position:absolute;top:80px;left:0;right:0;text-align:center;pointer-events:none;z-index:2}.mini-score>span{font-size:9px;letter-spacing:3px;color:#a2aa90;display:block}.mini-score>b{font-size:43px;letter-spacing:-2px;display:block;color:#718260;line-height:1.25;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mini-score small{font-size:10px;color:#b0995b}.mini canvas{width:100%;height:100%;display:block;touch-action:none}.mini-hint{position:absolute;bottom:13px;left:0;right:0;text-align:center;font-size:9px;letter-spacing:1px;color:#9ba587;pointer-events:none}.result{text-align:center;padding:10px 0}.result-symbol{font-size:58px}.result>h3{font-size:22px;margin:14px 0 5px}.result>p{font-size:11px;color:#9ca68e;margin:0 0 17px}.result-score{display:flex;justify-content:center;grid-gap:42px;gap:42px;margin:24px 0}.result-score b{font-size:27px;display:block;color:#839569}.result-score span{font-size:10px;display:block;color:#a4ad96;margin-top:5px}.result-reward{background:#f4e8bf;color:#958053;display:inline-flex;grid-gap:8px;gap:8px;padding:10px 18px;border-radius:12px;font-size:13px;margin-bottom:22px}.result-buttons{display:flex;grid-gap:9px;gap:9px}.result-buttons>button{flex:1}.tutorial-art{font-size:63px;text-align:center;padding:12px}.tutorial-title{text-align:center;font-size:20px;line-height:1.6;margin:8px 0 12px}.tutorial-items{display:grid;grid-gap:10px;gap:10px;margin:20px 0}.tutorial-items>div{display:flex;grid-gap:10px;gap:10px;align-items:center;font-size:11px;color:#8e9c7d;padding:10px;border-radius:12px;background:#eff1e4}.tutorial-items span{font-size:25px}.tutorial-items b{color:#657754;display:block;font-size:12px;margin-bottom:3px}.wide{width:100%}.friend-card{text-align:center;padding:10px}.friend-heart{font-size:65px}.friend-card h3{font-size:23px;margin:9px 0}.friend-card p{font-size:11px;line-height:1.9;color:#919f80}.friend-track{height:8px;overflow:hidden;background:#e5e9d6;border-radius:8px;margin:18px 0 9px}.friend-track i{display:block;height:100%;background:#d6b96d}.friend-card small{font-size:10px;color:#a4ae93}@keyframes up{from{transform:translateY(30px);opacity:.7}to{transform:translateY(0);opacity:1}}@media(max-width:360px){.topbar{padding-left:12px;padding-right:10px}.brand h1{font-size:16px}.brand p{font-size:8px}.brand-mark{width:32px;height:36px}.top-tools{grid-gap:2px;gap:2px}.care-status{padding-left:12px;padding-right:12px;grid-gap:6px;gap:6px}.status-pill{padding:7px 5px;grid-gap:4px;gap:4px}.status-pill>span{font-size:18px}.speech{font-size:11px}.sheet-head{padding-left:18px}.sheet-content{padding-left:15px;padding-right:15px}}@media(max-height:690px){.topbar{height:calc(64px + 0px);height:calc(64px + env(safe-area-inset-top,0px));padding-top:calc(9px + 0px);padding-top:calc(9px + env(safe-area-inset-top,0px));padding-bottom:8px}.care-status{padding-bottom:9px}.status-pill{padding-top:6px;padding-bottom:6px}.bottom-nav{height:calc(68px + var(--safe));padding-top:4px;padding-bottom:calc(4px + var(--safe))}.friend-chip{top:31px;padding:5px 8px;min-height:40px}.room-caption{top:10px}.speech{top:24%;padding:8px 12px}.side-tools{grid-gap:5px;gap:5px;top:11px}.round-tool{min-height:49px;width:42px}.idle-hint{bottom:14px}.feed-tray{padding-top:6px;padding-bottom:7px;bottom:8px}.food-item{min-height:56px}.food-item .food-symbol{font-size:23px;line-height:25px}.mini-score{top:66px}.mini-score>b{font-size:32px}.mini-score>span{font-size:8px}.mini-top{top:9px}}@media(orientation:landscape) and (max-height:560px){#app{max-width:none;padding-right:80px}.topbar{height:56px;position:absolute;left:0;right:80px;background:rgba(248,246,237,0.92157);z-index:3}.care-status{position:absolute;left:15px;bottom:12px;width:265px;background:none;padding:0}.status-pill{background:rgba(255,253,244,0.87451)}.bottom-nav{position:absolute;top:0;right:0;bottom:0;height:100%;width:80px;flex-direction:column;padding:8px 9px;grid-gap:8px;gap:8px;border-top:0;border-left:1px solid #e1e6d5}.bottom-nav button{min-height:45px}#stage{height:100%}.room-caption,.friend-chip{left:14px}.room-caption{top:73px}.friend-chip{top:92px}.side-tools{top:67px}.speech{top:25%;left:52%}.idle-hint{left:auto;right:18px;transform:none;bottom:17px}.sheet-backdrop{right:80px}.sheet{max-width:520px;margin:0 auto;max-height:94%}.mini{top:56px}.feed-tray,.bath-bar{left:auto;width:290px;right:12px}.action-bar{left:auto;width:260px}.sheet-head{padding-top:8px;padding-bottom:10px}.toast{bottom:25px}.mini-score{top:54px}.mini-score>b{font-size:28px}}
/* Sheet content stays readable and finger-sized without lengthening the home screen. */
.sheet-intro{font-size:12px}.list-copy h3,.shop-card h3,.settings-row b{font-size:14px}.list-copy p,.shop-card p,.settings-row p{font-size:11px;line-height:1.75}.claim,.shop-card button,.quality-options button,.journal-tabs button{min-height:44px}.claim,.shop-card button,.quality-options button{font-size:12px}.list-card{padding:13px}.shop-card{min-height:210px}.game-card h3{font-size:16px}.game-card p,.game-card .play-now{font-size:11px}.game-card{min-height:199px}.section-label{font-size:14px}.memory h3{font-size:12px}.memory p{font-size:10px}.notice{font-size:11px}.save-note{font-size:10px}.tiny-close{height:44px;width:44px;margin:-9px -9px}.action-bar button{min-height:44px;min-width:66px;font-size:11px}.mini-top>button{width:44px;height:44px}.mini-hint{font-size:11px}.mini-top span{font-size:10px}.friend-card p{font-size:12px}.friend-card small{font-size:11px}.tutorial-items>div{font-size:12px}.tutorial-items b{font-size:13px}.feed-tray>p{font-size:10px}.food-item small{font-size:10px}.round-tool{min-width:44px;min-height:55px}.icon-btn{min-width:44px;min-height:44px}.close-sheet{min-width:44px;min-height:44px}.toggle{min-height:32px}.toggle::before{content:'';position:absolute;top:-6px;right:0;bottom:-6px;left:0;inset:-6px 0}.toggle::after{top:5.5px}
/* Keep pet speech above the room so it never covers the character. */
#speech.speech{position:relative;top:auto;right:auto;bottom:auto;left:auto;inset:auto;transform:none;width:100%;max-width:none;flex:none;min-height:36px;margin:0;padding:6px 14px 10px;border:0;border-radius:0;box-shadow:none;background:var(--cream);font-size:12px;line-height:1.5;z-index:3}
#speech.speech i{display:none}
@media(orientation:landscape) and (max-height:560px){#speech.speech{position:absolute;top:56px;left:0;right:80px;width:auto;min-height:30px;padding:4px 12px}#stage{margin-top:88px;height:calc(100% - 88px)}.room-caption{top:8px}.friend-chip{top:26px}.side-tools{top:8px}.mini{top:0}}
/* Main controller uses the same card design for the two game entries. */
.play-cards{display:grid;grid-template-columns:1fr 1fr;grid-gap:11px;gap:11px}.play-card{position:relative;overflow:hidden;text-align:left;padding:16px 13px;border-radius:19px;min-height:199px;background:#f1e4bd}.play-card:nth-child(2){background:#dfeae2}.play-card::after{content:'';position:absolute;right:-25px;top:-25px;width:116px;height:116px;border-radius:50%;background:rgba(255,255,255,0.23922);pointer-events:none}.play-card h3{font-size:16px;margin:14px 0 8px}.play-card p{font-size:11px;color:#869077;line-height:1.8;margin:0}.list-row{background:#fffef7;border:1px solid #e7eadb;border-radius:15px;padding:13px;display:flex;align-items:center;grid-gap:11px;gap:11px;margin-bottom:9px}

/* Snack express keeps the same renderer and character, with a full portrait viewport. */
.runner-mode #app>:not(#stage):not(.runner-ui):not(.achievement-toast):not(.affection-feedback):not(#sheetBackdrop){display:none!important}.runner-mode #stage{margin:0;height:100%;flex:1}.runner-mode #stage>:not(#scene){display:none!important}.runner-entry{width:100%;padding:20px;text-align:left;background:#287c72;color:#fff9e8;border-radius:18px;margin-bottom:14px}.runner-entry b{display:block;font-size:18px}.runner-entry span{display:block;font-size:11px;margin-top:9px}.runner-ui{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;z-index:60;padding:0px 0 0px;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px);pointer-events:none;touch-action:none;color:#294741}.runner-hud{position:absolute;top:calc(12px + 0px);top:calc(12px + env(safe-area-inset-top,0px));left:12px;right:12px;padding:12px 16px;border-radius:16px;background:rgba(255,249,232,0.92941);display:grid;grid-template-columns:1fr 1fr;align-items:center}.runner-hud>b{font-size:27px}.runner-hud strong{text-align:right;font-size:19px}.runner-hud small{grid-column:1/3;text-align:center;color:#438276;font-size:12px;margin-top:6px}.runner-powers{position:absolute;top:calc(110px + 0px);top:calc(110px + env(safe-area-inset-top,0px));left:15px;right:15px;min-height:24px;text-align:center;font-size:12px;font-weight:700}.runner-notice{position:absolute;top:calc(142px + 0px);top:calc(142px + env(safe-area-inset-top,0px));left:12px;right:12px;text-align:center;font-size:14px;font-weight:700;text-shadow:0 1px 5px #fff}.runner-swipe{position:absolute;top:190px;right:0;bottom:155px;left:0;inset:190px 0 155px;pointer-events:auto;touch-action:none}.runner-options{position:absolute;bottom:calc(100px + 0px);bottom:calc(100px + env(safe-area-inset-bottom,0px));left:12px;right:12px;display:flex;justify-content:space-between}.runner-options button,.runner-controls button{pointer-events:auto;min-height:44px;padding:9px 15px;border-radius:12px;background:rgba(255,249,232,0.87059)}.runner-controls{position:absolute;bottom:calc(19px + 0px);bottom:calc(19px + env(safe-area-inset-bottom,0px));left:12px;right:12px;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:9px;gap:9px}.runner-controls button{height:54px;font-size:16px;font-weight:750;background:rgba(40,124,114,0.9098);color:#fff9e8}.runner-modal{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;background:rgba(19,54,48,0.65098);display:flex;align-items:center;justify-content:center;pointer-events:auto;padding:16px}.runner-modal>section{width:100%;max-width:410px;padding:28px 22px 19px;background:#fff9e8;border-radius:24px;text-align:center;max-height:94%;overflow:auto}.runner-tag{font-size:9px;letter-spacing:2px;color:#74978b}.runner-modal h2{font-size:26px;margin:17px 0 20px}.runner-modal p{font-size:13px;line-height:1.9;margin:0 0 24px}.runner-modal>section>button{display:block;width:100%;min-height:46px;border-radius:13px;margin-top:9px;background:#e6ead9}.runner-modal .run-primary{background:#287c72;color:#fff9e8;font-size:18px;font-weight:bold;min-height:56px}.runner-modal .run-motion{font-size:12px;background:transparent;min-height:38px}

.runner-mode #app{padding:0}



.runner-impact{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;pointer-events:none;z-index:8;background:radial-gradient(ellipse at center,transparent 45%,#ef7953 100%);opacity:0}

/* v0.5 growth and compact, nonblocking achievement celebration. */
.currency{flex-wrap:wrap;max-width:118px;grid-gap:3px 5px;gap:3px 5px}.wallet-stars{color:#97703c;font-size:11px;display:block}.wallet-stars b{font-size:11px}.achievement-toast{position:absolute;z-index:140;left:50%;top:calc(0px + 10px);top:calc(env(safe-area-inset-top,0px) + 10px);transform:translateX(-50%);height:58px;border-radius:40px;background:linear-gradient(100deg,#644832,#956b40);color:#fff5dc;display:flex;align-items:center;box-shadow:0 8px 22px rgba(80,55,27,0.25098);border:1px solid rgba(238,211,150,0.53333);pointer-events:none;overflow:hidden}.achievement-medal{width:54px;flex:none;text-align:center;font-size:31px;color:#ffdc87;text-shadow:0 2px #654829}.achievement-copy{min-width:0;display:flex;flex-direction:column;grid-gap:2px;gap:2px;white-space:nowrap;padding-right:14px}.achievement-copy small{font-size:9px;color:#f4d591;letter-spacing:2px}.achievement-copy b{font-size:14px;overflow:hidden;text-overflow:ellipsis}.achievement-copy>span{font-size:10px;color:#f6e2bf}.achievement-dust{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;text-align:right;font-size:23px;color:rgba(255,216,145,0.26667);letter-spacing:6px;pointer-events:none}.growth-wallet{padding:20px;border-radius:22px;background:linear-gradient(135deg,#f1dfb4,#fbf3db)}.growth-wallet small{color:#997444;font-size:10px;letter-spacing:2px}.growth-wallet strong{display:block;font-size:30px;margin:5px 0}.growth-wallet p{font-size:12px;line-height:1.8;margin-bottom:0;color:#876e4e}.building-grid{display:grid;grid-gap:12px;gap:12px;margin:18px 0 26px}.building-card{display:flex;grid-gap:10px;gap:10px;padding:13px 10px;border-radius:20px;background:#fffdf5;border:1px solid #ece6d5;align-items:center}.building-art{width:37%;flex:none}.building-card>div{flex:1;min-width:0}.building-card h3{font-size:15px;margin:0 0 6px}.building-card h3 small{font-size:10px;color:#879477}.building-card p{font-size:10px;line-height:1.7;color:#859079;margin:0 0 9px}.building-card .button{font-size:12px;padding:10px}.building-levels{display:flex;grid-gap:4px;gap:4px;margin:7px 0 12px}.building-levels i{height:5px;flex:1;border-radius:3px;background:#e6e9dc}.building-levels .lit{background:#e0b75c}.journey-row{display:flex;align-items:center;grid-gap:10px;gap:10px;margin:9px 0;padding:13px 10px;border-radius:15px;background:#f0f0e4}.journey-row>span{display:grid;place-items:center;background:#e0e5d4;width:28px;height:28px;border-radius:50%;font-size:12px}.journey-row>div{flex:1}.journey-row b{font-size:13px}.journey-row p{font-size:10px;margin:5px 0 0;color:#89917e}.journey-row>small{font-size:10px;color:#a38240}.journey-row.complete{opacity:.65}.journey-row.complete>span{background:#9bad82;color:white}.runner-cheer{position:absolute;z-index:5;pointer-events:none;top:calc(0px + 152px);top:calc(env(safe-area-inset-top,0px) + 152px);left:50%;transform:translateX(-50%);text-align:center;min-width:160px;max-width:88%;color:#fff4b8;filter:drop-shadow(0 3px 0 #715730);opacity:0}.runner-cheer b{display:block;font:900 8vw/1.15 system-ui,sans-serif;font:900 max(28px, min(8vw, 43px))/1.15 system-ui,sans-serif;font-style:italic;letter-spacing:1px;-webkit-text-stroke:1px #a36c35}.runner-cheer small{display:block;color:#fff8e8;font-size:12px;font-weight:750;margin-top:5px;text-shadow:0 1px 3px #493d2b}.runner-cheer .cheer-mark{display:inline-block;font-size:22px;color:#ffe08c;padding:0 7px}.runner-cheer.active{animation:none}.runner-mode .runner-notice{top:108px;font-size:13px;max-width:90%}.runner-mode .runner-powers{top:82px}@keyframes cheer-pop{0%{opacity:0;transform:translateX(-50%) scale(.72) rotate(-5deg)}16%{opacity:1;transform:translateX(-50%) scale(1.1) rotate(-3deg)}32%,75%{opacity:1;transform:translateX(-50%) scale(1) rotate(-3deg)}100%{opacity:0;transform:translate(-50%,-10px) scale(.97)}}@media(prefers-reduced-motion:reduce){.runner-cheer.active{animation:none;opacity:1}.achievement-dust{display:none}}.runner-cheer.gentle.active{animation:none;opacity:1}

/* A deliberately separate external destination, never mixed into local rewards. */
.other-games-label{font-size:12px;color:#7a826e;margin:24px 2px 9px;letter-spacing:.08em}
.other-game-card{display:flex;align-items:center;grid-gap:12px;gap:12px;min-height:86px;padding:12px;border:1px solid #e4dfcf;border-radius:18px;background:#fffcf3;-webkit-text-decoration:none;text-decoration:none;color:#425344;text-align:left}
.other-game-card img{width:62px;height:62px;flex:none;border-radius:15px;object-fit:contain}
.other-game-card>span{min-width:0;flex:1}.other-game-card b{display:block;font-size:16px;line-height:1.5}.other-game-card small{display:block;font-size:11px;line-height:1.7;color:#7a826e;margin-top:3px}.other-game-card em{font-style:normal;font-size:12px;color:#886533;white-space:nowrap}.other-game-card:focus-visible{outline:3px solid #b69d57;outline-offset:3px}

.runner-mode .runner-notice.traffic-warning{z-index:8;background:#fff1d8;color:#8c3e2a;border:1px solid #ce7250;font-weight:800;text-shadow:none;box-shadow:0 2px 5px rgba(37,72,81,0.13333)}

/* Author contact: original QR pixels are preserved; only the viewport is cropped. */
.settings-links{display:grid;grid-gap:12px;gap:12px;margin-top:20px}
.author-contact{display:grid;grid-gap:24px;gap:24px}.author-profile{text-align:center;padding:20px 16px;background:#fffdf6;border:1px solid #e6e2d3;border-radius:18px}.author-kicker{font-size:12px;color:#798570}.author-profile h3{font-size:25px;margin:6px 0 16px}.author-qr{display:block;position:relative;overflow:hidden;width:100%;width:min(100%,240px);aspect-ratio:1;margin:0 auto;border-radius:16px;background:#808080}.author-qr img{position:absolute;width:133.333333%;max-width:none;height:auto;left:-16.666667%;top:-58.444444%}.author-qr:focus-visible{outline:3px solid #477d64;outline-offset:4px}.author-scan{font-size:12px;line-height:1.7;color:#77826e;margin:12px 0 18px}.author-profile label{display:block;color:#73806b;font-size:12px}.author-profile input{display:block;width:100%;min-width:0;border:0;background:transparent;color:#344b3b;text-align:center;font:700 25px system-ui;letter-spacing:1px;padding:8px 0 16px;-webkit-user-select:text;user-select:text}.author-feedback{padding:20px;background:#eeeee0;border:1px solid #e3e5d5;border-radius:16px}.author-feedback h3{margin:0 0 10px;font-size:17px}.author-feedback p{margin:0;font-size:13px;line-height:1.8;color:#617159}.author-feedback .feedback-tip{margin-top:14px;padding-top:12px;border-top:1px solid #d7ddcb;font-size:12px;color:#7b8471}

/* 0.6 — fewer decisions on one screen, clear purpose for every reward. */
.topbar .brand-mark{display:none}.topbar .brand h1{font-size:18px}.topbar .brand p{font-size:9px}.top-tools{grid-gap:4px;gap:4px}.currency{min-width:62px;max-width:none;flex-wrap:nowrap;border-radius:13px;background:#f4e8c8;padding:7px 9px;grid-gap:5px;gap:5px;min-height:44px}.currency>span:last-child{display:flex;flex-direction:column;align-items:flex-start;grid-gap:1px;gap:1px}.currency small{font-size:9px;color:#8c7657}.currency b{font-size:13px}.currency>span:first-child{font-size:19px}.sand-currency{background:#e0eee8;color:#487f73}.sand-currency small{color:#6c9182}.sand-currency>span:first-child{font-size:27px;line-height:1}.topbar{grid-gap:5px;gap:5px}.brand{min-width:0}.top-tools .icon-btn{width:34px;min-width:34px}.top-tools .icon-btn svg{width:19px}
.friend-chip{padding:5px 11px 5px 4px;grid-gap:7px;gap:7px;min-height:58px}.friend-chip>span{font-size:inherit}.friend-chip small{font-size:10px}.friend-chip b{font-size:11px}.level-star{position:relative;display:inline-block;width:var(--star-size);height:var(--star-size);font-family:Arial,sans-serif;line-height:var(--star-size);font-size:var(--star-size);vertical-align:middle;filter:drop-shadow(0 2px 1px rgba(177,154,104,0.26667))}.star-shell,.star-red{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;line-height:var(--star-size);font-size:var(--star-size);color:#e8cf96}.star-red{color:#d86d77;-webkit-clip-path:inset(calc(100% - var(--fill)) 0 0 0);clip-path:inset(calc(100% - var(--fill)) 0 0 0);transition:-webkit-clip-path .45s ease;transition:clip-path .45s ease;transition:clip-path .45s ease, -webkit-clip-path .45s ease}.level-star>i{position:absolute;top:4%;right:0;bottom:0;left:0;inset:4% 0 0;text-align:center;font:800 calc(var(--star-size)*.25)/var(--star-size) system-ui;color:#674b32;font-style:normal;text-shadow:0 1px #fff8dd}.level-star>em{position:absolute;right:-12%;top:-30%;font-size:calc(var(--star-size)*.3);font-style:normal;color:#d49a42}.level-star.tier-1{filter:drop-shadow(0 0 3px rgba(237,189,115,0.4))}.level-star.tier-2 .star-shell{color:#e6b661}.level-star.tier-3{filter:drop-shadow(0 0 5px rgba(237,181,84,0.66667))}.level-star.tier-3:before{content:'❧';position:absolute;left:-22%;top:4%;font-size:calc(var(--star-size)*.52);color:#c59d52}.friend-track i{background:#d97980}.affection-feedback{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;pointer-events:none;z-index:145;overflow:hidden}.affection-feedback>b{position:absolute;color:#dc5260;font-size:24px;text-shadow:0 1px #fff,0 0 9px #fff;font-weight:900}.home-destinations{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-bottom:16px}
.map-heading b{font-size:20px}.map-heading small{display:block;font-size:12px;margin:8px 0 20px;color:#829181}.route-modes{display:flex;grid-gap:8px;gap:8px;margin-bottom:15px}.route-modes>button{flex:1;border-radius:12px;padding:12px;background:#e6ebdf;min-height:44px;font-size:13px}.route-modes>.active{background:#427e70;color:#fff9e8}.route-cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-bottom:20px}.route-card{overflow:hidden;border:2px solid transparent;background:#f2eddd;border-radius:18px;padding:0 0 12px;min-width:0}.route-card.active{border-color:#458273}.route-card>b{display:block;font-size:13px;margin-top:10px}.route-card>small{font-size:10px;display:block;margin-top:5px;color:#84917e}.route-landscape{position:relative;height:102px;overflow:hidden;background:linear-gradient(#b8dcd8 0,#b8dcd8 60%,#c5d2a0 60%);background:linear-gradient(#b8dcd8 0 60%,#c5d2a0 60%)}.route-landscape>span{position:absolute;left:30%;bottom:10px;font-size:46px;color:#f4d796}.route-landscape>i{position:absolute;bottom:5px;left:3%;width:28%;height:47%;border-radius:7px 7px 0 0;background:#d5a781}.route-landscape>i:nth-child(2){left:66%;height:60%;background:#b0c5a1}.route-landscape>i:nth-child(3){left:36%;bottom:-8px;height:40%;background:#e0d6b7;transform:perspective(30px) rotateX(20deg)}.route-harbor .route-landscape{background:linear-gradient(#b5dfe4 0,#b5dfe4 60%,#69b6c4 60%);background:linear-gradient(#b5dfe4 0 60%,#69b6c4 60%)}.route-harbor .route-landscape>i{background:#f5e8bf;height:34%}.route-forest .route-landscape{background:linear-gradient(#a2c4bf,#416963)}.route-forest .route-landscape>i{border-radius:50%;background:#689680;height:72%}.route-forest .route-landscape>i:nth-child(2){background:#82aaa0}.route-forest .route-landscape>span{font-size:29px;color:#f5d18f;bottom:29px;left:46%}
.adventure-entry{display:block;width:100%;text-align:left;padding:20px;border-radius:20px;background:linear-gradient(120deg,#d6aa73,#e9cf9e);color:#634c35;margin-bottom:15px;position:relative;overflow:hidden}.adventure-entry:after{content:'✦';position:absolute;font-size:90px;right:16px;top:-13px;color:rgba(255,243,211,0.37647);transform:rotate(15deg)}.adventure-entry>span{font-size:10px;letter-spacing:2px}.adventure-entry>b{display:block;font-size:22px;margin:6px 0}.adventure-entry>small{font-size:12px}.play-card{min-height:145px}.play-card h3{margin-top:8px}.adventure-hero{padding:22px;border-radius:22px;background:linear-gradient(140deg,#e7d7ac,#f7ebce)}.adventure-hero>span{font-size:11px;letter-spacing:3px;color:#93764d}.adventure-hero h3{font-size:21px;margin:10px 0}.adventure-hero p{font-size:11px;color:#8c785a}.combat-stats{display:flex;justify-content:space-between;padding-top:12px;border-top:1px solid rgba(180,160,116,0.26667);margin-top:18px}.combat-stats b{font-size:21px}.combat-stats small{display:block;font-size:10px;color:#937f5a;font-weight:400;margin-top:4px}.training-row{display:flex;grid-gap:12px;gap:12px;align-items:center;justify-content:space-between;padding:18px 3px}.training-row b{font-size:14px}.training-row small{display:block;font-size:10px;color:#85917d;margin-top:7px}.training-row button{white-space:nowrap;font-size:12px}.adventure-stages{display:grid;grid-gap:8px;gap:8px}.adventure-stage{display:flex;align-items:center;grid-gap:13px;gap:13px;padding:14px;border-radius:16px;background:#edf0e1;text-align:left;min-height:73px}.adventure-stage>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#d9be87;color:#6b5435;font-size:19px;font-weight:700}.adventure-stage>div{flex:1}.adventure-stage b{font-size:14px}.adventure-stage small{display:block;margin-top:5px;font-size:11px;color:#839078}.adventure-stage.done>span{background:#84ab92;color:white}.adventure-stage:disabled{opacity:.55}
.collection-banner{display:flex;grid-gap:8px;gap:8px;padding:18px;border-radius:20px;background:#e0eae0;margin-bottom:15px;align-items:center;justify-content:space-between}.collection-banner small{font-size:11px;color:#829782}.collection-banner h3{font-size:21px;margin:6px 0}.collection-banner p{font-size:10px;color:#83937d;margin:0;line-height:1.7}.collection-banner>strong{color:#528e80;font-size:23px;white-space:nowrap}.collection-odds{font-size:10px;color:#81907e;line-height:1.8;text-align:center;margin:10px 0 18px}.collection-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.collection-item{padding:17px 10px;background:#ececdf;border-radius:19px;border:2px solid transparent}.collection-item>small,.collection-item>b{display:block}.collection-item>b{font-size:13px;margin:8px 0}.collection-item>small{font-size:10px;color:#7d8c77}.collection-item:disabled{opacity:.55}.collection-item.equipped{border-color:#649584;background:#e7efdc}.cosmetic-art{display:block;width:65px;height:65px;line-height:65px;font-size:58px;color:var(--item-color);margin:auto;text-shadow:0 2px rgba(182,166,125,0.2)}.cosmetic-art.trail{border:1px solid var(--item-color);border-radius:50%;box-shadow:0 0 17px color-mix(in srgb,var(--item-color) 38%,transparent);font-size:43px}.collection-reveal{text-align:center;padding:20px;border-radius:22px;background:#f2deab;margin-bottom:15px}.collection-reveal>small{display:block;font-size:10px;letter-spacing:2px;margin-top:12px}.collection-reveal h3{margin:8px 0 15px}
.runner-panel-body{font-size:13px;line-height:1.7}.run-result-score{font-size:40px;font-weight:900;color:#34786a}.run-result-score>strong{display:block;font-size:40px;font-weight:900;line-height:1.2}.run-result-score>span{display:block;font-size:14px;font-weight:500;margin:4px 0 15px}.run-result-rewards{border-radius:15px;background:#f0dfb2;padding:12px;font-size:16px;font-weight:750;margin:12px 0}.run-result-goal{font-size:13px;background:#e9edda;border-radius:13px;padding:12px;margin:12px 0}.run-result-detail{font-size:11px;color:#7c876d;line-height:1.8}.runner-modal .run-details{min-height:36px;font-size:12px;background:transparent;-webkit-text-decoration:underline;text-decoration:underline}
.adventure-mode #app>:not(#stage):not(.adventure-ui):not(#sheetBackdrop):not(.achievement-toast):not(.affection-feedback){display:none!important}.adventure-mode #app{padding:0}.adventure-mode #stage{margin:0;height:100%;flex:1}.adventure-mode #stage>:not(#scene){display:none!important}.adventure-ui{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;z-index:62;pointer-events:none;touch-action:none;color:#415e50}.adventure-ui button{pointer-events:auto;min-height:44px}.adventure-top{display:flex;align-items:center;justify-content:space-between;grid-gap:5px;gap:5px;position:absolute;top:calc(12px + 0px);top:calc(12px + env(safe-area-inset-top,0px));left:12px;right:12px}.adventure-top button{font-size:12px;padding:9px 12px;border-radius:12px;background:rgba(255,249,231,0.9098)}.adventure-top>b{font-size:15px}.duel-health{position:absolute;top:calc(72px + 0px);top:calc(72px + env(safe-area-inset-top,0px));left:14px;right:14px;display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.duel-health>div{display:grid;grid-template-columns:1fr auto;grid-gap:7px;gap:7px;background:rgba(255,248,233,0.92941);padding:12px;border-radius:15px}.duel-health small{font-size:10px}.duel-health strong{font-size:11px}.duel-health i{height:9px;border-radius:10px;background:#ccd2c2;overflow:hidden;grid-column:1/-1}.duel-health em{display:block;height:100%;background:#6ca688;transition:width .15s}.duel-health .enemy-hp-fill{background:#d09d73}.duel-callout{position:absolute;top:31%;left:10px;right:10px;text-align:center;font-size:20px;font-weight:850;color:#80633e;text-shadow:0 2px #fff2cc;transition:opacity .15s}.duel-warning{position:absolute;bottom:calc(160px + 0px);bottom:calc(160px + env(safe-area-inset-bottom,0px));left:15%;right:15%;height:37px;border-radius:12px;background:rgba(245,231,188,0.8);overflow:hidden;text-align:center}.duel-warning>i{position:absolute;left:0;top:0;bottom:0;background:#edb36b}.duel-warning>span{position:relative;font-size:13px;font-weight:750;line-height:37px}.duel-controls{position:absolute;bottom:calc(25px + 0px);bottom:calc(25px + env(safe-area-inset-bottom,0px));left:13px;right:13px;display:grid;grid-template-columns:1fr 1fr 1.2fr;grid-gap:9px;gap:9px}.duel-controls button{padding:17px 5px;border-radius:18px;background:#438c77;color:#fff9e9;min-height:84px}.duel-controls button:nth-child(2){background:#65979a}.duel-controls button:nth-child(3){background:#bd9054}.duel-controls b{font-size:18px;display:block}.duel-controls small{font-size:10px;display:block;margin-top:9px}.duel-controls button:disabled{opacity:.54}.duel-panel{pointer-events:auto;position:absolute;top:0;right:0;bottom:0;left:0;inset:0;display:grid;place-items:center;background:rgba(38,68,54,0.53333);padding:25px}.duel-panel>section{width:100%;max-width:360px;padding:25px;border-radius:24px;text-align:center;background:#fff8e7}.duel-panel small{font-size:11px;color:#998260}.duel-panel h2{font-size:28px}.duel-panel p{font-size:14px;line-height:1.9}.duel-panel .button{margin-top:9px}.duel-result{display:block;font-size:55px;color:#76a889;line-height:1.3;margin-bottom:15px}
@media(max-width:360px){.topbar{padding-left:9px;padding-right:9px}.brand h1{font-size:15px!important}.brand p{font-size:8px!important}.currency{padding:6px;min-width:54px}.top-tools{grid-gap:3px;gap:3px}.route-card>b{font-size:11px}.duel-health{grid-gap:8px;gap:8px}.duel-health>div{padding:9px}}
@media(prefers-reduced-motion:reduce){.star-red,.duel-health em{transition:none}}

.star-sand-icon{display:inline-block;width:25px;height:25px;vertical-align:middle;object-fit:contain;flex:none}.sand-currency>span:first-child{display:flex;align-items:center}.sand-currency .star-sand-icon{width:28px;height:28px;margin:-2px}.collection-banner .star-sand-icon{width:34px;height:34px}.growth-wallet .star-sand-icon{width:38px;height:38px;margin-right:3px}.notice .star-sand-icon{width:18px;height:18px}.star-sand-icon{filter:drop-shadow(0 1px 1px rgba(51,90,69,0.12549))}

/* Larger phone controls; fewer decorative labels and clearer priorities. */
:root{--ink:#344a3f;--muted:#788573;--cream:#f8f4e9;--line:#dfdfcd;color:var(--ink)}
button{font-weight:650}button:focus-visible{outline:3px solid #e2b260;outline-offset:3px}.game-icon{width:32px;height:32px;display:block;flex:none}.topbar{background:#f8f4e9;padding-left:15px;padding-right:15px}.topbar .brand h1{font-size:21px;letter-spacing:0}.brand p{letter-spacing:0;color:#7a8674}.currency{background:#eee3c6;border-radius:10px;min-height:47px;padding-left:8px;padding-right:8px}.currency .game-icon{width:26px;height:26px}.currency b{font-size:15px}.currency small{font-size:10px}.sand-currency{background:#dde9df}.care-status{background:#f8f4e9;grid-gap:10px;gap:10px;padding:2px 15px 11px}.status-pill{border:0;border-radius:7px;padding:4px 0;background:transparent;grid-gap:6px;gap:6px}.status-pill .game-icon{width:24px;height:27px}.status-pill p,.status-pill b{font-size:12px}.status-pill i{height:5px;background:#dfdfcb}.room-caption{display:none}.friend-chip{top:13px;left:13px;border-radius:10px;background:rgba(255,249,230,0.9098);box-shadow:0 2px 0 rgba(155,158,123,0.2);-webkit-backdrop-filter:none;backdrop-filter:none}.friend-chip b{font-size:13px}.friend-chip small{font-size:11px}.round-tool{border-radius:10px;min-width:49px;min-height:57px;background:rgba(255,249,230,0.9098);box-shadow:0 2px 0 rgba(155,158,123,0.2)}.round-tool span{font-size:11px;letter-spacing:0}.speech{font-size:14px}.idle-hint{font-size:12px;letter-spacing:0;background:rgba(255,249,230,0.85098);border:0}.bottom-nav{padding-left:12px;padding-right:12px;grid-gap:7px;gap:7px;background:#f8f4e9;height:calc(82px + var(--safe))}.bottom-nav button{border-radius:11px;grid-gap:3px;gap:3px;min-height:60px}.bottom-nav button.selected{background:#dce8d5;box-shadow:inset 0 2px 0 #c1d1b5}.bottom-nav .game-icon{width:29px;height:29px}.bottom-nav b{font-size:14px;letter-spacing:0;font-weight:750;color:#60745b}.sheet{border-radius:22px 22px 0 0;background:#fbf7ec;max-height:94%}.sheet-handle{display:none}.sheet-head{padding:22px 22px 16px;border-bottom:1px solid #e6e1d2}.sheet-head h2{font-size:25px;line-height:1.2;letter-spacing:0}.sheet-head #sheetEyebrow{display:none}.sheet-content{padding:20px 20px calc(22px + 0px);padding:20px 20px calc(22px + env(safe-area-inset-bottom,0px))}.close-sheet{background:#eee8d8;border-radius:12px;width:45px;height:45px}.button{min-height:51px;font-size:16px;border-radius:11px;padding:12px 16px;line-height:1.3;font-weight:750}.button.primary{background:#477d64;box-shadow:0 3px 0 #2d5947;color:#fffbed}.button.ghost{background:#e9e9d9;color:#486446}.button:active{box-shadow:none}.quality-options{grid-gap:9px;gap:9px}.quality-options button{min-height:47px;font-size:14px;border-radius:10px}.save-note{font-size:12px;line-height:1.7;color:#818773}.notice{font-size:13px;line-height:1.7;border-radius:11px;background:#eeeadd;padding:13px}.list-row{border:0;border-radius:12px;box-shadow:none;background:#eeeee0}.list-copy h3,.shop-card h3{font-size:16px}.list-copy p,.shop-card p{font-size:13px}.claim,.shop-card button{font-size:14px;min-height:47px;border-radius:9px}.settings-row b{font-size:17px}.settings-row p{font-size:13px;line-height:1.6}.settings-row{padding-top:16px;padding-bottom:16px}.toggle{width:52px;min-height:32px}.shop-card{border:0;border-radius:12px;min-height:206px;background:#f0eddb}.shop-card .shop-symbol{margin-bottom:9px}.memory{border-radius:12px}.memory h3{font-size:15px}.memory p{font-size:12px}.friend-card h3{font-size:25px}.friend-card p{font-size:14px;line-height:1.75}.friend-card .button{margin-top:13px}.friend-track{height:10px}
.mode-entry{width:100%;display:grid;grid-template-columns:58px 1fr 24px;grid-gap:14px;gap:14px;align-items:center;text-align:left;padding:21px 17px;border-radius:15px;margin-bottom:14px;position:relative;overflow:hidden;border-bottom:4px solid #315d4c;background:#668e73;color:#fffbea}.mode-entry .game-icon{width:58px;height:58px;stroke:#344f42;filter:drop-shadow(0 3px 0 rgba(31,63,56,0.1451))}.mode-entry>b{font-size:28px;color:#fff6d5}.mode-entry div>b{display:block;font-size:24px;line-height:1.2}.mode-entry small{display:block;font-size:13px;margin-top:10px;font-weight:500;color:#ebf1dc}.mode-entry.adventure{background:#bd9466;border-color:#957245}.mode-entry.adventure small{color:#fff3d9}.play-cards{grid-gap:13px;gap:13px;margin-top:22px}.play-card{min-height:151px;border-radius:12px;padding:17px;border:0;background:#ece2be}.play-card:nth-child(2){background:#dfe8d9}.play-card:after{display:none}.play-card .game-icon{width:39px;height:39px}.play-card h3{font-size:17px;margin:10px 0 6px}.play-card p{font-size:13px}.map-heading b{font-size:21px}.map-heading small{font-size:13px;line-height:1.6}.route-modes>button{font-size:15px;border-radius:10px;min-height:48px}.route-card{border-radius:12px}.route-card>b{font-size:15px}.route-card>small{font-size:12px}.route-landscape{height:116px}.adventure-hero{border-radius:14px;background:#ead8ae;padding:20px}.adventure-hero>span{display:none}.adventure-hero h3{font-size:23px;margin:0 0 11px}.adventure-hero p{font-size:14px;line-height:1.5}.combat-stats b{font-size:24px}.combat-stats small{font-size:12px}.training-row b{font-size:16px}.training-row small{font-size:12px;line-height:1.6}.training-row button{font-size:14px}.adventure-stage{border-radius:12px;min-height:81px;padding:15px}.adventure-stage b{font-size:17px}.adventure-stage small{font-size:12px}.adventure-stage>span{width:40px;height:40px}.collection-banner{background:#e2e8d7;border-radius:12px}.collection-banner small{font-size:12px}.collection-banner p{font-size:12px;line-height:1.5}.collection-odds{font-size:12px;line-height:1.7}.collection-item{border-radius:13px;background:#ede8d6;padding:15px 10px}.collection-item>b{font-size:15px;margin-top:9px}.collection-item>small{font-size:12px}.cosmetic-art{width:88px;height:79px;filter:none;text-shadow:none}.collection-reveal{border-radius:13px;background:#efdcac}.collection-reveal .cosmetic-art{width:125px;height:110px}.collection-reveal>small{font-size:13px;letter-spacing:0}.building-card{border-radius:13px;border:0;background:#eee9d6;padding:17px 12px}.building-card h3{font-size:17px}.building-card h3 small{font-size:12px}.building-card p{font-size:12px}.building-card .button{font-size:14px}.growth-wallet{border-radius:14px;background:#e9dcbb}.growth-wallet small{font-size:12px;letter-spacing:0}.growth-wallet p{font-size:14px}.journey-row{border-radius:10px;padding:15px 12px}.journey-row b{font-size:15px}.journey-row p,.journey-row>small{font-size:12px}
.runner-hud{background:rgba(252,246,229,0.94118);border-radius:12px;padding:11px 15px;box-shadow:0 3px 0 rgba(102,128,115,0.21961)}.runner-hud>b{font-size:31px}.runner-hud strong{font-size:20px}.runner-hud small{font-size:13px}.runner-controls{grid-gap:9px;gap:9px;left:11px;right:11px;bottom:calc(16px + 0px);bottom:calc(16px + env(safe-area-inset-bottom,0px))}.runner-controls button{height:63px;border-radius:12px;font-size:18px;background:rgba(60,121,101,0.94902);border-bottom:4px solid #285347}.runner-controls button:first-child,.runner-controls button:last-child{font-size:27px}.runner-options{bottom:calc(93px + 0px);bottom:calc(93px + env(safe-area-inset-bottom,0px))}.runner-options button{font-size:14px;min-height:47px;border-radius:10px;min-width:68px}.runner-swipe{bottom:160px}.runner-modal section{border-radius:18px;padding:24px 21px;background:#fbf5e4}.runner-tag{display:none}.runner-modal h2{margin:4px 0 18px;font-size:28px}.runner-panel-body{font-size:15px;line-height:1.65}.runner-modal button{border-radius:11px;min-height:49px;font-size:15px}.runner-modal .run-primary{min-height:60px;font-size:21px;background:#417c63;box-shadow:0 3px 0 #2c5845}.runner-modal .run-motion{min-height:43px;font-size:13px}.run-result-score strong{font-size:49px}.run-result-score span{font-size:16px}.run-result-rewards{font-size:18px;background:#efdcaa;border-radius:11px}.run-result-goal{font-size:14px;border-radius:11px}.run-result-detail{font-size:13px}.runner-cheer b{font-size:8vw;font-size:max(31px, min(8vw, 44px));-webkit-text-stroke:0;letter-spacing:0}.runner-cheer small{font-size:13px}.achievement-copy b{font-size:15px}.achievement-copy>span{font-size:11px}.achievement-copy small{letter-spacing:1px;font-size:10px}
@media(max-width:360px){.topbar .brand h1{font-size:18px!important}.brand p{display:none}.currency{min-width:60px}.currency b{font-size:13px}.care-status{grid-gap:7px;gap:7px}.status-pill .game-icon{width:21px}.sheet-content{padding-left:16px;padding-right:16px}.mode-entry{grid-template-columns:45px 1fr 17px;grid-gap:11px;gap:11px;padding:18px 14px}.mode-entry .game-icon{width:45px;height:45px}.mode-entry div>b{font-size:22px}.mode-entry small{font-size:12px}.route-card>b{font-size:13px}.route-card>small{font-size:11px}.bottom-nav b{font-size:13px}}
@media(max-height:690px){.bottom-nav{height:calc(70px + var(--safe));padding-top:4px;padding-bottom:4px}.bottom-nav button{min-height:55px}.friend-chip{top:10px}.runner-controls button{height:57px}.runner-options{bottom:calc(84px + 0px);bottom:calc(84px + env(safe-area-inset-bottom,0px))}}

/* Reserve the wallet width on narrow phones; text never competes with it. */
.topbar .brand{flex:1;overflow:hidden}.topbar .brand h1{white-space:nowrap;font-size:4.5vw;font-size:max(16px, min(4.5vw, 21px))}.brand p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-tools{flex-shrink:0}.topbar .currency{min-width:60px;padding-left:6px;padding-right:6px}.currency .game-icon{width:23px;height:25px}@media(max-width:360px){.topbar .brand h1{font-size:16px!important}.topbar{padding-left:10px;padding-right:10px}.top-tools{grid-gap:3px;gap:3px}.topbar .currency{min-width:54px;padding-left:5px;padding-right:5px}.currency .game-icon{width:20px}}

/* Status is a compact meter; navigation is an illustrated action tile. */
.status-pill{padding:6px 4px;border-bottom:2px solid #e4dfc8;border-radius:0;grid-gap:5px;gap:5px}.status-pill .game-icon{width:23px;height:27px}.bottom-nav .nav-icon{display:grid;place-items:center;width:42px;height:37px;border-radius:10px;background:#efe5c9}.bottom-nav button:nth-child(2) .nav-icon{background:#dde9e3}.bottom-nav button:nth-child(3) .nav-icon{background:#efddce}.bottom-nav button:nth-child(4) .nav-icon{background:#e0e6cf}.bottom-nav .game-icon{width:31px;height:31px}.bottom-nav button.selected .nav-icon{background:#f8efc9}.adventure-stage small{white-space:normal;line-height:1.5;font-size:12px}.adventure-stage div{min-width:0}.adventure-stage{min-height:90px}

/* Shared, simulation-clock celebration in all runner maps. Stars never wrap. */
.runner-cheer{width:max-content;min-width:0;max-width:calc(100% - 48px);transform-origin:center 32px;will-change:transform,opacity}
.runner-cheer.active,.runner-cheer.gentle.active{animation:none}
.runner-cheer b{display:flex;flex-flow:row nowrap;align-items:center;justify-content:center;grid-gap:.22em;gap:.22em;white-space:nowrap;font-size:7.2vw;font-size:max(28px, min(7.2vw, 44px));line-height:1.15}
.runner-cheer .cheer-word{display:block;white-space:nowrap;flex:0 1 auto}
.runner-cheer .cheer-star{display:block;flex:0 0 1em;font-size:.56em;font-style:normal;text-align:center;line-height:1}

/* Action arena: two-thumb controls, restrained color and readable targets. */
.action-arena{touch-action:none;-webkit-user-select:none;user-select:none}.action-arena .adventure-top{top:0px;top:env(safe-area-inset-top,0px);left:0;right:0;padding:12px 14px}.action-arena .adventure-top>b{font-size:14px;letter-spacing:.03em}.action-arena .adventure-top button{border-radius:10px;background:#31594f;color:#fff;padding:10px 12px}.action-arena .duel-health{top:calc(80px + 0px);top:calc(80px + env(safe-area-inset-top,0px));grid-gap:12px;gap:12px;padding:0 16px}.action-arena .duel-health>div{border-radius:10px;background:rgba(255,249,235,0.92941);padding:10px 12px;box-shadow:0 3px 0 #bdc8b5}.action-arena .duel-callout{top:calc(155px + 0px);top:calc(155px + env(safe-area-inset-top,0px));font-size:19px;color:#295a4e;text-shadow:0 1px #fff9eb}.action-arena .duel-warning{bottom:215px;left:50%;width:230px;transform:translateX(-50%);border-radius:8px;height:32px;font-size:13px}.action-arena .arena-hint{position:absolute;bottom:188px;width:100%;text-align:center;color:#335c52;font-size:12px;letter-spacing:.03em;pointer-events:none}.arena-stick{pointer-events:auto;position:absolute;bottom:calc(43px + 0px);bottom:calc(43px + env(safe-area-inset-bottom,0px));left:23px;width:118px;height:118px;border-radius:50%;border:2px solid rgba(249,247,234,0.81176);background:rgba(48,89,78,0.1451);display:grid;place-items:center;touch-action:none}.arena-stick>i{position:absolute;width:47px;height:47px;border-radius:50%;background:#faf2df;box-shadow:0 4px 0 #809483,0 4px 16px rgba(56,80,71,0.20784);border:2px solid #fff8e9;pointer-events:none}.arena-stick>span{position:absolute;bottom:-26px;color:#31584d;font-size:12px}.arena-skills{position:absolute;right:17px;bottom:calc(32px + 0px);bottom:calc(32px + env(safe-area-inset-bottom,0px));width:172px;height:156px}.arena-skills>button{position:absolute;border:2px solid #fff9e6;border-radius:50%;box-shadow:0 4px 0 #537b70;background:#487c70;color:#fffdf1;width:72px;height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;touch-action:none;padding:0}.arena-skills [data-duel=attack]{width:90px;height:90px;right:0;bottom:0;background:#c18a42;box-shadow:0 4px 0 #916431}.arena-skills [data-duel=guard]{left:0;bottom:10px}.arena-skills [data-duel=skill]{right:4px;top:0;background:#678a98;box-shadow:0 4px 0 #476773}.arena-skills b{font:25px/22px Georgia,serif}.arena-skills strong{font-size:13px;line-height:20px}.arena-skills small{font-size:9px;opacity:.9}.arena-skills .cooling{filter:saturate(.35);opacity:.72}.action-arena .duel-panel section{border-radius:18px;max-width:350px}.action-arena .duel-panel p{line-height:1.8}.action-arena .duel-panel small{font-size:12px}@media(max-width:350px){.arena-stick{left:14px;width:100px;height:100px;bottom:53px}.arena-skills{right:12px;transform:scale(.92);transform-origin:right bottom}.action-arena .adventure-top>b{font-size:12px}}@media(max-height:650px){.action-arena .arena-hint{bottom:166px}.action-arena .duel-warning{bottom:190px}.arena-stick{bottom:28px}.arena-skills{bottom:20px}.action-arena .duel-callout{top:136px}}

/* Recovery is an actionable opening, not another danger alarm. */
.action-arena .duel-warning.opening{background:#dcebdc;color:#284e38}.action-arena .duel-warning.opening>i{background:#9ecfaf}.arena-skills small{font-size:10px}.action-arena .arena-hint{font-size:12px}

.expedition-trail{position:absolute;top:calc(147px + 0px);top:calc(147px + env(safe-area-inset-top,0px));left:0;right:0;text-align:center;font-size:12px;color:#3c6559;pointer-events:none}.action-arena .duel-callout{top:calc(175px + 0px);top:calc(175px + env(safe-area-inset-top,0px));font-size:16px}.weapon-loadout{margin:20px 0}.weapon-loadout h3{font-size:17px}.weapon-loadout h3 small{font-size:12px;color:#667968;font-weight:400}.weapon-pick{display:grid;grid-template-columns:1fr auto;grid-gap:5px;gap:5px;width:100%;padding:13px 14px;margin:8px 0;border:1px solid #d5dbc8;border-radius:12px;background:#f8f4e7;text-align:left;color:#35574a}.weapon-pick b{font-size:15px}.weapon-pick small{font-size:12px;grid-column:1}.weapon-pick span{grid-column:2;grid-row:1 / 3;align-self:center;font-size:12px}.weapon-pick.chosen{border:2px solid #648d75;background:#e7eddc}.action-arena .room-choice{max-height:82vh;overflow:auto}.room-choice>button[data-upgrade]{display:flex;align-items:center;justify-content:space-between;grid-gap:12px;gap:12px;width:100%;min-height:58px;margin:10px 0;padding:12px;border:1px solid #c5d3bd;border-radius:10px;color:#30594c;background:#e9efdf;font-size:16px;font-weight:700}.room-choice>button[data-upgrade] small{font-size:12px;font-weight:400}.room-choice p{margin:8px 0}.arena-skills strong{font-size:12px}.action-arena .arena-hint{font-size:11px}

/* Illustrated first-party modes lead; external games are an explicit secondary disclosure. */
.mode-entry.owned-mode{grid-template-columns:96px min0;grid-template-columns:96px minmax(0,1fr);grid-gap:16px;gap:16px;padding:12px;min-height:138px;border:1px solid #c5d9c7;border-bottom:3px solid #9bbba6;background:#e1eee3;color:#294c3c;border-radius:18px;margin-bottom:12px}
.owned-mode .mode-art{width:96px;height:96px;object-fit:cover;display:block;border-radius:15px;background:#d4e9d9}
.owned-mode>div{min-width:0}.owned-mode .mode-kind{display:block;font-size:11px;letter-spacing:.12em;color:#506d59;margin-bottom:4px}
.mode-entry.owned-mode div>b{font-size:23px;line-height:1.2}.mode-entry.owned-mode small{font-size:12px;line-height:1.5;color:#48644e;margin-top:6px}
.owned-mode .mode-start{display:inline-block;font-size:12px;line-height:1.4;font-weight:750;margin-top:9px;color:#244d3c}
.mode-entry.owned-mode.adventure{background:#eeE7f3;border-color:#d8cbe2;border-bottom-color:#beabca;color:#544461}
.mode-entry.owned-mode.adventure .mode-kind,.mode-entry.owned-mode.adventure small{color:#685572}.owned-mode.adventure .mode-start{color:#574064}
.owned-modes+.play-cards{margin-top:16px}.owned-modes+.play-cards .play-card{min-height:114px;padding:12px}.owned-modes+.play-cards .game-icon{width:31px;height:31px}.owned-modes+.play-cards h3{font-size:16px;margin:7px 0 4px}.owned-modes+.play-cards p{font-size:12px;line-height:1.5;margin:0}
.more-games{margin-top:22px;border-top:1px solid #dfdfd0;padding-top:4px}.more-games summary{cursor:pointer;min-height:48px;padding:14px 2px;font-size:13px;color:#586650;touch-action:manipulation}.more-games summary>span{float:right;font-size:12px;color:#626e59}
.more-games summary:focus-visible{outline:3px solid #adbd83;outline-offset:2px;border-radius:6px}.more-games .other-game-card{min-height:68px;border:0;border-radius:10px;padding:10px;background:#eeeee3;box-shadow:none;grid-gap:10px;gap:10px}
.more-games .other-game-card img{width:40px;height:40px;border-radius:9px}.more-games .other-game-card b{font-size:14px;color:#43523f}.more-games .other-game-card small{font-size:12px;color:#616c58}.more-games .other-game-card em{font-size:16px;color:#616c58}
@media(max-width:360px){.mode-entry.owned-mode{grid-template-columns:80px min0;grid-template-columns:80px minmax(0,1fr);grid-gap:12px;gap:12px;padding:10px;min-height:130px}.owned-mode .mode-art{width:80px;height:80px;border-radius:12px}.mode-entry.owned-mode div>b{font-size:21px}.mode-entry.owned-mode small{font-size:12px}.owned-mode .mode-start{font-size:12px}}

/* Combat information stays above the arena; controls remain in thumb reach. */
.action-arena .adventure-top{padding:8px 12px}.action-arena .duel-health{top:calc(55px + 0px);top:calc(55px + env(safe-area-inset-top,0px));grid-gap:8px;gap:8px;padding:0 12px}.action-arena .duel-health>div{padding:7px 10px}.action-arena .duel-health small{font-size:11px}.action-arena .expedition-trail{top:calc(116px + 0px);top:calc(116px + env(safe-area-inset-top,0px));font-size:11px}.action-arena .duel-callout{top:calc(141px + 0px);top:calc(141px + env(safe-area-inset-top,0px));font-size:16px;pointer-events:none}.arena-skills>button{overflow:hidden;isolation:isolate}.arena-skills>button::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;inset:0;border-radius:50%;background:conic-gradient(rgba(23,61,67,0.50196) calc(var(--cooldown,0)*1turn),transparent 0);z-index:-1;pointer-events:none}.arena-skills .cooling{filter:none;opacity:1}.arena-skills strong{font-size:12px}.arena-skills small{min-height:13px;font-size:11px}.arena-skills b{font-size:25px}.action-arena .duel-panel section{width:calc(100% - 28px);max-height:84vh;max-height:84dvh;overflow:auto}.action-arena .room-choice>button[data-upgrade]{display:block;text-align:left}.room-choice button b,.room-choice button small{display:block}.room-choice button small{margin-top:5px;line-height:1.5}.action-arena .arena-hint{bottom:calc(193px + 0px);bottom:calc(193px + env(safe-area-inset-bottom,0px))}.action-arena .duel-warning{bottom:calc(218px + 0px);bottom:calc(218px + env(safe-area-inset-bottom,0px));background:rgba(255,244,222,0.96078);border:1px solid #b96d52}.room-build{font-size:12px;color:#536b5a;line-height:1.7}.arena-skills [data-duel=skill].ready{box-shadow:0 4px 0 #476773,0 0 0 3px #fff0ac}.action-arena .duel-panel p{font-size:14px}
@media(max-width:350px){.arena-skills{width:155px;right:8px}.arena-stick{left:8px;width:94px;height:94px}.action-arena .duel-health{grid-gap:5px;gap:5px}.action-arena .duel-health strong{font-size:15px}}
.runner-powers{display:flex;flex-wrap:wrap;justify-content:center;grid-gap:5px;gap:5px;padding:0 10px}.power-chip{display:inline-flex;align-items:center;grid-gap:4px;gap:4px;padding:5px 8px;background:rgba(255,246,223,0.92941);border:1px solid #cfbf92;border-radius:14px;color:#446252;font-size:11px}.power-chip>b{font-size:17px;color:#90672d}.power-chip>strong{font-size:11px}

.furniture-list{display:grid;grid-gap:14px;gap:14px}.furniture-card{background:#f2f4e7;border:1px solid #d4ddc8;border-radius:18px;padding:18px}.furniture-card h3{margin:4px 0}.furniture-card p{font-size:13px;line-height:1.6}.furniture-card .button{margin:8px 8px 0 0;min-height:44px}.furniture-symbol{float:right;font-size:38px;color:#648272}.memory-photo{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:12px}.photo-album .memory p{min-height:34px}.notice small{display:block;font-size:11px;line-height:1.6;margin-top:9px}

.arena-skills b svg{display:block;width:28px;height:28px;margin:0 auto}

/* A separate cancellation target leaves straight upward aiming unobstructed. */
.action-arena .arena-cancel{position:absolute;left:calc(50% - 36px);bottom:calc(110px + 0px);bottom:calc(110px + env(safe-area-inset-bottom,0px));width:72px;min-height:52px;padding:9px 5px;box-sizing:border-box;display:grid;place-items:center;border:2px dashed #ac7366;border-radius:14px;background:rgba(255,243,232,0.92157);color:#865243;font-size:11px;text-align:center;pointer-events:none;z-index:2}
.action-arena .arena-cancel[hidden]{display:none}.action-arena .arena-cancel.cancelling{background:#aa5b4d;color:#fff7e9;border-color:#fff1da}.arena-skills [data-duel=attack].held{box-shadow:0 2px 0 #916431,0 0 0 3px #ffdf9b}.action-arena .arena-hint{padding:0 12px;box-sizing:border-box}

.arena-skills [data-duel=attack]{position:relative}.hammer-charge-meter{position:absolute;top:8px;left:19%;width:62%;height:5px;border-radius:5px;background:#59715b;overflow:hidden;display:none}.hammer-charge-meter i{display:block;height:100%;width:calc(var(--charge-progress,0)*100%);background:#ffe1a3;border-radius:5px}.charging .hammer-charge-meter{display:block}.action-arena .arena-skills button.charging{border-color:#e4be79;box-shadow:0 0 0 3px rgba(233,213,165,0.25098)}.action-arena .arena-skills button.charged{background:#867347}.action-arena .arena-skills [data-duel=attack] small{font-size:12px}.hammer-charge-note{position:absolute;bottom:185px;left:50%;transform:translateX(-50%);padding:8px 13px;border-radius:13px;background:rgba(255,247,230,0.92941);color:#735536;font-size:13px;white-space:nowrap;pointer-events:none}.hammer-charge-note[hidden]{display:none}.pve-enemy-guide{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px;margin:10px 0}.pve-enemy-guide p{margin:0}.pve-enemy-guide b{color:#3e614d}.pve-enemy-guide small{display:block;font-size:13px;color:#5b7161}

.studio-panel.sheet{height:94vh;height:min(94dvh,900px);max-height:94vh;max-height:94dvh;background:#F7F5E9;color:#28483B;display:flex;flex-direction:column;overflow:hidden}
.studio-panel .sheet-head{padding:12px 16px 10px;flex:none;align-items:center}.studio-panel .sheet-head h2{font-size:22px;line-height:1.25;margin:0}.studio-panel .close-sheet{width:44px;height:44px;flex:none;background:#e7efdf;color:#28483b}.studio-panel .sheet-content{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden;padding:0}
.studio-wallet{display:flex;grid-gap:10px;gap:10px;flex-wrap:wrap;padding:8px 16px 12px;flex:none}.studio-wallet>span{display:flex;grid-gap:5px;gap:5px;align-items:center;padding:6px 10px;background:#fffef7;border:1px solid #d4dfca;border-radius:24px;font-size:13px}.studio-wallet svg,.studio-wallet img{width:22px;height:22px}.studio-wallet b{font-size:15px}
.studio-tabs{display:flex;grid-gap:4px;gap:4px;margin:0 16px 10px;padding:4px;background:#e7efdf;border-radius:14px;flex:none}.studio-tabs button{min-width:0;flex:1;min-height:44px;background:none;border-radius:10px;color:#28483b;font-size:16px}.studio-tabs button[aria-selected=true]{background:#326c54;color:#fffef7;box-shadow:0 2px 4px rgba(40,72,59,0.09412)}
.studio-scroll{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;min-height:0;padding:0 16px calc(20px + 0px);padding:0 16px calc(20px + env(safe-area-inset-bottom,0px));flex:1;scrollbar-width:thin}
.studio-row{display:flex;align-items:center;grid-gap:12px;gap:12px;border:1px solid #dbe2d0;background:#fffef7;border-radius:16px;padding:12px;margin:0 0 10px}.studio-row>svg{width:84px;max-width:29%;height:88px;flex:none;background:#e7efdf;border-radius:12px}.studio-row>div{min-width:0;flex:1}.studio-row h3{font-size:16px;line-height:1.4;margin:0 0 4px}.studio-row p,.studio-caption{font-size:14px;line-height:1.5;color:#5e6f5b;margin:4px 0 8px}.studio-row .studio-level{font-size:13px}.studio-level>span{margin-left:4px;color:#326c54;font-size:12px;letter-spacing:1px}
.studio-button{min-width:44px;min-height:44px;border-radius:10px;padding:10px 12px;background:#326c54;color:#fffef7;font-size:14px;line-height:1.4;transition:transform .17s, background .17s;white-space:normal}.studio-button.secondary{background:#e7efdf;color:#28483b}.studio-button:disabled{opacity:1;background:#eceee2;color:#5e6f5b;cursor:default}.studio-actions{display:flex;grid-gap:8px;gap:8px;flex-wrap:wrap}.studio-badge{display:inline-block;font-size:12px;color:#326c54;border-radius:7px;background:#e7efdf;padding:3px 6px;font-weight:650;vertical-align:middle}
.studio-note{background:#e7efdf;border-radius:12px;padding:12px;margin:0 0 12px;font-size:13px;color:#28483b;line-height:1.6}.studio-note summary{cursor:pointer;min-height:30px;display:list-item}.studio-note p{margin:8px 0}.studio-caption{margin:0 0 12px}.studio-preview{height:150px;background:#e7efdf;border:1px solid #d4dfca;border-radius:16px;overflow:hidden;display:grid;place-items:center}.studio-preview img{width:100%;height:100%;object-fit:contain}.studio-preview span{font-size:13px;text-align:center;padding:16px}
.studio-slots{display:flex;flex-wrap:wrap;grid-gap:4px 12px;gap:4px 12px;margin:8px 0;color:#28483b;font-size:12px;line-height:1.5}.studio-outfit-action{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;grid-gap:8px;gap:8px;min-height:44px;margin:0 0 10px}.studio-outfit-action b{font-size:14px}.studio-outfit-action small{font-size:13px;color:#5e6f5b}.studio-filter{display:flex;grid-gap:8px;gap:8px;margin-bottom:10px;flex-wrap:wrap}.studio-filter .studio-button:disabled{background:#326c54;color:#fffef7}.studio-grid{display:grid;grid-template-columns:repeat(2,min0);grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.studio-item{border:1.5px solid #d4dfca;border-radius:14px;background:#fffef7;display:flex;flex-direction:column;align-items:center;grid-gap:5px;gap:5px;padding:10px;color:#28483b;min-width:0}.studio-item>svg{width:100%;max-width:112px;height:82px;background:#e7efdf;border-radius:10px}.studio-item b{font-size:15px;line-height:1.4}.studio-item small{font-size:12px;color:#5e6f5b}.studio-item.selected{outline:2px solid #bc9950;outline-offset:-3px}.studio-item.equipped{border-color:#326c54}.studio-item.equipped small{color:#326c54;font-weight:750}.studio-collection{margin-top:14px;padding:12px;background:#e7efdf;border-radius:14px;display:flex;align-items:center;grid-gap:10px;gap:10px;flex-wrap:wrap}.studio-collection b{font-size:14px}.studio-collection small{font-size:12px;line-height:1.5;width:100%;color:#5e6f5b}.studio-upgraded{animation:studio-upgrade .48s ease-out}.studio-gentle .studio-upgraded{animation:none;border-color:#b99a5c}@keyframes studio-upgrade{0%{box-shadow:0 0 0 3px #e7c86e;transform:scale(.98)}40%{transform:scale(1.015)}100%{box-shadow:0 0 0 0 transparent;transform:scale(1)}}
@media(max-height:640px){.studio-preview{height:130px}.studio-panel .sheet-head{padding-top:8px;padding-bottom:8px}.studio-wallet{padding-top:4px;padding-bottom:8px}.studio-tabs{margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){.studio-upgraded{animation:none}.studio-button{transition:none}}
.fitted-outfits{margin-top:16px;padding:14px 0 4px;border-top:1px solid #d4dfca}.fitted-outfits-head{display:flex;align-items:flex-start;justify-content:space-between;grid-gap:12px;gap:12px;margin-bottom:10px}.fitted-outfits-head div{display:grid;grid-gap:3px;gap:3px}.fitted-outfits-head b{font-size:17px}.fitted-outfits-head small,.fitted-outfits-head>span{font-size:12px;color:#5e6f5b}.outfit-grid{display:grid;grid-template-columns:repeat(2,min0);grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.outfit-card{border:1px solid #d4dfca;border-radius:15px;background:#fffef7;overflow:hidden;display:flex;flex-direction:column}.outfit-card.equipped{border-color:#326c54;box-shadow:0 0 0 2px rgba(50,108,84,0.12549)}.outfit-preview-button{display:flex;flex-direction:column;align-items:stretch;text-align:left;grid-gap:4px;gap:4px;background:transparent;color:#28483b;padding:8px;min-width:0}.outfit-preview-button .studio-art{width:100%;height:80px;background:#e7efdf;border-radius:10px}.outfit-preview-button b{font-size:14px;line-height:1.35}.outfit-preview-button small{font-size:11px;line-height:1.35;color:#5e6f5b;min-height:30px}.outfit-card-foot{display:flex;align-items:center;justify-content:space-between;grid-gap:6px;gap:6px;padding:7px 8px;border-top:1px solid #edf0e6;flex-wrap:wrap}.outfit-card-foot span{font-size:11px;color:#5e6f5b}.outfit-card-foot .studio-button{min-height:36px;padding:7px 9px;font-size:12px}.outfit-draw-row{display:flex;align-items:center;grid-gap:8px;gap:8px;flex-wrap:wrap;margin:12px 0}.outfit-draw-row small{font-size:12px;color:#5e6f5b}@media(max-width:360px){.outfit-grid{grid-template-columns:1fr}}

/* Reward-layer CSS ported from the user-supplied preview; only scope and viewport placement adapted. */
  .runner-ui .nr-effect { position: absolute; z-index: 3; top: 105px; left: 0; right: 0; height: 133px; pointer-events: none; }
  .runner-ui .nr-reward-copy { position: relative; padding-top: 13px; text-align: center; transform-origin: 50% 58%; z-index: 3; }
  .runner-ui .nr-kicker { font-size: 11px; line-height: 1.4; font-weight: 700; color: var(--nr-dark-edge); letter-spacing: 3px; margin-bottom: 3px; }
  .runner-ui .nr-title-wrap { position: relative; width: max-content; max-width: 88%; margin: 0 auto; font-size: var(--nr-title-size,44px); font-weight: 900; font-style: italic; letter-spacing: -1px; line-height: 1.15; transform: rotate(-4deg); }
  .runner-ui .nr-title-shadow { position: absolute; top:0; right:0; bottom:0; left:0; inset: 0; color: var(--nr-gold-dark); transform: translateY(4px); -webkit-text-stroke: 1px var(--nr-gold-dark); text-shadow: 0 3px 0 var(--nr-dark-edge), 0 5px 7px var(--nr-shadow); }
  .runner-ui .nr-title { position: relative; display: block; color: var(--nr-gold); text-shadow: 0 -1px 0 var(--nr-shine); }
  .runner-ui .nr-effect[data-level="combo"] .nr-title { color: var(--nr-hot-gold); }
  .runner-ui .nr-effect[data-level="perfect"] .nr-title { color: var(--nr-shine); }
  .runner-ui .nr-shine { position: absolute; top:-4px; right:-2px; bottom:-4px; left:-2px; inset: -4px -2px; opacity: 0; background: linear-gradient(110deg, transparent 25%, var(--nr-shine) 47%, transparent 69%); mix-blend-mode: soft-light; transform: translateX(-100%); }
  .runner-ui .nr-reason { margin-top: 10px; color: var(--nr-shine); font-size: 14px; font-weight: 700; line-height: 1.3; text-shadow: 0 2px 0 var(--nr-dark-edge), 0 2px 7px var(--nr-shadow); }
  .runner-ui .nr-aura { position: absolute; left: 50%; top: 49%; width: 205px; height: 132px; transform: translate(-50%,-50%); background: radial-gradient(ellipse, var(--nr-aura), transparent 69%); border-radius: 50%; opacity: .75; }
  .runner-ui .nr-ring { position: absolute; left: 50%; top: 52%; width: 132px; height: 80px; border: 2px solid var(--nr-gold); border-radius: 50%; transform: translate(-50%,-50%) scale(.5); opacity: 0; }
  .runner-ui .nr-particles { position: absolute; top:0; right:0; bottom:0; left:0; inset: 0; }
  .runner-ui .nr-particle { position: absolute; top: 51%; left: 50%; display: block; color: var(--nr-gold); font-size: 15px; line-height: 1; text-shadow: 0 1px 0 var(--nr-gold-dark); }
  .runner-ui .nr-particle.nr-dot { width: 4px; height: 4px; background: var(--nr-shine); border-radius: 50%; }
  .runner-ui .nr-static-star { position: absolute; top: 49px; font-size: 27px; line-height: 1; color: var(--nr-gold); text-shadow: 0 3px 0 var(--nr-gold-dark); }
  .runner-ui .nr-static-left { left: 15%; transform: rotate(-15deg); }
  .runner-ui .nr-static-right { right: 15%; transform: rotate(15deg); }
  .runner-ui .nr-effect[data-level="perfect"] .nr-static-star, .runner-ui .nr-effect[data-level="combo"] .nr-static-star { opacity: 0; }

.runner-ui .nr-effect{--nr-gold:#fff4ad;--nr-hot-gold:#ffce60;--nr-gold-dark:#85622b;--nr-dark-edge:#335e50;--nr-shine:#fffbe7;--nr-aura:rgba(255,245,168,0.46667);--nr-shadow:rgba(97,124,102,0.25098);left:50%;right:auto;min-width:0;max-width:none;filter:none;isolation:isolate;transform-origin:50% 0;font-family:ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif}
.runner-ui .nr-effect *{box-sizing:border-box}
.runner-ui .nr-effect[hidden]{display:none!important}
.runner-ui .nr-title-wrap{white-space:nowrap}
.runner-ui .nr-effect.compact .nr-kicker{display:none}
.runner-ui .nr-effect.compact .nr-reward-copy{padding-top:3px}
.runner-ui .nr-effect.compact .nr-reason{margin-top:7px;font-size:12px}
.runner-ui .nr-effect.compact .nr-static-star{top:17px}
.runner-ui .nr-effect.compact .nr-aura,.runner-ui .nr-effect.compact .nr-ring{top:38%}
.runner-ui .nr-effect.compact .nr-particle{top:36%}
.runner-ui .nr-effect.gentle .nr-aura{opacity:.3}
#runnerCombo{display:inline-block}

.run-reward-breakdown{margin-top:12px;padding-top:12px;border-top:1px solid #cbd6ba;line-height:1.8}.run-reward-breakdown p{font-size:12px;line-height:1.7;margin:10px 0 0}

.run-reward-label{display:block;font-size:12px;font-weight:400;margin-bottom:5px;color:#596b50}.run-reward-rules{margin-top:10px;text-align:left}.run-reward-rules summary{cursor:pointer;text-align:center;min-height:32px}

.arsenal-hero{background:#edf3e8;border:1px solid #c8d5bf;border-radius:23px;padding:20px;color:#294a3e}.arsenal-kicker{font-size:12px;letter-spacing:2px;color:#577567}.arsenal-title{display:flex;align-items:center;grid-gap:12px;gap:12px}.arsenal-title h3{font-size:22px;line-height:1.35;margin:12px 0 6px}.arsenal-title p{font-size:13px;line-height:1.6;color:#60746a}.arsenal-crystal{margin-left:auto;display:grid;justify-items:center;font-size:24px;color:#9b7539;min-width:60px}.arsenal-crystal b{font-size:26px}.arsenal-crystal small{font-size:12px}.arsenal-stats{display:flex;flex-wrap:wrap;grid-gap:8px;gap:8px;margin-top:12px}.arsenal-stats span{background:#fffaf0;border-radius:10px;padding:8px 10px;font-size:12px}.arsenal-stats b{font-size:16px;margin-left:4px}.arsenal-tabs,.loadout-slots,.challenge-select{display:flex;grid-gap:8px;gap:8px;margin:16px 0}.arsenal-tabs button{flex:1;min-height:46px;border:1px solid #d2d7c6;border-radius:13px;background:#f9f8ee;color:#496457;font-weight:700}.arsenal-tabs [aria-pressed=true],.loadout-slots [aria-pressed=true],.challenge-select [aria-pressed=true]{background:#376b58;color:#fff8e8;border-color:#376b58}.arsenal-caption{color:#708074;font-size:13px;line-height:1.8}.forge-card,.gear-card{border:1px solid #dedfcf;background:#fffdf5;border-radius:20px;padding:18px;margin:16px 0}.forge-head{display:flex;align-items:center;grid-gap:14px;gap:14px}.forge-head h3,.gear-card h3{margin:0 0 5px;color:#345444;font-size:18px}.forge-head em{font-style:normal;color:#aa7838}.forge-head p,.gear-card p{font-size:13px;line-height:1.6;margin:5px 0;color:#667469}.weapon-emblem{display:grid;place-items:center;background:#eef1de;border-radius:18px;flex:0 0 62px;height:68px;color:#4e8071}.weapon-emblem svg{width:48px;height:48px}.forge-track{display:flex;align-items:center;grid-gap:4px;gap:4px;margin:18px 0}.forge-track i{height:7px;flex:1;border-radius:5px;background:#e4e7d7}.forge-track .filled{background:#c9a458}.forge-track span{margin-left:6px;font-size:12px;color:#6f7b6a}.forge-benefit{font-size:14px;line-height:1.6;color:#516b5b}.weapon-forms{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-top:12px}.weapon-forms button{min-height:90px;padding:12px;border:1px solid #dce0d0;border-radius:12px;background:#f8f8ed;color:#496253;text-align:left}.weapon-forms [aria-pressed=true]{border:2px solid #638d6b;background:#eaf2e5}.weapon-forms b{display:block;font-size:14px}.weapon-forms small{display:block;font-size:12px;line-height:1.6;margin-top:5px}.weapon-forms button:disabled{opacity:.6}.mastery-line{display:block;color:#8b967e;margin-top:14px}.loadout-slots button{flex:1;min-width:0;padding:12px 7px;border:1px solid #d9dfce;border-radius:13px;background:#f8f8ed;color:#4a6656}.loadout-slots b{display:block;font-size:12px;line-height:1.5;margin:6px 0}.loadout-slots small{font-size:11px}.set-banner{background:#f1eddc;padding:13px;border-radius:12px;color:#7c6a43;font-size:13px;line-height:1.7}.gear-card{display:grid;grid-template-columns:45px 1fr;grid-gap:12px;gap:12px}.gear-sigil{display:grid;place-items:center;border-radius:12px;font-size:30px;background:#e3efdf;height:52px;color:#587a63}.set-cream .gear-sigil{background:#f0e2c4;color:#a48548}.set-star .gear-sigil{background:#ece2bb;color:#967641}.gear-card small{font-size:11px;color:#8e967f}.gear-actions{grid-column:1/-1;display:flex;grid-gap:8px;gap:8px}.gear-actions .button{font-size:12px;min-height:44px;padding:10px 12px;flex:1}.arsenal-detail{padding:16px;background:#f4f4e9;border-radius:15px;font-size:13px;color:#5b705f;line-height:1.8}.arsenal-detail summary{min-height:32px;font-weight:700}.journey-map{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin-top:18px}.journey-map span{display:flex;align-items:center;grid-gap:6px;gap:6px;font-size:12px;color:#637e6b}.journey-map i{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#dbe6d4;font-style:normal}.journey-map .rest i{background:#eee1b8}.challenge-select{align-items:center;flex-wrap:wrap}.challenge-select b{font-size:13px;flex:1 0 100%;color:#57735f}.challenge-select button{flex:1;border:1px solid #d6ddc9;background:#fbfbef;color:#5e7362;min-height:40px;border-radius:10px;font-size:12px}.challenge-select button:disabled{opacity:.4}.runner-ui .runner-settings{font-size:12px}.settings-entry{width:auto!important;min-width:57px!important;height:47px!important;display:flex!important;flex-direction:column;grid-gap:2px !important;gap:2px!important;padding:5px 9px!important;border:1px solid #c8d3bf!important;background:#edf2df!important;color:#365b46!important;border-radius:14px!important}.settings-entry svg{width:20px!important;height:20px!important}.settings-entry span{font-size:11px;font-weight:800}.settings-quality-card{background:#eaf0df;border:1px solid #c8d5bc;border-radius:18px;padding:16px;margin-bottom:17px}.settings-quality-card h3{margin:0;color:#37543f}.settings-quality-card p{font-size:13px;line-height:1.6;color:#64745b}.settings-quality-card .quality-options button{min-height:46px}.settings-quality-card .active::after{content:' ✓'}.route-choices{display:flex;grid-gap:7px;gap:7px;margin:12px 0}.route-choices button{flex:1;min-width:0;padding:10px!important}.route-choices button[aria-pressed=true]{border:2px solid #668b65;background:#edf3e6}.route-choices small{font-size:11px!important}.room-choice .room-build{font-size:12px!important;line-height:1.6!important}.duel-panel .room-choice{max-height:88%;overflow:auto;padding:20px}.room-choice h2{font-size:22px}.node-receipt{background:#edf1dc;border-radius:10px;padding:10px;font-size:12px!important;color:#5e7549!important}.expedition-trail{font-size:12px!important;white-space:normal!important;line-height:1.7!important}.combat-shield{color:#72a9a1;font-size:12px;margin-left:5px}.duel-health>div strong{white-space:nowrap}@media(max-width:360px){.arsenal-title h3{font-size:19px}.arsenal-tabs button{font-size:12px}.topbar{grid-gap:5px;gap:5px}.top-tools{grid-gap:5px;gap:5px}.settings-entry{min-width:45px!important}.journey-map{grid-gap:6px;gap:6px}.gear-actions{flex-direction:column}}

.pause-quality{display:flex;align-items:center;grid-gap:7px;gap:7px;padding-top:14px;margin-top:10px;border-top:1px solid #dce0ca}.pause-quality small{color:#758568}.pause-quality button{flex:1;padding:8px!important;min-height:42px!important;font-size:12px!important;background:#edf0df!important;color:#4c6d5b!important;border-radius:10px!important}.pause-quality button[aria-pressed=true]{background:#45795f!important;color:#fff8e8!important}
.weapon-skin-panel{margin:16px 0 0;padding-top:14px;border-top:1px solid #dfe5d5}.weapon-skin-grid{display:grid;grid-template-columns:repeat(3,min0);grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.weapon-skin-card{display:flex;flex-direction:column;grid-gap:7px;gap:7px;padding:8px;border:1px solid #d7e1d1;border-radius:12px;background:#fffef7}.weapon-skin-card.equipped{border-color:#326c54;box-shadow:0 0 0 2px rgba(50,108,84,0.12549)}.weapon-skin-swatch{height:44px;border-radius:10px;background:linear-gradient(135deg,var(--skin),var(--accent));display:grid;place-items:center;color:#fff6d4;font-size:24px}.weapon-skin-card>div:nth-child(2){display:grid;grid-gap:3px;gap:3px}.weapon-skin-card b{font-size:12px;line-height:1.3}.weapon-skin-card small,.weapon-skin-card span{font-size:10px;line-height:1.35;color:#60705c}.weapon-skin-card .button{min-height:34px;padding:6px 8px;font-size:12px}@media(max-width:360px){.weapon-skin-grid{grid-template-columns:1fr}}

/* One main decision per section. Secondary rules are expandable, never tiny. */
.pve-prep{color:#294b40;font-size:15px;line-height:1.65;--pve-muted:#586c62}
.pve-prep *, .choice-card *{box-sizing:border-box}
.pve-prep button{font-family:inherit;cursor:pointer}.pve-prep button:disabled{cursor:default}
.item-icon{display:block;width:48px;height:48px;flex-shrink:0}.weapon-art{display:block;object-fit:contain;flex-shrink:0}
.pve-prep .arsenal-hero{padding:16px 18px;border:1px solid #d2dfcc;border-radius:19px;background:linear-gradient(125deg,#eff5e9,#f7f7e9)}
.pve-hero-line{display:flex;justify-content:space-between;align-items:center;grid-gap:12px;gap:12px}
.pve-hero-line h3{margin:2px 0 0;font-size:23px;line-height:1.3;color:#274b3f}
.pve-hero-line small{font-size:12px;color:#536b5c}.pve-wallet{text-align:right;flex-shrink:0}
.pve-wallet>span{display:flex;align-items:center;justify-content:flex-end;grid-gap:5px;gap:5px;font-size:13px;color:#605268}
.pve-wallet b{font-size:21px;color:#443c52}.pve-wallet .item-icon{width:24px;height:27px}.pve-wallet>small{display:block;margin-top:3px;color:#685c45}
.pve-prep .arsenal-stats{grid-gap:16px;gap:16px;margin-top:12px;padding-top:10px;border-top:1px solid #d8e1ce}
.pve-prep .arsenal-stats span{background:none;padding:0;font-size:12px;color:#566b5d}.pve-prep .arsenal-stats b{font-size:15px;color:#294b40}
.pve-prep .arsenal-tabs{position:-webkit-sticky;position:sticky;top:-2px;z-index:3;padding:6px 0;background:#fffaf0;margin:8px 0 16px;grid-gap:8px;gap:8px}
.pve-prep .arsenal-tabs button{min-height:45px;font-size:15px;border-radius:12px;background:#f0f1e7;border-color:#d6dece;color:#425d50}
.pve-prep .arsenal-tabs [aria-pressed=true]{background:#376b58;color:#fffdf3;border-color:#376b58}
.pve-section-label{display:flex;justify-content:space-between;align-items:baseline;grid-gap:8px;gap:8px;margin:14px 0 9px}
.pve-section-label h3{font-size:16px;margin:0}.pve-section-label small{font-size:12px;color:#536b5e}
.weapon-tiles{display:grid;grid-template-columns:repeat(3,min0);grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}
.weapon-tile{display:flex;flex-direction:column;align-items:center;border:1px solid #d9dfd0;border-radius:16px;background:#fffcf4;color:#304f43;padding:9px 4px 8px;min-width:0;position:relative;box-shadow:0 2px 0 #e6e7da}
.weapon-tile .weapon-art{width:72px;height:72px;margin-bottom:4px}
.weapon-tile b{font-size:14px;line-height:1.5;white-space:nowrap}.weapon-tile small{font-size:12px;line-height:1.5;color:#536a5d;white-space:normal;min-height:36px}
.weapon-tile .weapon-state{font-size:11px;margin-top:6px;color:#536e5e}.weapon-tile.chosen{border:2px solid #55846b;padding:8px 3px 7px;background:#edf4e8;box-shadow:0 2px 0 #bbccb3}
.weapon-tile.chosen .weapon-state{background:#46745b;color:#fffdf4;border-radius:7px;padding:1px 8px}
.weapon-tiles.compact .weapon-art{width:48px;height:48px}.weapon-tiles.compact .weapon-state{display:none}.weapon-tiles.compact small{min-height:0}
.chapter-focus{margin:18px 0 13px;background:#f1ead8;border:1px solid #e0d8c0;border-radius:17px;padding:17px}
.chapter-focus>small{font-size:12px;color:#74603c}.chapter-focus h3{margin:5px 0 7px;font-size:19px;color:#423f2d;line-height:1.5}
.chapter-focus p{font-size:14px;color:#635e49;margin:0 0 14px}.chapter-focus .button{margin:0;min-height:48px;font-size:16px}
.pve-prep .pve-details{border:1px solid #dce2d2;border-radius:13px;background:#fafbf3;padding:0 13px;margin:10px 0;overflow:hidden}
.pve-details summary{cursor:pointer;min-height:48px;line-height:1.5;padding:13px 0;font-size:14px;font-weight:700;color:#3c594b}
.pve-details summary>small{float:right;font-size:12px;color:#576d5d;font-weight:400;margin-left:8px}
.pve-details[open]{padding-bottom:12px}.pve-details p{font-size:14px;line-height:1.75;color:#52685a;margin:8px 0}
.pve-prep .journey-map{grid-gap:9px 6px;gap:9px 6px;margin:12px 0}.pve-prep .journey-map span{font-size:12px;color:#486653}
.pve-prep .challenge-select button{min-width:42%;min-height:44px;font-size:13px}.pve-prep .challenge-select button:disabled{opacity:1;background:#eef0e5;color:#6a7466;border-style:dashed}
.pve-prep .training-row{display:flex;align-items:center;flex-wrap:wrap;grid-gap:12px;gap:12px;padding:0;background:none;margin:5px 0}
.pve-prep .training-row small{font-size:13px;color:#54695b;display:block}.pve-prep .training-row button{min-height:44px;font-size:14px;margin:0}
.pve-prep .adventure-stage{min-height:66px;padding:12px 5px;border:0;border-bottom:1px solid #e0e4d6;border-radius:0;background:transparent;box-shadow:none;margin:0}
.pve-prep .adventure-stage b{font-size:14px}.pve-prep .adventure-stage small{font-size:12px;color:#586c5c}
.pve-prep .adventure-stage:disabled{opacity:1;color:#667263;background:#f1f3e9}.pve-prep .adventure-stage:disabled>span{color:#87947d}
.pve-prep .forge-card{margin:14px 0 0;padding:16px;border-radius:18px;background:#fffdf7;border-color:#dce0d0}
.pve-prep .forge-head{grid-gap:13px;gap:13px}.pve-prep .forge-head>.weapon-art{width:82px;height:82px}
.pve-prep .forge-head h3{font-size:20px;margin:3px 0}.pve-prep .forge-head small{font-size:12px;color:#6a725e}.pve-prep .forge-head p{font-size:14px;margin:3px 0;color:#536a59}
.forge-progress{display:flex;grid-gap:10px;gap:10px;align-items:center;margin:14px 0}.forge-progress>span{height:7px;flex:1;border-radius:8px;background:linear-gradient(to right,#c59b4f var(--level),#e6e8da var(--level));overflow:hidden}.forge-progress small{font-size:12px;color:#52684f}
.forge-benefits{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px 12px;gap:6px 12px;padding:13px;border-radius:12px;background:#f0f4e9;font-size:14px}
.forge-benefits>small{grid-column:1/-1;font-size:12px;color:#5a715b}.forge-benefits b{color:#2c684b;margin-left:5px}
.material-price{display:flex;grid-gap:13px;gap:13px;flex-wrap:wrap;margin:15px 0 10px;font-size:14px;color:#605943}.material-price>span{display:flex;align-items:center;grid-gap:4px;gap:4px}.material-price .item-icon{width:24px;height:26px}
.pve-prep .button{font-size:15px;min-height:45px;border-radius:11px}.pve-prep .button:disabled{opacity:1;background:#e2e7da;color:#566553;box-shadow:none;border:1px solid #d2dccb}
.pve-prep .cost-hint{text-align:center;margin:8px 0 13px;font-size:13px;color:#6b6650}
.pve-prep .weapon-forms{grid-template-columns:1fr;grid-gap:8px;gap:8px;margin:0}.pve-prep .weapon-forms button{min-height:75px;padding:12px}.pve-prep .weapon-forms small{font-size:13px;color:#4b6352}
.pve-prep .weapon-forms button:disabled{opacity:1;border-style:dashed;background:#f0f1e8;color:#596955}
.pve-prep .loadout-slots{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin:5px 0 14px}.pve-prep .loadout-slots button{padding:9px;display:grid;grid-template-columns:1fr auto;align-items:center;border-radius:13px}
.pve-prep .loadout-slots .item-icon{grid-column:1/-1;width:37px;height:40px;justify-self:center;margin:0 0 4px}.pve-prep .loadout-slots b{font-size:14px;margin:0}.pve-prep .loadout-slots small{font-size:12px}
.set-status{padding:12px 14px;background:#f4edde;border-radius:12px;color:#6c5837;line-height:1.65}.set-status b{display:block;font-size:14px}.set-status span{font-size:13px;display:block;margin-top:3px}
.pve-prep .gear-card{grid-template-columns:62px min0;grid-template-columns:62px minmax(0,1fr);grid-gap:13px;gap:13px;padding:15px;margin:12px 0;border-radius:16px;align-items:center;background:#fffdf6}
.gear-picture{width:62px;height:66px;border-radius:14px;background:#edf1e3;display:grid;place-items:center}.gear-picture .item-icon{width:54px;height:57px}.set-cream .gear-picture{background:#f8edd6}.set-star .gear-picture{background:#f1ebf5}
.pve-prep .gear-copy small{font-size:12px;color:#5a6b60}.pve-prep .gear-copy h3{font-size:17px;margin:4px 0}.gear-copy em{font-style:normal;color:#947242}
.pve-prep .gear-effect{font-size:14px;color:#3b644c;margin:4px 0 0}.gear-footer{grid-column:1/-1;display:flex;align-items:center;grid-gap:10px;gap:10px;border-top:1px solid #e5e6d9;padding-top:12px}
.pve-prep .gear-footer p{font-size:13px;line-height:1.5;color:#48664f;flex:1;margin:0}.pve-prep .gear-footer p small{display:block;font-size:12px;color:#70634b;margin-top:4px}
.pve-prep .gear-footer>.button{min-width:68px;padding:10px 12px}.pve-prep .gear-actions{grid-gap:6px;gap:6px;flex-direction:row;flex:0 0 auto}.pve-prep .gear-actions .button{font-size:14px;min-width:59px;padding:10px}
/* Clear route choice first, then three build choices. Combat buttons keep short labels. */
.action-arena .duel-panel .room-choice{padding:20px;max-width:390px;border-radius:20px;background:#fffaf0;max-height:88vh;max-height:88dvh;text-align:left}
.room-choice .choice-kicker{font-size:12px;color:#586f5b}.room-choice h2{font-size:22px;line-height:1.4;margin:6px 0 12px;color:#294d3d}
.choice-meta{display:flex;grid-gap:8px;gap:8px;flex-wrap:wrap;margin-bottom:15px;color:#506348;font-size:13px}.choice-meta span{padding:5px 9px;border-radius:8px;background:#edf2e4}
.action-arena .duel-panel .room-choice button.choice-card{width:100%;display:grid;grid-template-columns:45px min0;grid-template-columns:45px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:center;background:#fffef8;border:1px solid #cddac5;border-radius:14px;text-align:left;padding:13px;margin:10px 0;min-height:91px;color:#355544}
.choice-card .item-icon{width:43px;height:46px}.choice-card>span>b{display:block;font-size:16px;line-height:1.4}.choice-card>span>small{font-size:14px!important;line-height:1.6!important;color:#50634f;font-weight:400;margin-top:4px;display:block}.choice-card em{font-size:11px;display:inline-block;font-style:normal;color:#72805f;margin-bottom:3px}
.room-choice .choice-route-caption{font-size:13px;color:#637453;margin:8px 0}.room-choice .choice-tools{display:flex;grid-gap:8px;gap:8px;justify-content:space-between;margin:12px 0}.room-choice .choice-tools .button{font-size:13px;min-height:44px;padding:10px 12px;box-shadow:none}
.room-choice .pve-details{background:#f1f3e7;border:1px solid #dde2cf;border-radius:12px;padding:0 12px;margin:14px 0}.room-choice .pve-details p{font-size:13px}.room-choice [data-leave]{font-size:14px;min-height:44px;color:#566f59;box-shadow:none;background:#f2f3e7}
.arena-skills b>.weapon-art{width:32px;height:32px;margin:0 auto}.action-arena .arena-hint{display:none}.action-arena .duel-health small{font-size:12px}.action-arena .expedition-trail{font-size:12px!important}
@media(max-width:360px){.pve-prep .arsenal-hero{padding:13px}.pve-hero-line h3{font-size:21px}.weapon-tile .weapon-art{width:58px;height:58px}.weapon-tile b{font-size:13px}.weapon-tile small{font-size:12px}.weapon-tiles{grid-gap:6px;gap:6px}.pve-prep .gear-card{grid-template-columns:52px min0;grid-template-columns:52px minmax(0,1fr);padding:12px;grid-gap:9px;gap:9px}.gear-picture{width:52px}.pve-prep .gear-copy h3{font-size:16px}.gear-footer{flex-wrap:wrap}.pve-prep .forge-card{padding:13px}.forge-benefits{padding:10px;grid-gap:6px;gap:6px;font-size:13px}.pve-prep .arsenal-stats{grid-gap:11px;gap:11px}.action-arena .duel-panel .room-choice{padding:15px}.pve-section-label small{font-size:11px}}
@media(prefers-reduced-motion:reduce){.pve-prep *, .room-choice *{scroll-behavior:auto}}

.weapon-tile .weapon-state{min-height:18px}

.economy-growth,.economy-goal,.economy-daily{border:1px solid #dce5d1;border-radius:18px;background:#f0f4e8;padding:15px;margin:0 0 14px;color:#4e6845;text-align:left;line-height:1.6}
.economy-growth{display:flex;grid-gap:14px;gap:14px;align-items:center;background:linear-gradient(120deg,#e5eedb,#faf1d5)}.economy-growth>div:last-child{flex:1;min-width:0}.economy-growth b,.economy-goal>b,.economy-daily>b{font-size:14px;display:block}.economy-growth small{display:block;font-size:11px;color:#708665}.economy-level{width:61px;height:69px;flex:none;border-radius:18px;background:#6c8b5b;color:#fff7d9;text-align:center;font-size:29px;font-weight:750;line-height:1.5;padding-top:3px}.economy-level small{font-size:9px;color:#fff3d3}.economy-track{height:7px;background:#dce5d1;overflow:hidden;border-radius:9px;margin:8px 0}.economy-track i{display:block;height:100%;border-radius:9px;background:#91ad6f}.economy-card-head,.economy-goal-bottom{display:flex;justify-content:space-between;align-items:center;grid-gap:8px;gap:8px}.economy-card-head{margin-bottom:6px;font-size:11px;color:#788b6d}.economy-card-head button,.economy-goal-bottom button{font-size:11px;background:none;color:#4b6b3b;min-height:34px;padding:3px 5px;flex:none}.economy-goal-bottom small{font-size:12px}.economy-goal p,.economy-daily p{font-size:11px;margin:6px 0;color:#7a896d}.economy-goal.compact{padding:10px 13px;margin-bottom:12px}.economy-heading{font-size:14px;margin:20px 0 10px}.economy-goal-choices{display:grid;grid-template-columns:1fr 1fr;grid-gap:9px;gap:9px}.economy-goal-choices button{border:1px solid #dfe6d3;background:#fffdf2;border-radius:13px;padding:11px 9px;min-height:72px;text-align:left;color:#64774f}.economy-goal-choices button.selected{border:2px solid #89a56b;background:#edf3e4}.economy-goal-choices b,.economy-goal-choices small{display:block;font-size:12px}.economy-goal-choices small{font-size:10px;margin-top:5px;color:#8c957d}.economy-roadmap{margin-top:18px;font-size:12px;color:#71825f}.economy-roadmap summary{min-height:44px;padding:10px 0}.economy-roadmap>div{display:flex;flex-wrap:wrap;grid-gap:8px;gap:8px;justify-content:space-between;border-bottom:1px solid #e5ead9;padding:10px 0}.economy-roadmap small{color:#9aa38c}.economy-receipt{display:block;text-align:center;border-radius:12px;padding:10px;margin:10px 0;background:#eaf1de;font-size:12px;color:#617e47;line-height:1.7}.economy-receipt:empty{display:none}.economy-receipt b,.economy-receipt span{display:block}.economy-level-up{color:#9b7635;font-weight:700}.economy-journal-tabs{display:flex;grid-gap:5px;gap:5px;margin:0 0 15px;flex-wrap:wrap}.economy-journal-tabs button{flex:1;min-width:80px;min-height:44px;background:#ecefe2;border-radius:11px;font-size:12px;color:#798769}.economy-journal-tabs button.active{background:#82976c;color:#fff}.duel-panel .economy-receipt{margin-bottom:12px}.studio-scroll .economy-goal{margin-top:4px}@media(max-width:360px){.economy-goal-choices{grid-template-columns:1fr}.economy-growth{padding:12px;grid-gap:9px;gap:9px}.economy-card-head{grid-gap:3px;gap:3px}.economy-goal-bottom{flex-wrap:wrap}}

.economy-receipt-note{display:block;font-size:10px;color:#9aa587;margin:-12px 0 12px;text-align:center}

/* Wish components own their layout, including when embedded in game results. */
.wish-summary,.wish-card,.wish-picker,.wish-journal{min-width:0;max-width:100%;color:#294b43;text-align:left;letter-spacing:0;line-height:1.5}
.wish-summary{margin:0 0 14px}
.wish-brief{display:flex;width:100%;align-items:center;grid-gap:12px;gap:12px;padding:14px;border:1px solid #d6e2d6;border-radius:17px;background:#f0f5eb;color:#294b43;text-align:left;white-space:normal;min-height:104px;margin:0}
.wish-icon{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:14px;background:#e2ecda;color:#3b7055}
.wish-icon svg{display:block;width:31px;height:31px}
.wish-brief-copy{display:block;flex:1;min-width:0}
.wish-kicker{display:block;color:#657c6b;font-size:12px;font-weight:500;line-height:1.5}
.wish-brief-copy>b{display:block;font-size:16px;line-height:1.45;margin:2px 0;color:#294b43;overflow-wrap:anywhere}
.wish-brief-level{font-size:13px;font-weight:500;color:#536d5c}
.wish-brief-status{display:block;font-size:14px;font-weight:650;color:#38664b;line-height:1.5}
.wish-chevron{flex:none;font-size:25px;color:#6d866d}
.wish-track{display:block;height:7px;border-radius:8px;overflow:hidden;background:#dce6d8;margin:8px 0 0;max-width:100%}
.wish-track>i{display:block;height:100%;background:#6d9a71;border-radius:inherit}
.wish-card{padding:18px;border:1px solid #d7e3d6;border-radius:20px;background:linear-gradient(145deg,#f4f7ec,#fffaf0);margin:0 0 14px}
.wish-card-top{display:flex;align-items:center;justify-content:space-between;grid-gap:8px;gap:8px;margin:-6px -4px 7px 0}
.wish-card-top>.wish-kicker{min-width:0;flex:1}
.wish-link{flex:none;min-height:44px;width:auto;padding:8px 4px;background:transparent;color:#386953;font-size:13px;font-weight:650;white-space:nowrap;border-radius:8px;margin:0}
.wish-title{display:flex;grid-gap:12px;gap:12px;align-items:center}
.wish-title>div{min-width:0}
.wish-title .wish-icon{width:54px;height:54px;border-radius:16px}
.wish-title h3{margin:0;color:#24493c;font-size:21px;font-weight:750;line-height:1.35;overflow-wrap:anywhere}
.wish-title p{margin:4px 0 0;font-size:13px;line-height:1.5;color:#637962}
.wish-card .wish-benefit{margin:14px 0 18px;font-size:13px;line-height:1.7;color:#596e58}
.wish-resources{display:grid;grid-gap:13px;gap:13px}
.wish-resource>div{display:flex;align-items:baseline;justify-content:space-between;grid-gap:12px;gap:12px;font-size:14px}
.wish-resource b{font-size:18px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#2d5b45}
.wish-resource small{font-size:14px;font-weight:500;color:#667963}
.wish-card .wish-status{display:block;margin:17px 0 15px;font-size:20px;font-weight:750;line-height:1.5;color:#306149;overflow-wrap:anywhere}
.wish-card.is-ready,.wish-card.is-done{border-color:#92b99a;background:#edf5e9}
.wish-actions{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px}
.wish-primary,.wish-secondary{display:block;min-height:46px;padding:11px 15px;border-radius:12px;font-size:15px;font-weight:650;line-height:1.5;text-align:center;white-space:normal;margin:0;width:100%}
.wish-primary{background:#397356;color:#fffcef;border:1px solid #397356}
.wish-secondary{background:#fffdf3;color:#376449;border:1px solid #c8d9c4}
.wish-secondary:disabled{background:#edf0e6;border-color:transparent;color:#71816b;opacity:1}
.wish-footnote,.wish-card .wish-footnote,.wish-picker .wish-footnote{font-size:12px;color:#657661;line-height:1.7;margin:12px 0 0;text-align:left}
.wish-help{font-size:13px;line-height:1.7;color:#657661;margin:12px 2px}
.wish-intro{font-size:14px;color:#526c58;line-height:1.6;margin:6px 0 17px}
.wish-back{display:block;width:auto;min-height:44px;padding:8px 1px;color:#3d6d52;background:transparent;font-size:14px;font-weight:600;margin:0 0 6px;text-align:left}
.wish-tabs,.wish-filters{display:grid;grid-template-columns:repeat(3,min0);grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:4px;gap:4px;border-radius:14px;background:#e8eee0;padding:4px;margin:0 0 18px}
.wish-tabs{position:-webkit-sticky;position:sticky;top:-1px;z-index:2}
.wish-tabs button,.wish-filters button{display:block;min-width:0;min-height:44px;padding:8px 3px;border-radius:10px;font-size:14px;font-weight:650;line-height:1.3;white-space:nowrap;background:transparent;color:#5e765e}
.wish-tabs button[aria-pressed=true],.wish-filters button[aria-pressed=true]{background:#fffdf2;color:#295c41;box-shadow:0 2px 5px rgba(53,85,59,0.07059)}
.wish-choices{display:grid;grid-template-columns:min0;grid-template-columns:minmax(0,1fr);grid-gap:9px;gap:9px}
.wish-choice{display:flex;align-items:center;grid-gap:12px;gap:12px;min-height:94px;padding:13px;border:1px solid #dce4d4;border-radius:16px;background:#fffdf4;text-align:left;color:#325541;width:100%;margin:0}
.wish-choice[aria-pressed=true]{border:2px solid #759875;background:#edf4e8;padding:12px}
.wish-choice-copy{flex:1;min-width:0;display:block}
.wish-choice-copy b{display:block;font-size:16px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}
.wish-choice-copy>span{display:block;font-size:13px;color:#657761;margin:2px 0 4px}
.wish-choice-copy small{display:block;font-size:13px;color:#42664a;line-height:1.5}
.wish-choice-check{flex:none;font-size:21px;color:#62856b;width:22px;text-align:center}
.wish-empty{padding:24px 12px;background:#f0f4e8;border-radius:15px;font-size:14px;line-height:1.8}
.wish-tasks{display:grid;grid-gap:10px;gap:10px;margin-bottom:18px}
.wish-task{display:flex;grid-gap:12px;gap:12px;align-items:center;border:1px solid #dce5d4;border-radius:15px;padding:15px;background:#fffdf4}
.wish-task>div{flex:1;min-width:0}
.wish-task h3{font-size:16px;margin:0 0 5px;line-height:1.45}
.wish-task p{font-size:12px;line-height:1.65;color:#637761;margin:0}
.wish-task>button{flex:none;width:88px;padding:10px 6px;font-size:13px}
.wish-daily-bonus{border-top:1px solid #dce4d4;padding:8px 2px;color:#48654b;font-size:13px}
.wish-daily-bonus>div{display:flex;justify-content:space-between;grid-gap:10px;gap:10px;align-items:center;margin:13px 0 4px}
.wish-daily-bonus>div>b{font-size:14px}
.wish-daily-bonus>p,.wish-daily-bonus details p{font-size:12px;color:#657761;line-height:1.7;margin:5px 0 10px}
.wish-daily-bonus summary{min-height:44px;padding:10px 0;color:#477253;cursor:pointer}
.wish-achievements{margin:17px 0}
.wish-achievements>summary{min-height:46px;padding:12px 0;font-size:15px;font-weight:650;color:#45634a;cursor:pointer}
.wish-achievements .list-copy h3{font-size:15px}.wish-achievements .list-copy p,.wish-achievements .list-copy small{font-size:12px;line-height:1.6;color:#687c61}
.wish-journal .economy-growth b{font-size:16px}.wish-journal .economy-growth small{font-size:12px;color:#5d7457}.wish-journal .economy-level small{font-size:11px;color:#fffce9}
.wish-journal .economy-roadmap{font-size:13px;margin:12px 0}.wish-journal .economy-roadmap summary{font-size:14px}
.wish-journal .economy-roadmap small{color:#63785b}
.wish-destination-nav{position:-webkit-sticky;position:sticky;top:0;background:#faf8ed;z-index:3;padding:2px 0 8px;flex:none}
.wish-destination-nav button{min-height:44px;padding:8px 12px;font-size:14px;color:#3e6c50;background:#eef3e5;border-radius:10px}
.wish-target-item{outline:2px solid #7d9f73;outline-offset:-2px;border-radius:14px;scroll-margin-top:58px}
.runner-mode #sheetBackdrop:not([hidden]){z-index:95}
.runner-modal>section{overflow-x:hidden;min-width:0}
.runner-modal .wish-summary{margin:14px 0}
.runner-modal .wish-brief{margin:0;padding:12px;min-height:104px;border-radius:15px}
.runner-modal .wish-brief-copy>b{font-size:16px}.runner-modal .wish-brief-status{font-size:14px}
.runner-panel-body>.economy-receipt{font-size:13px;color:#48663b}
.studio-scroll>.wish-summary{margin:4px 0 16px}
.wish-brief:focus-visible,.wish-choice:focus-visible,.wish-link:focus-visible,.wish-primary:focus-visible,.wish-secondary:focus-visible,.wish-back:focus-visible,.wish-tabs button:focus-visible,.wish-filters button:focus-visible{outline:3px solid #bd9953;outline-offset:3px}
@media(max-width:360px){.wish-card{padding:15px}.wish-title h3{font-size:19px}.wish-title .wish-icon{width:47px;height:47px}.wish-card-top>.wish-kicker{font-size:11px}.wish-task{padding:12px;grid-gap:8px;gap:8px}.wish-task>button{width:78px}.wish-tabs button{font-size:13px}.wish-brief{padding:12px;grid-gap:9px;gap:9px}.wish-brief .wish-icon{width:40px;height:40px}.wish-brief-copy>b{font-size:15px}.wish-choice{padding:11px;grid-gap:10px;gap:10px}.wish-choice[aria-pressed=true]{padding:10px}}

.companion-wish,.companion-relationship,.companion-memories{min-width:0;color:#304f43;text-align:left;line-height:1.6}
.companion-wish{margin-top:16px;padding:18px;border:1px solid #d5dfcf;border-radius:20px;background:#fcfcf2}
.companion-kicker{font-size:12px;font-weight:700;letter-spacing:.02em;color:#526d58}
.companion-wish h3,.companion-relationship h3,.companion-memories h3{margin:10px 0 6px;font-size:20px;line-height:1.4}
.companion-wish p,.companion-relationship p,.companion-memories>p{font-size:14px;margin:0 0 14px;color:#4c6255;overflow-wrap:anywhere}
.companion-wish button{width:100%;min-height:44px}
.companion-steps{display:flex;grid-gap:6px;gap:6px;flex-wrap:wrap;margin:12px 0}
.companion-steps span{padding:4px 7px;border-radius:8px;background:#eceee4;color:#647164;font-size:12px}
.companion-steps .is-done{background:#e0ebd7;color:#315d3a}
.companion-steps .is-current{background:#f3e6b5;color:#635019;font-weight:700}
.companion-receipt{display:flex;grid-gap:10px;gap:10px;align-items:flex-start;margin:12px 0;padding:12px 14px;border-radius:15px;background:#f4f6e8;text-align:left;color:#355341;min-width:0}
.companion-receipt>span{font-size:24px;flex:0 0 28px}
.companion-receipt>div{min-width:0}
.companion-receipt b{display:block;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.companion-receipt small{display:block;font-size:12px;line-height:1.6;margin-top:3px;color:#516352;overflow-wrap:anywhere}
.companion-relationship{margin:16px 0;padding:16px;background:#f5f7e9;border-radius:18px}
.companion-relationship ul{list-style:none;padding:0;margin:12px 0}
.companion-relationship li{display:flex;grid-gap:10px;gap:10px;padding:10px 0;border-bottom:1px solid #dfe5d4}
.companion-relationship li:last-child{border:0}
.companion-relationship li>span{width:20px;flex:0 0 20px;color:#6d7a68}
.companion-relationship li.is-unlocked>span{color:#3e743f;font-weight:800}
.companion-relationship li>div{min-width:0}
.companion-relationship li b{display:block;font-size:15px}
.companion-relationship li small{display:block;font-size:13px;color:#526453}
.companion-note{font-size:12px!important;margin-bottom:0!important}
.companion-daily-intro{margin:12px 0;padding:14px 16px;border-radius:15px;background:#eff4df;text-align:left;color:#355441}
.companion-daily-intro>b{font-size:17px}
.companion-daily-intro>p{font-size:13px;line-height:1.65;margin:6px 0 0;color:#52614d}
.companion-memories{margin-top:24px}
.companion-memento-grid{display:grid;grid-gap:10px;gap:10px}
.companion-memento{display:grid;grid-template-columns:42px min0;grid-template-columns:42px minmax(0,1fr);grid-column-gap:10px;column-gap:10px;background:#f5f5e9;border:1px solid #dce3d2;border-radius:15px;padding:13px}
.companion-memento>span{grid-column:1;grid-row:1/4;align-self:center;font-size:30px;filter:grayscale(.7);opacity:.8}
.companion-memento.is-unlocked>span{filter:none;opacity:1}
.companion-memento h4{grid-column:2;margin:0;color:#344f40;font-size:16px}
.companion-memento p{grid-column:2;margin:4px 0 8px;font-size:13px;color:#546253;line-height:1.6}
.companion-memento button{grid-column:2;width:100%;min-height:44px;padding:8px}
.companion-memory-list{margin:14px 0;background:#f9f9f0;border:1px solid #e0e4d7;border-radius:14px;padding:12px}
.companion-memory-list summary{font-size:14px;font-weight:700;min-height:28px;cursor:pointer}
.companion-memory-list>div{display:flex;align-items:center;grid-gap:10px;gap:10px;border-top:1px solid #e4e7da;padding:10px 0}
.companion-memory-list>div>span{font-size:22px;flex:0 0 28px}
.companion-memory-list p{flex:1;min-width:0;margin:0}
.companion-memory-list p>b{display:block;font-size:14px}
.companion-memory-list small{display:block;font-size:12px;color:#5b6758}
.companion-memory-list em{font-size:11px;color:#63715f;white-space:nowrap;font-style:normal}
@media(max-width:350px){.companion-wish,.companion-relationship{padding:14px}.companion-steps{grid-gap:4px;gap:4px}.companion-steps span{padding:4px 5px;font-size:11px}.companion-memory-list em{display:none}}

.companion-level-line{padding:10px 12px;background:#edf1e5;border-radius:12px;color:#37583d}.companion-level-line small{font-size:13px;color:#5b7055}

.studio-care-effect{display:block;color:#47643d;font-size:13px;line-height:1.5;margin:4px 0 8px}

.care-status button.status-pill{text-align:left;min-height:48px}.care-status .needs-care{border-color:#c6a77d;background:#fff8e9}.care-status button:focus-visible{outline:3px solid #758f63}.care-supply{text-align:center;padding:8px 0}.care-supply-symbol{font-size:46px;line-height:1.3}.care-supply h3{font-size:21px;margin:12px 0}.care-supply p{font-size:15px;line-height:1.8;color:#475c43}.care-supply small{display:block;color:#6a7c61;font-size:13px;margin-top:14px}.adventure-mode #sheetBackdrop{z-index:120}.runner-mode #sheetBackdrop{z-index:120}.companion-card{margin:12px 0}
.damage-numbers{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;overflow:hidden;pointer-events:none;z-index:1;contain:layout paint}
.damage-number{position:absolute;left:0;top:0;display:flex;align-items:center;flex-direction:column;grid-gap:1px;gap:1px;white-space:nowrap;will-change:transform,opacity;font:800 20px/1.05 system-ui,"Microsoft YaHei",sans-serif;color:#fffbee;text-shadow:0 2px 2px #3e2f25,1px 0 #493a2e,-1px 0 #493a2e,0 -1px #493a2e;pointer-events:none;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.damage-number[hidden]{display:none}.damage-number small:empty{display:none}.damage-number small{font-size:11px;letter-spacing:.06em}.damage-number strong{font:inherit}
.damage-number.is-critical{font-size:27px;color:#ffe071;text-shadow:0 2px 2px #78330d,1px 0 #78330d,-1px 0 #78330d,0 -1px #78330d}.damage-number.is-critical small{font-size:12px;color:#fff0b0}.damage-number.is-counter{color:#c8fff0}
.action-arena .duel-panel{z-index:5}.action-arena .adventure-top,.action-arena .duel-health,.action-arena .arena-skills,.action-arena .arena-stick,.action-arena .duel-warning{z-index:2}
.combat-critical-note{display:flex;align-items:center;justify-content:space-between;grid-gap:10px;gap:10px;padding:10px 12px;margin:10px 0;color:#75552d;background:#fff4d7;border:1px solid #e7d6a9;border-radius:12px;font-size:12px;line-height:1.5}.combat-critical-note b{font-size:14px}.combat-critical-note span{display:block}.combat-critical-note small{color:#71654e}
.combat-result-line{padding:10px 12px;border-radius:10px;background:#f8efdc;color:#69522e;font-size:12px;line-height:1.7}
@media(max-width:350px){.damage-number{font-size:18px}.damage-number.is-critical{font-size:24px}.combat-critical-note{align-items:flex-start;flex-direction:column;grid-gap:3px;gap:3px}}
@media(max-width:360px){.action-arena .duel-health>div{grid-template-columns:min0;grid-template-columns:minmax(0,1fr);grid-gap:3px;gap:3px;padding:7px 9px}.action-arena .duel-health small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.action-arena .duel-health strong{font-size:13px;line-height:1.3;text-align:right}.action-arena .expedition-trail{top:calc(128px + 0px);top:calc(128px + env(safe-area-inset-top,0px))}}

.combat-health-bars{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;overflow:hidden;pointer-events:none;z-index:1;contain:layout paint}
.combat-health-bar{position:absolute;left:0;top:0;width:42px;pointer-events:none;filter:drop-shadow(0 1px 1px rgba(57,77,65,0.37647));will-change:transform}
.combat-health-bar[hidden]{display:none}.combat-health-bar.is-player{width:66px}.combat-health-bar.is-boss{width:76px}
.combat-health-track{display:block;position:relative;height:7px;border:1px solid #fff6e6;border-radius:5px;background:#554941;overflow:hidden;box-shadow:0 0 0 1px rgba(87,74,65,0.37647)}
.is-player .combat-health-track{height:10px;border-width:2px;box-shadow:0 0 0 1px #345d60}.is-boss .combat-health-track{height:9px}
.combat-health-fill,.combat-health-trail{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;display:block;transform-origin:left center;border-radius:2px;background:#df806e}
.is-player .combat-health-fill{background:#56bcc5}.is-boss .combat-health-fill{background:#d66e66}
.combat-health-trail{background:#ffe3a2}.combat-health-shield{position:absolute;top:-4px;left:2px;right:2px;height:2px;border-radius:3px;background:#c1ecff;transform-origin:left center;box-shadow:0 0 0 1px #43677e}
.combat-health-low{position:absolute;right:-13px;top:-3px;font:900 12px/1 system-ui;color:#724418;background:#ffe3a2;border:1px solid #fff4d7;border-radius:50%;width:13px;height:13px;text-align:center;padding-top:1px}
.combat-health-shield[hidden],.combat-health-low[hidden]{display:none}.is-low .combat-health-track{border-color:#ffe1a0;box-shadow:0 0 0 1px #9c6c39}
.action-arena .duel-health .pet-hp-fill{background:#56aeb7}.action-arena .duel-health .enemy-hp-fill{background:#d98171}
.action-arena .damage-numbers{z-index:2}.action-arena .adventure-top,.action-arena .duel-health,.action-arena .arena-skills,.action-arena .arena-stick,.action-arena .duel-warning{z-index:3}
.action-arena .arena-skills [data-duel=attack]{position:absolute}
.action-arena .damage-number{font-size:21px;line-height:1.08;grid-gap:1px;gap:1px;text-shadow:0 2px 2px #45372d,1px 0 #45372d,-1px 0 #45372d,0 -1px #45372d}
.action-arena .damage-number.is-critical{font-size:28px;color:#ffe080;text-shadow:0 2px 2px #743f20,1px 0 #743f20,-1px 0 #743f20,0 -1px #743f20}
.action-arena .damage-number.is-critical small{font-size:10px;line-height:1.1;letter-spacing:.08em}
@media(max-width:350px){.combat-health-bar.is-player{width:60px}.combat-health-bar.is-boss{width:68px}.action-arena .damage-number{font-size:20px}.action-arena .damage-number.is-critical{font-size:26px}}
@media(max-width:360px){.action-arena .duel-callout{top:calc(158px + 0px);top:calc(158px + env(safe-area-inset-top,0px))}}

.pve-material{position:absolute;top:112px;left:50%;transform:translateX(-50%);padding:5px 12px;border-radius:999px;background:rgba(255,248,232,0.85098);color:#80614b;font-size:12px;font-weight:700;letter-spacing:.01em;box-shadow:0 4px 14px rgba(117,91,58,0.13333);pointer-events:none;white-space:nowrap}.room-map-preview{display:grid;grid-gap:4px;gap:4px;margin:10px 0 14px;padding:10px 12px;border:1px solid #ead8be;border-radius:16px;background:#fffaf0;color:#766451}.room-map-preview b{color:#7c5540}.room-map-preview span{font-size:13px}.room-map-preview em{font-style:normal;color:#a66b47;font-size:12px}.adventure-mode .pve-material{z-index:5}@media(max-width:560px){.pve-material{top:104px;font-size:11px;padding:4px 9px}.room-map-preview{font-size:12px}}
.pve-material-bag{display:flex;flex-wrap:wrap;grid-gap:6px;gap:6px;margin-top:9px}.pve-material-bag span{padding:4px 7px;border-radius:999px;background:rgba(255,247,231,0.72157);color:#7b614c;font-size:11px;white-space:nowrap}.pve-material-bag b{color:#9a6848}

.wardrobe-filter{display:flex;grid-gap:4px;gap:4px;background:#e7efdf;padding:4px;border-radius:12px;margin-bottom:12px}.wardrobe-filter button{flex:1;min-height:44px;border:0;border-radius:9px;background:transparent;color:#496354;font-size:15px}.wardrobe-filter button[aria-pressed=true]{background:#fffef7;color:#28483b;box-shadow:0 1px 5px rgba(40,72,59,0.07059);font-weight:700}
.wardrobe-hero{display:grid;grid-template-columns:min0 min0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:12px;gap:12px;align-items:center;padding:10px;border:1px solid #dbe2d0;border-radius:16px;background:#fffef7;margin-bottom:14px}.wardrobe-hero .studio-preview{height:176px;border:0;border-radius:12px}.wardrobe-hero .studio-preview img{object-fit:contain}.wardrobe-summary{min-width:0}.wardrobe-summary h3{font-size:18px;line-height:1.35;margin:8px 0}.wardrobe-summary p{color:#5e6f5b;font-size:13px;line-height:1.5;margin:0 0 8px}.wardrobe-state{font-size:12px;color:#567360;line-height:1.5}.wardrobe-angles{display:flex;grid-gap:5px;gap:5px}.wardrobe-angles button{min-height:44px;min-width:44px;flex:1;border:1px solid #d7dfcb;border-radius:8px;background:#f7f5e9;color:#496354;font-size:14px}.wardrobe-angles button[aria-pressed=true]{background:#e7efdf;border-color:#91ad8c;color:#28483b;font-weight:700}
.wardrobe-list-head{display:flex;justify-content:space-between;align-items:center;grid-gap:8px;gap:8px;margin:0 0 8px}.wardrobe-list-head b{font-size:15px}.wardrobe-list-head button{min-height:44px;border:0;background:transparent;color:#496354;font-size:13px;padding:8px}.wardrobe-list-head button[aria-pressed=true]{color:#2c704f;font-weight:700}.wardrobe-grid .studio-item{grid-gap:4px;gap:4px;padding:8px}.wardrobe-grid .studio-item>svg{height:68px}.wardrobe-grid .studio-item b{font-size:14px}.wardrobe-grid .studio-item.selected{border-color:#8d794b;background:#fff9e7;outline:2px solid #b9a06a;outline-offset:-3px}.wardrobe-note{font-size:12px;line-height:1.55;color:#687762;margin:12px 0 0}
.wardrobe-footer{flex:none;padding:10px 16px 12px;padding:10px 16px max(12px,env(safe-area-inset-bottom,0px));border-top:1px solid #d7dfcb;background:#fffdf3;box-shadow:0 -4px 12px rgba(40,72,59,0.03137)}.wardrobe-costs{display:flex;grid-gap:6px;gap:6px;flex-wrap:wrap}.wardrobe-costs span{padding:5px 8px;background:#ecf1e4;border-radius:7px;font-size:13px;line-height:1.4;color:#3c6853}.wardrobe-costs span.missing{background:#f5e7dc;color:#8b553b}.wardrobe-costs b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wardrobe-cost-text{font-size:14px;line-height:1.4;color:#496354;margin:0 0 7px}.wardrobe-hint{font-size:12px;line-height:1.5;color:#66765e;margin:7px 0}.wardrobe-confirm{display:flex;grid-gap:8px;gap:8px;margin-top:7px}.wardrobe-confirm .studio-button{flex:1;min-width:0;min-height:46px;font-size:15px}.wardrobe-confirm .studio-button.secondary{flex:0 0 64px}.wardrobe-confirm .studio-button:disabled{font-size:14px}
@media(max-height:650px){.wardrobe-hero .studio-preview{height:142px}.wardrobe-hero{grid-gap:8px;gap:8px;margin-bottom:8px}.wardrobe-summary h3{font-size:16px}.wardrobe-footer{padding-top:8px}.wardrobe-hint{margin:5px 0}.wardrobe-grid .studio-item>svg{height:58px}}

.furniture-bubble{position:absolute;z-index:8;width:104px;padding:0;background:transparent;animation:furniture-appear .14s ease-out}.furniture-bubble[hidden],.furniture-stop[hidden]{display:none}.furniture-bubble button,.furniture-stop{min-height:44px;border:1px solid #b8cbb0;border-radius:24px;background:rgba(255,253,243,0.96078);color:#375b44;font-family:inherit;font-weight:600;line-height:1.2;box-shadow:0 2px 8px rgba(48,70,42,0.09412);touch-action:manipulation}.furniture-bubble button{width:100%;padding:10px 8px;font-size:14px;white-space:nowrap}.furniture-bubble button span{color:#82987b;margin-left:6px}.furniture-bubble button:active{background:#e5eddc}.furniture-stop{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:8;padding:10px 17px;font-size:13px}@keyframes furniture-appear{from{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){.furniture-bubble{animation:none}}

/* Three readable touch cards; no carousel, fixed rarity or separate reward rules. */
.action-arena .duel-panel.reward-active{padding:12px 8px;align-items:center;background:rgba(28,47,42,.78);overflow:auto}
.action-arena .duel-panel .room-choice.reward-choice{box-sizing:border-box;width:100%;max-width:440px;max-height:none;overflow:visible;margin:auto;padding:18px 10px 12px;border:1px solid #d1c4a8;border-radius:22px;background:#fff9eb;text-align:center;box-shadow:0 16px 44px rgba(16,43,58,0.21961);color:#423b30}
.reward-choice .reward-heading>small{font-size:11px;color:#78735f;letter-spacing:.04em}
.reward-choice .reward-heading h2{font-size:22px;line-height:1.3;margin:6px 0 3px;color:#3e4839}
.reward-choice .reward-heading p{font-size:12px;line-height:1.4;margin:0 0 16px;color:#7c735d}
.reward-hand{display:grid;grid-template-columns:repeat(var(--card-count,3),min0);grid-template-columns:repeat(var(--card-count,3),minmax(0,1fr));grid-gap:7px;gap:7px;align-items:stretch;isolation:isolate}
.action-arena .reward-choice button.reward-card{--card:#ffedbd;--ink:#876128;position:relative;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;grid-gap:8px;gap:8px;width:100%;min-width:0;min-height:264px;padding:12px 7px 10px;margin:0;border:1.5px solid #ccb889;border-radius:15px;color:#473d2d;background:linear-gradient(165deg,#fffdf7 2%,var(--card) 100%);box-shadow:0 4px 0 rgba(174,153,101,0.23137),0 6px 10px rgba(113,85,45,0.07059);text-align:center;touch-action:manipulation;cursor:pointer;transform-origin:50% 85%;animation:reward-deal .44s cubic-bezier(.19,.85,.24,1.1) both;animation-delay:calc(var(--deal)*.075s);transition:border-color .15s, box-shadow .15s;overflow:visible}
.action-arena .reward-choice button.reward-card[data-tone=mint]{--card:#dfefdb;--ink:#517251;border-color:#a4b99a}
.action-arena .reward-choice button.reward-card[data-tone=lilac]{--card:#eee1f4;--ink:#806288;border-color:#baa8c4}
.reward-card .reward-type{font-size:11px;font-weight:700;color:var(--ink);line-height:1.4;padding:2px 7px;background:rgba(255,255,255,0.6);border-radius:12px}
.reward-card .reward-art{display:grid;place-items:center;width:60px;height:63px;max-width:100%;position:relative}
.reward-card .reward-art:before{content:'';position:absolute;top:6px;right:6px;bottom:6px;left:6px;inset:6px;border-radius:50%;background:rgba(255,255,255,0.6);box-shadow:0 0 0 5px rgba(255,255,255,0.21961)}
.reward-card .reward-art .item-icon{width:52px;height:55px;position:relative;filter:drop-shadow(0 3px 1px rgba(112,87,46,0.09412))}
.reward-card>strong{font-size:15px;line-height:1.4;color:#3c4134;letter-spacing:0;word-break:normal}
.reward-card .reward-description{font-size:13px;line-height:1.55;font-weight:500;color:#625c4e;overflow-wrap:anywhere;text-align:left;flex:1;width:100%}
.reward-card .reward-pick{display:flex;justify-content:center;align-items:center;grid-gap:4px;gap:4px;width:100%;padding:8px 0 0;border-top:1px solid rgba(138,115,67,0.16078);color:var(--ink);font-size:12px;line-height:1.4;font-weight:750;white-space:nowrap}
.reward-pick i{font-size:16px;font-style:normal;line-height:1}
.reward-card .reward-sparks{position:absolute;top:35%;right:0;bottom:auto;left:0;inset:35% 0 auto;opacity:0;pointer-events:none;font-size:34px;color:#fff6c2;text-shadow:0 0 5px #b78034}
.action-arena .reward-choice .reward-card:focus-visible{outline:3px solid #516f63;outline-offset:3px}
.action-arena .reward-choice .reward-card:active:not(:disabled){transform:translateY(3px) scale(.97);box-shadow:0 1px 0 rgba(174,153,101,0.23137)}
.action-arena .reward-pending .reward-card{animation:none;opacity:.45;filter:saturate(.55)}
.action-arena .reward-pending .reward-card.is-picked{opacity:1;filter:none;z-index:2;border-color:#a07735;box-shadow:0 0 0 3px #f1d68d,0 7px 17px rgba(146,112,56,0.25098);animation:reward-pick .34s ease-out both}
.reward-pending .is-picked .reward-sparks{animation:reward-spark .34s ease-out both}
.reward-choice .reward-status{min-height:16px;font-size:11px;color:#65774b;margin:9px 0 2px;line-height:16px}
.reward-choice .reward-tools{display:flex;grid-gap:5px;gap:5px;justify-content:center}
.action-arena .reward-choice .reward-tools button{min-height:44px;flex:1;min-width:0;border:0;border-radius:10px;padding:7px 3px;font-size:11px;font-weight:650;background:#eee7d8;color:#71644c;line-height:1.5;touch-action:manipulation}
.reward-choice .reward-tools button:disabled{opacity:.5}
.reward-choice .reward-details{margin:5px 0 0;text-align:left;position:relative;font-size:12px}
.reward-choice .reward-details summary{padding:9px 2px;text-align:center;color:#797462;cursor:pointer;min-height:36px;box-sizing:border-box}
.reward-choice .reward-details>div{max-height:160px;overflow:auto;background:#f3eee0;border-radius:10px;padding:8px}
.reward-choice .reward-details p{font-size:12px!important;line-height:1.6!important;margin:4px!important;color:#706957}
@keyframes reward-deal{from{opacity:0;transform:translateY(22px) rotate(-3deg) scale(.91)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}
@keyframes reward-pick{0%{transform:translateY(0) scale(.96)}45%{transform:translateY(-7px) scale(1.035)}100%{transform:translateY(-3px) scale(1.015)}}
@keyframes reward-spark{0%{opacity:0;transform:scale(.5)}40%{opacity:1}100%{opacity:0;transform:translateY(-35px) scale(1.5)}}
@media(max-width:350px){.action-arena .duel-panel .room-choice.reward-choice{padding:14px 8px 8px}.reward-hand{grid-gap:5px;gap:5px}.action-arena .reward-choice button.reward-card{padding:10px 5px 8px;grid-gap:7px;gap:7px}.reward-card>strong{font-size:14px}.reward-card .reward-description{font-size:12px}.reward-card .reward-art{height:54px}.reward-card .reward-art .item-icon{height:48px;width:46px}.reward-choice .reward-heading p{margin-bottom:12px}}
.reward-still .reward-card,.reward-still .reward-sparks{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.reward-choice .reward-card,.reward-choice .reward-sparks{animation:none!important;transition:none!important}}

/* Calm paper cards. One shared value scale communicates rarity. */
.action-arena .duel-panel.reward-active{background:rgba(24,45,39,0.78824);padding:14px 10px}
.action-arena .duel-panel .room-choice.reward-choice{max-width:560px;border-radius:12px;padding:20px 12px 12px;background:#f7f4eb;border:1px solid #c9cbbf;box-shadow:0 8px 25px rgba(0,0,0,0.13333)}
.reward-choice .reward-heading h2{font-size:23px;letter-spacing:0;color:#283b30}
.reward-choice .reward-heading p{font-size:13px;color:#526052;margin-bottom:18px}
.reward-hand{grid-gap:8px;gap:8px}
.action-arena .reward-choice button.reward-card{--paper:#e8ecdf;--card-ink:#2f4035;min-height:226px;padding:13px 8px 10px;grid-gap:9px;gap:9px;border:1px solid #74806c;border-radius:8px;background:var(--paper);color:var(--card-ink);box-shadow:0 3px 0 rgba(31,51,34,0.12549);animation:card-appear .2s ease both;animation-delay:calc(var(--deal)*.05s)}
.action-arena .reward-choice button.reward-card[data-tier=rare]{--paper:#bdcdb5;--card-ink:#25372d;border-color:#71876e}
.action-arena .reward-choice button.reward-card[data-tier=epic]{--paper:#596f59;--card-ink:#fffdf4;border-color:#435b43}
.action-arena .reward-choice button.reward-card[data-tier=legendary]{--paper:#293e32;--card-ink:#fff6d9;border-color:#152e22}
.reward-card .reward-type{font-size:12px;font-weight:600;color:inherit;background:none;border-radius:0;padding:0}
.reward-card .reward-art{height:39px;width:36px;color:inherit;margin:3px 0}
.reward-card .reward-art:before{display:none}.reward-art svg{width:32px;height:32px}
.reward-card>strong{font-size:16px;color:inherit;font-weight:750;line-height:1.45}
.reward-card .reward-description{font-size:13px;line-height:1.6;text-align:center;font-weight:400;color:inherit}
.reward-card .reward-pick{font-size:13px;color:inherit;border-top:1px solid currentColor;padding-top:7px}
.action-arena .reward-pending .reward-card.is-picked{border-color:#c1a453;box-shadow:0 0 0 2px #c1a453;animation:none;transform:translateY(-3px)}
.reward-choice .reward-status{min-height:0;margin:4px;color:#334d3b}.reward-status:empty{display:none}
.reward-effect-details,.reward-details{border-top:1px solid #d0d4c8;text-align:left;color:#3c5143;font-size:13px;margin-top:13px}
.reward-effect-details summary,.reward-choice .reward-details summary{font-size:13px;min-height:44px;padding:13px 4px;text-align:left;color:#354c3b;line-height:1.4}
.action-arena .reward-effect-details p{font-size:13px!important;line-height:1.7;margin:0 4px 10px}.reward-effect-details b{font-size:14px}
.action-arena .reward-choice .reward-tools button{font-size:13px;border-radius:7px;background:#e8e9df;color:#374d3d;min-height:44px}
.reward-choice .reward-details>div{max-height:none;background:#eceee4}.reward-choice .reward-details p{color:#3c5143!important;font-size:13px!important}
.action-arena .pve-material{display:none}.action-arena .expedition-trail{top:calc(113px + 0px);top:calc(113px + env(safe-area-inset-top,0px));left:12px;right:12px;background:rgba(249,248,237,0.86275);border:1px solid #b8cbb2;border-radius:6px;padding:7px 9px;font-size:13px!important;line-height:1.5;white-space:normal;color:#294d38}
.action-arena .duel-callout{top:calc(154px + 0px);top:calc(154px + env(safe-area-inset-top,0px));font-size:15px}
.action-arena .adventure-top button{font-size:13px;min-height:40px;padding:5px 9px}.action-arena .adventure-top>b{font-size:13px}
.action-arena .duel-warning{font-size:14px;line-height:1.6;bottom:calc(194px + 0px);bottom:calc(194px + env(safe-area-inset-bottom,0px));padding:8px 12px;max-width:calc(100% - 28px);box-sizing:border-box}
.action-arena .duel-panel section.pve-guide,.action-arena .duel-panel section.pve-pause{width:calc(100% - 24px);max-width:430px;text-align:left;background:#f7f5ec;color:#2e4837;border-radius:14px;padding:20px;max-height:90vh;max-height:90dvh}
.pve-guide h2,.pve-pause h2{font-size:23px;margin:4px 0 12px;color:#2e4837}
.pve-guide ol{padding-left:23px;line-height:1.8;font-size:15px}.pve-guide li{margin:8px 0}.pve-guide small,.pve-pause small{font-size:13px;line-height:1.6;color:#536452}
.pve-pause .pve-details{margin:10px 0;border-top:1px solid #ccd4c5;padding:0 2px}.pve-pause .pve-details p{font-size:14px;line-height:1.7}.pve-pause>p{line-height:1.6}
.pve-prep .pve-hero{background:#eef1e7;box-shadow:none;border-radius:12px}.pve-prep .prep-summary{margin-top:10px;font-size:13px}.prep-summary summary{min-height:36px;cursor:pointer;padding:6px 0}.pve-prep .prep-summary .arsenal-stats{margin:0;padding:8px 0}
.pve-start-help{font-size:14px;line-height:1.7;margin:5px 0 12px;color:#38513c}.pve-start-help strong{font-size:15px;display:block;color:#2d4735}
.pve-prep .weapon-tile{border-radius:9px;box-shadow:none}.pve-prep .weapon-tile .weapon-art{width:54px;height:54px}.pve-prep .weapon-tile small{min-height:20px}
.pve-prep .chapter-focus{padding:14px;margin:14px 0;border-radius:10px;background:#e9eddd}.pve-prep .chapter-focus .button{min-height:48px}
@keyframes card-appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(max-width:350px){.action-arena .duel-panel .room-choice.reward-choice{padding:16px 8px 10px}.reward-hand{grid-gap:5px;gap:5px}.action-arena .reward-choice button.reward-card{min-height:223px;padding:11px 5px 9px}.reward-card>strong{font-size:14px}.reward-card .reward-description{font-size:12px}.reward-card .reward-type{font-size:12px}}
@media(prefers-reduced-motion:reduce){.action-arena .reward-choice button.reward-card{animation:none!important;transform:none!important}}
/* Scrollable details must not inherit the battle controls' touch lock. */
.adventure-ui.action-arena{touch-action:auto}
.action-arena .duel-panel{touch-action:pan-y;overscroll-behavior:contain;padding:12px;overflow-y:auto;align-items:safe center}
.action-arena .duel-panel section{box-sizing:border-box;touch-action:pan-y}
.action-arena .duel-warning{height:auto;min-height:40px;width:max-content;right:auto}
.action-arena .duel-warning>span{line-height:1.6;font-size:13px}
@media(max-width:360px){.action-arena .expedition-trail{top:calc(126px + 0px);top:calc(126px + env(safe-area-inset-top,0px))}.action-arena .duel-callout{top:calc(166px + 0px);top:calc(166px + env(safe-area-inset-top,0px))}}

.pve-objective-arrow{position:absolute;z-index:2;transform:translate(-50%,-50%);display:grid;justify-items:center;grid-gap:2px;gap:2px;padding:5px 8px;border-radius:8px;background:rgba(255,249,233,0.92549);border:1px solid #728762;color:#355b3f;pointer-events:none;font-size:12px}.pve-objective-arrow i{font-size:24px;line-height:24px;font-style:normal}.pve-objective-arrow[hidden]{display:none}
.result-details{text-align:left;border-top:1px solid #d2d9c9;margin-top:16px;color:#344e3c}.result-details summary{min-height:44px;padding:13px 0;font-size:14px;cursor:pointer}.action-arena .result-details p{font-size:13px;line-height:1.8}

/* A single 18px icon row occupies the label area, above the player's HP bar. */
.action-arena .duel-health{top:calc(55px + 0px);top:calc(55px + env(safe-area-inset-top,0px));grid-gap:8px;gap:8px}
.action-arena .duel-health>div{grid-template-columns:min0;grid-template-columns:minmax(0,1fr);grid-template-rows:23px 17px 6px;grid-gap:3px;gap:3px;padding:7px 9px;align-content:start;min-width:0}
.action-arena .duel-health>div>small{grid-row:1;align-self:center;font-size:12px;line-height:1.4;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.action-arena .duel-health>div>strong{grid-row:2;font-size:13px;line-height:17px;text-align:right}
.action-arena .duel-health>div>i{grid-row:3;height:6px}
.action-arena .duel-health .player-health.has-buffs>.pet-label{display:none}
.action-arena .pve-buff-strip{grid-row:1;display:flex;align-items:center;justify-content:flex-start;grid-gap:3px;gap:3px;max-width:100%;min-width:0;min-height:23px;height:23px;padding:0;border:0;background:transparent;box-shadow:none;border-radius:3px;touch-action:manipulation;overflow:visible}
.pve-buff-strip[hidden]{display:none!important}.pve-buff-strip:focus-visible{outline:2px solid #45694f;outline-offset:3px}
.buff-mini{box-sizing:border-box;position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px;width:18px;height:18px;border:1px solid #798b70;border-radius:4px;background:#e8ecdf;color:#314a39;box-shadow:0 1px 0 rgba(30,57,42,0.13333)}
.buff-mini[data-tier=rare]{background:#bdcdb5;color:#253d2b;border-color:#698563}
.buff-mini[data-tier=epic]{background:#596f59;color:#fffdf4;border-color:#435b43}
.buff-mini[data-tier=legendary]{background:#293e32;color:#fff1c5;border-color:#baaa72}
.buff-mini svg{display:block;width:13px;height:13px;flex-shrink:0}
.buff-mini.buff-enhanced{box-shadow:0 0 0 1px #8c773a;transform:none}
.buff-mini>em{position:absolute;right:-3px;bottom:-4px;min-width:9px;height:10px;padding:0 1px;background:#faf5e5;border:1px solid #a79870;border-radius:3px;color:#394934;font:700 8px/9px system-ui;font-style:normal}
.buff-mini.buff-consumed{opacity:.8}.buff-overflow{font-size:10px;color:#3c573f}
.buff-updated{animation:buff-reveal .35s ease-out both}.buff-still .buff-mini{animation:none}
@keyframes buff-reveal{from{opacity:.4;transform:translateY(3px) scale(.88)}to{opacity:1;transform:none}}
.buff-detail{display:flex;align-items:flex-start;grid-gap:9px;gap:9px;padding:8px 0;border-bottom:1px solid #dce2d4}.buff-detail .buff-mini{margin-top:4px;flex-basis:24px;width:24px;height:24px}.buff-detail .buff-mini svg{width:17px;height:17px}.action-arena .buff-detail p{margin:0;font-size:13px;line-height:1.7}
.action-arena .expedition-trail{top:calc(127px + 0px);top:calc(127px + env(safe-area-inset-top,0px))}.action-arena .duel-callout{top:calc(168px + 0px);top:calc(168px + env(safe-area-inset-top,0px))}
/* Illustrations are a matching pair; their full square composition stays visible. */
.mode-entry.owned-mode{background:#eaf2f3;border-color:#c1d8df;border-bottom-color:#94b8c5;border-radius:15px}
.mode-entry.owned-mode.adventure{background:#eef0e3;border-color:#ced7bd;border-bottom-color:#a3b58d;color:#3d563b}
.mode-entry.owned-mode.adventure .mode-kind,.mode-entry.owned-mode.adventure small,.owned-mode.adventure .mode-start{color:#486244}
.owned-mode .mode-art{object-fit:contain;border-radius:11px;background:#fff7e6;outline:1px solid rgba(255,255,255,0.56471)}
@media(max-width:350px){.action-arena .duel-health{padding:0 8px;grid-gap:6px;gap:6px}.action-arena .duel-health>div{padding:7px}.action-arena .pve-buff-strip{grid-gap:3px;gap:3px}.buff-mini{flex-basis:17px;width:17px;height:17px}}
@media(prefers-reduced-motion:reduce){.buff-updated{animation:none!important}}

.pve-prep .quickstart-main{padding:6px 0 4px;background:none;border:0;text-align:left}
.quickstart-eyebrow{font-size:12px!important;color:#70826e!important;margin:0 0 8px!important}
.quickstart-main h3{font-size:25px;line-height:1.3;color:#344f3b;margin:0 0 9px}
.quickstart-goal{font-size:13px!important;line-height:1.7;color:#5c705a!important;margin:0 0 19px!important}
.pve-quickstart .quickstart-go{min-height:56px;font-size:18px;display:flex;align-items:center;justify-content:space-between;padding:13px 20px;background:#45684d;border:1px solid #36573d;border-radius:12px;box-shadow:0 3px 0 #314f38}
.quickstart-go span{font-size:23px}.quickstart-loadout{font-size:12px!important;text-align:center;color:#70816c!important;margin:11px 0 0!important}
.quickstart-controls{padding:12px 0;margin:11px 0 7px;border-top:1px solid #dce2d3;border-bottom:1px solid #dce2d3}
.quickstart-controls p{font-size:13px!important;line-height:1.7!important;margin:3px 0!important;color:#5d715b!important}
.quickstart-controls b{display:inline-block;width:42px;color:#344f3b;font-weight:650}
.quickstart-weapons,.quickstart-more{margin:0!important;border:0!important;border-radius:0!important;background:none!important}
.pve-quickstart>.pve-details>summary{padding:14px 2px!important;font-size:14px!important;min-height:46px;cursor:pointer}
.pve-quickstart>.pve-details>summary small{font-size:11px;font-weight:400;color:#7b8874}
.pve-quickstart>.pve-details[open]{padding-bottom:10px!important}.quickstart-management{display:grid;grid-template-columns:1fr 1fr;grid-gap:9px;gap:9px;margin:8px 0 16px}.quickstart-management .button{font-size:13px;padding:10px 6px}
.pve-back-start{width:100%;text-align:left;min-height:44px;margin:0 0 12px;border:0;background:none;color:#47624b;font-size:14px;font-weight:700}
.pve-first-run .arena-hint{color:#294d38;background:rgba(255,249,233,0.93333);border:1px solid #bdcfb1;border-radius:9px;left:14px;right:14px;width:auto;padding:8px 10px;font-size:13px;line-height:1.5;pointer-events:none}
.pve-first-run [data-duel=move],.pve-first-run [data-duel=attack]{outline:2px solid #e5d28c;outline-offset:3px}
.weapon-skin-card .skin-applies{display:block;color:#3d6c54;font-size:12px;margin-top:5px}.weapon-skin-card .skin-waiting{color:#82705c}

.weapon-skin-panel .weapon-skin-card{display:flex;align-items:center;flex-wrap:wrap;grid-gap:12px;gap:12px}.weapon-skin-card>div:nth-child(2){flex:1;min-width:150px}.skin-actions{display:flex;align-items:center;grid-gap:8px;gap:8px;flex:1 0 100%;flex-wrap:wrap}.skin-actions>.button{font-size:13px;min-height:42px}.skin-actions>span{font-size:12px;color:#4f7454}.pve-quickstart .adventure-stage{display:block;text-align:left;padding:13px 15px}

/* Final combat layout: explicit slots, one message row, no floating banners. */
.action-arena{--hud-safe-top:0px;--hud-safe-top:env(safe-area-inset-top,0px);--hud-safe-bottom:0px;--hud-safe-bottom:env(safe-area-inset-bottom,0px);--hud-safe-left:0px;--hud-safe-left:env(safe-area-inset-left,0px);--hud-safe-right:0px;--hud-safe-right:env(safe-area-inset-right,0px);--control-small:66px;--control-attack:116px;--control-gap:14px;--control-size:146px;--control-height:196px;--control-bottom:14px;--control-edge:16px;--stick-size:116px;--hud-height:135px;--hud-bottom:135px}
.action-arena .battle-hud{position:absolute;top:var(--hud-safe-top);left:var(--hud-safe-left);right:var(--hud-safe-right);height:var(--hud-height);display:grid;grid-template-rows:34px 59px 24px;grid-gap:4px;gap:4px;padding:6px 10px 4px;z-index:3;pointer-events:none}
.action-arena .battle-hud .adventure-top{position:static;padding:0;min-width:0;grid-gap:6px;gap:6px}
.action-arena .battle-hud .adventure-top>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.action-arena .battle-hud .adventure-top button{min-height:34px;padding:5px 10px;font-size:12px;flex:none}
.action-arena .battle-hud .duel-health{position:static;padding:0;grid-gap:8px;gap:8px;grid-template-columns:min0 min0;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.action-arena .battle-hud .duel-health>div{grid-template-columns:min0 auto;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:20px 14px 7px;grid-gap:3px 4px;gap:3px 4px;padding:6px 8px;border:0;border-radius:9px;background:rgba(255,249,237,0.92941);box-shadow:0 1px 2px rgba(53,83,60,0.14118);min-width:0}
.action-arena .battle-hud .duel-health>div>small{display:block;grid-row:2;grid-column:1;font-size:11px;line-height:14px;min-width:0}
.action-arena .battle-hud .duel-health .player-health.has-buffs>.pet-label{display:block}
.action-arena .battle-hud .duel-health>div>strong{grid-row:2;grid-column:2;line-height:14px;font-size:11px;font-weight:650}
.action-arena .battle-hud .duel-health>div>i{grid-row:3;grid-column:1/-1;height:7px}
.action-arena .battle-hud .pve-buff-strip{display:flex;grid-row:1;grid-column:1/-1;min-height:20px;height:20px;grid-gap:4px;gap:4px;padding:0;overflow:visible;opacity:1}
.action-arena .battle-hud .pve-buff-strip .buff-mini{width:18px;height:18px;flex-basis:18px}
.action-arena .battle-hud .pve-buff-strip .buff-mini>em{bottom:-2px;right:-2px;line-height:9px;height:10px;text-align:center}
.buff-empty,.enemy-state{grid-column:1/-1;grid-row:1;align-self:center;font-size:10px;color:#71806e;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.action-arena .battle-hud .pet-shield{font:inherit;color:#547b87}
.action-arena .battle-status{position:relative;min-width:0;height:24px;border:1px solid #cdd8c6;border-radius:7px;background:rgba(246,248,239,0.92941);overflow:hidden}
.action-arena .battle-status>div{display:none!important;position:absolute!important;top:0 !important;right:0 !important;bottom:0 !important;left:0 !important;inset:0!important;width:auto!important;min-height:0!important;height:100%!important;margin:0!important;padding:3px 7px!important;border:0!important;border-radius:0!important;transform:none!important;background:none;font:500 12px/16px system-ui,"Microsoft YaHei",sans-serif!important;text-shadow:none!important;color:#3d5943;text-align:center;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.action-arena .battle-status[data-message=task]>.expedition-trail,.action-arena .battle-status[data-message=callout]>.duel-callout,.action-arena .battle-status[data-message=warning]>.duel-warning,.action-arena .battle-status[data-message=charge]>.hammer-charge-note,.action-arena .battle-status[data-message=guide]>.arena-hint{display:block!important}
.action-arena .battle-status>.duel-warning{background:#fff2da;color:#855231}
.action-arena .battle-status>.duel-warning.opening{background:#e5efdf;color:#3a6149}
.action-arena .battle-status .duel-warning>span{display:block;font:inherit;line-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.action-arena .battle-status .duel-warning>i{opacity:.25}
.action-arena .arena-skills{right:calc(var(--hud-safe-right) + var(--control-edge));bottom:var(--control-bottom);width:var(--control-size);height:var(--control-height);display:block;pointer-events:none;transform:none;transform-origin:center}
.action-arena .arena-skills>button[data-duel]{position:absolute;top:auto;right:auto;bottom:auto;left:auto;inset:auto;pointer-events:auto;width:var(--control-small);height:var(--control-small);min-height:0;min-width:0;margin:0;flex-shrink:0;transform:none;box-sizing:border-box}
.action-arena .arena-skills>button[data-duel=guard]{left:0;top:0}
.action-arena .arena-skills>button[data-duel=skill]{right:0;top:0}
.action-arena .arena-skills>button[data-duel=attack]{right:0;bottom:0;width:var(--control-attack);height:var(--control-attack)}
.action-arena .arena-skills b{font-size:22px;line-height:23px;height:25px}
.action-arena .arena-skills b>.weapon-art,.action-arena .arena-skills b svg{width:25px;height:25px}
.action-arena .arena-skills strong{font-size:12px;line-height:17px}
.action-arena .arena-skills small,.action-arena .arena-skills>button[data-duel=attack] small{font-size:10px;line-height:13px;min-height:13px;max-width:100%;white-space:nowrap}
.action-arena .arena-stick{left:calc(var(--hud-safe-left) + var(--control-edge));bottom:var(--control-bottom);width:var(--stick-size);height:var(--stick-size)}
.action-arena .arena-stick>span{bottom:7px;font-size:10px;opacity:.7}
.action-arena .arena-cancel{box-sizing:border-box;left:var(--cancel-left);top:var(--cancel-top);bottom:auto;width:64px;height:40px;min-height:40px;padding:4px;font-size:10px;border-width:1px}
.action-arena.pve-selecting .battle-hud{z-index:6}
.action-arena .duel-panel.reward-active{padding-top:calc(var(--hud-bottom) + 10px);padding-bottom:12px;align-items:safe center}
.action-arena .duel-panel.reward-active .reward-choice{max-height:100%;overflow-y:auto;margin:0}
.action-arena.hud-short .battle-hud{grid-template-rows:30px 54px 22px;grid-gap:3px;gap:3px;padding:5px 10px 3px}
.action-arena.hud-short .battle-hud .adventure-top button{min-height:30px;padding:4px 8px}
.action-arena.hud-short .battle-hud .duel-health>div{grid-template-rows:18px 12px 6px;padding:6px 8px;grid-gap:3px 4px;gap:3px 4px}
.action-arena.hud-short .battle-hud .duel-health>div>small,.action-arena.hud-short .battle-hud .duel-health>div>strong{font-size:10px;line-height:12px}
.action-arena.hud-short .battle-hud .duel-health>div>i{height:6px}
.action-arena.hud-short .battle-hud .pve-buff-strip{min-height:18px;height:18px}
.action-arena.hud-short .battle-status{height:22px}
.action-arena.hud-short .battle-status>div{padding-top:2px!important;padding-bottom:2px!important}
.action-arena.hud-short .arena-skills b{height:20px}.action-arena.hud-short .arena-skills b>.weapon-art,.action-arena.hud-short .arena-skills b svg{width:20px;height:20px}
.action-arena.hud-short .arena-skills strong{font-size:11px;line-height:15px}.action-arena.hud-short .arena-skills small{font-size:9px;line-height:11px;min-height:11px}

/* PVE touch feedback never moves or scales the captured hit area. */
.action-arena .arena-stick{box-sizing:border-box}
.action-arena .arena-stick.held{background:rgba(48,89,78,0.27059);border-color:#fff9e8;box-shadow:inset 0 0 0 3px rgba(255,249,232,0.14902)}
.action-arena .arena-skills>button[data-duel=attack]{background:radial-gradient(circle at 38% 28%,#dca95e,#b67b34);box-shadow:0 4px 0 #875e2d,inset 0 0 0 4px rgba(255,240,197,0.13725)}
.action-arena .arena-skills>button[data-duel=attack] strong{font-size:14px;line-height:20px}
.action-arena .arena-skills>button[data-duel=attack] b{height:30px}
.action-arena .arena-skills>button[data-duel=attack] b>.weapon-art,.action-arena .arena-skills>button[data-duel=attack] b svg{width:30px;height:30px}
.action-arena .arena-skills>button[data-duel].touch-held{border-color:#fff7d3;box-shadow:0 2px 0 #876a40,inset 0 0 0 3px rgba(255,247,211,0.30196)}
.action-arena .arena-skills>.steering .right-aim-thumb{opacity:.9}
.action-arena .arena-skills>button:focus-visible{outline:3px solid #fff1b7;outline-offset:3px}

.action-arena .arena-skills>button[data-duel=attack].charged{background:radial-gradient(circle at 38% 28%,#ecd088,#aa7c36);border-color:#ffedb0;box-shadow:0 3px 0 #875e2d,inset 0 0 0 3px rgba(255,245,202,0.25098),0 0 12px rgba(239,203,118,0.4)}

/* Existing HUD height and controls are unchanged. The right status row hosts run-only supplies. */
.action-arena .battle-hud .field-buff-strip{display:flex;align-items:center;grid-gap:4px;gap:4px;grid-row:1;grid-column:1/-1;min-width:0;min-height:0;height:20px;padding:0;border:0;background:none;box-shadow:none;border-radius:0;color:#54777b;pointer-events:auto}
.field-buff-strip>small{font-size:9px;white-space:nowrap;flex:none;color:#647b79}
.action-arena .battle-hud .field-buff-strip .buff-mini{width:18px;height:18px;flex:0 0 18px;border-color:#9fbab6;background:#ecf1e9;color:#536f6b}
.action-arena .battle-hud .field-buff-strip .buff-mini[data-tier=rare]{background:#e3dbea;border-color:#a89ab9;color:#695c7c}
.field-buff-strip .buff-mini>em{font-size:8px;line-height:9px;bottom:-2px;right:-2px;min-width:10px;padding:0 1px;background:#f8f5e9;color:#435b51}
.field-buff-strip .buff-overflow{font-size:9px;white-space:nowrap}
.action-arena.hud-short .field-buff-strip{height:18px}
.combat-health-bar.is-rare{width:54px}
.combat-health-bar.is-rare .combat-health-track{border-color:#d2b67c}
.combat-health-bar.is-rare .combat-health-low{right:auto;left:50%;top:-15px;transform:translateX(-50%);width:auto;height:13px;min-width:40px;padding:0 3px;border-radius:4px;background:#fbf2dc;color:#715733;font:600 9px/12px system-ui;white-space:nowrap}
.combat-health-bar.is-rare[data-rare=warden] .combat-health-low{background:#e4f0eb;color:#477571;border-color:#a3c1b8}
.combat-health-bar.is-rare[data-rare=frenzy] .combat-health-low{background:#f6e5db;color:#925a4b;border-color:#d8ad9a}

/* Two compact recipe icons share the existing header; no extra HUD rows. */
.action-arena .battle-hud .adventure-top .pve-build-strip{display:flex;align-items:center;justify-content:center;grid-gap:4px;gap:4px;pointer-events:auto;min-width:68px;max-width:92px;min-height:34px;padding:4px;background:none;box-shadow:none;border:0;color:#355645}
.action-arena .battle-hud .pve-build-strip[hidden],.action-arena .adventure-top>b[hidden]{display:none!important}
.pve-build-strip>small{font-size:10px;white-space:nowrap}
.action-arena .battle-hud .pve-build-strip .buff-mini{width:18px;height:18px;flex:0 0 18px;background:#355645;color:#fff4cd;border-color:#81977c}
.buff-mini[data-tier=synergy]{background:#355645;color:#fff4cd;border-color:#81977c}
.pve-build-strip .buff-mini>em{font-size:7px;line-height:9px;min-width:9px;background:#f3eed6;color:#315a41;right:-3px;bottom:-3px;padding:0}
.action-arena .reward-card .reward-link{display:block;min-height:16px;font-size:11px;line-height:1.45;font-weight:500;white-space:normal;color:inherit}
.action-arena .reward-card .reward-link[data-state=finish]{font-weight:750;-webkit-text-decoration:underline;text-decoration:underline;text-underline-offset:3px}
.reward-link-detail{display:inline-block;margin-top:5px;color:#456347}
@media(max-width:350px){.action-arena .reward-card .reward-link{font-size:11px}.action-arena .battle-hud .adventure-top .pve-build-strip{grid-gap:3px;gap:3px;padding:2px;min-width:66px}}

.action-arena .arena-skills .right-aim-thumb{position:absolute;left:calc(50% - 5px);top:calc(50% - 5px);width:10px;height:10px;border-radius:50%;background:#fff6d7;box-shadow:0 0 0 2px #4a705a;transform:translate(var(--aim-x,0px),var(--aim-y,0px));pointer-events:none;opacity:0}
.action-arena .arena-skills .manual-aiming .right-aim-thumb{opacity:.85}

.action-arena .battle-hud .boss-health>i{position:relative}
.action-arena .battle-hud .boss-health>i::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;inset:0;background:linear-gradient(to right,transparent 17.5%,#fff8e9 17.5%,#fff8e9 18.5%,transparent 18.5%,transparent 59.5%,#fff8e9 59.5%,#fff8e9 60.5%,transparent 60.5%);pointer-events:none}
.action-arena .battle-hud .duel-health>.boss-finale{box-shadow:inset 0 0 0 1px #ba9362;background:#fff2dc}

.pve-book{color:#405442;font-size:14px;line-height:1.55}
.book-back,.book-actions{display:flex;flex-wrap:wrap;grid-gap:8px;gap:8px;align-items:center}
.book-back{justify-content:space-between;margin-bottom:12px}
.book-button,.book-tabs button{min-height:44px;padding:9px 13px;border:1px solid #b6c1ab;border-radius:12px;background:#f5f2e7;color:#34503b;font:inherit;line-height:1.4;touch-action:manipulation;white-space:normal}
.book-button:disabled{opacity:.55}
.book-button:focus-visible,.book-tabs button:focus-visible,.pve-book summary:focus-visible{outline:3px solid #628669;outline-offset:3px}
.book-goal{padding:14px 16px;border-left:3px solid #8ba97d;border-radius:4px 14px 14px 4px;background:#eaf0e2;margin:12px 0 16px;overflow-wrap:anywhere}
.book-goal h3{font-size:18px;margin:3px 0 5px}.book-goal p{margin:5px 0 10px}
.book-caption,.book-intro,.book-footnote{margin:10px 0;color:#5f6c58}
.book-tabs{display:grid;grid-template-columns:repeat(3,min0);grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:7px;gap:7px;margin:14px 0}
.book-tabs button[aria-pressed=true]{background:#49664d;border-color:#49664d;color:#fff9e8;font-weight:700}
.book-row{display:grid;grid-template-columns:68px min0;grid-template-columns:68px minmax(0,1fr);grid-gap:12px;gap:12px;padding:17px 0;border-bottom:1px solid #dedfcc;align-items:start;overflow-wrap:anywhere}
.book-row h3{font-size:17px;line-height:1.4;margin:2px 0 5px}.book-row p{margin:6px 0 10px}.book-row small,.book-state{color:#627154;font-size:12px}
.book-portrait{display:block;width:68px;height:82px;max-width:100%;background:#f1ecdd;border-radius:14px}
.book-weapon{width:68px;height:70px;display:grid;place-items:center;background:#f1ecdd;border-radius:14px}.book-weapon svg{width:52px;height:52px}
.pve-book details{margin:8px 0}.pve-book summary{min-height:44px;display:list-item;align-content:center;padding:9px 0;color:#40583e;cursor:pointer}
.book-recipe{font-weight:650;color:#3e654b}.book-row .book-button{margin-top:5px}
.book-notes{padding:12px 14px;background:#f4f2e8;border:1px solid #dedfcc;border-radius:14px}
.book-note-grid{display:grid;grid-template-columns:repeat(2,min0);grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.book-note-grid>span{padding:9px 7px;border-radius:8px;background:#e8e6dc;color:#72776b;overflow-wrap:anywhere}.book-note-grid .found{background:#e2ebd9;color:#3a573d}.book-note-grid small{display:block;font-size:12px}
.book-craft{border-top:1px solid #dedfcc;padding:10px 0}.book-craft h4{margin:4px 0}.book-craft p{margin:4px 0 8px}
.quickstart-goal-note{font-size:13px;line-height:1.5;color:#5d7357;margin:8px 0 0;overflow-wrap:anywhere}
.book-receipt{padding:12px 0;text-align:left;border-top:1px solid #d9dccb;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.book-receipt p{font-size:13px;margin:6px 0}.book-receipt b{font-size:15px}
.action-arena .duel-panel.journal-result{overflow-y:auto;overscroll-behavior:contain;align-items:flex-start}.action-arena .duel-panel.journal-result>section{max-height:none;margin-top:auto;margin-bottom:auto}
@media(max-width:340px){.book-row{grid-template-columns:54px min0;grid-template-columns:54px minmax(0,1fr);grid-gap:9px;gap:9px}.book-portrait{width:54px;height:70px}.book-weapon{width:54px;height:62px}.book-button,.book-tabs button{padding-left:10px;padding-right:10px}.book-goal{padding:12px}.book-note-grid{grid-template-columns:min0;grid-template-columns:minmax(0,1fr)}}

/* PVE preparation and paused screens only. Battle HUD / PVP geometry is unchanged. */
.pve-prep,.pve-book{color:#304b3a;line-height:1.65}
.pve-prep p,.pve-book p{overflow-wrap:anywhere}
.pve-prep .pve-section-label{display:block;margin:16px 0 10px}
.pve-prep .pve-section-label h3{font-size:17px}.pve-prep .pve-section-label small{display:block;font-size:13px;margin-top:4px;color:#53614e}
.pve-prep .pve-details summary{font-size:15px;min-height:48px;line-height:1.55}
.pve-prep .pve-details summary>small{float:none;display:block;margin:3px 0 0;font-size:13px;line-height:1.5;color:#596851}
.pve-quickstart>.pve-details>summary{font-size:15px!important;border-top:1px solid #d9dfd0;padding:13px 2px!important}
.pve-quickstart>.pve-details>summary small{font-size:13px;color:#53644e}
.pve-prep .quickstart-loadout{text-align:left;font-size:14px!important;color:#3d563f!important;margin:0 0 12px!important}
.pve-prep .quickstart-eyebrow{font-size:13px!important;color:#52654e!important}
.pve-prep .quickstart-goal{font-size:15px!important;color:#3c563e!important;margin:0 0 12px!important}
.pve-prep .quickstart-controls{padding:10px 0;margin:8px 0 4px;border:0}
.pve-prep .quickstart-controls p{font-size:14px!important;color:#405a43!important;display:flex;grid-gap:4px;gap:4px;line-height:1.7!important}
.pve-prep .quickstart-controls b{flex:0 0 38px}
.pve-save-note{font-size:13px!important;line-height:1.6!important;color:#55664e!important;margin:10px 0!important}
.pve-prep .quickstart-management{grid-template-columns:min0;grid-template-columns:minmax(0,1fr);grid-gap:8px;gap:8px}
.pve-prep .quickstart-management button{font-size:15px;min-height:48px;text-align:left;padding:12px}
.pve-prep .arsenal-hero{padding:14px}.pve-prep .pve-hero-line{flex-wrap:wrap;align-items:start}
.pve-prep .pve-wallet{font-size:14px}.pve-prep .pve-wallet b{font-size:19px}
.pve-prep .weapon-tile b{white-space:normal;font-size:14px}.pve-prep .weapon-tile small{font-size:13px}
.pve-prep .weapon-tile .weapon-state{font-size:12px}
.pve-prep .forge-progress{margin:12px 0}.pve-prep .forge-benefits{grid-template-columns:min0;grid-template-columns:minmax(0,1fr);font-size:15px;grid-gap:5px;gap:5px}
.pve-prep .forge-benefits>small{font-size:13px;color:#435f47}
.pve-cost-list{display:grid;grid-template-columns:repeat(2,min0);grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;width:100%;margin:0}
.pve-cost-list>div{padding:9px 11px;background:#edf1e6;border-radius:8px}.pve-cost-list dt{font-size:13px;color:#53614b}.pve-cost-list dd{margin:3px 0 0;font-size:16px;font-weight:700;color:#2f4e35;overflow-wrap:anywhere;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.pve-cost-caption{display:block;font-size:12px!important;margin-top:6px;color:#5b654c!important;width:100%}
.pve-prep .material-price{display:block;margin:14px 0 10px}.pve-prep .cost-hint{font-size:14px;color:#5c593f;text-align:left;margin:8px 0}
.pve-prep .skin-cost{font-size:14px;margin:6px 0}.pve-prep .pve-cost-shortage{font-size:13px;color:#654e32;margin:4px 0}
.pve-prep .weapon-skin-card{padding:12px;margin:10px 0;flex-direction:row;align-items:start;grid-gap:10px;gap:10px}
.pve-prep .weapon-skin-card>div:nth-child(2){min-width:0;flex:1 1 150px}.pve-prep .weapon-skin-swatch{width:44px;flex:0 0 44px}
.pve-prep .weapon-skin-card b{font-size:16px;line-height:1.5}.pve-prep .weapon-skin-card small,.pve-prep .weapon-skin-card .skin-applies{font-size:13px;line-height:1.6;color:#4b634e}
.pve-prep .skin-actions>.button{min-height:44px;font-size:14px}
.pve-prep .gear-footer{display:block}.pve-prep .gear-footer .pve-cost-list{margin:10px 0 0}
.pve-prep .gear-footer>.button{width:100%;margin-top:10px}.pve-prep .gear-footer p{font-size:14px;line-height:1.65}
.pve-prep .gear-footer p small{font-size:13px}.pve-prep .gear-upgrade{margin-top:10px}
.pve-prep .gear-copy small{font-size:13px}.pve-prep .gear-effect{font-size:15px}
.pve-equipped-line{font-size:14px;padding:12px;border-left:3px solid #749264;background:#f0f3e7;border-radius:5px}
.pve-section-intro{font-size:14px;color:#48604b}
.pve-prep button:focus-visible,.pve-prep summary:focus-visible{outline:3px solid #4f7656;outline-offset:3px}
.pve-prep .button:disabled{opacity:1;background:#e5e8df;color:#53604d}
.pve-book .book-goal{margin:10px 0 12px;padding:12px 14px}.pve-book .book-goal h3{font-size:19px}
.pve-book .book-goal details{margin:3px 0}.pve-book .book-goal summary{font-size:14px;padding:6px 0}
.pve-book .book-row p{font-size:14px;color:#405641}.pve-book .book-row small{font-size:13px;color:#53634c}
.pve-book .book-caption{font-size:13px;line-height:1.65}.pve-book .book-requirements{font-size:14px;line-height:1.75;padding-left:20px;margin:5px 0 12px}
.pve-book .book-requirements li{margin:5px 0}.pve-book .book-craft p{font-size:14px}
/* The same list structure is used for route, cards and supplies, with specific instructions. */
.action-arena .duel-panel .room-choice.reward-choice{max-width:680px;padding:18px 14px 12px;text-align:left}
.reward-choice .reward-heading>small{font-size:13px;color:#53624d;line-height:1.5}
.reward-choice .reward-heading h2{font-size:22px;line-height:1.4;margin:5px 0 7px}
.reward-choice .reward-heading p{font-size:14px;line-height:1.6;color:#3f5942;margin:0 0 12px}
.action-arena .duel-panel .pve-flow-context{font-size:14px;line-height:1.65;margin:8px 0 12px;padding:9px 11px;background:#e8eedf;border-radius:7px;color:#304d37;text-align:left}
.reward-hand{grid-template-columns:min0;grid-template-columns:minmax(0,1fr);grid-gap:9px;gap:9px}
.action-arena .reward-choice button.reward-card{display:grid;grid-template-columns:32px min0;grid-template-columns:32px minmax(0,1fr);grid-gap:3px 12px;gap:3px 12px;align-items:center;text-align:left;min-height:100px;padding:12px;border-radius:10px;box-shadow:none;margin:0;transform:none}
.reward-card .reward-art{grid-row:1/3;width:32px;height:36px;margin:0;align-self:start;padding-top:5px}
.reward-card .reward-copy{display:block;min-width:0}.reward-card .reward-copy>strong{display:block;font-size:17px;line-height:1.5;color:inherit;margin:2px 0 4px}
.reward-card .reward-type{display:block;font-size:12px;line-height:1.5;color:inherit}
.reward-card .reward-description{display:block;font-size:14px;line-height:1.6;text-align:left;color:inherit}
.action-arena .reward-card .reward-link{font-size:13px;line-height:1.6;margin-top:5px;text-align:left}
.reward-card .reward-pick{grid-column:2;justify-content:flex-end;border:0;padding:2px 0 0;font-size:12px;line-height:1.5;white-space:normal}
.reward-choice .pve-choice-next{font-size:13px!important;line-height:1.65!important;text-align:left;color:#4a6047!important;margin:11px 0!important}
.reward-choice .reward-tools{flex-wrap:wrap;justify-content:flex-start;margin:10px 0;grid-gap:8px;gap:8px}
.action-arena .reward-choice .reward-tools button{flex:0 1 auto;font-size:14px;padding:10px 13px;min-height:44px}
.reward-choice .reward-tools:empty{display:none}
.reward-effect-details summary,.reward-choice .reward-details summary{font-size:14px;min-height:48px;line-height:1.6;padding:12px 1px}
.action-arena .reward-effect-details p,.reward-choice .reward-details p{font-size:14px!important;line-height:1.7!important}
.action-arena .reward-choice .reward-leave{margin:12px 0 0;width:100%;min-height:44px;padding:10px 7px;background:transparent;border:1px solid #b9c5ae;border-radius:8px;color:#3c5941;font-size:14px;line-height:1.6;box-shadow:none}
.reward-choice .reward-status{font-size:14px;line-height:1.6;margin:8px 0}
.action-arena .duel-panel section.pve-pause,.action-arena .duel-panel section.pve-result{width:100%;max-width:520px;max-height:none;overflow:visible;margin:auto;padding:20px 16px;background:#f7f5ec;color:#304a39;border-radius:14px;text-align:left}
.action-arena .duel-panel section.pve-result h2{font-size:24px;line-height:1.4;margin:7px 0}
.action-arena .duel-panel section.pve-result>small{font-size:13px;color:#526449}.action-arena .duel-panel section.pve-result>p{font-size:14px;line-height:1.6;color:#456048}
.pve-pause .button,.pve-result .button{font-size:15px;min-height:48px;line-height:1.5;white-space:normal}
.pve-pause .pve-details summary,.pve-result .pve-details summary{font-size:15px;min-height:48px}
.pve-help-list{font-size:14px;line-height:1.75;margin:10px 0}.pve-help-list dt{font-weight:700;color:#304a36;margin-top:14px}.pve-help-list dd{margin:3px 0 12px;color:#4b614b}
.pve-result-wallet{margin:16px 0 18px;padding:12px;border:1px solid #ccd7be;border-radius:10px;background:#e9efdf}.pve-result-wallet>b{font-size:13px;color:#3d593f}
.pve-result-wallet dl{display:grid;grid-template-columns:repeat(3,min0);grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin:9px 0 0}.pve-result-wallet dt{font-size:13px}.pve-result-wallet dd{font-size:22px;line-height:1.5;font-weight:700;margin:2px 0 0;overflow-wrap:anywhere}
.pve-result-links{display:grid;grid-template-columns:min0;grid-template-columns:minmax(0,1fr);grid-gap:8px;gap:8px;margin:10px 0 16px}.pve-result-links .button{margin:0}
.pve-result .book-receipt{font-size:14px;padding:14px 0}.pve-result .book-receipt p{font-size:14px;line-height:1.7}

@media(max-width:340px){.action-arena .duel-panel .room-choice.reward-choice{padding:15px 10px}.action-arena .reward-choice button.reward-card{padding:10px;grid-gap:3px 9px;gap:3px 9px}.reward-choice .reward-heading h2{font-size:20px}.pve-cost-list{grid-gap:6px;gap:6px}.pve-cost-list>div{padding:8px}.pve-result-wallet dd{font-size:19px}}
/* A quiet full panel during decisions: no battle text visible behind the reading surface. */
.action-arena .duel-panel{background:#e9eee2;align-items:start}
.action-arena .duel-panel.reward-active{padding:12px;padding-top:12px;padding-top:max(12px,var(--hud-safe-top));padding-bottom:12px;padding-bottom:max(12px,var(--hud-safe-bottom));align-items:start;background:#e9eee2}
.action-arena .duel-panel.reward-active .reward-choice{max-height:none;overflow:visible;overflow-y:visible;margin:0 auto;max-width:520px}

/* 0.10.30 base: portrait cards for Buff and route choices only. */
.action-arena .duel-panel.reward-active.reward-vertical-active{
 box-sizing:border-box;
 padding-top:calc(var(--hud-bottom) + 10px);
 padding-right:12px;
 padding-right:max(12px,var(--hud-safe-right));
 padding-bottom:12px;
 padding-bottom:max(12px,var(--hud-safe-bottom));
 padding-left:12px;
 padding-left:max(12px,var(--hud-safe-left));
 grid-template-rows:min0;
 grid-template-rows:minmax(0,1fr);
 min-height:0;
 align-items:start;
 overflow:hidden;
 overflow-y:hidden;
}
.action-arena .duel-panel.reward-active.reward-vertical-active .reward-choice{
 min-height:0;
 max-height:100%;
 max-width:560px;
 padding:18px 10px 12px;
 margin:0 auto;
 text-align:center;
 overflow:auto;
 overflow-x:hidden;
 overflow-y:auto;
 overscroll-behavior:contain;
 touch-action:pan-y;
 -webkit-overflow-scrolling:touch;
}
.reward-choice.reward-vertical .reward-heading h2{margin:0 0 6px;font-size:22px;line-height:1.35}
.reward-choice.reward-vertical .reward-heading p{margin:0 0 14px;font-size:13px;line-height:1.5}
.reward-choice.reward-vertical .reward-hand{
 display:grid;
 grid-template-columns:repeat(var(--card-count,3),min0);
 grid-template-columns:repeat(var(--card-count,3),minmax(0,1fr));
 grid-gap:8px;
 gap:8px;
 align-items:stretch;
 width:100%;
 margin:0 auto;
}
.reward-choice.reward-vertical[data-choice-kind=route] .reward-hand{max-width:420px}
.action-arena .reward-choice.reward-vertical button.reward-card{
 display:flex;
 flex-direction:column;
 grid-template-columns:none;
 align-items:center;
 grid-gap:9px;
 gap:9px;
 min-height:266px;
 padding:14px 8px 10px;
 text-align:center;
}
.reward-choice.reward-vertical .reward-card .reward-type{font-size:12px;font-weight:700;line-height:1.5;min-height:18px;padding:0;background:none;color:inherit}
.reward-choice.reward-vertical .reward-card .reward-art{grid-row:auto;flex:0 0 42px;align-self:center;width:40px;height:42px;margin:0;padding:0}
.reward-choice.reward-vertical .reward-card>strong{display:block;width:100%;font-size:16px;line-height:1.45;margin:0;color:inherit;overflow-wrap:anywhere}
.reward-choice.reward-vertical .reward-card .reward-description{flex:1;width:100%;font-size:14px;line-height:1.55;text-align:center;color:inherit;overflow-wrap:anywhere}
.reward-choice.reward-vertical .reward-card .reward-pick{grid-column:auto;display:flex;justify-content:center;width:100%;padding:8px 0 0;margin-top:auto;border-top:1px solid currentColor;font-size:13px;line-height:1.5;white-space:normal;color:inherit}
/* Buff rarity deepens in one hue family; route cards keep their route labels. */
.action-arena .reward-choice.reward-vertical button.reward-card[data-tier=common]{--paper:#edf1e7;--card-ink:#304433;border-color:#a1ad97}
.action-arena .reward-choice.reward-vertical button.reward-card[data-tier=rare]{--paper:#bdcfb7;--card-ink:#273e2c;border-color:#819777}
.action-arena .reward-choice.reward-vertical button.reward-card[data-tier=epic]{--paper:#526d57;--card-ink:#fffdf3;border-color:#3e5843}
.action-arena .reward-choice.reward-vertical button.reward-card[data-tier=legendary]{--paper:#233d2e;--card-ink:#fff5db;border-color:#162c20}
.reward-choice.reward-vertical .reward-tools{justify-content:center}
.reward-choice.reward-vertical .reward-full-details{margin-top:8px}
.reward-choice.reward-vertical .reward-full-details summary{font-weight:650}
.reward-choice.reward-vertical .reward-full-details p{overflow-wrap:anywhere}
.reward-choice.reward-vertical .reward-run-details{border-top:1px solid #d0d4c8;padding-top:12px}
@media(max-width:350px){
 .action-arena .duel-panel.reward-active.reward-vertical-active .reward-choice{padding:16px 8px 10px}
 .reward-choice.reward-vertical .reward-hand{grid-gap:6px;gap:6px}
 .action-arena .reward-choice.reward-vertical button.reward-card{padding:12px 5px 9px;grid-gap:8px;gap:8px}
}

/* A quiet full selection surface; every rule is scoped to an active card screen. */
.action-arena.pve-card-screen>:not(.duel-panel){visibility:hidden!important;pointer-events:none!important}
body.adventure-mode.pve-card-screen-open .achievement-toast,
body.adventure-mode.pve-card-screen-open .affection-feedback,
body.adventure-mode.pve-card-screen-open #toast{visibility:hidden!important;pointer-events:none!important}
.action-arena.pve-card-screen .duel-panel.reward-active.reward-vertical-active{
 z-index:30;
 background:#e9eee2;
 padding-top:16px;
 padding-top:max(16px,var(--hud-safe-top));
}
/* Keep the accessible dialog title, but let the actual cards lead visually. */
.reward-choice.reward-vertical .reward-heading{
 position:absolute;
 width:1px;
 height:1px;
 padding:0;
 margin:-1px;
 overflow:hidden;
 clip:rect(0,0,0,0);
 -webkit-clip-path:inset(50%);
         clip-path:inset(50%);
 white-space:nowrap;
 border:0;
}
.reward-choice.reward-vertical .reward-full-details{margin-top:14px}
.reward-choice.reward-vertical .reward-full-details>summary{text-align:center;min-height:48px;cursor:pointer}
.reward-choice.reward-vertical .reward-full-details .reward-tools{margin:0 0 14px;justify-content:center}

/* Float the cards over the actual game scene, centered inside the safe screen area. */
.action-arena.pve-card-screen .duel-panel.reward-active.reward-vertical-active{
 background:rgba(16,29,23,.20);
 align-items:center;
 padding-top:16px;
 padding-top:max(16px,var(--hud-safe-top));
 padding-bottom:16px;
 padding-bottom:max(16px,var(--hud-safe-bottom));
}
.action-arena.pve-card-screen .duel-panel.reward-active.reward-vertical-active .reward-choice{
 background:transparent;
 border:0;
 border-radius:0;
 box-shadow:none;
 padding:14px 8px;
}
.reward-choice.reward-vertical .reward-full-details{
 margin-top:16px;
 border:0;
 background:transparent;
 border-radius:12px;
}
.reward-choice.reward-vertical .reward-full-details>summary{
 box-sizing:border-box;
 width:96px;
 margin:0 auto;
 min-height:44px;
 padding:11px 14px;
 border:1px solid rgba(255,247,229,0.54902);
 border-radius:22px;
 background:rgba(248,245,234,0.94902);
 color:#354c3b;
 box-shadow:0 3px 10px rgba(16,37,27,0.14118);
 line-height:20px;
}
.reward-choice.reward-vertical .reward-full-details[open]{background:rgba(248,245,234,0.98039);padding:0 12px 12px;box-shadow:0 8px 24px rgba(16,37,27,0.14902)}
.reward-choice.reward-vertical .reward-full-details[open]>summary{margin-bottom:12px;border-color:transparent;box-shadow:none;background:transparent}
.reward-choice.reward-vertical .reward-full-details>summary:focus-visible{outline:3px solid #dbe7ba;outline-offset:3px}
/* Announce success without inserting a new row and shifting the centered cards. */
.reward-choice.reward-vertical .reward-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);-webkit-clip-path:inset(50%);clip-path:inset(50%);margin:0;padding:0}
.reward-choice.reward-vertical.reward-retry .reward-status{position:static;width:auto;height:auto;overflow:visible;clip:auto;-webkit-clip-path:none;clip-path:none;margin:8px 0;color:#2f4636;background:rgba(248,245,234,0.94902);border-radius:8px;padding:7px 10px}
/* Press, release and confirm are short; no looping sparkle or full-screen flash. */
.action-arena .reward-choice.reward-vertical button.reward-card{
 --pick-ring:#d2dfc1;
 --pick-glow:rgba(182,207,158,0.25098);
 box-shadow:0 5px 14px rgba(16,37,27,0.18824);
 transition:transform .12s ease, box-shadow .16s ease, opacity .14s ease;
 animation:card-float-in .24s ease-out backwards;
 animation-delay:calc(var(--deal)*.045s);
}
.action-arena .reward-choice.reward-vertical button.reward-card[data-tier=rare]{--pick-ring:#c8e1b5;--pick-glow:rgba(172,208,157,0.33333)}
.action-arena .reward-choice.reward-vertical button.reward-card[data-tier=epic]{--pick-ring:#e5dfb0;--pick-glow:rgba(214,216,165,0.4)}
.action-arena .reward-choice.reward-vertical button.reward-card[data-tier=legendary]{--pick-ring:#f1d68d;--pick-glow:rgba(237,199,115,0.43922)}
.action-arena .reward-choice.reward-vertical button.reward-card:focus-visible{outline:3px solid #fff7d9;outline-offset:3px}
.action-arena .reward-choice.reward-vertical button.reward-card:active:not(:disabled){animation:none;transform:translateY(2px) scale(.985);box-shadow:0 2px 5px rgba(16,37,27,0.18824)}
.action-arena .reward-choice.reward-vertical.reward-pending button.reward-card{animation:none;opacity:.58;filter:none}
.action-arena .reward-choice.reward-vertical.reward-pending button.reward-card.is-picked{
 opacity:1;
 border-color:var(--pick-ring);
 box-shadow:0 0 0 2px var(--pick-ring),0 7px 20px var(--pick-glow);
 animation:card-float-confirm .28s ease-out both;
}
@keyframes card-float-in{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes card-float-confirm{0%{transform:translateY(1px) scale(.985)}65%{transform:translateY(-7px) scale(1.018)}100%{transform:translateY(-5px) scale(1.012)}}
.action-arena .reward-choice.reward-vertical.reward-still button.reward-card{animation:none!important;transition:none!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.action-arena .reward-choice.reward-vertical button.reward-card{animation:none!important;transition:none!important;transform:none!important}}

/* Two supply cards keep portrait proportions, including wide and landscape screens. */
.reward-choice.reward-vertical[data-choice-kind=supply] .reward-hand{max-width:420px}
/* Use the existing safe area. Noninteractive, short-lived, with no new modal or layout shift. */
.difficulty-banner-host{
 position:absolute;z-index:180;left:12px;left:max(12px,env(safe-area-inset-left,0px));right:12px;right:max(12px,env(safe-area-inset-right,0px));
 top:calc(0px + 12px);
 top:calc(env(safe-area-inset-top,0px) + 12px);pointer-events:none;
}
.difficulty-banner-host:empty{display:none}
.difficulty-banner{
 position:relative;box-sizing:border-box;max-width:440px;margin:0 auto;overflow:hidden;
 padding:12px 16px 13px;border:1px solid #bc866b;border-left:4px solid #e8b482;border-radius:10px;
 color:#fff1de;background:linear-gradient(110deg,#422c29,#332828);box-shadow:0 7px 24px rgba(33,24,19,0.25098);
 animation:difficulty-banner-arrive .24s cubic-bezier(.2,.8,.2,1) both,difficulty-banner-leave .22s ease-in 3.58s forwards;
}
.difficulty-banner[data-level="2"]{border-left-color:#eca576}
.difficulty-banner[data-level="3"]{border-left-color:#ed8a72}
.difficulty-banner-heading{display:flex;justify-content:space-between;grid-gap:12px;gap:12px;align-items:center;font-size:11px;line-height:16px;color:#e8c3a6;letter-spacing:.08em}
.difficulty-banner-heading b{font-size:12px;letter-spacing:0;color:#ffe5c1}
.difficulty-banner-title{display:block;font-size:20px;line-height:28px;font-weight:750;margin:3px 0 2px;color:#fff1de}
.difficulty-banner-detail{font-size:14px;line-height:21px;margin:0;color:#ffdab4;overflow-wrap:anywhere}
.difficulty-banner-note{font-size:12px;line-height:18px;margin:3px 0 0;color:#e2c9b9;overflow-wrap:anywhere}
.difficulty-banner-edge{position:absolute;left:0;right:0;bottom:0;height:2px;background:#edb987;transform-origin:left;animation:difficulty-banner-time 3.8s linear forwards}
@keyframes difficulty-banner-arrive{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
@keyframes difficulty-banner-leave{to{opacity:0;transform:translateY(-5px)}}
@keyframes difficulty-banner-time{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.difficulty-banner-still,.difficulty-banner-still .difficulty-banner-edge{animation:none}
body.adventure-mode .difficulty-banner-host,body.runner-mode .difficulty-banner-host,body.pve-card-screen-open .difficulty-banner-host{display:none!important}
@media(prefers-reduced-motion:reduce){.difficulty-banner,.difficulty-banner-edge{animation:none}}

/* PVE camp only: parchment, inset panels and a single gold launch control. */
#sheetBackdrop.pve-lobby-shell{padding:0;background:#233c36;-webkit-backdrop-filter:none;backdrop-filter:none;align-items:stretch;right:0}
#sheetBackdrop.pve-lobby-shell>.sheet{
 width:100%;max-width:none;height:100%;max-height:100%;margin:0;padding-bottom:0;border:0;border-radius:0;
 display:flex;flex-direction:column;overflow:hidden;background:#e9e5d3;
 background-image:radial-gradient(rgba(185,189,167,0.18039) .7px,transparent .7px);background-size:5px 5px;animation:none;
}
.pve-lobby-shell .sheet-handle{display:none}
.pve-lobby-shell .sheet-head{flex:0 0 auto;margin:0;padding:calc(10px + 0px) 16px 9px;padding:calc(10px + env(safe-area-inset-top,0px)) 16px 9px;border-bottom:2px solid #bac4af;background:#eef0df;grid-gap:8px;gap:8px}
.pve-lobby-shell #sheetEyebrow{display:none}
.pve-lobby-shell .sheet-head h2{font-size:22px;line-height:32px;margin:0;letter-spacing:.04em;color:#304d40}
.pve-lobby-shell .close-sheet{width:44px;min-width:44px;height:44px;min-height:44px;border:1px solid #a8b69c;border-radius:10px;background:#e0e6cf;box-shadow:0 2px 0 #a1af94;color:#425d48;font-size:26px;margin:0}
.pve-lobby-shell .sheet-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:8px 14px 0;scroll-padding-bottom:94px}
.pve-lobby-shell .pve-prep{display:flex;flex-direction:column;flex:1;min-height:100%}
.pve-lobby{flex:1;display:flex;flex-direction:column;grid-gap:10px;gap:10px;min-height:100%;color:#304d40;line-height:1.4}
.pve-lobby *{box-sizing:border-box}
.pve-lobby h3,.pve-lobby h4,.pve-lobby p{margin:0}
.pve-lobby button{font-family:inherit;min-width:0;touch-action:manipulation;transition:transform .1s ease, background-color .12s ease;cursor:pointer}
.pve-lobby button:focus-visible{outline:3px solid #547c5f;outline-offset:3px}
.pve-lobby button:active:not(:disabled){transform:translateY(2px)}
.pve-lobby button:disabled{opacity:.6;cursor:default;filter:saturate(.35)}
.pve-lobby .item-icon{width:26px;height:26px}
.lobby-wallet{display:flex;align-items:center;grid-gap:8px;gap:8px;min-height:36px}
.lobby-wallet>span{display:flex;align-items:center;grid-gap:5px;gap:5px;background:#f8f4e6;border:1px solid #c0c7b1;border-radius:8px;min-height:30px;padding:2px 8px;box-shadow:inset 0 2px 3px rgba(111,128,98,0.08627)}
.lobby-wallet .item-icon{width:21px;height:21px}
.lobby-wallet b{font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.lobby-wallet small{font-size:11px;color:#5c6956}
.lobby-help{margin-left:auto;width:44px;height:44px;border:1px solid #a8b69c;border-radius:9px;background:#f3f2e5;color:#4a624e;font-size:18px;font-weight:750}
.lobby-hero{position:relative;flex-shrink:0;height:190px;overflow:hidden;border-radius:15px;border:2px solid #667e5d;box-shadow:0 4px 0 #b3bea0;background:#355445}
.lobby-hero-art{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 36%;opacity:.92}
.lobby-hero-shade{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;background:linear-gradient(90deg,rgba(35,62,54,0.96078) 0%,rgba(41,75,60,0.80784) 35%,rgba(41,75,60,0.28235) 72%,rgba(33,62,52,0.12549))}
.lobby-chapter-tag{position:absolute;top:12px;left:13px;display:flex;grid-gap:8px;gap:8px;align-items:center;color:#ffe6ad;font-weight:750;font-size:12px;letter-spacing:.06em}
.lobby-chapter-tag span{font-size:10px;font-weight:500;padding:2px 6px;border:1px solid rgba(229,219,179,0.47059);border-radius:4px;color:#f8edce;letter-spacing:0}
.lobby-hero-copy{position:absolute;left:14px;bottom:20px;right:110px;color:#fff4d7;text-shadow:0 1px 3px rgba(25,52,40,0.43922)}
.lobby-hero-copy>small{font-size:11px;color:#e0e8cc;letter-spacing:.12em}
.pve-lobby .lobby-hero-copy h3{font-size:27px;line-height:1.2;margin:5px 0 10px;font-weight:850;color:#fff4d7}
.lobby-hero-copy>span{font-size:11px;color:#f0e6c5}
.lobby-chapter-switch{position:absolute;bottom:12px;right:10px;width:94px;background:#f1e4c8;border:2px solid #d0b97e;border-radius:13px;padding:0 5px 7px;box-shadow:0 3px 0 rgba(128,95,56,0.43922);color:#4c4c36}
.lobby-chapter-switch .book-portrait{display:block;width:70px;height:73px;margin:0 auto}
.lobby-chapter-switch>span{font-size:11px;font-weight:750}
.lobby-route{display:flex;justify-content:space-between;padding:0 1px;position:relative}
.lobby-route:before{content:"";position:absolute;left:5%;right:5%;top:9px;border-top:2px dashed #acb69a}
.lobby-route>span{position:relative;display:flex;flex-direction:column;align-items:center;grid-gap:3px;gap:3px;flex:1}
.lobby-route i{display:grid;place-items:center;width:20px;height:20px;background:#65816a;border:2px solid #e9e5d3;border-radius:50%;color:#fff5d5;font-size:15px;font-style:normal;line-height:16px;font-weight:bold}
.lobby-route .is-rest i{background:#c79653;color:#fff8e5}
.lobby-route>span:last-child i{background:#6c5244}
.lobby-route small{font-size:10px;color:#52634d}
.lobby-section-heading{display:flex;justify-content:space-between;align-items:center;margin-top:2px}
.lobby-section-heading h4{font-size:14px;letter-spacing:.04em}
.lobby-section-heading small{font-size:11px;color:#5c6b54}
.lobby-weapons{display:grid;grid-template-columns:repeat(3,min0);grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}
.lobby-weapon{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;grid-gap:2px;gap:2px;padding:7px 3px 0;min-height:118px;background:#f7f2e3;border:1px solid #b5bba5;border-bottom:3px solid #a8b095;border-radius:11px;color:#384e3c;overflow:hidden}
.lobby-weapon.is-selected{border:2px solid #4e7756;border-bottom:3px solid #3d5f44;background:#e0e8cb;box-shadow:inset 0 0 0 2px #f2f5db}
.lobby-weapon .weapon-art{width:46px;height:46px;margin:0 auto;filter:drop-shadow(0 3px 1px rgba(82,99,67,0.13333))}
.lobby-weapon-level{position:absolute;top:5px;right:7px;font-size:10px;font-weight:750;color:#566b4e}
.lobby-weapon>b{font-size:13px;line-height:18px}
.lobby-weapon>small{font-size:10px;line-height:15px;color:#5a6850}
.lobby-equipped{align-self:stretch;font-size:10px;line-height:18px;text-align:center;margin-top:2px;color:#57664c;background:#dedfce}
.is-selected .lobby-equipped{background:#4e7756;color:#fff6da}
.lobby-difficulty-switch{display:flex;align-items:center;grid-gap:7px;gap:7px;min-height:44px;padding:6px 11px;border:1px solid #b8b79e;border-radius:9px;background:#eee8d6;color:#5a4737}
.lobby-difficulty-switch>span{display:flex;align-items:center;grid-gap:5px;gap:5px}
.lobby-difficulty-switch .item-icon{width:24px;height:24px}
.lobby-difficulty-switch b{font-size:13px}
.lobby-difficulty-switch>small{margin-left:auto;font-size:11px;color:#665742}
.lobby-difficulty-switch>i{font-style:normal;font-size:21px}
.lobby-shortcuts{display:grid;grid-template-columns:repeat(4,min0);grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:7px;gap:7px}
.lobby-shortcut{display:flex;flex-direction:column;align-items:center;justify-content:center;grid-gap:4px;gap:4px;min-height:69px;padding:6px 2px;background:#f5f1e1;border:1px solid #b6c0a5;border-bottom:3px solid #b1ba9e;border-radius:10px;color:#3d553f}
.lobby-shortcut .item-icon{width:30px;height:30px}
.lobby-shortcut>span{font-size:11px;font-weight:700;white-space:nowrap}
.lobby-shortcut small{font-size:10px;color:#647051}
.lobby-goal{display:flex;align-items:center;grid-gap:6px;gap:6px;min-height:44px;padding:4px 8px;background:#dadfc8;border:1px solid #bac5a3;border-radius:7px;text-align:left;color:#4a5f40}
.lobby-goal .item-icon{width:20px;height:20px}
.lobby-goal>span{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.lobby-goal>i{font-size:18px;font-style:normal}
.lobby-launch{position:-webkit-sticky;position:sticky;bottom:0;z-index:3;margin-top:auto;padding:10px 0 calc(8px + 0px);padding:10px 0 calc(8px + env(safe-area-inset-bottom,0px));background:#e9e5d3;box-shadow:0 -8px 12px #e9e5d3}
.lobby-start{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;width:100%;min-height:62px;padding:7px 19px;background:linear-gradient(#f6d487,#e9b967);border:2px solid #af8445;border-bottom:5px solid #98743e;border-radius:12px;box-shadow:inset 0 2px 0 #fff0be,0 3px 0 #b7bc9c;color:#4e3e25;text-align:left}
.lobby-start>span{font-size:22px;line-height:27px;letter-spacing:.12em;font-weight:850}
.lobby-start>small{font-size:11px;line-height:17px;grid-column:1;color:#644b29}
.lobby-start>b{grid-column:2;grid-row:1/3;font-size:28px}
.pve-lobby .lobby-launch p{font-size:10px;line-height:16px;margin:5px 0 0;text-align:center;color:#58694d}
.lobby-subpage{padding-bottom:20px}
.lobby-panel-head{display:flex;align-items:center;grid-gap:10px;gap:10px;padding:5px 0 9px}
.lobby-panel-head>button{width:44px;height:44px;background:#f4f0df;border:1px solid #aebda0;border-bottom:3px solid #a1ae8f;border-radius:10px;font-size:30px;color:#476444}
.lobby-panel-head h3{font-size:20px;line-height:28px;color:#324e3c}
.pve-lobby .lobby-panel-head p{font-size:12px;color:#5a6b51;line-height:18px}
.lobby-chapters{display:grid;grid-template-columns:repeat(2,min0);grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}
.lobby-chapter{position:relative;display:flex;flex-direction:column;align-items:center;min-height:174px;border:1px solid #b5bca4;border-bottom:4px solid #a3ad91;border-radius:12px;background:#f3edda;padding:10px 5px;color:#3c553d}
.lobby-chapter.is-selected{border-color:#53734b;background:#dce5c5;box-shadow:inset 0 0 0 2px #f5f4dc}
.lobby-chapter-number{position:absolute;top:9px;left:10px;font-size:12px;font-weight:800;color:#637656}
.lobby-chapter .book-portrait{width:78px;height:94px;margin:0 auto}
.lobby-chapter>strong{font-size:15px;line-height:23px}
.lobby-chapter-state{font-size:11px;line-height:21px;color:#5d6b50}
.pve-lobby .lobby-footnote{font-size:12px;text-align:center;margin:4px 0;color:#56694e}
.lobby-difficulties{display:grid;grid-gap:10px;gap:10px}
.lobby-difficulty{display:flex;align-items:center;grid-gap:10px;gap:10px;text-align:left;min-height:76px;padding:10px 12px;background:#f4eedf;border:1px solid #b9bba0;border-bottom:3px solid #a3ae94;border-radius:11px;color:#4d5e44}
.lobby-difficulty.is-selected{border-color:#86713e;background:#e9dab7;box-shadow:inset 0 0 0 2px #f9edc6}
.lobby-threat{width:44px;flex-shrink:0;font-size:12px;line-height:15px;letter-spacing:2px;overflow-wrap:anywhere;color:#946540}
.lobby-difficulty strong{font-size:16px;display:block;line-height:24px}
.lobby-difficulty small{display:block;font-size:12px;color:#686047}
.lobby-difficulty>b{font-size:11px;margin-left:auto;white-space:nowrap}
.lobby-note{padding:15px;background:#f6f1e2;border:1px solid #bac4aa;border-radius:11px;box-shadow:0 2px 0 #c0c7af}
.lobby-note h4{font-size:16px;line-height:24px;margin-bottom:6px}
.pve-lobby .lobby-note p{font-size:13px;line-height:1.75;color:#53664b;margin:5px 0}
.lobby-note summary{min-height:36px;cursor:pointer;font-size:14px;font-weight:700}
.lobby-confirm{width:100%;min-height:48px;background:#4b7254;border:1px solid #355640;border-bottom:3px solid #355640;border-radius:10px;color:#fff5da;padding:10px;font-size:14px;font-weight:700}
.lobby-training-icon{float:right}.lobby-training-icon .item-icon{width:42px;height:42px}
.lobby-training h4 small{font-size:13px;color:#697652;margin-left:8px}
.lobby-stat-pair{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}
.lobby-stat-pair>span{display:flex;align-items:center;grid-gap:4px;gap:4px;font-size:12px}
.lobby-stat-pair b{margin-left:auto;font-size:17px}
.lobby-materials{display:flex;flex-direction:column;grid-gap:10px;gap:10px}
.lobby-materials>div{display:flex;align-items:center;grid-gap:8px;gap:8px;font-size:13px}.lobby-materials b{margin-left:auto}
.lobby-help-link{padding:12px;background:transparent;border:1px solid #a9b79d;border-radius:9px;color:#47613e;font-size:14px;min-height:46px}
.lobby-help-cards{display:flex;flex-direction:column;grid-gap:10px;gap:10px}
.lobby-help-cards>article{display:flex;align-items:flex-start;grid-gap:11px;gap:11px;padding:14px;background:#f6f1e2;border:1px solid #bac4aa;border-radius:10px}
.lobby-help-cards .item-icon{width:34px;height:34px;flex-shrink:0}
.lobby-help-cards h4{font-size:15px;margin:0 0 4px}
.pve-lobby .lobby-help-cards p{font-size:13px;line-height:1.7;margin:0;color:#53664b}
@media(max-width:350px){.pve-lobby-shell .sheet-content{padding-left:10px;padding-right:10px}.pve-lobby{grid-gap:8px;gap:8px}.lobby-hero{height:166px}.pve-lobby .lobby-hero-copy h3{font-size:23px}.lobby-hero-copy{right:99px;left:10px}.lobby-chapter-switch{width:83px;right:8px}.lobby-weapon>b{font-size:12px}.lobby-shortcuts{grid-gap:5px;gap:5px}.lobby-shortcut>span{font-size:10px}.lobby-wallet>span{grid-gap:4px;gap:4px;padding:2px 6px}}
@media(max-height:720px){.pve-lobby{grid-gap:7px;gap:7px}.lobby-hero{height:150px}.lobby-weapon{min-height:100px}.lobby-weapon .weapon-art{width:35px;height:35px}.lobby-shortcut{min-height:60px}.lobby-shortcut .item-icon{width:25px;height:25px}.lobby-goal{min-height:44px}.lobby-launch{padding-top:7px}.lobby-start{min-height:56px}.lobby-start>span{font-size:20px}.lobby-hero-copy{bottom:16px}}
@media(orientation:landscape) and (min-width:650px){.pve-lobby-shell .sheet-content{padding-left:22px;padding-right:22px}.pve-lobby{max-width:690px;margin:0 auto}.lobby-chapters{grid-template-columns:repeat(3,min0);grid-template-columns:repeat(3,minmax(0,1fr))}.lobby-hero{height:170px}.lobby-wallet{flex-shrink:0}.lobby-launch{padding-bottom:6px}.lobby-start{min-height:50px}.lobby-launch p{display:none}.lobby-subpage{max-width:590px}}
@media(prefers-reduced-motion:reduce){.pve-lobby button{transition:none}.pve-lobby button:active:not(:disabled){transform:none}}

@media(max-width:300px){.lobby-wallet small{display:none}.lobby-wallet>span{min-width:0}.lobby-wallet b{font-size:13px}.lobby-hero-copy h3{overflow-wrap:anywhere}}

.pve-lobby[data-lobby-still="true"] button{transition:none}.pve-lobby[data-lobby-still="true"] button:active:not(:disabled){transform:none}

/* One birthday presentation; the gift is already safely in inventory. */
.birthday-overlay{position:fixed;top:0;right:0;bottom:0;left:0;inset:0;z-index:180;display:grid;place-items:center;padding:18px;background:rgba(13,41,42,0.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow:auto}
.birthday-overlay[hidden],.birthday-overlay [hidden],.birthday-entry[hidden]{display:none!important}
.birthday-dialog{position:relative;box-sizing:border-box;width:360px;width:min(360px,100%);max-height:calc(100vh - 36px);max-height:calc(100dvh - 36px);overflow:auto;padding:22px 22px 17px;border:1px solid #d1b578;border-radius:24px;background:linear-gradient(150deg,#183f43,#0d292b);color:#fff0cd;text-align:center;box-shadow:0 25px 70px rgba(0,0,0,0.46667),inset 0 0 0 5px rgba(207,183,120,0.08627)}
.birthday-dialog::before{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;inset:9px;border:1px solid rgba(212,180,112,0.26667);border-radius:16px;pointer-events:none}
.birthday-edition{font:10px/1.5 Georgia,serif;letter-spacing:2px;color:#e8d6a9}
.birthday-dialog h2{font-size:30px;letter-spacing:5px;margin:7px 0;color:#fff1ce;font-weight:800}
.birthday-exclusive{display:inline-block;padding:5px 11px;border:1px solid rgba(201,172,107,0.53333);border-radius:4px;color:#e9d3a0;font-size:11px;letter-spacing:1px}
.birthday-stage{position:relative;isolation:isolate;height:29vh;height:max(160px, min(29dvh, 255px));margin:12px 0 10px;overflow:hidden;border-radius:14px;background:radial-gradient(ellipse at 50% 75%,rgba(194,169,116,0.26667),transparent 65%);}
.birthday-stage img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;border-radius:12px;animation:birthday-arrival .55s ease-out both}
.birthday-stage-mark{position:absolute;z-index:0;top:auto;right:0;bottom:10px;left:0;inset:auto 0 10px;font:58px/1 Georgia,serif;color:rgba(219,193,139,0.07451);letter-spacing:5px}
.birthday-dialog h3{font-size:17px;margin:8px 0;color:#fff3d6}
.birthday-dialog p{font-size:13px;line-height:1.7;margin:7px 0 12px;color:#e0e1d1}
.birthday-dialog .button{position:relative;z-index:1;width:100%;min-height:46px;touch-action:manipulation;margin-top:7px;font-size:14px;border-radius:12px;transition:transform .14s, filter .14s}
.birthday-dialog .button.primary{color:#3e3320;background:linear-gradient(#f5dda5,#d6b575);border:1px solid #f6e5b8;box-shadow:0 3px 0 #8b7245;font-weight:800}
.birthday-dialog .button.ghost{color:#e2d4b8;background:transparent;border:1px solid rgba(199,181,128,0.30196)}
.birthday-dialog .button:active{transform:translateY(2px);filter:brightness(1.08)}
.birthday-dialog .button:focus-visible{outline:3px solid #fff3c2;outline-offset:3px}
.birthday-rule{display:block;margin-top:13px;font-size:10px;line-height:1.6;color:#c7cbb7}
.birthday-entry{border-color:#c8a65e!important;background:#fff0cf!important;color:#6c5429!important}
.birthday-entry.has-gift::after{content:"";position:absolute;top:4px;right:4px;width:8px;height:8px;border:2px solid #fff5df;border-radius:50%;background:#ba614d}
.birthday-outfit-art{background:linear-gradient(150deg,#e8eadb,#d6e5df)!important}
@keyframes birthday-arrival{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-height:650px){.birthday-dialog{padding:16px}.birthday-stage{height:160px;margin:7px 0}.birthday-dialog h2{font-size:25px}.birthday-dialog p{margin:5px 0 8px}.birthday-rule{margin-top:9px}}
@media(max-width:330px){.birthday-overlay{padding:12px}.birthday-dialog{padding:16px 13px}.birthday-rule{font-size:9px}}
@media(prefers-reduced-motion:reduce){.birthday-overlay *{animation:none!important;transition:none!important}}
.birthday-overlay[data-still="true"] *{animation:none!important;transition:none!important}

.save-hub{display:grid;grid-gap:16px;gap:16px;color:#344b3b}.save-hub h3,.save-hub p{margin:0}.save-hero{display:flex;grid-gap:14px;gap:14px;align-items:center;padding:18px 15px;border-radius:18px;background:linear-gradient(135deg,#eef2df,#fff8e5);border:1px solid #d5d8bc;box-shadow:inset 0 2px #fffdf4}.save-hero h3{font-size:18px;line-height:1.4}.save-hero p{font-size:12px;line-height:1.7;color:#65735c;margin-top:5px}.save-emblem{flex-shrink:0;width:54px;height:54px;border-radius:16px;background:#395d48;display:grid;place-items:center;box-shadow:inset 0 1px #6b8a64,0 3px 0 #263e32}.save-emblem svg{width:36px;fill:none;stroke:#f5df9d;stroke-width:2;stroke-linejoin:round}.save-actions{display:grid;grid-template-columns:repeat(2,min0);grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.save-action{display:grid;justify-items:center;grid-gap:8px;gap:8px;min-width:0;padding:19px 10px 17px;border:1px solid #b8c7aa;border-radius:16px;background:#f8faee;color:#344f3a;box-shadow:0 3px 0 #d7dfc9;cursor:pointer;touch-action:manipulation}.save-action>span{width:37px;height:37px;display:grid;place-items:center;border-radius:50%;background:#e0e9cd;font-size:27px;line-height:1}.save-action b{font-size:16px}.save-action small{font-size:10px;line-height:1.5;color:#6a785f}.save-action:active{transform:translateY(2px);box-shadow:0 1px 0 #d7dfc9}.save-action:focus-visible,.author-qr:focus-visible,.author-group-link:focus-visible{outline:3px solid #477d64;outline-offset:3px}.save-tip{font-size:12px;line-height:1.85;color:#62715a;overflow-wrap:anywhere}.save-protection{padding:15px;border:1px solid #d4d8c5;border-radius:15px;background:#efeee0}.save-protection h3{font-size:14px}.save-protection p{font-size:12px;line-height:1.75;margin:6px 0 12px}.save-details{font-size:12px;line-height:1.8;border-top:1px solid #dde0d0;padding-top:13px}.save-details summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:700;grid-gap:8px;gap:8px}.save-details summary:before{content:'＋';font-size:17px}.save-details[open] summary:before{content:'−'}.save-details p{color:#6d795f;margin:9px 0}.save-preview-label{justify-self:start;padding:6px 10px;border-radius:8px;font-size:11px;background:#e0ead4;color:#385b3e;font-weight:700}.save-filename{font-size:16px;overflow-wrap:anywhere;line-height:1.7}.save-file-date{font-size:11px;color:#7b826d}.save-compare{width:100%;font-size:12px;border-collapse:collapse;border-radius:14px;overflow:hidden;background:#faf9ed}.save-compare th,.save-compare td{padding:12px 8px;border-bottom:1px solid #e4e5d7;text-align:center;overflow-wrap:anywhere}.save-compare thead{background:#e6ead8;color:#51654b}.save-compare th:first-child{text-align:left;padding-left:12px}.save-compare tbody th{font-weight:500}.save-compare tbody td:last-child{font-weight:800;color:#355a42;background:#edf1df}.save-overwrite{font-size:12px;line-height:1.85;background:#fcf1da;border:1px solid #e1cd9b;padding:13px 15px;border-radius:12px;color:#7c5d35}.save-result-icon{justify-self:center;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;color:#fff9e6;background:#41664c;font-size:34px;box-shadow:0 0 0 7px #e7edd6;margin:10px 0}.save-result-error{background:#956347;box-shadow:0 0 0 7px #f2e4d0}.save-result-title{text-align:center;font-size:19px;line-height:1.65}.save-safe{font-size:12px;color:#3d6749;text-align:center;padding:11px;background:#eaf0dc;border-radius:10px;line-height:1.75}.save-error-code{font-size:11px;color:#8b8774;text-align:center}.save-checking{justify-self:center;margin:14px 0}.author-profile .author-qr{position:static;overflow:visible;display:block;width:100%;width:min(100%,220px);aspect-ratio:1;margin:0 auto;padding:0;border:1px solid #e4e6db;border-radius:12px;background:#fff;cursor:zoom-in}.author-profile .author-qr img{position:static;display:block;width:100%;max-width:100%;height:auto;object-fit:contain;border-radius:12px}.author-profile h3{margin-bottom:18px}.author-group{padding:19px 16px;border-radius:17px;background:#e8edda;border:1px solid #cbd6be;text-align:center;box-shadow:inset 0 2px #f5f8eb}.author-group h3{font-size:20px;margin:7px 0}.author-group-number{font-size:23px;font-weight:750;letter-spacing:1px;color:#42624c;margin:12px 0 19px;-webkit-user-select:text;user-select:text}.author-group-link{display:flex;justify-content:center;align-items:center;grid-gap:14px;gap:14px;min-height:48px;-webkit-text-decoration:none;text-decoration:none;box-sizing:border-box}.author-group .button+.button{margin-top:10px}.author-group .author-group-copy{width:100%;border:0;background:transparent;text-align:center;color:#64745c;font:12px system-ui;padding:12px 0 0;-webkit-user-select:text;user-select:text}.author-qr-view{display:grid;grid-gap:20px;gap:20px;text-align:center;color:#576950}.author-qr-plate{background:#fff;border:1px solid #e4e5d9;border-radius:18px;overflow:hidden;padding:12px;max-width:430px;width:100%;justify-self:center;box-sizing:border-box}.author-qr-plate img{display:block;width:100%;height:auto;max-height:52vh;max-height:52dvh;object-fit:contain}.author-qr-view p{font-size:14px;line-height:1.9;margin:0}.author-qr-view small{font-size:12px;color:#7c8672}.author-contact{grid-gap:18px;gap:18px}.author-scan{margin-bottom:0}
@media(max-width:360px){.save-actions{grid-gap:9px;gap:9px}.save-action{padding-left:5px;padding-right:5px}.save-action small{font-size:9px}.save-compare th,.save-compare td{padding:10px 5px}.save-hero h3{font-size:16px}.save-emblem{width:46px;height:46px}}
@media(orientation:landscape) and (max-height:560px){.author-qr-plate{max-width:240px}.author-qr-plate img{max-height:44vh;max-height:44dvh}.save-actions{grid-template-columns:repeat(2,min0);grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.save-action:active{transform:none}}

.save-health{margin:0;padding:10px 12px;border:1px solid #d9e5dc;border-radius:12px;background:#f2f7f3;color:#456850;font-size:12px;line-height:1.7}.save-health.is-warning{background:#fff5f0;border-color:#e4cfc2;color:#875e46}.save-photo-toggle{display:grid;grid-template-columns:1fr auto;grid-gap:5px 12px;gap:5px 12px;text-align:left;align-items:center;border:1px solid #d1ded3;border-radius:14px;padding:12px;background:#f8fbf8;min-height:58px}.save-photo-toggle b{font-size:13px}.save-photo-toggle>span{border-radius:999px;padding:5px 13px;background:#dae7dc;color:#42674c;font-size:12px}.save-photo-toggle[aria-checked=true]>span{background:#476e52;color:white}.save-photo-toggle small{grid-column:1/-1;font-size:11px;line-height:1.6;color:#77877b}.save-download{-webkit-text-decoration:none;text-decoration:none;text-align:center}.save-hub .wide{width:100%;box-sizing:border-box}

/* 0.10.49: white/sage menus and capsule controls. Original home geometry stays intact. */
:root{--game-ink:#344d40;--game-paper:#fcfdfb;--game-paper-low:#f0f4ee;--game-edge:#d5ded3;--game-muted:#66756b;--game-green:#52745d}
/* Restore the light home; no new frame or decorative strip around its HUD. */
#app>.topbar,#app>.care-status,#speech.speech{background:#f8faf7}
.topbar .currency{background:#edf2e9;border:1px solid #e0e7dc;border-radius:999px;box-shadow:none}
.topbar .sand-currency{background:#edf3f0;border-color:#dce7df}
.topbar .settings-entry{background:#edf2ec;border:1px solid #dfe6dc;border-radius:999px;box-shadow:none}
.care-status .status-pill{background:#fff;border-color:#e2e8de;box-shadow:none;border-radius:999px}
#stage .friend-chip,#stage .round-tool{background:rgba(255,255,255,0.92157);border:1px solid #e0e7dd;box-shadow:0 2px 5px rgba(41,76,60,0.03137);border-radius:20px}
#app>.bottom-nav{background:#f8faf7;border-top:1px solid #e0e7dc;box-shadow:none}
.bottom-nav button{border-radius:999px;background:transparent;box-shadow:none}
.bottom-nav button.selected{background:#e1ecdd;box-shadow:none}
.bottom-nav .nav-icon{background:transparent!important;border-radius:999px}
#stage .feed-tray,#stage .bath-bar,#stage .action-bar{background:rgba(252,253,250,0.96078);border-color:#dce5d8;box-shadow:0 5px 20px rgba(49,80,64,0.05098)}
#stage .bath-bar button,#stage .action-bar button{border-radius:999px}
/* One framed menu with a left back button, centered title and internal scrolling. */
#sheetBackdrop{align-items:center;justify-content:center;padding:calc(12px + 0px) 12px calc(12px + 0px) 12px;padding:calc(12px + env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));background:rgba(38,61,52,0.23922);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
#sheetBackdrop>.sheet{width:100%;max-height:100%;min-height:0;border:1px solid #d9e1d6;border-radius:24px;background:var(--game-paper);padding-bottom:0;box-shadow:0 12px 38px rgba(36,62,53,0.13333);overflow:hidden;animation:soft-panel-in .14s ease-out}
#sheetBackdrop .sheet-head{display:grid;grid-template-columns:44px min0 44px;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;grid-gap:8px;gap:8px;min-height:66px;padding:10px 14px;border-bottom:1px solid #e3e9df;background:#fcfdfb;box-shadow:none}
#sheetBackdrop .sheet-head>div{grid-column:2;grid-row:1;min-width:0;text-align:center}
#sheetBackdrop .sheet-head h2{font-size:20px;line-height:1.3;margin:0;color:#344d40;font-weight:750;letter-spacing:0;overflow-wrap:anywhere}
#sheetBackdrop #sheetEyebrow{display:none}
#sheetBackdrop .close-sheet{grid-column:1;grid-row:1;display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;background:#edf3e9;color:#48644e;border:1px solid #e0e8db;border-radius:999px;box-shadow:none;font:inherit}
#sheetBackdrop .sheet-back svg{width:22px;height:22px;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
#sheetBackdrop .sheet-content{min-height:0;padding:16px 16px 20px;scrollbar-width:thin;scrollbar-color:#c3d0bf transparent;scroll-padding:12px}
#sheetBackdrop .button,#sheetBackdrop .studio-button,#sheetBackdrop .claim{display:inline-flex;align-items:center;justify-content:center;grid-gap:7px;gap:7px;min-height:44px;padding:10px 18px;border:1px solid #d2dfcc;border-radius:999px;box-shadow:none;background:#edf4e8;color:#435f43;text-align:center;font-size:14px;line-height:1.4;transition:background .12s, transform .1s}
#sheetBackdrop .button.primary:not(:disabled){background:#577b5b;border-color:#577b5b;color:#fff}
#sheetBackdrop .studio-button:not(.secondary):not(:disabled){background:#577b5b;border-color:#577b5b;color:#fff}
#sheetBackdrop .claim:not(.done):not(:disabled){background:#577b5b;border-color:#577b5b;color:#fff}
#sheetBackdrop .button.ghost,#sheetBackdrop .studio-button.secondary{background:#fff;border-color:#d8e3d3;color:#49664b}
#sheetBackdrop .button:disabled{background:#eef1ed;border-color:#e1e6dd;color:#879180;box-shadow:none;opacity:1}
#sheetBackdrop .studio-button:disabled{background:#eef1ed;border-color:#e1e6dd;color:#879180;box-shadow:none;opacity:1}
#sheetBackdrop .claim:disabled{background:#eef1ed;border-color:#e1e6dd;color:#879180;box-shadow:none;opacity:1}
#sheetBackdrop button:active:not(:disabled){transform:scale(.98);filter:brightness(.97)}
#sheetBackdrop button:disabled{cursor:default}
#sheetBackdrop button:focus-visible,#sheetBackdrop summary:focus-visible{outline:3px solid #729c79;outline-offset:2px}
#sheetBackdrop .journal-tabs,#sheetBackdrop .wish-main-tabs,#sheetBackdrop .studio-tabs,#sheetBackdrop .wardrobe-filter,#sheetBackdrop .arsenal-tabs{border:1px solid #e0e8dc;border-radius:999px;background:#f0f4ee;padding:4px;grid-gap:4px;gap:4px}
#sheetBackdrop .journal-tabs button,#sheetBackdrop .studio-tabs button,#sheetBackdrop .wardrobe-filter button,#sheetBackdrop .arsenal-tabs button{min-height:44px;font-size:13px;border-radius:999px;color:#60715e;text-align:center}
#sheetBackdrop .journal-tabs button.active,#sheetBackdrop .journal-tabs button[aria-selected=true],#sheetBackdrop .journal-tabs button[aria-pressed=true],#sheetBackdrop .studio-tabs button.active,#sheetBackdrop .studio-tabs button[aria-selected=true],#sheetBackdrop .studio-tabs button[aria-pressed=true],#sheetBackdrop .wardrobe-filter button.active,#sheetBackdrop .wardrobe-filter button[aria-selected=true],#sheetBackdrop .wardrobe-filter button[aria-pressed=true],#sheetBackdrop .arsenal-tabs button.active,#sheetBackdrop .arsenal-tabs button[aria-selected=true],#sheetBackdrop .arsenal-tabs button[aria-pressed=true]{background:#dae9d5;color:#345239;box-shadow:none}
#sheetBackdrop .list-card,#sheetBackdrop .shop-card,#sheetBackdrop .building-card,#sheetBackdrop .journey-row,#sheetBackdrop .book-card,#sheetBackdrop .save-card{background:#fff;border:1px solid #e0e7dc;border-radius:18px;box-shadow:none}
#sheetBackdrop :is(.list-copy p){color:#64745f}
#sheetBackdrop :is(.shop-card p){color:#64745f}
#sheetBackdrop :is(.studio-row p){color:#64745f}
#sheetBackdrop :is(.studio-item small){color:#64745f}
#sheetBackdrop :is(.memory p){color:#64745f}
#sheetBackdrop .studio-caption:not(does-not-exist){color:#64745f}
#sheetBackdrop .notice,#sheetBackdrop .studio-note{background:#f0f5ec;border:1px solid #e1e8dd;border-radius:16px;font-size:12px;color:#61705b;line-height:1.65}
#sheetBackdrop .sheet-intro{font-size:13px;color:#667461}
#sheetBackdrop summary{cursor:pointer;touch-action:manipulation}
.game-section-title{display:flex;align-items:center;justify-content:space-between;grid-gap:10px;gap:10px;margin:3px 0 10px}
.game-section-title h3{font-size:15px;line-height:22px;margin:0;color:#435a44}
.game-section-title>span{font-size:11px;color:#74816d}
/* Existing illustrations sit above clean white labels, without colored overlays. */
.play-room .owned-modes{display:grid;grid-template-columns:repeat(2,min0);grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin-bottom:19px}
.play-room .mode-entry.owned-mode{position:relative;display:flex;align-items:stretch;justify-content:flex-start;flex-direction:column;min-height:0;padding:0;grid-gap:0;gap:0;margin:0;border:1px solid #dce5d6;border-radius:20px;overflow:hidden;background:#fff;color:#344d40;text-align:left;isolation:isolate;box-shadow:none}
.play-room .owned-mode .mode-art{position:static;top:auto;right:auto;bottom:auto;left:auto;inset:auto;width:100%;height:auto;aspect-ratio:1/1;flex:none;border-radius:0;object-fit:cover;object-position:center;z-index:auto;filter:none}
.play-room .owned-mode:after,.play-room .owned-mode:before{display:none}
.play-room .owned-mode>.mode-kind{position:absolute;top:9px;left:8px;padding:4px 8px;margin:0;background:rgba(255,255,255,0.92941);border:1px solid #e4eadf;border-radius:999px;color:#526b4e;font-size:10px;font-weight:650;letter-spacing:0}
.play-room .mode-entry.owned-mode.adventure .mode-kind{color:#526b4e}
.play-room .owned-mode>div{padding:12px 10px 10px;display:flex;flex-direction:column;flex:1;align-items:stretch}
.play-room .mode-entry.owned-mode div>b{font-size:20px;line-height:1.25;color:#345039;letter-spacing:0;text-align:center}
.play-room .mode-entry.owned-mode small{font-size:11px;line-height:1.5;color:#6b7b61;margin-top:6px;white-space:normal;text-align:center}
.play-room .owned-mode .mode-start{display:flex;align-items:center;justify-content:center;grid-gap:4px;gap:4px;min-height:40px;margin-top:12px;padding:8px 5px;border:1px solid #d9e6d2;border-radius:999px;background:#e8f1e2;color:#486543;font-size:12px;font-weight:750;text-align:center}
.play-room .owned-mode .mode-start i{display:none}
.play-room .play-cards{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px;margin:0}
.play-room .play-card{display:flex;align-items:center;grid-gap:12px;gap:12px;min-height:68px;padding:9px 14px;background:#f0f5ec;border:1px solid #e0e9d9;border-radius:20px;text-align:left;box-shadow:none}
.play-room .play-card:nth-child(2){background:#f0f5f3;border-color:#e0e9e4}
.play-room .play-card:after{display:none}
.play-room .play-card .game-icon{width:38px;height:38px;flex:none}
.play-room .play-card h3{font-size:14px;margin:0 0 4px;color:#435c43}
.play-room .play-card p{font-size:11px;color:#708267;margin:0}
.play-room .play-card>i{margin-left:auto;font-style:normal;font-size:25px;color:#899b80}
.pet-play-tools{display:flex;grid-gap:8px;gap:8px;margin:12px 0 16px}
.pet-play-tools>button{flex:1;min-width:0;background:#fff!important;color:#5b7353!important;border-color:#dfe8da!important;font-size:12px!important;padding:8px 4px!important}
.game-menu-details{border:1px solid #e0e7db;border-radius:18px;padding:0 12px;background:#f8faf6;margin:10px 0 0}
.game-menu-details>summary{min-height:44px;padding:12px 0;font-size:13px;font-weight:650;color:#56714e;line-height:20px}
.game-menu-details>summary>span{float:right;font-size:11px;color:#76866b;font-weight:400}
.game-menu-details>p{font-size:12px;line-height:1.75;margin:0 0 12px;color:#66795d}
.play-wish .wish-summary{margin:0 0 10px}
.play-room .more-games{border-top:1px solid #e0e7db;padding-top:0;margin-top:8px}
/* Keep the compact settings layout and explicit on/off labels from .48. */
.game-settings>section{margin:0 0 17px}
.game-settings .quality-options{grid-gap:7px;gap:7px;margin:0;padding:4px;border:1px solid #e0e7da;border-radius:999px;background:#f0f4eb}
.game-settings .quality-options button{min-height:45px;padding:6px;background:transparent;color:#647858;font-size:14px;border-radius:999px;position:relative;text-align:center}
.game-settings .quality-options button.active{background:#597e58;color:#fff;box-shadow:none}
.game-settings .quality-options i{font-size:10px;vertical-align:top;margin-left:4px;font-style:normal}
.game-settings .setting-caption{font-size:11px;color:#708466;margin:8px 0 0;line-height:1.5}
.game-settings .settings-row{min-height:69px;padding:10px 0;border-bottom:1px solid #e6ebdf;grid-gap:8px;gap:8px}
.game-settings .settings-row b{font-size:14px;color:#48613f}
.game-settings .settings-row p{font-size:11px;line-height:1.5;color:#6d8062;margin:4px 0 0}
.game-settings .toggle{width:62px;min-width:62px;height:44px;min-height:44px;border:1px solid #dce4d6;border-radius:999px;background:#e2e8dc;box-shadow:inset 0 1px 3px rgba(54,85,50,0.03922)}
.game-settings .toggle:after{width:30px;height:34px;top:4px;left:4px;border:1px solid #dce3d4;border-radius:999px;background:#fff;box-shadow:0 1px 3px rgba(69,100,56,0.10196)}
.game-settings .toggle.on{background:#88a977;border-color:#82a071}
.game-settings .toggle.on:after{left:26px}
.game-settings .toggle>span{position:absolute;font-size:11px;right:7px;top:12px;line-height:16px;color:#738369}
.game-settings .toggle.on>span{left:8px;right:auto;color:#fff;font-weight:750}
.game-settings .settings-links{display:grid;grid-template-columns:1fr 1fr;grid-gap:9px;gap:9px;margin:17px 0}
.game-settings .settings-links>button{width:100%;justify-content:center;font-size:13px!important}
.game-settings .settings-links>button>span{display:none}
.game-settings .save-note{font-size:11px;line-height:18px;margin:15px 0 0;color:#7a8970}
/* Preserve the wardrobe's dedicated preview / scroll / fixed confirmation layout. */
#sheetBackdrop>.studio-panel.sheet{height:880px;height:min(880px,100%);max-height:100%;background:var(--game-paper)}
#sheetBackdrop .studio-panel .sheet-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;padding:0}
#sheetBackdrop .studio-wallet{padding:9px 13px;grid-gap:8px;gap:8px}
#sheetBackdrop .studio-wallet>span{border-radius:999px;background:#f1f6ec;border-color:#dfe8d7}
#sheetBackdrop .studio-tabs{margin-left:13px;margin-right:13px}
#sheetBackdrop .studio-scroll{padding-left:13px;padding-right:13px}
#sheetBackdrop .wardrobe-hero{border:1px solid #e0e7d9;border-radius:20px;background:#f6f9f2;box-shadow:none}
#sheetBackdrop .wardrobe-hero .studio-preview{background:#edf3e8;border-radius:16px}
#sheetBackdrop .wardrobe-summary h3{font-size:17px;color:#435e3d}
#sheetBackdrop .wardrobe-summary p{font-size:12px;color:#6a7e60}
#sheetBackdrop .studio-item,#sheetBackdrop .outfit-card,#sheetBackdrop .studio-row{border-color:#e0e7d9;border-radius:16px;background:#fff;box-shadow:none}
#sheetBackdrop .studio-item.selected{outline-color:#91b17e!important;background:#edf5e6!important}
#sheetBackdrop .studio-item.equipped{border-color:#7fa570}
#sheetBackdrop .studio-item>svg{background:#f0f5e9;border-radius:12px}
#sheetBackdrop .wardrobe-footer{background:#fcfdf9;border-top:1px solid #e1e8d9;box-shadow:0 -4px 10px rgba(60,87,49,0.03137)}
#sheetBackdrop .journal-tabs{position:-webkit-sticky;position:sticky;top:0;z-index:2}
#sheetBackdrop .memory{border-radius:16px;border:1px solid #e1e8da;box-shadow:0 2px 5px rgba(63,89,50,0.03922)}
@keyframes soft-panel-in{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:360px){
 #sheetBackdrop{padding-left:8px;padding-right:8px}
 #sheetBackdrop .sheet-content{padding-left:12px;padding-right:12px}
 #sheetBackdrop .sheet-head{padding-left:10px;padding-right:10px;grid-gap:4px;gap:4px}
 #sheetBackdrop .sheet-head h2{font-size:18px}
 .play-room .owned-modes{grid-gap:8px;gap:8px}
 .play-room .mode-entry.owned-mode div>b{font-size:18px}
 .play-room .owned-mode>div{padding-left:8px;padding-right:8px}
 .play-room .mode-entry.owned-mode small{font-size:10px}
 .play-room .owned-mode .mode-start{font-size:11px}
}
@media(max-height:650px){
 #sheetBackdrop{padding-top:calc(8px + 0px);padding-top:calc(8px + env(safe-area-inset-top,0px));padding-bottom:calc(8px + 0px);padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}
 #sheetBackdrop .sheet-head{padding-top:7px;padding-bottom:7px;min-height:58px}
 .play-room .owned-modes{margin-bottom:13px}
}
@media(orientation:landscape) and (max-height:560px){
 #app>.care-status{background:none}
 #app>.bottom-nav{height:100%;width:80px;padding:8px 8px calc(8px + var(--safe));grid-gap:8px;gap:8px;border-top:0;border-left:1px solid #e0e7dc}
 #app>.bottom-nav button{min-height:44px;flex:1;grid-gap:0;gap:0}
 #stage .friend-chip{top:10px;left:14px}
 #stage .side-tools{top:8px;right:12px;grid-gap:7px;gap:7px}
}
@media(prefers-reduced-motion:reduce){#sheetBackdrop>.sheet{animation:none}#sheetBackdrop button{transition:none}}
/* The common top-left arrow is the only page-level back affordance. */
#sheetBackdrop .wish-back,#sheetBackdrop .wish-destination-nav,#sheetBackdrop .pve-back-start,#sheetBackdrop .book-back [data-action="pvebook-back"],#sheetBackdrop .author-contact [data-action="contact-back"],#sheetBackdrop .author-qr-view [data-action="contact"],#sheetBackdrop [data-action="save-settings"]{display:none}
#stage .feed-tray .tray-top{display:grid;grid-template-columns:44px min0 44px;grid-template-columns:44px minmax(0,1fr) 44px;grid-gap:5px;gap:5px;min-height:44px}
#stage .feed-tray .tray-top>b{text-align:center;line-height:1.5}
#stage #closeFeed,#stage #quitGame{display:grid;place-items:center;min-width:44px;min-height:44px;width:44px;height:44px;margin:0;padding:0;border:1px solid #e0e8db;border-radius:999px;background:#f8fcf5;color:#4b6a49}
#stage #closeFeed svg,#stage #quitGame svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}

/* Adventure camp: white surfaces, quiet green selections and centred pill actions.
   Scoped to preparation pages; floating reward cards and combat HUD are untouched. */
#sheetBackdrop.pve-lobby-shell{padding:calc(12px + 0px) 12px calc(12px + 0px) 12px;padding:calc(12px + env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));align-items:center;justify-content:center;background:rgba(38,59,53,0.30196);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
#sheetBackdrop.pve-lobby-shell>.sheet{width:100%;max-width:600px;height:100%;max-height:100%;min-height:0;margin:0;border:1px solid #dce4df;border-radius:24px;background:#ffffff;background-image:none;color:#293f37;display:flex;flex-direction:column;overflow:hidden}
#sheetBackdrop.pve-lobby-shell .sheet-head{padding:8px 13px;min-height:62px;background:#ffffff;border-bottom:1px solid #dce4df;box-shadow:none}
#sheetBackdrop.pve-lobby-shell .sheet-head h2{color:#293f37;font-size:20px;letter-spacing:0;font-weight:750}
#sheetBackdrop.pve-lobby-shell .sheet-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:10px 12px 0;scroll-padding-bottom:110px}
.pve-lobby{grid-gap:10px;gap:10px;max-width:540px;width:100%;margin:0 auto;color:#293f37}
.pve-lobby>*{flex-shrink:0}
.pve-lobby button{border-color:#dce4df;box-shadow:none;transition:transform .1s ease, background-color .12s ease, box-shadow .1s ease;-webkit-tap-highlight-color:transparent}
#sheetBackdrop.pve-lobby-shell .pve-lobby button:focus-visible{outline:3px solid #557862;outline-offset:3px}
#sheetBackdrop.pve-lobby-shell .pve-lobby button:active:not(:disabled){transform:translateY(2px);box-shadow:none}
.pve-lobby button:disabled{opacity:.62;filter:saturate(.35)}
.pve-lobby .lobby-wallet{min-height:44px;grid-gap:8px;gap:8px}
.pve-lobby .lobby-wallet>span{background:#f4f7f5;border:1px solid #e0e7e2;border-radius:7px;box-shadow:none;min-height:32px;padding:3px 9px;grid-gap:6px;gap:6px}
.pve-lobby .lobby-wallet b{color:#293f37;font-size:15px}
.pve-lobby .lobby-wallet small{color:#64746b}
.pve-lobby .lobby-help{height:44px;min-width:44px;background:#ffffff;border:1px solid #dce4df;border-bottom-width:1px;border-radius:10px;color:#4e6b59;font-size:20px;font-weight:800}
.pve-lobby .lobby-hero{height:196px;border:1px solid #dce4df;border-bottom-width:1px;border-radius:14px;box-shadow:none;background:#afc8b8}
.pve-lobby .lobby-hero-art{opacity:1;object-position:50% 24%;filter:none}
.pve-lobby .lobby-hero-shade{background:linear-gradient(180deg,rgba(33,62,53,0.23922) 0%,transparent 30%,transparent 42%,rgba(38,61,53,0.78824) 78%,rgba(38,61,53,0.92941) 100%)}
.pve-lobby .lobby-chapter-tag{top:12px;left:12px;padding:5px 9px;border:1px solid rgba(255,255,255,0.33333);border-radius:6px;background:rgba(47,74,63,0.90196);color:#ffffff;grid-gap:7px;gap:7px;font-size:12px;letter-spacing:.06em;box-shadow:none}
.pve-lobby .lobby-chapter-tag span{padding:0;border:0;font-size:10px;color:#e6efe9}
.pve-lobby .lobby-chapter-switch{top:10px;right:10px;bottom:auto;width:auto;min-width:67px;min-height:44px;padding:7px 10px;display:flex;align-items:center;justify-content:center;grid-gap:10px;gap:10px;background:#ffffff;border:1px solid #dce4df;border-radius:9px;color:#365441;font-size:13px;font-weight:800;box-shadow:none}
.pve-lobby .lobby-hero-copy{left:15px;bottom:14px;right:95px;text-shadow:0 2px 1px rgba(35,62,53,0.33333)}
.pve-lobby .lobby-hero-copy>small{font-size:10px;letter-spacing:.08em;color:#e5efe9}
.pve-lobby .lobby-hero-copy h3{font-size:27px;line-height:1.3;margin:3px 0 0;letter-spacing:.03em;color:#ffffff;font-weight:850}
.pve-lobby .lobby-journey-marks{position:absolute;right:13px;bottom:22px;display:flex;grid-gap:5px;gap:5px;align-items:center}
.pve-lobby .lobby-journey-marks i{display:block;width:7px;height:7px;background:#9bafa2;border:1px solid rgba(255,255,255,0.6);border-radius:2px}
.pve-lobby .lobby-journey-marks .is-cleared{background:#b9dcca;border-color:#d0eedf}
.pve-lobby .lobby-journey-marks .is-current{width:10px;height:10px;background:#ffffff;outline:1px solid #e8fff1;outline-offset:2px}
.pve-lobby .lobby-section-heading{min-height:20px;margin:3px 1px -3px}
.pve-lobby .lobby-section-heading h4{font-size:14px;color:#35513f;letter-spacing:.03em}
.pve-lobby .lobby-section-heading small{font-size:11px;color:#65746b}
.pve-lobby .lobby-weapons{grid-gap:8px;gap:8px}
.pve-lobby .lobby-weapon{min-height:118px;padding:8px 3px 0;grid-gap:2px;gap:2px;border:1px solid #dce4df;border-radius:11px;background:#f6f8f7;color:#293f37;box-shadow:none}
.pve-lobby .lobby-weapon .weapon-art{width:44px;height:44px;filter:drop-shadow(0 3px 0 rgba(220,228,223,0.13333))}
.pve-lobby .lobby-weapon.is-selected{border:1px solid #416b54;background:#eaf3ed;box-shadow:none}
.pve-lobby .lobby-weapon.is-selected:before{content:none}
.pve-lobby .lobby-weapon>b{font-size:13px;line-height:19px;color:#293f37}
.pve-lobby .lobby-weapon>small{font-size:11px;line-height:16px;color:#65766c}
.pve-lobby .lobby-weapon-level{top:5px;right:6px;padding:0 3px;font-size:10px;color:#5e7166}
.pve-lobby .lobby-equipped{margin-top:3px;line-height:21px;font-size:10px;background:#e7ede9;color:#617269}
.pve-lobby .is-selected .lobby-equipped{background:#416b54;color:#ffffff}
.pve-lobby .lobby-difficulty-switch{position:relative;justify-content:center;text-align:center;min-height:48px;padding:7px 11px;grid-gap:7px;gap:7px;border:1px solid #dce4df;border-bottom-width:1px;border-radius:9px;background:#f5f8f6;color:#293f37}
.pve-lobby .lobby-difficulty-switch>span{grid-gap:9px;gap:9px;min-width:0}
.pve-lobby .lobby-difficulty-switch em{font-size:11px;font-style:normal;color:#63786a}
.pve-lobby .lobby-difficulty-switch b{font-size:13px;white-space:nowrap}
.pve-lobby .lobby-difficulty-switch>small{margin-left:0;font-size:11px;color:#62766a;white-space:nowrap}
.pve-lobby .lobby-shortcuts{padding:6px 1px 0;grid-gap:7px;gap:7px;border-top:1px solid #e3e9e5}
.pve-lobby .lobby-shortcut{min-height:62px;background:#f7f9f8;border:1px solid #dce4df;border-radius:8px;padding:5px 2px;color:#3f604b;grid-gap:3px;gap:3px}
.pve-lobby .lobby-shortcut .item-icon{width:27px;height:27px}
.pve-lobby .lobby-shortcut>span{font-size:11px;font-weight:700}
.pve-lobby .lobby-shortcut small{font-size:10px;color:#64796b}
.pve-lobby .lobby-launch{margin-top:auto;padding:10px 0 7px;background:#ffffff;box-shadow:0 -7px 12px #ffffff;isolation:isolate}
.pve-lobby .lobby-start{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;grid-gap:1px;gap:1px;min-height:65px;padding:8px 18px;border:1px solid #456f57;border-radius:12px;background:#456f57;box-shadow:none;color:#ffffff}
.pve-lobby .lobby-start>span{font-size:22px;line-height:27px;font-weight:750;letter-spacing:.06em}
.pve-lobby .lobby-start>small{font-size:11px;color:#e8f4ec;line-height:17px;letter-spacing:.03em}
.pve-lobby .lobby-launch p{font-size:10px;line-height:17px;margin-top:6px;color:#697a6f;letter-spacing:.07em}
/* Secondary information remains grouped below one shared back control. */
.pve-lobby.lobby-subpage{grid-gap:12px;gap:12px;padding-bottom:20px}
.pve-lobby .lobby-panel-head{padding:4px 0 13px;border-bottom:1px solid #e1e8e3;grid-gap:12px;gap:12px}
.pve-lobby .lobby-panel-head h3{font-size:21px;color:#293f37}
.pve-lobby .lobby-panel-head p{font-size:12px;color:#687b6d;margin-top:2px}
.pve-lobby .lobby-chapters{grid-gap:12px;gap:12px}
.pve-lobby .lobby-chapter{min-height:182px;border:1px solid #dce4df;border-radius:12px;background:#f6f8f7;color:#293f37;box-shadow:none}
.pve-lobby .lobby-chapter.is-selected{background:#edf5ef;border:1px solid #416b54;border-bottom-width:1px;box-shadow:none}
.pve-lobby .lobby-chapter-number{top:10px;left:10px;color:#62796a;font-size:12px}
.pve-lobby .lobby-chapter .book-portrait{width:82px;height:100px}
.pve-lobby .lobby-chapter>strong{font-size:15px;color:#293f37}
.pve-lobby .lobby-chapter-state{margin-top:4px;padding:1px 8px;border-radius:4px;font-size:11px;background:#e8eeea;color:#65796b}
.pve-lobby .lobby-chapter.is-selected .lobby-chapter-state{background:#416b54;color:#ffffff}
.pve-lobby .lobby-footnote{font-size:12px;color:#62786a}
.pve-lobby .lobby-difficulties{grid-gap:10px;gap:10px}
.pve-lobby .lobby-difficulty{min-height:78px;grid-gap:12px;gap:12px;padding:10px 12px;background:#f7f9f8;border:1px solid #dce4df;border-radius:11px;color:#355540;box-shadow:none}
.pve-lobby .lobby-difficulty.is-selected{background:#edf5ef;border-color:#62866f;box-shadow:none}
.pve-lobby .lobby-threat{width:38px;height:38px;display:grid;place-items:center;border:1px solid #dce5df;border-radius:9px;background:#edf2ee;color:#587360;letter-spacing:.02em;font-size:17px;font-weight:800}
.pve-lobby .lobby-difficulty.is-selected .lobby-threat{background:#456f57;border-color:#456f57;color:#ffffff}
.pve-lobby .lobby-difficulty strong{font-size:16px;color:#293f37}
.pve-lobby .lobby-difficulty small{font-size:12px;color:#607566}
.pve-lobby .lobby-difficulty>b{font-size:11px;color:#42644e}
#sheetBackdrop.pve-lobby-shell .lobby-note{padding:14px 4px;background:transparent;border:0;border-bottom:1px solid #e4eae6;border-radius:0;box-shadow:none}
#sheetBackdrop.pve-lobby-shell .lobby-note h4{color:#355540;font-size:15px}
#sheetBackdrop.pve-lobby-shell .lobby-note p{color:#596f61;font-size:13px;line-height:1.75}
#sheetBackdrop.pve-lobby-shell .lobby-note summary{min-height:44px;display:list-item;align-content:center;font-size:14px;color:#3f614c;line-height:24px;font-weight:750;cursor:pointer}
#sheetBackdrop.pve-lobby-shell .lobby-note:has(>summary){padding:0 4px 6px}
.pve-lobby .lobby-route-details .lobby-route{margin:10px 0 12px}
.pve-lobby .lobby-route:before{border-color:#a7bcae}
.pve-lobby .lobby-route i{border-color:#ffffff;background:#698574;font-size:10px}
.pve-lobby .lobby-route .is-rest i{background:#73968a}
.pve-lobby .lobby-route>span:last-child i{background:#446b58}
.pve-lobby .lobby-route small{color:#63796b;font-size:10px}
.pve-lobby .lobby-goal{justify-content:center;text-align:center;min-height:48px;background:#eef5f0;border:1px solid #cedfd3;border-radius:9px;padding:8px 10px;color:#41674f}
.pve-lobby .lobby-goal>span{white-space:normal;line-height:18px;font-size:12px}
.pve-lobby .lobby-confirm{min-height:50px;border:1px solid #456f57;border-radius:10px;background:#456f57;color:#ffffff;font-weight:800;font-size:14px;box-shadow:none}
.pve-lobby .lobby-training .lobby-confirm{margin:7px 0 3px}
.pve-lobby .lobby-stat-pair{background:#f5f8f6;border:1px solid #e0e8e2;border-radius:8px;padding:13px 10px;grid-gap:18px;gap:18px}
.pve-lobby .lobby-materials>div{min-height:36px;border-bottom:1px dotted #dce5df;padding:4px 0}
.pve-lobby .lobby-help-link{min-height:48px;border:1px solid #d6e2da;border-bottom-width:1px;border-radius:9px;background:#f6f9f7;color:#44664f}
.pve-lobby .lobby-help-cards{grid-gap:0;gap:0}
.pve-lobby .lobby-help-cards>article{padding:16px 3px;border:0;border-bottom:1px solid #e4eae6;border-radius:0;background:transparent;grid-gap:12px;gap:12px}
.pve-lobby .lobby-help-cards h4{color:#34543f}
.pve-lobby .lobby-help-cards p{color:#596f61;font-size:13px;line-height:1.75}
.pve-lobby .lobby-help,.pve-lobby .lobby-chapter-switch,.pve-lobby .lobby-difficulty-switch,.pve-lobby .lobby-shortcut,.pve-lobby .lobby-start,.pve-lobby .lobby-confirm,.pve-lobby .lobby-goal,.pve-lobby .lobby-help-link{border-radius:999px;text-align:center}
.pve-lobby .lobby-confirm,.pve-lobby .lobby-help-link{display:flex;align-items:center;justify-content:center;grid-gap:8px;gap:8px}
.pve-lobby .lobby-difficulty{border-radius:40px;padding-left:14px;padding-right:18px}
.pve-lobby .lobby-wallet>span{border-radius:999px}
.pve-lobby .lobby-chapter-switch{padding-left:14px;padding-right:14px;grid-gap:5px;gap:5px}
.pve-lobby .lobby-chapter-tag{border-radius:999px}
.pve-lobby .lobby-chapter-state{border-radius:999px}
.pve-lobby .lobby-next-icon{width:17px;height:17px;flex:0 0 17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pve-lobby .lobby-difficulty-switch>.lobby-next-icon{margin-left:1px;color:#607768}
@media(max-width:350px){
 #sheetBackdrop.pve-lobby-shell{padding-left:8px;padding-left:max(8px,env(safe-area-inset-left,0px));padding-right:8px;padding-right:max(8px,env(safe-area-inset-right,0px))}
 #sheetBackdrop.pve-lobby-shell .sheet-content{padding-left:10px;padding-right:10px}
 .pve-lobby{grid-gap:8px;gap:8px}
 .pve-lobby .lobby-hero{height:172px}
 .pve-lobby .lobby-hero-copy h3{font-size:24px}
 .pve-lobby .lobby-chapter-tag{font-size:11px;grid-gap:5px;gap:5px;padding:5px 7px}
 .pve-lobby .lobby-weapons{grid-gap:6px;gap:6px}
 .pve-lobby .lobby-weapon>b{font-size:12px}
 .pve-lobby .lobby-difficulty-switch{padding:7px 8px;grid-gap:4px;gap:4px}
 .pve-lobby .lobby-difficulty-switch>span{grid-gap:6px;gap:6px}
 .pve-lobby .lobby-difficulty-switch>small{font-size:10px}
 .pve-lobby .lobby-wallet>span{padding:3px 6px;grid-gap:4px;gap:4px}
 .pve-lobby .lobby-chapter>strong{font-size:14px}
}
@media(max-height:720px){
 #sheetBackdrop.pve-lobby-shell{padding-top:calc(8px + 0px);padding-top:calc(8px + env(safe-area-inset-top,0px));padding-bottom:calc(8px + 0px);padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}
 #sheetBackdrop.pve-lobby-shell .sheet-head{padding-top:6px;padding-bottom:6px;min-height:58px}
 .pve-lobby{grid-gap:8px;gap:8px}
 .pve-lobby .lobby-hero{height:151px}
 .pve-lobby .lobby-hero-copy{bottom:12px}
 .pve-lobby .lobby-hero-copy h3{font-size:25px}
 .pve-lobby .lobby-weapon{min-height:106px}
 .pve-lobby .lobby-weapon .weapon-art{width:36px;height:36px}
 .pve-lobby .lobby-shortcut{min-height:56px}
 .pve-lobby .lobby-shortcut .item-icon{width:24px;height:24px}
 .pve-lobby .lobby-launch{padding-top:8px}
 .pve-lobby .lobby-start{min-height:61px}
}
@media(orientation:landscape) and (max-height:500px){
 #sheetBackdrop.pve-lobby-shell .sheet-head{padding-top:4px;padding-bottom:4px;min-height:54px}
 #sheetBackdrop.pve-lobby-shell .sheet-content{scroll-padding-bottom:90px}
 .pve-lobby{max-width:540px}
 .pve-lobby .lobby-hero{height:145px}
 .pve-lobby .lobby-launch{padding-bottom:5px}
 .pve-lobby .lobby-launch p{display:none}
 .pve-lobby .lobby-start{min-height:58px}
 .pve-lobby .lobby-chapters{grid-template-columns:repeat(3,min0);grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.pve-lobby button{transition:none}#sheetBackdrop.pve-lobby-shell .pve-lobby button:active:not(:disabled){transform:none}}
.pve-lobby[data-lobby-still="true"] button{transition:none}
#sheetBackdrop.pve-lobby-shell .pve-lobby[data-lobby-still="true"] button:active:not(:disabled){transform:none}

/* A world entrance, with the same quiet white/sage UI as the home. */
.courtyard-mode #app{max-width:none}
.courtyard-mode #app>:not(#stage):not(#sheetBackdrop):not(.courtyard-ui):not(#toast):not(.achievement-toast){display:none!important}
.courtyard-mode #stage{margin:0!important;height:100%;flex:1;background:#dceadb}
.courtyard-mode #stage>:not(#scene){display:none!important}
.courtyard-mode #scene{touch-action:none}
.courtyard-mode #sheetBackdrop{right:0}
.courtyard-ui{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;z-index:8;pointer-events:none;color:#36513f;touch-action:none;overflow:hidden;font-family:inherit}
.courtyard-ui button{pointer-events:auto;touch-action:manipulation;min-height:44px;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .12s, transform .12s}
.courtyard-ui button:active:not(:disabled){transform:scale(.97)}
.courtyard-ui button:focus-visible{outline:3px solid #66946f;outline-offset:3px}
.courtyard-ui button:disabled{cursor:default;color:#81917c}
.yard-top{position:absolute;top:calc(12px + 0px);top:calc(12px + env(safe-area-inset-top,0px));left:14px;left:max(14px,env(safe-area-inset-left,0px));right:14px;right:max(14px,env(safe-area-inset-right,0px));display:grid;grid-template-columns:70px min0 70px;grid-template-columns:70px minmax(0,1fr) 70px;align-items:center;grid-gap:8px;gap:8px}
.yard-top>button{border:1px solid #d9e5d3;border-radius:999px;background:rgba(255,255,255,0.94118);color:#4c704c;padding:8px 12px;font-size:13px}
.yard-top>[data-yard=home]{width:44px;padding:0;display:grid;place-items:center}
.yard-top svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.yard-top>div{text-align:center;text-shadow:0 1px rgba(255,255,255,0.6)}
.yard-top b{display:block;font-size:18px;letter-spacing:.05em}
.yard-top small{display:block;font-size:11px;margin-top:3px;color:#687f5e}
.yard-place{position:absolute;transform:translate(-50%,-100%);width:112px;padding:7px 9px;border:1px solid #d6e2ce;border-radius:17px;background:rgba(255,255,255,0.94902);box-shadow:0 3px 7px rgba(50,92,50,0.06275);text-align:center;white-space:nowrap}
.courtyard-ui .yard-place:active{transform:translate(-50%,-100%) scale(.97)}
.yard-place b{display:block;font-size:13px;line-height:20px;color:#3e6042}
.yard-place small{display:block;font-size:10px;line-height:16px;color:#70876a}
.yard-place.is-suggested{border-color:#8caf7d}
.yard-place.is-near{background:#e5f1db;border-color:#85a976}
.yard-place.is-closed{width:94px;background:rgba(245,248,240,0.86275);border-style:dashed;box-shadow:none}
.yard-place.is-closed b{font-size:11px;font-weight:500;color:#77876f}
.yard-place.is-closed small{font-size:11px;color:#5f7758}
.yard-guidance{position:absolute;bottom:calc(157px + 0px);bottom:calc(157px + env(safe-area-inset-bottom,0px));left:18px;right:18px;margin:auto;max-width:420px;text-align:center;font-size:12px;line-height:18px;color:#526c4d;text-shadow:0 1px rgba(255,255,255,0.70196)}
.yard-controls{position:absolute;bottom:calc(22px + 0px);bottom:calc(22px + env(safe-area-inset-bottom,0px));left:20px;left:max(20px,env(safe-area-inset-left,0px));right:18px;right:max(18px,env(safe-area-inset-right,0px));display:flex;justify-content:space-between;grid-gap:16px;gap:16px;align-items:flex-end}
.yard-stick{position:relative;flex:0 0 102px;width:102px;height:102px;pointer-events:auto;touch-action:none;border:1px solid rgba(145,173,134,0.50196);background:rgba(248,255,243,0.23137);border-radius:50%;box-shadow:inset 0 0 0 10px rgba(255,255,255,0.1451)}
.yard-stick>i{position:absolute;left:29px;top:29px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,0.85098);border:1px solid #a6b99b;box-shadow:0 2px 5px rgba(56,96,54,0.07059);pointer-events:none}
.yard-stick.held{border-color:#7a9c6b;background:rgba(239,249,231,0.34902)}
.yard-stick>span{position:absolute;bottom:-19px;left:0;right:0;text-align:center;font-size:10px;color:#638057;pointer-events:none}
.yard-actions{display:flex;flex-direction:column;grid-gap:8px;gap:8px;width:224px;width:min(224px,calc(100% - 115px));pointer-events:auto}
.yard-context{width:100%;min-height:48px!important;border:1px solid #517b53;border-radius:999px;background:#527c53;color:#fff;font-size:14px!important;font-weight:700!important;box-shadow:0 2px 5px rgba(49,80,50,0.07059)}
.yard-context:disabled{background:rgba(244,248,238,0.94902);border-color:#dce7d2;color:#758a69}
.yard-shortcuts{display:flex;grid-gap:6px;gap:6px}
.yard-shortcuts>button{flex:1;min-width:0;padding:8px 5px;border:1px solid #d8e4cc;background:rgba(255,255,255,0.94118);border-radius:999px;color:#58724f;font-size:11px;line-height:15px}
.yard-transition{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;z-index:3;pointer-events:none;background:#f5faf0;opacity:0}
.courtyard-ui[data-phase=leaving] .yard-labels,.courtyard-ui[data-phase=leaving] .yard-controls,.courtyard-ui[data-phase=reveal] .yard-labels,.courtyard-ui[data-phase=reveal] .yard-controls{visibility:hidden;pointer-events:none}
.courtyard-ui[data-blocked=true]{visibility:hidden}
.yard-top{z-index:5}.yard-guidance{z-index:4}
.play-room .courtyard-entry{width:100%;margin:0 0 14px;min-height:46px;grid-gap:7px;gap:7px}
@media(min-width:700px){.yard-top{left:24px;right:24px}.yard-controls{left:32px;right:32px}.yard-actions{width:244px}.yard-place{width:120px}}
@media(max-width:350px){.yard-controls{left:14px;right:14px;grid-gap:10px;gap:10px}.yard-stick{width:92px;height:92px;flex-basis:92px}.yard-stick>i{left:24px;top:24px}.yard-actions{width:calc(100% - 102px)}.yard-place{width:100px;padding:5px 6px}.yard-place b{font-size:12px}.yard-top{left:12px;right:12px}.yard-guidance{font-size:11px}}
@media(orientation:landscape) and (max-height:560px){.yard-top{top:calc(8px + 0px);top:calc(8px + env(safe-area-inset-top,0px))}.yard-top small{display:none}.yard-top b{font-size:16px}.yard-guidance{bottom:calc(12px + 0px);bottom:calc(12px + env(safe-area-inset-bottom,0px));left:145px;right:250px;font-size:10px;max-width:none}.yard-controls{bottom:calc(20px + 0px);bottom:calc(20px + env(safe-area-inset-bottom,0px));left:18px;right:18px}.yard-place{width:102px;padding:4px 6px}.yard-place b{font-size:12px}.yard-place small{font-size:9px}.yard-place.is-closed{width:86px}}
@media(prefers-reduced-motion:reduce){.courtyard-ui button{transition:none}}

.courtyard-ui[data-show=true] .yard-labels{visibility:hidden;pointer-events:none}

/* Short world tags; the clock is a capsule with an unchanged 44px touch area. */
.courtyard-ui .yard-place.is-building{width:112px;height:44px;min-height:44px;padding:3px 8px;border:1px solid #c9dbce;border-radius:15px;background:rgba(255,255,255,0.94118);box-shadow:0 2px 5px rgba(36,77,48,0.06275)}
.courtyard-ui .yard-place.is-building b{font-size:12px;line-height:19px;font-weight:650}
.courtyard-ui .yard-place.is-building small{font-size:10px;line-height:15px;color:#67836f}
.courtyard-ui .yard-place.is-building.is-starter{width:108px}
.courtyard-ui .yard-place.is-building.is-near{background:#eaf5ed;border-color:#8bb49a}
.courtyard-ui .yard-place.is-working{display:flex;align-items:center;justify-content:center;grid-gap:7px;gap:7px;width:136px;padding:6px 10px;border:0;background:transparent;box-shadow:none;isolation:isolate}
.courtyard-ui .yard-place.is-working::before{content:"";position:absolute;top:6px;right:0;bottom:6px;left:0;inset:6px 0;border:1px solid #a7c6b3;border-radius:999px;background:rgba(252,255,252,0.96078);box-shadow:0 2px 5px rgba(36,77,48,0.08235);z-index:-1;pointer-events:none}
.courtyard-ui .yard-place.is-working b{flex:none;color:#688875;font-size:10px;line-height:20px;font-weight:500}
.courtyard-ui .yard-place.is-working small{min-width:68px;color:#345e46;font:600 12px/20px ui-monospace,SFMono-Regular,Consolas,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:0;white-space:nowrap}
.courtyard-ui .yard-place.is-working.is-near::before{background:#eaf5ed;border-color:#76a488}
.courtyard-ui .yard-place[hidden]{display:none!important}

/* Construction clocks stay centred on the projected roof. No idle plot tags. */
.courtyard-ui .yard-place.is-building:not(.is-working){display:none!important}
.courtyard-ui .yard-place.is-building.is-working{width:112px;grid-gap:6px;gap:6px;transition:none}
.courtyard-ui .yard-place.is-building.is-working b{font-size:16px;line-height:20px;width:14px;color:#779384}
.courtyard-ui .yard-place.is-building.is-working small{font-size:12px;min-width:74px}
.courtyard-ui .yard-place.is-building.is-working:active{transform:translate(-50%,-100%)}

#sheetBackdrop.yard-build-shell{align-items:flex-end;padding:10px 10px calc(10px + 0px);padding:10px 10px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(32,56,46,0.12549);-webkit-backdrop-filter:none;backdrop-filter:none}
#sheetBackdrop.yard-build-shell>.sheet{max-width:540px;max-height:72%;max-height:72vh;max-height:72dvh;border-radius:24px;background:#fcfdfb;box-shadow:0 12px 34px rgba(31,57,38,0.16863)}
#sheetBackdrop.yard-build-shell .sheet-head{min-height:58px;padding:7px 12px;background:#fcfdfb}
#sheetBackdrop.yard-build-shell .sheet-head h2{font-size:18px}
#sheetBackdrop.yard-build-shell .sheet-content{padding:12px 14px 16px}
.yard-build-menu{max-width:540px;margin:0 auto;color:#3e5748}
.yard-build-wallet{display:flex;align-items:center;grid-gap:16px;gap:16px;padding:0 2px 12px;font-size:12px;color:#748376}.yard-build-wallet b{color:#425e4b;font-size:15px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.yard-build-list{display:grid;grid-template-columns:repeat(2,min0);grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:9px;gap:9px}
.yard-build-card{display:flex;flex-direction:column;align-items:stretch;min-width:0;min-height:113px;padding:11px 12px;border:1px solid #dce6dc;border-radius:17px;background:#fff;color:#3e5748;text-align:left;font:inherit;touch-action:manipulation}
.yard-build-card-top{display:flex;align-items:center;justify-content:space-between;grid-gap:6px;gap:6px;margin-bottom:5px}.yard-build-card-top>.game-icon{width:33px;height:33px;flex:none}.yard-build-card-tag{padding:3px 7px;border-radius:999px;background:#eff5ef;color:#60816a;font-size:10px;line-height:1.4;white-space:nowrap}
.yard-build-card>b{font-size:14px;line-height:1.5}.yard-build-card>small{margin-top:3px;font-size:11px;line-height:1.5;color:#77877b;overflow-wrap:anywhere}.yard-build-card .yard-build-working{display:block}.yard-build-working time{display:block;color:#4e755c;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.yard-build-card progress{width:100%;height:4px;margin-top:7px;accent-color:#82a68d}.yard-build-card.is-ruin{background:#f5f7f4;border-style:dashed}.yard-build-card.is-working{border-color:#b9cebf;background:#f6faf6}.yard-build-card:active{background:#edf5ee;transform:scale(.985)}
.yard-build-workers{display:grid;grid-template-columns:min0 auto;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;padding:13px 0;border-top:1px solid #e5ebe3;border-bottom:1px solid #e5ebe3;margin:12px 0}.yard-build-workers.is-compact{margin-top:13px;margin-bottom:5px;padding:12px 0 7px;border-bottom:0}.yard-build-worker-copy{display:grid;grid-gap:4px;gap:4px;min-width:0}.yard-build-worker-copy>b,.yard-build-worker-link{font-size:13px;font-weight:700;color:#486450}.yard-build-worker-link{padding:0;text-align:left;background:none;min-height:34px;display:flex;align-items:center;grid-gap:7px;gap:7px}.yard-build-worker-link>span{color:#91a394;font-size:19px}.yard-build-worker-copy>span{font-size:11px;color:#7b8a7f}.yard-build-worker-ready{padding:5px 9px;background:#eef5ef;border-radius:999px;color:#5b8266;font-size:11px}.yard-build-slot-short{grid-column:1/-1;text-align:right;font-size:11px;line-height:1.4;color:#8d756a}
#sheetBackdrop .yard-build-unlock{display:grid;grid-gap:1px;gap:1px;min-height:44px;padding:7px 12px;max-width:150px;background:#edf5ef;border:1px solid #c8d9cc;border-radius:999px;color:#456e51}.yard-build-unlock>b{font-size:12px}.yard-build-unlock>small{font-size:10px;font-weight:400;white-space:nowrap}
.yard-build-note{font-size:11px;line-height:1.5;color:#7b8c7e;text-align:center;margin:9px 0 0}
.yard-build-stage{display:flex;align-items:center;grid-gap:12px;gap:12px;margin:0 0 13px;min-height:57px}.yard-build-stage-icon{display:grid;place-items:center;width:52px;height:52px;flex:none;border:1px solid #e0e9e0;border-radius:15px;background:#f0f6f1}.yard-build-stage-icon>.game-icon{width:35px;height:35px}.yard-build-stage>div{min-width:0}.yard-build-stage b{display:block;font-size:15px;line-height:1.5}.yard-build-stage small{display:block;margin-top:4px;color:#89968b;font-size:11px;line-height:1.55}.yard-build-stage strong{color:#5c7d66;font-weight:600}
.yard-build-duration{display:flex;align-items:center;justify-content:space-between;grid-gap:8px;gap:8px;border-top:1px solid #e6ece4;padding:10px 0 7px;font-size:11px;color:#7b8b7e}.yard-build-duration b{font-size:12px;font-weight:600;color:#526f5a}
.yard-build-cost-head{display:flex;align-items:center;justify-content:space-between;grid-gap:10px;gap:10px;margin:6px 0 7px}.yard-build-cost-head>b{font-size:12px;font-weight:600}.yard-build-cost-head>small{font-size:10px;color:#89978b}
.yard-build-costs{display:grid;grid-template-columns:repeat(2,min0);grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px;gap:6px;margin-bottom:13px}.yard-build-resource{min-width:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;grid-gap:4px 7px;gap:4px 7px;padding:8px 10px;background:#f0f5f0;border:1px solid transparent;border-radius:11px;font-size:11px;color:#63816d}.yard-build-resource>b{font-size:12px;font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.yard-build-resource i{font-size:11px;font-style:normal;font-weight:400;color:#7c8a80}.yard-build-resource.is-short{background:#f8f1ee;border-color:#eee0d9;color:#986751}.yard-build-resource.is-short i{color:#997f70}
#sheetBackdrop .yard-build-start,#sheetBackdrop .yard-build-interact{width:100%;min-height:46px;border-radius:999px;font-size:14px}.yard-build-interact{margin-top:8px}.yard-build-interact-note{font-size:11px;line-height:1.5;text-align:center;color:#7b9181;margin:11px 0 0}.yard-build-shortage{display:grid;grid-gap:3px;gap:3px;margin:8px 0 0}.yard-build-shortage>small{font-size:11px;line-height:1.6;color:#97786a;text-align:center}.yard-build-materials{display:block;min-height:36px;margin:0 auto;padding:4px 10px;background:none;color:#51795e;font-size:12px}.yard-build-materials>span{font-size:17px;margin-left:4px}
.yard-build-progress{display:grid;grid-gap:9px;gap:9px;border-top:1px solid #e6ece4;padding:12px 0}.yard-build-progress>div{display:flex;justify-content:space-between;grid-gap:10px;gap:10px;font-size:13px}.yard-build-progress time{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#54785e}.yard-build-progress progress{width:100%;height:8px;accent-color:#7fa88b}.yard-build-progress>small{font-size:11px;color:#809083}
.yard-build-details{margin-top:12px;border-top:1px solid #e4e9e2;padding-top:4px;font-size:12px}.yard-build-details summary{display:list-item;cursor:pointer;min-height:42px;padding:12px 0 7px;color:#718475}.yard-build-details ol{list-style:none;padding:0;margin:0}.yard-build-details li{display:grid;grid-gap:4px;gap:4px;padding:10px 0;border-bottom:1px solid #eaf0e7;color:#7b877c}.yard-build-details li>b{font-size:12px;font-weight:600;line-height:1.5}.yard-build-details li small{font-size:10px;line-height:1.7;overflow-wrap:anywhere}.yard-build-details .is-built{color:#4e7e5f}.yard-build-details em{display:inline-block;font-size:9px;font-style:normal;font-weight:400;padding:2px 5px;border-radius:999px;background:#edf4ee;color:#517d61;vertical-align:middle}
.yard-top [data-yard=build]{grid-column:3;grid-row:1;min-width:64px}.yard-top [data-yard=skip]{grid-column:3;grid-row:1}
.yard-place.is-building{border-color:#b5cec0}.yard-place.is-working small{color:#638b75}
.courtyard-ui[data-phase=leaving] [data-yard=build],.courtyard-ui[data-phase=reveal] [data-yard=build]{visibility:hidden}
@media(min-width:450px){.yard-build-costs{grid-template-columns:repeat(3,min0);grid-template-columns:repeat(3,minmax(0,1fr))}.yard-build-resource{display:grid;grid-gap:5px;gap:5px}}
@media(max-width:350px){#sheetBackdrop.yard-build-shell .sheet-content{padding-left:10px;padding-right:10px}.yard-build-card{padding:9px;min-height:111px}.yard-build-card>b{font-size:13px}.yard-build-card-tag{font-size:9px;padding:3px 5px}.yard-build-resource{padding:7px}.yard-build-workers{grid-gap:6px;gap:6px}.yard-build-stage{grid-gap:9px;gap:9px}.yard-build-stage b{font-size:14px}}
@media(orientation:landscape) and (max-height:560px){#sheetBackdrop.yard-build-shell>.sheet{max-height:90vh;max-height:90dvh}.yard-build-list{grid-template-columns:repeat(3,min0);grid-template-columns:repeat(3,minmax(0,1fr))}.yard-build-card{min-height:106px}}
@media(prefers-reduced-motion:reduce){.yard-build-card:active{transform:none}}

.overload-panel,.overload-review,.overload-result{color:#344a49;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.overload-panel{margin-top:20px;padding-top:20px;border-top:1px solid #dce5e1}
.overload-heading,.overload-next,.overload-odds{display:flex;align-items:center;justify-content:space-between;grid-gap:14px;gap:14px}
.overload-heading small{font-size:12px;color:#657c78}.overload-heading h4{margin:4px 0;font-size:20px;line-height:1.4}
.overload-heading>b{display:grid;place-items:center;width:50px;height:50px;flex:0 0 50px;border:1px solid #b8d5d0;border-radius:16px;background:#edf7f4;font-size:26px;color:#366d66;box-shadow:inset 0 2px 0 #fff}
.overload-ranks{display:flex;align-items:center;grid-gap:6px;gap:6px;margin:16px 0}.overload-ranks i{flex:1;height:7px;border-radius:6px;background:#e6ebe9}.overload-ranks .is-lit{background:#598d86;box-shadow:0 0 6px var(--overload)}.overload-ranks small{margin-left:8px;white-space:nowrap;color:#647b76}
.overload-next{margin:16px 0;padding:14px;border-radius:15px;background:#edf3f7}.overload-next strong{font-size:25px;color:#365f78;line-height:1.2}.overload-next strong small{display:block;margin-top:5px;font-size:11px;font-weight:500;text-align:right}
.overload-bonus,.overload-complete{font-size:13px;line-height:1.7;color:#3d7468}
.overload-caption,.overload-risk{font-size:13px;line-height:1.7;margin:12px 0}.overload-caption{color:#677773}.overload-risk{padding:12px 14px;border-left:3px solid #8c7280;background:#f5f0f3;border-radius:0 12px 12px 0;color:#725163}
.overload-table{list-style:none;padding:0;margin:8px 0}.overload-table li{display:flex;grid-gap:12px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #e5eae8;font-size:13px}.overload-table strong{margin-left:auto;color:#416a76}
.overload-review-head{display:flex;align-items:center;grid-gap:14px;gap:14px}.overload-review-head .weapon-art{width:82px;height:82px;flex:0 0 82px}.overload-review-head h3{margin:7px 0;font-size:22px;line-height:1.3}.overload-review-head small,.overload-review-head p{font-size:13px;color:#637a76}.overload-review-head p{margin:0}
.overload-odds{padding:16px 20px;background:#edf3f7;border:1px solid #d5e3e8;border-radius:18px;margin-top:20px}.overload-odds strong{font-size:32px;color:#365f78}
.overload-review>h4{margin:20px 0 5px;font-size:15px}.overload-costs{margin:0;display:grid;grid-template-columns:1fr 1fr;grid-gap:0 18px;gap:0 18px}.overload-costs>div{padding:12px 0;border-bottom:1px solid #e4eae6;min-width:0}.overload-costs dt{font-size:12px;color:#627871;margin-bottom:4px}.overload-costs dd{margin:0}.overload-costs b{font-size:19px}.overload-costs small{display:block;color:#71817b;font-size:11px;line-height:1.7;overflow-wrap:anywhere}.overload-costs .is-short b{color:#99566c}.overload-costs .is-short small{color:#855b69}
.overload-review .button,.overload-result .button{min-height:52px;margin-top:10px;border-radius:999px;font-size:15px;width:100%}
.overload-result{text-align:center;padding:28px 8px}.overload-result-art{width:134px;height:134px;display:grid;place-items:center;margin:6px auto 24px;border-radius:36px;background:#edf4f3;border:1px solid #cfdfda}.overload-result-art .weapon-art{width:100px;height:100px}.overload-result h3{font-size:27px;margin:10px 0}.overload-result>strong{display:block;font-size:21px;color:#477c72}.overload-result>p{font-size:14px;line-height:1.7}.overload-result.is-failed h3{color:#716571}.overload-result.is-success .overload-result-art{animation:overload-reveal .55s ease-out both}
@keyframes overload-reveal{from{transform:scale(.86);box-shadow:0 0 0 0 rgba(128,191,175,0.33333)}to{transform:scale(1);box-shadow:0 0 0 18px rgba(128,191,175,0)}}
[data-overload-still=true] .overload-result-art{animation:none!important}@media(prefers-reduced-motion:reduce){.overload-result-art{animation:none!important}}
@media(max-width:360px){.overload-review-head .weapon-art{width:64px;height:64px;flex-basis:64px}.overload-review-head h3{font-size:19px}.overload-costs{column-gap:12px}.overload-costs b{font-size:17px}}

/* The header and the scroll viewport are separate flex rows. Nothing inside the
   workshop may stick over the weapon, its cost or the upgrade receipt. */
#sheetBackdrop.forge-shell>.sheet{display:flex;flex-direction:column;min-height:0;max-height:100%;height:900px;height:min(900px,100%);overflow:hidden;background:#fff}
#sheetBackdrop.forge-shell .sheet-head{position:relative;z-index:1;flex:0 0 auto;background:#fff}
#sheetBackdrop.forge-shell .sheet-content{position:relative;isolation:isolate;display:block;flex:1 1 0;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-padding:16px;padding-bottom:calc(24px + 0px);padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}
#sheetBackdrop.forge-shell .arsenal-tabs{position:static;top:auto;z-index:auto;margin:12px 0 18px}
#sheetBackdrop.forge-shell .forge-card{position:relative;isolation:isolate;background:#fff;border-color:#dce5df;overflow:hidden;scroll-margin:12px}
.forge-emblem{position:relative;display:grid;place-items:center;flex:0 0 88px;width:88px;height:100px;background:#f1f6f3;border:1px solid #dce6df;border-radius:20px;overflow:hidden}
.forge-emblem>.weapon-art{width:78px;height:78px;z-index:1;transform-origin:50% 65%}
.forge-hammer{position:absolute;width:28px;height:28px;right:5px;top:7px;z-index:2;opacity:0;fill:none;stroke:#536e64;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transform-origin:5px 26px;pointer-events:none}
.forge-sparks{position:absolute;top:12px;right:12px;bottom:12px;left:12px;inset:12px;pointer-events:none;opacity:0;background:radial-gradient(circle at 20% 22%,#98cbbb 0,#98cbbb 2px,transparent 3px),radial-gradient(circle at 83% 23%,#7ebba9 0,#7ebba9 2px,transparent 3px),radial-gradient(circle at 12% 67%,#b6dbce 0,#b6dbce 2px,transparent 3px),radial-gradient(circle at 90% 76%,#8abdac 0,#8abdac 2px,transparent 3px);background:radial-gradient(circle at 20% 22%,#98cbbb 0 2px,transparent 3px),radial-gradient(circle at 83% 23%,#7ebba9 0 2px,transparent 3px),radial-gradient(circle at 12% 67%,#b6dbce 0 2px,transparent 3px),radial-gradient(circle at 90% 76%,#8abdac 0 2px,transparent 3px)}
.forge-receipt{display:flex;align-items:center;grid-gap:10px;gap:10px;border:1px solid #c5ddce;background:#eff8f1;padding:12px;border-radius:14px;margin:15px 0 8px;color:#375c4c;scroll-margin:16px}
.forge-receipt-seal{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;background:#d5eadc;color:#3f715a;font-size:19px}
.forge-receipt strong{display:flex;align-items:center;flex-wrap:wrap;grid-gap:6px;gap:6px;font-size:14px}.forge-receipt b{font-size:17px;white-space:nowrap;color:#285d48}.forge-receipt span:not(.forge-receipt-seal),.forge-receipt small{display:block;font-size:12px;line-height:1.7}.forge-receipt small{color:#557869}
[data-forge-phase=charge] .forge-hammer{opacity:1;transform:rotate(-35deg)}
[data-forge-phase=strike] .forge-hammer{animation:forge-hammer-hit .25s ease-in both}
[data-forge-phase=strike] .forge-emblem>.weapon-art{animation:forge-weapon-hit .25s ease-out both}
[data-forge-phase=reveal] .forge-emblem>.weapon-art{animation:forge-weapon-reveal .6s ease-out both}
[data-forge-phase=reveal] .forge-sparks{animation:forge-sparks-out .55s ease-out both}
[data-forge-phase=reveal] .forge-receipt{animation:forge-receipt-in .28s ease-out both}
@keyframes forge-hammer-hit{0%{opacity:1;transform:rotate(-35deg)}50%{opacity:1;transform:rotate(15deg)}100%{opacity:0;transform:rotate(-10deg)}}
@keyframes forge-weapon-hit{50%{transform:translateY(4px) scale(.94)}100%{transform:none}}
@keyframes forge-weapon-reveal{0%{transform:scale(.94)}45%{transform:scale(1.10);filter:drop-shadow(0 0 6px #96c9b4)}100%{transform:none}}
@keyframes forge-sparks-out{0%{opacity:1;transform:scale(.55)}100%{opacity:0;transform:scale(1.3)}}
@keyframes forge-receipt-in{from{transform:translateY(4px);opacity:.55}to{transform:none;opacity:1}}
.overload-badge{--gold:#b48d48;display:inline-flex;position:relative;isolation:isolate;align-items:center;justify-content:center;grid-gap:4px;gap:4px;vertical-align:middle;padding:4px 10px;border:1px solid #a27d3a;border-radius:9px;background:#3b3020;color:#ead09a;font-style:normal;font-weight:800;font-size:14px;line-height:1.5;text-shadow:0 1px 0 #211b13;box-shadow:inset 0 1px 0 rgba(242,219,160,0.18824);overflow:hidden;white-space:nowrap}
.overload-badge>i{color:var(--gold);font-size:10px;font-style:normal}.overload-badge.is-compact{padding:2px 6px;font-size:11px;border-radius:6px}.overload-badge[data-rank="2"]{background:#362b1b;border-color:#b69454}.overload-badge[data-rank="3"]{background:#302519;box-shadow:inset 0 0 0 2px #3e321e,0 0 6px rgba(179,151,77,0.13333)}.overload-badge[data-rank="4"],.overload-badge[data-rank="5"]{background:#282116;border-color:#d0ac61;box-shadow:inset 0 0 0 2px #514128,0 0 8px rgba(189,150,71,0.2);color:#f2dca6}
.overload-badge[data-rank="4"]::after,.overload-badge[data-rank="5"]::after{content:"";position:absolute;top:-10%;right:-80%;bottom:-10%;left:-80%;inset:-10% -80%;pointer-events:none;background:linear-gradient(110deg,transparent 42%,rgba(255,241,188,0.14118) 49%,transparent 56%);animation:overload-gold-sheen 4.8s ease-in-out infinite}
.overload-badge[data-rank="5"]{border-width:2px;letter-spacing:.03em}.overload-badge[data-rank="5"]>i{color:#f9e3a3}
.overload-panel .overload-heading>.overload-badge{width:auto;min-width:62px;height:48px;flex:0 0 auto;padding:4px 9px;font-size:22px;background:#332a1c;color:#efd5a0;border-color:#b5924a;box-shadow:inset 0 1px 0 rgba(242,219,160,0.18824)}
.overload-panel .overload-ranks .is-lit{background:var(--overload,#b38c43)}
.overload-result.is-success .overload-result-art{background:#f3f0e9;border-color:#bc9c60;box-shadow:inset 0 0 0 4px #fcfbf6}.overload-result .overload-badge{display:inline-flex;margin:5px 0 12px;padding:7px 18px;font-size:22px}
.forge-head .overload-badge{margin-top:6px}.lobby-weapon-level:has(.overload-badge){background:transparent;padding:0}.weapon-tile .overload-badge{margin-top:2px}
@keyframes overload-gold-sheen{0%,60%{transform:translateX(-55%)}100%{transform:translateX(55%)}}
[data-overload-still=true] .overload-badge::after,[data-lobby-still=true] .overload-badge::after{animation:none!important;display:none}
@media(prefers-reduced-motion:reduce){.forge-emblem *, .forge-receipt,.overload-badge::after{animation:none!important}.forge-hammer,.forge-sparks,.overload-badge::after{display:none!important}}
@media(max-width:360px){.forge-emblem{width:68px;flex-basis:68px;height:84px}.forge-emblem>.weapon-art{width:60px;height:60px}.forge-head{grid-gap:10px;gap:10px}.overload-badge{font-size:12px}}

/* The jump game owns the full stage; home controls and modal layers never overlap it. */
.jump-mode #app{max-width:none;padding-right:0}
.jump-mode #app>:not(#stage):not(#sheetBackdrop):not(.jump-ui):not(#toast):not(.achievement-toast){display:none!important}
.jump-mode #stage{margin:0!important;height:100%;flex:1;background:#dbecee}
.jump-mode #stage>:not(#scene){display:none!important}
.jump-mode #sheetBackdrop{right:0;z-index:40}
.jump-ui{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;z-index:9;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;color:#31534a;font-family:inherit;isolation:isolate}
.jump-ui[hidden],.jump-ui [hidden]{display:none!important}
.jump-ui button{font:inherit;cursor:pointer;min-height:44px;-webkit-tap-highlight-color:transparent;touch-action:none}
.jump-ui button:focus-visible{outline:3px solid #4b9c84;outline-offset:4px}
.jump-top{position:absolute;top:calc(12px + 0px);top:calc(12px + env(safe-area-inset-top,0px));left:14px;left:max(14px,env(safe-area-inset-left,0px));right:14px;right:max(14px,env(safe-area-inset-right,0px));display:flex;align-items:center;grid-gap:12px;gap:12px;z-index:4}
.jump-top>div{flex:1}.jump-top b{display:block;font-size:17px;letter-spacing:.04em}.jump-top small{display:block;font-size:11px;margin-top:3px;color:#647e79}
.jump-top button{border:1px solid rgba(255,255,255,0.8);background:rgba(255,255,255,0.86667);border-radius:24px;color:#456d60;padding:0 17px;box-shadow:0 3px 0 rgba(173,199,198,0.4)}
.jump-top button:first-child{width:46px;padding:11px}.jump-top svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.jump-top button:active{transform:translateY(2px);box-shadow:none}
.jump-scorebar{position:absolute;top:calc(76px + 0px);top:calc(76px + env(safe-area-inset-top,0px));left:24px;right:24px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;z-index:2}
.jump-scorebar>div:first-child{display:flex;align-items:baseline;grid-gap:10px;gap:10px}.jump-score{font-size:39px;line-height:1;letter-spacing:-.04em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#345d50;text-shadow:0 2px rgba(255,255,255,0.53333)}
.jump-scorebar span{font-size:11px}.jump-wallet{display:flex;grid-gap:10px;gap:10px;align-items:center;padding:9px 12px;border:1px solid rgba(255,255,255,0.73333);border-radius:20px;background:rgba(248,255,250,0.61176)}.jump-wallet b{font-size:12px}.jump-wallet span{color:#668b7d}
.jump-ui .runner-cheer{z-index:2;pointer-events:none;left:50%;max-width:calc(100% - 16px)}
.jump-ui .nr-kicker{font-size:10px}.jump-ui .nr-reason{font-size:12px}.jump-combo{position:absolute;top:calc(122px + 0px);top:calc(122px + env(safe-area-inset-top,0px));left:25px;font-size:11px;font-weight:800;color:#628b75;pointer-events:none}
.jump-bottom{position:absolute;bottom:calc(17px + 0px);bottom:calc(17px + env(safe-area-inset-bottom,0px));left:20px;right:20px;max-width:470px;margin:auto;text-align:center;pointer-events:none;z-index:3}
.jump-guide{font-size:12px;font-weight:650;margin:0 0 10px;text-shadow:0 1px 2px #ffffff}
.jump-hold{position:relative;width:100%;height:64px;overflow:hidden;border:2px solid #fff;border-radius:36px;background:#f7fffb;color:#386151;box-shadow:0 5px 0 #b1cec5,0 8px 20px rgba(120,159,147,0.1098);pointer-events:auto;isolation:isolate}
.jump-hold b{position:relative;z-index:2;font-size:17px;letter-spacing:.06em;pointer-events:none}.jump-charge-fill{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;background:#a8dcc6;transform:scaleX(0);transform-origin:left;pointer-events:none}
.jump-charge-target{position:absolute;top:6px;bottom:6px;width:4px;border-radius:3px;background:#498d77;opacity:.55;pointer-events:none}
.jump-hold.is-charging{box-shadow:0 2px 0 #9ec4b6;transform:translateY(3px)}.jump-hold.is-airborne{color:#77978a}.jump-tip{display:block;margin-top:11px;font-size:10px;color:#68897f}
.jump-modal{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;z-index:12;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(34,67,61,0.25098);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);touch-action:pan-y}
.jump-modal section{width:100%;width:min(100%,390px);max-height:calc(100% - 12px);overflow:auto;overscroll-behavior:contain;padding:26px 24px 21px;border:2px solid #fff;border-radius:28px;background:#fafffc;box-shadow:0 12px 50px rgba(55,88,71,0.18824);touch-action:pan-y;text-align:center}
.jump-modal h2{font-size:24px;margin:0 0 17px;color:#315b48}.jump-panel-body{font-size:13px;line-height:1.75;color:#617b6f}.jump-panel-body p{margin:8px 0 14px}.jump-panel-body details{text-align:left;border-top:1px solid #dbe9df;margin:15px 0 6px;padding:9px 0;font-size:11px}.jump-panel-body summary{min-height:30px;cursor:pointer;line-height:30px}
.jump-result-score b{font-size:55px;display:block;line-height:1.2;color:#3b7559}.jump-result-score span{font-size:12px}.jump-result-wallet{background:#e6f4ea;border:1px solid #d4e9d9;border-radius:15px;padding:13px;font-weight:750;color:#467654}
.jump-modal button{width:100%;border-radius:28px;padding:12px 16px;border:0;margin-top:10px}.jump-modal .jump-primary{background:#477c60;color:#fff;box-shadow:0 4px #315841;font-size:16px;font-weight:750}.jump-modal .jump-secondary{background:#edf4ee;color:#678371;font-size:13px}
.jump-modal button:active{transform:translateY(2px)}
.jump-card-icon{position:relative;width:44px;height:44px;border-radius:14px;background:#e4f1e8;flex:none;overflow:hidden}.jump-card-icon::before,.jump-card-icon::after{content:'';position:absolute;bottom:8px;width:15px;height:9px;border-radius:4px;background:#81b89e;box-shadow:0 3px #58977c}.jump-card-icon::before{left:5px}.jump-card-icon::after{right:4px;bottom:17px;background:#e3b8c3;box-shadow:0 3px #ba8998}.jump-card-icon i{position:absolute;left:9px;top:7px;width:22px;height:14px;border-top:2px dashed #769d89;border-radius:50%;transform:rotate(-25deg)}
@media(max-height:650px){.jump-top{top:calc(8px + 0px);top:calc(8px + env(safe-area-inset-top,0px))}.jump-scorebar{top:calc(66px + 0px);top:calc(66px + env(safe-area-inset-top,0px))}.jump-score{font-size:30px}.jump-combo{top:calc(101px + 0px);top:calc(101px + env(safe-area-inset-top,0px))}.jump-hold{height:55px}.jump-bottom{bottom:calc(12px + 0px);bottom:calc(12px + env(safe-area-inset-bottom,0px))}.jump-guide{margin-bottom:7px}.jump-tip{margin-top:8px}}
@media(orientation:landscape) and (max-height:600px){.jump-top{right:auto;width:235px}.jump-top b{font-size:14px}.jump-top small{font-size:10px}.jump-top{grid-gap:8px;gap:8px}.jump-top button{padding:0 12px}.jump-scorebar{top:14px;left:auto;right:22px;grid-gap:14px;gap:14px}.jump-combo{left:auto;right:25px;top:58px}.jump-bottom{left:auto;right:20px;width:270px;bottom:14px}.jump-hold{height:48px}.jump-hold b{font-size:14px}.jump-guide{font-size:10px}.jump-tip{display:none}.jump-modal section{padding:18px 24px}.jump-modal h2{font-size:20px;margin-bottom:9px}.jump-result-score b{font-size:35px}}
@media(prefers-reduced-motion:reduce){.jump-ui button{transition:none}.jump-hold.is-charging{transform:none}}

/* Compact game note: actions are outside the optional QR scrolling area. */
#sheetBackdrop.feedback-shell{align-items:center;justify-content:center;padding:calc(12px + 0px) 12px calc(12px + 0px) 12px;padding:calc(12px + env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));box-sizing:border-box;background:rgba(34,63,57,0.30196)}
#sheetBackdrop.feedback-shell .sheet{width:100%;max-width:340px;max-height:100%;min-height:0;margin:0;border:2px solid #fff;border-radius:24px;background:#fff;box-shadow:0 6px 0 rgba(41,76,67,0.12549),0 18px 46px rgba(22,54,45,0.18824);padding-bottom:0;animation:feedback-in .18s ease-out}
#sheetBackdrop.feedback-shell .sheet-handle{display:none}
#sheetBackdrop.feedback-shell .sheet-head{background:#fff;border-bottom:1px solid #edf1ee;padding:7px 12px;min-height:58px;flex:none}
#sheetBackdrop.feedback-shell .sheet-head h2{font-size:19px;color:#314f43}
#sheetBackdrop.feedback-shell .sheet-head #sheetEyebrow{display:none}
#sheetBackdrop.feedback-shell .sheet-content{padding:12px 16px;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.startup-feedback{display:flex;flex-direction:column;grid-gap:10px;gap:10px;min-height:0;color:#334d42;font-size:13px;line-height:1.6}
.feedback-body{flex:0 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:2px}
.feedback-letter{margin:0 0 10px;font-size:13px;line-height:1.7}
.feedback-code{border:1px solid #dce8e0;border-radius:14px;padding:8px;margin:0;background:#f5f9f6}
.feedback-code summary{display:flex;align-items:center;justify-content:center;grid-gap:14px;gap:14px;cursor:zoom-in;list-style:none;min-height:64px}
.feedback-code summary::-webkit-details-marker{display:none}
.feedback-code img{display:block;width:64px;height:64px;object-fit:contain;flex:none;background:#fff;border-radius:8px;-webkit-user-select:auto;user-select:auto;-webkit-touch-callout:default}
.feedback-code b{display:block;font-size:13px}
.feedback-code small{display:block;font-size:11px;color:#657b70;line-height:1.6;margin-top:4px}
.feedback-code[open] summary{flex-direction:column;grid-gap:6px;gap:6px;cursor:zoom-out;text-align:center}
.feedback-code[open] img{width:100%;width:min(100%,240px);height:auto;aspect-ratio:1}
.feedback-code[open] small{display:none}
.feedback-code p{font-size:11px;text-align:center;margin:6px 0 0;color:#657b70}
.feedback-actions{display:grid;grid-template-columns:repeat(2,min0);grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:9px;gap:9px;flex:none;padding:0 0 3px}
#sheetBackdrop.feedback-shell .feedback-actions .button{border-radius:999px;min-height:44px;min-width:0;padding:9px 8px;font-size:13px;line-height:1.3;white-space:nowrap;display:flex;align-items:center;justify-content:center;grid-gap:5px;gap:5px;margin:0;transition:transform .1s}
#sheetBackdrop.feedback-shell .feedback-actions .primary{background:#416d54;color:white;border:1px solid #375d47;box-shadow:0 3px 0 #294c39}
#sheetBackdrop.feedback-shell .feedback-actions .ghost{background:#f4f8f5;color:#41624f;border:1px solid #d8e4dc;box-shadow:0 2px 0 #e4ece6}
#sheetBackdrop.feedback-shell .feedback-actions .button:active{transform:translateY(2px);box-shadow:none}
.feedback-note{font-size:10px;line-height:1.5;text-align:center;color:#697e73;margin:0;flex:none}
.feedback-code summary:focus-visible,.feedback-actions .button:focus-visible{outline:3px solid #55896a;outline-offset:2px}
@keyframes feedback-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@media(max-height:560px){#sheetBackdrop.feedback-shell .sheet-content{padding:10px 13px}.startup-feedback{grid-gap:8px;gap:8px}.feedback-letter{margin-bottom:8px}.feedback-code summary{min-height:64px}.feedback-code img{width:64px;height:64px}}
@media(max-height:560px) and (orientation:landscape){#sheetBackdrop.feedback-shell .sheet{max-width:480px}.feedback-body{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;align-items:center}.feedback-letter{margin:0}.feedback-code summary{grid-gap:8px;gap:8px}.feedback-code[open]{grid-column:1/-1}}
@media(max-height:380px){#sheetBackdrop.feedback-shell .sheet-head{padding-top:2px;padding-bottom:2px;min-height:48px}#sheetBackdrop.feedback-shell .sheet-content{padding:6px 12px}.startup-feedback{grid-gap:6px;gap:6px}.feedback-letter{font-size:12px;line-height:1.5}.feedback-code{padding:5px}.feedback-code summary{min-height:48px}.feedback-code img{width:48px;height:48px}.feedback-code small{font-size:10px}.feedback-code b{font-size:12px}.feedback-note{display:none}}
@media(prefers-reduced-motion:reduce){#sheetBackdrop.feedback-shell .sheet{animation:none}#sheetBackdrop.feedback-shell .feedback-actions .button{transition:none}}

/* Shared small-screen contract. Game overlays don't depend on desktop page flow. */
.adventure-ui,.runner-ui,.jump-ui{--game-safe-top:0px;--game-safe-top:env(safe-area-inset-top,0px);--game-safe-bottom:0px;--game-safe-bottom:env(safe-area-inset-bottom,0px);--game-safe-left:0px;--game-safe-left:env(safe-area-inset-left,0px);--game-safe-right:0px;--game-safe-right:env(safe-area-inset-right,0px)}
.game-ui-surface{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;width:100%;height:100%;pointer-events:none;display:block}
.action-arena .battle-hud{display:block;grid-template-rows:none;padding:0;overflow:visible}
.action-arena .battle-hud .adventure-top{display:flex;flex-direction:row;align-items:center;height:36px}
.action-arena .battle-hud .adventure-top>b{flex:1;min-width:0;text-align:center}
.action-arena .battle-hud .duel-health{display:flex;flex-direction:row;align-items:stretch;padding:0}
.action-arena .battle-hud .duel-health>div{display:block;flex:1;min-width:0;position:relative;padding:6px 8px}
.action-arena .battle-hud .duel-health>div>small{position:absolute;left:8px;bottom:18px;font-size:12px;line-height:14px}
.action-arena .battle-hud .duel-health>div>strong{position:absolute;right:8px;bottom:18px;font-size:12px;line-height:14px;text-align:right}
.action-arena .battle-hud .duel-health>div>i{position:absolute;left:8px;right:8px;bottom:6px;height:7px}
.action-arena .battle-hud .pve-buff-strip,.action-arena .battle-hud .field-buff-strip{position:absolute;left:8px;top:4px;right:8px;height:20px;min-height:20px}
.action-arena .battle-hud .battle-status{height:26px;min-height:26px}

/* Shared web/native layout: the world remains playable all the way down. */
.runner-ui .runner-swipe{top:154px;right:0;bottom:0;left:0;inset:154px 0 0;touch-action:none}
.runner-ui .runner-options{bottom:calc(14px + 0px);bottom:calc(14px + env(safe-area-inset-bottom,0px));pointer-events:none}
.runner-ui .runner-options button{pointer-events:auto}
.pve-control-editor{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;z-index:24;pointer-events:none}
.control-edit-toolbar{position:absolute;box-sizing:border-box;padding:10px 12px;border-radius:14px;background:rgba(255,249,237,0.93725);color:#2c5146;pointer-events:auto}
.control-edit-toolbar>b{display:block;font-size:16px}
.control-edit-toolbar p{font-size:12px;line-height:16px;margin:4px 0}
.control-edit-size{display:flex;align-items:center;justify-content:space-between;grid-gap:8px;gap:8px;margin:4px 0}
.control-edit-size>button{width:44px;height:38px;min-height:38px;border-radius:10px;background:#dce9dc;color:#315e4d;font-size:23px}
.control-edit-size>strong{flex:1;font-size:13px;text-align:center}
.control-edit-hint{display:block;font-size:11px;line-height:14px;min-height:14px;color:#65795e}
.control-edit-actions{display:flex;grid-gap:6px;gap:6px;margin-top:6px}
.control-edit-actions>button{flex:1;min-height:38px;padding:6px 3px;font-size:12px;border-radius:9px;background:#e6e9dc;color:#365344}
.control-edit-actions>[data-control-edit=save]{background:#39705c;color:#fff9ec}
.control-edit-region{position:absolute;border:2px dashed #72987a;border-radius:18px;background:rgba(206,221,186,0.07451);box-sizing:border-box;pointer-events:none}
.control-edit-region>span{position:absolute;top:7px;left:10px;font-size:11px;color:#4b7056}
.editing-controls .arena-stick,.editing-controls .arena-skills>button{z-index:25}
.editing-controls .control-edit-selected{outline:3px solid #f2c261;outline-offset:3px}
.editing-controls .battle-status,.editing-controls .arena-cancel{visibility:hidden}
.editing-controls .arena-stick>span,.controls-custom .arena-stick>span{bottom:7px;font-size:10px;pointer-events:none}

.support-overlay{position:fixed;top:0;right:0;bottom:0;left:0;inset:0;z-index:260;display:flex;align-items:center;justify-content:center;padding:calc(12px + 0px) 16px calc(12px + 0px);padding:calc(12px + env(safe-area-inset-top,0px)) 16px calc(12px + env(safe-area-inset-bottom,0px));background:rgba(32,60,56,0.4);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);box-sizing:border-box}
.support-dialog{width:100%;width:min(100%,350px);max-height:100%;display:flex;flex-direction:column;background:#fff;border:1px solid #dce6df;border-radius:24px;color:#355044;overflow:hidden;box-shadow:0 14px 45px rgba(32,55,44,0.20784)}
.support-dialog header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;padding:8px 12px;border-bottom:1px solid #e7ede9;flex:none}
.support-dialog header button{height:44px;width:44px;display:grid;place-items:center;border-radius:50%;background:#eff5f0;color:#476c54}
.support-dialog header svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.support-dialog h2{font-size:17px;line-height:1.4;text-align:center;margin:0}
.support-content{overflow:auto;min-height:0;padding:15px 18px;text-align:center;overscroll-behavior:contain}
.support-copy{font-size:13px;line-height:1.8;margin:0 0 12px}
.support-qr{width:220px;width:min(220px,100%);height:auto;display:block;margin:auto;-webkit-user-select:auto;user-select:auto;-webkit-touch-callout:default}
.support-scan{font-size:12px;line-height:1.5;margin:10px 0;color:#617869}
.support-voluntary{display:block;font-size:11px;line-height:1.7;color:#6e8176}
.support-later{display:block;width:100%;min-height:44px;margin-top:14px;border-radius:999px;background:#476e53;color:#fff;font-size:14px}
.support-nudge{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;grid-gap:4px 10px;gap:4px 10px;padding:8px 10px;margin:12px 0 0;border:1px solid #dce7df;border-radius:16px;background:#f6faf7;color:#576e60;font-size:11px;line-height:1.4;animation:support-in .2s ease-out}
.support-nudge>span{flex-basis:100%;text-align:center}.support-nudge button{min-height:38px;font-size:12px;padding:5px 10px;border-radius:999px;background:#e5f0e8;color:#41684d}.support-nudge button:last-child{background:transparent;color:#6e8176}
.support-floating{position:fixed;z-index:140;bottom:calc(90px + 0px);bottom:calc(90px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);width:310px;width:min(310px,calc(100% - 32px));box-shadow:0 5px 20px rgba(32,55,44,0.12549)}
.support-overlay button:focus-visible,.support-nudge button:focus-visible{outline:3px solid #729c79;outline-offset:2px}.support-overlay button:active,.support-nudge button:active{filter:brightness(.95);transform:translateY(1px)}
@keyframes support-in{from{opacity:0}to{opacity:1}}
@media(max-height:560px){.support-qr{width:160px;width:min(160px,35vh)}.support-copy{font-size:12px;margin-bottom:8px}.support-content{padding:10px 16px}.support-scan{margin:8px 0}.support-later{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.support-nudge{animation:none}}

.focus-mode #app>:not(#stage):not(.focus-ui):not(#sheetBackdrop){display:none!important}
.focus-mode #app{padding-right:0!important}.focus-mode #stage{margin:0;height:100%;flex:1}.focus-mode #stage>:not(#scene){display:none!important}
.focus-ui{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;z-index:12;pointer-events:none;color:#334e43;padding:0px 0 0px;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)}
.focus-header{position:absolute;top:calc(12px + 0px);top:calc(12px + env(safe-area-inset-top,0px));left:14px;right:14px;display:flex;grid-gap:10px;gap:10px;align-items:center}
.focus-header>button{pointer-events:auto;min-height:44px;min-width:44px;border:1px solid #e2ebe3;border-radius:999px;background:rgba(255,255,255,0.92941);display:grid;place-items:center;color:#46664f;padding:8px 11px;box-shadow:0 2px 8px rgba(35,67,51,0.03922)}
.focus-header svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.focus-header>div{flex:1;min-width:0}.focus-header b{font-size:16px;display:block}.focus-header small{font-size:11px;display:block;color:#66806f;margin-top:4px}
.focus-header .focus-calm{font-size:11px;white-space:nowrap}.focus-header .focus-calm[aria-checked=true]{background:#e3efe7}
.focus-dock{pointer-events:auto;position:absolute;left:50%;bottom:calc(12px + 0px);bottom:calc(12px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:320px;width:min(320px,calc(100% - 30px));max-height:calc(100% - 100px);overflow:auto;padding:13px 17px 11px;border-radius:24px;background:rgba(255,255,255,0.92941);box-shadow:0 8px 28px rgba(45,79,56,0.12549);border:1px solid #ffffff;box-sizing:border-box;text-align:center}
.focus-status{font-size:12px;color:#607a69;margin:0 0 6px;line-height:1.6}.focus-time{display:flex;align-items:baseline;justify-content:center;grid-gap:10px;gap:10px}.focus-time b{font-size:43px;line-height:1.1;font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:1px}.focus-time>span{font-size:12px;color:#647f6c}
.focus-track{height:3px;overflow:hidden;background:#e5ede7;border-radius:9px;margin:11px 0}.focus-track i{display:block;width:100%;height:100%;background:#76a286;transform-origin:left;transform:scaleX(0)}
.focus-presets{display:flex;grid-gap:6px;gap:6px;margin:0 0 10px}.focus-presets button{flex:1;min-height:40px;font-size:12px;border:1px solid #dce7df;border-radius:999px;background:#f6faf6;color:#56735e}.focus-presets button[aria-pressed=true]{background:#dfede3;border-color:#b6ccbc;color:#385b43}
.focus-buttons{display:flex;grid-gap:8px;gap:8px}.focus-buttons button{flex:1;min-height:44px;border:1px solid #d4e2d8;border-radius:999px;background:#f4f8f4;color:#4c6d56;font-size:14px;padding:8px}.focus-buttons .focus-primary{background:#476e54;border-color:#476e54;color:white}
.focus-today{font-size:11px;color:#617b69;line-height:1.5;margin:9px 0 0}.focus-hint{font-size:10px;color:#718679;line-height:1.5;margin:4px 0 0}.focus-error{font-size:11px;color:#815d48;line-height:1.6;margin-top:8px}
.focus-ui button:active{transform:translateY(1px);filter:brightness(.97)}.focus-ui button:focus-visible{outline:3px solid #82ab8b;outline-offset:2px}
.focus-card-icon{height:44px;width:44px;display:grid;place-items:center;border-radius:15px;background:#e6efe8;color:#517b5d;flex:none}.focus-card-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media(max-height:620px){.focus-dock{padding:10px 14px}.focus-time b{font-size:34px}.focus-status{margin-bottom:3px}.focus-track{margin:8px 0}.focus-presets{margin-bottom:8px}.focus-today{margin-top:6px}}
@media(orientation:landscape) and (max-height:560px){.focus-header{right:14px;left:14px}.focus-header>div{flex:initial}.focus-header .focus-calm{margin-left:auto}.focus-dock{left:auto;right:16px;bottom:14px;transform:none;width:250px;max-height:calc(100% - 80px)}.focus-time b{font-size:30px}.focus-header small{display:none}.focus-status{font-size:11px}.focus-hint{display:none}}
@media(max-width:360px){.focus-header{grid-gap:7px;gap:7px;left:10px;right:10px}.focus-header b{font-size:14px}.focus-header small{font-size:10px}.focus-header .focus-calm{padding:7px;font-size:10px}}

.online-mode #app>:not(#stage):not(.online-ui):not(#sheetBackdrop){display:none!important}
.online-mode #app{padding:0!important;max-width:none;width:100%;height:100vh;height:100dvh}
.online-mode #stage{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;margin:0;height:100%;width:100%}
.online-mode #stage>:not(#scene){display:none!important}
.online-mode #sheetBackdrop:not([hidden]){z-index:95}
.online-ui{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;z-index:61;pointer-events:none;color:#29473d;font-size:13px;--duel-line:#cadbd1;--duel-green:#3f7561;--duel-paper:rgba(252,253,249,0.94902);--duel-bottom:calc(10px + 0px);--duel-bottom:calc(10px + env(safe-area-inset-bottom,0px));--duel-side:calc(12px + 0px);--duel-side:calc(12px + env(safe-area-inset-right,0px))}
.online-ui button,.online-ui input,.online-ui summary{pointer-events:auto;font:inherit}
.online-ui button{min-height:44px;padding:9px 15px;border:1px solid #c7d9cd;border-radius:999px;background:#f5f9f3;color:#365d49;line-height:1.3;box-shadow:0 2px 0 rgba(69,111,93,0.09804)}
.online-ui button:active:not(:disabled){transform:translateY(2px);box-shadow:none}
.online-ui button:disabled{opacity:.42;box-shadow:none;cursor:default}
.online-ui button:focus-visible,.online-ui input:focus-visible,.online-ui summary:focus-visible{outline:3px solid #629c86;outline-offset:2px}
.online-ui .online-primary{background:#3f7561;border-color:#356452;color:#fff}
.online-wide{width:100%;display:block;margin-top:9px}
.online-header{position:absolute;top:calc(8px + 0px);top:calc(8px + env(safe-area-inset-top,0px));left:calc(10px + 0px);left:calc(10px + env(safe-area-inset-left,0px));right:var(--duel-side);height:68px}
.online-back{position:absolute;left:0;top:2px;width:42px;min-height:42px!important;padding:9px!important;background:#fff!important;display:grid;place-items:center}
.online-back svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.online-hud{display:flex;justify-content:space-between;grid-gap:90px;gap:90px;margin-left:54px}
.online-health{width:26vw;width:max(160px, min(26vw, 260px));padding:8px 12px;border:1px solid rgba(255,255,255,0.92549);border-radius:15px;background:var(--duel-paper);box-shadow:0 3px 0 rgba(66,104,83,0.07843);min-width:0}
.online-health>div:first-child{display:flex;align-items:center;justify-content:space-between;grid-gap:8px;gap:8px;font-size:11px}
.online-health b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
.online-health span{white-space:nowrap}
.online-health-track{height:8px;margin:5px 0;border-radius:9px;background:#dce8df;overflow:hidden}
.online-health-track i{display:block;height:100%;background:#70a489;width:100%;transition:width .16s linear;border-radius:9px}
.opponent .online-health-track i{background:#82a8bb}
.online-health footer{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.online-health footer small{font-size:10px;color:#789284}
.online-round{position:absolute;left:50%;top:3px;transform:translateX(-35%);text-align:center;min-width:84px;text-shadow:0 1px 2px #fff}
.online-round b{font-size:12px;display:block;line-height:1.8}
.online-round span{display:inline-block;padding:4px 10px;border-radius:99px;background:rgba(255,255,255,0.94118);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:55px}
.online-round .urgent{background:#874e50;color:white;text-shadow:none}
.online-stage-caption{position:absolute;left:18px;top:88px;font-size:10px;letter-spacing:2px;color:#557c69;opacity:.8}
.online-dock{pointer-events:auto;position:absolute;right:var(--duel-side);bottom:var(--duel-bottom);width:39vw;width:max(280px, min(39vw, 338px));padding:10px;background:var(--duel-paper);border:1px solid #fff;border-radius:20px;box-shadow:0 6px 24px rgba(49,87,68,0.14118);max-height:calc(100% - 20px - 0px);max-height:calc(100% - 20px - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.online-moves{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:5px;gap:5px}
.online-moves button{border-radius:13px;min-height:56px;padding:6px 4px;text-align:center;background:#f0f5ef}
.online-moves b{font-size:12px;display:block;line-height:1.4}
.online-moves small{font-size:9px;display:block;line-height:1.35;color:#768d7d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.online-ui .chosen{border-color:#4c9072!important;box-shadow:inset 0 0 0 1px #4c9072;background:#e3efe6!important}
.online-ui .online-ultimate-ready{border-color:#a08dab;background:#eee8f1}
.online-order{display:flex;grid-gap:8px;gap:8px;align-items:center;justify-content:space-between;margin-top:8px;min-height:46px}
.online-order>div{min-width:0;padding:0 3px;flex:1}
.online-order b{font-size:11px;display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.online-order small{font-size:9px;color:#6f8376;line-height:1.45;display:block}
.online-order button{flex:none;min-width:65px;padding:10px 12px}
.online-energy{position:absolute;bottom:calc(var(--duel-bottom) + 24px);left:calc(18px + 0px);left:calc(18px + env(safe-area-inset-left,0px));width:25vw;width:max(172px, min(25vw, 240px));background:rgba(255,255,255,0.85098);border:1px solid rgba(255,255,255,0.94118);border-radius:15px;padding:10px 12px}
.online-energy:empty{display:none}
.online-energy>div:first-child{display:flex;justify-content:space-between;align-items:center;grid-gap:6px;gap:6px}
.online-energy>div:first-child>span{font-weight:700;font-size:12px}
.online-energy small{font-size:9px;color:#638271}
.online-energy>small{display:block;margin-top:5px;font-size:9px;line-height:1.5}
.online-energy>b{font-size:10px;letter-spacing:.3px;color:#637e93}
.online-energy-track{height:6px;background:#e2e7ed;border-radius:9px;margin:8px 0 4px;overflow:hidden}
.online-energy-track i{display:block;height:100%;width:0;background:#8f9dc4;transition:width .2s linear}
.online-network{position:absolute;left:calc(22px + 0px);left:calc(22px + env(safe-area-inset-left,0px));bottom:var(--duel-bottom);margin:0;font-size:10px;color:#557563}
.online-scene-tools{position:absolute;left:18px;bottom:calc(var(--duel-bottom) + 128px);display:flex;grid-gap:7px;gap:7px}
.online-scene-tools button{font-size:10px;min-height:32px;padding:5px 12px;background:rgba(255,255,255,0.74902)}
.online-error{position:absolute;left:50%;top:86px;transform:translateX(-50%);background:rgba(48,78,69,0.94118);color:white;border-radius:14px;padding:10px 16px;max-width:440px;max-width:min(440px,80%);width:max-content;font-size:12px;line-height:1.6;text-align:center;margin:0;z-index:20}
.online-lobby-title{text-align:center;margin-bottom:10px}
.online-lobby-title small{font-size:10px;letter-spacing:2px;color:#799588}
.online-lobby-title h2{font-size:25px;letter-spacing:2px;margin:4px 0}
.online-lobby-title p{font-size:11px;color:#728b7c;margin:4px 0}
.online-weapon-pick{display:flex;grid-gap:6px;gap:6px}
.online-weapon-pick button{flex:1;min-width:0;border-radius:14px;min-height:47px;padding:5px 4px;text-align:center}
.online-weapon-pick i{font-style:normal;margin-right:5px;font-size:19px;vertical-align:middle}
.online-weapon-pick b{font-size:10px;white-space:nowrap}
.online-weapon-pick [aria-pressed=true]{background:#dfeee3;border-color:#87af96}
.online-note{font-size:10px;line-height:1.5;text-align:center;color:#758b7d;margin:6px 0}
.online-name-label{font-size:10px;display:flex;grid-gap:9px;gap:9px;align-items:center;color:#6f8777}
.online-ui input{min-width:0;min-height:40px;box-sizing:border-box;border:1px solid #d3e1d5;border-radius:12px;padding:8px 12px;font-size:16px;background:white;color:#365442;outline-offset:1px}
.online-name-label input{flex:1;width:100%;min-height:36px;font-size:13px}
.online-invite{display:flex;grid-gap:7px;gap:7px;margin-top:9px}
.online-invite input{flex:1;width:0;font-size:13px;letter-spacing:1px}
.online-invite button{flex:none;font-size:12px;padding:8px 12px}
.online-home-secondary{display:flex;grid-gap:6px;gap:6px;margin-top:8px}
.online-home-secondary button{flex:1;font-size:11px;min-height:36px;background:transparent;box-shadow:none}
.online-rules{font-size:11px;color:#6d8576;margin-top:7px;border-top:1px solid #dbe6dd;padding-top:6px;line-height:1.7}
.online-rules summary{text-align:center;min-height:30px;cursor:pointer}
.online-room-code{display:flex;align-items:center;justify-content:space-between;grid-gap:8px;gap:8px;margin-bottom:9px}
.online-room-code>small{font-size:10px;max-width:32px;color:#7b8d80;line-height:1.5}
.online-room-code>b{font-size:23px;letter-spacing:3px;-webkit-user-select:text;user-select:text}
.online-room-code button{min-height:34px;font-size:10px;padding:6px 10px}
.online-player-list{display:grid;grid-gap:6px;gap:6px;margin-bottom:9px}
.online-player-card{display:flex;align-items:center;grid-gap:10px;gap:10px;padding:7px 9px;background:#edf4ee;border-radius:13px}
.online-avatar{height:32px;width:32px;flex:none;border-radius:12px;display:grid;place-items:center;background:#d5e7dd;font-size:23px;color:#5e907c}
.online-player-card b{font-size:12px;display:block}
.online-player-card small{display:block;font-size:9px;color:#738d7d;line-height:1.5}
.online-lobby-actions,.online-result-actions{display:flex;grid-gap:8px;gap:8px;margin-top:10px}
.online-lobby-actions button,.online-result-actions button{flex:1;font-size:12px}
.online-result{text-align:center;padding:6px 0}
.online-result small{font-size:11px;color:#789480;letter-spacing:1px}
.online-result h2{font-size:30px;letter-spacing:3px;margin:9px 0;color:#386b53}
.online-result p{font-size:11px;color:#718775;line-height:1.6;margin:8px 0}
.online-floats{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;pointer-events:none;overflow:hidden}
.online-floats span{position:absolute;font-size:21px;color:#fff;font-weight:850;white-space:nowrap;transform:translate(-50%,-50%);text-shadow:0 2px 0 #4a6759,1px 0 #4a6759,-1px 0 #4a6759}
.online-floats .heavy{font-size:28px;color:#f8f6ed}
.online-cinematic{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;grid-gap:18px;gap:18px;pointer-events:none;background:linear-gradient(transparent 20%,rgba(36,72,55,0.14902) 48%,transparent 80%);z-index:4}
.online-cinematic>div{color:white;font-weight:800;font-size:26px;text-align:center;text-shadow:0 3px 12px #264e3f;letter-spacing:2px;padding:15px;max-width:95%}
.online-cinematic em{font-size:17px;font-style:normal;margin:0 24px;opacity:.7}
.online-cinematic small{display:block;font-size:13px;font-weight:400;letter-spacing:0;margin-top:10px}
.online-cinematic button{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);min-height:36px;font-size:11px;pointer-events:auto}
.online-intro-dark{background:rgba(23,58,50,0.92157)}
.online-confirm{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;display:grid;place-items:center;background:rgba(39,76,60,0.46667);pointer-events:auto;z-index:50;padding:16px}
.online-confirm>section{width:340px;width:min(340px,95%);background:white;border:1px solid #dfebe0;border-radius:25px;padding:23px;text-align:center}
.online-confirm h3{font-size:19px;margin:0 0 12px}
.online-confirm p{font-size:12px;color:#728778;margin-bottom:20px}
.online-confirm>section>div{display:flex;grid-gap:10px;gap:10px}
.online-confirm button{flex:1}
.online-rotate{display:none;pointer-events:auto}
.online-ui[data-phase=home] .online-stage-caption{top:28px;left:70px;font-size:13px}
.online-ui[data-phase=home] .online-dock,.online-ui[data-phase=lobby] .online-dock{width:340px;width:min(340px,44vw);top:50%;bottom:auto;transform:translateY(-50%);padding:14px}
.online-ui[data-phase=home] .online-scene-tools{bottom:50px}
.online-ui[data-phase=lobby] .online-hud{visibility:hidden}
.online-ui[data-phase=lobby] .online-round{left:85px;top:10px;transform:none}
.online-ui[data-phase=lobby] .online-energy{display:none}
.online-ui[data-phase=done] .online-dock{bottom:calc(var(--duel-bottom) + 18px)}
.online-mode-entry{background:#edf4ef!important}
.online-mode-icon{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:#dceae2;color:#507761;font-size:25px;flex:none}
@media(max-height:360px) and (orientation:landscape){.online-header{top:5px;height:60px}.online-health{padding:5px 9px}.online-health-track{margin:4px 0;height:6px}.online-stage-caption{top:74px}.online-dock{padding:8px;border-radius:17px}.online-moves button{min-height:52px}.online-order{margin-top:6px;min-height:44px}.online-order small{font-size:8px}.online-energy{padding:8px 10px}.online-scene-tools{bottom:calc(var(--duel-bottom) + 122px)}.online-ui[data-phase=home] .online-dock,.online-ui[data-phase=lobby] .online-dock{padding:10px}.online-lobby-title h2{font-size:22px}.online-lobby-title{margin-bottom:6px}.online-player-card{padding:5px 8px}.online-lobby-actions{margin-top:6px}}
@media(max-width:700px) and (orientation:landscape){.online-health{width:190px}.online-hud{grid-gap:82px;gap:82px}.online-round{left:53%;min-width:75px}.online-round b{font-size:10px}.online-round span{font-size:11px}.online-energy{width:178px}.online-dock{width:280px}.online-stage-caption{font-size:9px}.online-scene-tools button{min-height:30px}}
@media(prefers-reduced-motion:reduce){.online-health-track i,.online-energy-track i{transition:none}}

.online-access-overlay{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;z-index:210;display:grid;place-items:center;padding:20px;background:rgba(38,61,52,0.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#344d40}.online-access-overlay section{position:relative;width:340px;width:min(340px,100%);padding:58px 22px 24px;border:1px solid #dce7df;border-radius:25px;background:#fcfdfb;box-shadow:0 12px 38px rgba(36,62,53,0.13333);text-align:center}.online-access-overlay h2{font-size:21px;margin:0 0 12px}.online-access-overlay p{font-size:14px;line-height:1.7;color:#708274;margin:10px 0 20px}.online-access-overlay button{min-height:46px;padding:10px 18px;border-radius:999px;background:#edf4ee;color:#456552;font:inherit;font-size:14px}.online-access-overlay .online-access-back{position:absolute;left:14px;top:12px;width:44px;padding:0;font-size:25px}.online-access-actions{display:flex;grid-gap:10px;gap:10px}.online-access-actions button{flex:1}.online-access-overlay .online-access-primary{background:#456f5d;color:#fff}.online-access-overlay label{display:block;font-size:13px;text-align:left;margin-bottom:8px}.online-access-overlay input{width:100%;min-height:48px;border:1px solid #b9cebf;border-radius:14px;padding:10px 12px;font:inherit;font-size:16px;background:white;color:#344d40}.online-access-overlay input[aria-invalid=true]{border-color:#b77568}.online-access-overlay form>button{width:100%}.online-access-overlay #online-access-error{font-size:12px;min-height:20px;color:#9b5e52;margin:8px 0}.online-access-overlay button:focus-visible,.online-access-overlay input:focus-visible{outline:3px solid #84aa91;outline-offset:2px}

.online-access-overlay button:disabled{opacity:.5;cursor:wait}.online-access-overlay .online-access-message{min-height:48px}.online-access-overlay input[readonly]{opacity:.7}

.online-weapon-icon{width:23px;height:23px;object-fit:contain;vertical-align:middle}.online-weapon-pick .online-weapon-icon{width:27px;height:27px}.online-health .online-weapon-icon{width:18px;height:18px}.online-avatar img{width:100%;height:100%;object-fit:cover;border-radius:12px}

.online-ui[data-phase=intro] .online-hud,.online-ui[data-phase=intro] .online-round,.online-ui[data-phase=intro] .online-energy,.online-ui[data-phase=intro] .online-dock{visibility:hidden}
/* Lobby stays usable without fullscreen/orientation permissions. Battle rotates
   the canvas and HUD together; native browser hit-testing follows the transform. */
.online-mode #scene{width:100%!important;height:100%!important}
@media(orientation:portrait){
 .online-mode:not(.online-battle) .online-ui .online-dock{left:16px;right:16px;top:76px;bottom:auto;width:auto;transform:none;max-height:calc(100% - 132px);padding:16px;border-radius:24px}
 .online-mode:not(.online-battle) .online-hud,.online-mode:not(.online-battle) .online-energy,.online-mode:not(.online-battle) .online-stage-caption{display:none}
 .online-mode:not(.online-battle) .online-round{left:50%;transform:translateX(-50%)}
 .online-mode:not(.online-battle) .online-scene-tools{left:auto;right:16px;bottom:12px}
 .online-mode:not(.online-battle) .online-network{bottom:24px;left:16px}
 .online-mode:not(.online-battle) .online-error{top:12px;max-width:calc(100% - 100px)}
 .online-mode.online-battle #stage,.online-mode.online-battle .online-ui{
  position:absolute;top:auto;right:auto;bottom:auto;left:auto;inset:auto;left:100%;top:0;width:100vh;width:100dvh;height:100vw;max-width:none;max-height:none;
  transform-origin:0 0;transform:rotate(90deg);
 }
 .online-mode.online-battle .online-ui{--duel-bottom:10px;--duel-side:calc(12px + 0px);--duel-side:calc(12px + env(safe-area-inset-bottom,0px))}
 .online-battle .online-header{top:8px;left:calc(10px + 0px);left:calc(10px + env(safe-area-inset-top,0px))}
 .online-battle .online-health{width:26vh;width:max(160px, min(26dvh, 260px))}
 .online-battle .online-dock{width:39vh;width:max(280px, min(39dvh, 338px));max-height:calc(100% - 20px)}
 .online-battle .online-energy{width:200px}
}
@media(orientation:portrait) and (max-width:380px){
 .online-battle .online-header{top:5px;height:60px}.online-battle .online-health{padding:5px 9px}
 .online-battle .online-health-track{margin:4px 0;height:6px}.online-battle .online-stage-caption{top:74px}
 .online-battle .online-dock{padding:8px;border-radius:17px}.online-battle .online-moves button{min-height:52px}
 .online-battle .online-order{margin-top:6px;min-height:44px}.online-battle .online-order small{font-size:8px}
 .online-battle .online-energy{padding:8px 10px}.online-battle .online-scene-tools{bottom:calc(var(--duel-bottom) + 122px)}
}
@media(orientation:portrait) and (max-height:700px){
 .online-battle .online-health{width:190px}.online-battle .online-hud{grid-gap:82px;gap:82px}
 .online-battle .online-round{left:53%;min-width:75px}.online-battle .online-round b{font-size:10px}
 .online-battle .online-round span{font-size:11px}.online-battle .online-energy{width:178px}
 .online-battle .online-dock{width:280px}.online-battle .online-stage-caption{font-size:9px}
}
/* Cards live in a stable HUD layer. Selecting cards never recreates the meters. */
.online-ui .online-health,.online-ui .online-energy{animation:none!important;transform:none!important;transition:none!important}
.online-ui .online-health-track i,.online-ui .online-energy-track i{position:static;animation:none!important;transform:none!important;transition:width .18s ease-out}
.online-ui .online-health footer,.online-ui [data-energy-value]{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.online-deck-preview{margin:7px 0 10px;font-size:11px;border:1px solid #d5e2dc;border-radius:13px;background:#f6faf7}
.online-deck-preview summary{cursor:pointer;padding:9px 12px;min-height:36px;text-align:center}
.online-deck-preview>div{display:grid;grid-template-columns:repeat(2,min0);grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px;gap:6px;padding:0 7px 7px}
.online-deck-preview section{padding:8px;background:white;border:1px solid #d7e3db;border-radius:10px}
.online-deck-preview section>span{float:left;width:28px;margin-right:5px}.online-deck-preview svg,.online-card-art svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.online-deck-preview b{display:block;font-size:11px}.online-deck-preview small{display:block;font-size:9px;font-weight:400;color:#75887e;margin-top:2px}
.online-deck-preview p{clear:both;font-size:10px;line-height:1.6;margin:7px 0 0;color:#5c7768}
/* Illustrated, portrait cards form a single bottom-centred hand. */
.online-deck-preview .online-deck-thumb{position:relative;float:left;width:42px;height:63px;margin:0 7px 5px 0}
.online-deck-thumb img{width:100%;height:100%;object-fit:cover;border-radius:5px}
.online-deck-thumb i{position:absolute;right:2px;bottom:13px;width:20px;height:20px;background:#fffef1;border-radius:50%;padding:2px;color:#315b50}
.online-card-battle .online-dock{left:0;right:0;bottom:0;width:100%!important;height:var(--card-h,138px);max-height:none!important;padding:0!important;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible;transform:none;pointer-events:none}
.online-card-battle .online-energy{left:14px;bottom:82px;top:auto;width:calc(var(--hand-side,150px) - 26px)!important;padding:8px 10px!important;border-radius:13px;background:rgba(249,253,243,0.87451)}
.online-card-battle .online-energy>div:first-child>span{font-size:10px}.online-card-battle .online-energy .online-weapon-icon{width:18px;height:18px}
.online-card-battle .online-energy [data-card-buffs]{height:24px;line-height:1.4;font-size:9px}
.online-card-battle .online-energy-track{margin:5px 0 3px}
.online-card-battle .online-energy>b{font-size:9px;white-space:nowrap}
.online-card-battle .online-scene-tools{left:14px;bottom:10px;grid-gap:4px;gap:4px}
.online-card-battle .online-scene-tools button{padding:5px 8px;min-height:28px;font-size:9px}
.online-card-battle .online-network{left:16px;bottom:181px;font-size:9px;opacity:.7}
.online-card-battle .online-stage-caption{left:50%;top:78px;transform:translateX(-50%);font-size:10px;letter-spacing:1px;max-width:45%;text-align:center;background:rgba(255,255,255,0.70196);border-radius:99px;padding:3px 12px;white-space:nowrap}
.online-hand-meta{position:absolute;left:14px;bottom:44px;width:calc(var(--hand-side,150px) - 24px);display:flex;flex-direction:column;grid-gap:3px;gap:3px;align-items:flex-start;color:#365d48;text-shadow:0 1px 3px #fff;font-size:12px}
.online-hand-meta span{font-size:9px;color:#50715b;white-space:nowrap}
.online-hand{position:absolute;left:0;right:0;bottom:24px;height:var(--card-h,138px);pointer-events:none;isolation:isolate;transition:translate .28s ease, opacity .22s}
.online-ui .online-card{position:absolute;left:50%;bottom:0;width:var(--card-w,92px);height:var(--card-h,138px);min-height:0;max-width:none;padding:0;border:0!important;border-radius:8px;background:none!important;color:#244538;box-shadow:0 4px 8px rgba(32,61,60,0.4);overflow:visible;pointer-events:auto;transform-origin:50% 100%;transform:translate(calc(-50% + var(--fan-x,0px)),var(--fan-y,0px)) rotate(var(--fan-angle,0deg));z-index:var(--fan-z,1);transition:transform .17s ease, filter .17s, box-shadow .17s;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}
.online-card-face{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;width:100%;height:100%;object-fit:cover;border-radius:8px;pointer-events:none}
.online-card-cost{position:absolute;top:3.5%;left:3.8%;display:grid;place-items:center;width:19%;height:13%;font-style:normal;font-weight:900;font-size:13px;line-height:1;color:#23493c;text-shadow:0 1px #fff}
.online-card-type{position:absolute;right:6px;top:8px;padding:2px 4px;background:rgba(30,75,60,0.85882);color:white;border-radius:4px;font-size:8px;line-height:1.2;box-shadow:0 1px 2px rgba(20,63,71,0.2)}
.online-card[data-card-type=guard] .online-card-type{background:#345d84}
.online-card[data-card-type=tactic] .online-card-type{background:#725087}
.online-card-art{position:absolute;left:7px;top:57%;width:25px;height:25px;margin:0;padding:4px;color:#fff;background:rgba(36,75,73,0.90196);border:1px solid #f5fcda;border-radius:50%;box-shadow:0 2px 4px rgba(32,61,59,0.33333)}
.online-card[data-card-type=guard] .online-card-art{background:rgba(69,109,155,0.9098)}
.online-card[data-card-type=tactic] .online-card-art{background:rgba(121,90,145,0.92941)}
.online-card-lettering{position:absolute;left:4%;right:4%;bottom:6%;text-align:center;line-height:1.15;text-shadow:0 1px #fffef6}
.online-card-lettering b{display:block;font-size:10px;font-weight:850;white-space:nowrap;letter-spacing:-.15px}
.online-card-lettering small{display:block;margin-top:2px;font-size:8px;color:#506c53;white-space:nowrap}
.online-card-picked{display:none;position:absolute;right:-7px;top:-8px;width:22px;height:22px;background:#2e765d;border:2px solid white;border-radius:50%;color:white;font-size:12px;font-weight:800;line-height:18px;box-shadow:0 2px 4px rgba(36,75,70,0.33333)}
.online-ui .online-card[aria-pressed=true]{transform:translate(calc(-50% + var(--fan-x)),calc(var(--fan-y) - 10px)) rotate(calc(var(--fan-angle) * .45)) scale(1.03);z-index:50;box-shadow:0 0 0 2px #ecfff4,0 0 0 4px #5b997b,0 9px 16px rgba(21,57,41,0.33333)}
.online-card[aria-pressed=true] .online-card-picked{display:block}
.online-ui .online-card:active:not(:disabled){transform:translate(calc(-50% + var(--fan-x)),var(--fan-y)) rotate(var(--fan-angle));filter:brightness(1.08)}
.online-ui .online-card[aria-pressed=true]:active:not(:disabled){transform:translate(calc(-50% + var(--fan-x)),calc(var(--fan-y) - 10px)) rotate(calc(var(--fan-angle) * .45)) scale(1.03)}
.online-ui .online-card:disabled{opacity:.7;filter:saturate(.65);box-shadow:0 3px 7px rgba(30,62,56,0.2)}
.online-ui .online-card[aria-pressed=true]:disabled{opacity:.94;filter:none}
.online-card-command{position:absolute;right:14px;bottom:12px;width:calc(var(--hand-side,150px) - 12px);pointer-events:auto;display:flex;flex-direction:column;grid-gap:7px;gap:7px}
.online-card-detail{min-height:45px;max-height:79px;overflow-y:auto;overscroll-behavior:contain;border-radius:10px;background:rgba(251,255,241,0.92941);padding:8px 10px;border:1px solid #ffffff;font-size:10px;line-height:1.5;color:#52715f;box-shadow:0 3px 8px rgba(74,101,86,0.07843)}
.online-card-detail b{display:block;color:#2c513e;font-size:11px;margin-bottom:3px;line-height:1.4}.online-card-detail span{display:block;font-size:9px}
.online-card-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px}
.online-card-actions button{min-height:35px;min-width:0;font-size:10px;padding:7px 4px;background:rgba(251,255,247,0.92941)}
.online-card-actions [data-online=lock]{grid-column:1/-1;font-size:12px;min-height:40px;font-weight:750;box-shadow:0 3px 0 #234f3f}
.online-card-actions .chosen{background:#d9eadd;border-color:#658f75}
.online-card-connection{position:absolute;bottom:185px;right:14px;pointer-events:auto}
.online-card-connection button{background:#fff}
.online-card-battle[data-phase=reveal] .online-hand,.online-card-battle[data-phase=celebrate] .online-hand{translate:0 62px;opacity:.45;pointer-events:none}
.online-card-battle[data-phase=reveal] .online-card-command,.online-card-battle[data-phase=celebrate] .online-card-command{opacity:.55}
@keyframes online-deal{from{opacity:0;transform:translate(-50%,85px) rotate(0deg) scale(.76)}to{opacity:1;transform:translate(calc(-50% + var(--fan-x)),var(--fan-y)) rotate(var(--fan-angle))}}
.online-ui .online-card.card-deal:not([aria-pressed=true]){animation:online-deal .36s cubic-bezier(.18,.8,.26,1) backwards;animation-delay:var(--deal-delay,0ms)}
@media(hover:hover){.online-ui .online-card:hover:not(:disabled):not([aria-pressed=true]){transform:translate(calc(-50% + var(--fan-x)),calc(var(--fan-y) - 15px)) rotate(calc(var(--fan-angle) * .7));z-index:40;filter:brightness(1.05)}}
@media(max-height:360px) and (orientation:landscape){.online-card-battle .online-stage-caption{top:66px}.online-card-battle .online-energy{bottom:78px}.online-card-battle .online-network{bottom:176px}.online-card-detail{max-height:65px;padding:6px 8px}.online-card-command{grid-gap:5px;gap:5px}}
@media(orientation:portrait) and (max-width:360px){.online-card-battle .online-stage-caption{top:66px}.online-card-battle .online-energy{bottom:78px}.online-card-battle .online-network{bottom:176px}.online-card-detail{max-height:65px;padding:6px 8px}.online-card-command{grid-gap:5px;gap:5px}}
@media(prefers-reduced-motion:reduce){.online-ui .online-card.card-deal{animation:none}.online-ui .online-card,.online-hand{transition:none}.online-ui .online-health-track i,.online-ui .online-energy-track i{transition:none}}

.online-card-spine{position:absolute;left:8px;top:23%;writing-mode:vertical-rl;font-size:10px;font-weight:750;letter-spacing:1px;line-height:1.25;color:white;text-shadow:0 1px 2px #132e2b,1px 0 2px #132e2b;background:rgba(24,61,74,0.6);border-radius:4px;padding:3px 1px;pointer-events:none}
.online-card-battle[data-compact=true] .online-energy{bottom:174px;width:84px!important;padding:7px!important}
.online-card-battle[data-compact=true] .online-energy [data-mood],.online-card-battle[data-compact=true] .online-energy [data-card-buffs]{display:none}
.online-card-battle[data-compact=true] .online-energy>b{font-size:8px;letter-spacing:0}
.online-card-battle[data-compact=true] .online-energy .online-weapon-icon{width:15px;height:15px}
.online-card-battle[data-compact=true] .online-network{display:none}
.online-card-battle[data-compact=true] .online-hand-meta{bottom:79px;width:80px;font-size:10px}
.online-card-battle[data-compact=true] .online-hand-meta span{font-size:8px;white-space:normal;max-width:76px;line-height:1.5}
.online-card-battle[data-compact=true] .online-scene-tools{flex-direction:column;bottom:10px;grid-gap:4px;gap:4px}
.online-card-battle[data-compact=true] .online-scene-tools button{min-height:25px;padding:4px 7px;font-size:9px;width:64px}

/* Skill points share the fixed HP footer; opponent budget is private. */
.online-skill-points{display:inline-flex;align-items:center;grid-gap:5px;gap:5px;height:19px;min-width:109px;justify-content:flex-end;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.online-health .online-skill-points b{font-size:13px;color:#2f755b;min-width:25px;text-align:center}
.online-health .online-skill-points small{font-size:10px;color:#3c6654}
.online-point-pips{display:inline-flex;grid-gap:3px;gap:3px}
.online-point-pips i{width:8px;height:8px;border-radius:50%;background:#428d6c;border:1px solid #2d674f;box-shadow:inset 0 1px #c7f2d9;transition:background .15s}
.online-point-pips i.spent{background:#dbe3df;border-color:#a8b9b0;box-shadow:none}
.online-health .online-skill-points[data-empty=true] b{color:#ac344a}
.online-ui .online-card[data-cost-state=insufficient]:disabled{opacity:1;filter:none}
.online-card[data-cost-state=insufficient] .online-card-face{filter:saturate(.3) brightness(.86)}
.online-card[data-cost-state=insufficient] .online-card-cost{color:#b11e3e;background:#fff0f2;border:1.5px solid #c6425e;border-radius:50%;text-shadow:none;font-size:15px;box-shadow:0 1px 3px rgba(99,48,60,0.26667)}
.online-card-insufficient{display:none;position:absolute;left:30%;right:4%;top:5%;padding:2px 1px;border-radius:5px;background:#fff0f2;color:#a0223e;font-size:8px;font-weight:800;line-height:1.2}
.online-card[data-cost-state=insufficient] .online-card-insufficient{display:block}

.lobby-nightmare.lobby-difficulty{position:relative;isolation:isolate;min-height:104px;margin-top:7px;border:1px solid #b49453;border-bottom:4px solid #594324;border-radius:17px;background:linear-gradient(125deg,#262729 0%,#3d352a 55%,#53422b 100%);color:#f0d5a2;box-shadow:inset 0 1px 0 rgba(229,189,113,0.4),0 5px 12px rgba(49,41,31,0.12549);overflow:hidden}
.lobby-nightmare.lobby-difficulty::before{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;inset:5px;z-index:-1;border:1px solid rgba(166,137,79,0.4);border-radius:12px;pointer-events:none}
.lobby-nightmare.lobby-difficulty .lobby-threat{background:#201e1b;border:1px solid #b49153;color:#e8c279;font-size:24px;box-shadow:inset 0 0 12px rgba(181,145,55,0.14902)}
.lobby-nightmare.lobby-difficulty strong{color:#f7ddb1;letter-spacing:3px;font-size:22px}.lobby-nightmare.lobby-difficulty small{color:#ceb994;line-height:1.5}
.lobby-nightmare.lobby-difficulty>b{max-width:92px;white-space:normal;text-align:right;color:#dfbd7d;line-height:1.5}.lobby-nightmare.lobby-difficulty:disabled{opacity:.74;filter:none}
.lobby-nightmare.lobby-difficulty.is-selected{border-color:#e7c684;box-shadow:inset 0 0 0 2px rgba(202,165,99,0.4),0 5px 13px rgba(51,37,24,0.16863);background:linear-gradient(125deg,#262729,#625031)}
.lobby-nightmare.lobby-difficulty-switch{border-color:#af8d4f;background:#363127;color:#ebcd97}.lobby-nightmare.lobby-difficulty-switch em,.lobby-nightmare.lobby-difficulty-switch small{color:#d8c4a1}
.difficulty-banner[data-level="4"]{background:linear-gradient(120deg,#252629,#4b3d29);border-color:#b59352;color:#f1dcb5;box-shadow:0 8px 25px rgba(32,28,25,0.23137)}.difficulty-banner[data-level="4"] .difficulty-banner-title,.difficulty-banner[data-level="4"] .difficulty-banner-detail,.difficulty-banner[data-level="4"] .difficulty-banner-note{color:#ead1a7}
.action-arena.nightmare-arena .battle-hud .duel-health>.boss-health{border-color:#bb974f;background:rgba(43,41,35,0.9098);color:#ead8b7}.action-arena.nightmare-arena .enemy-name,.action-arena.nightmare-arena .enemy-hp{color:#6b4b28}.action-arena.nightmare-arena .boss-health .enemy-name,.action-arena.nightmare-arena .boss-health .enemy-hp{color:#edd3a4}.action-arena.nightmare-arena .battle-hud .duel-health>.boss-health i{background:#625848}.action-arena.nightmare-arena .battle-hud .duel-health>.boss-health i em{background:linear-gradient(90deg,#ae7941,#e0b768)}
.action-arena.nightmare-arena .boss-shielded i em{background:linear-gradient(90deg,#76613d,#af965e)}.action-arena.nightmare-arena .duel-warning{border-color:#a98b52;background:rgba(48,42,35,0.92941);color:#f0d4a3}.action-arena.nightmare-arena .duel-warning>i{background:#665338}
@media(max-width:380px){.lobby-nightmare.lobby-difficulty{grid-gap:8px;gap:8px;padding:13px 11px}.lobby-nightmare.lobby-difficulty .lobby-threat{min-width:36px;width:36px}.lobby-nightmare.lobby-difficulty>b{max-width:64px;font-size:10px}.lobby-nightmare.lobby-difficulty strong{font-size:20px}}

.action-arena.nightmare-arena .adventure-top>b{background:rgba(37,43,45,0.90196);color:#ead8b7;border:1px solid #786b4d;border-radius:8px;padding:4px 9px;font-size:12px;white-space:nowrap}

.action-arena.nightmare-arena .boss-health .field-buff-strip .buff-empty{color:#c4b691}

html.h5-portable,html.h5-portable body{width:100%;height:100%;overflow:hidden}html.h5-portable #app{height:100vh;height:var(--app-height,100vh);max-width:100%;overflow:hidden}.h5-portable .sheet{max-height:85vh;max-height:calc(var(--app-height,100vh) - 30px)}.h5-portable .sheet-content{overflow:auto;-webkit-overflow-scrolling:touch}.h5-portable img{max-width:100%}@supports not (padding-top:env(safe-area-inset-top)){:root,.adventure-ui,.runner-ui,.jump-ui{--safe:0px;--hud-safe-top:0px;--hud-safe-bottom:0px;--hud-safe-left:0px;--hud-safe-right:0px;--game-safe-top:0px;--game-safe-bottom:0px;--game-safe-left:0px;--game-safe-right:0px}.online-ui{--duel-bottom:10px;--duel-side:12px}}@supports not (aspect-ratio:1){.online-card{height:var(--card-h,135px)}.online-avatar{height:42px}.mode-art{height:auto}}
