:root{color:#18342d;font-synthesis:none;--ink:#19382f;--muted:#657369;--paper:#fffdf6;--line:#d9ddcd;--gold:#dac382;--green:#264d3d;background:#f2efe5;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,.button{color:var(--ink);cursor:pointer;background:0 0;border:1px solid #b7c3b3;border-radius:8px;padding:11px 15px;font-weight:650;text-decoration:none;transition:background .15s,transform .15s;display:inline-block}button:hover:not(:disabled),.button:hover{background:#e3e9db}button:disabled{opacity:.48;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #bc812a}.primary{background:var(--green);border-color:var(--green);color:#fffdf4}.primary:hover:not(:disabled){background:#163a2b}.text-button{text-underline-offset:4px;border:0;padding:4px 0;font-size:13px;text-decoration:underline}.danger{color:#9e392e;border-color:#caa69a}input,select,textarea{width:100%;color:var(--ink);background:#fffef9;border:1px solid #bdc7b6;border-radius:7px;margin:7px 0 14px;padding:12px 13px}label{font-size:13px;font-weight:650;display:block}p{line-height:1.6}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1.8px;margin-bottom:22px;font-family:Georgia,Times New Roman,serif;font-size:clamp(38px,5vw,66px);font-weight:500;line-height:1.06}h1 em{color:#59715b;font-weight:400}h2{letter-spacing:-.4px;font-size:22px}h3{font-size:18px}small{color:var(--muted);font-size:12px;line-height:1.5;display:block}.eyebrow,.card-number{letter-spacing:2px;color:#6c806e;margin-bottom:20px;font-size:10px;font-weight:750;display:block}.site-header{color:#f8f0d7;background:#17352c;border-bottom:1px solid #355045;justify-content:space-between;align-items:center;gap:20px;height:82px;padding:0 max(24px,50vw - 620px);display:flex}.wordmark{color:inherit;letter-spacing:2px;white-space:nowrap;align-items:center;gap:9px;font-size:16px;font-weight:800;text-decoration:none;display:flex}.wordmark>span:not(.logo-mark){color:#cfb979;font-family:Georgia,serif;font-size:21px;font-style:italic}.logo-mark{color:#cfb979;font-size:36px;font-weight:400}.wordmark b{letter-spacing:1px;color:#d7c994;border:1px solid #7f8d65;border-radius:3px;margin-left:6px;padding:5px 6px;font-size:9px}nav{align-items:center;gap:20px;font-size:12px;display:flex}nav button{color:#e0e7d6;border:0;padding:6px 0;font-size:12px}nav button:hover:not(:disabled){color:#e3c782;background:0 0}.beta-ribbon{text-align:center;color:#425944;letter-spacing:.2px;background:#e2e8d7;padding:9px 14px;font-size:11px}.shell{max-width:1240px;margin:auto;padding:38px 24px 60px}.landing{grid-template-columns:1.2fr 1fr;align-items:start;gap:76px;max-width:1240px;margin:0 auto;padding:76px 24px 48px;display:grid}.hero{position:relative}.hero>p{color:#667265;max-width:380px;font-size:16px}.hero-notes{text-transform:uppercase;letter-spacing:1px;gap:16px;margin:24px 0 0;font-size:10px;display:flex}.hero-notes span+span{border-left:1px solid #bec9b5;padding-left:16px}.preview-board{pointer-events:none;filter:drop-shadow(0 18px 15px #172d2320);max-width:530px;margin-top:18px}.login-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;margin-top:14px;padding:38px;box-shadow:0 14px 45px #273b2210}.login-card h2{font-family:Georgia,serif;font-size:29px;font-weight:500}.login-card>p{color:var(--muted);font-size:14px}.login-card .primary{width:100%;margin:6px 0 20px}.crest{clip-path:polygon(0 0,100% 0,100% 70%,50% 100%,0 70%);background:#e8ebdc;justify-content:center;align-items:center;width:58px;height:62px;margin-bottom:25px;font-family:Georgia,serif;font-size:20px;display:flex}.crest span{color:#8c8c57;margin:0 2px;font-size:15px;font-style:italic}.row{justify-content:space-between;align-items:center;gap:20px;display:flex}.error{color:#8b3227}.notice{background:#e3e9d6;border:1px solid #c7d1b9;border-radius:10px;margin:20px 0;padding:22px 26px}.notice.error{background:#fff0e9;border-color:#d5b3a2}.welcome{border-bottom:1px solid #cbd3bf;justify-content:space-between;align-items:center;gap:40px;margin-bottom:35px;padding:5px 0 35px;display:flex}.welcome h1{font-size:52px}.welcome>div:first-child{min-width:330px}.welcome .preview-board{width:430px;margin:-30px 45px -35px 0}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin:32px 0 18px;display:flex}.section-heading h2{margin:0}.section-heading>span{color:var(--muted);font-size:12px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:25px}.play-options{grid-template-columns:1fr 1fr 1fr;gap:18px;display:grid}.mode-picker{background:#e9ecdf;grid-column:1/-1;grid-template-columns:1fr 1.3fr 1fr;gap:10px 24px;display:grid}.mode-picker small{grid-column:1/-1}.play-card{flex-direction:column;min-height:270px;display:flex}.play-card p{color:var(--muted);flex:1;font-size:14px}.card-number{margin-bottom:25px;font-size:9px}.play-card .primary{align-self:flex-start}.queue-panel{align-items:center;gap:20px;display:flex}.queue-panel div{flex:1}.queue-panel h2{margin-bottom:5px}.queue-panel p{margin:0;font-size:13px}.game-list{padding:0;overflow:hidden}.game-row{text-align:left;border:0;border-bottom:1px solid #dbe0d0;border-radius:0;align-items:center;gap:20px;width:100%;padding:20px 25px;display:flex}.game-row>span:nth-child(2){flex:1}.game-row b{margin-bottom:4px;font-size:14px;display:block}.game-symbol{color:#839e81;font-size:30px}.pill{border:1px solid #d1d9c5;border-radius:50px;padding:5px 10px;font-size:11px;font-weight:600}.empty-state{text-align:center;color:var(--muted);padding:42px}.empty-state>span{color:#9cab8f;margin-bottom:15px;font-size:32px;display:block}.empty-state p{margin:0;font-size:13px}.lesson-grid{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.lesson{text-align:left;background:#e8ecde;flex-direction:column;gap:12px;min-height:135px;padding:18px;display:flex}.lesson small{letter-spacing:2px;font-size:11px}.lesson b{flex:1;font-size:13px;line-height:1.4}.lesson>span{align-self:flex-end}.rating-panel{border-top:1px solid #cbd3bf;margin-top:36px;padding:25px 0}.rating-panel .row{justify-content:flex-start;gap:65px;margin:25px 0}.rating-panel .eyebrow{margin-bottom:10px}.rating-panel strong{font-family:Georgia,serif;font-size:38px;font-weight:400}.settings-form{grid-template-columns:1fr 1fr;gap:15px 25px;display:grid}.check{align-items:center;gap:8px;display:flex}.check input{width:auto;margin:0}.settings-form button{width:fit-content}.game-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:25px;display:flex}.game-heading h1{margin:16px 0 10px;font-size:40px}.game-heading p{color:var(--muted);text-transform:capitalize;margin-bottom:0;font-size:13px}.clock{text-align:right}.clock>span{letter-spacing:1.5px;font-size:10px;font-weight:750}.clock strong{margin:6px 0;font-family:Georgia,serif;font-size:40px;font-weight:400;display:block}.urgent{color:#a94325}.team-strip{border:1px solid var(--line);background:#fcfaf0;border-radius:9px;grid-template-columns:repeat(4,1fr);margin-bottom:23px;display:grid;overflow:hidden}.team{border-right:1px solid var(--line);align-items:center;gap:10px;padding:15px 12px;display:flex}.team:last-child{border:0}.team.active{background:#e0e7d5;box-shadow:inset 0 -3px #78936e}.team b{margin-bottom:3px;font-size:12px;display:block}.team-dot{color:#19342c;background:#cbd8bb;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:29px;height:31px;font-size:12px;font-weight:800;display:flex}.battle-layout{grid-template-columns:minmax(0,1fr) 310px;gap:22px;display:grid}.board-panel{background:#203d32;border:1px solid #315343;border-radius:14px;padding:24px 15px 18px;overflow:hidden;box-shadow:0 10px 20px #193a2010}.board-caption{letter-spacing:1px;color:#b7c7ac;justify-content:space-between;padding:0 14px;font-size:9px;display:flex}.board-caption span:first-child{color:#e2d19e}.battlefield{width:100%;max-height:660px;display:block;overflow:visible}.tile{cursor:pointer;outline:none}.tile:focus-visible>path:first-child{stroke:#d8852f;stroke-width:4px}.tile:hover>path:first-child{filter:brightness(1.1)}.piece{pointer-events:none}.piece-role{text-anchor:middle;fill:#f7f6de;letter-spacing:.5px;font-size:12px;font-weight:750}.piece-hp{text-anchor:middle;fill:#172b29;font-size:10px;font-weight:800}.piece-team{text-anchor:middle;font-size:7px;font-weight:700}.hq-label{text-anchor:middle;fill:#18372d;letter-spacing:.3px;font-size:6px;font-weight:800}.last-seen{text-anchor:middle;fill:#91a38e;font-size:9px}.corner-badge>rect{fill:#f5f2e7;stroke:#728575;stroke-width:1px}.corner-badge>text{text-anchor:middle;fill:#203d32;letter-spacing:.5px;font-size:13px;font-weight:750}.corner-guide{fill:none;stroke:#98aa90;stroke-width:1.5px}.board-foot{text-align:center;color:#a4b79b;max-width:450px;margin:0 auto;padding:0 10px;font-size:10px;line-height:1.6}.orders-panel{align-self:start;padding:22px}.orders-panel button{width:100%;margin:5px 0;font-size:12px}.resource-grid{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:10px;padding-bottom:20px;display:grid}.resource-grid span{letter-spacing:1.4px;font-size:9px;font-weight:700;display:block}.resource-grid strong{margin:6px 0;font-family:Georgia,serif;font-size:38px;font-weight:400;display:block}.phase-tabs{border-bottom:1px solid var(--line);gap:8px;margin:18px 0;display:flex}.phase-tabs b{color:#909a87;padding-bottom:10px;font-size:11px}.phase-tabs b.active{color:#2d553c;border-bottom:2px solid #668058}.unit-title{margin:20px 0}.unit-title .eyebrow{margin-bottom:7px;font-size:8px}.unit-title h2{margin-bottom:8px;font-family:Georgia,serif;font-size:24px;font-weight:500}.unit-title p{color:var(--muted);margin:0;font-size:12px}.move-preview{background:#e8edde;border-radius:6px;margin:12px 0;padding:12px}.move-preview p{margin-bottom:8px;font-size:11px}.warning{color:#8b4d27;display:block}.end-turn{border-color:#284f3b;margin-top:12px!important}.orders-panel details{margin:18px 0;font-size:12px}.orders-panel summary{cursor:pointer;font-weight:650}.orders-panel details p{color:var(--muted);font-size:11px}.below-board{grid-template-columns:1fr 1.2fr;gap:22px;margin-top:22px;display:grid}.below-board h2{font-size:17px}.hq-row{border-bottom:1px solid #e0e4d6;align-items:center;gap:15px;padding:11px 0;font-size:12px;display:flex}.hq-row>b{width:60px}.hq-row>span{flex:1}.siege-track{gap:4px;display:flex}.siege-track i{background:#e0e4d2;border-radius:50%;width:10px;height:10px}.siege-track .filled{background:#9d7848}.below-board small{margin-top:18px}.history ol{max-height:260px;margin:0;padding:0;list-style:none;overflow:auto}.history li{border-bottom:1px solid #e8ebdf;gap:15px;padding:10px 0;font-size:12px;line-height:1.4;display:flex}.history li small{min-width:24px;margin:0;font-size:10px}.setup-panel{text-align:center;max-width:850px;margin:30px auto;padding:45px}.setup-panel h2{font-family:Georgia,serif;font-size:32px;font-weight:500}.setup-panel p{color:var(--muted);font-size:13px}.setup-panel form{max-width:250px;margin:25px auto}.setup-panel form input{text-align:center;font-family:Georgia,serif;font-size:36px}.color-choices{flex-wrap:wrap;justify-content:center;gap:10px;margin:25px 0;display:flex}.color-choices button{align-items:center;gap:9px;font-size:12px;display:flex}.color-choices i{border-radius:50%;width:18px;height:18px}.victory{text-align:center;background:#e7e6cd}.victory h2{font-family:Georgia,serif;font-size:34px}.invite-banner{align-items:center;gap:15px;padding-top:18px;padding-bottom:0;font-size:11px;display:flex}.invite-banner input{flex:1;margin:0;font-size:11px}.invite-banner button{font-size:11px}.invite-banner span{max-width:200px}dialog{width:calc(100% - 32px);max-width:480px;color:var(--ink);background:var(--paper);border:1px solid #cbd3bd;border-radius:15px;padding:34px;box-shadow:0 20px 60px #112a2240}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#15352988}dialog h2{font-family:Georgia,serif;font-size:30px}dialog p{color:var(--muted);font-size:13px}.dialog-close{border:0;padding:0 8px;font-size:24px;position:absolute;top:12px;right:12px}.feedback-record{margin-bottom:15px}.feedback-record select{width:auto;margin-right:15px}.feedback-record .button,.feedback-record button{margin:6px;font-size:11px}table{border-collapse:collapse;width:100%;font-size:12px}td,th{text-align:left;border-bottom:1px solid var(--line);padding:10px}footer{text-align:center;color:#60715d;background:#e6e9dc;border-top:1px solid #d0d9c3;padding:38px 20px}footer>span{letter-spacing:3px;font-size:12px;font-weight:750}footer p{margin:12px 0;font-family:Georgia,serif;font-style:italic}footer small{font-size:10px}@media (width<=950px){.site-header{padding:0 22px}.wordmark{letter-spacing:1px;gap:6px;font-size:13px}nav{gap:13px}.landing{gap:35px;padding-top:50px}.login-card{padding:28px}.battle-layout{grid-template-columns:minmax(0,1fr) 280px}.orders-panel{padding:18px}.welcome .preview-board{width:350px;margin-right:0}.play-options{gap:12px}.panel{padding:21px}.team{gap:6px;padding:12px 8px}.team b{font-size:10px}.team small{font-size:9px}.lesson-grid{gap:8px}.lesson{padding:13px}.lesson b{font-size:11px}}@media (width<=700px){.site-header{flex-wrap:wrap;gap:10px;height:auto;min-height:74px;padding:15px 18px}nav{justify-content:space-between;gap:17px;width:100%;font-size:10px}nav button{font-size:11px}.wordmark{font-size:15px}.beta-ribbon{font-size:9px}.shell{padding:26px 15px 40px}.landing{flex-direction:column;gap:15px;padding:40px 22px;display:flex}.hero h1{font-size:52px}.hero .preview-board{display:none}.hero-notes{margin-bottom:20px;font-size:9px}.login-card{width:100%;margin:0;padding:27px}.welcome{gap:0;padding-bottom:26px}.welcome h1{font-size:40px}.welcome>div:first-child{z-index:1;min-width:0;position:relative}.welcome .preview-board{opacity:.65;flex-shrink:0;width:180px;margin-left:-50px}.welcome>div>p{font-size:12px}.section-heading{flex-direction:column;align-items:flex-start;gap:7px;margin-top:28px}.section-heading h2{font-size:21px}.play-options{grid-template-columns:1fr}.mode-picker{grid-template-columns:1fr;gap:5px}.play-card{min-height:220px}.card-number{margin-bottom:16px}.play-card h2{font-size:25px}.play-card .primary{align-self:stretch}.lesson-grid{grid-template-columns:1fr 1fr}.lesson{min-height:120px;padding:18px}.lesson b{font-size:13px}.lesson:last-child{grid-column:1/-1;min-height:90px}.game-row{gap:12px;padding:16px 14px}.game-row b{font-size:12px}.game-row small{font-size:10px}.game-symbol{font-size:23px}.pill{padding:4px 7px;font-size:9px}.game-heading h1{font-size:33px}.game-heading .clock strong{font-size:29px}.game-heading .clock>span{font-size:8px}.game-heading{gap:10px}.team-strip{grid-template-columns:1fr 1fr;margin-bottom:15px}.team{border-bottom:1px solid var(--line);padding:12px}.team:nth-child(2){border-right:0}.team b{font-size:11px}.team small{font-size:9px}.battle-layout{grid-template-columns:1fr;gap:15px}.board-panel{padding:20px 0 15px}.board-caption{padding:0 20px;font-size:8px}.orders-panel{padding:22px}.resource-grid{grid-template-columns:1fr 1fr}.orders-panel button{padding:13px;font-size:13px}.phase-tabs b{font-size:12px}.below-board{grid-template-columns:1fr;gap:15px}.board-foot{font-size:9px}.settings-form{grid-template-columns:1fr}.queue-panel{flex-direction:column;align-items:stretch}.setup-panel{padding:26px 18px}.setup-panel h2{font-size:27px}.invite-banner{flex-wrap:wrap}.invite-banner span{width:100%;max-width:none}.rating-panel .row{gap:35px}.rating-panel h2{font-size:20px}.rating-panel small{font-size:10px}dialog{padding:27px}.hero-notes{gap:12px}.hero-notes span+span{padding-left:12px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}html,body,#root{height:var(--app-height,100dvh);width:100%;min-height:0}#root{flex-direction:column;display:flex}body{overflow:hidden}.site-header{gap:12px;height:48px;min-height:48px;padding:0 16px}.wordmark{letter-spacing:1px;font-size:13px}.logo-mark{font-size:28px}.menu-button{color:#fff7dc;padding:7px 12px}.shell,.landing{flex:1;width:100%;min-height:0;overflow:auto}.game-shell,.home-shell{flex-direction:column;flex:1;gap:8px;width:100%;min-height:0;padding:10px 16px;display:flex}.match-bar,.home-heading{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.home-heading h1{letter-spacing:-.5px;margin:0;font-size:24px}.home-heading span{font-size:13px}.team-strip{flex-shrink:0;margin:0}.team{gap:7px;min-width:0;padding:5px 10px}.team-dot{width:25px;height:28px}.team small{font-size:10px}.team b{margin:0;font-size:12px}.battle-layout{flex:1;grid-template-columns:minmax(0,1fr) 290px;gap:10px;min-height:0;display:grid}.board-panel{border-radius:10px;flex-direction:column;min-width:0;min-height:0;padding:8px;display:flex}.board-caption{letter-spacing:.4px;flex-shrink:0;padding:0 6px;font-size:10px}.board-space{flex:1;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex}.battlefield{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;max-height:none;overflow:visible}.board-foot{flex-shrink:0;min-height:16px;padding:3px 6px 0;font-size:12px;line-height:1.3}.orders-panel{background:var(--paper);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:12px;min-height:0;padding:12px;display:flex;overflow:auto}.resource-grid{grid-template-columns:1fr 1fr;gap:8px;margin:0;display:grid}.resource-grid b{font-size:24px}.resource-grid small{font-size:11px}.unit-title{min-height:38px;margin:0;padding:0}.unit-title b{font-size:16px}.unit-title small{font-size:12px}.unit-title strong{color:#985b18;font-size:12px}.orders-panel button,.action-dock button,.utility-dock button{width:auto;min-height:40px;margin:0;padding:10px;font-size:13px}.action-dock,.utility-dock,.route-tools,.confirm-action{flex-wrap:wrap;gap:6px;display:flex}.action-dock button:last-child{background:var(--green);color:#fff}.utility-dock{margin-top:auto}.confirm-action,.route-tools{background:#f1ecd5;border-radius:6px;padding:6px}.confirm-action>span,.route-tools>span{width:100%;font-size:12px}.victory{border-radius:7px;padding:8px}.victory h2{margin:0 0 8px;font-size:24px}.victory p{font-size:12px}.game-message{background:#fff6dc;border:1px solid #d0b998;border-radius:6px;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;max-height:95px;padding:6px 10px;font-size:12px;display:flex;overflow:auto}.game-message button{flex-shrink:0;padding:3px 8px}.setup-panel{flex:1;width:100%;max-width:800px;min-height:0;margin:0 auto;padding:18px;overflow:auto}.setup-panel h2{font-size:24px}.setup-panel form{margin:12px auto}.setup-panel input{font-size:22px}.color-choices{margin:10px 0}.invite-banner,.ready-notice{flex-shrink:0;align-items:center;gap:8px;margin:0;padding:4px 16px;font-size:12px;display:flex}.invite-banner input{padding:5px}.invite-banner button{padding:6px}.ready-notice p{margin:0}.ready-notice button{padding:5px}.home-shell{max-width:none;padding:14px 24px}.menu-tabs{flex-shrink:0;gap:8px;display:flex}.menu-tabs button{min-height:40px}.menu-tabs [aria-selected=true]{background:var(--green);color:#fff}.menu-tabs button[aria-selected=true]:hover{color:#fff;background:#163a2b}.menu-content{border:1px solid var(--line);background:var(--paper);border-radius:10px;flex-direction:column;flex:1;gap:12px;min-height:0;padding:18px;display:flex;overflow:auto}.menu-content h2,.menu-content p{margin:0}.menu-play{overflow:visible}.mode-picker{background:0 0;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.mode-picker label{min-width:0}.mode-picker select{margin:5px 0 0;padding:9px 6px}.play-choices{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-height:0;display:grid}.play-choice{text-align:left;background:#e9ecdf;flex-direction:column;justify-content:center;gap:12px;display:flex}.play-choice b{font-size:20px}.play-choice small{font-size:13px}.difficulty-note{margin-top:auto}.resume-game{align-self:flex-start;padding:7px 12px}.queue-compact{flex-shrink:0;align-items:center;gap:8px;font-size:12px;display:flex}.queue-compact button{padding:6px}.compact-games{flex-direction:column;gap:6px;display:flex}.game-row{padding:14px}.game-row>span:first-child{flex:1}.pager{align-items:center;gap:16px;margin-top:auto;display:flex}.compact-lessons{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-height:0;display:grid}.compact-lessons button{text-align:left;justify-content:space-between;align-items:center;display:flex}.profile-form{grid-template-columns:1fr 1fr;gap:10px;max-width:900px;display:grid}.profile-form input,.profile-form select{margin:5px 0 0}.profile-form .check{min-height:38px}.profile-form .check input{width:auto;margin:0}.compact-ratings{gap:25px;margin-top:auto;display:flex}.menu-profile>button{align-self:flex-start}dialog{max-height:calc(var(--app-height,100dvh) - 24px);padding:20px;overflow:auto}.dialog-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.dialog-heading h2{margin:0;font-size:24px}.dialog-heading button{padding:4px 12px;font-size:24px}.recruit-list{grid-template-columns:1fr 1fr;gap:12px;display:grid}.recruit-list section{border:1px solid var(--line);border-radius:6px;padding:8px}.recruit-list button{width:100%;margin:6px 0;padding:8px;font-size:12px}.recruit-list small{color:#85541f}.battle-history{padding-left:20px;font-size:13px}.battle-history li{margin:8px 0}.menu-links{flex-direction:column;gap:10px;display:flex}@media (width<=700px){.site-header{height:40px;min-height:40px;padding:0 8px}.wordmark{font-size:12px}.wordmark b{font-size:8px}.game-shell,.home-shell{gap:5px;padding:6px}.match-bar{gap:4px;font-size:10px}.team-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.team{border-bottom:0;gap:4px;padding:4px}.team-dot{width:18px;height:24px;font-size:11px}.team b{font-size:11px}.team small{font-size:9px}.battle-layout{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr;gap:5px}.board-panel{padding:4px}.board-caption{font-size:9px}.board-foot{padding:2px;font-size:10px}.orders-panel{grid-template-columns:1fr 1fr;gap:5px;padding:6px;display:grid;overflow:visible}.resource-grid{grid-template-columns:1fr 1fr;gap:5px}.resource-grid b{font-size:19px}.resource-grid small{font-size:9px}.unit-title b{font-size:13px}.unit-title small{font-size:10px}.unit-title{min-height:0}.action-dock,.utility-dock,.confirm-action,.route-tools{grid-column:1/-1;gap:4px}.orders-panel button{min-height:34px;padding:6px 8px;font-size:11px}.utility-dock{margin:0}.victory{padding:4px}.victory h2{margin:0;font-size:17px}.victory p{margin:4px 0}.orders-panel:has(.victory){grid-template-columns:1fr 2fr}.home-heading h1{font-size:21px}.menu-tabs{gap:4px}.menu-tabs button{flex:1;padding:6px}.menu-content{gap:8px;padding:10px}.menu-content h2{font-size:18px}.mode-picker{grid-template-columns:1fr 1fr;gap:6px}.mode-picker label:last-child{grid-column:1/-1;align-items:center;gap:8px;display:flex}.mode-picker label{font-size:11px}.mode-picker select{min-width:0;padding:7px 3px;font-size:12px}.mode-picker label:last-child select{flex:1;width:auto;margin:0}.play-choices{grid-template-columns:1fr;gap:6px}.play-choice{gap:3px;padding:8px 12px}.play-choice b{font-size:15px}.play-choice small{font-size:11px}.difficulty-note{font-size:10px;line-height:1.25}.resume-game{padding:5px 8px;font-size:12px}.compact-lessons{grid-template-columns:1fr;gap:6px}.compact-lessons button{padding:8px;font-size:12px}.game-row{gap:6px;padding:10px 6px;font-size:11px}.game-row b{font-size:12px}.profile-form{gap:6px}.profile-form label{font-size:11px}.profile-form input,.profile-form select{padding:7px;font-size:12px}.profile-form .check{font-size:11px}.compact-ratings{gap:10px;font-size:12px}.compact-ratings small{font-size:10px}.menu-profile>button{padding:6px;font-size:12px}.invite-banner span{display:none}.invite-banner{flex-wrap:nowrap;padding:3px 6px}.ready-notice p{display:none}.landing{padding:10px;display:flex}.landing .hero{display:none}.login-card{width:100%;max-width:460px;margin:auto;padding:18px}.crest{display:none}}@media (height<=480px) and (width>=500px){.site-header{height:36px;min-height:36px}.game-shell,.home-shell{gap:4px;padding:4px 8px}.battle-layout{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 235px}.orders-panel{gap:4px;padding:5px;display:flex;overflow:auto}.resource-grid{justify-content:space-around;display:flex}.resource-grid span{align-items:center;gap:5px;display:flex}.resource-grid span small:last-child{display:none}.orders-panel button{min-height:30px;padding:5px;font-size:11px}.board-foot{font-size:10px}.team small{display:none}.team{padding:2px 6px}.team-dot{height:22px}.match-bar{font-size:10px}.menu-content{gap:6px;padding:8px}.menu-content h2{font-size:16px}.mode-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.mode-picker label:last-child{grid-column:auto;display:block}.mode-picker label:last-child select{width:100%;margin-top:5px}.play-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.play-choice{gap:3px;padding:7px}.play-choice b{font-size:13px}.play-choice small{font-size:10px}.home-heading h1{font-size:18px}.menu-tabs button{min-height:30px;padding:4px 10px}.difficulty-note{font-size:10px}.compact-lessons{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-games{gap:2px}.game-row{padding:4px 8px}.pager button{padding:4px}.profile-form{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-form .check{min-height:26px}.compact-ratings{margin:0}.menu-profile{gap:4px}}.orders-panel{align-self:stretch}.resource-grid{border:0;padding:0}.resource-grid span{letter-spacing:0;flex-direction:column;gap:2px;display:flex}.resource-grid small{line-height:1.25}.mobile-options{display:none}.action-dock button:last-child{color:var(--ink);background:0 0}.action-dock .end-turn{background:var(--green);color:#fff}@media (width<=700px){.orders-panel{align-self:stretch;gap:6px}.resource-grid span{gap:0}.resource-grid small{font-size:10px}.unit-title b{font-size:14px}.unit-title small{font-size:11px;line-height:1.25}.orders-panel .desktop-option,.utility-dock{display:none}.orders-panel .mobile-options{display:block}.action-dock{flex-wrap:nowrap}.action-dock button{flex:1;min-height:40px;padding:6px;font-size:12px}.board-foot{font-size:11px}}@media (height<=480px) and (width>=500px){.orders-panel .desktop-option,.utility-dock{display:none}.orders-panel .mobile-options{display:block}.resource-grid span{flex-direction:row}.action-dock{flex-wrap:wrap}.action-dock button{flex:1;min-height:34px;font-size:12px}}@media (width<=700px){.piece-role{font-size:16px}.piece-hp{font-size:14px}.piece-team{font-size:9px}}@media (height<=340px) and (width>=500px){.home-heading{display:none}}.board-viewport{flex-direction:column;width:100%;min-width:0;height:100%;min-height:0;display:flex}.board-viewport .battlefield{flex:1;min-height:0;overflow:hidden}.board-zoom{color:#d8e1cb;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding-top:4px;font-size:12px;display:flex}.board-zoom button{color:#f5efcc;background:#203d32;border-color:#647a67;min-width:32px;min-height:32px;padding:3px 8px}.board-zoom output{text-align:center;min-width:36px}.board-zoom span{font-size:11px}@media (width<=700px){.board-zoom{gap:4px}.board-zoom button{min-width:36px;min-height:36px}.board-zoom span{font-size:10px}}@media (height<=480px) and (width>=500px){.board-zoom{padding-top:0}.board-zoom button{min-height:30px}.board-zoom span{display:none}}.role-symbol{color:#f7f3df}.last-seen .role-symbol{color:#acb7a3}.role-legend{flex-wrap:wrap;gap:.8rem 1.3rem;padding:0;list-style:none;display:flex}.role-legend li{align-items:center;gap:.4rem;display:flex}.role-legend svg{background:#17352c;border-radius:6px;width:30px;height:30px;padding:3px}@media (width>=701px){.landing{grid-template-rows:minmax(0,1fr);align-items:stretch;padding:clamp(16px,4vh,40px) 24px}.landing .hero{flex-direction:column;min-height:0;display:flex}.landing .hero>:not(.preview-board){flex-shrink:0}.landing .hero h1{font-size:clamp(38px,6vh,66px)}.landing .preview-board{flex:1;width:100%;min-height:0}.landing .login-card{align-self:center;margin-top:0}}
