:root{--page-bg: #101511;--panel-bg: #19221d;--panel-secondary: #202c25;--field-bg: #1d7b42;--field-line: rgb(220 245 225 / .28);--accent: #e4bc3c;--text-main: #edf3ee;--text-muted: #9cac9f;color:var(--text-main);background:var(--page-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 50% -20%,rgb(43 70 54 / .22),transparent 42rem),var(--page-bg)}button{border:0;border-radius:10px;padding:.75rem 1rem;font-weight:700;transition:background .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}button:not(:disabled){cursor:pointer}button:disabled{cursor:not-allowed}.app-shell{min-height:100vh;padding:.5rem;border:1px solid transparent;transition:border-color .18s ease,box-shadow .18s ease}.app-shell-team-red{border-color:#dc2626b3;box-shadow:inset 0 0 0 1px #f8717126,0 0 0 1px #dc262640,0 0 0 6px #dc26260d}.app-shell-team-blue{border-color:#2563ebb8;box-shadow:inset 0 0 0 1px #60a5fa29,0 0 0 1px #2563eb47,0 0 0 6px #2563eb0d}.status-bar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:.55rem;padding:.9rem 1rem;border:1px solid rgb(156 179 163 / .14);border-radius:12px;background:linear-gradient(180deg,#19221dfa,#101612fa);box-shadow:0 14px 42px #00000047}.status-brand{margin-right:auto;letter-spacing:.075em;text-transform:uppercase}.status-brand:before{content:"◆";margin-right:.7rem;color:var(--accent);text-shadow:0 0 14px rgb(228 188 60 / .38)}.status-item{display:grid;min-width:8.5rem;gap:.2rem;padding-left:1.25rem;border-left:1px solid rgb(156 179 163 / .12);color:var(--text-main);font-size:.82rem;font-weight:700;text-transform:uppercase}.status-item small{color:var(--text-muted);font-size:.62rem;font-weight:700;letter-spacing:.08em}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:.55rem;align-items:start}.board-column{display:grid;gap:1rem;min-width:0}.board-card,.side-panel{border:1px solid rgb(156 179 163 / .16);border-radius:16px;background:var(--panel-bg);box-shadow:0 18px 50px #0000004d}.board-card{overflow:auto;padding:.7rem}.board-card-scenario{display:flex;justify-content:center;align-items:center;overflow:visible;background:radial-gradient(circle at 50% 50%,rgb(36 74 50 / .18),transparent 32rem),var(--panel-bg)}.board-card svg{display:block;min-width:1020px;width:100%}@media (min-width: 1200px){.app-shell{height:100vh;height:100dvh}.content-grid{height:calc(100vh - 6rem);height:calc(100dvh - 6rem)}.board-column{display:flex;flex-direction:column;height:100%}.board-card:not(.board-card-scenario){flex:1 1 0;min-height:0;overflow:hidden}.board-card:not(.board-card-scenario) svg{height:100%}.board-column>.resource-panel{flex:0 0 auto}}.board-card-scenario svg{width:auto;height:auto;min-width:0;max-width:min(100%,760px);max-height:min(68vh,560px)}.app-shell-scenario .board-column{gap:.65rem}@media (min-width: 1200px){.app-shell-scenario{display:grid;grid-template-rows:auto auto minmax(0,1fr)}.app-shell-scenario .content-grid{height:auto;min-height:0;align-items:stretch}.app-shell-scenario .board-column{min-height:0}.app-shell-scenario .board-card-scenario{flex:0 1 auto;min-height:0}.app-shell-scenario .board-card-scenario svg{height:100%;max-width:100%}.app-shell-scenario .side-panel{min-height:0;max-height:100%}}.pitch-grass{fill:#185f35}.pitch-markings{fill:none;stroke:var(--field-line);stroke-width:2;stroke-opacity:1;vector-effect:non-scaling-stroke}.pitch-markings .pitch-dot{fill:#dcfce7;stroke:none;opacity:.85}.goal-structures{fill:none;stroke:#ffffffb3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.goal-structure{opacity:.96}.goal-structure path{stroke:#bbf7d02e;stroke-width:10;filter:drop-shadow(0 0 8px rgb(15 23 42 / .35))}.goal-structure line{stroke:#f8fafc;stroke-width:2.5}.goal-structure line:nth-of-type(n+4){stroke:#f8fafce6;stroke-width:2}.goal-structure::selection{background:transparent}.field-hex{cursor:default;fill:var(--field-bg);fill-opacity:.38;stroke:#d5ead9;stroke-width:1;stroke-opacity:.19}.field-hex:nth-of-type(2n){fill:#246f3e;fill-opacity:.3}.field-hex-goal-line{fill:#86efac;fill-opacity:.78;stroke:#fef3c7;stroke-width:1.6;stroke-opacity:.9}.field-hex-goal-line:nth-of-type(2n){fill:#4ade80;fill-opacity:.68}.field-hex-goal-line.field-hex-hovered{stroke:#fef08a;stroke-width:2;stroke-opacity:1}.field-hex-scenario-playable{stroke:#d5ead9;stroke-opacity:.22}.field-hex-scenario-margin{cursor:default;fill:#174f2e;fill-opacity:.2;stroke:#d5ead9;stroke-dasharray:none;stroke-opacity:.08;pointer-events:none}.field-hex-scenario-margin:nth-of-type(2n){fill:#174a2b;fill-opacity:.16}.scenario-playable-boundary{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:7 7;stroke-opacity:.72;stroke-linejoin:round;pointer-events:none;vector-effect:non-scaling-stroke}.field-hex-available-movement-target{fill:#4ade80;fill-opacity:.74;stroke:#dcfce7;stroke-width:1.5;stroke-opacity:.8}.field-hex-hovered{stroke:#fef08a;stroke-width:2;stroke-opacity:1}.player-token{cursor:pointer;outline:none}.player-token:focus-visible .selection-ring,.selection-ring{fill:none;stroke:var(--accent);stroke-width:3.5;filter:drop-shadow(0 0 5px rgb(228 188 60 / .95)) drop-shadow(0 0 12px rgb(228 188 60 / .55))}.player-token:focus-visible circle:not(.selection-ring){stroke:#fef08a;stroke-width:3}.player-number{fill:#fff;font-size:11px;font-weight:800;pointer-events:none}.goalkeeper-token{opacity:.98;filter:drop-shadow(0 2px 4px rgb(2 6 23 / .32))}.goalkeeper-token .goalkeeper-ring{fill:#0f172a1f;stroke:#f8fafcbf;stroke-width:1.2}.goalkeeper-token .goalkeeper-shape{fill:none;stroke:#f8fafc;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.goalkeeper-token .goalkeeper-glove{fill:#0f172a38;stroke-width:1.7}.goalkeeper-token .goalkeeper-crossbar{stroke:#facc15f2;stroke-width:1.8}.floating-tooltip{position:fixed;z-index:20;display:grid;gap:.15rem;max-width:220px;padding:.45rem .6rem;border:1px solid rgb(250 204 21 / .52);border-radius:10px;color:#f8fafc;background:#0f172aeb;box-shadow:0 12px 28px #02061759;font-size:.78rem;pointer-events:none}.floating-tooltip strong{color:#fef08a}.floating-tooltip span{color:#bfdbfe}.floating-tooltip-invalid{border-color:#f87171b8}.floating-tooltip-invalid strong{color:#fecaca}.floating-tooltip-invalid span{color:#fca5a5}.side-panel{display:grid;gap:1rem;padding:1rem}.side-panel h2{margin:0 0 .75rem;color:#f8fafc;font-size:1rem}.side-panel p{margin:.4rem 0;color:#cbd5e1}.selected-player-card{display:grid;gap:.35rem;padding:.75rem;border:1px solid #facc15;border-radius:12px;color:#f8fafc;background:#facc151f}.actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.action-button{color:#dbeafe;background:#1d4ed8;box-shadow:inset 0 0 0 1px #93c5fd38}.action-button:hover:not(:disabled),.action-button:focus-visible:not(:disabled){color:#fff;background:#2563eb;box-shadow:0 0 0 3px #60a5fa3d,inset 0 0 0 1px #bfdbfe59;transform:translateY(-1px)}.action-button:disabled{color:#94a3b8;background:#334155;box-shadow:none}.action-button-selected,.action-button-selected:hover:not(:disabled),.action-button-selected:focus-visible:not(:disabled){color:#1e293b;background:#facc15;box-shadow:0 0 0 3px #facc1538}.action-help{font-size:.82rem}.event-log{margin:0;padding-left:1.25rem;color:#cbd5e1}.event-log-item+.event-log-item,.event-log-group+.event-log-item,.event-log-item+.event-log-group{margin-top:.5rem}.event-log pre{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.event-log-item{position:relative;display:flex;align-items:flex-start;gap:.5rem}.event-log-message{min-width:0}.event-log-debug{position:relative;display:inline-block;flex:0 0 auto;padding-bottom:.35rem}.event-log-debug-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.2rem;margin-top:.05rem;border:1px solid rgb(148 163 184 / .35);border-radius:999px;color:#94a3b8;background:#0f172abf;font-size:.72rem;line-height:1;cursor:help;-webkit-user-select:none;user-select:none}.event-log-debug-toggle:hover,.event-log-debug-toggle:focus-visible{color:#e2e8f0;border-color:#60a5fab3;outline:none}.event-log-debug-popover{position:absolute;top:calc(100% - .1rem);right:0;z-index:20;display:none;min-width:min(32rem,72vw);max-width:min(42rem,86vw);padding:.75rem .85rem;border:1px solid rgb(96 165 250 / .35);border-radius:12px;background:#020617f7;box-shadow:0 20px 40px #0f172a73;color:#dbeafe;-webkit-user-select:text;user-select:text;cursor:text}.event-log-debug-popover pre{max-height:18rem;overflow:auto;font-size:.76rem;line-height:1.35}.event-log-debug:hover .event-log-debug-popover,.event-log-debug:focus-within .event-log-debug-popover{display:block}.event-log-group{margin-top:.75rem;padding:.75rem .9rem .85rem;border:1px solid rgb(148 163 184 / .2);border-radius:14px;background:#0f172a8c}.event-log-group-label{margin-bottom:.5rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#93c5fd}.event-log-group-items{margin:0;padding-left:1.05rem;list-style:disc}.event-log-item-grouped+.event-log-item-grouped{margin-top:.35rem}@media (max-width: 960px){.content-grid{grid-template-columns:1fr}.board-column{order:1}.side-panel{grid-row:2}}.planned-move,.planned-dribble,.planned-pass{fill:#facc1547;stroke:#facc15;stroke-width:4;stroke-linecap:round;stroke-dasharray:8 6;pointer-events:none}.planned-move circle,.planned-dribble circle,.planned-pass circle{fill:#facc1552}.planned-dribble{stroke:#34d399;fill:#34d3993d}.planned-dribble circle{fill:#34d3994d}.turn-plan-list{margin:0;padding-left:1.25rem;color:#dbeafe}.turn-plan-list li+li{margin-top:.4rem}.plan-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.75rem}.secondary-button{color:#dbeafe;background:#475569}.secondary-button:hover:not(:disabled),.secondary-button:focus-visible:not(:disabled){color:#fff;background:#64748b}.execute-button{color:#052e16;background:#22c55e}.execute-button:hover:not(:disabled),.execute-button:focus-visible:not(:disabled){background:#4ade80}.planned-pass{stroke:#38bdf8}.planned-pass circle{fill:#38bdf852}.pass-preview-target{fill:#facc15d6;stroke:#f97316;stroke-width:3}.planned-pass-target{fill:#38bdf8a3;stroke:#e0f2fe;stroke-width:3}.field-hex-available-movement-target.field-hex-hovered{stroke:#fef08a}.episode-pass-area{fill:#a855f733;stroke:#d8b4fe73;stroke-width:1}.episode-ball-hex{fill:#f4f4f5d1;stroke:#111827;stroke-width:3}.pass-preview-trajectory line,.planned-pass-trajectory line{stroke-width:5;stroke-linecap:round;pointer-events:none;vector-effect:non-scaling-stroke}.pass-preview-trajectory line{stroke:#fef08a;stroke-dasharray:5 5}.planned-pass-trajectory line{stroke:#38bdf8;stroke-dasharray:8 6}.pass-mode-label,.pass-mode-panel{color:#fef08a;font-weight:800}.episode-panel{padding:.75rem;border:1px solid #c084fc;border-radius:12px;background:#7e22ce2e}.board-card-pass-mode .field-hex{cursor:crosshair}.resource-panel{display:flex;flex-wrap:wrap;gap:.75rem;width:100%}.resource-pill{min-width:210px;flex:1 1 220px;padding:.75rem;border:1px solid #334155;border-radius:14px;background:#111827;box-shadow:0 14px 34px #02061738}.resource-pill-header{display:flex;justify-content:space-between;gap:.75rem;margin-bottom:.5rem;color:#f8fafc;font-size:.88rem}.resource-pill-header span{color:#cbd5e1;font-weight:700}.resource-track{position:relative;height:.8rem;overflow:hidden;border-radius:999px;background:#334155}.resource-fill,.resource-reserved{position:absolute;top:0;bottom:0;left:0;border-radius:inherit}.resource-fill{z-index:1;background:#22c55e}.resource-reserved{z-index:2;background:repeating-linear-gradient(135deg,#facc15eb 0,#facc15eb 6px,#ca8a04eb 6px,#ca8a04eb 12px)}.resource-pill-ap .resource-fill{background:#38bdf8}.resource-pill-focus .resource-fill{background:#c084fc}.team-shape-dpad{display:grid;grid-template-areas:". push ." "left execute right" ". drop .";grid-template-columns:1fr 1fr 1fr;gap:.5rem;align-items:center}.team-shape-button{min-width:0;padding:.65rem .5rem;font-size:.82rem}.team-shape-push-up{grid-area:push}.team-shape-shift-left{grid-area:left}.team-shape-shift-right{grid-area:right}.team-shape-drop-back{grid-area:drop}.team-shape-execute{grid-area:execute;min-width:0;padding:.65rem .5rem}.dice-overlay{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1rem;background:#02061794;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dice-modal{position:relative;min-width:min(360px,100%);padding:1.5rem;border:1px solid #475569;border-radius:18px;text-align:center;background:#1e293b;box-shadow:0 24px 70px #020617b8}.dice-modal h2{margin:0 2rem 1.25rem;color:#f8fafc}.dice-close{position:absolute;top:.55rem;right:.55rem;padding:.25rem .55rem;color:#cbd5e1;background:transparent;font-size:1.5rem;line-height:1}.dice-close:hover,.dice-close:focus-visible{color:#fff;background:#334155}.dice-results{display:flex;justify-content:center;gap:1.5rem}.dice-result{display:grid;justify-items:center;gap:.65rem;color:#dbeafe}.dice-grade-label{padding:.3rem .65rem;border-radius:999px;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.d20{display:grid;width:112px;height:112px;place-items:center;clip-path:polygon(50% 0,92% 25%,100% 72%,72% 100%,28% 100%,0 72%,8% 25%);color:#fff;filter:drop-shadow(0 10px 12px rgb(2 6 23 / .55))}.d20-team-red{background:linear-gradient(145deg,#fca5a5 8%,#ef4444 52%,#991b1b)}.d20-team-blue{background:linear-gradient(145deg,#93c5fd 8%,#3b82f6 52%,#1e40af)}.d20 span{font-size:2.25rem;font-weight:900}.d20-rolling{animation:d20-roll .42s linear infinite}@keyframes d20-roll{0%{transform:rotate(-12deg) scale(.92)}50%{transform:rotate(12deg) scale(1.06)}to{transform:rotate(-12deg) scale(.92)}}.dice-grade-critical-success .d20-resolved{animation:d20-critical-success .9s cubic-bezier(.16,1,.3,1) both;filter:drop-shadow(0 0 24px #facc15) drop-shadow(0 10px 12px rgb(2 6 23 / .55))}.dice-grade-critical-success .dice-grade-label{color:#422006;background:#fde047;animation:dice-label-reveal .45s .3s both}.dice-grade-success .d20-resolved{animation:d20-success .65s ease-out both;filter:drop-shadow(0 0 16px #4ade80) drop-shadow(0 10px 12px rgb(2 6 23 / .55))}.dice-grade-success .dice-grade-label{color:#052e16;background:#4ade80;animation:dice-label-reveal .4s .2s both}.dice-grade-partial-success .d20-resolved{animation:d20-partial-success .8s ease-in-out both;filter:saturate(.65) drop-shadow(0 0 12px #f59e0b) drop-shadow(0 10px 12px rgb(2 6 23 / .55))}.dice-grade-partial-success .dice-grade-label{color:#451a03;background:#fbbf24;animation:dice-label-reveal .4s .35s both}.dice-grade-critical-failure .d20-resolved{animation:d20-critical-failure .9s cubic-bezier(.36,.07,.19,.97) both;filter:grayscale(.75) drop-shadow(0 0 18px #ef4444) drop-shadow(0 10px 12px rgb(2 6 23 / .55))}.dice-grade-critical-failure .dice-grade-label{color:#fff;background:#991b1b;animation:dice-label-reveal .4s .4s both}@keyframes d20-critical-success{0%{transform:scale(.75) rotate(-18deg);opacity:.55}45%{transform:scale(1.32) rotate(9deg)}70%{transform:scale(.96) rotate(-3deg)}to{transform:scale(1.08) rotate(0);opacity:1}}@keyframes d20-success{0%{transform:scale(.82);opacity:.7}55%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}@keyframes d20-partial-success{0%,to{transform:rotate(0) scale(.96)}20%{transform:rotate(-9deg) scale(1.04)}40%{transform:rotate(7deg) scale(1)}60%{transform:rotate(-5deg) scale(.98)}80%{transform:rotate(3deg) scale(.96)}}@keyframes d20-critical-failure{0%{transform:translate(0) rotate(0);opacity:1}18%{transform:translate(-13px) rotate(-10deg)}36%{transform:translate(12px) rotate(9deg)}54%{transform:translate(-9px) rotate(-7deg)}72%{transform:translate(7px) rotate(5deg)}to{transform:translateY(12px) rotate(4deg) scale(.88);opacity:.72}}@keyframes dice-label-reveal{0%{transform:translateY(8px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){.d20-rolling,.d20-resolved,.dice-grade-label{animation:none!important}}.shot-goal-target{cursor:crosshair;fill:#22c55ed1;stroke:#dcfce7;stroke-width:3;stroke-opacity:1}.shot-goal-target-hovered{fill:#4ade80f0;stroke:#22c55e;stroke-width:4}.planned-shot{fill:#f871714d;stroke:#f87171;stroke-width:4;stroke-linecap:round;stroke-dasharray:3 5;pointer-events:none}.planned-shot circle{fill:#f871716b}.planned-shot-trajectory line{stroke:#f87171;stroke-width:5;stroke-linecap:round;stroke-dasharray:3 5;pointer-events:none;vector-effect:non-scaling-stroke}.shot-playback-ball{filter:drop-shadow(0 0 8px rgb(250 204 21 / .95));transition-property:cx,cy;transition-timing-function:linear}.shot-playback-marker{pointer-events:none}.shot-playback-marker circle{fill:none;stroke:#facc15;stroke-width:4;animation:shot-marker-pulse .55s ease-out infinite alternate}.shot-playback-marker-goalkeepersave circle{stroke:#38bdf8}.shot-playback-marker text{fill:#fef3c7;font-size:11px;font-weight:800;paint-order:stroke;stroke:#111827;stroke-width:3px}.playback-lock{border:1px solid rgb(250 204 21 / .55);border-radius:8px;background:#713f1259;color:#fef3c7;padding:.55rem .65rem}@keyframes shot-marker-pulse{0%{opacity:.65;transform:scale(.92);transform-origin:center}to{opacity:1;transform:scale(1.08);transform-origin:center}}.shot-playback-result{pointer-events:none}.shot-playback-result rect{fill:#0f172ae0;stroke:#facc15c7;stroke-width:2}.shot-playback-result text{fill:#f8fafc;font-size:13px;font-weight:800}.shot-playback-result text+text{fill:#fde68a;font-size:12px;font-weight:700}.shot-playback-outcome{pointer-events:none}.shot-playback-outcome rect{fill:#14532de6;stroke:#bbf7d0d9;stroke-width:2}.shot-playback-outcome-goalkick rect,.shot-playback-outcome-defenderpossession rect{fill:#1e293beb;stroke:#93c5fdd9}.shot-playback-outcome-freeball rect{fill:#713f12eb;stroke:#fde68ad9}.shot-playback-outcome text{fill:#f8fafc;font-size:16px;font-weight:900}.goal-celebration-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;display:grid;place-items:center;padding:1rem;background:radial-gradient(circle at 50% 42%,rgb(250 204 21 / .18),transparent 16rem),radial-gradient(circle at 20% 24%,rgb(248 113 113 / .22),transparent 12rem),radial-gradient(circle at 80% 28%,rgb(59 130 246 / .18),transparent 12rem),#020617ad;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.goal-celebration-fireworks{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.goal-firework{position:absolute;width:.65rem;height:.65rem;border-radius:999px;box-shadow:0 0 0 .3rem #ffffff14,0 0 24px #facc1566;animation:goal-firework-burst 1.2s ease-out 1 both}.goal-firework:before,.goal-firework:after{content:"";position:absolute;inset:50% auto auto 50%;width:4.5rem;height:4.5rem;border:2px solid currentColor;border-radius:50%;transform:translate(-50%,-50%) scale(.2);opacity:0;animation:goal-firework-ring 1.2s ease-out 1 both}.goal-firework:after{width:6.25rem;height:6.25rem;animation-delay:.18s}.goal-firework-0{top:18%;left:22%;color:#facc15;background:#facc15;animation-delay:0s}.goal-firework-1{top:25%;left:64%;color:#60a5fa;background:#60a5fa;animation-delay:.16s}.goal-firework-2{top:34%;left:40%;color:#fb7185;background:#fb7185;animation-delay:.28s}.goal-firework-3{top:42%;left:78%;color:#86efac;background:#86efac;animation-delay:.42s}.goal-firework-4{top:58%;left:30%;color:#f8fafc;background:#f8fafc;animation-delay:.12s}.goal-firework-5{top:66%;left:58%;color:#f97316;background:#f97316;animation-delay:.34s}.goal-firework-6{top:72%;left:18%;color:#c084fc;background:#c084fc;animation-delay:.22s}.goal-celebration-card{position:relative;z-index:1;width:min(92vw,460px);padding:1.6rem;border:1px solid rgb(250 204 21 / .5);border-radius:20px;background:#0f172af0;box-shadow:0 28px 80px #020617b8;text-align:center}.goal-celebration-card-fireworks{transform:scale(1.01)}.goal-celebration-card-score{animation:goal-celebration-rise .24s ease-out both}.goal-celebration-close{position:absolute;top:.55rem;right:.55rem;padding:.25rem .55rem;color:#cbd5e1;background:transparent;font-size:1.5rem;line-height:1}.goal-celebration-close:hover,.goal-celebration-close:focus-visible{color:#fff;background:#334155}.goal-celebration-kicker{margin:0 0 .25rem;color:#fde047;font-size:.82rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.goal-celebration-card h2{margin:0 0 1.1rem;color:#f8fafc;font-size:clamp(1.7rem,4vw,2.3rem)}.goal-scoreboard{display:grid;gap:.75rem;margin:0 auto 1rem}.goal-score-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid rgb(148 163 184 / .2);border-radius:14px;background:#1e293bc7}.goal-score-name{color:#cbd5e1;font-weight:700}.goal-score-value{color:#fff;font-size:2rem;font-weight:900}.goal-score-number{display:inline-block;min-width:1ch}.goal-celebration-hint{margin:0;color:#cbd5e1}@keyframes goal-firework-burst{0%{transform:scale(.2);opacity:0}20%{opacity:1}to{transform:scale(3.2);opacity:0}}@keyframes goal-firework-ring{0%{transform:translate(-50%,-50%) scale(.2);opacity:.85}to{transform:translate(-50%,-50%) scale(1.6);opacity:0}}@keyframes goal-celebration-rise{0%{transform:translateY(12px) scale(.98);opacity:.4}to{transform:translateY(0) scale(1);opacity:1}}.start-menu-overlay:not(.scenario-selection-overlay){position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:1rem;background:radial-gradient(circle at 20% 20%,rgb(37 99 235 / .22),transparent 28rem),radial-gradient(circle at 80% 80%,rgb(220 38 38 / .18),transparent 28rem),#0f172aeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.start-menu-card:not(.scenario-selection-card){width:min(100%,520px);padding:2rem;border:1px solid #334155;border-radius:22px;background:#1e293b;box-shadow:0 24px 80px #02061773;text-align:center}.start-menu-card h1{margin:0 0 .75rem;font-size:clamp(2rem,6vw,3.25rem)}.start-menu-kicker{margin:0 0 .5rem;color:#93c5fd;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.start-menu-actions{display:grid;gap:.85rem;margin-top:1.5rem}.main-menu-button{padding:.5rem .75rem;font-size:.85rem}.online-form{display:grid;gap:.75rem;margin:1rem 0}.online-form label{font-weight:700}.online-form input{border:1px solid #475569;border-radius:10px;background:#0f172a;color:#e5e7eb;font:700 1.25rem ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:.18em;padding:.75rem 1rem;text-transform:uppercase}.join-code{display:inline-block;margin:.75rem 0;border:1px solid #60a5fa;border-radius:14px;background:#0f172a;color:#bfdbfe;font:800 2.25rem ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:.24em;padding:.8rem 1.1rem}.field-hex.episode-pass-intention{stroke:#fde047;stroke-width:3}.scenario-hud{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-bottom:.55rem;padding:0 .35rem;border:1px solid rgb(156 179 163 / .14);border-radius:12px;background:linear-gradient(180deg,#1f2b24eb,#19221dfa);box-shadow:0 14px 42px #0000003d}.scenario-hud>div{display:grid;gap:.25rem;padding:.85rem 1rem;border:0;border-right:1px solid rgb(156 179 163 / .12);border-radius:0;background:transparent}.scenario-hud>div:last-child{border-right:0}.scenario-hud-label{color:var(--text-muted);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.scenario-hud strong{color:var(--text-main);font-size:.9rem}.scenario-result-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:1rem;background:#080c09d1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.scenario-result-card{width:min(560px,100%);padding:2rem;border:1px solid rgb(228 188 60 / .3);border-radius:16px;background:linear-gradient(180deg,var(--panel-secondary),var(--panel-bg));box-shadow:0 24px 70px #00000073}.scenario-result{font-size:1.35rem;font-weight:800}.scenario-result-won{color:#86efac}.scenario-result-lost{color:#fca5a5}.scenario-score-hero{display:grid;gap:.2rem;margin:1.2rem 0 1rem;padding:1.1rem 1rem 1rem;border:1px solid rgb(251 191 36 / .35);border-radius:18px;background:linear-gradient(180deg,#fbbf2426,#0f172ab8),var(--panel-secondary);box-shadow:inset 0 1px #ffffff0f;text-align:center}.scenario-score-hero-label{color:#fde68a;font-size:.72rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.scenario-score-hero-value{color:#fff7d6;font-size:clamp(3.25rem,9vw,4.9rem);font-weight:950;line-height:.95;text-shadow:0 0 24px rgb(251 191 36 / .3)}.scenario-score-hero-subtitle{color:#cbd5e1;font-size:.92rem}.scenario-result-details{display:grid;gap:.75rem;margin:1.5rem 0}.scenario-result-details div{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid rgb(148 163 184 / .24)}.scenario-score-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;padding:0}.scenario-score-breakdown div{display:grid;gap:.28rem;padding:.85rem .95rem .9rem;border:1px solid rgb(148 163 184 / .18);border-radius:14px;background:#0f172a61}.scenario-score-breakdown dt{color:#cbd5e1;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.scenario-score-breakdown dd{margin:0;color:#f8fafc;font-size:1.15rem;font-weight:900;line-height:1.05}@media (max-width: 540px){.scenario-score-breakdown{grid-template-columns:1fr}}.scenario-result-details dt{color:var(--text-muted);font-weight:700}.scenario-result-details dd{margin:0;text-align:right}.scenario-result-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.scenario-selection-overlay{padding:clamp(.5rem,2vw,2rem)}.scenario-selection-card{display:flex;flex-direction:column;width:min(100%,1200px);height:calc(100dvh - 5rem);min-height:0;margin-inline:auto;text-align:left}.scenario-selection-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1.25rem}.scenario-selection-card .start-menu-kicker{color:var(--harbor-muted);font-size:.72rem}.scenario-selection-card h1{margin:0;color:var(--harbor-navy);font-family:var(--harbor-display);font-size:clamp(1.75rem,3vw,2.5rem)}.scenario-selection-navigation,.scenario-briefing-actions{display:flex;flex-wrap:wrap;gap:.65rem}.scenario-selection-card .secondary-button{border:1px solid #b8aa91;color:var(--harbor-navy);background:#f5efe3b3;box-shadow:none}.scenario-selection-card .secondary-button:hover:not(:disabled),.scenario-selection-card .secondary-button:focus-visible:not(:disabled){color:var(--harbor-navy);background:var(--harbor-plaster);box-shadow:inset 0 0 0 1px #b8aa91}.scenario-browser{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(1rem,2.5vw,2rem);min-height:0;flex:1}.scenario-list{display:grid;align-content:start;min-height:0;gap:.65rem;margin:0;padding:2px .5rem 2px 2px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;list-style:none}.scenario-card{display:grid;gap:.45rem;width:100%;padding:.9rem 1rem;border:1px solid #c5b79e;border-radius:var(--harbor-radius-sm);color:var(--harbor-ink);background:#f5efe399;text-align:left;font:inherit;box-shadow:none;overflow-wrap:anywhere}.scenario-selection-card .scenario-card:hover,.scenario-selection-card .scenario-card:focus-visible{color:var(--harbor-ink);background:var(--harbor-plaster);box-shadow:inset 3px 0 var(--harbor-navy)}.scenario-card[aria-pressed=true]{border-color:var(--harbor-navy);background:var(--harbor-plaster);box-shadow:inset 3px 0 var(--harbor-navy)}.scenario-card:focus-visible{outline:2px solid var(--harbor-navy);outline-offset:2px}.scenario-card-title{color:var(--harbor-navy);font-weight:700}.scenario-card-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:#565a58;font-size:.85rem;line-height:1.4}.scenario-card-objective,.scenario-progress-label{font-size:.75rem;line-height:1.4}.scenario-progress-label{color:var(--harbor-navy);font-weight:700}.scenario-briefing{min-width:0;overflow-y:auto;padding:clamp(1.25rem,2.5vw,2rem);border:1px solid #c5b79e;border-radius:var(--harbor-radius-md);background:linear-gradient(145deg,#faf6ed,var(--harbor-plaster));box-shadow:0 4px 12px #46301c14;overflow-wrap:anywhere}.scenario-briefing h2{margin:0 0 .85rem;color:var(--harbor-navy);font-family:var(--harbor-display);font-size:clamp(1.5rem,2.5vw,2rem)}.scenario-briefing-description{color:#4e5250;line-height:1.6}.scenario-briefing h3{margin:0 0 .5rem;font-size:.8rem}.scenario-briefing-objective{margin-block:1.5rem;padding-left:.85rem;border-left:3px solid var(--harbor-brass)}.scenario-briefing-objective p{margin:0}.scenario-briefing-facts{display:flex;flex-wrap:wrap;gap:1rem 2rem;margin:0}.scenario-briefing-facts dt{color:#565a58;font-size:.8rem}.scenario-briefing-facts dd{margin:.35rem 0 0;font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums}.scenario-briefing-progress{margin-block:1.5rem;padding-block:1.25rem;border-block:1px solid rgb(115 93 65 / .18)}.scenario-briefing-progress h3{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin-bottom:1rem}@media (max-width: 760px){.scenario-selection-card{height:auto}.scenario-browser{grid-template-columns:minmax(0,1fr)}.scenario-list{max-height:40dvh}.scenario-briefing{overflow-y:visible}}@media (max-width: 900px){.scenario-hud{grid-template-columns:repeat(2,minmax(0,1fr))}}.floating-tooltip{border-color:#e4bc3c7a;border-radius:8px;background:#131b16f5;box-shadow:0 12px 28px #0000006b}.side-panel{align-content:start;gap:0;max-height:calc(100vh - 5.5rem);overflow-y:auto;padding:0 1rem;background:linear-gradient(180deg,rgb(31 43 36 / .7),transparent 14rem),var(--panel-bg)}.side-panel>section{padding:1rem 0;border-bottom:1px solid rgb(156 179 163 / .12)}.side-panel>section:last-child{border-bottom:0}.side-panel h2{color:#dacda5;font-size:.76rem;letter-spacing:.075em;text-transform:uppercase}.side-panel p{color:var(--text-muted);font-size:.82rem;line-height:1.45}.selected-player-card{border-color:#e4bc3cb8;border-radius:8px;background:linear-gradient(135deg,#e4bc3c1c,#202c259e);box-shadow:inset 3px 0 #e4bc3ccc}.actions{gap:.5rem}.action-button{border-radius:6px;color:var(--text-main);background:var(--panel-secondary);box-shadow:inset 0 0 0 1px #9cb3a326;font-size:.72rem;letter-spacing:.035em;text-transform:uppercase}.action-button:hover:not(:disabled),.action-button:focus-visible:not(:disabled){background:#2a3a30}.action-button-selected,.action-button-selected:hover:not(:disabled),.action-button-selected:focus-visible:not(:disabled){color:#211c0c;background:var(--accent);box-shadow:0 0 0 2px #e4bc3c2e,0 0 16px #e4bc3c24}.planned-move,.planned-dribble,.planned-pass,.planned-pass-trajectory line{stroke-dasharray:none}.planned-pass,.planned-pass-trajectory line{stroke:var(--accent)}.app-shell-opponent-replay .planned-move,.app-shell-opponent-replay .planned-dribble,.app-shell-opponent-replay .planned-pass,.app-shell-opponent-replay .planned-pass-trajectory line{stroke-dasharray:8 6}.app-shell-opponent-replay .planned-shot,.app-shell-opponent-replay .planned-shot-trajectory line{stroke-dasharray:3 5}.pass-preview-trajectory line{stroke:#f0cf64;stroke-dasharray:7 6;filter:drop-shadow(0 0 3px rgb(228 188 60 / .42))}.resource-pill{border-color:#9cb3a324;border-radius:10px;background:var(--panel-bg);box-shadow:0 14px 34px #00000038}.secondary-button{color:var(--text-main);background:var(--panel-secondary);box-shadow:inset 0 0 0 1px #9cb3a326}.execute-button{color:#eaf7ed;background:#176638;box-shadow:inset 0 0 0 1px #74d28f38}:root{--harbor-ivory: #eee6d6;--harbor-ivory-deep: #ded1ba;--harbor-plaster: #f5efe3;--harbor-ink: #25313a;--harbor-muted: #6f706b;--harbor-navy: #123e59;--harbor-navy-hover: #185472;--harbor-brass: #a7772d;--harbor-brass-light: #d0aa64;--harbor-wood: #76512f;--harbor-wood-dark: #4d321e;--harbor-limestone: #c8bca4;--harbor-grass: #657239;--harbor-grass-deep: #4d5d2d;--harbor-line: rgb(239 232 196 / .52);--harbor-radius-sm: 4px;--harbor-radius-md: 8px;--harbor-radius-lg: 12px;--harbor-shadow-soft: 0 8px 22px rgb(70 48 28 / .16);--harbor-shadow-raised: 0 14px 32px rgb(54 36 22 / .24);--harbor-display: Georgia, "Times New Roman", serif;--harbor-ui: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--page-bg: var(--harbor-ivory-deep);--panel-bg: var(--harbor-plaster);--panel-secondary: #e7dcc8;--field-bg: var(--harbor-grass);--field-line: var(--harbor-line);--accent: var(--harbor-brass);--text-main: var(--harbor-ink);--text-muted: var(--harbor-muted)}body{color:var(--harbor-ink);background:linear-gradient(90deg,rgb(103 73 43 / .06) 1px,transparent 1px) 0 0 / 34px 34px,radial-gradient(circle at 18% 12%,rgb(255 255 255 / .55),transparent 24rem),linear-gradient(145deg,#e7dcc9,#d5c6ac);font-family:var(--harbor-ui)}.app-shell{border-color:transparent;background:radial-gradient(circle at 70% 18%,rgb(255 255 255 / .34),transparent 26rem),repeating-linear-gradient(8deg,rgb(103 73 43 / .025) 0 1px,transparent 1px 8px),var(--harbor-ivory-deep)}.app-shell-team-red,.app-shell-team-blue{border-color:transparent;box-shadow:inset 0 3px 0 var(--active-team-color, var(--harbor-brass))}.status-bar{gap:0;border:1px solid #c5b79e;border-radius:var(--harbor-radius-sm);color:var(--harbor-ink);background:repeating-linear-gradient(105deg,rgb(122 91 52 / .025) 0 1px,transparent 1px 7px),linear-gradient(180deg,#faf6ed,#ebe1d0);box-shadow:var(--harbor-shadow-soft),inset 0 0 0 1px #ffffff9e}.status-brand{color:#25384a;font-family:var(--harbor-display);font-size:1.05rem;letter-spacing:.1em}.status-brand:before{color:var(--harbor-brass);text-shadow:none}.status-item{border-left-color:#735d4138;color:var(--harbor-ink)}.status-item small{color:#777166}.content-grid{gap:.65rem}.board-card,.side-panel{border-radius:var(--harbor-radius-md);box-shadow:var(--harbor-shadow-raised)}.board-card{padding:.75rem;border:1px solid #9d8e72;background:linear-gradient(90deg,rgb(255 255 255 / .18),transparent 12%,transparent 88%,rgb(76 53 31 / .08)),repeating-linear-gradient(92deg,#cfc3aa 0,#cfc3aa 20px,#bdae91 20px,#bdae91 21px,#d7ccb7 21px,#d7ccb7 43px);box-shadow:var(--harbor-shadow-raised),inset 0 0 0 4px #ded4c0,inset 0 0 0 6px #a99a7e}.board-card svg{border:1px solid #465027;border-radius:var(--harbor-radius-sm);background:var(--harbor-limestone);box-shadow:inset 0 0 18px #1c231261,0 2px 5px #3a2a184d}.pitch-grass{fill:url(#warm-harbor-grass)}.field-hex{fill:#65743b;fill-opacity:.14;stroke:#e3dfb8;stroke-opacity:.2;stroke-width:.9}.field-hex:nth-of-type(2n){fill:#748044;fill-opacity:.09}.pitch-markings{stroke:var(--harbor-line);stroke-width:1.7}.pitch-markings .pitch-dot{fill:#eee9cc;opacity:.74}.goal-structure path{stroke:#2027193d}.goal-structure line{stroke:#f1ead4}.field-hex-hovered,.field-hex-available-movement-target.field-hex-hovered{stroke:#ffe690;stroke-width:2.4;stroke-opacity:1}.field-hex-available-movement-target{fill:#4fa95c;fill-opacity:.86;stroke:#e9f4c9;stroke-opacity:.95}.selection-ring{stroke:#ffd76a;filter:drop-shadow(0 0 4px rgb(40 31 10 / .9)) drop-shadow(0 0 9px rgb(255 215 106 / .75))}.side-panel{border:3px solid var(--harbor-wood-dark);color:var(--harbor-ink);background:repeating-linear-gradient(98deg,rgb(111 79 42 / .03) 0 1px,transparent 1px 8px),var(--harbor-plaster);box-shadow:var(--harbor-shadow-raised),inset 0 0 0 2px var(--harbor-brass),inset 0 0 0 5px #8a6137}.side-panel>section{padding-bottom:.9rem;border-bottom:1px solid rgb(121 101 74 / .2)}.side-panel>section:last-child{padding-bottom:0;border-bottom:0}.side-panel h2{color:#26394b;font-family:var(--harbor-display);font-size:.96rem;letter-spacing:.045em;text-transform:uppercase}.side-panel p,.event-log,.turn-plan-list{color:#4e5250}.selected-player-card,.episode-panel{border-color:#a7772d9e;background:linear-gradient(135deg,#d0aa642e,#fffcf4bf);box-shadow:inset 3px 0 0 var(--harbor-brass);color:var(--harbor-ink)}button,.action-button,.secondary-button,.execute-button{border:1px solid #092c42;border-radius:var(--harbor-radius-sm);color:#f8f3e8;background:linear-gradient(180deg,#174d69,var(--harbor-navy));box-shadow:inset 0 0 0 1px #ffffff1a,0 2px 4px #3f2b183d}button:hover:not(:disabled),button:focus-visible:not(:disabled),.action-button:hover:not(:disabled),.secondary-button:hover:not(:disabled),.execute-button:hover:not(:disabled){color:#fffdf7;background:linear-gradient(180deg,#20617f,var(--harbor-navy-hover));box-shadow:0 0 0 3px #a7772d47,0 3px 7px #3f2b1842}button:focus-visible{outline:2px solid #f2cf7b;outline-offset:2px}button:disabled,.action-button:disabled{border-color:#aaa18f;color:#77756f;background:#d5cdbf;box-shadow:inset 0 0 0 1px #ffffff61;opacity:.78}.action-button-selected,.action-button-selected:hover:not(:disabled),.action-button-selected:focus-visible:not(:disabled){border-color:#6e4b18;color:#252012;background:linear-gradient(180deg,#e3c37c,#bc893a);box-shadow:0 0 0 3px #a7772d3d,inset 0 1px #ffffff6b}.resource-panel{gap:.65rem;padding:.6rem;border:1px solid var(--harbor-wood-dark);border-radius:var(--harbor-radius-md);background:linear-gradient(180deg,#8a623b,#624125);box-shadow:var(--harbor-shadow-soft),inset 0 0 0 2px #d0aa646b}.resource-pill{border-color:#c7bba5;border-radius:var(--harbor-radius-sm);background:repeating-linear-gradient(100deg,rgb(106 83 52 / .028) 0 1px,transparent 1px 7px),var(--harbor-plaster);box-shadow:inset 0 0 0 1px #ffffff80}.resource-pill-header{color:var(--harbor-ink)}.resource-pill-header span{color:#565a58}.resource-track{border:1px solid #aaa087;background:#cfc7b8;box-shadow:inset 0 1px 3px #442f1933}.resource-fill,.resource-pill-ap .resource-fill,.resource-pill-focus .resource-fill{background:linear-gradient(90deg,#174562,#1b6385)}.resource-reserved{background:repeating-linear-gradient(135deg,#d0aa64 0,#d0aa64 6px,#a7772d 6px,#a7772d 12px)}.floating-tooltip,.event-log-debug-popover,.shot-playback-result rect{border-color:#d0aa64b3;color:#f9f3e6;background:#172f3df5;box-shadow:var(--harbor-shadow-raised)}.floating-tooltip strong,.pass-mode-label,.pass-mode-panel{color:#ffe39a}.floating-tooltip span{color:#e6edf0}.event-log-debug-toggle{border-color:#705b3e57;color:#59636a;background:#e4dac9}.event-log-group{border-color:#7862433d;background:#e1d6c380}.event-log-group-label{color:var(--harbor-navy)}*{scrollbar-color:var(--harbor-brass) #d6cbb8;scrollbar-width:thin}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:#d6cbb8}*::-webkit-scrollbar-thumb{border:2px solid #d6cbb8;border-radius:999px;background:var(--harbor-brass)}.warm-harbor-decorations{display:none;pointer-events:none;-webkit-user-select:none;user-select:none}.warm-harbor-decoration{position:absolute;display:block;max-width:none}.app-shell-scenario .scenario-hud{border-color:#c5b79e;border-radius:var(--harbor-radius-sm);background:linear-gradient(180deg,#f5efe3,#ebe1d0);box-shadow:inset 0 1px #ffffff8c}.app-shell-scenario .scenario-hud>div{padding:.65rem .85rem;border-right-color:#735d412e}.app-shell-scenario .board-card-scenario{align-self:center;margin-inline:auto;width:fit-content;max-width:100%;padding:.75rem;border-color:#b8aa91;background:linear-gradient(145deg,#f5efe3,#e7dcc8);box-shadow:0 4px 12px #46301c1f,inset 0 1px #fff9}.app-shell-scenario .resource-panel{padding:.5rem;border-color:#c5b79e;background:var(--harbor-plaster);box-shadow:inset 0 1px #ffffff8c}.app-shell-scenario .resource-pill{padding:.5rem;border-color:transparent;background:transparent;box-shadow:none}.app-shell-scenario .side-panel{border:1px solid #b8aa91;box-shadow:0 4px 12px #46301c1a}.app-shell-scenario .side-panel>section{padding-block:.85rem}@media (min-width: 1200px){.app-shell-scenario .resource-panel{max-width:36rem;margin-inline:auto}}@media (min-width: 1200px){html:has(.app-shell .board-card:not(.board-card-scenario)),body:has(.app-shell .board-card:not(.board-card-scenario)){overflow:hidden}.app-shell:has(.board-card:not(.board-card-scenario)){--harbor-gutter-width: clamp(8.5rem, 9vw, 9.5rem);overflow:hidden}.app-shell:has(.board-card:not(.board-card-scenario)) .board-column{position:relative;padding-left:var(--harbor-gutter-width)}.app-shell:has(.board-card:not(.board-card-scenario)) .board-column:before{content:"";position:absolute;z-index:0;inset:0 auto 0 0;width:calc(var(--harbor-gutter-width) - .55rem);border:1px solid #aa9a7f;border-radius:var(--harbor-radius-md);background:#d8ccb7;box-shadow:inset -9px 0 15px #4e361f24,inset 1px 0 #ffffff94,inset 0 0 0 3px #fff3,0 8px 20px #46301c21;pointer-events:none}.app-shell:has(.board-card:not(.board-card-scenario)) .academy-gutter{position:absolute;z-index:1;inset:0 auto 0 0;width:calc(var(--harbor-gutter-width) - .55rem);overflow:hidden;border:1px solid transparent;border-radius:var(--harbor-radius-md);pointer-events:none}.app-shell:has(.board-card:not(.board-card-scenario)) .academy-gutter__image{position:absolute;bottom:0;left:0;width:auto;height:100%;max-width:none;filter:saturate(.94) contrast(.98);pointer-events:none;-webkit-user-select:none;user-select:none}.app-shell:has(.board-card:not(.board-card-scenario)) .board-column:after{content:none}.app-shell:has(.board-card:not(.board-card-scenario)) .board-card,.app-shell:has(.board-card:not(.board-card-scenario)) .resource-panel{position:relative;z-index:2}.app-shell:has(.board-card:not(.board-card-scenario)) .resource-panel{width:min(100%,56rem);margin-inline:auto}.app-shell:has(.board-card:not(.board-card-scenario)) .warm-harbor-decorations{position:absolute;z-index:5;bottom:-.15rem;left:-.1rem;display:block;width:calc(var(--harbor-gutter-width) + 2rem);height:15rem;overflow:visible;pointer-events:none}.app-shell:has(.board-card:not(.board-card-scenario)) .warm-harbor-notebook{bottom:-.9rem;left:-.75rem;width:calc(var(--harbor-gutter-width) + 1.35rem);transform:rotate(-5deg);filter:drop-shadow(0 4px 3px rgb(56 39 24 / .18)) drop-shadow(0 9px 9px rgb(56 39 24 / .2))}.app-shell:has(.board-card:not(.board-card-scenario)) .warm-harbor-whistle{bottom:-.1rem;left:calc(var(--harbor-gutter-width) - 3.05rem);width:4.8rem;transform:rotate(7deg);filter:drop-shadow(0 2px 2px rgb(56 39 24 / .18)) drop-shadow(0 5px 5px rgb(56 39 24 / .22))}.app-shell:has(.board-card:not(.board-card-scenario)) .status-bar{border-color:#a89678;background:linear-gradient(#7c5734,#58391f) top / 100% 3px no-repeat,linear-gradient(#76502f,#50331d) bottom / 100% 2px no-repeat,repeating-linear-gradient(102deg,rgb(112 81 45 / .025) 0 1px,transparent 1px 7px),linear-gradient(180deg,#fbf7ef,#e9decb);box-shadow:inset 0 1px #ffffffb3,inset 0 -2px #6b492817,var(--harbor-shadow-soft)}.app-shell:has(.board-card:not(.board-card-scenario)) .status-item{border-left-color:#644c3140}.app-shell:has(.board-card:not(.board-card-scenario)) .board-card{border-color:#a39376;background:radial-gradient(ellipse at 8% 5%,rgb(255 255 255 / .28),transparent 18%),radial-gradient(ellipse at 91% 94%,rgb(109 84 54 / .09),transparent 20%),repeating-linear-gradient(112deg,transparent 0 31px,rgb(116 94 65 / .035) 31px 32px),linear-gradient(90deg,rgb(255 255 255 / .2),transparent 12%,transparent 88%,rgb(73 50 28 / .09)),repeating-linear-gradient(0deg,transparent 0 45px,rgb(107 89 64 / .13) 45px 47px),repeating-linear-gradient(90deg,#d9cfbd 0,#d9cfbd 62px,#bcae93 62px,#bcae93 64px,#e4dac8 64px,#e4dac8 126px);box-shadow:inset 0 0 0 2px #eee7da,inset 0 0 0 5px #b1a286,inset 0 1px 8px #ffffff6b,inset 0 0 18px #49331d2b,0 5px 8px #402b191a,0 12px 26px #402b192b}.app-shell:has(.board-card:not(.board-card-scenario)) .side-panel{border-width:4px;border-color:#4b301c;background:linear-gradient(90deg,rgb(255 255 255 / .25),transparent 6%,transparent 94%,rgb(83 57 30 / .05)),repeating-linear-gradient(98deg,rgb(109 76 39 / .025) 0 1px,transparent 1px 8px),#f6efe2;box-shadow:inset 0 0 0 2px #b7863e,inset 0 0 0 6px #76502e,inset 0 0 20px #5b3e2017,0 12px 28px #3d28163d}.app-shell:has(.board-card:not(.board-card-scenario)) .side-panel>section{border-bottom-color:#6d55373d;box-shadow:0 1px #ffffff73}.app-shell:has(.board-card:not(.board-card-scenario)) .resource-panel{padding:.55rem;border:3px solid #4b301c;background:linear-gradient(180deg,rgb(255 255 255 / .08),transparent 35%),repeating-linear-gradient(92deg,#805a35 0,#805a35 52px,#6d4828 52px,#6d4828 54px,#8b633c 54px,#8b633c 106px);box-shadow:inset 0 0 0 2px #b18142,inset 0 0 12px #2f1d104d,0 8px 18px #3d281633}.app-shell:has(.board-card:not(.board-card-scenario)) .resource-pill{padding:.65rem .75rem;border-color:#b8aa91;background:repeating-linear-gradient(100deg,rgb(106 83 52 / .025) 0 1px,transparent 1px 7px),#f7f1e6;box-shadow:inset 0 0 0 1px #ffffff9e,inset 0 2px 5px #563d2114}}@media (max-width: 1199px){.academy-gutter,.warm-harbor-decorations{display:none}}@media (max-width: 960px){.status-bar{gap:.75rem}.status-item{padding-left:.75rem}}.start-menu-overlay:not(.scenario-selection-overlay){overflow-y:auto;background:radial-gradient(circle at 18% 18%,rgb(20 73 103 / .22),transparent 30rem),radial-gradient(circle at 82% 82%,rgb(126 69 43 / .2),transparent 28rem),linear-gradient(145deg,#1b2c3b,#202a35 58%,#34272a)}.start-menu-card:not(.scenario-selection-card){max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);overflow-y:auto;border:3px solid var(--harbor-wood-dark);border-radius:var(--harbor-radius-lg);color:var(--harbor-ink);background:repeating-linear-gradient(8deg,rgb(103 73 43 / .025) 0 1px,transparent 1px 8px),linear-gradient(180deg,#faf6ed,var(--harbor-ivory));box-shadow:0 28px 80px #0206177a,inset 0 0 0 2px var(--harbor-brass),inset 0 0 0 5px #d8c8ac}.start-menu-card:not(.scenario-selection-card) h1,.start-menu-card:not(.scenario-selection-card) h2{color:#172d3d;font-family:var(--harbor-display)}.start-menu-card:not(.scenario-selection-card) h1{line-height:1.05}.start-menu-card:not(.scenario-selection-card) h2{margin:0;font-size:1.2rem}.start-menu-card:not(.scenario-selection-card)>p:not(.start-menu-kicker),.start-menu-account{color:var(--harbor-muted)}.start-menu-kicker{color:var(--harbor-brass);font-size:.78rem;letter-spacing:.16em}.start-menu-actions{gap:.65rem}.start-menu-account-error{color:#8f2f27}.account-recovery{display:grid;gap:.85rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid rgb(115 93 65 / .28)}.account-recovery form{display:grid;gap:.65rem}.account-recovery label{display:grid;gap:.3rem;color:#33404a;font-size:.78rem;font-weight:700;letter-spacing:.035em;text-align:left;text-transform:uppercase}.account-recovery input{width:100%;padding:.7rem .8rem;border:1px solid #a99a7e;border-radius:var(--harbor-radius-sm);color:var(--harbor-ink);background:#fffdf7;box-shadow:inset 0 1px 3px #442f191f;font:inherit}.account-recovery input:focus{border-color:var(--harbor-brass);outline:2px solid rgb(167 119 45 / .24);outline-offset:1px}.recovery-code{display:grid;gap:.4rem;padding:.75rem;border:1px solid var(--harbor-brass);border-radius:var(--harbor-radius-sm);color:#382817;background:#fff4cf;box-shadow:inset 0 0 0 1px #ffffffb3}.recovery-code strong{color:#563914}.recovery-code code{display:block;padding:.35rem .45rem;border-radius:3px;color:#102f43;background:#ffffff94;font-weight:800;letter-spacing:.025em;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}@media (max-width: 540px){.start-menu-overlay:not(.scenario-selection-overlay){place-items:start center;padding:.5rem}.start-menu-card:not(.scenario-selection-card){max-height:calc(100vh - 1rem);max-height:calc(100dvh - 1rem);padding:1.35rem}}.app-shell.scenario-selection-shell{color:var(--harbor-ivory);background:radial-gradient(circle at 18% 18%,rgb(20 73 103 / .22),transparent 30rem),radial-gradient(circle at 82% 82%,rgb(126 69 43 / .2),transparent 28rem),linear-gradient(145deg,#1b2c3b,#202a35 58%,#34272a)}.scenario-selection-shell .scenario-selection-header h1{color:var(--harbor-ivory)}.scenario-selection-shell .scenario-selection-header .start-menu-kicker{color:#d0c4ad}.scenario-selection-shell .scenario-selection-navigation .secondary-button,.scenario-selection-shell .scenario-card{background:var(--harbor-ivory)}.scenario-selection-shell .scenario-card[aria-pressed=true]{border-color:var(--harbor-brass-light);background:var(--harbor-plaster);box-shadow:inset 3px 0 var(--harbor-brass)}.scenario-selection-shell .scenario-card:focus-visible{outline-color:var(--harbor-brass-light)}.scenario-selection-shell .scenario-briefing{color:var(--harbor-ink)}.scenario-briefing-leaderboard{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid rgb(115 93 65 / .18);font-size:.8rem}.scenario-briefing-leaderboard h3{color:var(--harbor-navy)}.scenario-briefing-leaderboard h2{margin-block:1rem .5rem;font-size:.9rem}.scenario-briefing-leaderboard .scenario-leaderboard-scroll{max-height:16rem;overflow:auto;scrollbar-gutter:stable}.scenario-briefing-leaderboard table{width:100%;border-collapse:collapse;text-align:left;font-size:inherit;font-variant-numeric:tabular-nums}.scenario-briefing-leaderboard th,.scenario-briefing-leaderboard td{padding:.55rem .35rem;border-bottom:1px solid rgb(115 93 65 / .14)}.scenario-briefing-leaderboard th{position:sticky;top:0;background:var(--harbor-plaster);color:var(--harbor-navy)}.scenario-briefing-leaderboard td:nth-child(2){overflow-wrap:anywhere}.scenario-leaderboard-current{background:#d0aa642e;font-weight:700}.scenario-leaderboard-you{color:var(--harbor-navy);white-space:nowrap}
