:root{font-family:Nunito,system-ui,"Noto Sans",sans-serif;color:#203c43;background:#efe9db;font-size:16px}*{box-sizing:border-box}body{margin:0;height:100dvh;overflow:hidden}button,select{font:inherit;color:inherit;min-width:44px;min-height:44px;border:2px solid #63818a;border-radius:.7rem;background:#fffaec;padding:.45rem .75rem;cursor:pointer;overflow-wrap:anywhere;touch-action:manipulation}button:disabled{opacity:.48;cursor:default}button.primary{color:white;background:#246d79;border-color:#246d79}button:hover:not(:disabled){filter:brightness(1.035)}button:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid #db7e50;outline-offset:2px}button img{pointer-events:none}h1,h2,h3,p{margin:0}h1{font-size:1.55rem;line-height:1.16}h2{font-size:1.17rem;line-height:1.25}h3{font-size:1rem;line-height:1.25}p{line-height:1.45}#app{width:100%;height:100dvh;position:relative;overflow:hidden;background:radial-gradient(ellipse at top,#f9f5e8,#e7e0ce)}#game-view{height:100%;display:flex;flex-direction:column;gap:.35rem;padding:.5rem;overflow:auto}#game-header{display:flex;gap:.5rem;align-items:center;justify-content:space-between;flex:none}#game-header>div{min-width:0}#game-title{font-size:1rem}#route-title{font-size:.9rem;overflow-wrap:anywhere}#pause-game{flex:none;width:44px;padding:0}#status-line{font-size:.9rem;display:flex;gap:.4rem 1rem;flex-wrap:wrap;flex:none}#status-line span{min-width:0;overflow-wrap:anywhere}#prep-hint{font-size:.9rem;max-width:65rem}#prep-tools{flex:none}#recruit-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;margin-top:.3rem}#recruit-buttons button{display:flex;gap:.35rem;align-items:center;justify-content:center;padding:.3rem .4rem;min-width:0;font-size:.85rem}#recruit-buttons img{height:2.4rem;width:2.4rem;object-fit:contain;flex:none}#recruit-buttons span{min-width:0}#arena-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(10rem,17rem);gap:.65rem;align-items:center;flex:none;min-width:0}#canvas-holder{height:max(196px,min(52dvh,520px));width:100%;display:flex;align-items:center;justify-content:center;min-width:0}canvas{display:block;touch-action:none;user-select:none;max-width:100%;max-height:100%;background:#f8f2e5;border-radius:.6rem;box-shadow:0 4px 12px #29444822}#opposition{max-height:max(196px,52dvh);overflow:auto;border:1px solid #b1b8a4;border-radius:.7rem;padding:.6rem;background:#faf4e5}#enemy-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.2rem;margin-top:.35rem}.enemy-mini{text-align:center;font-size:.75rem}.enemy-mini img{width:100%;max-height:4.5rem;object-fit:contain}.enemy-mini span{display:block}#terrain-hint{font-size:.8rem;margin-top:.4rem}#selection-panel{flex:none;min-height:3rem;font-size:.9rem}#selected-stats,#drop-preview{font-size:.85rem}#drop-preview{color:#8b5b2b;min-height:1.2em}#game-actions{position:sticky;bottom:-.5rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem;flex:none;margin-top:auto;padding:.4rem 0;background:#efe9dbed;z-index:2}body.live #game-view{overflow:hidden}body.live #game-title{display:none}body.live #route-title{font-size:.85rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}body.live #arena-row{display:block;flex:1;min-height:80px}body.live #canvas-holder{height:100%;min-height:80px}body.live #game-actions{display:grid;grid-template-columns:repeat(4,minmax(44px,1fr));margin-top:0;position:static;padding:.2rem 0}body.live #game-actions button{font-size:1rem;min-width:0;padding:.25rem}.bell-button{white-space:nowrap}#panel{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;background:#efe9dbe8;padding:.5rem}#panel-card{background:#fff9eb;border:2px solid #718a8b;border-radius:1rem;padding:.85rem;max-width:min(76rem,100%);width:max-content;max-height:calc(100dvh - 1rem);overflow:auto;box-shadow:0 8px 30px #263e4320;min-width:0;overflow-wrap:anywhere}#panel-title{margin-bottom:.65rem}#panel-body{display:flex;flex-direction:column;gap:.6rem;min-width:0}#panel-actions{position:sticky;bottom:-.85rem;display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;background:#fff9ebf5;padding:.7rem 0 .1rem;margin-top:.6rem;z-index:2}.hero{width:100%;max-width:38rem;max-height:39dvh;object-fit:contain;border-radius:.65rem;align-self:center}.tagline{font-size:1.05rem;font-weight:800}.stats{display:flex;flex-wrap:wrap;gap:.45rem 1rem;font-weight:800}.stats span{min-width:0;overflow-wrap:anywhere}.muted{color:#5d706b}.warning{color:#935137;background:#f7e4c9;border:1px solid #d6b583;border-radius:.6rem;padding:.6rem}.badge{color:#327579;font-weight:900}.section{display:flex;flex-direction:column;gap:.5rem}.map-heading{display:flex;align-items:center;gap:.6rem}.map-heading img{height:3.5rem;width:7rem;object-fit:cover;border-radius:.4rem;flex:none}.map-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem}.route-card{display:flex;flex-direction:column;gap:.35rem;justify-content:space-between;min-width:0;padding:.6rem;border:1px solid #c5c4af;border-radius:.7rem;background:#f4eddb}.route-card p{font-size:.85rem}.route-card button{width:100%}.route-number{font-weight:900;color:#337985}.collection-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.3rem}.unit-card{display:flex;flex-direction:column;align-items:center;background:#eee7d6;border-radius:.55rem;padding:.25rem;min-width:0}.unit-card img{width:100%;max-height:7.5rem;object-fit:contain}.unit-card.locked img{filter:grayscale(1);opacity:.35}.unit-card p{font-size:.85rem}.collect-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.collect-card{border:1px solid #c4c7b5;background:#f3ecda;border-radius:.7rem;padding:.6rem;display:flex;flex-direction:column;gap:.4rem;min-width:0}.collect-card img{width:100%;height:8rem;object-fit:contain}.collect-card p{font-size:.85rem}.flag-swatch{height:3rem;border:2px solid #788c89;clip-path:polygon(0 0,100% 0,88% 50%,100% 100%,0 100%);border-radius:.2rem}.setting{display:flex;justify-content:space-between;align-items:center;gap:.6rem;min-width:0}.setting>span{flex:1;min-width:0}.setting select{max-width:65%;min-width:0}.ending-art{width:100%;max-width:15rem;max-height:35dvh;object-fit:contain;align-self:center}#notice{position:absolute;left:50%;bottom:.55rem;transform:translateX(-50%);z-index:9;max-width:calc(100% - 1rem);width:max-content;background:#344f50;color:white;border:2px solid #e7d7ae;padding:.55rem .8rem;border-radius:.7rem;pointer-events:none;font-size:.9rem;overflow-wrap:anywhere}.less-motion *{scroll-behavior:auto!important;animation:none!important;transition:none!important}[hidden]{display:none!important}@media(max-width:650px){#arena-row{display:block}#opposition{max-height:8rem;margin-top:.4rem}#enemy-preview{grid-template-columns:repeat(8,minmax(0,1fr))}#opposition h2,#terrain-hint{font-size:.8rem}#recruit-buttons button{flex-direction:column;gap:0;font-size:.78rem}#recruit-buttons img{height:1.8rem;width:1.8rem}.map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-heading img{height:2.6rem;width:5rem}.collect-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#panel-card{padding:.65rem}#panel-actions{bottom:-.65rem}.hero{max-height:31dvh}}@media(max-height:450px){#game-view{gap:.2rem;padding:.35rem}#prep-hint{font-size:.78rem}#canvas-holder{height:196px}#opposition{max-height:196px}#recruit-buttons img{height:1.7rem;width:1.7rem}#selection-panel{min-height:2rem;font-size:.8rem}#selected-stats,#drop-preview{font-size:.76rem}.hero{max-height:32dvh}#game-actions{bottom:-.35rem}.map-heading img{height:2rem}.collect-card img{height:6rem}}@media(max-width:360px){.collect-grid{grid-template-columns:1fr}#panel-card{width:100%}}
