/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ink:#14191c;--paper:#ece9df;--paper-deep:#ddd8ca;--red:#d9473f;--red-dark:#8f2525;--blue:#2f63c5;--blue-dark:#183a80;--acid:#d7ee63;--grass:#657a49;--grass-dark:#52653c;--line:#14191c2e;--shadow:0 18px 45px #181e1b2e}*{box-sizing:border-box}html{background:var(--paper)}body{min-width:320px;min-height:100vh;color:var(--ink);background:linear-gradient(#14191c09 1px, transparent 1px), linear-gradient(90deg, #14191c09 1px, transparent 1px), var(--paper);background-size:24px 24px;margin:0;font-family:Arial Narrow,Microsoft YaHei UI,PingFang SC,Arial,sans-serif}button{color:inherit;font:inherit}button:focus-visible{outline:3px solid var(--acid);outline-offset:3px}button:disabled{cursor:not-allowed}.game-shell{width:min(1540px,100% - 32px);margin:0 auto;padding:18px 0 32px}.match-header{border-top:5px solid var(--ink);border-bottom:1px solid var(--ink);grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;min-height:86px;padding:12px 0;display:grid}.brand-block{align-items:center;gap:12px;display:flex}.brand-mark{width:54px;height:54px;color:var(--paper);background:var(--ink);box-shadow:7px 7px 0 var(--acid);place-items:center;font-size:36px;font-weight:1000;display:grid;transform:skew(-7deg)}.kicker,.section-label{letter-spacing:.16em;margin:0 0 2px;font-size:10px;font-weight:900}h1{letter-spacing:-.06em;margin:0;font-size:34px;font-style:italic;line-height:.95}.scoreboard{border:1px solid var(--ink);box-shadow:5px 5px 0 var(--ink);background:#f7f4ea;align-items:center;display:flex}.team-score{justify-content:center;align-items:center;gap:13px;min-width:102px;padding:8px 12px;display:flex}.team-score span{letter-spacing:.1em;font-size:11px;font-weight:1000}.team-score strong{font-size:33px;line-height:1}.red-score{color:var(--red-dark)}.blue-score{color:var(--blue-dark)}.score-divider{background:var(--ink);color:#fff;align-self:stretch;place-items:center;min-width:62px;display:grid;position:relative}.score-divider span{letter-spacing:.09em;color:var(--acid);font-size:7px;position:absolute;top:5px}.score-divider b{font-size:25px}.header-actions{justify-content:flex-end;justify-self:end;align-items:center;gap:8px;min-width:0;display:flex}.possession{color:#fff;letter-spacing:.08em;padding:8px 11px;font-size:11px;font-weight:900}.possession.red{background:var(--red)}.possession.blue{background:var(--blue)}.quiet-button{border:1px solid var(--ink);cursor:pointer;background:0 0;padding:8px 10px;font-size:11px;font-weight:800}.quiet-button:hover{background:var(--ink);color:#fff}.multiplayer-badge{color:#fff;background:var(--ink);letter-spacing:.08em;text-transform:uppercase;padding:8px 11px;font-size:10px;font-weight:1000}.header-shortcuts{align-items:stretch;gap:7px;display:flex}.header-shortcut{border:1px solid var(--ink);min-width:126px;min-height:46px;color:var(--ink);box-shadow:3px 3px 0 var(--acid);text-align:left;background:#f7f4ea;grid-template-rows:1fr 1fr;grid-template-columns:34px 1fr;column-gap:8px;padding:6px 9px 6px 6px;text-decoration:none;display:grid}.header-shortcut>span{color:#fff;background:var(--ink);letter-spacing:.06em;grid-row:1/3;place-items:center;font-size:9px;font-weight:1000;display:grid}.header-shortcut strong{white-space:nowrap;align-self:end;font-size:10px;line-height:1.05}.header-shortcut small{color:#666b65;white-space:nowrap;align-self:start;font-size:7px}.header-shortcut.live{color:#fff;background:var(--ink)}.header-shortcut.live>span{color:var(--ink);background:var(--acid)}.header-shortcut.live small{color:#cbd0ca}.header-shortcut:hover{box-shadow:5px 5px 0 var(--acid);transform:translate(-1px,-1px)}.turn-ribbon{align-items:center;gap:7px;margin:13px 0;padding:3px 0 7px;display:flex;overflow-x:auto}.turn-label{letter-spacing:.16em;white-space:nowrap;margin-right:6px;font-size:9px;font-weight:1000}.turn-chip{border:1px solid var(--line);background:#ffffff59;align-items:center;gap:6px;min-width:68px;padding:7px 9px;font-size:10px;font-weight:1000;display:flex;position:relative}.turn-chip i{color:#fff;background:var(--ink);border-radius:50%;place-items:center;width:16px;height:16px;font-size:8px;font-style:normal;display:grid}.turn-chip b{color:#181818;margin-left:auto}.turn-chip>small{color:#6d726c;letter-spacing:.08em;background:#14191c14;margin-left:auto;padding:2px 4px;font-size:6px}.turn-chip.human>small{color:#fff;background:var(--ink)}.turn-chip.human{cursor:pointer}.turn-chip.human:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.turn-chip b+small{margin-left:0}.turn-chip.red{border-bottom:3px solid var(--red)}.turn-chip.blue{border-bottom:3px solid var(--blue)}.turn-chip.active{background:var(--acid);border-color:var(--ink);box-shadow:3px 3px 0 var(--ink);transform:translateY(-2px)}.deck-count{white-space:nowrap;color:#5d625f;margin-left:auto;font-size:9px;font-weight:900}.deck-count i:after{content:"/";margin:0 6px;font-style:normal}.game-layout{grid-template-columns:minmax(620px,1.5fr) minmax(330px,.72fr);align-items:start;gap:16px;display:grid}.pitch-panel{min-width:0}.action-banner{border:2px solid var(--ink);min-height:72px;box-shadow:5px 5px 0 var(--ink);background:#f7f4ea;grid-template-columns:96px 1fr;align-items:center;gap:13px;margin-bottom:9px;padding:10px 14px;animation:.28s ease-out event-enter;display:grid;overflow:hidden}.action-banner>span{color:#fff;background:var(--ink);letter-spacing:.14em;text-align:center;align-self:stretch;place-items:center;padding:5px;font-size:8px;font-weight:1000;display:grid}.action-banner strong,.action-banner p{margin:0;display:block}.action-banner strong{font-size:14px;line-height:1.25}.action-banner p{color:#555c57;margin-top:4px;font-size:10px;line-height:1.35}.action-banner.success{border-left:8px solid var(--acid)}.action-banner.failure{border-left:8px solid #ffbd57}.action-banner.goal{background:linear-gradient(100deg,#fff1ba,#f7f4ea 58%)}.action-banner.goal.red{border-color:var(--red);box-shadow:5px 5px 0 var(--red-dark)}.action-banner.goal.red>span{background:var(--red)}.action-banner.goal.blue{border-color:var(--blue);box-shadow:5px 5px 0 var(--blue-dark)}.action-banner.goal.blue>span{background:var(--blue)}.pitch-frame{border:2px solid var(--ink);box-shadow:var(--shadow);background:#27342a;padding:42px 31px 46px 13px;position:relative}.pitch{aspect-ratio:4/5;background:var(--grass);border:2px solid #ffffffc7;grid-template-rows:repeat(10,1fr);grid-template-columns:repeat(8,1fr);display:grid;position:relative;overflow:visible}.trace-layer{z-index:6;pointer-events:none;position:absolute;inset:0;overflow:visible}.trace-line{transform-origin:0;filter:drop-shadow(0 1px 1px #0000008c);opacity:.72;border-top:3px solid #ffffffb8;height:0;position:absolute}.trace-line.red{border-color:#ff8b83}.trace-line.blue{border-color:#8eb5ff}.trace-line.pass{border-top-style:dashed}.trace-line.response{opacity:.88;border-color:#ffd45f;border-top-width:4px}.trace-line i{border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:9px solid;width:0;height:0;position:absolute;top:-6px;right:-1px}.trace-line.red i{color:#ff8b83}.trace-line.blue i{color:#8eb5ff}.trace-line.response i{color:#ffd45f}.pitch:before,.pitch:after{content:"";z-index:1;pointer-events:none;border:2px solid #ffffff8c;height:10%;position:absolute;left:28%;right:28%}.pitch:before{border-top:0;top:-2px}.pitch:after{border-bottom:0;bottom:-2px}.halfway-line{z-index:1;pointer-events:none;border-top:2px solid #ffffff8c;position:absolute;top:50%;left:0;right:0}.center-circle{z-index:1;aspect-ratio:1;pointer-events:none;border:2px solid #ffffff8c;border-radius:50%;width:20%;position:absolute;top:42%;left:40%}.center-circle:after{content:"";background:#ffffffb3;border-radius:50%;width:5px;height:5px;position:absolute;top:calc(50% - 2px);left:calc(50% - 2px)}.pitch-cell{cursor:pointer;z-index:2;background:#ffffff06;border:1px solid #ffffff17;min-width:0;min-height:0;padding:3px;position:relative}.pitch-cell.stripe{background:#ffffff0e}.pitch-cell.penalty-area{background-image:linear-gradient(#ffffff14,#ffffff14)}.pitch-cell:hover{background:#ffffff1f}.pitch-cell.valid{background:var(--acid)}@supports (color:color-mix(in lab, red, red)){.pitch-cell.valid{background:color-mix(in srgb, var(--acid) 46%, transparent)}}.pitch-cell.valid{box-shadow:inset 0 0 0 3px var(--acid);animation:1.25s ease-in-out infinite alternate target-pulse}.pitch-cell.tackle-target{box-shadow:inset 0 0 0 3px #ffbd57}.pitch-cell.event-route{animation:.9s ease-out route-flash}.pitch-cell.event-from{animation:.9s ease-out origin-flash}.pitch-cell.event-to{animation:.9s ease-out destination-flash}.pitch-cell.goal{background:#14191c47}.pitch-cell.goal.red{border-bottom:4px solid var(--red)}.pitch-cell.goal.blue{border-top:4px solid var(--blue)}.pitch.perspective-blue .pitch-cell.goal.red{border-bottom:0;border-top:4px solid var(--red)}.pitch.perspective-blue .pitch-cell.goal.blue{border-top:0;border-bottom:4px solid var(--blue)}.coordinate{color:#ffffff59;font-size:clamp(6px,.7vw,9px);font-weight:800;position:absolute;bottom:2px;left:4px}.goal-net{border:1px solid #ffffff8c;justify-content:center;gap:3px;display:flex;position:absolute;inset:15%;transform:perspective(30px)rotateX(8deg)}.goal-net i{background:#ffffff59;width:1px}.external-goal{z-index:4;cursor:default;background:#14191c59;border:1px solid #ffffffad;width:12.5%;height:4.8%;padding:0;position:absolute}.external-goal.blue{border-top:4px solid var(--blue)}.external-goal.red{border-bottom:4px solid var(--red)}.external-goal.valid{z-index:7;cursor:pointer;background:var(--acid)}@supports (color:color-mix(in lab, red, red)){.external-goal.valid{background:color-mix(in srgb, var(--acid) 52%, #27342a)}}.external-goal.valid{box-shadow:0 0 0 3px var(--acid);animation:1.25s ease-in-out infinite alternate target-pulse}.external-goal .goal-net{inset:12% 18%}.file-labels{color:#dce1d3;text-align:center;text-transform:uppercase;grid-template-columns:repeat(8,1fr);font-size:9px;display:grid;position:absolute;bottom:6px;left:13px;right:31px}.player-token{color:#fff;border:2px solid #ffffffd1;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;transition:transform .16s;display:flex;position:absolute;inset:9%;box-shadow:0 7px 14px #0000004d}.player-token.red{background:linear-gradient(145deg, #ef5b4f, var(--red-dark))}.player-token.blue{background:linear-gradient(145deg, #4f7ee0, var(--blue-dark))}.player-token.current{outline:3px solid var(--acid);outline-offset:2px}.player-token.selected{box-shadow:0 0 0 4px var(--acid), 0 8px 18px #00000061;transform:scale(1.09)}.player-token.event-actor{animation:.9s ease-out actor-pop}.player-token.event-target{animation:.9s ease-out target-pop}.player-token strong{font-size:clamp(9px,1.15vw,16px);line-height:1}.player-token small{opacity:.8;margin-top:3px;font-size:clamp(5px,.6vw,8px)}.jersey{opacity:.12;font-size:clamp(20px,3vw,44px);font-weight:1000;position:absolute}.ball{aspect-ratio:1;width:clamp(17px,2vw,25px);color:var(--ink);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--acid);background:#f7f4ea;border-radius:50%;place-items:center;font-size:10px;display:grid;position:absolute;top:-7px;right:-7px}.loose-ball{z-index:5;aspect-ratio:1;width:clamp(24px,3vw,36px);color:var(--ink);border:3px solid var(--ink);background:#f7f4ea;border-radius:50%;place-items:center;font-size:13px;animation:.9s ease-in-out infinite alternate target-pulse;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:4px 4px #ffbd57}.pitch-legend{color:#626761;flex-wrap:wrap;gap:14px;padding:10px 4px 0;font-size:9px;font-weight:800;display:flex}.pitch-legend span{align-items:center;gap:6px;display:flex}.legend-dot{border:1px solid var(--ink);width:10px;height:10px;display:inline-block}.legend-dot.available{background:var(--acid)}.legend-dot.football{background:#fff;border-radius:50%}.legend-dot.goal{background:linear-gradient(90deg,var(--red) 50%,var(--blue) 50%)}.control-column{flex-direction:column;gap:10px;min-width:0;display:flex}.phase-card,.action-card-panel,.match-log,.winner-card{border:1px solid var(--ink);background:#f7f4ea;padding:15px;box-shadow:5px 5px #14191cd9}.ai-thinking-panel{color:#fff;background:var(--ink);border-left:6px solid var(--acid);align-items:center;gap:11px;padding:12px 14px;display:flex;box-shadow:4px 4px #14191c40}.ai-thinking-panel strong,.ai-thinking-panel small{display:block}.ai-thinking-panel strong{letter-spacing:.04em;font-size:11px}.ai-thinking-panel small{color:#c9cec7;margin-top:3px;font-size:8px;line-height:1.45}.ai-pulse{border:3px solid var(--acid);border-radius:50%;flex:none;width:15px;height:15px;animation:1s ease-in-out infinite alternate ai-pulse}.ai-note{border:1px dashed var(--ink);color:#565c55;background:#d7ee6338;margin:0;padding:9px 11px;font-size:8px;line-height:1.5}.ai-note strong{color:var(--ink);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px;font-size:8px;display:block}.ai-method-note{color:#4f554f;border-left:3px solid var(--ink);background:#d7ee6342;margin:8px 0 0;padding:8px 9px;font-size:8px;line-height:1.5}.phase-card{padding-right:80px;position:relative;overflow:hidden}.phase-card:after{content:"P";color:#14191c0e;font-size:120px;font-style:italic;font-weight:1000;line-height:1;position:absolute;bottom:-25px;right:-6px}.phase-card h2{letter-spacing:-.04em;z-index:1;margin:2px 0 7px;font-size:24px;line-height:1.05;position:relative}.phase-card p:not(.section-label){color:#5c625e;z-index:1;margin:0;font-size:11px;line-height:1.6;position:relative}.phase-rule{letter-spacing:.1em;align-items:center;gap:5px;font-size:8px;font-weight:1000;display:flex;position:absolute;top:14px;right:13px}.phase-rule i{background:var(--red);border-radius:50%;width:7px;height:7px;animation:1s steps(2,end) infinite blink}.panel-title-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:11px;display:flex}.panel-title-row h3{text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:13px}.panel-title-row span{color:#70756f;letter-spacing:.12em;text-transform:uppercase;font-size:8px;font-weight:900}.formation-list{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.human-player-picker{grid-template-columns:repeat(6,1fr);gap:5px;margin:9px 0 12px;display:grid}.human-player-picker.team-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.human-player-picker button{border:1px solid var(--line);cursor:pointer;background:0 0;min-width:0;padding:8px 3px;font-size:9px;font-weight:1000}.human-player-picker button.red{border-bottom:3px solid var(--red)}.human-player-picker button.blue{border-bottom:3px solid var(--blue)}.human-player-picker button.selected{background:var(--acid);border-color:var(--ink);box-shadow:2px 2px 0 var(--ink);transform:translateY(-1px)}.human-player-picker small{color:#737872;margin-top:3px;font-size:6px;display:block}.formation-list button{border:1px solid var(--line);cursor:pointer;background:0 0;justify-content:space-between;align-items:center;padding:9px;font-size:10px;font-weight:1000;display:flex}.formation-list button.red{border-left:4px solid var(--red)}.formation-list button.blue{border-left:4px solid var(--blue)}.formation-list button.selected{color:var(--ink);background:var(--acid);border-color:var(--ink)}.formation-list button:disabled{color:#777b76;opacity:.72;background:#e6e2d8;border-style:dashed}.formation-list small{opacity:.6;font-size:8px}.action-row{grid-template-columns:1fr 1.35fr;gap:8px;margin-top:11px;display:grid}.action-row.single{grid-template-columns:1fr}.primary-action,.secondary-action{border:1px solid var(--ink);cursor:pointer;text-transform:uppercase;padding:10px 12px;font-size:10px;font-weight:1000}.primary-action{color:#fff;background:var(--ink)}.primary-action:hover{color:var(--ink);background:var(--acid)}.primary-action:disabled{opacity:.35}.secondary-action{background:0 0}.secondary-action:hover{background:var(--paper-deep)}.primary-action.full{width:100%;margin-top:10px}.draw-action{border:1px solid var(--ink);background:var(--acid);cursor:pointer;text-align:left;grid-template-columns:1fr auto;align-items:center;width:100%;padding:10px 12px;display:grid}.draw-action span{font-size:13px;font-weight:1000}.draw-action strong{grid-row:span 2;font-size:26px}.draw-action small{color:#545a3a;font-size:8px}.draw-action:disabled{opacity:.55;cursor:not-allowed;background:#d9d8cf}.status-chip{border:1px solid var(--ink);background:#fff0b4;margin:9px 0 0;padding:8px 10px;font-size:9px;font-weight:900;line-height:1.4}.mode-grid{grid-template-columns:repeat(2,1fr);gap:7px;margin-top:9px;display:grid}.mode-grid button,.response-actions button{border:1px solid var(--ink);cursor:pointer;background:0 0;padding:9px;font-size:10px;font-weight:1000}.mode-grid button small{color:#737872;margin-top:3px;font-size:7px;font-weight:700;display:block}.mode-grid button.active,.response-actions button.active{background:var(--ink);color:#fff}.mode-grid button.active small{color:var(--acid)}.mode-grid button:disabled{opacity:.42;cursor:not-allowed}.pass-builder{border-top:1px dashed var(--line);margin-top:10px;padding-top:10px}.pass-builder p,.action-hint,.pass-summary p{color:#666b66;margin:0 0 8px;font-size:9px;line-height:1.5}.action-hint{margin:9px 0 0}.action-hint.accent{color:var(--red-dark);font-weight:900}.mini-hand{flex-wrap:wrap;gap:5px;display:flex}.mini-hand button{border:1px solid var(--ink);cursor:pointer;background:#fff;width:36px;height:42px;font-size:16px;font-weight:1000}.mini-hand button.ball{aspect-ratio:auto;box-shadow:none;border-radius:0;position:static}.mini-hand button.selected{color:var(--ink);background:var(--acid);box-shadow:2px 2px 0 var(--ink);transform:translateY(-2px)}.mini-hand.large button{place-items:center;width:auto;min-width:53px;height:52px;display:grid}.mini-hand.large button small{font-size:6px}.response-actions{grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:10px;display:grid}.response-actions button:disabled{opacity:.3}.response-step-tabs{border:1px solid var(--ink);grid-template-columns:1fr 1fr;margin-bottom:9px;display:grid}.response-step-tabs span{color:#777c76;text-align:center;background:0 0;padding:7px 8px;font-size:8px;font-weight:1000}.response-step-tabs span+span{border-left:1px solid var(--ink)}.response-step-tabs span.active{color:var(--ink);background:var(--acid)}.response-step-tabs span.done{color:#fff;background:var(--ink)}.response-actions.two-step{grid-template-columns:1.45fr 1fr}.response-actions.two-step>span{border:1px dashed var(--line);color:#747972;text-align:center;place-items:center;min-height:36px;padding:7px;font-size:8px;font-weight:900;display:grid}.response-actions.two-step>span.ready{border-color:var(--ink);color:var(--ink);background:var(--acid)}.facedown-row{flex-wrap:wrap;gap:5px;margin-bottom:10px;display:flex}.facedown-row span{color:#fff;background:repeating-linear-gradient(135deg, var(--ink) 0 5px, #343b3d 5px 10px);outline:1px solid var(--ink);border:2px solid #fff;place-items:center;width:38px;height:48px;font-size:7px;font-weight:1000;display:grid;transform:rotate(-2deg)}.facedown-row span:nth-child(2n){transform:rotate(2deg)}.revealed-hand{grid-template-columns:repeat(2,1fr);gap:7px;display:grid}.revealed-hand button{border:1px solid var(--ink);cursor:pointer;background:#fff;place-items:center;min-height:88px;display:grid}.revealed-hand button:hover{background:var(--acid);box-shadow:3px 3px 0 var(--ink);transform:translateY(-2px)}.revealed-hand button.ball{aspect-ratio:auto;width:auto;color:var(--ink);box-shadow:none;border-radius:0;position:static}.revealed-hand button strong{font-size:26px}.revealed-hand button span{font-size:9px;font-weight:1000}.revealed-hand button small{color:#777;font-size:7px}.revealed-hand.compact button{min-height:62px}.revealed-hand button:disabled{opacity:.55;box-shadow:none;background:#ddd9cf;transform:none}.save-response-panel{border-left:7px solid #ffbd57}.save-discard-grid{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px;display:grid}.save-discard-grid button{border:1px solid var(--ink);cursor:pointer;background:#fff;place-items:center;min-height:54px;display:grid}.save-discard-grid button.selected{background:var(--acid);box-shadow:3px 3px 0 var(--ink);transform:translateY(-2px)}.save-discard-grid strong{font-size:18px}.save-discard-grid span{font-size:7px;font-weight:1000}.response-summary{color:#fff;background:var(--ink);text-align:center;margin:10px 0;padding:7px;font-size:9px;font-weight:900}.secondary-action.full{width:100%}.winner-card{text-align:center;border-width:3px}.winner-card.red{border-color:var(--red)}.winner-card.blue{border-color:var(--blue)}.winner-card span{letter-spacing:.18em;font-size:9px;font-weight:1000;display:block}.winner-card strong{margin:8px 0 12px;font-size:38px;display:block}.winner-card button{background:var(--ink);color:#fff;cursor:pointer;border:0;padding:10px 18px;font-weight:900}.match-log{min-height:165px;box-shadow:none;background:#f7f4ea9e}.log-scroll{flex-direction:column;gap:5px;max-height:166px;padding-right:4px;display:flex;overflow-y:auto}.log-scroll p{background:#ffffff7a;grid-template-columns:24px 1fr;gap:7px;margin:0;padding:6px 7px;font-size:9px;line-height:1.45;display:grid}.log-scroll i{color:var(--red);font-style:normal;font-weight:1000}.reconnect-overlay{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#14191cd1;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.reconnect-card{border:2px solid var(--ink);background:var(--paper);box-shadow:8px 8px 0 var(--ink);text-align:center;flex-direction:column;align-items:center;gap:16px;padding:36px 48px;display:flex}.reconnect-card h2{letter-spacing:-.02em;margin:0;font-size:22px}.reconnect-card p{color:#5c625e;margin:0;font-size:12px;line-height:1.5}.reconnect-spinner{border:4px solid var(--line);border-top-color:var(--ink);border-radius:50%;width:40px;height:40px;animation:.7s linear infinite reconnect-spin}@keyframes reconnect-spin{to{transform:rotate(360deg)}}.hand-dock{border:2px solid var(--ink);min-height:174px;box-shadow:7px 7px 0 var(--ink);background:#d8d3c7;grid-template-columns:180px 1fr;gap:16px;margin-top:14px;padding:14px;display:grid;overflow:hidden}.hand-owner{border-right:1px solid #14191c33;flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.owner-badge{color:#fff;text-align:center;min-width:54px;padding:8px 10px;font-weight:1000}.owner-badge.red{background:var(--red)}.owner-badge.blue{background:var(--blue)}.hand-owner div{margin-top:10px}.hand-owner div strong,.hand-owner div small{display:block}.hand-owner div strong{font-size:13px}.hand-owner div small{color:#666b66;max-width:140px;margin-top:4px;font-size:8px;line-height:1.4}.hand-owner>b{margin-top:10px;font-size:10px}.card-fan{align-items:center;gap:9px;padding:7px 4px 12px;display:flex;overflow-x:auto}.play-card{border:1px solid var(--ink);cursor:pointer;background:#f8f6ee;flex-direction:column;justify-content:center;align-items:center;width:112px;min-width:112px;height:142px;transition:all .16s;display:flex;position:relative;box-shadow:3px 4px #14191cd1}.play-card:before{content:"";pointer-events:none;border:1px solid #14191c29;position:absolute;inset:6px}.play-card:hover:not(:disabled),.play-card.selected{box-shadow:6px 9px 0 var(--ink);transform:translateY(-7px)rotate(-1deg)}.play-card.selected{background:var(--acid)}.play-card.ball{aspect-ratio:auto;color:var(--ink);background:radial-gradient(circle at center, white 0 18%, transparent 19%), repeating-conic-gradient(#f6f3e9 0 11deg,#dedacf 11deg 22deg);border-radius:0;position:relative;top:auto;right:auto;box-shadow:3px 4px #14191cd1}.play-card:disabled{opacity:.82;cursor:default}.play-card>strong{font-size:44px;line-height:1}.play-card h4{letter-spacing:.06em;margin:10px 0 5px;font-size:12px}.play-card>small{color:#676c67;letter-spacing:.06em;font-size:6px}.card-corner{letter-spacing:.08em;font-size:7px;font-weight:1000;position:absolute;top:10px;left:11px}.knight-route-icon{width:52px;height:52px;fill:var(--ink);display:block;overflow:visible}.knight-route-icon .route,.knight-route-icon .arrow{fill:none;stroke:currentColor;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.knight-route-icon .arrow{stroke-width:4px}.save-discard-grid .knight-route-icon{width:24px;height:24px;margin:auto}.card-cost{z-index:2;border:2px solid var(--ink);color:#fff;background:var(--blue);width:25px;height:25px;box-shadow:2px 2px 0 var(--ink);border-radius:50%;place-items:center;font-size:12px;font-weight:1000;display:grid;position:absolute;top:8px;right:9px}.play-card.special .card-cost{background:#b65c00}.play-card.special,.revealed-hand button.special{background:linear-gradient(145deg,#ffe7b3,#ffbd57)}.play-card.special:after{content:"SPECIAL";background:var(--ink);color:#ffbd57;letter-spacing:.1em;padding:2px 4px;font-size:6px;font-weight:1000;position:absolute;bottom:9px;right:9px}.play-card.hidden-card{color:#fff;background:repeating-linear-gradient(135deg, var(--ink) 0 8px, #30383b 8px 16px);outline:1px solid var(--ink);cursor:default;border:3px solid #f7f4ea;transform:rotate(-1deg)}.play-card.hidden-card:nth-child(2n){transform:rotate(1deg)}.play-card.hidden-card:before{border-color:#ffffff47}.play-card.hidden-card>strong{color:var(--acid)}.play-card.hidden-card>small{color:#cbd0ca}@keyframes target-pulse{to{background:color-mix(in srgb, var(--acid) 65%, transparent)}}@keyframes blink{50%{opacity:.25}}@keyframes ai-pulse{to{opacity:.45;transform:scale(.62)}}@keyframes event-enter{0%{opacity:.45;transform:translateY(-5px)}}@keyframes route-flash{0%,68%{background:#ffed82a8}to{background:0 0}}@keyframes origin-flash{0%,55%{box-shadow:inset 0 0 0 4px #ffffffc7}to{box-shadow:none}}@keyframes destination-flash{0%,55%{background:#ffbd57b3;box-shadow:inset 0 0 0 4px #ffbd57}to{box-shadow:none;background:0 0}}@keyframes actor-pop{0%,45%{box-shadow:0 0 0 6px var(--acid), 0 8px 18px #00000061;transform:scale(1.16)}}@keyframes target-pop{0%,45%{transform:scale(1.08);box-shadow:0 0 0 5px #ffbd57,0 8px 18px #00000061}to{box-shadow:0 7px 14px #0000004d}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.pitch-cell.event-route{background:#ffed825c}.pitch-cell.event-from{outline-offset:-3px;outline:3px solid #ffffffc7}.pitch-cell.event-to{outline-offset:-4px;outline:4px solid #ffbd57}.player-token.event-actor{box-shadow:0 0 0 5px var(--acid), 0 8px 18px #00000061}.player-token.event-target{box-shadow:0 0 0 5px #ffbd57,0 8px 18px #00000061}}.lobby-panel{background:linear-gradient(#14191c09 1px, transparent 1px), linear-gradient(90deg, #14191c09 1px, transparent 1px), var(--paper);background-size:24px 24px;justify-content:center;min-height:100vh;padding:3rem 1rem;display:flex}.lobby-card{border:2px solid var(--ink);width:100%;max-width:480px;box-shadow:8px 8px 0 var(--ink);background:#f7f4ea;padding:36px 32px}.lobby-card.wide{max-width:720px}.lobby-form{margin-top:24px}.lobby-form h2{letter-spacing:-.03em;margin:0 0 20px;font-size:22px}.form-group{margin-bottom:18px}.form-group label{letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:1000;display:block}.form-group input{border:2px solid var(--ink);background:#fff;width:100%;padding:12px 14px;font-family:inherit;font-size:15px}.form-group input:focus{box-shadow:0 0 0 3px var(--acid);outline:none}.room-code-input{letter-spacing:.12em;text-align:center;text-transform:uppercase;font-weight:800;font-size:22px!important}.mode-selector{grid-template-columns:repeat(2,1fr);gap:7px;display:grid}.mode-selector button{border:2px solid var(--line);cursor:pointer;text-align:center;background:0 0;padding:11px 6px;font-size:12px;font-weight:800}.mode-selector button small{opacity:.72;margin-top:4px;font-size:10px;font-weight:600;display:block}.mode-selector button:hover{border-color:var(--ink)}.mode-selector button.active{color:#fff;background:var(--ink);border-color:var(--ink)}.lobby-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:4px;display:flex}.lobby-header h2{letter-spacing:-.03em;margin:0;font-size:26px}.lobby-header .quiet-button{white-space:nowrap}.mode-badge{border:1px solid var(--ink);background:var(--acid);letter-spacing:.08em;margin-top:6px;padding:3px 9px;font-size:9px;font-weight:1000;display:inline-block}.lobby-hint{color:#5c625e;margin:12px 0 16px;font-size:11px;line-height:1.5}.invite-bar{gap:8px;margin-bottom:18px;display:flex}.invite-bar .primary-action{white-space:nowrap;margin-top:0}.invite-url{border:2px solid var(--ink);color:var(--ink);cursor:text;-webkit-user-select:all;user-select:all;background:#fff;flex:1;padding:10px 12px;font-family:monospace;font-size:12px}.invite-url:focus{box-shadow:0 0 0 3px var(--acid);outline:none}.slot-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.team-section{border:1px solid var(--line);background:#ffffff59;padding:14px}.team-section h3{letter-spacing:.08em;margin:0 0 10px;font-size:12px}.team-section.red{border-left:5px solid var(--red)}.team-section.red h3{color:var(--red-dark)}.team-section.blue{border-left:5px solid var(--blue)}.team-section.blue h3{color:var(--blue-dark)}.slot-card{border:1px solid var(--line);cursor:default;background:#fff;align-items:center;gap:10px;margin-bottom:6px;padding:10px 12px;transition:all .12s;display:flex}.slot-card.empty{cursor:pointer;background:#ffffff8c;border-style:dashed}.slot-card.empty:hover{border-color:var(--ink);background:var(--acid);box-shadow:3px 3px 0 var(--ink);transform:translateY(-2px)}.slot-card.mine{border-color:var(--ink);box-shadow:3px 3px 0 var(--ink)}.slot-card.ready{background:var(--acid)}@supports (color:color-mix(in lab, red, red)){.slot-card.ready{background:color-mix(in srgb, var(--acid) 28%, white)}}.slot-pos{color:#fff;background:var(--ink);letter-spacing:.04em;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:11px;font-weight:1000;display:grid}.slot-name{flex:1;font-size:13px;font-weight:800}.slot-status{border:1px solid var(--line);color:#8a8d88;padding:4px 8px;font-size:9px;font-weight:900}.slot-status.ready{color:var(--grass-dark);background:var(--acid);border-color:var(--ink)}.slot-available{color:#a7aca4;flex:1;font-size:10px;font-style:italic;font-weight:800}.spectator-list{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.spectator-list h4{color:#70756f;letter-spacing:.06em;margin:0 0 6px;font-size:10px}.spectator-name{border:1px solid var(--line);background:#ffffff73;margin:2px 6px 2px 0;padding:4px 8px;font-size:10px;font-weight:800;display:inline-block}.spectator-banner{text-align:center}.spectator-banner h2{color:#70756f}.spectator-banner p{color:#8a8d88;font-size:12px}.lobby-error{border:2px solid var(--red);color:var(--red-dark);background:#d9473f14;margin:14px 0 0;padding:10px 14px;font-size:11px;font-weight:800;line-height:1.4}.lobby-actions{border-top:1px solid var(--line);align-items:center;gap:12px;margin-top:20px;padding-top:18px;display:flex}.lobby-actions .primary-action,.lobby-actions .secondary-action{padding:12px 24px;font-size:12px}.waiting-text{color:#70756f;margin:0;font-size:11px;font-style:italic;font-weight:800}@media (width<=1060px){.match-header{grid-template-columns:1fr auto}.scoreboard{grid-area:2/1/auto/-1;justify-self:center}.header-actions{grid-area:1/2}.game-layout{grid-template-columns:1fr}.control-column{grid-template-columns:1fr 1fr;align-items:start;display:grid}.match-log{grid-column:1/-1}}@media (width<=1399px){.header-shortcut{grid-template-rows:1fr;grid-template-columns:27px auto;column-gap:6px;min-width:92px;min-height:36px;padding:5px 7px 5px 5px}.header-shortcut>span{grid-row:1}.header-shortcut strong{align-self:center;font-size:9px}.header-shortcut small{display:none}}@media (width<=700px){.game-shell{width:min(100% - 16px,1540px);padding-top:8px}.match-header{gap:10px}.brand-mark{width:43px;height:43px;font-size:28px}.kicker{display:none}h1{font-size:27px}.header-actions{flex-flow:wrap;align-items:center;gap:5px}.possession,.quiet-button{padding:6px 8px;font-size:8px}.header-shortcuts{gap:4px}.header-shortcut{grid-template-columns:25px auto;min-width:auto;padding-right:6px}.header-shortcut strong{font-size:8px}.team-score{min-width:82px}.team-score strong{font-size:28px}.game-layout{display:block}.control-column{margin-top:12px;display:flex}.pitch-frame{padding:28px 22px 32px 7px}.file-labels{left:7px;right:22px}.player-token{inset:6%}.player-token small{display:none}.ball{top:-5px;right:-5px}.action-banner{grid-template-columns:72px 1fr;min-height:68px;padding:8px 9px}.action-banner strong{font-size:12px}.action-banner p{font-size:9px}.hand-dock{grid-template-columns:1fr}.hand-owner{border-bottom:1px solid #14191c33;border-right:0;flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;padding-bottom:10px}.hand-owner div{margin:0}.hand-owner>b{margin:0 0 0 auto}.hand-owner div small{display:none}.play-card{width:94px;min-width:94px;height:122px}.play-card>strong{font-size:36px}.human-player-picker{grid-template-columns:repeat(3,1fr)}}@media (width>=900px){.game-shell{grid-template-rows:auto auto minmax(0,1fr) auto;gap:8px;height:100dvh;padding:10px 0 12px;display:grid;overflow:hidden}.match-header{min-height:68px;padding:7px 0}.brand-mark{width:46px;height:46px;font-size:30px}.turn-ribbon{margin:0}.game-layout{grid-template-columns:minmax(500px,1fr) minmax(270px,330px);align-items:stretch;min-height:0}.pitch-panel{grid-template-rows:auto minmax(0,1fr) auto;min-height:0;display:grid}.action-banner{min-height:56px;margin-bottom:7px;padding:7px 11px}.pitch-frame{place-self:center;width:min(100%,100dvh - 326px);min-width:420px}.control-column{min-height:0;padding:0 6px 7px 0;display:flex;overflow-y:auto}.match-log{min-height:120px}.log-scroll{max-height:118px}}.command-deck{z-index:20;grid-template-columns:minmax(0,1fr) 310px;gap:12px;min-width:0;display:grid;position:relative}.command-deck.your-turn{filter:drop-shadow(0 0 12px #d7ee6347)}.command-deck .hand-dock{height:148px;min-height:148px;box-shadow:5px 5px 0 var(--ink);grid-template-columns:142px minmax(0,1fr);gap:10px;margin:0;padding:10px}.command-deck .hand-owner{padding-right:10px}.command-deck .hand-owner div,.command-deck .hand-owner>b{margin-top:6px}.command-deck .card-fan{align-items:center;padding:5px 3px 9px}.command-deck .play-card{width:88px;min-width:88px;height:116px}.command-deck .play-card>strong{font-size:34px}.command-deck .play-card h4{margin:7px 0 3px;font-size:10px}.quick-actions{min-width:0}.quick-actions .action-card-panel{height:148px;box-shadow:5px 5px 0 var(--ink);padding:10px 12px;overflow-y:auto}.quick-actions .panel-title-row{margin-bottom:7px}.quick-actions .mode-grid{margin-top:6px}.quick-actions .mode-grid button{padding:7px}.quick-actions .primary-action.full{margin-top:6px;padding:8px}.dock-hint{align-items:center;min-height:31px;margin:3px 0 6px;display:grid}.dock-actions{grid-template-columns:1fr 1fr;gap:7px;margin-top:7px;display:grid}.draw-action.compact{text-align:center;padding:8px;font-size:9px;font-weight:1000;display:block}.waiting-command{border:1px solid var(--ink);height:148px;box-shadow:5px 5px 0 var(--ink);background:#f7f4ead1;flex-direction:column;justify-content:center;gap:8px;padding:16px;display:flex}.waiting-command span{color:var(--red-dark);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:1000}.waiting-command strong{font-size:12px;line-height:1.5}.play-card.discardable{outline-offset:-4px;cursor:pointer;outline:3px solid #ffbd57}.play-card.discardable:hover{background:#ffd6aa}.player-token strong{text-overflow:ellipsis;white-space:nowrap;max-width:82%;font-size:clamp(7px,.85vw,12px);overflow:hidden}@media (width<=899px){.game-shell{width:min(100% - 16px,820px);padding-bottom:190px}.game-layout{display:block}.control-column{grid-template-columns:1fr 1fr;margin-top:12px;display:grid}.command-deck{grid-template-columns:minmax(0,1fr) minmax(230px,34%);gap:7px;position:fixed;bottom:8px;left:8px;right:8px}.command-deck .hand-dock{grid-template-columns:88px minmax(0,1fr)}.command-deck .hand-owner div small{display:none}.command-deck .hand-owner .owner-badge{min-width:44px}}@media (width<=620px){.game-shell{padding-bottom:270px}.match-header{grid-template-columns:1fr auto}.scoreboard{grid-area:2/1/auto/-1}.command-deck{grid-template-columns:1fr}.command-deck .hand-dock{height:126px;min-height:126px}.quick-actions .action-card-panel,.waiting-command{height:120px}.command-deck .play-card{width:78px;min-width:78px;height:102px}.command-deck .play-card>strong{font-size:28px}.control-column{grid-template-columns:1fr}.pitch-legend{display:none}}.event-history{min-height:0;box-shadow:none;padding:11px;position:relative}.event-history .panel-title-row{margin-bottom:8px}.event-track{flex-direction:column;align-items:center;gap:7px;padding:3px 0 8px;display:flex;position:relative}.event-track:before{content:"";background:var(--line);width:1px;position:absolute;top:9px;bottom:14px;left:50%;transform:translate(-50%)}.event-node{z-index:2;position:relative}.event-node>summary{border:1px solid var(--ink);width:38px;height:38px;color:var(--ink);cursor:pointer;background:#f7f4ea;border-radius:50%;place-items:center;list-style:none;transition:transform .14s,background .14s;display:grid;position:relative;box-shadow:2px 2px #14191cb8}.event-node>summary::-webkit-details-marker{display:none}.event-node>summary:hover,.event-node>summary:focus-visible,.event-node[open]>summary{background:var(--acid);outline:none;transform:translate(-3px)}.event-symbol{font-size:17px;font-weight:1000;line-height:1}.event-index{border:1px solid var(--ink);color:#fff;background:var(--ink);text-align:center;min-width:18px;padding:2px 3px;font-size:6px;font-style:normal;font-weight:1000;position:absolute;bottom:-4px;right:-7px}.event-popover{z-index:40;border:1px solid var(--ink);width:226px;color:var(--ink);box-shadow:4px 4px 0 var(--ink);background:#fffdf6;padding:10px 11px;position:absolute;top:50%;right:calc(100% + 12px);transform:translateY(-50%)}.event-popover:after{content:"";border-top:1px solid var(--ink);border-right:1px solid var(--ink);background:#fffdf6;width:10px;height:10px;position:absolute;top:calc(50% - 5px);right:-6px;transform:rotate(45deg)}.event-popover strong{letter-spacing:.08em;margin-bottom:4px;font-size:9px;display:block}.event-popover p{margin:0;font-size:9px;line-height:1.45}.event-node:not([open]):not(:hover):not(:focus-within) .event-popover{display:none}.event-node:focus-within{z-index:60}.full-match-history{border-top:1px solid var(--line);padding-top:8px}.full-match-history>summary{cursor:pointer;color:#5d625e;text-align:center;letter-spacing:.06em;padding:6px 4px;font-size:8px;font-weight:1000;list-style:none}.full-match-history>summary::-webkit-details-marker{display:none}.full-match-history>summary:after{content:" +"}.full-match-history[open]>summary:after{content:" −"}.full-history-scroll{max-height:190px;padding:6px 2px 2px;overflow-y:auto}.full-history-scroll p{background:#ffffff8c;grid-template-columns:22px 1fr;gap:6px;margin:0 0 5px;padding:6px;font-size:8px;line-height:1.4;display:grid}.full-history-scroll i{color:var(--red);font-style:normal;font-weight:1000}@media (width>=1400px){.game-shell{grid-template-rows:62px 44px minmax(0,1fr);grid-template-columns:64px clamp(660px,41vw,780px) clamp(340px,23vw,440px) minmax(240px,1fr);gap:8px 12px;width:min(100% - 48px,1700px);height:100dvh;margin-left:clamp(16px,2vw,32px);margin-right:auto;padding:8px 0 10px;display:grid;overflow:hidden}.match-header{grid-area:1/1/auto/-1;min-height:0;padding:5px 0}.brand-mark{width:44px;height:44px;font-size:29px}.kicker{font-size:8px}.match-header h1{font-size:30px}.scoreboard{height:58px}.turn-ribbon{grid-area:2/3/auto/-1;min-width:0;margin:0;padding:2px 0 5px}.turn-label{display:none}.turn-chip{min-width:72px;padding:6px 8px}.deck-count{white-space:nowrap;margin-left:auto}.game-layout{display:contents}.pitch-panel{--pitch-ui-width:min(100%, calc(80dvh - 160px));grid-area:2/2/4;grid-template-rows:auto minmax(0,1fr) auto;justify-items:end;min-width:0;min-height:0;display:grid}.action-banner,.pitch-frame,.pitch-legend{width:var(--pitch-ui-width)}.action-banner{min-height:54px;margin:0 0 7px;padding:7px 10px}.pitch-frame{place-self:start end;min-width:0;max-width:none;padding:38px 29px 42px 11px}.pitch-legend{justify-content:flex-end;padding-top:7px}.command-deck{grid-area:3/3;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr;gap:9px;min-width:0;min-height:0;display:grid}.command-deck .hand-dock{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;gap:8px;width:100%;height:auto;min-height:0;padding:10px;display:grid;overflow:hidden}.command-deck .hand-owner{border-bottom:1px solid #14191c33;border-right:0;flex-direction:row;justify-content:flex-start;align-items:center;gap:9px;min-height:48px;padding:0 0 8px}.command-deck .hand-owner div{margin:0}.command-deck .hand-owner div small{display:none}.command-deck .hand-owner>b{white-space:nowrap;margin:0 0 0 auto}.command-deck .card-fan{grid-template-columns:repeat(2,100px);grid-auto-rows:130px;place-content:start center;gap:9px;padding:10px 2px 13px;display:grid;overflow:hidden auto}.command-deck .play-card{width:100px;min-width:100px;height:130px}.command-deck .quick-actions{min-height:0}.command-deck .quick-actions .action-card-panel,.command-deck .waiting-command{height:auto;min-height:142px;max-height:220px;overflow-y:auto}.control-column{flex-direction:column;grid-area:3/4;gap:9px;min-width:0;min-height:0;padding:0 5px 6px 0;display:flex;overflow-y:auto}.phase-card{padding:12px 58px 12px 12px}.phase-card h2{font-size:19px}.phase-card p:not(.section-label){font-size:9px;line-height:1.45}.phase-card:after{font-size:92px}.control-column .action-card-panel{padding:11px}.event-history{grid-area:3/1;align-self:start;width:64px;overflow:visible}.event-history .panel-title-row{text-align:center;display:block}.event-history .panel-title-row h3{font-size:9px}.event-history .panel-title-row span{display:none}.event-history .full-match-history{position:relative}.event-history .full-match-history[open] .full-history-scroll{z-index:70;border:1px solid var(--ink);width:246px;box-shadow:4px 4px 0 var(--ink);background:#f7f4ea;padding:9px;position:absolute;bottom:28px;right:0}.event-history .event-popover{width:210px;left:calc(100% + 14px);right:auto}.event-history .event-popover:after{border:0;border-bottom:1px solid var(--ink);border-left:1px solid var(--ink);left:-6px;right:auto}.event-history .full-match-history[open] .full-history-scroll{left:0;right:auto}}@media (width>=900px) and (width<=1399px){.game-shell{grid-template-rows:auto auto minmax(0,1fr);width:min(100% - 20px,1360px)}.game-layout{grid-template-columns:minmax(540px,1fr) minmax(320px,380px)}.pitch-panel{--pitch-ui-width:min(100%, calc(80dvh - 176px));justify-items:center}.action-banner,.pitch-frame,.pitch-legend{width:var(--pitch-ui-width)}.pitch-frame{min-width:0}.control-column{max-height:calc(100dvh - 220px)}.command-deck{grid-template-columns:minmax(0,1fr) minmax(260px,34%)}.pitch-panel{grid-area:1/1}.control-column{grid-area:1/2}.event-history{grid-area:2/1/auto/-1;min-height:auto}.event-track{flex-direction:row;justify-content:flex-start;overflow-x:auto}.event-track:before{width:auto;height:1px;inset:50% 12px auto;transform:none}.event-popover{top:calc(100% + 10px);left:50%;right:auto;transform:translate(-50%)}.event-popover:after{border-bottom:0;border-right:0;border-top:1px solid var(--ink);border-left:1px solid var(--ink);top:-6px;left:calc(50% - 5px);right:auto}}@media (width<=899px){.event-track{flex-direction:row;justify-content:flex-start;padding:5px 4px 12px;overflow-x:auto}.event-track:before{width:auto;height:1px;inset:24px 12px auto;transform:none}.event-popover{width:auto;position:fixed;inset:auto 12px 178px;transform:none}.event-popover:after{display:none}}@media (width<=620px){.event-popover{bottom:282px}}.tutorial-launch{z-index:120;border:1px solid var(--ink);min-width:176px;min-height:58px;color:var(--ink);box-shadow:5px 5px 0 var(--acid);background:#f7f4ea;grid-template-rows:auto auto;grid-template-columns:42px auto;padding:7px 12px 7px 8px;text-decoration:none;display:grid;position:fixed;top:14px;right:14px}.tutorial-launch>span{color:#fff;background:var(--ink);grid-row:1/3;place-items:center;margin-right:9px;font:900 16px/1 Arial Narrow,Microsoft YaHei UI,sans-serif;display:grid}.tutorial-launch strong{align-self:end;font-size:13px}.tutorial-launch small{color:#5f625e;font-size:9px}.tutorial-launch:hover{box-shadow:7px 7px 0 var(--acid);transform:translate(-2px,-2px)}.tutorial-wrapper{min-height:100dvh}.tutorial-wrapper.overview .game-shell{pointer-events:none;filter:saturate(.75)}.tutorial-wrapper.overview .tutorial-coach{pointer-events:auto}.tutorial-wrapper.overview .game-shell :is(.turn-ribbon,.pitch-panel,.command-deck,.quick-actions,.event-history,.phase-card){opacity:.34;filter:grayscale(.45);transition:opacity .18s,filter .18s,outline-color .18s}.tutorial-wrapper.tutorial-focus-turn .turn-ribbon,.tutorial-wrapper.tutorial-focus-board .pitch-panel,.tutorial-wrapper.tutorial-focus-hand .command-deck,.tutorial-wrapper.tutorial-focus-actions .quick-actions,.tutorial-wrapper.tutorial-focus-feed .action-banner,.tutorial-wrapper.tutorial-focus-history .event-history,.tutorial-wrapper.tutorial-focus-phase .phase-card{outline:5px solid var(--acid);outline-offset:4px;z-index:90;position:relative;opacity:1!important;filter:none!important}.tutorial-coach{z-index:160;border:1px solid var(--ink);width:min(348px,100vw - 40px);max-height:calc(100dvh - 40px);box-shadow:8px 8px 0 var(--ink);background:#f7f4eafa;padding:14px;position:fixed;bottom:20px;left:20px;overflow-y:auto}.tutorial-coach.complete{box-shadow:8px 8px 0 var(--acid);border-color:#668100}.tutorial-coach-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.tutorial-coach-head>div{align-items:center;gap:8px;display:flex}.tutorial-coach-head span{color:#fff;background:var(--ink);letter-spacing:.08em;padding:4px 6px;font:900 9px/1 Arial Narrow,Microsoft YaHei UI,sans-serif}.tutorial-coach-head strong{letter-spacing:.08em;font:900 9px/1 Arial Narrow,Microsoft YaHei UI,sans-serif}.tutorial-coach-head>button{border:1px solid var(--ink);cursor:pointer;background:0 0;width:28px;height:28px;font-size:18px}.tutorial-progress{grid-template-columns:repeat(10,1fr);gap:3px;margin:12px 0;display:grid}.tutorial-progress button{color:#aaa99f;background:0 0;border:1px solid #aaa99f;height:20px;padding:0;font:800 8px/1 Arial Narrow,Microsoft YaHei UI,sans-serif}.tutorial-progress button.unlocked{color:var(--ink);border-color:var(--ink);cursor:pointer}.tutorial-progress button.active{background:var(--acid);box-shadow:inset 0 -3px #0000001f}.tutorial-kicker{color:#7a8000;letter-spacing:.06em;text-transform:uppercase;margin:0 0 5px;font:900 10px/1.2 Arial Narrow,Microsoft YaHei UI,sans-serif}.tutorial-coach h2{margin:0 0 8px;font-size:19px;line-height:1.18}.tutorial-body,.tutorial-note{margin:0 0 6px;font-size:12px;line-height:1.55}.tutorial-body strong{color:#5f6800;margin-right:4px}.tutorial-note{color:#555953;border-left:3px solid #c8c4b7;padding-left:10px}.tutorial-feedback,.tutorial-hint{background:#fff2ee;border:1px solid #df4c42;margin:10px 0 0;padding:8px 9px;font-size:11px;line-height:1.45}.tutorial-feedback.success{background:#f1facd;border-color:#799600}.tutorial-hint{border-style:dashed;border-color:var(--ink);background:#fff}.tutorial-hint strong{letter-spacing:.05em;margin-bottom:6px;font-size:10px;display:block}.tutorial-hint p{border-top:1px solid #dedbd1;margin:0;padding:5px 0;font-size:11px;line-height:1.5}.tutorial-hint strong+p{border-top:0;padding-top:0}.tutorial-coach-actions{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.tutorial-coach-actions button{min-height:34px;padding:7px 11px}@media (width<=899px){.tutorial-launch{min-width:158px;top:auto;bottom:14px;right:14px}.tutorial-coach{width:auto;max-height:42dvh;box-shadow:5px 5px 0 var(--ink);inset:10px 10px auto;overflow-y:auto}.tutorial-wrapper{padding-top:220px}.tutorial-wrapper.overview{padding-top:0}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
