:root{font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,sans-serif;color:#e0e6e0;background:#111917;font-synthesis:none;line-height:1.5;font-size:14px;color-scheme:dark}body{margin:0}button,input,select{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid #3c4941;background:#24302a;color:#e5eadd;border-radius:5px;padding:8px 14px;cursor:pointer;transition:background .15s,border .15s}button:hover:not(:disabled){background:#354238;border-color:#a6b39a}button:disabled{opacity:.38;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #d4c08b;outline-offset:3px}input,select{width:100%;background:#131c18;color:#dce4d8;border:1px solid #38463b;border-radius:4px;min-height:42px;padding:9px 12px}label{display:block;color:#a2aea3;font-size:12px;letter-spacing:.03em}label input,label select{margin-top:7px}h1,h2,h3,p{margin:0}h1{font-size:42px;letter-spacing:-1.5px;font-weight:600}h2{font-size:18px;font-weight:600}h3{font-size:14px;font-weight:600}p{color:#a9b6ad;line-height:1.8}a{color:inherit;text-decoration:none}.muted{color:#829187}.primary{background:#cbb785;color:#1b231d;border-color:#cbb785;font-weight:600}.primary:hover:not(:disabled){background:#e2cda0}.ghost{background:transparent;border-color:transparent;color:#aebbad;padding:7px 9px}.full{width:100%}.topbar{height:76px;border-bottom:1px solid #2a362d;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#121b17}.brand{display:flex;align-items:center;gap:12px;font-family:Barlow Condensed,sans-serif;font-size:24px;font-weight:700;letter-spacing:1.8px}.brand-mark{display:grid;place-items:center;width:36px;height:38px;border:1px solid #8c9b83;clip-path:polygon(0 0,100% 0,100% 78%,50% 100%,0 78%);color:#d0be8f}.header-actions{display:flex;gap:15px}.lobby{max-width:1000px;margin:auto;padding:64px 30px}.hero .eyebrow,.eyebrow{color:#9cac8c;font-family:Barlow Condensed,sans-serif;letter-spacing:2.5px;font-size:12px;margin-bottom:13px}.hero h1{margin-bottom:10px}.hero-dot{color:#cbb785}.hero p{font-size:16px}.hero-stats{display:flex;gap:26px;margin-top:24px;color:#8d9b91;font-size:12px}.hero-stats span{display:flex;align-items:center;gap:8px}.name-field{max-width:300px;margin-top:30px}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}.panel{background:#19231d;border:1px solid #324033;border-radius:7px;padding:20px}.mode{padding:28px}.mode-icon{width:42px;height:42px;display:grid;place-items:center;background:#263126;border:1px solid #485541;color:#c3cbae;border-radius:7px;margin-bottom:18px}.mode h2{font-size:23px;margin-bottom:7px}.mode p{font-size:13px;margin-bottom:24px}.form-row{display:flex;gap:15px}.form-row>*{flex:1}.mode .primary{margin-top:18px}.join-row{display:flex;gap:8px;margin-top:15px}.join-row input{min-width:0}.join-row button{white-space:nowrap}.room-list{margin-top:38px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.section-heading h2,.section-heading h3{display:flex;align-items:center;gap:10px}.count{display:inline-grid;place-items:center;font-size:11px;min-width:22px;height:21px;color:#a7b397;border:1px solid #43503f;border-radius:4px;margin-left:8px}.empty{padding:35px 20px;text-align:center;color:#728375;border:1px dashed #394537;border-radius:5px}.room-row{display:flex;align-items:center;gap:16px;padding:14px 16px;border-bottom:1px solid #304033}.room-row strong{flex:1}.room-row>span{display:flex;align-items:center;gap:4px}.status-dot{width:7px;height:7px;border-radius:100%;background:#6d8070;display:inline-block;flex-shrink:0}.status-dot.live{background:#bacc92;box-shadow:0 0 12px #95b77350}footer{display:flex;justify-content:center;gap:10px;color:#66766b;font-size:11px;padding:25px;border-top:1px solid #26332a}.error{position:sticky;top:0;z-index:50;background:#55342f;border:1px solid #ac7665;padding:10px 20px;display:flex;justify-content:space-between;align-items:center}.error button{min-height:24px;padding:3px}.waiting-room{max-width:820px;margin:40px auto 100px;padding:20px}.waiting-room>.eyebrow{margin-top:32px}.waiting-room>p{margin:18px 0}.code-button{letter-spacing:3px;margin-top:15px}.seat-list{display:grid;gap:10px;margin:28px 0}.seat{display:flex;align-items:center;gap:16px;padding:14px;background:#18221c;border:1px dashed #344132;border-radius:5px;color:#728574}.seat.filled{border-style:solid;color:#c3cfbe}.seat strong{flex:1}.seat>span:not(.avatar){font-size:12px}.ready{color:#bfd198}.avatar{flex-shrink:0;display:grid;place-items:center;width:34px;height:36px;font-family:Barlow Condensed,sans-serif;font-weight:600;border-radius:5px;background:#364234;color:#c9d4b7}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.toolbar select{width:auto}.battle{max-width:1500px;margin:auto;padding:22px 32px 45px}.battle-top{display:flex;align-items:center;gap:18px;margin-bottom:18px}.battle-title{flex:1;font-weight:600}.round-badge{font-family:Barlow Condensed,sans-serif;letter-spacing:1px;border:1px solid #40503c;color:#c5c8ad;padding:5px 12px;border-radius:3px}.players{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.player{padding:14px;display:flex;align-items:center;gap:10px;border:1px solid #334132;background:#18221c;border-radius:6px;position:relative}.player.active{border-color:#b5ba85;background:#253021}.player.you{box-shadow:inset 0 -2px #a9b088}.player-info{min-width:0;flex:1}.player-info strong{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-info small{font-weight:400;color:#8fa477}.player-info>span{display:flex;align-items:center;gap:6px;color:#a1af95;font-size:11px;margin-top:5px}.win-dots{display:flex;gap:3px}.win-dots i{width:5px;height:9px;border-radius:1px;background:#414c3b}.win-dots .won{background:#cfb877}.phases{display:flex;justify-content:center;gap:35px;margin-top:23px;border-bottom:1px solid #334130}.phases span{display:flex;gap:8px;align-items:center;color:#6d8072;font-size:12px;padding:0 7px 12px;border-bottom:2px solid transparent}.phases b{font-family:Barlow Condensed,sans-serif;font-weight:500;color:#56674f}.phases .current{color:#d8c99e;border-color:#c8b17a}.phases .current b{color:#aaa17b}.turn-bar{display:flex;align-items:center;gap:10px;height:57px;font-size:13px}.timer{margin-left:auto;font-family:monospace;color:#cdbd8c}.battle-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:23px}.table-area{min-width:0}.table-section{background:radial-gradient(ellipse at center,#283b2c 0,#1b2b21 80%);border:1px solid #3d513c;padding:23px;border-radius:7px;margin-bottom:18px}.table-section h2{font-size:14px;color:#c0cbb6}.table-section .section-heading>.muted{font-size:11px}.cards{display:flex;gap:10px;overflow-x:auto;padding:4px 3px 12px;scrollbar-width:thin;scrollbar-color:#53624a transparent}.soldier{--corps: #aaa;width:108px;min-width:108px;height:155px;padding:9px 9px 8px;display:flex;flex-direction:column;justify-content:space-between;gap:0;background:#ecebdb;color:#28372d;border:2px solid #b8bea8;box-shadow:0 3px 8px #0003;border-radius:6px;position:relative;overflow:hidden}.soldier:hover:not(:disabled){background:#f7f5e6;border-color:#d4c181;transform:translateY(-2px)}.soldier.selected{border-color:#e7c46f;box-shadow:0 0 0 2px #d8bb7045}.card-top{display:flex;width:100%;justify-content:space-between;align-items:center}.card-top b{font-family:Barlow Condensed,sans-serif;font-size:27px;line-height:1}.card-top>span{font-size:10px;color:#626e5b;letter-spacing:1px}.card-icon{font-size:38px;line-height:1;color:var(--corps);text-shadow:0 1px 0 #39442b66}.soldier strong{font-size:12px;white-space:normal;line-height:1.1}.card-foot{font-size:8px;letter-spacing:1px;text-transform:uppercase;color:#7b8572;border-top:1px solid #c6cbb8;width:100%;padding-top:3px}.public-field{min-height:272px}.card-slot{width:108px;min-width:108px;height:155px;display:grid;place-items:center;color:#3c5440;border:1px dashed #43583e;border-radius:6px;background:#17291d55}.field-caption{text-align:center;font-size:11px;max-width:650px;margin:auto;color:#7f987f}.table-section .toolbar{margin-top:5px}.table-section .toolbar button{font-size:12px;min-height:34px;padding:6px 10px}.hand-section{padding:18px 0}.hand-section h2{font-size:15px}.hand-section .section-heading>.muted{font-size:11px}.hand-section h3{margin:18px 0 8px;color:#97a990}.hand-cards>div>select{width:108px;font-size:11px;padding:3px;min-height:28px;margin-top:2px}.action-strip{display:flex;align-items:center;justify-content:flex-end;gap:15px;padding:18px 0;border-top:1px solid #34432e;margin-top:10px;color:#9caa8f;font-size:12px}.sidebar{display:flex;flex-direction:column;gap:14px}.sidebar .panel{padding:16px;background:#19231d}.sidebar p{font-size:12px}.sidebar .section-heading{margin-bottom:10px}.sidebar label{margin:10px 0}.sidebar .panel>button,.interaction button{margin:5px 5px 5px 0}.sidebar select{font-size:12px}.detail{border-color:#566448}.skill-list{display:flex;flex-wrap:wrap;gap:7px}.skill{padding:7px 9px;font-size:11px;min-height:33px;background:#242f26}.skill>span{color:#c5ae75}.skill.selected{border-color:#c4b17d;background:#3b402d}.skill-editor{border-top:1px solid #384530;margin-top:12px;padding-top:12px}.skill-editor .primary{margin-top:12px}.interaction{border-color:#bdab71!important;background:#353720!important}.small{width:65px;min-width:65px;height:95px;padding:5px 4px}.small .card-top b{font-size:19px}.small .card-icon{font-size:23px}.small strong{font-size:8px}.small .card-foot{display:none}.small .card-top>span{font-size:8px}.mini-cards{gap:6px}.sidebar .mini-cards{flex-wrap:wrap}.results{border:1px solid #3b4a34;border-radius:7px;overflow:hidden;padding:20px;background:#1b261c}.result-row{padding:14px 0;border-top:1px solid #35432d}.result-row.winner{background:linear-gradient(90deg,#a7984520,transparent);padding:14px 12px;margin:0 -12px}.result-summary{display:flex;align-items:center;gap:12px;font-size:12px}.result-summary .rank{color:#9eac89;font-family:Barlow Condensed,sans-serif;font-size:23px}.result-summary>strong{flex:1}.result-summary>span:not(.rank){color:#a3b093}.result-summary>b{font-size:22px;color:#d8c691}.result-summary small{font-size:9px;color:#929f81;font-weight:400}.result-row>small{font-size:10px}.log p{margin-top:10px;font-size:11px;border-bottom:1px solid #2c392a;padding-bottom:7px}summary{cursor:pointer;font-size:12px;color:#acbba1}.modal-backdrop{position:fixed;inset:0;background:#070d0acb;z-index:100;display:grid;place-items:center;padding:24px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{width:min(680px,100%);max-height:88vh;overflow:auto;padding:30px;background:#1e2a20;border:1px solid #57664a;border-radius:9px}.modal p{margin:16px 0;font-size:13px}.modal h3{margin-top:24px;color:#d3c190}table{border-collapse:collapse;width:100%;font-size:12px}td,th{text-align:left;padding:8px 12px;border-bottom:1px solid #3b4834}th{color:#c4b98a}.connecting{display:flex;gap:15px;justify-content:center;padding:30px}@media(min-width:1500px){.soldier{width:124px;min-width:124px;height:173px}.small{width:65px;min-width:65px;height:95px}}@media(max-width:1000px){.battle{padding:16px}.battle-grid{grid-template-columns:minmax(0,1fr) 240px;gap:15px}.player{padding:10px}.players{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.player .avatar{display:none}.win-dots{position:absolute;right:8px;bottom:8px}.phases{gap:18px}.table-section{padding:15px}.soldier{width:94px;min-width:94px;height:140px}.small{width:58px;min-width:58px;height:86px}.hand-cards>div>select{width:94px}.shared-cards{justify-content:flex-start}}@media(max-width:720px){.topbar{height:62px;padding:0 16px}.brand{font-size:20px;gap:8px}.header-actions{gap:3px}.header-actions .ghost span{display:none}.lobby{padding:35px 18px}.hero h1{font-size:35px}.hero p{font-size:14px}.hero-stats{gap:15px;font-size:10px}.name-field{max-width:100%}.mode-grid{grid-template-columns:1fr;gap:14px}.mode{padding:22px}.room-row{gap:8px;padding:12px 0;flex-wrap:wrap}.room-row code{font-size:10px}.room-row strong{font-size:12px}.room-row button{padding:6px 8px}.battle{padding:10px}.battle-top{gap:6px;margin-bottom:12px}.battle-title{font-size:12px}.battle-title>.muted{display:none}.round-badge{font-size:12px;padding:4px 8px}.players{display:flex;overflow-x:auto;gap:7px;padding-bottom:3px}.player{min-width:142px;padding:10px}.phases{justify-content:space-between;gap:0;margin-top:16px}.phases span{font-size:10px;gap:4px;padding:0 5px 9px}.phases b{font-size:10px}.turn-bar{height:46px;font-size:12px}.battle-grid{display:flex;flex-direction:column;gap:12px}.table-section{padding:14px 10px;margin-bottom:12px}.table-section .section-heading{margin-bottom:10px}.soldier{width:83px;min-width:83px;height:122px;padding:7px 6px}.soldier strong{font-size:10px}.card-icon{font-size:29px}.card-top b{font-size:24px}.card-top>span{font-size:8px}.card-foot{font-size:7px}.cards{gap:7px}.card-slot{width:83px;min-width:83px;height:122px}.public-field{min-height:215px}.shared-cards{justify-content:flex-start}.field-caption{font-size:10px}.hand-section{padding:12px 2px}.hand-cards>div>select{width:83px}.sidebar{display:grid;grid-template-columns:1fr;gap:10px}.sidebar .panel{padding:14px}.sidebar .interaction{order:-2}.sidebar .detail{order:-1}.small{width:53px;min-width:53px;height:78px;padding:4px}.small strong{font-size:7px}.small .card-icon{font-size:19px}.small .card-top b{font-size:16px}.mini-cards{gap:5px}.results{padding:14px}.result-summary{gap:8px;font-size:11px}.result-summary>b{font-size:20px}.result-row>small{font-size:9px}.hand-section .section-heading>.muted{font-size:10px}.action-strip{position:sticky;bottom:0;background:#142019f2;padding:12px 5px;z-index:10;margin-bottom:0;border-bottom:1px solid #34432e}.action-strip button{font-size:12px}.waiting-room{margin:20px auto 50px}.seat{gap:9px;padding:12px 9px}.seat>span:not(.avatar){font-size:10px}.waiting-room h1{font-size:32px}.modal-backdrop{padding:12px}.modal{padding:20px}.table-section .toolbar{gap:6px}.table-section .toolbar button{font-size:11px;padding:6px 8px}.section-heading h2{font-size:14px}footer{font-size:10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.public-field:has(.card-slot){min-height:0}.public-field:has(.card-slot) .shared-cards{display:none}html{min-height:100%}body{min-height:100dvh}.topbar{padding-top:env(safe-area-inset-top);height:calc(76px + env(safe-area-inset-top))}.app{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}footer{padding-bottom:calc(25px + env(safe-area-inset-bottom))}@media(max-width:720px){.topbar{height:calc(62px + env(safe-area-inset-top))}.action-strip{padding-bottom:calc(12px + env(safe-area-inset-bottom))}}@media(display-mode:standalone){body{overscroll-behavior-y:none}}.skill-list{display:grid;grid-template-columns:1fr;gap:8px}.skill{display:grid;grid-template-columns:20px 1fr;text-align:left;justify-items:start;padding:12px;gap:4px 7px}.skill strong{font-size:13px}.skill small,.skill em{grid-column:2;font-size:10px;font-style:normal;line-height:1.5}.skill small{color:#a4b2a0}.skill em{color:#d4c18b}.skill.unavailable{background:#18211c;border-style:dashed;color:#859487}.skill.unavailable em{color:#879588}.skill.selected{border-style:solid;border-color:#cbb785}.timing-badge{color:#d9c799;font-size:11px;border:1px solid #655c3d;border-radius:5px;padding:8px;margin-bottom:10px}.skill-reason{color:#d0a77d!important}.manual-timing{display:block;color:#c2b184;margin:3px 0}.player{min-width:210px;align-items:flex-start;padding:17px 14px}.players{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.player-info strong{font-size:15px}.player-metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.player-metrics>span{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.player-metrics b{font-size:20px;line-height:1.1;color:#e4e8d5}.player-metrics small{font-size:10px;color:#a8b5a0}.base-metric{color:#d3bc7d}.base-metric b{color:#ead29b}.player-extra{font-size:10px;color:#a2b196;margin-top:11px}.win-dots{position:absolute;top:12px;right:10px}.player .avatar{width:32px;height:34px}.player.active{box-shadow:inset 0 3px #cbb785}.connection-banner{display:flex;align-items:center;justify-content:center;gap:9px;min-height:34px;font-size:11px;background:#293327;border-bottom:1px solid #3c4d38;padding:6px 14px}.connection-banner.online{color:#a9c59d;background:#19271d}.connection-banner.reconnecting,.connection-banner.offline{color:#dfbd82;background:#3a3020}.connection-banner.online .status-dot{background:#a9c59d}.connection-banner small{opacity:.6}.connection-banner button{min-height:26px;font-size:11px}.modern-select{position:relative;width:100%;margin-top:7px}.select-trigger{justify-content:space-between;width:100%;min-height:42px;background:#141e18;border:1px solid #48533e;text-align:left;font-size:13px}.select-trigger svg{flex-shrink:0}.select-layer{position:fixed;inset:0;z-index:180;background:#060d0825}.select-menu{position:fixed;max-height:45vh;overflow:auto;padding:6px;border:1px solid #657152;border-radius:9px;background:#223025;box-shadow:0 18px 50px #0008}.select-menu button{display:flex;justify-content:space-between;width:100%;border:0;background:transparent;border-radius:5px;min-height:42px;padding:10px;font-size:13px;text-align:left}.select-menu button[aria-selected=true]{background:#3e4930;color:#ebd59d}.toolbar>.modern-select{width:auto;min-width:110px;margin:0}.hand-cards .modern-select{width:108px}.hand-cards .select-trigger{min-height:30px;padding:5px;font-size:11px}.confirm-dialog{background:#1d2920;border:1px solid #57654a;border-radius:14px;padding:24px;width:min(420px,100%);box-shadow:0 24px 100px #0009}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:26px}.announcement{position:fixed;inset:0;z-index:130;display:grid;place-items:center;pointer-events:none;padding:25px;background:#09130d55;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:notice-in .2s ease-out}.announcement-card{display:flex;align-items:center;flex-direction:column;gap:13px;text-align:center;padding:32px 45px;border:1px solid #b8a47780;background:#19251ff5;box-shadow:0 20px 70px #0007;border-radius:15px;max-width:560px;color:#d5c18b}.announcement-card>span{font-size:10px;letter-spacing:3px;color:#a9b399}.announcement-card strong{font-size:25px;font-weight:600;line-height:1.5}.skill-announcement .announcement-card{padding:25px 36px}.skill-announcement strong{font-size:20px}.skill-announcement{background:#09130d30;-webkit-backdrop-filter:none;backdrop-filter:none}.error{position:fixed;top:calc(85px + env(safe-area-inset-top));left:50%;transform:translate(-50%);width:min(600px,calc(100% - 24px));border-radius:10px;box-shadow:0 12px 50px #0006;z-index:150}@keyframes notice-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:720px){.player{min-width:205px;padding:14px 12px}.player-info strong{font-size:14px}.player-metrics b{font-size:21px}.player .avatar{display:none}.win-dots{bottom:auto;top:8px}.player-extra{font-size:10px}.hand-cards .modern-select{width:83px}.announcement-card{width:100%;padding:26px 17px}.announcement-card strong{font-size:23px}.skill-announcement strong{font-size:18px}.connection-banner{justify-content:flex-start;font-size:10px}.connection-banner strong{flex:1}.skill-list{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}}.corps-info{margin:0 0 14px;border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:#ffffff06}.corps-info>button{gap:8px}.corps-list{display:flex;flex-wrap:wrap;gap:8px;padding:10px 0 4px}.corps-list>span{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;background:#beb17b1a;font-size:13px}.corps-list b{font-size:20px;color:var(--gold)}.corps-list small{opacity:.65;font-size:10px}.log[open]{max-height:480px;overflow-y:auto}.log p{line-height:1.8;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:10px;overflow-wrap:anywhere}.results>.primary{width:100%;margin-top:20px;min-height:48px}.soldier.selected,.soldier.selected:hover:not(:disabled){border-color:#ffd76a;box-shadow:inset 0 0 0 2px #dcae3d,0 0 0 2px #ffd76a,0 0 15px #edbd4f66;background:#fff7d7}.first-player{display:inline-block;color:#ffd76a!important;border:1px solid #b89a52;border-radius:4px;padding:2px 5px;margin-left:6px;font-size:10px}.removal-panel{border:2px solid #c2a557;background:#293022;margin:16px 0}.removal-panel h3{display:flex;align-items:center;gap:8px;color:#f0d38a;font-size:18px}.removal-panel p{line-height:1.7}.removal-panel details{border-top:1px solid #636347;padding:10px 0}.removal-panel summary{cursor:pointer;font-weight:600;color:#e3cf9d}.removal-panel .cards{padding:12px 4px}.removal-panel small{display:block;margin-top:10px;color:#c4c7b4}.header .connection-banner{margin-left:auto}header .connection-banner{justify-content:flex-end;margin-left:auto;gap:6px;border:1px solid #475c40;border-radius:20px;min-height:28px;padding:4px 9px;flex-wrap:wrap;max-width:260px}header .header-actions{margin-left:10px}@media(max-width:600px){header{flex-wrap:wrap}header .connection-banner{order:1;margin-left:auto;max-width:calc(100% - 140px);font-size:10px}header .header-actions{order:2;margin-left:auto}header .connection-banner small{display:none}}header .header-actions{order:2;margin-left:auto}header .connection-banner{order:3;margin-left:14px}@media(max-width:600px){.topbar:has(.connection-banner){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 8px;height:auto;min-height:88px;padding:8px 14px}.topbar:has(.connection-banner) .brand{grid-column:1;grid-row:1;font-size:17px;gap:7px;letter-spacing:1px}.topbar:has(.connection-banner) .brand-mark{width:25px;height:28px}.topbar .connection-banner{grid-column:2;grid-row:1;margin:0;max-width:150px}.topbar:has(.connection-banner) .header-actions{grid-column:1 / -1;grid-row:2;justify-self:end;margin:0}}@font-face{font-family:FusionPixel;src:url(/fonts/fusion-pixel.woff2) format("woff2");font-display:swap}:root{--ink: #081a20;--bg: #102b28;--surface: #153e32;--table: #176b48;--leaf: #55e34b;--gold: #ffd83d;--coral: #ff6347;--paper: #fff3d6;--muted: #afd4b0;--edge: #398458;--font-game: FusionPixel, "PingFang SC", monospace;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--motion-fast: .14s;--motion-enter: .26s;font-family:var(--font-game);background:var(--bg);color:var(--paper);font-size:14px;line-height:1.5;color-scheme:dark}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{min-height:0}button,input,select,textarea{font-family:var(--font-game)}button{border:2px solid var(--edge);border-radius:0;background:var(--surface);color:var(--paper);box-shadow:0 3px 0 var(--ink);min-height:38px;transition:transform var(--motion-fast),background var(--motion-fast);touch-action:manipulation}button:hover:not(:disabled){background:#23583f;border-color:var(--leaf);transform:translateY(-2px)}button:active:not(:disabled){transform:translateY(2px);box-shadow:none}button:disabled{opacity:.45}button.primary{background:var(--gold);border:2px solid #fff09a;color:var(--ink);box-shadow:0 4px #8c6725}button.primary:hover:not(:disabled){background:#ffe875;border-color:var(--paper)}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}input,select{border:2px solid var(--edge);border-radius:0;background:var(--ink);color:var(--paper);font-size:16px}h1,h2,h3,strong,b{font-family:var(--font-game)}h1{font-size:32px;letter-spacing:0}h2{font-size:18px}h3{font-size:14px}p,.muted,label{color:var(--muted)}.eyebrow{color:var(--gold);letter-spacing:3px;font-size:12px}.panel,.modal,.confirm-dialog{border:2px solid var(--edge);border-radius:0;background:var(--bg);box-shadow:5px 5px 0 var(--ink)}.section-heading{gap:8px;margin-bottom:10px}.count{background:var(--table);color:var(--paper);border-radius:0}.ghost{background:transparent;color:var(--paper)}.pixel-icon{flex-shrink:0}.app{height:100dvh;position:relative;isolation:isolate;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overflow:hidden;background:linear-gradient(#081a2080,#081a20bc),url(/art/jungle-camp.webp) center center/cover no-repeat}.app.at-home{background:linear-gradient(#081a2010,#081a2010 60%,#081a2080),url(/art/jungle-camp.webp) center center/cover no-repeat}.app:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;box-shadow:inset 0 0 120px #081a2050}.app>footer{display:none}.topbar{height:64px;padding:10px 24px;border:0;background:#081a2080}.brand{font-family:var(--font-game);font-size:20px;color:var(--paper);letter-spacing:1px}.brand-mark{padding:0;border:0;background:transparent;box-shadow:none}.brand-mark img{width:40px;height:40px;image-rendering:pixelated}.header-actions button{box-shadow:none}.at-home .topbar{position:absolute;top:0;left:0;right:0;background:none;z-index:2}.at-home .brand{visibility:hidden}.home-screen{height:100%;display:flex;flex-direction:column;align-items:center;padding:clamp(65px,9vh,110px) 20px 20px;justify-content:flex-start;text-align:center}.home-title{animation:pixel-in .5s steps(5) both}.home-title .eyebrow{text-shadow:2px 2px var(--ink)}.game-logo{display:block;width:min(470px,70vw);height:clamp(150px,29vh,290px);object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 6px 0 #081a2080)}.home-title p{color:var(--paper);font-size:18px;text-shadow:2px 2px var(--ink);letter-spacing:5px;margin-top:-8px}.home-menu{display:grid;gap:12px;width:240px;margin-top:clamp(26px,6vh,65px);animation:pixel-in .45s steps(5) .12s both}.home-menu button{min-height:48px;font-size:18px;gap:14px;background:#102b28ed;border-color:#61aa65}.home-menu button.primary{background:var(--gold)}.home-meta{margin-top:auto;display:flex;gap:25px;font-size:12px;color:var(--paper);text-shadow:2px 2px var(--ink);padding-top:18px}.portrait{display:block;aspect-ratio:1;background-size:300% 300%;background-position:var(--portrait-x) var(--portrait-y);image-rendering:pixelated;flex-shrink:0;width:48px}.avatar{padding:0;background:var(--ink);border:2px solid var(--edge);border-radius:0;width:44px;height:44px;overflow:hidden}.avatar .portrait{width:100%}.profile-dialog{width:min(440px,calc(100vw - 28px));max-height:90dvh;overflow:auto;padding:22px;animation:pixel-in var(--motion-enter) steps(4)}.avatar-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.avatar-picker button{padding:5px;display:flex;flex-direction:column;gap:4px;font-size:12px}.avatar-picker .portrait{width:100%;max-width:80px}.avatar-picker button[aria-pressed=true]{border-color:var(--gold);background:var(--table);box-shadow:0 3px var(--gold)}.lobby{height:calc(100% - 64px);overflow:auto;max-width:1000px;margin:auto;padding:26px 30px 40px;animation:pixel-in var(--motion-enter) steps(4)}.lobby-heading{display:flex;align-items:center;gap:18px;margin-bottom:26px}.lobby-heading>div{flex:1}.profile-chip{padding:4px 10px 4px 4px;max-width:220px}.profile-chip .portrait{width:36px}.profile-chip span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mode-grid{display:block;margin-bottom:26px}.mode-grid .mode{padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:14px 22px}.mode-icon{display:none}.mode h2,.mode p{grid-column:1/-1}.mode p{margin:0}.mode label{grid-column:1}.mode>.primary{grid-column:2;align-self:end}.join-row{grid-column:1/-1;margin:0}.room-list{background:#102b28ed;border:2px solid var(--edge);padding:20px}.room-row{border-color:var(--edge)}.waiting-room{height:calc(100% - 64px);max-width:900px;overflow:auto;margin:auto;padding:22px 32px}.waiting-room h1{margin:12px 0}.seat-list{margin:22px 0;display:grid;gap:10px}.seat{border:2px solid var(--edge);border-radius:0;background:#102b28eb;padding:10px 16px}.seat.filled{background:#153e32ed}.ready{color:var(--leaf)}.code-button{color:var(--gold);font-family:var(--font-game)}.error{position:fixed;top:10px;left:50%;transform:translate(-50%);z-index:140;width:min(600px,92vw);border:2px solid var(--coral);background:var(--bg);color:var(--paper)}.in-game .topbar{height:0;padding:0;overflow:visible;background:none}.in-game .topbar>.brand,.in-game .topbar>.header-actions{display:none}.in-game .connection-banner{position:absolute;bottom:5px;left:12px;z-index:12;font-size:10px;padding:2px 6px;background:var(--bg);border:0}.in-game .connection-banner.online{opacity:.75}.battle{max-width:none;width:100%;height:100%;padding:14px 18px 25px;margin:0;display:grid;grid-template-columns:186px minmax(0,1fr) 236px;grid-template-rows:42px 42px minmax(0,1fr);gap:10px 16px;position:relative}.battle-top{grid-column:1;grid-row:1;gap:6px;margin:0;min-width:0;flex-wrap:nowrap}.battle-top>.ghost{padding:4px 7px;font-size:12px}.battle-title{display:none}.round-badge{position:absolute;left:22px;bottom:7px;border:0;padding:0;font-family:var(--font-game);font-size:12px;color:var(--gold)}.roster-toggle{padding:4px 8px;font-size:12px}.phases{grid-column:2;grid-row:1;margin:0;padding:0;border:0;gap:4px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-width:0}.phases span{padding:7px 3px;justify-content:center;gap:6px;font-size:12px;background:#102b28e6;border:2px solid var(--edge);color:var(--muted);white-space:nowrap}.phases b{font-family:var(--font-game);color:var(--muted)}.phases .current{background:var(--gold);border-color:var(--paper);color:var(--ink);box-shadow:0 3px #8c6725}.phases .current b{color:var(--ink)}.battle>.corps-info{grid-column:3;grid-row:1;margin:0;border:0;padding:0;position:relative;z-index:15;background:none}.corps-info>button{width:100%;font-size:12px}.corps-list{position:absolute;right:0;top:44px;width:260px;padding:14px;background:var(--bg);border:2px solid var(--gold);display:grid;grid-template-columns:1fr 1fr;gap:8px}.corps-list>span{background:none;border:0;padding:0;color:var(--paper);display:flex;align-items:center;gap:5px}.corps-list .portrait{width:36px}.corps-list small{display:none}.battle-utilities{grid-column:3;grid-row:2;display:flex;justify-content:flex-end;gap:6px}.battle-utilities button{padding:5px 8px;font-size:12px;flex:1}.turn-bar{grid-column:2;grid-row:2;height:auto;padding:0 12px;background:#102b28dd;border-left:3px solid var(--leaf);font-size:12px;min-width:0}.turn-bar strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.status-dot.live{background:var(--leaf)}.players{grid-column:1;grid-row:2/4;display:flex;flex-direction:column;gap:8px;min-height:0;overflow-y:auto;padding:0 4px 5px 0}.players.collapsed{visibility:hidden}.player{flex:none;min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr);padding:8px;gap:8px;border:2px solid var(--edge);border-radius:0;background:#102b28eb}.player.active{border-color:var(--gold);background:#285335;box-shadow:3px 3px 0 var(--ink)}.player.you{box-shadow:inset 3px 0 var(--leaf)}.player .avatar{width:38px;height:38px}.player-info strong{font-size:12px}.player-info strong small{font-size:10px;color:var(--gold)}.player-metrics{grid-template-columns:1fr 1fr;gap:3px;margin-top:5px}.player-metrics>span{gap:3px;flex-wrap:nowrap}.player-metrics b{font-size:14px;color:var(--paper)}.player-metrics small{font-size:10px;color:var(--muted)}.player-metrics .pixel-icon{width:12px;height:12px}.player-extra{font-size:10px;line-height:1.4;margin-top:5px;color:var(--muted)}.win-dots{position:absolute;top:54px;left:9px;gap:2px}.win-dots .won{background:var(--gold)}.battle-grid{grid-column:2/4;grid-row:3;display:grid;grid-template-columns:minmax(0,1fr) 236px;gap:16px;min-height:0}.table-area{min-width:0;min-height:0;display:flex;flex-direction:column;gap:10px}.table-section,.hand-section,.results{min-height:0;margin:0;border:3px solid #398458;border-radius:0;padding:10px 14px;background:linear-gradient(#176b48e8,#102b28f5),url(/art/jungle-camp.webp) center 70% / cover;box-shadow:inset 0 0 0 3px #081a2050,4px 4px 0 var(--ink);position:relative}.table-section{flex:1;display:flex;flex-direction:column;justify-content:center}.table-section .section-heading,.hand-section .section-heading{flex:none;margin-bottom:5px}.table-section h2,.hand-section h2{font-size:14px;color:var(--paper)}.table-section .cards{min-height:0;flex:1;align-items:center}.cards{gap:10px;overflow-x:auto;overflow-y:hidden;padding:6px 4px 9px;scrollbar-width:thin;scrollbar-color:var(--edge) transparent;min-width:0;flex-wrap:nowrap}.cards>div{flex-shrink:0}.soldier{--card-w: 94px;position:relative;display:flex;flex-direction:column;flex:none;align-items:stretch;justify-content:flex-start;gap:0;width:var(--card-w);height:133px;min-height:0;padding:4px;background:var(--paper);border:3px solid var(--corps);border-radius:0;color:var(--ink);box-shadow:3px 4px 0 var(--ink);overflow:visible;transition:transform var(--motion-fast),border-color var(--motion-fast);animation:card-deal var(--motion-enter) steps(5) both}.soldier:hover:not(:disabled){background:#fff8e7;border-color:var(--gold);transform:translateY(-4px)}.soldier.selected,.soldier.selected:hover:not(:disabled){background:var(--paper);border:3px solid var(--gold);box-shadow:0 0 0 2px var(--ink),0 0 0 4px var(--gold),3px 6px 0 var(--ink);transform:translateY(-4px)}.card-top{position:absolute;z-index:1;top:4px;left:4px;right:4px;display:flex;justify-content:space-between;align-items:flex-start;color:var(--paper);font-size:10px}.card-top b{display:block;padding:0 4px;background:var(--corps);color:var(--ink);font-size:20px;line-height:1.1;text-shadow:none}.card-top>span{background:var(--ink);color:var(--gold);padding:1px 3px}.card-art{width:100%;aspect-ratio:1;flex-shrink:1;min-height:0;border-bottom:2px solid var(--corps)}.soldier strong{font-size:12px;color:var(--ink);line-height:1.4;padding:2px 0 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.card-foot{font-size:9px;color:#475d35;padding:0;line-height:1.1;letter-spacing:1px}.soldier.small{--card-w: 68px;width:68px;height:98px;padding:3px}.soldier.small strong{font-size:10px}.soldier.small .card-top b{font-size:15px}.soldier.small .card-foot{display:none}.card-slot{height:100px;width:72px;min-width:72px;border:2px dashed #72aa6990;border-radius:0;background:#081a2030;color:#72aa69}.shared-cards{justify-content:center}.table-section .toolbar{gap:6px;margin:4px 0 0;flex:none;flex-wrap:wrap}.table-section .toolbar button{font-size:12px;min-height:30px;padding:4px 9px}.field-caption{font-size:11px;line-height:1.3;margin:2px 0 0;color:var(--muted)}.hand-section{flex:0 0 38%;display:flex;flex-direction:column;background:linear-gradient(#102b28ee,#081a20fa),url(/art/jungle-camp.webp) center bottom/cover;border-color:#7fa85e;padding-bottom:8px}.hand-cards{flex:1;align-items:center;min-height:0}.hand-cards>div{position:relative}.hand-section .action-strip{position:static;background:none;padding:5px 0 0;border-top:1px solid var(--edge);min-height:40px;margin-top:auto;flex:none;gap:8px;box-shadow:none}.action-strip button{font-size:12px;min-height:32px;padding:5px 12px}.hand-section h3{font-size:11px;margin:3px 0}.hand-section>.mini-cards{flex:0 0 auto;max-height:85px}.hand-section .mini-cards .soldier{height:70px;width:48px}.hand-section .mini-cards .soldier strong{display:none}.sidebar{min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:0 5px 5px 0}.sidebar .panel{padding:12px;margin:0;flex:none}.sidebar p{font-size:12px;line-height:1.6}.sidebar .skill{border-radius:0}.skill.selected{border-color:var(--gold)}.skill.available{border-left:3px solid var(--leaf)}.skill small,.skill em{font-size:10px}.timing-badge{border-radius:0;color:var(--gold);border-color:var(--edge)}.tools-close{display:none}.detail{position:absolute;right:270px;bottom:80px;z-index:35;width:260px;padding:15px;animation:pixel-in var(--motion-enter) steps(4);border-color:var(--gold);box-shadow:6px 6px var(--ink)}.detail .detail-portrait{width:86px;float:left;margin:0 12px 5px 0}.detail p{font-size:12px;line-height:1.8;color:var(--paper)}.detail:after{content:"";display:block;clear:both}.battle-log{position:absolute;right:20px;top:106px;width:min(400px,calc(100% - 40px));max-height:65%;overflow:auto;z-index:40;padding:16px}.battle-log p{font-size:12px;border-bottom:1px solid var(--edge);padding:8px 0}.results{flex:1;overflow-y:auto}.result-row{border-color:var(--edge);border-radius:0;padding:9px}.result-row.winner{background:#ffd83d15;border-color:var(--gold)}.result-summary{font-size:12px;gap:6px}.result-summary b{color:var(--gold)}.modal-backdrop{z-index:100;background:#081a20c9;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:14px}.modal{max-height:90dvh;overflow:auto;animation:pixel-in var(--motion-enter) steps(4)}.modern-select .select-trigger{border-radius:0;background:var(--ink);border-color:var(--edge)}.select-menu{border-radius:0!important;background:var(--bg)!important}.removal-panel{max-height:180px;overflow:auto;flex-shrink:0}.announcement{font-family:var(--font-game)}@keyframes pixel-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes card-deal{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pixel-stretch{0%{transform:scaleX(.92)}to{transform:scaleX(1)}}.animate-fade{animation:pixel-in var(--motion-enter) steps(4) both}.animate-stretch{animation:pixel-stretch var(--motion-enter) steps(4) both}.animate-type{animation:pixel-in .4s steps(8) both}@media(min-width:1400px)and (min-height:850px){.soldier{--card-w: 112px;height:157px}.battle{grid-template-columns:210px minmax(0,1fr) 260px;gap:14px 20px}.battle-grid{grid-template-columns:minmax(0,1fr) 260px}.player{padding:12px}.player-metrics{gap:6px}}@media(max-width:1100px){.battle{grid-template-columns:154px minmax(0,1fr) 190px;gap:8px}.battle-grid{grid-template-columns:minmax(0,1fr) 190px;gap:8px}.player{grid-template-columns:30px minmax(0,1fr);gap:5px;padding:6px}.player .avatar{width:30px;height:30px}.player-metrics small{display:none}.player-extra{font-size:9px}.phases span{gap:3px;font-size:11px}.detail{right:215px}.battle-utilities button{padding:4px;font-size:11px}}@media(max-width:900px){.battle{padding:8px 10px 22px;grid-template-columns:1fr auto;grid-template-rows:36px 38px 28px minmax(0,1fr);gap:7px}.battle-top{grid-column:1;grid-row:1}.battle>.corps-info{grid-column:2;grid-row:1;min-width:110px}.phases{grid-column:1/-1;grid-row:2}.turn-bar{grid-column:1;grid-row:3;padding:0 7px}.battle-utilities{grid-column:2;grid-row:3;gap:4px}.battle-utilities button{min-height:28px;font-size:10px;padding:2px 5px}.battle-utilities button:first-child{display:none}.players{position:absolute;top:50px;left:10px;width:205px;bottom:30px;z-index:45;background:var(--bg);padding:8px;border:2px solid var(--edge);box-shadow:6px 6px var(--ink)}.players.collapsed{display:none}.player{grid-template-columns:36px minmax(0,1fr)}.player .avatar{width:36px;height:36px}.player-metrics small{display:inline}.battle-grid{grid-column:1/-1;grid-row:4;grid-template-columns:minmax(0,1fr);gap:0}.sidebar{display:none;position:absolute;right:10px;top:120px;bottom:28px;width:min(310px,calc(100% - 20px));padding:10px;z-index:40;background:var(--bg);border:2px solid var(--gold);box-shadow:5px 5px var(--ink)}.sidebar.tools-open{display:flex}.tools-close{display:block;flex:none;align-self:flex-end;font-size:12px;min-height:30px}.detail{right:12px;bottom:65px;width:240px}.battle-log{top:118px;right:10px}.table-area{gap:7px}.hand-section{flex-basis:39%}.table-section,.hand-section{padding:8px 10px}.round-badge{left:auto;right:12px;bottom:3px;font-size:10px}.in-game .connection-banner{bottom:1px;font-size:9px;left:10px}.phases b{font-size:10px}.game-logo{width:min(450px,86vw)}.home-title p{font-size:16px}.topbar{padding:8px 14px}.brand{font-size:16px}}@media(max-width:560px){.home-screen{padding-top:12vh}.home-title .eyebrow{font-size:10px;letter-spacing:2px}.game-logo{height:24vh;width:88vw}.home-title p{font-size:14px;letter-spacing:3px}.home-menu{margin-top:6vh;width:220px;gap:12px}.home-menu button{min-height:46px;font-size:16px}.home-meta{flex-direction:column;gap:3px;font-size:10px}.lobby{padding:18px 14px 35px}.lobby-heading{gap:10px;flex-wrap:wrap}.lobby-heading h1{font-size:25px}.lobby-heading .eyebrow{font-size:10px}.profile-chip{max-width:145px;font-size:12px}.profile-chip .portrait{width:28px}.mode-grid .mode{display:flex;flex-direction:column;padding:16px;gap:12px}.room-list{padding:14px}.room-row{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0}.room-row strong{flex:1;min-width:80px}.room-row code{font-size:11px}.waiting-room{padding:16px}.waiting-room h1{font-size:26px}.seat{padding:8px;gap:8px}.seat>span{font-size:12px}.waiting-room .toolbar{gap:8px}.waiting-room .toolbar>*{max-width:100%}.battle{padding:6px 7px 18px;gap:5px}.battle-top{gap:4px}.battle-top>.ghost,.roster-toggle{font-size:11px;padding:3px 6px;min-height:30px}.phases span{font-size:11px;padding:5px 1px;gap:4px}.phases b{display:none}.battle>.corps-info>button{font-size:11px;padding:4px 6px;min-height:30px}.turn-bar{font-size:11px;gap:5px}.battle-utilities button{font-size:10px}.table-area{gap:6px}.table-section,.hand-section{padding:6px 8px;border-width:2px}.section-heading h2,.hand-section h2,.table-section h2{font-size:12px}.section-heading .muted{font-size:10px!important}.cards{gap:7px;padding:5px 3px 7px}.soldier{--card-w: 70px;height:102px;padding:3px;border-width:2px}.soldier strong{font-size:10px}.card-top b{font-size:16px}.card-top>span{font-size:8px}.card-foot{font-size:7px}.soldier.selected,.soldier.selected:hover:not(:disabled){border-width:2px;box-shadow:0 0 0 1px var(--ink),0 0 0 3px var(--gold),2px 4px var(--ink)}.table-section .toolbar{gap:5px;flex-wrap:nowrap;overflow-x:auto;padding:3px 1px}.table-section .toolbar button{font-size:10px;padding:4px 6px;min-height:28px;white-space:nowrap;flex:none}.card-slot{height:75px;width:55px;min-width:55px}.field-caption{font-size:9px;line-height:1.3}.hand-section{flex-basis:40%}.action-strip{font-size:10px}.action-strip button{font-size:11px;padding:4px 8px;min-height:30px}.hand-section .action-strip{min-height:36px}.hand-section>.mini-cards{max-height:65px}.hand-section .mini-cards .soldier{height:50px;width:36px}.hand-section h3{font-size:10px}.result-summary{flex-wrap:wrap;font-size:11px}.result-summary b{font-size:18px}.result-row .mini-cards .soldier{width:47px;height:70px}.result-row .mini-cards .soldier strong{font-size:8px}.detail{bottom:58px;width:220px;padding:12px}.profile-dialog{padding:16px}.avatar-picker .portrait{max-width:65px}.header-actions{gap:3px}.header-actions button{font-size:12px;padding:5px 7px}}@media(max-height:690px){.soldier{--card-w: 70px;height:99px}.card-foot{display:none}.card-slot{height:68px;width:52px;min-width:52px}.table-section .section-heading,.hand-section .section-heading{margin-bottom:2px}.field-caption{display:none}.table-section .toolbar button{min-height:27px;padding:3px 6px}.hand-section{flex-basis:40%}.home-screen{padding-top:40px}.home-menu{margin-top:20px;gap:8px}.game-logo{height:26vh}.home-title p{font-size:13px}.home-menu button{min-height:36px;font-size:14px}.home-meta{font-size:9px}.table-section,.hand-section{padding-top:4px;padding-bottom:4px}}@media(max-height:480px)and (min-width:600px){.battle{grid-template-rows:30px 26px minmax(0,1fr);grid-template-columns:120px minmax(0,1fr) 170px}.battle-top{grid-column:1;grid-row:1}.phases{grid-column:2;grid-row:1}.battle>.corps-info{grid-column:3;grid-row:1}.turn-bar{grid-column:2;grid-row:2}.battle-utilities{grid-column:3;grid-row:2}.battle-grid{grid-column:1/-1;grid-row:3;display:block}.table-area{display:grid;height:100%;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.table-area>.hand-section{grid-column:2;grid-row:1/3}.table-area>.results{grid-column:1;grid-row:1/3}.soldier{--card-w: 56px;height:78px}.soldier strong{font-size:9px}.card-top b{font-size:13px}.table-section .toolbar button{font-size:9px;min-height:24px;padding:2px 4px}.section-heading h2{font-size:11px}.card-slot{height:40px}.home-screen{padding-top:20px}.home-title .eyebrow{display:none}.game-logo{height:30vh}.home-menu{margin-top:14px;gap:6px}.home-menu button{min-height:30px;padding:4px}.home-meta{padding-top:6px}.table-section .cards{padding:3px}.sidebar{top:73px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}:root{--pixel-cut: polygon( 0 6px, 3px 6px, 3px 3px, 6px 3px, 6px 0, calc(100% - 6px) 0, calc(100% - 6px) 3px, calc(100% - 3px) 3px, calc(100% - 3px) 6px, 100% 6px, 100% calc(100% - 6px) , calc(100% - 3px) calc(100% - 6px) , calc(100% - 3px) calc(100% - 3px) , calc(100% - 6px) calc(100% - 3px) , calc(100% - 6px) 100%, 6px 100%, 6px calc(100% - 3px) , 3px calc(100% - 3px) , 3px calc(100% - 6px) , 0 calc(100% - 6px) );--wood-light: #bc9652;--wood: #664624;--wood-dark: #302b1e}button:not(.soldier){clip-path:var(--pixel-cut);border-top:3px solid #659866;border-left:3px solid #659866;border-right:3px solid #092920;border-bottom:5px solid #081a20;background-image:linear-gradient(#ffffff0c,#00000010);box-shadow:inset 0 2px #ffffff1a,inset 0 -2px #00000038;transform:translateY(0)}button:not(.soldier):hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.1)}button:not(.soldier):active:not(:disabled){transform:translateY(3px);border-bottom-width:2px;box-shadow:inset 0 2px #00000040}.primary:not(.soldier){border-top-color:#fff4b1;border-left-color:#ffe98a;border-right-color:#b58b22;border-bottom-color:#795222;box-shadow:inset 0 2px #fff3b0,inset 0 -2px #d8a62c}.ghost:not(.soldier){background-color:#102b28d9}.panel,.seat,.player,.room-list,.table-section,.hand-section,.phases>span{clip-path:var(--pixel-cut)}.panel{border-top-color:#62935e;border-left-color:#62935e;border-bottom:4px solid var(--ink);border-right:4px solid var(--ink);box-shadow:inset 0 0 0 2px #081a2060}.panel.detail,.profile-dialog,.modal,.confirm-dialog{clip-path:none}.market-section{background:linear-gradient(90deg,#302b1efa,#664624e8);border-color:var(--wood-light);padding-left:110px;box-shadow:inset 0 3px #e0b866,inset 0 -5px #302b1e}.market-section .barkeep{position:absolute;left:5px;top:7px;bottom:7px;width:94px;background:url(/art/quartermaster.webp) center center/cover;image-rendering:pixelated;border:3px solid var(--wood-light);clip-path:var(--pixel-cut)}.barkeep-label{font-size:10px;color:var(--gold);margin-left:auto}.market-section .toolbar{justify-content:flex-start}.public-field{background:linear-gradient(#102b2840,#102b2840),url(/art/battle-board.webp) center/100% 100% no-repeat;border-color:#a3ac65;padding:13px 20px}.phase-public .public-field,.phase-deploy .public-field{border-color:var(--gold);box-shadow:inset 0 0 0 3px #ffd83d30,4px 4px var(--ink)}.phase-deploy .public-field:before{content:"";position:absolute;top:0;left:50%;width:28%;height:3px;transform:translate(-50%);background:var(--coral)}.hand-section{border-top:5px solid var(--wood-light);border-left:5px solid var(--wood);border-right:5px solid var(--wood-dark);border-bottom:7px solid var(--wood-dark);background:repeating-linear-gradient(0deg,transparent 0 28px,#ffffff03 28px 30px),linear-gradient(100deg,#132d25f8,#224635f5,#132d25f8);box-shadow:inset 0 0 0 3px #09221b,inset 0 8px #00000028}.hand-section:before,.hand-section:after{content:"";position:absolute;width:7px;height:7px;background:var(--gold);border:2px solid #8f6e29;top:6px;pointer-events:none}.hand-section:before{left:5px}.hand-section:after{right:5px}.hand-section>.section-heading{padding:0 7px}.soldier{border-top-color:color-mix(in srgb,var(--corps),white 35%);border-bottom-width:5px;border-right-width:4px;box-shadow:2px 3px 0 var(--ink);clip-path:polygon(0 4px,4px 4px,4px 0,calc(100% - 4px) 0,calc(100% - 4px) 4px,100% 4px,100% calc(100% - 4px),calc(100% - 4px) calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 4px),0 calc(100% - 4px))}.soldier.selected{filter:drop-shadow(0 0 2px var(--gold))}.portrait{image-rendering:pixelated}.phases .current{border-bottom:4px solid #a77d23}@media(max-width:560px){.market-section{padding-left:71px}.market-section .barkeep{width:58px;left:4px;top:5px;bottom:5px}.barkeep-label{display:none}.public-field{padding:8px 10px}.hand-section{border-left-width:3px;border-right-width:3px;border-bottom-width:5px}.market-section .toolbar{margin-left:-63px;padding-left:2px;position:relative;z-index:1;background:#302b1eec}.market-section .barkeep{bottom:39px}.market-section .section-heading>.muted{display:none}}@media(max-height:480px)and (min-width:600px){.market-section{padding-left:64px}.market-section .barkeep{width:52px;bottom:32px}.barkeep-label{display:none}.market-section .toolbar{margin-left:-55px;background:#302b1eec;z-index:1}.public-field{padding:5px 8px}}.in-game .topbar{min-height:0!important;height:0!important;margin:0;border:0;display:block}.at-home .topbar{display:none}.soldier{min-width:var(--card-w);animation-fill-mode:backwards}.soldier.small{min-width:68px}.player .avatar{display:flex}.win-dots{bottom:auto;right:auto}.table-area,.table-section,.hand-section,.battle-grid{min-width:0}.battle-grid{width:auto}.battle .turn-bar{max-width:none}.battle .turn-bar strong{min-width:0}.phase-announcement,.announcement-card,.turn-announcement{border-radius:0!important;border-color:var(--gold)!important;background:var(--bg)!important}.home-menu button{background-color:var(--bg)}.home-menu button.primary{background-color:var(--gold)}@media(max-width:900px){.players{overflow-x:hidden}.battle .turn-bar{min-height:0}.in-room .topbar,.at-lobby .topbar{min-height:64px;height:64px;display:flex}.soldier.small{min-width:68px}}@media(max-width:560px){.hand-cards>div,.hand-cards .modern-select{width:auto;min-width:0}.hand-cards .modern-select{max-width:70px}.result-row .mini-cards .soldier{min-width:47px}.hand-section .mini-cards .soldier{min-width:36px}}@media(max-height:480px)and (min-width:600px){.table-area{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.table-section,.hand-section{width:auto;min-width:0}.battle>.battle-grid{min-width:0}.battle .turn-bar strong{font-size:10px}.soldier{min-width:56px}}.table-area>.table-section{flex:1}.table-area>.hand-section{flex-basis:42%}.market-section .market-cards{align-items:center}.public-field .shared-cards{align-items:center;justify-content:center}.phase-buy .market-section{background:repeating-linear-gradient(0deg,transparent 0 48px,#1c1e1660 48px 51px),linear-gradient(100deg,#392c1af5,#6a4c2aed,#392c1af5);padding-left:150px}.phase-buy .barkeep{width:130px;top:10px;bottom:10px}.phase-buy .market-cards .soldier{--card-w: clamp(84px, 8vw, 120px);height:calc(var(--card-w) * 1.42)}@media(max-width:560px){.phase-buy .market-section{padding-left:82px}.phase-buy .barkeep{width:68px;top:7px;bottom:43px}.phase-buy .market-cards .soldier{--card-w: 80px;height:114px}.phase-buy .market-section .toolbar{margin-left:-73px}.table-area>.hand-section{flex-basis:43%}}@media(max-height:480px)and (min-width:600px){.table-area{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.table-area>.hand-section{grid-column:2;grid-row:1}.table-area>.table-section,.table-area>.results{grid-column:1;grid-row:1}.phase-buy .market-section{padding-left:64px}.phase-buy .barkeep{width:52px;bottom:40px}.phase-buy .market-cards .soldier{--card-w: 64px;height:91px}.phase-buy .market-section .toolbar{margin-left:-55px}}.portrait{background-size:cover;background-position:center center}.phase-announcement{background:#081a2055!important;-webkit-backdrop-filter:none;backdrop-filter:none}.announcement-card{border:3px solid var(--gold)!important;clip-path:var(--pixel-cut);box-shadow:inset 0 3px #fff3d630,6px 6px var(--ink);color:var(--paper)}.turn-bar strong{display:block;padding:0;margin:0;border:0;box-shadow:none;background:none;line-height:1.4;clip-path:none}.in-game .connection-banner{min-height:0;margin:0}.animate-type{animation:pixel-type .7s steps(16) both}@keyframes pixel-type{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.card-art{background-color:#153e32;background-size:contain;background-repeat:no-repeat;background-position:center bottom}.tier-2 .card-art{background-color:#334b30}.tier-2{border-color:var(--gold)}.tier-2 .card-foot{color:#956600}.tier-2 .card-top>span{background:var(--gold);color:var(--ink)}.avatar .portrait,.avatar-picker .portrait{background-color:#173e32;background-size:contain;background-repeat:no-repeat}.avatar-picker button[aria-pressed=true] .portrait{background-color:#316044}@media(max-width:900px){.battle>.players{grid-area:auto;top:122px;bottom:28px;max-height:none}.battle>.players .player{min-width:0}}.soldier,.soldier.selected{background:#f4dfaa;border-color:#c79c51}.soldier .card-art,.soldier strong,.soldier .card-foot{background-color:transparent;border:0;box-shadow:none}.soldier .card-top b{background:transparent;padding:0 2px}.soldier .card-top>span{background:transparent;color:#614218}.soldier .card-foot{color:#936408}.soldier.small .card-foot{display:block;font-size:8px}.player-rail,.roster-close{display:none}.battle-utilities{grid-column:3;grid-row:1;justify-content:flex-end}.battle-utilities .corps-info{position:relative}.battle-utilities button{width:40px;min-height:34px;padding:5px}.battle-utilities button:first-child{display:inline-flex}.turn-bar{grid-column:2 / 4}.battle-grid{grid-template-columns:minmax(0,1fr)}.table-area{position:relative;display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.table-area>.hand-section,.table-area>.table-section{min-height:0;height:auto;margin:0}.phase-finished .table-area>.results{grid-row:1 / -1}.phase-buy .market-section{padding-left:12px}.phase-buy .market-section .toolbar{margin-left:0}.phase-buy .market-section .section-heading{padding-right:76px;min-height:62px;align-items:flex-start}.phase-buy .market-section .barkeep{inset:7px 8px auto auto;width:66px;height:66px;background-size:auto 240%;background-position:50% 28%}.barkeep-label{display:none}.hand-section{background:repeating-linear-gradient(0deg,transparent 0 43px,#c9b2810c 44px 45px),linear-gradient(135deg,#403b4d,#252f40 60%,#3e3949);border-color:#aa8657}.hand-section:before,.hand-section:after{background:#c3a56c}.hand-dock{display:flex;gap:6px;margin-right:auto}.hand-dock button{min-width:36px;min-height:34px;padding:4px;gap:2px}.hand-dock button span{font-size:10px}.action-strip{flex-wrap:wrap;gap:6px}.sidebar{display:none;position:absolute;z-index:40;right:12px;top:110px;bottom:86px;width:min(310px,calc(100% - 65px));padding:10px;background:var(--bg);border:2px solid var(--gold)}.sidebar.tools-open{display:flex}.tools-close{display:block;align-self:flex-end}.sidebar.tool-skills .discard-panel,.sidebar.tool-discard .skills-panel{display:none}.table-area>.detail{right:8px;bottom:calc(50% + 12px);width:min(220px,calc(100% - 16px));max-height:140px;overflow:auto;padding:8px;margin:0}.detail .section-heading{margin-bottom:4px;gap:4px}.detail .section-heading h3{font-size:12px}.detail .section-heading button{min-height:26px;padding:3px 6px}.detail .detail-portrait{width:44px;height:44px;margin:0 6px 2px 0;background-size:contain;background-repeat:no-repeat}.detail p{font-size:11px;line-height:1.45;margin:0}@media(max-width:900px){.battle-utilities{grid-column:2;grid-row:1;gap:5px}.battle-utilities button{width:34px;min-height:32px}.battle-utilities button:first-child{display:inline-flex}.turn-bar{grid-column:1 / -1}.roster-toggle{display:none}.battle-grid{margin-left:44px}.player-rail{display:flex;position:absolute;top:125px;left:5px;width:39px;flex-direction:column;gap:8px;z-index:25}.player-rail .rail-avatar{position:relative;display:block;width:39px;height:49px;padding:0;border:2px solid #7f9160;background:#183a32;box-shadow:2px 3px #081a20;overflow:visible}.rail-avatar .portrait{display:block;width:35px;height:35px;background-size:contain;background-repeat:no-repeat}.rail-avatar.active{border-color:var(--gold)}.rail-avatar.you{background:#39624e}.rail-seat{position:absolute;top:-5px;left:-3px;background:#142c28;color:var(--paper);font-size:10px}.rail-wins{position:absolute;bottom:0;left:0;right:0;color:var(--gold);font-size:9px}.battle>.players{left:50px;width:min(230px,calc(100% - 60px))}.roster-close{display:block}.phase-buy .market-section{padding-left:8px}.phase-buy .market-section .section-heading{min-height:48px;padding-right:58px}.phase-buy .market-section .barkeep{width:49px;height:49px;right:5px;top:5px}.phase-buy .market-cards .soldier{--card-w: 70px;height:102px}.hand-section .section-heading{gap:4px}.hand-section .section-heading h2{font-size:12px}.hand-section .section-heading .muted{font-size:9px}.action-strip>.primary{font-size:11px;padding:5px 7px}.hand-dock{gap:4px}.hand-dock button{min-width:32px;min-height:32px}.sidebar{bottom:82px}.table-area>.detail{width:min(200px,calc(100% - 12px));right:6px;max-height:125px}}@media(max-height:480px)and (min-width:600px){.table-area{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.table-area>.detail{right:calc(50% + 8px);bottom:8px}.player-rail{top:110px;gap:4px}.player-rail .rail-avatar{height:39px}.rail-avatar .portrait{height:29px}.phase-buy .market-section .section-heading{min-height:32px}.phase-buy .market-section .barkeep{width:36px;height:36px}}.battle-utilities .corps-info{margin:0;padding:0;border:0;background:none;border-radius:0}.soldier .card-art,.soldier>strong,.soldier .card-foot{transform:translateY(4px)}.soldier.small .card-art,.soldier.small>strong,.soldier.small .card-foot{transform:translateY(2px)}.battle-utilities{position:relative;z-index:50;overflow:visible}.battle-utilities .corps-list{z-index:1;top:calc(100% + 8px);max-width:calc(100vw - 24px);box-shadow:5px 5px var(--ink)}.soldier .card-art{transform:translateY(7px)}.soldier.small .card-art{transform:translateY(4px)}.hand-section{background:repeating-linear-gradient(0deg,transparent 0 48px,#1c1e1660 48px 51px),linear-gradient(100deg,#392c1af5,#6a4c2aed,#392c1af5)}.phase-buy .market-section{background:linear-gradient(0deg,#10201880,transparent 65%),url(/art/quartermaster.webp) center top / cover no-repeat}.phase-buy .market-section .barkeep{display:none}.phase-buy .market-section .section-heading{padding-right:0;min-height:32px;text-shadow:1px 2px 0 #081a20,-1px -1px 0 #081a20}.phase-buy .market-section .toolbar{background:#302b1ed9}@media(min-width:901px){.phase-buy .market-section{background:linear-gradient(90deg,#20372af0 0%,#20372a80 45%,transparent 70%),url(/art/quartermaster.webp) right top / auto 100% no-repeat,#20372a}}@media(min-width:901px){.battle{grid-template-columns:250px minmax(0,1fr) 236px}.player-metrics{grid-template-columns:max-content minmax(0,1fr);column-gap:10px}.player-metrics>span{white-space:nowrap}}.hand-cards{padding-bottom:28px}.table-area>.detail{right:8px;bottom:58px}@media(max-height:700px){.hand-cards{padding-bottom:12px}.table-area>.detail{max-height:100px}}.guide-layer{position:fixed;inset:0;z-index:1000;overflow:hidden}.guide-spotlight{position:fixed;border:3px solid #ffdf45;box-shadow:0 0 0 9999px #020d16d9;pointer-events:none}.guide-card{position:absolute;width:min(440px,calc(100% - 24px));left:50%;transform:translate(-50%);padding:18px;background:#102b28;border:3px solid #d5b057;box-shadow:5px 5px #081a20;max-height:42dvh;overflow-y:auto;color:#fff3d6}.guide-top{top:max(12px,env(safe-area-inset-top))}.guide-bottom{bottom:max(12px,env(safe-area-inset-bottom))}.guide-card h2{font-size:20px;margin:10px 0}.guide-card p{font-size:14px;line-height:1.7;margin:10px 0 16px}.guide-card .section-heading{font-size:12px;gap:10px}.guide-card button{min-height:38px}.guide-card .toolbar{justify-content:space-between}@media(max-width:560px){.guide-card{padding:12px}.guide-card h2{font-size:16px}.guide-card p{font-size:12px;line-height:1.6}}.startup-screen{position:fixed;inset:0;display:grid;place-items:center;padding:24px;background:#102b28;color:#fff3d6;z-index:2000}.startup-panel{width:min(360px,100%);display:grid;gap:16px;text-align:center;font-family:monospace}.startup-panel h1{font-size:28px;color:#ffd83d}.startup-panel p{font-size:14px;line-height:1.6}.startup-panel progress{width:100%;height:16px;accent-color:#ffd83d}.startup-panel button{justify-self:center}.phase-retain .hand-cards{padding:10px 3px;min-height:120px;flex-shrink:0}.phase-retain .hand-section{overflow-y:auto}@media(max-width:900px){.phase-retain .hand-section .action-strip{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 10px;align-items:center;padding-top:8px}.phase-retain .action-strip .hand-dock{grid-column:1;grid-row:1 / 3}.phase-retain .action-strip>button{grid-column:2;width:100%;min-height:34px;white-space:normal;margin:0}.phase-retain .hand-cards .soldier{--card-w: 70px;height:102px}}@media(max-width:900px)and (max-height:700px){.phase-retain .hand-section .action-strip{grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:5px}.phase-retain .action-strip .hand-dock{grid-row:1}.phase-retain .action-strip>button{grid-column:auto;grid-row:1;font-size:10px;padding:4px;min-height:38px}.phase-retain .hand-cards{min-height:112px;padding:5px 3px}}@media(display-mode:standalone){html,body,#root{min-height:100%;background:#102b28 url(/art/jungle-camp.webp) center / cover no-repeat}.app{position:fixed;inset:0;height:auto;min-height:0;width:100%}.app>.topbar{padding-top:0}.in-game .connection-banner{bottom:calc(env(safe-area-inset-bottom) + 1px)}}html.ios-installed .app,html.ios-installed .startup-screen,html.ios-installed .guide-layer{position:fixed;top:0;bottom:auto;height:var(--installed-height, 100dvh)}html.ios-installed .app>.topbar{padding-top:0}html.ios-installed .in-game .connection-banner{bottom:calc(env(safe-area-inset-bottom) + 1px)}.battle-utilities{align-items:center}.battle-utilities>button,.battle-utilities .corps-info>button{flex:0 0 36px;width:36px;height:36px;min-height:36px;padding:6px}.phases{display:flex;justify-content:center;align-items:center}.phases>.current{flex:none;min-width:120px;padding:6px 20px}.turn-bar{position:relative;padding-right:80px}.turn-bar .timer{position:absolute;left:50%;transform:translate(-50%);font-size:26px;font-weight:700;line-height:1;color:var(--paper)}.turn-bar .timer.urgent{color:tomato}.turn-bar strong{max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.soldier.selected,.soldier.selected:hover:not(:disabled){border-color:#55e34b;box-shadow:0 0 0 2px #081a20,0 0 0 4px #55e34b,3px 6px #081a20;transform:translateY(-9px)}.cards{padding-top:12px}.hand-cards>div{flex:none;padding-bottom:34px}.card-inline-action{position:absolute;top:calc(100% - 30px);left:50%;transform:translate(-50%);font-size:10px;padding:4px 6px;min-height:26px;white-space:nowrap}.round-gains-toggle{margin-top:5px;font-size:10px;padding:3px 5px;min-height:26px}.card-choice-backdrop{z-index:200}.card-choice-dialog{width:min(600px,calc(100vw - 24px));max-height:calc(100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;padding:18px}.card-choice-dialog h2{font-size:18px}.choice-cards{flex-wrap:wrap;justify-content:center;overflow:visible;padding:20px 6px;gap:16px}.card-choice-dialog .toolbar{justify-content:flex-end;flex-wrap:wrap}.gain-card-back{width:70px;height:102px;border:3px solid #c79c51;background:repeating-linear-gradient(45deg,#153e32 0 5px,#285335 5px 10px);color:var(--gold);display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:28px}.gain-card-back small{font-size:10px}.phase-retain .table-area,.phase-result .table-area,.phase-finished .table-area{display:flex;flex-direction:column}.table-area>.results{flex:1;min-height:0;overflow-y:auto}.settlement-actions{position:sticky;bottom:0;background:#102b28f5;padding:12px 0 4px;display:flex;justify-content:center;z-index:2}.settlement-actions button{min-height:40px}.berserker-reveal{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0}.berserker-reveal strong{color:var(--gold);font-size:12px}.deployed-details{margin:8px 0;font-size:12px}.purchase-flight{position:absolute;left:45%;top:25%;z-index:60;pointer-events:none;animation:purchase-to-hand .7s ease-in-out both}@keyframes purchase-to-hand{0%{transform:translate(0) scale(.8);opacity:0}15%{opacity:1}75%{opacity:1}to{transform:translate(-60px,180px) scale(1);opacity:0}}@media(max-width:900px){.turn-bar .timer{font-size:23px}.card-choice-dialog{padding:12px}.card-choice-dialog h2{font-size:14px}.phases>.current{min-width:110px}}@media(prefers-reduced-motion:reduce){.purchase-flight{animation:none;display:none}}@media(min-width:901px){.phases{grid-column:2 / 4}}@keyframes purchase-to-hand{0%{transform:translate(0) scale(.8);opacity:0}15%,75%{opacity:1}to{transform:translate(var(--flight-x, -60px),var(--flight-y, 180px));opacity:0}}.mode-picker{margin:0 0 24px;padding:18px}.mode-tabs{display:flex;gap:12px;flex-wrap:wrap}.mode-tabs>button{flex:1 1 180px;white-space:normal}.mode-picker p{color:var(--muted);line-height:1.7}.room-edition{margin-bottom:16px}.round-total{color:#ffdf39;padding:5px 0;font-size:13px}.round-score-button{padding:5px 10px;font-size:12px;white-space:nowrap}.deploy-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.round-history .deployed-details{margin:10px 0;border-top:1px solid #6d9368;padding:10px 0}.round-history summary{cursor:pointer;color:#ffdf39;line-height:1.5}.round-history .mini-cards{overflow-x:auto;flex-wrap:nowrap;padding-bottom:10px}.hand-reveal-toast{position:fixed;z-index:1500;top:50%;left:50%;transform:translate(-50%,-50%);width:min(340px,calc(100vw - 36px));background:#102e29;border:4px solid #e7bd5c;box-shadow:0 8px #071e20,0 0 0 100vmax #06191b66;padding:14px;pointer-events:none}.hand-reveal-toast strong,.hand-reveal-toast small{display:block;text-align:center}.hand-reveal-toast .mini-cards{justify-content:center;overflow-x:auto;max-height:140px;margin:10px 0}@media(max-width:900px){.public-field .section-heading{flex-wrap:wrap;gap:6px}.public-field .section-heading>.muted{display:none}.deploy-controls.multi-hand{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-left:auto}.deploy-controls.multi-hand>span{grid-column:1 / -1;text-align:right;font-size:11px}.deploy-controls.multi-hand button{font-size:12px;padding:9px 8px;min-width:0}.mode-picker{padding:14px}.mode-tabs{gap:10px}.mode-tabs>button{flex-basis:120px;font-size:13px}}.keep-all-button{flex-direction:column;gap:4px}.keep-all-button span,.keep-all-button small{white-space:nowrap}.keep-all-button small{font-size:10px}.rail-seat{display:inline-flex;align-items:center;gap:2px}@media(max-width:900px){.settlement-actions{gap:10px}.settlement-actions>button{min-width:0;flex:1;padding:10px 8px;font-size:12px}}
