.territory-game{box-sizing:border-box;width:100%;height:100%;min-height:0;max-width:1050px;margin:auto;display:flex;flex-direction:column;align-items:center;gap:8px;padding:6px 6px 55px;background:radial-gradient(ellipse at 50% 40%,#37205055,transparent 75%);color:#fff0e3}.territory-heading h1{font:700 clamp(19px,4vw,30px)/1.15 Georgia,serif;margin:0;text-align:center}.territory-side{width:min(100%,490px);display:flex;flex-direction:column;align-items:stretch;gap:5px}.territory-players{display:grid;grid-template-columns:1fr 1fr;gap:8px}.territory-player{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid #61518a;border-radius:12px;padding:8px;background:#1d172e;min-width:0}.territory-player strong{color:var(--territory-player);font-size:16px;overflow-wrap:anywhere;line-height:1.15}.territory-player b{font-size:22px}.territory-player.current{border-color:var(--territory-player);box-shadow:0 0 10px color-mix(in srgb,var(--territory-player) 22%,transparent)}.territory-status{margin:0;text-align:center;font-size:16px;font-weight:800;min-height:22px}.territory-clock{height:22px!important;min-height:22px!important}.territory-clock-0{--territory-clock-color:#ff5376}.territory-clock-1{--territory-clock-color:#65a6ff}.territory-clock{border-color:var(--territory-clock-color)}.territory-clock .imposo-timebar-fill{background:var(--territory-clock-color)}.territory-hint{font-size:14px;text-align:center;min-height:18px;margin:0;color:#e0d6ef}.territory-legend{display:flex;justify-content:center;gap:20px;font-size:14px}.territory-legend span{display:flex;gap:7px;align-items:center}.territory-legend i{width:14px;height:14px;border:2px solid #98ffe0;border-radius:4px}.territory-legend i.jump{border-color:#d581ff}.territory-board{direction:ltr;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,1fr));gap:4px;aspect-ratio:1;width:min(100%,490px,calc(100dvh - 260px));max-height:100%;padding:7px;border:2px solid #a581d0;border-radius:13px;background:linear-gradient(135deg,#5c4278,#180e2c);box-shadow:inset 0 0 0 3px #1d1229,0 0 15px #8254bb44;box-sizing:border-box;flex-shrink:0}.territory-cell{min-width:0;min-height:0;padding:4px;border-radius:7px;border:1px solid #635175;background:linear-gradient(135deg,#2d233d,#1a1527);aspect-ratio:1;display:grid;place-items:center;touch-action:manipulation;position:relative}.territory-cell:disabled{opacity:1}.territory-disc{width:100%;aspect-ratio:1;display:block;border-radius:50%;box-sizing:border-box;box-shadow:inset 0 2px 2px #fffd,inset 0 -4px 4px #0006,0 2px 4px #0009}.territory-disc-0{border:2px solid #ff92a7;background:radial-gradient(ellipse at 33% 22%,#ffb3c2,#ff405b 15%,#d0163f 55%,#760920)}.territory-disc-1{border:2px solid #79caff;background:radial-gradient(ellipse at 33% 22%,#b3eaff,#208dff 15%,#074fea 55%,#072177)}.territory-cell.selected .territory-disc{outline:3px solid #fff;outline-offset:2px}.territory-cell.place-target{border:2px solid #99ffe0;box-shadow:inset 0 0 9px #69ffcf55}.territory-cell.jump-target{border:2px solid #d581ff;box-shadow:inset 0 0 9px #bc56ff55}.territory-cell:focus-visible{outline:3px solid white;outline-offset:1px}.territory-restart,.territory-pause{position:fixed;bottom:max(12px,env(safe-area-inset-bottom));width:44px;height:44px;padding:0!important;font-size:29px;z-index:1100;border-radius:8px}.territory-restart{left:max(12px,env(safe-area-inset-left))}.territory-pause{right:max(12px,env(safe-area-inset-right))}.territory-setup{width:min(100%,490px);overflow:auto;max-height:100%;display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center}.territory-start-cover{width:150px;aspect-ratio:1}.territory-cover{position:relative;display:block}.territory-cover img{width:100%;height:100%;object-fit:cover}.territory-cover-title{position:absolute;inset:6% 4% auto;text-align:center;color:#fff0e3;font-family:Georgia,serif;font-size:clamp(18px,3vw,36px);font-weight:900;line-height:1.1;text-shadow:0 2px 0 #69428e,0 4px 7px #000;overflow-wrap:anywhere}.territory-setup .player-choices{flex-wrap:wrap;justify-content:center}.territory-game>.territory-side>.text-button{align-self:center;min-height:36px;padding:6px 12px}.territory-game.setup{justify-content:center;padding-bottom:6px}.territory-game #online-notice:empty{display:none}
@media(orientation:landscape){.territory-game:not(.setup){display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,1fr);grid-template-rows:auto minmax(0,1fr);gap:12px 24px;padding:8px 8px 54px;align-items:start}.territory-heading{grid-column:2;grid-row:1}.territory-side{grid-column:2;grid-row:2;width:100%;max-height:100%;overflow:auto}.territory-board{grid-column:1;grid-row:1/3;align-self:center;justify-self:center;width:min(100%,calc(100dvh - 76px),600px)}.territory-players{grid-template-columns:1fr}.territory-status{text-align:left}.territory-hint{text-align:left}}
@media(max-height:700px) and (orientation:portrait){.territory-heading h1{font-size:18px}.territory-game{gap:4px}.territory-player{padding:5px}.territory-board{width:min(100%,calc(100dvh - 235px))}.territory-hint{font-size:12px}.territory-side{gap:3px}}
#main[data-game="territory"]~#game-pause-button{display:none}
body:has(#main[data-game="territory"])>#game-pause-button{display:none!important}

.territory-paused .imposo-timebar-fill{animation-play-state:paused}

/* Use the same start panel and mode controls as Mühle. */
.territory-game.setup{display:block;overflow:auto;height:100%;padding:0}.territory-setup{box-sizing:border-box;width:min(100%,620px);max-height:none;overflow:visible;margin:auto;flex-shrink:0}.territory-setup>*{flex-shrink:0}.territory-setup .opponent-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.territory-setup>button{width:min(100%,360px)}.territory-setup>h1{margin:0}.territory-setup>p{margin:0;line-height:1.4}.territory-setup .bot-difficulty{width:min(100%,360px)}

/* Keep corner controls just below the board. */
.territory-game:not(.setup) .territory-restart,.territory-game:not(.setup) .territory-pause{top:var(--territory-controls-top,calc(100dvh - 55px));bottom:auto;min-height:44px}

@media(min-width:701px) and (pointer:fine){.territory-cover{container-type:inline-size}.territory-cover .territory-cover-title{font-size:min(36px,10cqw);overflow-wrap:normal;word-break:normal}html:lang(de) .territory-cover .territory-cover-title,html:lang(de) .territory-heading h1{white-space:nowrap}}
