:root{--pitch: #123f31;--pitch-stripe: #164a3a;--pitch-deep: #0a271e;--chalk: #f3f6ee;--chalk-dim: rgb(243 246 238 / .72);--chalk-line: rgb(243 246 238 / .22);--paper: #f3f6ee;--ink: #15241d;--ink-soft: #4a5a52;--amber: #ffc94a;--calm: #3fb950;--warning: #f7d21e;--danger: #e5383b;--c-jugadores: #2f6fe4;--c-arbitro: #f2c230;--c-entrenadores: #8b5cf6;--c-grada: #f06a1d;--c-neutral: #7fa392;--font-display: "Barlow Condensed", "Arial Narrow", sans-serif;--font-body: "Atkinson Hyperlegible", system-ui, sans-serif;--radius-card: 10px;--radius-panel: 14px;--shadow-card: 0 2px 0 rgb(0 0 0 / .25), 0 10px 22px -10px rgb(0 0 0 / .55);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--pitch-deep);color:var(--chalk);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,h3{font-family:var(--font-display);line-height:1.05;margin:0}p{margin:0}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:44px;padding:.55em 1.2em;border:2px solid transparent;border-radius:999px;font-family:var(--font-display);font-size:1.15rem;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:transform .12s ease,background-color .15s ease,opacity .15s ease}.btn:active:not(:disabled){transform:translateY(1px) scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--amber);color:var(--ink)}.btn-primary:hover:not(:disabled){background:#ffd877}.btn-secondary{background:transparent;border-color:var(--ink);color:var(--ink)}.btn-ghost{background:transparent;color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px}.btn-danger{background:var(--danger);color:#fff}.bench .btn-secondary{border-color:var(--chalk);color:var(--chalk)}.bench .btn-ghost{color:var(--chalk-dim)}.link{background:none;border:0;padding:.25em 0;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.icon-button{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;border:0;background:#ffffff14;cursor:pointer}.icon-button:hover{background:#ffffff29}.icon-text{font-family:var(--font-display);font-size:1.4rem;font-weight:700;line-height:1}.input{width:100%;min-height:48px;padding:.6em .9em;border:2px solid var(--ink);border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:1.05rem}.input-code{font-family:var(--font-display);font-size:1.5rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;max-width:9.5em}.input-code::placeholder{letter-spacing:.12em;font-size:1.1rem}.toggle{display:flex;align-items:flex-start;gap:.6em;font-size:.95rem;cursor:pointer}.toggle input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--pitch);flex:none}.form-error{padding:.6em .9em;border-left:4px solid var(--danger);background:#e5383b1a;color:#9b1c1f;font-weight:700}.card-face{--cat: var(--c-neutral);--on-cat: var(--ink);container-type:inline-size;position:relative;display:flex;flex-direction:column;width:100%;aspect-ratio:5 / 7;overflow:hidden;border-radius:var(--radius-card);background:var(--paper);color:var(--ink);box-shadow:var(--shadow-card);text-align:left;-webkit-user-select:none;user-select:none}.cat-jugadores{--cat: var(--c-jugadores);--on-cat: #fff}.cat-arbitro{--cat: var(--c-arbitro);--on-cat: var(--ink)}.cat-entrenadores{--cat: var(--c-entrenadores);--on-cat: #fff}.cat-grada{--cat: var(--c-grada);--on-cat: #fff}.cat-neutral{--cat: var(--c-neutral);--on-cat: var(--ink)}.cat-comodin{--cat: var(--amber);--on-cat: var(--ink)}.card-band{display:flex;align-items:center;gap:.35em;padding:.55em .65em;background:var(--cat);color:var(--on-cat);font-family:var(--font-display);font-weight:700;font-size:max(11px,9cqi);line-height:1}.card-band svg{width:1.35em;height:1.35em;flex:none}.card-body{position:relative;z-index:1;display:flex;flex-direction:column;gap:.35em;padding:.7em .7em .6em;flex:1}.card-kind{font-size:max(9px,7cqi);color:var(--ink-soft);line-height:1.2}.card-title{font-family:var(--font-display);font-size:max(13px,12.5cqi);font-weight:700;line-height:1;-webkit-hyphens:auto;hyphens:auto}.card-text{font-size:max(10px,7.8cqi);line-height:1.3;color:var(--ink-soft)}.card-watermark{position:absolute;right:-12%;bottom:-8%;width:62%;color:var(--cat);opacity:.18}.card-watermark svg{width:100%;height:auto}.card-event:not(.cat-neutral):after{content:"";position:absolute;top:0;right:0;width:22%;aspect-ratio:1;background:linear-gradient(225deg,var(--danger) 50%,transparent 50%)}.card-solution{background:var(--cat);color:var(--on-cat)}.card-solution .card-band{background:#00000029}.card-solution .card-kind,.card-solution .card-text{color:inherit;opacity:.88}.card-solution .card-watermark{color:var(--on-cat);opacity:.16}.card-solution.cat-comodin{background:var(--paper);color:var(--ink)}.card-solution.cat-comodin .card-band{background:linear-gradient(90deg,var(--c-jugadores) 0 25%,var(--c-arbitro) 25% 50%,var(--c-entrenadores) 50% 75%,var(--c-grada) 75% 100%);color:#fff;text-shadow:0 1px 2px rgb(0 0 0 / .5)}.card-solution.cat-comodin .card-watermark{color:var(--ink);opacity:.1}.card-event.cat-neutral{background:#dfe8e2}.card-face.is-ghost{opacity:.55;box-shadow:none;outline:2px dashed var(--chalk-dim);outline-offset:-2px}@container (max-width: 104px){.card-text,.card-kind,.card-band .card-category{display:none}.card-band{justify-content:center}}.game{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,3fr) minmax(0,2fr);height:100vh;height:100dvh;overflow:hidden}.game-top{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;position:relative;z-index:1}.scoreboard{display:grid;grid-template-columns:auto auto auto minmax(0,1fr) auto;align-items:center;gap:clamp(12px,3vw,40px);padding:8px clamp(10px,2.5vw,28px);padding-top:max(8px,env(safe-area-inset-top));background:var(--pitch-deep);border-bottom:2px solid var(--chalk-line)}.stat{display:flex;flex-direction:column;line-height:1}.stat-value{font-family:var(--font-display);font-size:clamp(1.6rem,4.2vh,2.4rem);font-weight:800;color:var(--amber);font-variant-numeric:tabular-nums;transform-origin:left center}.stat-label{font-size:.78rem;color:var(--chalk-dim);margin-top:3px}.stat-clock.is-final .stat-value{color:var(--danger)}.scoreboard-tools{display:flex;gap:6px}.tension{--level: var(--calm);display:flex;align-items:center;gap:12px}.tension-warning{--level: var(--warning)}.tension-danger{--level: var(--danger)}.tension-cards{display:flex;gap:clamp(4px,.6vw,7px)}.tension-card{display:block;width:clamp(16px,2.6vh,24px);aspect-ratio:2 / 3;border-radius:3px;border:2px solid var(--chalk-line);background:transparent}.tension-card.is-filled{border-color:transparent;background:var(--level);box-shadow:0 0 14px -2px var(--level)}.tension-danger .tension-card.is-filled{animation:tension-pulse .9s ease-in-out infinite alternate}@keyframes tension-pulse{to{box-shadow:0 0 22px 2px var(--level);filter:brightness(1.2)}}.tension-readout{display:flex;flex-direction:column;line-height:1}.tension-value{font-family:var(--font-display);font-size:clamp(1.6rem,4.2vh,2.4rem);font-weight:800;color:var(--level);font-variant-numeric:tabular-nums}.tension-value small{font-size:.55em;color:var(--chalk-dim)}.tension-label{font-size:.78rem;color:var(--chalk-dim);margin-top:3px}.pitch{container-type:size;position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:2cqw;padding:3cqh 3cqw 9cqh;min-height:0;background:repeating-linear-gradient(90deg,var(--pitch) 0 10%,var(--pitch-stripe) 10% 20%)}.pitch-lines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.pitch-lines svg{width:100%;height:100%;fill:none;stroke:var(--chalk-line);stroke-width:3;vector-effect:non-scaling-stroke}.pitch-lines svg *{vector-effect:non-scaling-stroke}.pitch-circle{position:absolute;left:50%;top:50%;width:32cqh;aspect-ratio:1;border:2px solid var(--chalk-line);border-radius:50%;transform:translate(-50%,-50%)}.field{position:relative;display:flex;justify-content:center;align-items:center;gap:clamp(6px,1.5cqw,18px);margin:0;padding:0;list-style:none;min-height:0;perspective:900px}.field-slot{width:min(15cqw,44cqh,170px);flex:none}.field-card{display:block;width:100%;padding:0;border:0;border-radius:var(--radius-card);background:none;cursor:pointer;transition:transform .18s ease,opacity .18s ease,filter .18s ease,box-shadow .18s ease}.field-card:disabled{cursor:default}.field-card.is-match{transform:translateY(-4px);box-shadow:0 0 0 3px var(--chalk),0 0 24px 2px #f3f6ee73}.field-card.is-nomatch{opacity:.45;filter:saturate(.4)}.field-card.is-hover.is-match{transform:translateY(-8px) scale(1.06);box-shadow:0 0 0 4px var(--amber),0 0 32px 4px #ffc94a99}.field-card.is-hover.is-nomatch{opacity:.8;box-shadow:0 0 0 4px var(--danger)}.field-empty{font-family:var(--font-display);font-size:1.4rem;color:var(--chalk-dim)}.pile{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:2px;width:min(9cqw,26cqh,92px)}.pile-stack{position:relative;width:100%;aspect-ratio:5 / 7;border-radius:8px;outline:2px dashed var(--chalk-line);outline-offset:-2px}.pile-back,.pile-front{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;box-shadow:var(--shadow-card)}.pile-back{background:repeating-linear-gradient(45deg,transparent 0 6px,rgb(243 246 238 / .09) 6px 12px),var(--pitch-deep);border:2px solid var(--chalk-dim)}.pile-back+.pile-back{transform:translate(3px,-3px)}.pile-front{background:var(--cat);border:3px solid var(--paper)}.pile-count{font-family:var(--font-display);font-weight:800;font-size:clamp(1.1rem,6cqh,1.6rem);line-height:1;margin-top:4px}.pile-label{font-size:.75rem;color:var(--chalk-dim)}.neutral-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:15;display:grid;place-items:center;padding:16px;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom));background:#05140f73}.neutral-panel{display:flex;flex-direction:column;align-items:center;gap:14px;width:min(340px,100%);padding:20px;border:3px solid var(--chalk-line);border-radius:20px;background:var(--pitch-deep);color:var(--chalk);text-align:center;cursor:pointer;box-shadow:0 24px 50px -12px #000000b3}.neutral-card{width:min(190px,52vw)}.neutral-copy{display:flex;flex-direction:column;gap:4px}.neutral-title{font-family:var(--font-display);font-size:1.7rem;font-weight:800;line-height:1.05}.neutral-text{color:var(--chalk-dim)}.neutral-hint{margin-top:6px;font-size:.8rem;color:var(--chalk-dim);opacity:.8}@media(orientation:landscape)and (max-height:520px){.neutral-panel{flex-direction:row;gap:20px;width:min(520px,100%);padding:14px 20px;text-align:left}.neutral-card{width:min(150px,42vh);flex:none}}.ticker{position:absolute;left:50%;bottom:2cqh;transform:translate(-50%);max-width:min(92%,640px);padding:4px 14px;border-radius:999px;background:#0a271ed1;color:var(--chalk);font-size:clamp(.75rem,4.2cqh,.95rem);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticker:empty{display:none}.ticker-error{background:var(--danger);color:#fff;font-weight:700;white-space:normal}.bench{container-type:size;position:relative;z-index:2;display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;background:linear-gradient(180deg,#0d3125,var(--pitch-deep));border-top:3px solid var(--chalk-line);transition:border-color .3s ease;padding-bottom:env(safe-area-inset-bottom)}.game.is-my-turn .bench{border-top-color:var(--amber)}.bench-bar{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px clamp(10px,2.5vw,28px)}.bench-title{font-family:var(--font-display);font-size:1.3rem;font-weight:700}.turn-hint{color:var(--chalk-dim);font-size:.92rem;text-align:center}.game.is-my-turn .turn-hint{color:var(--amber);font-weight:700}.bench-actions{display:flex;gap:8px;justify-content:flex-end}.bench-actions .btn{min-height:40px;font-size:1.05rem;padding:.4em 1em}.players{display:flex;gap:6px;margin:0;padding:0;list-style:none;overflow-x:auto}.player{display:flex;flex-direction:column;padding:4px 10px;border-radius:8px;border:2px solid var(--chalk-line);line-height:1.15;white-space:nowrap}.player.is-active{border-color:var(--amber);background:#ffc94a1f}.player.is-away{opacity:.5}.player-name{font-family:var(--font-display);font-weight:700;font-size:1.05rem}.player-meta{font-size:.72rem;color:var(--chalk-dim)}.hand{display:flex;justify-content:center;align-items:flex-start;gap:clamp(6px,1.6cqw,18px);margin:0;padding:4px 12px 0;list-style:none;min-height:0}.hand-slot{width:min(21cqw,46cqh,176px);flex:none;position:relative}.hand-card{position:relative;display:block;width:100%;padding:0;border:0;border-radius:var(--radius-card);background:none;cursor:pointer;touch-action:none;transition:translate .18s ease,box-shadow .18s ease}.hand-card:disabled{cursor:default}.hand-card.is-draggable{cursor:grab}.hand-card.is-selected{translate:0 -12px;box-shadow:0 0 0 4px var(--amber),0 12px 30px -8px #000000b3}.hand-card.is-discard{translate:0 -8px}.hand-card.is-discard .card-face{filter:grayscale(.7) brightness(.8)}.discard-mark{position:absolute;left:50%;top:46%;translate:-50% -50%;rotate:-12deg;padding:2px 10px;border:3px solid var(--danger);border-radius:6px;background:var(--paper);color:var(--danger);font-family:var(--font-display);font-weight:800;font-size:1.1rem}.connection-banner{position:fixed;top:0;left:50%;z-index:30;transform:translate(-50%);padding:6px 16px;border-radius:0 0 10px 10px;background:var(--danger);color:#fff;font-weight:700}.end-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:16px;background:#05140fb8;overflow-y:auto}.end-panel{width:min(440px,100%);padding:28px;border-radius:var(--radius-panel);background:var(--paper);color:var(--ink);border-top:10px solid var(--calm)}.end-panel.is-suspended{border-top-color:var(--danger)}.end-kicker{color:var(--ink-soft)}.end-panel h2{font-size:clamp(2.2rem,7vw,3rem);font-weight:800}.end-score{margin:10px 0 14px;font-family:var(--font-display);font-size:1.4rem;font-weight:600}.end-score span{font-size:4.5rem;font-weight:800;line-height:.9;margin-right:6px}.end-text{color:var(--ink-soft)}.end-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.end-actions .form-error{flex-basis:100%}.score-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.score-table td{padding:6px 0;border-bottom:1px solid rgb(21 36 29 / .15)}.score-table td:last-child{text-align:right;font-family:var(--font-display);font-size:1.2rem;font-weight:700}.label-short{display:none}@media(orientation:portrait)and (max-width:700px){.game{grid-template-rows:minmax(0,1fr) auto}.label-long{display:none}.label-short{display:inline}.scoreboard{grid-template-columns:auto auto minmax(0,1fr) auto;gap:6px 14px;padding:6px 10px;padding-top:max(6px,env(safe-area-inset-top))}.tension{gap:8px}.tension-cards{gap:3px}.tension-card{width:13px}.tension-value,.stat-value{font-size:1.55rem}.stat-label,.tension-label{font-size:.7rem;white-space:nowrap}.match-flags{grid-column:1 / -1;grid-row:2}.match-flags:not(:has(.surge-chip)){display:none}.level-chip{display:none}.scoreboard-tools{grid-column:4;grid-row:1;gap:4px}.scoreboard-tools .icon-button{width:34px;height:34px}.pitch{grid-template-columns:minmax(0,1fr);padding:52px 10px 40px}.pile{position:absolute;top:8px;width:auto;flex-direction:row;gap:6px}.pile-events{left:10px}.pile-resolved{right:10px;flex-direction:row-reverse}.pile-stack{width:26px}.pile-count{margin:0;font-size:1.15rem}.pile-label{display:inline;font-size:.72rem}.field{flex-wrap:wrap;align-content:center;gap:10px;height:100%}.field-slot{width:min(29cqw,33cqh,150px)}.pitch-circle{width:34cqw}.ticker{bottom:8px;font-size:.78rem}.bench{container-type:inline-size;padding-bottom:max(10px,env(safe-area-inset-bottom))}.bench-bar{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:8px 10px 4px}.turn-hint{grid-column:1 / -1;grid-row:2;text-align:left;font-size:.85rem;line-height:1.3}.bench-actions .btn{min-height:40px;padding:.35em .9em;font-size:1rem}.hand{--hand-w: min(calc((100cqw - 20px) / 3.46), 130px);gap:0;padding:12px 10px 0}.hand-slot{width:var(--hand-w)}.hand-slot+.hand-slot{margin-left:calc(var(--hand-w) * -.18)}.hand .card-text,.hand .card-kind{display:none}.hand-slot:not(:last-child) .card-body{padding-right:22%}.player{padding:2px 8px}.player-meta{display:none}}@media(orientation:portrait)and (max-width:380px){.scoreboard{gap:6px 10px}.tension{gap:6px}.tension-card{width:10px}.tension-label{display:none}.tension-value,.stat-value{font-size:1.4rem}.scoreboard-tools{gap:2px}}@media(orientation:landscape)and (max-height:520px){.scoreboard{gap:18px;padding:3px 14px;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.stat-label,.tension-label{display:none}.tension-card{width:13px}.tension-value,.stat-value{font-size:1.35rem}.scoreboard-tools .icon-button{width:36px;height:36px}.label-long{display:none}.label-short{display:inline}.pitch{padding:2cqh 2cqw 13cqh;padding-left:max(2cqw,env(safe-area-inset-left));padding-right:max(2cqw,env(safe-area-inset-right))}.field-slot{width:min(14cqw,58cqh,130px)}.pile{width:min(8cqw,30cqh,64px)}.pile-label{display:none}.ticker{bottom:1cqh;font-size:.72rem;padding:2px 10px}.bench{grid-template-columns:minmax(0,1fr) minmax(150px,24%);grid-template-rows:minmax(0,1fr);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.bench-bar{grid-column:2;grid-row:1;grid-template-columns:minmax(0,1fr);align-content:center;gap:6px;padding:6px 12px 6px 4px}.bench-title,.players{display:none}.turn-hint{text-align:left;font-size:.78rem;line-height:1.25}.bench-actions{flex-wrap:wrap;justify-content:flex-start;gap:6px}.bench-actions .btn{min-height:34px;padding:.3em .8em;font-size:.92rem}.hand{grid-column:1;grid-row:1;align-items:center;gap:8px;padding:6px 8px}.hand-slot{width:min(17cqw,60cqh,140px)}}.logo{display:flex;flex-direction:column;align-items:center;gap:4px}.logo svg{overflow:visible;filter:drop-shadow(0 10px 18px rgb(0 0 0 / .35))}.logo-wordmark{font-family:var(--font-display);font-weight:800;font-size:3rem;line-height:.9;letter-spacing:-.01em;color:var(--chalk);text-align:center;text-shadow:0 3px 0 rgb(0 0 0 / .25)}.logo-wordmark span:last-child{color:#4fd178}.splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:radial-gradient(circle at 50% 45%,rgb(79 209 120 / .16),transparent 55%),repeating-linear-gradient(90deg,var(--pitch) 0 10%,var(--pitch-stripe) 10% 20%);cursor:pointer}.splash-logo .logo-wordmark{font-size:clamp(3rem,12vw,4.5rem)}.splash-tagline{color:var(--chalk-dim);font-size:1.05rem}.home{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:max(20px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 30%,rgb(79 209 120 / .12),transparent 50%),repeating-linear-gradient(90deg,var(--pitch) 0 10%,var(--pitch-stripe) 10% 20%);overflow-x:hidden}.home-menu,.home-sub{display:flex;flex-direction:column;align-items:center;gap:28px;width:min(380px,100%)}.home-logo .logo-wordmark{font-size:clamp(2.6rem,11vw,3.2rem)}.menu{display:flex;flex-direction:column;gap:12px;width:100%}.menu-button{display:flex;align-items:center;gap:14px;width:100%;min-height:64px;padding:0 22px;border:3px solid var(--chalk);border-radius:18px;background:#0a271e8c;color:var(--chalk);font-family:var(--font-display);font-size:1.6rem;font-weight:800;text-align:left;cursor:pointer;box-shadow:0 5px #00000059;transition:transform .1s ease,box-shadow .1s ease,background-color .15s ease}.menu-button:hover{background:#0a271ecc}.menu-button:active{transform:translateY(4px);box-shadow:0 1px #00000059}.menu-icon{display:grid;place-items:center;flex:none}.menu-primary{border-color:var(--amber);background:var(--amber);color:var(--ink)}.menu-primary:hover{background:#ffd877}.menu-resume{border-color:#4fd178;background:#2fb457;color:#fff}.menu-resume:hover{background:#36c262}.menu-quiet{min-height:52px;border-width:2px;border-color:var(--chalk-line);background:transparent;box-shadow:none;font-size:1.3rem;color:var(--chalk-dim)}.menu-quiet:hover{background:#ffffff0f;color:var(--chalk)}.menu-quiet:active{transform:translateY(2px);box-shadow:none}.home-error{width:100%;background:var(--paper)}.sub-header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;width:100%}.sub-header h1{font-size:2.4rem;font-weight:800;text-align:center}.sub-back{width:44px;height:44px;background:#ffffff1f}.sub-card{width:100%;padding:22px;border-radius:var(--radius-panel);background:var(--paper);color:var(--ink);color-scheme:light}.sub-form{display:flex;flex-direction:column;gap:16px}.sub-lead{color:var(--ink-soft)}.btn-block{width:100%;min-height:52px;font-size:1.3rem}.sub-divider{display:flex;align-items:center;gap:12px;color:var(--ink-soft);font-size:.9rem}.sub-divider:before,.sub-divider:after{content:"";flex:1;height:1px;background:#15241d33}.field-row label{display:block;margin-bottom:6px;font-weight:700}.join{display:flex;gap:8px}.join .input-code{flex:1;max-width:none}@media(orientation:landscape)and (max-height:560px){.home-menu{flex-direction:row;justify-content:center;gap:40px;width:min(760px,100%)}.home-logo svg{width:88px;height:88px}.menu{width:min(340px,55%);gap:8px}.menu-button{min-height:50px;font-size:1.35rem}.menu-quiet{min-height:42px;font-size:1.15rem}.home-sub{gap:12px;width:min(520px,100%)}.sub-header h1{font-size:1.8rem}.sub-card{padding:16px 18px}.sub-form{gap:10px}.sub-lead{display:none}.splash{flex-direction:row;gap:32px}.splash-tagline{display:none}}.lobby{min-height:100dvh;display:grid;place-items:center;padding:16px;background:repeating-linear-gradient(90deg,var(--pitch) 0 9vw,var(--pitch-stripe) 9vw 18vw)}.lobby-card{display:flex;flex-direction:column;align-items:flex-start;gap:14px;width:min(480px,100%);padding:clamp(20px,5vw,36px);border-radius:var(--radius-panel);background:var(--paper);color:var(--ink)}.lobby-kicker{color:var(--ink-soft)}.room-code{font-family:var(--font-display);font-size:clamp(4rem,18vw,6rem);font-weight:800;letter-spacing:.12em;line-height:.9}.lobby-heading{font-size:1.7rem;font-weight:800;margin-top:8px}.roster{width:100%;margin:0;padding:0;list-style:none;border-top:1px solid rgb(21 36 29 / .15)}.roster li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgb(21 36 29 / .15)}.roster-number{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--pitch);color:var(--chalk);font-family:var(--font-display);font-weight:700}.roster .is-empty{color:var(--ink-soft)}.roster .is-empty .roster-number{background:transparent;border:2px dashed rgb(21 36 29 / .3);color:var(--ink-soft)}.roster .is-away{opacity:.55}.roster-name{flex:1;font-weight:700}.roster-tag{font-size:.8rem;color:var(--ink-soft)}.lobby-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-top:6px}.lobby-wait{color:var(--ink-soft)}.modal{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:var(--radius-panel);background:var(--paper);color:var(--ink)}.modal::backdrop{background:#05140fb8}.modal-inner{padding:24px clamp(20px,4vw,32px) 28px}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.modal-header h2{font-size:2rem;font-weight:800}.modal .icon-button{background:#15241d14}.modal-body{display:flex;flex-direction:column;gap:12px}.modal-body h3{font-size:1.4rem;font-weight:700;margin-top:8px}.modal-body .lead{font-size:1.08rem}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.rules-categories{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.rules-categories li{display:inline-flex;align-items:center;gap:6px;padding:4px 12px 4px 8px;border-radius:999px;background:var(--cat);color:var(--on-cat);font-weight:700;font-size:.92rem}.rules-categories .cat-comodin{background:var(--paper);color:var(--ink);border:2px solid var(--ink)}.rules-steps{margin:0;padding-left:1.3em;display:flex;flex-direction:column;gap:6px}.leaderboard{margin:0;padding:0;list-style:none;counter-reset:rank}.leaderboard li{counter-increment:rank;display:grid;grid-template-columns:2.2em 3.2em 1fr;grid-template-areas:"rank score team" "rank score meta";align-items:baseline;column-gap:8px;padding:8px 0;border-bottom:1px solid rgb(21 36 29 / .15)}.leaderboard li:before{content:counter(rank);grid-area:rank;font-family:var(--font-display);font-weight:700;color:var(--ink-soft)}.lb-score{grid-area:score;font-family:var(--font-display);font-size:1.6rem;font-weight:800}.lb-team{grid-area:team;font-weight:700}.lb-meta{grid-area:meta;font-size:.82rem;color:var(--ink-soft)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.levels{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.level{--level-color: var(--calm);display:grid;grid-template-columns:auto 1fr;grid-template-areas:"meter name" "meter summary" "meter rules";column-gap:16px;row-gap:0;width:100%;padding:10px 16px;border:2px solid rgb(21 36 29 / .15);border-left:8px solid var(--level-color);border-radius:12px;background:#fff;color:var(--ink);text-align:left;cursor:pointer;transition:border-color .15s ease,transform .12s ease}.level:hover,.level:focus-visible{border-color:var(--level-color);border-left-width:8px}.level:active{transform:scale(.99)}.level-medio{--level-color: #e0b400}.level-dificil{--level-color: var(--danger)}.level-meter{grid-area:meter;align-self:start;display:flex;gap:4px;padding-top:8px}.level-meter span{width:12px;aspect-ratio:2 / 3;border-radius:2px;border:2px solid rgb(21 36 29 / .2)}.level-meter span.is-on{border-color:transparent;background:var(--level-color)}.level-name{grid-area:name;font-family:var(--font-display);font-size:1.6rem;font-weight:800;line-height:1.1}.level-summary{grid-area:summary;line-height:1.35}.level-rules{grid-area:rules;margin:4px 0 0;padding-left:1.1em;font-size:.85rem;line-height:1.35;color:var(--ink-soft)}.match-flags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.level-chip,.surge-chip{padding:3px 10px;border-radius:999px;font-size:.8rem;font-weight:700;white-space:nowrap}.level-chip{border:2px solid var(--chalk-line);color:var(--chalk-dim)}.level-chip.level-medio{border-color:#f7d21e80;color:var(--warning)}.level-chip.level-dificil{border-color:#e5383b99;color:#ff8a8c}.surge-chip{background:var(--danger);color:#fff;animation:surge-in .4s ease-out}@keyframes surge-in{0%{transform:scale(.7);opacity:0}}.level-rules-short{display:none;grid-area:rules;margin-top:2px;font-size:.85rem;color:var(--ink-soft);line-height:1.35}@media(orientation:portrait)and (max-height:760px),(orientation:landscape)and (max-height:520px){.level-rules{display:none}.level-rules-short{display:block}.level-summary{display:none}}@media(orientation:landscape)and (max-height:520px){.modal:has(.levels){width:min(920px,calc(100% - 24px))}.modal:has(.levels) .modal-inner{padding:14px 18px 18px}.modal:has(.levels) .modal-header{margin-bottom:8px}.modal:has(.levels) .modal-header h2{font-size:1.6rem}.levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.levels>li{display:flex}.level{grid-template-columns:1fr;grid-template-areas:"meter" "name" "summary" "rules";align-content:start;padding:10px 12px}.level-meter{padding-top:0;margin-bottom:4px}.level-summary{font-size:.85rem}.level-rules{font-size:.78rem}}@media(orientation:landscape)and (max-height:520px){.end-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);column-gap:28px;align-content:start;width:min(760px,100%);padding:16px 22px 18px;border-top-width:8px}.end-kicker,.end-panel h2,.end-score{grid-column:1}.end-panel h2{font-size:2rem}.end-score{margin:4px 0 0}.end-score span{font-size:3.2rem}.end-panel .score-table,.end-panel>.end-text{grid-column:2;grid-row:1 / span 3;align-self:center}.end-panel .score-table td{padding:4px 0}.end-actions{grid-column:1 / -1;margin-top:12px}}@media(orientation:landscape)and (max-height:520px){.lobby{padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left))}.lobby-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:start;gap:8px 28px;width:min(820px,100%);padding:18px 24px}.lobby-card>*{grid-column:1}.lobby-kicker{grid-row:1}.room-code{grid-row:2;font-size:4rem}.lobby-card>.btn-ghost{grid-row:3;justify-self:start}.lobby-actions{grid-row:4;flex-direction:column;align-items:flex-start}.lobby-card>.link{grid-row:5}.lobby-heading{grid-column:2;grid-row:1;margin-top:0;font-size:1.4rem}.roster{grid-column:2;grid-row:2 / span 3}.roster li{padding:6px 0}.lobby-card>.toggle{grid-column:2;grid-row:5}.lobby-card>.form-error{grid-column:1 / -1;grid-row:6}}.lobby-card,.modal,.end-panel{color-scheme:light}
