:root{font-family:Malgun Gothic,Apple SD Gothic Neo,sans-serif;color:#253f39;background:#d9e7e3;font-synthesis:none;letter-spacing:0;font-weight:500}*{box-sizing:border-box;letter-spacing:0}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #efad27;outline-offset:3px}button svg{flex-shrink:0}h1,h2,h3,p{margin-top:0}h1{font-size:28px;line-height:1.25}h2{font-size:19px;margin:24px 0 10px}p{line-height:1.65}#app{max-width:480px;min-height:100dvh;margin:auto;background:#f7fbf6;box-shadow:0 0 70px #33584f25;padding-bottom:calc(76px + env(safe-area-inset-bottom))}.topbar{height:65px;padding:10px 14px;display:flex;align-items:center;gap:9px;border-bottom:1px solid #dce8d9;background:#f7fbf6;position:relative;z-index:2}.topbar strong{font-size:18px;white-space:nowrap}.brand-seal{display:grid;place-items:center;width:30px;height:34px;background:#c83944;color:#fff;border-radius:5px;font:23px serif}.wallet{display:flex;gap:5px;align-items:center;margin-left:auto;font-weight:800;font-size:16px;white-space:nowrap}.wallet svg{color:#b68a19}.wallet small{font-size:11px;color:#607467}.icon-button{border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:inherit;border-radius:8px;padding:8px}.icon-button:hover{background:#e5efe4}.profile-strip{display:flex;align-items:center;gap:10px;padding:15px 19px}.level-medallion{width:45px;height:45px;border:2px solid #d4ac52;background:#ffe7a0;color:#765117;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:50%;font-size:19px;font-weight:900}.level-medallion small{font-size:7px}.profile-copy{display:grid;gap:4px;flex:1}.profile-copy strong{font-size:13px}.profile-copy span{font-size:11px;color:#6a7d6e}.profile-copy progress{height:6px;width:100%;accent-color:#499368}.league-label{font-size:13px;text-align:right}.league-label small{display:block;font-size:10px;margin-top:4px;color:#6a7d6e}.lobby-scene{height:400px;background-size:cover;background-position:center 40%;position:relative;overflow:hidden}.scene-title{position:absolute;top:20px;width:100%;text-align:center}.scene-title span{color:#476c57;font-size:12px;font-weight:700}.scene-title h1{font-family:serif;font-weight:900;font-size:42px;color:#224e40;margin:6px 0;text-shadow:0 2px #fff8}.scene-title p{font-size:12px;color:#385745}.host-character{position:absolute;width:265px;height:265px;bottom:-11px;left:calc(50% - 132px);filter:drop-shadow(0 7px 5px #233e3933)}.speech{position:absolute;z-index:1;top:135px;left:20px;max-width:170px;padding:13px 16px;background:#fffef5;border-radius:8px;border:1px solid #b9c7a4;font-size:13px;line-height:1.6;box-shadow:0 4px #314e3110}.host-name{position:absolute;bottom:13px;right:13px;background:#225740e8;color:#e8f1d8;padding:9px 12px;font-size:10px;border-radius:5px}.host-name strong{display:block;font-size:14px;margin-top:3px}.lobby-actions{padding:20px;background:#f7fbf6}.button{display:inline-flex;gap:10px;align-items:center;justify-content:center;min-height:48px;border-radius:8px;border:1px solid transparent;padding:12px 18px;font-weight:800;font-size:15px;color:#263c33;transition:background .15s,transform .15s}.button:active{transform:translateY(1px)}.primary{background:#246d4d;color:#fff8e9;border-color:#155539;box-shadow:0 3px #154d39}.primary:hover{background:#2c805b}.blue{background:#356d9d;color:#fff;border-color:#285b88;box-shadow:0 3px #244d72}.red{background:#c7404a;color:#fff;border-color:#9f303d;box-shadow:0 3px #922d3b}.light{background:#eaf1e5;color:#39543e;border-color:#c9d7c1}.wide{width:100%}.journey{width:100%;justify-content:space-between;text-align:left;min-height:78px;font-size:23px}.journey small{display:block;font-size:11px;font-weight:500;opacity:.8;margin-bottom:6px}.two-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}.lobby-links{display:flex;justify-content:space-between;flex-wrap:wrap;margin-top:13px}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:none;border:none;min-height:44px;padding:8px 3px;color:#426b53;font-size:12px;text-decoration:underline;text-underline-offset:4px}.text-button svg{width:16px}.bottom-nav{height:70px;position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(480px,100%);background:#fdfef8f5;backdrop-filter:blur(9px);border-top:1px solid #d4e0ce;display:flex;z-index:5;padding-bottom:env(safe-area-inset-bottom)}.nav-item{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:0;background:transparent;color:#849584;font-size:11px;min-height:54px}.nav-item.active{color:#236649;font-weight:800}.panel-page,.stage-detail,.result-page{padding:28px 24px}.eyebrow{display:block;color:#78925f;font-size:12px;margin-bottom:9px;font-weight:700}.region-heading{text-align:center;padding:23px 20px 8px}.region-heading span{font-size:11px;color:#668064}.region-heading h1{margin:6px 0;font-size:28px}.region-heading p{font-size:12px;color:#70866d;margin-bottom:10px}.region-tabs{display:flex;gap:5px;padding:5px 14px 17px;overflow-x:auto}.region-tab{flex:0 0 44px;min-width:44px;min-height:44px;border:1px solid #d4dfcc;border-radius:6px;background:transparent;color:#789178}.region-tab.selected{background:#2b7355;color:#fff;border-color:#2b7355}.stage-map{padding:22px 15px;background-size:cover}.stage-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:23px 9px}.stage-node{min-width:0;min-height:80px;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;color:#547159}.stage-node>span{width:42px;height:42px;display:grid;place-items:center;background:#fafff0;border:2px solid #a0bf8e;border-radius:50%;box-shadow:0 4px #9bbd8560;margin-bottom:6px}.stage-node strong{font-size:13px}.stage-node small{font-size:9px;min-height:13px;color:#b38a27}.stage-node.locked{opacity:.55}.stage-node.locked>span{background:#d7e1d4;border-color:#bcc9b7}.stage-node.available>span{background:#ce4550;border-color:#b52f3c;color:#fff;box-shadow:0 4px #95293940}.stage-node.cleared>span{background:#44845b;color:#fff}.stage-node.boss>span{border-color:#c29b4b;border-radius:8px}.rival-portraits{display:flex;justify-content:center;gap:15px;margin:20px 0}.rival-portraits figure{margin:0;text-align:center;font-size:14px}.rival-portraits img{width:140px;max-width:100%;display:block}.facts{margin:20px 0}.facts>div{display:flex;gap:14px;justify-content:space-between;align-items:center;border-bottom:1px solid #e0e8da;padding:12px 0;font-size:13px}.facts dt{color:#6c806b}.facts dd{margin:0;text-align:right;font-weight:700;overflow-wrap:anywhere}.free-character{text-align:center}.free-character img{display:block;width:180px;margin:auto}.free-character strong{display:block;margin-bottom:20px}.panel-page label{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;margin:20px 0 10px}.segmented{display:flex;background:#e6eee0;border:1px solid #cddbc3;border-radius:7px;padding:4px}.segmented button{flex:1;min-height:44px;border:0;background:none;color:#66845e;border-radius:4px}.segmented .selected{background:#fffef6;color:#2c6948;box-shadow:0 2px 4px #28422117;font-weight:800}select{width:100%;min-height:46px;border:1px solid #c8d8c0;border-radius:6px;background:#fffdf8;padding:8px 12px;color:#32523c}input[type=range]{width:100%;accent-color:#327c55;min-height:28px}input[type=checkbox]{width:22px;height:22px;accent-color:#327c55}.muted{color:#7a8b77;font-size:12px;margin-top:20px}.small{font-size:11px}.toggle{border-bottom:1px solid #e0e8da;padding:13px 0}.setting-links{margin-top:25px}.recovery>img{width:160px;display:block;margin:0 auto 15px}.recovery{text-align:center}.recovery h1{font-size:26px}.recovery p{font-size:13px}.notice{background:#f7ebc6;border-left:3px solid #c79d3f;padding:12px;font-size:12px;color:#786338;margin:16px 0}.error-banner{position:relative;background:#ffe2e2;border:1px solid #cc6262;color:#8b2530;padding:15px;font-size:13px;z-index:9}.battle-meta{display:flex;justify-content:space-between;gap:6px;font-size:10px;background:#e4eee0;padding:9px 12px;color:#53754f}.rivals{display:flex;padding:10px 12px 4px;gap:8px}.rival{display:flex;align-items:center;flex:1;min-width:0;border-bottom:3px solid transparent;padding-bottom:4px}.rival.turn{border-color:#d4a63f}.rival img{width:52px;height:55px;object-fit:cover}.rival>div{display:flex;flex-direction:column;gap:3px;min-width:0}.rival strong{font-size:12px}.rival span{font-size:12px;color:#537658}.rival small{font-size:9px;color:#8b9687;white-space:nowrap}.hidden-hand{display:flex;height:25px;padding-left:5px;overflow:hidden}.hidden-hand img{width:17px;height:24px;margin-left:-5px;border-radius:2px;flex:0 0 17px}.tutorial-hint{width:100%;margin:4px 0}.battle-speech{font-size:11px;color:#7c896d;text-align:center;min-height:28px;padding:3px 8px 7px}#table{width:100%;background:#177154}#table canvas{display:block;margin:0!important;width:100%!important;height:auto!important}.turn-status{min-height:42px;display:flex;align-items:center;justify-content:center;gap:8px;background:#e5ede0;color:#7d8c70;font-size:12px}.turn-status.my-turn{background:#f8edc6;color:#876624}.capture-summary{width:100%;display:flex;gap:8px;justify-content:space-between;align-items:center;min-height:48px;padding:10px 16px;border:0;border-bottom:1px solid #dee7d6;background:#f7fbf6;color:#546e4c}.capture-summary strong{font-size:13px;white-space:nowrap}.capture-summary b{color:#b4483e;font-size:19px;margin-left:6px}.capture-summary span{font-size:10px}.capture-summary svg{width:16px}.hand-label{display:flex;justify-content:space-between;font-size:11px;padding:10px 15px 8px;color:#7c886d}.hand-label strong{color:#50683e}.hand{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:0 14px 12px;min-height:125px}.playing-card{min-width:0;border:0;background:none;padding:0;display:block;position:relative;aspect-ratio:80/124;max-height:125px;border-radius:5px;box-shadow:0 2px 4px #302c2920}.playing-card img{display:block;width:100%;height:100%;object-fit:contain}.hand.playable .playing-card:hover .card-face,.hand.playable .playing-card:focus-visible .card-face{transform:translateY(-5px);filter:drop-shadow(0 0 3px #e6ad34)}.decisions{display:flex;gap:9px;justify-content:center;padding:10px 15px;flex-wrap:wrap}.decisions .button{flex:1;white-space:nowrap}.decisions .red,.decisions .blue{font-size:22px;min-height:54px}.choice-strip{padding:10px 15px;background:#f9edc6}.choice-strip>strong{font-size:12px}.choice-strip>div{display:flex;gap:15px;justify-content:center;margin-top:10px}.choice-button{width:53px;padding:0;border:0;background:transparent}.choice-button .playing-card{pointer-events:none}.battle-footer{display:flex;justify-content:space-between;gap:10px;padding:0 14px 5px;flex-wrap:wrap}.coach{background:#fff2cd;padding:10px 15px;font-size:12px;border-bottom:1px solid #e4ce83}.coach p{margin:5px 0 0}.coach .text-button{min-height:28px;margin-right:15px}.result-page{text-align:center}.result-medal{display:grid;place-items:center;width:78px;height:78px;margin:10px auto 20px;border:2px solid #d5b661;border-radius:50%;background:#fff0ad;color:#a57c27}.result-medal svg{width:40px;height:40px}.result-page h1{font-size:27px}.result-page>p{font-size:12px;color:#7b8e72}.result-gold{font-size:38px;color:#32875b;font-weight:900;margin:22px 0}.result-gold.loss{color:#b85757}.result-gold small{font-size:16px;margin-left:6px}.result-actions{display:grid;gap:12px;margin-top:25px}.settlement-details{text-align:left;border-top:1px solid #d9e5d1;padding:15px 0;font-size:12px}.settlement-details summary{cursor:pointer;font-weight:700;min-height:35px}.settlement-details p{overflow-wrap:anywhere}.help p{font-size:14px}.help h2{color:#296947}dialog{width:min(440px,calc(100% - 24px));max-height:85dvh;border:1px solid #abc09a;border-radius:8px;padding:20px;background:#fafff5;color:#345238;box-shadow:0 20px 100px #102b3850}dialog::backdrop{background:#153c426b}.modal-heading{display:flex;align-items:center;justify-content:space-between}.modal-heading h2{margin:0;font-size:19px}.capture-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.capture-grid img{width:100%}.card-inspect{width:160px;display:block;margin:20px auto}.large-cards .hand{grid-template-columns:repeat(4,minmax(0,1fr))}.large-cards .playing-card{max-height:145px}@media(max-width:360px){.topbar{padding:8px;gap:4px}.topbar strong{font-size:15px}.wallet{font-size:14px}.lobby-scene{height:355px}.scene-title h1{font-size:36px}.host-character{width:240px;height:240px;left:calc(50% - 120px)}.speech{top:117px;left:12px;max-width:145px;font-size:11px}.panel-page,.stage-detail,.result-page{padding:23px 17px}.hand{gap:5px;padding:0 10px 10px}.rival img{width:40px}.rival strong{font-size:11px}.rival small{font-size:8px}.stage-grid{gap:17px 4px}.two-actions .button{padding:12px 10px;font-size:13px}.capture-summary{padding:10px}.capture-summary span{font-size:9px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}:root{color:#263c35;background:#164d47}body{background:#164d47 url(../assets/batch03/lobby.webp) center/cover fixed}#app{max-width:540px;background:#f5f7ef;box-shadow:0 0 60px #09241d55}.topbar{background:#fffdf4;border-bottom:2px solid #c7ac72}.topbar strong{font-family:serif}.profile-strip{background:#f4f7ef;border-bottom:1px solid #d2decf}.brand-seal{background:#aa2826;border:1px solid #e1b76b}.npc-art{display:block;width:180px;aspect-ratio:.496;background-size:500% 100%;background-repeat:no-repeat;flex-shrink:0}.lobby-scene{height:390px;background-position:center}.scene-title{z-index:2;top:17px;text-shadow:0 2px 2px #fff,0 0 20px #fff}.scene-title h1{color:#9d241e;font-size:44px;text-shadow:0 2px #fff7dc,0 3px 2px #38221155;margin:3px 0}.scene-title span,.scene-title p{color:#183c34;font-weight:800}.lobby-scene .host-character{width:204px;height:auto;position:absolute;bottom:-71px;left:calc(50% - 105px);transform:none}.speech{top:120px;left:auto;right:10px;width:140px;max-width:none;padding:8px 10px;border:1px solid #c6a96c;background:#fffdf0f5;font-size:11px;z-index:3}.host-name{z-index:3;bottom:12px;background:#173e37ee;color:#fff3cc;border:1px solid #d6b569;padding:8px 20px;border-radius:4px}.lobby-actions{padding:16px;background:#f9fbf2}.button{border-radius:6px;border:0;min-height:52px;padding:13px 25px;background-image:url(../assets/batch03/skin.webp);background-size:100% 400%;background-position:0 66.6667%;color:#3d382c;box-shadow:0 3px #55382c30;text-shadow:0 1px #fff7;transition:filter .15s,transform .15s}.button.primary,.button.red{background-image:url(../assets/batch03/skin.webp);background-size:100% 400%;background-position:0 0;background-color:#b32123;color:#fff8db;text-shadow:0 2px #76190e}.button.blue{background-image:url(../assets/batch03/skin.webp);background-size:100% 400%;background-position:0 33.3333%;background-color:#153f8d;color:#fff7d9;text-shadow:0 2px #132954}.button.light{background-image:url(../assets/batch03/skin.webp);background-size:100% 400%;background-position:0 66.6667%}.button:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.button:active:not(:disabled){transform:translateY(2px)}.button.journey{min-height:77px;font-size:23px}.journey small{color:#ffebbd}.text-button{color:#32594d}.bottom-nav{background:#fffdf5;border-top:2px solid #cdb27c;max-width:540px}.nav-item.active{color:#aa2d28;background:#f7ead4}.region-heading{padding-top:18px}.region-tabs{justify-content:flex-start}.stage-map{background-position:center;padding:28px 14px;position:relative}.stage-grid{gap:25px 8px;position:relative}.stage-node{min-height:84px;position:relative;color:#17372c;opacity:1}.stage-node{grid-row:var(--mrow);grid-column:var(--mcol)}.stage-node:after{content:"";position:absolute;top:22px;left:65%;width:70%;height:6px;background:#f3dc9cc9;z-index:0;box-shadow:0 1px 2px #30482855}.stage-node:nth-child(10n+6):after,.stage-node:nth-child(10n+7):after,.stage-node:nth-child(10n+8):after,.stage-node:nth-child(10n+9):after{left:-35%}.stage-node:nth-child(5n):before{content:"";position:absolute;top:35px;left:calc(50% - 3px);width:6px;height:100px;background:#f3dc9cc9}.stage-node:last-child:before{display:none}.stage-node.checkpoint>span{outline:2px solid #fff7d7;outline-offset:3px}.stage-node:nth-child(5n):after{display:none}.stage-node>span{width:46px;height:46px;z-index:1;border:3px solid #e7c47a;box-shadow:0 3px #6f512d;background:#f8f4df}.stage-node strong{position:relative;z-index:1;border-radius:3px;background:#fff9e9f2;min-width:30px;padding:2px 5px;font-size:13px}.stage-node small{position:relative;z-index:1;color:#5b381c;background:#fff9e9e8;padding:1px 3px}.stage-node.locked{opacity:1}.stage-node.locked>span{color:#718074;background:#d6ddd4;border-color:#b9b68f}.stage-node.available>span{color:#fff;background:#c2312a;border-color:#ffdd8a;box-shadow:0 3px #7b291f,0 0 0 5px #fff7d477}.rival-portraits .npc-art{width:128px;margin-top:-18px}.free-character .npc-art{width:135px;margin:-24px auto -12px}.recovery-host{width:135px;margin:-30px auto -15px}.panel-page,.stage-detail{background:#f7faf3}.card-face{display:block;position:relative;width:100%;aspect-ratio:512 / 832;background-size:400% 100%;background-repeat:no-repeat;border-radius:3px;overflow:hidden;box-shadow:0 2px 3px #10292055}.card-month,.card-kind{position:absolute;z-index:1;font-weight:900;line-height:1.1;border-radius:2px;pointer-events:none}.card-month{left:3px;top:3px;font-size:11px;color:#34251e;background:#fff8e5eb;padding:2px}.card-kind{right:2px;bottom:3px;font-size:9px;padding:2px;background:#172f2de8;color:#fff}.kind-GWANG{background:#b8222b;color:#fff3a8}.card-inspect{width:186px;margin:10px auto}.card-inspect .card-month{font-size:23px}.card-inspect .card-kind{font-size:19px}.capture-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.battle-layout{display:flex;flex-direction:column}.table-lane,.score-lane{min-width:0;display:contents}#rivals{order:1}#coach{order:2}#table{order:3}#floor-choices{order:4}#battle-status{order:5}#hand-area{order:7}#capture-summary{order:8}.hand:not(.playable) .playing-card{filter:brightness(.8) saturate(.7)}.hand.playable .playing-card{outline:1px solid #759e69;outline-offset:1px}.hand.playable .playing-card.matching{outline:2px solid #d19f38;outline-offset:2px}.rivals{padding:4px 10px 0}.rival{min-height:83px;padding:0}.rival .npc-art{width:68px;height:97px;background-size:500% 140%;background-position-y:25%!important}.rival strong{color:#253f34}.rival span{color:#3d5d50}.rival small{color:#5d705e}.rival.turn{border-bottom:3px solid #c89d3a;background:#f9ebc855}.battle-speech{margin:0 14px 5px;padding:5px;background:#fffdf2;color:#654a2c;border:1px solid #d7c796;border-radius:4px;font-size:11px}#table{background:#126246 url(../assets/batch03/table.webp) center/100% 100%;min-height:246px}.battle-meta{background:#244f44;color:#f5ecca}.hand{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;padding:0 14px 12px;justify-items:center;min-height:0}.playing-card{width:100%;aspect-ratio:512 / 832;max-width:68px;max-height:none;border-radius:3px}.playing-card .card-face{height:100%}.large-cards .playing-card{max-width:90px;max-height:none}.hand-label{padding:8px 14px}.turn-status{min-height:36px}.turn-status.my-turn{background:#f9e5a9;color:#593c10}.capture-preview{display:none}.score-lane{flex-direction:column}#decision{order:6}.decisions{padding:8px 14px}.decisions:empty{padding:0}.decisions .button{padding:12px 20px;white-space:normal}#battle-log{display:none}.battle-footer{padding:6px 14px;background:#eff4e9}.battle-footer .text-button{min-height:44px}#app[data-view=battle]{padding-bottom:env(safe-area-inset-bottom)}.choice-strip{border:2px solid #d6a83f}.choice-button{width:60px;min-width:44px}.coach{border-left:4px solid #c99838}.result-page{position:relative;overflow:hidden}.result-character{width:120px;margin:-22px auto -42px}.result-medal{width:54px;height:54px;position:relative;margin:0 auto 10px}.result-medal svg{width:29px;height:29px}.result-gold{animation:reward-enter .5s ease-out}.victory h1{color:#a42823}.result-page>p{color:#53694c}@keyframes reward-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media(min-width:1000px)and (orientation:landscape){#app{max-width:1760px;width:100%;padding-bottom:70px;position:relative}.topbar{height:68px;padding:10px 34px}.topbar strong{font-size:24px}.wallet{font-size:20px}.profile-strip{padding:12px 40px;max-width:none;height:76px}.profile-copy{max-width:320px}.league-label{margin-left:auto}.bottom-nav{max-width:1760px;height:64px;width:100%;justify-content:center;gap:60px}.nav-item{flex:0 0 150px;flex-direction:row;gap:10px;font-size:14px;border-radius:0}.lobby-scene{height:calc(100dvh - 208px);min-height:530px;max-height:850px;background-position:center}.scene-title{width:440px;right:8%;top:55px}.scene-title h1{font-size:64px;margin:7px 0}.scene-title span{font-size:17px}.scene-title p{font-size:16px}.lobby-scene .host-character{width:340px;left:16%;bottom:-55px}.host-name{left:calc(16% + 170px);bottom:22px;width:250px}.speech{width:240px;left:10%;right:auto;top:35px;font-size:16px;padding:17px 20px}#app[data-view=lobby] .lobby-actions{position:absolute;top:365px;right:8%;width:440px;background:transparent;padding:0 12px}.lobby-links{background:#fffdf0ef;padding:10px;border:1px solid #d9c187;border-radius:5px;margin-top:16px}.lobby-actions .journey{height:94px;font-size:28px}.lobby-actions .two-actions{margin-top:14px;gap:14px}.lobby-actions .two-actions .button{height:68px;font-size:18px}.region-heading{text-align:left;padding:25px 48px 0}.region-heading h1{font-size:34px}.region-tabs{position:absolute;top:103px;right:40px;gap:9px;padding:0}.stage-map{min-height:650px;background-position:center;padding:48px 70px}.stage-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:22px 14px}.stage-node{min-height:89px;grid-row:var(--drow);grid-column:var(--dcol)}.stage-node:nth-child(n):after{left:65%}.stage-node:nth-child(20n+11):after,.stage-node:nth-child(20n+12):after,.stage-node:nth-child(20n+13):after,.stage-node:nth-child(20n+14):after,.stage-node:nth-child(20n+15):after,.stage-node:nth-child(20n+16):after,.stage-node:nth-child(20n+17):after,.stage-node:nth-child(20n+18):after,.stage-node:nth-child(20n+19):after{left:-35%}.stage-node:nth-child(5n):before{display:none}.stage-node:nth-child(10n):not(:last-child):before{display:block}.stage-node:nth-child(5n):after{display:block}.stage-node:nth-child(10n):after{display:none}.stage-node>span{width:50px;height:50px}.stage-node:nth-child(20n+11),.stage-node:nth-child(20n+12),.stage-node:nth-child(20n+13),.stage-node:nth-child(20n+14),.stage-node:nth-child(20n+15),.stage-node:nth-child(20n+16),.stage-node:nth-child(20n+17),.stage-node:nth-child(20n+18),.stage-node:nth-child(20n+19),.stage-node:nth-child(20n+20){transform:translate(20px)}#app[data-view=battle]{background:#e8eee3}.battle-meta{padding:12px 34px;font-size:13px}.battle-layout{display:grid;grid-template-columns:minmax(160px,15%) minmax(0,1fr) minmax(185px,17%);gap:22px;padding:24px 28px 12px;align-items:start}.rivals{flex-direction:column;padding:0;gap:16px}.rival{flex-direction:column;text-align:center;border-bottom:3px solid #b7c7af}.rival .npc-art{width:165px;height:225px;background-size:500% 140%}.rival>div{width:100%;padding:0 8px 8px;gap:6px}.rival strong{font-size:18px}.rival span{font-size:15px}.rival small{font-size:11px}.hidden-hand{justify-content:center}.battle-speech{font-size:13px;margin:14px 0 0;padding:12px}#rivals:has(.rival:nth-child(2)) .npc-art{width:118px;height:155px}#table{border-radius:6px;box-shadow:0 4px 12px #153f3530}.table-lane{width:100%;display:block;order:2}.hand{grid-template-columns:repeat(10,minmax(0,1fr));gap:7px;padding:4px 3px 12px}.large-cards .hand{grid-template-columns:repeat(7,minmax(0,1fr))}.hand-label{padding:14px 4px 9px;font-size:13px}.playing-card{max-width:80px}.card-month{font-size:12px}.card-kind{font-size:10px}.capture-summary{background:transparent;flex-wrap:wrap;padding:10px 0 17px}.capture-summary strong{width:100%;text-align:left;font-size:17px}.capture-summary b{font-size:36px}.capture-summary span{font-size:12px}.capture-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:14px}.score-lane{display:flex;order:3;border-left:1px solid #c3d0ba;padding-left:20px}#capture-summary,#decision{order:0}.decisions{padding:18px 0}.decisions .button{min-width:100%;min-height:62px;font-size:18px;padding:12px 18px}.decisions .button.red,.decisions .button.blue{font-size:27px}#battle-log{display:block;margin-top:12px;border-top:1px solid #c3d0ba}#battle-log h2{font-size:14px;margin:20px 0 12px}#battle-log ol{list-style:none;padding:0;margin:0}#battle-log li{display:flex;justify-content:space-between;gap:8px;font-size:11px;padding:8px 0;border-bottom:1px solid #d4decc}#battle-log span{color:#6b7862}.battle-footer{justify-content:center;gap:40px;border-top:1px solid #c3d0ba}.panel-page,.stage-detail{max-width:840px;margin:0 auto;padding:35px 48px;min-height:calc(100dvh - 132px)}.panel-page h1,.stage-detail h1{font-size:32px}.free-character{float:left;width:240px;margin:35px 30px 50px 0}.free-character .npc-art{width:220px}.free-page{display:grid;grid-template-columns:240px minmax(0,1fr);gap:0 30px;align-content:start}.free-page>.eyebrow,.free-page>h1{grid-column:1/-1}.free-page>.free-character{grid-column:1;grid-row:3/14;float:none;width:auto;margin:0;align-self:start}.free-page>*:not(.eyebrow):not(h1):not(.free-character){grid-column:2}.free-page>label{margin-top:15px}.free-page>.button{margin-top:10px}.free-page .free-character .npc-art{margin:0 auto}.rival-portraits .npc-art{width:160px}.stage-detail .facts{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.result-page{max-width:1100px;margin:auto;padding:45px 50px 40px 430px;min-height:700px;text-align:left}.result-character{position:absolute;left:50px;top:100px;width:310px;margin:0}.result-medal{margin:0 0 14px}.result-page h1{font-size:37px}.result-gold{font-size:44px}.result-page>.facts{margin:10px 0}#app[data-view=result]>.coach{max-width:1100px;margin:auto}.recovery-host{float:left;width:210px;margin:40px 35px 90px 0}}@media(max-width:360px){.topbar{padding:8px;gap:4px}.topbar strong{font-size:16px}.wallet{font-size:14px}.hand{gap:5px;padding-left:10px;padding-right:10px}.rival .npc-art{width:53px;height:83px}.rival small{font-size:8px}.lobby-scene{height:365px}.speech{width:135px}.button{padding:12px 17px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}#app[data-view=battle]{background:#eef3ef}#app[data-view=battle] .topbar{height:54px}.battle-meta{padding:8px 14px;font-size:12px;gap:10px;flex-wrap:wrap}#opponent-hands{order:2;display:flex;justify-content:space-around;gap:12px;padding:5px 16px;background:#e0ebe5}.opponent-hand{display:flex;align-items:center;gap:10px;font-size:11px;min-width:0}.opponent-hand.active{color:#a32b36}.hidden-hand{display:flex;min-height:24px}.hidden-hand img{width:15px;height:24px;object-fit:cover;margin-left:-4px}.hidden-hand img:first-child{margin-left:0}.rivals{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;padding:5px 12px 0}.rival{display:flex;flex-direction:row;min-width:0;min-height:60px;flex-wrap:wrap;text-align:left;gap:5px;border-bottom:2px solid transparent}.rival .npc-art,#rivals:has(.rival:nth-child(2)) .npc-art{width:48px;height:60px}.rival>div{flex:1;min-width:0;padding:0}.rival strong{font-size:13px}.rival span{font-size:12px}.rival small{font-size:10px;display:block}.rival .rival-captures{display:none}.battle-speech{margin:3px 12px 5px;padding:4px 8px;min-height:24px;font-size:11px;text-align:center}#table{min-height:220px;border-radius:4px}#capture-summary{order:6;background:#f9fcf8;border-block:1px solid #ccdcd1}#hand-area{order:8}#decision{order:7}.capture-summary{padding:6px 12px;min-height:44px;gap:8px}.capture-summary strong{display:flex;align-items:center;gap:8px}.capture-summary b{font-size:24px;color:#b7343f}.capture-summary em{font-size:13px;font-style:normal;color:#246da0}.capture-summary span{font-size:11px}.score-stakes{display:flex;flex-wrap:wrap;gap:4px 12px;padding:0 12px 6px;font-size:11px;color:#36524b}.score-stakes small{color:#61736e}.own-captures{display:none}.capture-group{min-width:0;border-bottom:1px solid #d4dfd6;padding:7px 0}.capture-group>span{display:flex;justify-content:space-between;font-size:12px;font-weight:600}.capture-group>div{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;margin-top:5px}.capture-group .card-face{width:100%;min-width:0;border-radius:1px}.capture-group .card-month{font-size:9px;padding:0}.capture-group .card-kind{display:none}.hand{gap:5px;padding:3px 12px 10px}.hand-label{padding:6px 12px}.hand.playable .playing-card:active .card-face{transform:translateY(-4px) scale(1.03)}.hand.playable .card-face{transition:transform 60ms ease-out}.decisions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.decisions.go-stop{border-block:2px solid #d6a441;background:#fff8e3;padding:12px}.decision-heading{flex-basis:100%;display:flex;justify-content:center;align-items:center;gap:12px}.decision-heading strong{font-size:24px;color:#a32331}.decision-heading span{font-size:14px}.go-stop .button{flex:1;max-width:200px;min-height:58px;font-size:26px;border-radius:6px;box-shadow:0 3px #0002}.skip-motion{display:none}[data-presenting] .skip-motion{display:inline-flex}[data-presenting] #hand-area,[data-presenting] #decision,[data-presenting] #floor-choices{pointer-events:none}[data-presenting] .turn-status{opacity:.65}.motion-layer{position:fixed;inset:0;z-index:80;pointer-events:none;overflow:hidden}.moving-card{position:absolute;transform-origin:top left;will-change:transform;filter:drop-shadow(0 5px 4px #10221b44)}.moving-card .card-face,.moving-card img{display:block;width:100%;height:100%;border-radius:2px}.special-event{position:absolute;display:flex;flex-direction:column;align-items:center;white-space:nowrap;color:#ffe9a1;text-shadow:0 3px 0 #4d3025,2px 0 0 #4d3025,-2px 0 0 #4d3025}.special-event strong{font-size:52px;line-height:1.2;font-weight:900}.special-event small,.special-event span{font-size:18px;font-weight:700}.special-event.red{color:#fff2e2;text-shadow:0 4px 0 #ba2e3a,2px 0 0 #ba2e3a,-2px 0 0 #ba2e3a}.special-event.blue{color:#e1f5ff;text-shadow:0 4px 0 #24628c,2px 0 0 #24628c,-2px 0 0 #24628c}.result-score{font-size:22px;font-weight:700;color:#275d50}.result-event{font-size:40px;font-weight:900;color:#ad2f3a;animation:reward-enter .4s ease-out}.league-result{font-weight:700;color:#236a55}.result-gold{font-variant-numeric:tabular-nums}.tempo-setting{padding-top:0}@media(min-width:1000px)and (orientation:landscape){.battle-layout{grid-template-columns:156px minmax(0,1fr) 224px;gap:16px;padding:14px 20px 8px}.battle-meta{padding:8px 24px}.rivals{display:flex;flex-direction:column;padding:0;gap:16px}.rival{flex-direction:row;text-align:left;align-items:center;padding-bottom:10px}.rival .npc-art,#rivals:has(.rival:nth-child(2)) .npc-art{width:55px;height:76px}.rival strong{font-size:14px}.rival .rival-captures{display:block;flex-basis:100%}.rival-captures .capture-group>div{grid-template-columns:repeat(5,minmax(0,1fr))}.rival-captures .capture-group:has(>div:empty){display:none}.battle-speech{margin:8px 0;padding:8px;font-size:12px}#opponent-hands{padding:8px 16px;min-height:42px}.hidden-hand img{width:19px;height:30px}#table{box-shadow:none;min-height:290px}.score-lane{padding-left:12px;border-left:1px solid #ccd9cf}#capture-summary{order:0;background:none;border:0}.capture-summary{padding:2px 0 10px}.capture-summary strong{width:100%}.capture-summary b{font-size:32px}.score-stakes{flex-direction:column;padding:0 0 10px;font-size:12px}.own-captures{display:block}#battle-log{order:1;margin-top:10px}#battle-log h2{font-size:13px}#battle-log li{font-size:11px}.hand{grid-template-columns:repeat(10,minmax(0,1fr));padding:4px 4px 10px;gap:6px}.hand .playing-card{max-width:80px}.hand-label{padding:8px 4px}.decisions .button{min-width:0;min-height:44px}.go-stop .button{min-height:58px}.battle-footer{padding:0 20px}}@media(prefers-reduced-motion:reduce){.moving-card,.result-gold,.hand .card-face{animation:none!important;transition:none!important}}#app[data-view=battle],#app[data-view=result]{background:#21472c;color:#fff4d7;padding-bottom:0}#app .battle-topbar{position:relative;height:auto;min-height:78px;display:grid;grid-template-columns:auto 1fr auto auto;gap:20px;background:#402b1e url(../assets/batch05/wood.webp) center / cover;border-bottom:3px solid #ac7841;padding:8px 24px;color:#ffe5ac}.battle-brand{border:0;background:none;padding:0;font-family:Malgun Gothic,sans-serif;font-size:30px;font-weight:900;color:#ffe3a0;text-shadow:0 3px 1px #1b140d,2px 0 #3b2016;white-space:nowrap}.battle-brand span{color:#fff5dd}.battle-topbar .wallet{justify-self:center;color:#ffda78;font-size:23px;margin:0}.battle-topbar .wallet svg{width:30px;height:30px}.battle-topbar .mode-plaque{text-align:center;font-size:20px;min-width:130px}.mode-plaque small{display:block;font-size:12px;color:#d8c09e;padding-top:3px}.battle-topbar nav{display:flex;gap:10px}.battle-topbar .icon-button{background:#2f211ab0;border:1px solid #986c3c;color:#ffe1a0;width:44px;height:44px}#app[data-view=battle] .battle-meta{background:#2d3926;color:#e6dfc6;justify-content:space-between;padding:7px 24px;font-size:12px}.battle-layout{gap:0;padding:0}.table-lane{background:#216132 url(../assets/batch05/table.webp) center / 100% 100%;padding:18px 24px 14px;min-width:0}#table{background:none;border:0;box-shadow:none;border-radius:0;overflow:visible}#table canvas{display:block;max-width:100%}#opponent-hands{background:none;color:#fff9d9;padding:0 8px 8px;min-height:54px;gap:12px;align-items:flex-start}.opponent-hand{flex:1;flex-wrap:wrap;align-items:center;gap:5px 12px;color:#faf4da}.opponent-hand.active{color:#ffe68f}.hidden-hand img{width:22px;height:36px;margin-left:-8px}.rival-captures{display:flex;flex-wrap:wrap;gap:2px;min-height:8px;flex-basis:100%;padding-inline-start:12px}.rival-captures .card-face{width:28px;flex-shrink:0;margin-left:-12px}.rival-captures .card-month,.rival-captures .card-kind{display:none}.score-lane{color:#fff0d0;background:#543722 url(../assets/batch05/wood.webp) center / cover;padding:14px;border-left:4px solid #b58248;gap:12px}.side-greeting{font-family:Georgia,serif;text-align:center;color:#fff1c9;font-size:21px;font-style:italic;padding:5px 0 12px;border-bottom:1px solid #bc925b}.rivals{padding:0;gap:10px}.rival{padding:8px 0;border-bottom:1px solid #a77844;flex-direction:row;align-items:center;text-align:left;gap:8px}.rival.turn{border-color:#ffd466}.rival .npc-art,#rivals:has(.rival:nth-child(2)) .npc-art{width:64px;height:78px;background-size:500% 140%;border-radius:6px}.rival>div{padding:0;min-width:0}.rival strong{font-size:16px;color:#fff9e8}.rival small{font-size:11px;color:#e4cdaa}.rival .rival-score{display:block;color:#ffe17b;font-size:15px}.rival-score b{font-size:26px}.risk-badge{display:inline-block;color:#ffb5a1;font-size:11px;font-weight:700}.battle-speech{background:#fff1d9;color:#493623;margin:8px 0 0;padding:8px 10px;font-size:12px;border-radius:6px;min-height:38px}#mission{padding:12px 0;border-block:1px solid #b18551;text-align:center}#mission h2{margin:0 0 8px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:19px;color:#ffe399}#mission strong{display:block;font-size:15px}#mission progress{display:block;width:100%;height:10px;margin:10px 0 5px;accent-color:#8ccb38}#mission small{color:#e6d3b4;font-size:12px}#capture-summary{background:#132b42d9;color:#f4f8ff;border:1px solid #769eae;border-radius:6px;padding:12px}.player-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px;font-size:12px;padding-bottom:8px;border-bottom:1px solid #698398}.player-heading strong{color:#ffdf7d}.capture-summary{color:#fff7d8;background:none;padding:9px 0;flex-wrap:wrap;border:0;width:100%}.capture-summary strong{font-size:14px}.capture-summary b{color:#ffe078;font-size:34px}.capture-summary em{color:#ffb7a2;font-size:22px}.capture-summary span{font-size:12px;color:#e6e9ed}.score-stakes{color:#e2e9e5;padding:0;font-size:11px;gap:4px}.score-stakes small{color:#bdd0d4}#collected-area{min-height:40px}.own-captures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.capture-group{border:0;padding:4px 0}.capture-group>span{color:#f4eccb;font-size:11px;justify-content:flex-start;gap:6px}.capture-group>div{display:flex;flex-wrap:wrap;gap:3px;padding-left:10px}.capture-group .card-face{width:30px;flex-shrink:0;margin-left:-10px}.capture-group .card-month{display:none}#hand-area{background:#14381edb;border-top:2px solid #c29857;padding:4px 6px 0;border-radius:0}.hand-label{color:#f4eac9;padding:6px 4px;font-size:12px}.hand-label strong{color:#fff0c3}.rival span{color:#ffe4b1}.hand{padding:4px 4px 10px;gap:7px}.hand .playing-card{max-width:none;border-radius:3px}.hand:not(.playable) .playing-card{opacity:.85}.hand .card-face{box-shadow:0 3px 2px #06190ba6}.hand.playable .playing-card.matching{border-color:#ffd05a}.turn-status{color:#ecefda;background:#12381cb0;border:0;padding:8px;font-size:13px;min-height:38px}.turn-status.my-turn{background:#eff3d5;color:#244525}.decisions{padding:5px 0}.decisions:empty{display:none}.decisions.go-stop{background:#173e23;color:#fff4c6;border:1px solid #c1a258;border-radius:6px;padding:10px}.decision-heading strong{color:#ffdb6c}.decisions .button{min-width:0}.tool-row{display:flex;gap:8px}.tool-row .button{flex:1}.tool-row .icon-button{width:48px;height:48px;background:#be853a;color:#fff1c7;border:2px solid #e3b768}.auto-unavailable{margin-top:9px;background:#344c2e;border:1px solid #a5b079;color:#fff4d5;opacity:.6;min-height:48px}.auto-unavailable small{font-size:11px}.quick-reactions{display:flex;gap:5px;margin-top:8px}.quick-reactions .text-button{flex:1;font-size:11px;padding:8px 2px;min-height:40px;color:#432c1c;background:#f3e6c9;border-radius:4px}.quick-reactions.expanded{outline:2px solid #f2cd76;outline-offset:3px}.player-reaction{font-size:12px;color:#ffeaba;text-align:center;min-height:18px;margin:7px 0 0}.log-drawer{font-size:12px;color:#ebd6b5}.log-drawer summary{cursor:pointer;padding:8px 0}#battle-log{display:block;margin:0;color:#ebd6b5}#battle-log h2{display:none}#battle-log li{color:#ebd6b5;border-color:#aa875a}#app[data-view=battle] .battle-footer{background:#342b1f;padding:4px 18px;display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.battle-footer .text-button{color:#eee0bd;min-height:36px}.result-backdrop{min-height:100dvh;background:#246438 url(../assets/batch05/table.webp) center / cover;padding:28px 6%}.backdrop-wordmark{font-size:30px;font-weight:900;color:#ffdb8d}.backdrop-cards{display:flex;justify-content:center;gap:25px;padding-top:100px;flex-wrap:wrap}.backdrop-captures{display:flex;justify-content:center;gap:5px;padding-top:80px;flex-wrap:wrap}.result-backdrop .card-face{width:70px}.result-page::backdrop{background:#071008a8;backdrop-filter:blur(4px)}dialog.result-page{position:fixed;inset:0;width:min(530px,calc(100% - 24px));max-width:530px;max-height:calc(100dvh - 24px);min-height:0;margin:auto;padding:0;overflow:auto;overscroll-behavior:contain;background:#4c301e url(../assets/batch05/wood.webp) center / cover;border:3px solid #d4a454;border-radius:8px;box-shadow:0 0 0 4px #492d19,0 24px 70px #0009;text-align:center;color:#f9e7bd}.result-page.defeat{border-color:#a99b84}.result-page.draw{border-color:#83acaa}.result-page .topbar{position:relative;background:#241d16b0;color:#eedaad;height:46px;min-height:46px;padding:4px 12px;border:0;gap:8px}.result-page .topbar strong{font-size:13px}.result-page .topbar .wallet{color:#ffe095;font-size:14px}.result-page .topbar .icon-button{color:#f4e6c3;background:transparent;width:36px;height:36px}.result-crest{position:relative;width:100%;max-width:390px;margin:-6px auto -4px;aspect-ratio:3/2}.result-crest img{width:100%;height:100%;object-fit:contain;display:block}.result-page .result-crest h1{position:absolute;inset:auto 14% 9%;margin:0;font-size:48px;font-weight:900;color:#ffdd72;text-shadow:0 3px #5e351a;line-height:1.2}.result-page.defeat .result-crest h1{color:#f0e9df;text-shadow:0 3px #392f28}.result-page.draw .result-crest h1{color:#d2ebe9;font-size:38px}.result-body{padding:0 24px 20px}.result-subtitle{font-size:13px;color:#f0d4a6;margin:0 0 5px}.result-page .result-score{font-size:16px;color:#f4dc9f}.result-page .result-gold{margin:7px 0;font-size:40px;line-height:1.2;color:#ffdf7c;text-shadow:0 2px #332014;overflow-wrap:anywhere}.result-page .result-gold.loss{color:#ffad9c}.result-gold small{font-size:20px;margin-left:6px}.result-page .facts{margin:10px 0;background:#261c15a8;border-radius:6px;padding:7px 12px;font-size:13px}.result-page .facts>div{padding:5px 0;border-color:#795c3b}.result-page .facts dt{color:#e1c89f}.result-page .facts dd{color:#ffdf8c}.xp-reward{background:#172c1fbd;padding:10px 12px;border:1px solid #988049;border-radius:6px;text-align:left}.xp-reward strong{display:flex;justify-content:space-between;gap:8px;font-size:13px}.xp-reward em{color:#b2e861;font-style:normal}.xp-reward>div{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:11px}.xp-reward progress{min-width:0;flex:1;height:12px;accent-color:#9edb3c}.result-page .consolation{margin:10px 0;background:#f2e4c5;padding:10px;color:#493723;border-radius:5px;font-size:13px}.result-page .settlement-details{text-align:left;color:#e9d8b7;font-size:12px;background:#241c15a0;padding:9px 12px;margin:10px 0;border:0}.result-page .settlement-details summary{cursor:pointer;min-height:24px}.result-page .settlement-details p{margin:6px 0;overflow-wrap:anywhere}.result-league,.result-tutorial{font-size:11px;color:#e0c7a1;margin:7px 0}.result-page .league-result{color:#cbe897;font-size:14px}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.result-actions .button{width:100%;min-width:0;font-size:18px;padding:10px 6px;min-height:52px}.result-actions .primary{background:#497617;background-image:none;border:2px solid #bbd961;box-shadow:inset 0 2px #e0f3a766,0 3px #263d0f;color:#fffbd8;text-shadow:0 2px #2a490a}@media(min-width:1000px)and (orientation:landscape){.score-lane>#rivals{order:0}.score-lane{gap:8px}.score-lane .side-greeting{padding:0 0 6px;font-size:18px}.score-lane #mission{padding:8px 0}.score-lane .rivals{gap:4px}.score-lane .rival{min-height:74px;padding:3px 0}.score-lane .rival .npc-art{width:52px;height:68px}#app[data-view=battle],#app[data-view=result]{max-width:1680px}.battle-layout{display:grid;grid-template-columns:minmax(0,1fr) 292px;align-items:stretch}.table-lane{display:block;order:0;padding:20px 36px 16px}.score-lane{display:flex;flex-direction:column;order:1;padding:14px}.rivals{display:flex;flex-direction:column}#opponent-hands{min-height:70px}#table{min-height:330px}.hand{grid-template-columns:repeat(10,minmax(0,1fr))}.hand .playing-card{max-width:100px}.large-cards .hand{grid-template-columns:repeat(7,minmax(0,1fr))}#capture-summary{order:0}.decisions .button.red,.decisions .button.blue{display:inline-flex}}@media(max-width:999px),(orientation:portrait){#app .battle-topbar{grid-template-columns:1fr auto;gap:5px;padding:8px 12px;min-height:84px}.battle-brand{text-align:left;font-size:22px}.battle-topbar .wallet{font-size:17px;justify-self:end}.battle-topbar .wallet svg{width:22px;height:22px}.battle-topbar .mode-plaque{font-size:13px;text-align:left;min-width:0}.mode-plaque small{display:inline;margin-left:6px;font-size:11px}.battle-topbar nav{gap:6px;justify-self:end}.battle-topbar .icon-button{width:44px;height:44px;min-height:44px}#app[data-view=battle] .battle-meta{font-size:10px;padding:5px 10px;gap:5px}.battle-layout{display:flex;flex-direction:column;background:#246337 url(../assets/batch05/table.webp) center / 100% 100%}.table-lane,.score-lane{display:contents}.side-greeting{display:none}#rivals{order:0;padding:5px 10px;background:#2b271ddd}.rivals{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:8px}.rival{gap:5px;padding:3px 0;border:0;min-height:60px}.rival .npc-art,#rivals:has(.rival:nth-child(2)) .npc-art{width:42px;height:56px}.rival strong{font-size:12px}.rival .rival-score{font-size:11px}.rival-score b{font-size:20px}.rival small{font-size:9px}.battle-speech{font-size:10px;min-height:24px;padding:4px 7px;margin:2px 0}#coach{order:1}#opponent-hands{order:2;padding:7px 15px 3px;min-height:34px}.opponent-hand{font-size:9px;gap:3px 6px}.hidden-hand img{width:15px;height:24px;margin-left:-7px}.rival-captures .card-face{width:22px}#table{order:3;margin:0 8px;width:calc(100% - 16px)}#floor-choices{order:4}#battle-status{order:5}#capture-summary{order:6;margin:4px 8px;padding:6px 8px}.player-heading{display:none}.capture-summary{flex-wrap:nowrap;padding:0;min-height:34px;gap:6px}.capture-summary strong{width:auto;flex-shrink:0;font-size:11px;gap:5px}.capture-summary b{font-size:23px}.capture-summary em{font-size:14px}.capture-summary span{font-size:10px}.score-stakes{font-size:9px;padding-top:4px}#collected-area{order:7;margin:0 12px;min-height:0}.own-captures{gap:7px}.capture-group{padding:2px 0}.capture-group>span{font-size:9px}.capture-group>div{margin-top:2px}.capture-group .card-face{width:23px;margin-left:-13px}#decision{order:8;margin-inline:8px}#hand-area{order:9;margin:3px 8px 8px}.hand{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:3px 3px 8px}.large-cards .hand{grid-template-columns:repeat(4,minmax(0,1fr))}.hand-label{font-size:10px;padding:3px}#mission{order:10;margin:0 12px;padding:8px 0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;justify-content:center}#mission h2{font-size:13px;margin:0}#mission strong{font-size:12px}#mission progress{width:65px;margin:0}#mission small{font-size:10px}#battle-tools{order:11;margin:8px 12px 0}.tool-row{float:left}.auto-unavailable{width:auto;margin:0 0 0 auto;min-height:48px;font-size:13px}.quick-reactions{clear:both}.log-drawer{order:12;margin:0 12px 8px}#app[data-view=battle] .battle-footer{gap:6px}.battle-footer .text-button{font-size:11px}.result-body{padding:0 14px 14px}.result-crest{max-width:310px}.result-page .result-crest h1{font-size:40px}.result-page .result-gold{font-size:34px}.result-actions .button{font-size:16px}}@media(max-height:800px){.result-crest{max-width:285px}.result-page .result-crest h1{font-size:36px}.result-page .result-gold{font-size:32px}.result-page .facts{margin:6px 0}.result-body{padding-bottom:12px}}.art-frame{position:relative;border:12px solid transparent;border-image:url(../assets/batch06/frame.webp) 180 / 20px / 0 stretch;background:#241f18;background-clip:padding-box}#app .battle-topbar{min-height:66px;border-bottom-width:2px}.battle-topbar .wallet{padding:8px 24px;background:#161b13b8;border-block:1px solid #8a703d}.table-lane{background-size:cover}.score-lane{background:#171f19;border-left:0;padding:8px;gap:8px}#rivals.art-frame{padding:8px;background-color:#2a241f}.score-lane .rival{padding:0;border:0;gap:12px;flex-wrap:nowrap}.rival .npc-slot{flex:0 0 auto;border:1px solid #c49b4a;border-radius:6px;background:#426345;overflow:hidden;box-shadow:inset 0 0 14px #112719,0 3px 6px #0008}.score-lane .rival .npc-art,#rivals:has(.rival:nth-child(2)) .npc-art{width:106px;height:122px;background-size:500% 140%;border-radius:0;display:block}.rival strong{font-size:21px;line-height:1.2}.rival>div{gap:2px}.rival small{line-height:1.5;font-size:12px}.rival .rival-score{margin:0;font-size:15px;line-height:1.2}.rival-score b{font-size:32px}.rival.turn .npc-slot{box-shadow:0 0 0 2px #f4d374,0 0 14px #f6cf5655}.battle-speech{position:relative;margin:10px 0 0;padding:10px;font-size:13px;line-height:1.45;background:#f7e9c9;border:1px solid #ccac6b;box-shadow:0 2px 3px #0005}.score-lane #mission.art-frame{padding:10px;background:#203824;background-clip:padding-box;border:12px solid transparent;border-image:url(../assets/batch06/frame.webp) 180 / 20px / 0 stretch;text-align:left}#mission h2{justify-content:flex-start;font-size:17px}#mission strong{font-size:16px}#capture-summary.art-frame{border:12px solid transparent;border-image:url(../assets/batch06/frame.webp) 180 / 20px / 0 stretch;border-radius:0;padding:8px;background:#15313b;background-clip:padding-box}.capture-summary{min-height:64px;justify-content:space-between}.capture-summary strong{width:100%}.capture-summary b{font-size:36px}.capture-summary span{font-size:13px}.economy-detail{font-size:12px;color:#dfebde;padding-inline:12px}.economy-detail summary{cursor:pointer;min-height:28px;padding:6px 0}.score-stakes{font-size:12px;line-height:1.6}#battle-tools.art-frame{padding:8px;background:#2d281d;background-clip:padding-box}#battle-tools .button,.result-actions .button,.decisions .button{min-height:54px}#battle-tools .auto-unavailable,.result-actions .button.primary,.result-actions .button.red,.decisions .button.blue{background:transparent url(../assets/batch06/green.webp) center / 100% 130% no-repeat;border:0;border-radius:3px;color:#fff8df;text-shadow:0 2px 2px #112310;box-shadow:none;padding:12px 16px}.result-page.victory .result-actions .primary,.decisions .button.light,.quick-reactions .text-button{background:transparent url(../assets/batch06/gold.webp) center / 100% 127% no-repeat;color:#332009;text-shadow:0 1px #ffdf84;border:0;box-shadow:none}.quick-reactions .text-button{min-height:44px;font-size:12px}.player-reaction:empty{display:none}.quick-reactions:not(.expanded){display:none}.auto-unavailable{opacity:.5}#opponent-hands{background:#102d21bd;border:1px solid #8f8343;border-radius:6px;padding:8px 12px}.rival-captures{max-height:48px;overflow:hidden}.rival-captures .card-face{width:28px}.own-captures{min-height:24px}.capture-group>div{max-height:52px;overflow:hidden}.capture-group>span{font-size:12px}#hand-area{border:10px solid transparent;border-image:url(../assets/batch06/frame.webp) 180 / 16px / 0 stretch;background:#122f21;background-clip:padding-box;padding:2px}.hand{gap:8px;padding:3px 3px 6px}.hand .card-month{font-size:13px;line-height:1.1}.hand .card-kind{font-size:11px}.hand.playable .playing-card.matching{box-shadow:0 0 0 1px #efcb52}.hand .playing-card:focus-visible{outline:3px solid #fff1a8;outline-offset:2px}.turn-status{min-height:28px;padding:4px 8px}.turn-status.my-turn{background:#143c27;color:#fff0b4;border-block:1px solid #809354}.log-drawer summary{min-height:44px}#app[data-presenting] #hand-area [data-inspect]{pointer-events:auto}#app[data-presenting] .battle-footer .skip-motion{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));z-index:100;min-height:44px;padding:8px 16px;background:#153a28;color:#fff0c0;border:2px solid #d2aa54;border-radius:6px;box-shadow:0 3px 12px #0008;font-size:13px}dialog.result-page{width:min(780px,calc(100% - 24px));max-width:780px;border:18px solid transparent;border-image:url(../assets/batch06/frame.webp) 180 / 30px / 0 stretch;background:#143e29 url(../assets/batch05/table.webp) center / cover;background-clip:padding-box;border-radius:0;box-shadow:0 24px 70px #000a}.result-page.defeat,.result-page.draw{background:#202e32;border-color:transparent}.result-page .topbar{background:#101e18b0}.result-page .result-gold{background:#131f17d9;border-block:1px solid #c2964d;padding:14px 6px;font-size:40px;font-weight:900}.result-page.defeat .result-gold{color:#ece8dc}.result-page .facts{background:#18271edb}.result-page.defeat .facts{background:#14232a}.result-page .result-subtitle{color:#f4e8cd}.result-page .consolation{line-height:1.6}.result-page .xp-reward{background:#17291edb}.result-page .settlement-details{background:#111e18b5}.result-page .settlement-details summary{min-height:32px;padding-block:6px}.result-actions{margin-top:16px}.result-actions .button{min-height:62px;font-size:18px}@media(min-width:1000px)and (orientation:landscape){.battle-layout{grid-template-columns:minmax(0,1fr) 340px;gap:0}.table-lane{padding:20px 24px 16px}.score-lane{padding:8px;gap:8px}#opponent-hands{min-height:54px}#rivals:has(.rival:nth-child(2)) .npc-art{width:80px;height:92px}#rivals:has(.rival:nth-child(2)) .rival strong{font-size:18px}.hand .playing-card{max-width:108px}}@media(min-width:700px){dialog.result-page[open]{display:grid;grid-template-columns:40% 60%;align-items:center}.result-page .topbar{grid-column:1 / -1}.result-crest{max-width:none;align-self:center}.result-body{padding:18px 18px 18px 8px}.result-page .result-crest h1{font-size:42px}}@media(max-width:999px),(orientation:portrait){#app .battle-topbar{min-height:54px;grid-template-columns:1fr auto;gap:0 6px;padding:4px 8px}.battle-brand{font-size:20px}.battle-topbar .wallet{padding:3px 6px;font-size:15px}.battle-topbar .mode-plaque{font-size:12px}.battle-topbar nav{grid-column:2;grid-row:1 / 3;gap:0}.battle-topbar .wallet{grid-column:1;grid-row:2;justify-self:start;background:none;border:0}.battle-topbar .mode-plaque{display:none}.battle-topbar .icon-button{background:none;border:0}#app[data-view=battle] .battle-meta{padding:3px 8px;font-size:11px}.battle-layout{background-size:cover;background-position:center}#rivals.art-frame{margin:0 6px;padding:1px 4px;border-width:7px;border-image-width:13px}.rivals{gap:8px}.score-lane .rival{gap:6px;min-height:64px}.score-lane .rival .npc-art,#rivals:has(.rival:nth-child(2)) .npc-art{width:62px;height:68px}.rival strong{font-size:15px}.rival small{font-size:11px}.rival small:last-of-type{display:none}.rival .rival-score{font-size:12px;margin:0}.rival-score b{font-size:24px}.battle-speech{font-size:12px;min-height:0;margin-top:2px;padding:3px 6px}#opponent-hands{margin:3px 8px 0;padding:2px 6px;min-height:28px;gap:8px}.opponent-hand{flex-wrap:nowrap;gap:4px;font-size:10px}.hidden-hand img{width:12px;height:20px;margin-left:-8px}.hidden-hand{min-height:20px;height:20px}.rival-captures{flex-basis:auto;flex:1;max-height:24px;min-height:8px;padding-left:8px;flex-wrap:nowrap}.rival-captures .card-face{width:15px;margin-left:-8px}#table{min-height:0}#capture-summary.art-frame{margin:2px 8px;padding:0 4px;border-width:6px;border-image-width:10px}.capture-summary{min-height:38px}.capture-summary strong{width:auto;font-size:11px;gap:4px}.capture-summary b{font-size:24px}.capture-summary span{font-size:11px}.economy-detail{order:10;margin:0 8px 4px;background:#183326;font-size:11px}.economy-detail summary{min-height:24px;padding:3px 0}.score-stakes{font-size:11px}#collected-area{margin:0 12px}.capture-group>div{max-height:22px;margin:0;overflow:hidden}.capture-group>span{display:none}.capture-group{padding:0}.own-captures{min-height:0}.capture-group .card-face{width:14px;margin-left:-6px}#hand-area{margin:3px 6px 6px;padding:0;border-width:6px;border-image-width:10px}.hand-label{padding:2px 4px;font-size:11px;min-height:20px}.hand{gap:4px;padding:2px 3px 5px}.hand .card-month{font-size:12px}.hand .card-kind{font-size:10px}.hand .playing-card{min-width:44px}.score-lane #mission.art-frame{margin:0 8px 4px;padding:3px 5px;border-width:7px;border-image-width:12px}#mission h2,#mission strong{font-size:12px}#mission small{font-size:11px}#battle-tools.art-frame{margin:0 8px 4px;padding:2px 4px;border-width:7px;border-image-width:12px}#battle-tools .button{min-height:48px}.quick-reactions{margin-top:4px}.quick-reactions .text-button{min-height:44px}.turn-status{min-height:26px;font-size:12px;padding:3px 6px}.result-page .result-gold{font-size:32px;padding:10px 4px}.result-page .result-crest{max-width:260px;margin-block:-4px -8px}.result-page .result-crest h1{font-size:36px}.result-body{padding:0 8px 8px}.result-actions{gap:6px}.result-actions .button{font-size:15px;min-height:56px;padding:8px}}@media(max-width:350px){.score-lane .rival .npc-art,#rivals:has(.rival:nth-child(2)) .npc-art{width:48px;height:60px}.rival strong{font-size:13px}.rival-score b{font-size:21px}.capture-summary span{font-size:10px}.result-page .result-gold{font-size:28px}}#opponent-captures{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px;margin:6px 0}.capture-seat{min-width:0;background:#123e30;border-top:2px solid #d9b857;padding:6px}.capture-seat[data-seat="2"]{border-color:#86ccdc}.capture-seat h3{margin:0 0 5px;font-size:13px;color:#fff0c2}.capture-seat h3 b{float:right;color:#fff}.capture-seat .rival-captures,.own-captures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-height:none;padding:0;overflow:visible;min-width:0}.capture-group{min-width:0;padding:0}.capture-seat .rival-captures .capture-group:has(>div:empty){display:block}.capture-group>span{display:block;font-size:12px;color:#ffe7a2;line-height:20px;white-space:nowrap}.capture-group>span b{color:#fff}.capture-group>div{display:flex;flex-wrap:nowrap;gap:4px;margin:0;padding:2px 0 5px;max-height:none;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#d3b975 #183c2e}.capture-group>div:empty{padding:0}.capture-group .card-face,.rival-captures .capture-group .card-face{flex:0 0 52px;width:52px;height:auto;aspect-ratio:512/832;margin:0}.capture-group .card-month,.capture-group .card-kind{display:block;font-size:10px}.capture-group>div:focus-visible{outline:2px solid #ffe47a;outline-offset:2px}.capture-group>div::-webkit-scrollbar{height:5px}.capture-group>div::-webkit-scrollbar-thumb{background:#d3b975;border-radius:3px}.capture-group>div::-webkit-scrollbar-track{background:#183c2e}#collected-area{margin-block:8px}#collected-area>h3{margin:0 0 4px;font-size:13px;color:#ffe7a2}#table{position:relative}.floor-hints{position:absolute;inset:0;pointer-events:none;z-index:2}.floor-hint{position:absolute;border-radius:2px;outline:2px solid #ffe052;outline-offset:0;box-shadow:0 0 4px #312800}.floor-hint.focused{outline-width:3px;outline-color:#fff39b}.floor-hint[data-hint=bomb]{outline-width:4px;outline-color:#ffdf38;box-shadow:0 0 0 5px #49380080}.hand .playing-card{position:relative;overflow:visible}.hand{padding-top:20px;row-gap:22px}.hand-hint{position:absolute;left:50%;top:-2px;transform:translate(-50%,-100%);display:grid;place-items:center;width:19px;height:19px;pointer-events:none;color:#ffe052;filter:drop-shadow(0 1px 2px #000)}.hand-hint svg{width:19px;height:19px;stroke-width:2.5}.hand-hint[data-hand-hint=match] svg{transform:rotate(180deg);fill:#ffe052;stroke:#503c0b}.hand-hint[data-hand-hint=bomb]{background:#fff2a4;color:#341b16;border-radius:50%}#app[data-presenting] .floor-hints,#app[data-presenting] .hand-hint{visibility:hidden}@media(max-width:999px),(orientation:portrait){#opponent-hands{min-height:24px;margin-top:1px}#hand-area{margin-top:2px}.hand{padding-bottom:3px}#collected-area{order:10;margin:4px 8px}#opponent-captures{order:11;margin:4px 8px;grid-template-columns:minmax(0,1fr)}.score-lane #mission{order:12}.economy-detail{order:13}#battle-tools{order:14}.log-drawer{order:15}.capture-group .card-face,.rival-captures .capture-group .card-face{flex-basis:46px;width:46px}.capture-group>span{display:block;font-size:12px}.capture-seat .rival-captures{min-height:0;flex:none}}
