:root{color:#183047;font-synthesis:none;text-rendering:optimizelegibility;--navy:#173a5e;--blue:#2869c7;--blue-dark:#174c91;--cream:#fffdf7;--dirt:#c27a4d;--yellow:#f5c84c;--red:#d95755;--green:#27845d;--grass-main:#4a8047;--grass-stripe:#42753f;--base-white:#f8fafc;--foul-line:#fffc;background:#eef3ed;font-family:Inter,ui-rounded,SF Pro Rounded,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 20% 8%,#ffffffd1,#0000 34rem),#eef3ed;min-width:320px;min-height:100vh;margin:0}button,summary{font:inherit}button{color:inherit}button:focus-visible,summary:focus-visible,[role=button]:focus-visible{outline-offset:3px;outline:4px solid #f5c84cdb}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{width:min(1180px,100%);min-height:100vh;margin:0 auto;padding:clamp(18px,2.7vw,30px)}.brand{color:var(--blue-dark);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:900}.eyebrow,.play-count,.scenario-kicker{color:#64788b;letter-spacing:.04em;text-transform:uppercase;margin:9px 0 0;font-size:.8rem;font-weight:820}h1{color:var(--navy);letter-spacing:-.045em;margin:16px 0 9px;font-size:clamp(2rem,3.8vw,3rem);line-height:1.02}.selection-intro,.role-prompt,.solution-lead{color:#526579;font-size:clamp(.95rem,1.4vw,1.08rem);line-height:1.48}.content-caveat{color:#718074;font-size:.7rem;line-height:1.4}.thinking-guide{background:#fffdf7e0;border:1px solid #c9d8d0;border-radius:16px;margin-top:18px;padding:14px;box-shadow:0 8px 22px #203d2f12}.thinking-guide__eyebrow{color:var(--blue-dark);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:900}.thinking-guide h2{color:var(--navy);margin:5px 0 10px;font-size:1rem}.thinking-guide ol,.thinking-hint__panel ol{gap:8px;margin:0;padding:0;list-style:none;display:grid}.thinking-guide li,.thinking-hint__panel li{grid-template-columns:86px 1fr;align-items:start;gap:8px;display:grid}.thinking-guide li strong,.thinking-hint__panel li strong{color:var(--navy);font-size:.73rem}.thinking-guide li span,.thinking-hint__panel li span{color:#526579;font-size:.72rem;line-height:1.3}.thinking-guide__caveat{color:#718074;margin:10px 0 0;font-size:.62rem;line-height:1.35}.thinking-hint>button{z-index:21;color:#fff;background:var(--blue-dark);cursor:pointer;border:0;border-radius:999px;min-width:128px;min-height:48px;padding:10px 17px;font-weight:850;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 24px #173a5e47}.thinking-hint__panel{z-index:20;background:var(--cream);border:1px solid #c9d8d0;border-radius:18px;width:min(360px,100vw - 32px);max-height:calc(100vh - 122px);padding:16px;position:fixed;bottom:82px;right:24px;overflow:auto;box-shadow:0 18px 55px #173a5e42}.thinking-hint__panel .thinking-guide__eyebrow{margin-bottom:12px}.progress-track{background:#d8e1dc;border-radius:99px;width:100%;height:7px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--blue);height:100%;transition:width .24s;display:block}.primary-action{color:#fff;background:var(--blue);min-height:48px;box-shadow:0 6px 0 var(--blue-dark);cursor:pointer;border:0;border-radius:14px;padding:11px 20px;font-weight:850}.primary-action:active:not(:disabled){box-shadow:0 2px 0 var(--blue-dark);transform:translateY(4px)}.primary-action:disabled{color:#89949d;cursor:not-allowed;background:#d8dfdc;box-shadow:0 5px #c2cbc7}.app-shell--selection{grid-template-rows:1fr auto;grid-template-columns:minmax(245px,.72fr) minmax(520px,1.28fr);align-items:center;gap:22px 34px;display:grid}.selection-copy{align-self:center}.selection-copy h1{max-width:420px}.selection-copy .content-caveat{margin-top:22px}.role-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.role-card{cursor:pointer;text-align:left;background:#fffdf7eb;border:2px solid #d5dfda;border-radius:17px;align-items:center;gap:12px;min-height:100px;padding:13px;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex;box-shadow:0 8px 22px #203d2f12}.role-card:hover{border-color:#9cb6a7;transform:translateY(-1px)}.role-card[aria-pressed=true]{border-color:var(--blue);box-shadow:0 0 0 4px #2869c724,0 12px 26px #203d2f1a}.role-card strong{color:#fff;background:var(--blue);border-radius:50%;flex:0 0 48px;place-items:center;width:48px;height:48px;font-size:1.05rem;display:grid;box-shadow:inset 0 -4px #0000001a}.role-card span{color:#526579;font-size:.82rem;font-weight:780}.app-shell--selection>.primary-action{grid-column:2;justify-self:end;min-width:230px}.app-shell--completion{place-items:center;display:grid}.feedback-card{background:#fffdf7f5;border:1px solid #c9d8d0;border-radius:24px;width:min(620px,100%);padding:clamp(24px,4vw,40px);box-shadow:0 24px 70px #203d2f26}.feedback-card h1{margin-bottom:12px}.feedback-card>p:not(.brand,.eyebrow,.privacy-note,.submission-error){color:#526579;line-height:1.5}.star-rating{gap:8px;margin:18px 0 22px;display:flex}.star-rating label{cursor:pointer;place-items:center;width:52px;height:52px;display:grid;position:relative}.star-rating input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.star-rating input+span{color:#a9b5ad;pointer-events:none;font-size:2.5rem;line-height:1;transition:color .12s,transform .12s}:is(.star-rating label:has(input:checked) input+span,.star-rating label:has(~label input:checked) input+span){color:#c68a14}.star-rating label:hover input+span{transform:scale(1.08)}.star-rating input:focus-visible+span{outline-offset:3px;border-radius:8px;outline:4px solid #2869c759}.feedback-comment{color:var(--navy);gap:8px;font-weight:800;display:grid}.feedback-comment textarea{resize:vertical;color:#183047;min-height:112px;font:inherit;background:#fff;border:2px solid #c9d8d0;border-radius:14px;padding:12px;line-height:1.45}.feedback-comment textarea:focus-visible{border-color:var(--blue);outline:3px solid #2869c72e}.privacy-note{color:#68786e;margin:9px 0 18px;font-size:.78rem;line-height:1.45}.submission-error{color:#874b0b;background:#fff2dc;border:1px solid #e2bb7d;border-radius:12px;padding:10px 12px;font-size:.86rem;line-height:1.4}.feedback-card>.primary-action{min-width:170px}.feedback-card--success{text-align:center}.feedback-card--success>.primary-action{margin-top:12px}.app-shell--puzzle{grid-template-columns:minmax(270px,.72fr) minmax(570px,1.5fr);align-items:center;gap:clamp(20px,3vw,38px);display:grid}.puzzle-copy{min-width:0}.puzzle-copy .progress-track{margin-top:8px}.scenario-kicker{color:var(--blue-dark);margin-top:20px}.context-chips{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.context-chips span{color:#526579;background:#ffffffb3;border:1px solid #cfdbd5;border-radius:999px;padding:6px 10px;font-size:.76rem;font-weight:780}.coach-instruction{color:#784b0a;background:#fff8e6;border:1px solid #e3bd51;border-radius:10px;margin-top:11px;padding:8px 11px;font-size:.82rem;font-weight:790;display:inline-flex}.app-shell--puzzle h1{font-size:clamp(1.8rem,3vw,2.65rem)}.role-prompt{margin:0}.interaction-instruction{color:var(--blue-dark);margin:12px 0;font-weight:800}.feedback{border-radius:13px;padding:11px 13px;font-size:.88rem;font-weight:720}.feedback--retry{color:#874b0b;background:#fff2dc;border:1px solid #e2bb7d}.feedback--correct{color:#17573c;background:#e2f4e9;border:1px solid #9ac9b0}.feedback--correct p{margin:0 0 11px}.assumption-panel{color:#68786e;margin-top:14px;font-size:.72rem}.assumption-panel summary{cursor:pointer;font-weight:780}.assumption-panel p{margin:6px 0 0;line-height:1.4}.app-shell svg{touch-action:none;-webkit-user-select:none;user-select:none;background:#dce8d0;border:1px solid #183e343d;border-radius:24px;width:100%;display:block;box-shadow:0 20px 48px #233f2f2b}.app-shell--puzzle>svg{max-height:calc(100vh - 40px)}.marker-touch-target{fill:#0000;stroke:none;pointer-events:all}.marker-visible{fill:var(--blue);stroke:#fff;stroke-width:.9px;filter:drop-shadow(0 1px 1px #00000059);pointer-events:none}[data-testid^=defender-] text,[data-testid^=solution-marker-] text{fill:#fff;pointer-events:none;font-size:3.35px;font-weight:900}[data-selected=true] .marker-visible{fill:var(--navy);stroke:var(--yellow);stroke-width:2px;filter:drop-shadow(0 0 3px #f5c84c)}[role=button][data-selected=true]{cursor:grab}[role=button][data-selected=true]:active{cursor:grabbing}.route{vector-effect:non-scaling-stroke;pointer-events:none}.route--ball{stroke:var(--yellow);stroke-width:4px;stroke-dasharray:2 9;stroke-linecap:round;filter:drop-shadow(0 1px 1px #2d2a0e8c)}.route--roll{stroke:#fff6b5;stroke-width:2.5px;stroke-dasharray:7 5;stroke-linecap:round}.route--arriving{animation:draw-ball var(--ball-duration,.9s) ease-out both}@keyframes draw-ball{0%{stroke-dashoffset:160px}to{stroke-dashoffset:0}}.ball-marker{fill:var(--yellow);stroke:#5d501a;stroke-width:.5px}.landing-point-ring{fill:#ffffffd6;stroke:var(--yellow);stroke-width:2.5px;vector-effect:non-scaling-stroke}.landing-point-dot{fill:var(--yellow);stroke:#5d501a;stroke-width:.6px;vector-effect:non-scaling-stroke}.landing-point-marker text{fill:#fff8d0;paint-order:stroke;stroke:#173a5e;stroke-width:2.2px;stroke-linejoin:round;letter-spacing:.04em;text-transform:uppercase;font-size:5.5px;font-weight:900}.route--movement{stroke:var(--blue);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.route--throw{stroke:var(--red);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.arrow-blue{fill:var(--blue)}.arrow-red{fill:var(--red)}.app-shell--solution{grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-columns:minmax(560px,1.5fr) minmax(245px,.62fr);align-content:center;gap:10px 24px;display:grid}.session-header{grid-column:1/-1}.session-header .progress-track{margin-top:7px}.session-header h1{margin:12px 18px 0 0;font-size:clamp(1.7rem,2.6vw,2.35rem);display:inline-block}.session-header .solution-lead{margin:0;display:inline}.replay-controls{grid-column:1/-1;align-items:center;gap:9px;display:flex}.replay-controls button:not(.primary-action){cursor:pointer;background:#ffffffd1;border:1px solid #bfcfc7;border-radius:10px;min-height:42px;padding:8px 14px;font-size:.82rem;font-weight:780}.replay-controls .primary-action{margin-left:auto}.app-shell--solution>svg{grid-area:3/1;height:min(54vh,490px)}.line-legend{color:#526579;grid-column:1;align-items:center;gap:16px;margin:0;padding:0;font-size:.72rem;font-weight:740;list-style:none;display:flex}.line-legend li{align-items:center;gap:6px;display:flex}.legend-line{border-top-width:3px;width:28px;display:inline-block}.legend-line--ball{border-top:3px dotted var(--yellow)}.legend-line--movement{border-top:3px solid var(--blue)}.legend-line--throw{border-top:3px dashed var(--red)}.responsibility-list{background:#fffdf7d1;border:1px solid #d3ded8;border-radius:17px;grid-area:3/2/span 2;max-height:min(58vh,530px);padding:7px;overflow:auto}.responsibility-list:before{color:#718074;content:"Defender responsibilities";letter-spacing:.05em;text-transform:uppercase;padding:8px 9px;font-size:.66rem;font-weight:820;display:block}.responsibility-list details{border-top:1px solid #dde5e1;padding:2px 7px 6px}.responsibility-list details[open]{background:#edf4fc;border:1px solid #aec3d9;border-radius:11px}.responsibility-list summary{cursor:pointer;padding:7px 3px;font-size:.76rem;font-weight:800}.responsibility-list p{color:#5d6d7e;margin:0;padding:0 3px 5px;font-size:.7rem;line-height:1.35}.responsibility-list small{color:#718074;padding:0 3px 6px;font-size:.62rem;display:block}.app-shell--solution>.content-caveat{grid-column:1/-1;margin:0}@media (width<=860px){.app-shell--selection,.app-shell--puzzle,.app-shell--solution{display:block}.role-grid{margin:20px 0}.app-shell--selection>.primary-action{float:right}.app-shell--puzzle>svg,.app-shell--solution>svg{height:auto;margin-top:18px}.responsibility-list{max-height:none;margin-top:14px}.line-legend{flex-wrap:wrap;margin-top:12px}}@media (width<=560px){.role-grid{grid-template-columns:1fr}.role-card{min-height:76px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
