:root{--red: #e62429;--red-dark: #a3151a;--yellow: #ffd23f;--blue: #1f6feb;--green: #2ea043;--ink: #111;--paper: #fffaf0;--shadow: 4px 4px 0 var(--ink);--heading: "Bangers", "Rubik", system-ui, sans-serif;--body: "Rubik", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--body);color:var(--ink);background-color:var(--yellow);background-image:radial-gradient(rgba(0,0,0,.12) 1.5px,transparent 1.5px);background-size:14px 14px;overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top);background:#000b1f;z-index:100;pointer-events:none}button,[role=option],.card{touch-action:manipulation;-webkit-user-select:none;user-select:none}img{-webkit-touch-callout:none;-webkit-user-drag:none}button{font:inherit}.app{max-width:1000px;margin:0 auto;padding:calc(16px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.header__brand{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.header__title{margin:0;line-height:0;transform:rotate(-2deg)}.header__logo{height:96px;width:auto;filter:drop-shadow(3px 4px 0 rgba(0,0,0,.35))}.header__subtitle{font-family:var(--heading);font-size:1.4rem;letter-spacing:1px}.header__actions{display:flex;align-items:center;gap:8px}.header__logo--spark{height:72px;border-radius:12px}.btn{cursor:pointer;border:3px solid var(--ink);border-radius:10px;padding:10px 18px;font-weight:800;box-shadow:var(--shadow);transition:transform .08s,box-shadow .08s,background .2s;background:#fff;color:var(--ink)}@media(hover:hover){.btn:not(:disabled):hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--ink)}}.btn:not(:disabled):active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}.btn:disabled{cursor:default}.btn--primary{background:var(--red);color:#fff}.btn--primary:disabled{background:#c9a3a4}.btn--ghost{background:#fff}.btn--small{padding:6px 12px;font-size:.9rem}.btn--big{font-family:var(--heading);font-size:1.8rem;letter-spacing:1px;padding:8px 32px}.btn--answer{width:100%;font-size:1.05rem;background:var(--blue);color:#fff}.btn--draw{background:#fff;color:var(--ink)}.btn--answer:disabled{opacity:.55}.btn--answer:not(.btn--draw).btn--correct{opacity:1;background:var(--green);color:#fff}.btn--answer:not(.btn--draw).btn--wrong{opacity:1;background:var(--red);color:#fff;text-decoration:line-through}.btn--draw.btn--correct,.btn--draw.btn--wrong{opacity:1;background:#fff;color:var(--ink)}.btn--draw.btn--correct{box-shadow:inset 0 0 0 4px var(--green),var(--shadow)}.btn--draw.btn--wrong{box-shadow:inset 0 0 0 4px var(--red),var(--shadow)}.actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:20px}.panel{background:var(--paper);border:4px solid var(--ink);border-radius:16px;box-shadow:8px 8px 0 var(--ink);padding:24px;max-width:640px;margin:0 auto}.panel__title{font-family:var(--heading);font-size:2.2rem;letter-spacing:1px;margin:0 0 16px;text-align:center;color:var(--red)}.field{display:block;margin-bottom:20px}.field__label{display:block;font-family:var(--heading);font-size:1.4rem;letter-spacing:1px;margin-bottom:8px}.field__input{width:100%;font:inherit;font-size:1.2rem;padding:12px;border:3px solid var(--ink);border-radius:10px;outline:none}.field__input:focus{box-shadow:0 0 0 4px var(--yellow)}.difficulty{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.difficulty--modes{grid-template-columns:repeat(2,calc((100% - 24px) / 3));justify-content:center}.difficulty__option{cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 8px;background:#fff;border:3px solid var(--ink);border-radius:12px;box-shadow:var(--shadow);transition:transform .1s}.difficulty__option.is-selected{transform:translate(-2px,-2px) scale(1.03);box-shadow:6px 6px 0 var(--ink)}.difficulty__option--easy.is-selected{background:#9be9a8}.difficulty__option--medium.is-selected{background:#ffe08a}.difficulty__option--hard.is-selected{background:#ff9a9e}.difficulty__name{font-family:var(--heading);font-size:1.6rem;letter-spacing:1px}.difficulty__desc{font-size:.85rem;text-align:center}.difficulty__summary{margin:10px 0 0;font-size:.95rem;text-align:center;white-space:nowrap}.hud{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--ink);color:#fff;border-radius:12px;padding:10px 16px;font-size:1.1rem}.hud--solo{display:grid;grid-template-columns:1fr auto 1fr}.hud--solo .hud__who{justify-self:start}.hud--solo .hud__difficulty{justify-self:center}.hud--solo .hud__exit{justify-self:end}.hud--h2h{display:grid;grid-template-columns:1fr auto 1fr}.hud--h2h .hud__player:first-child{justify-self:start}.hud--h2h>:nth-child(2){justify-self:center}.hud--h2h.hud--live>.hud__difficulty:first-child{justify-self:start}.hud--h2h.hud--live>.hud__difficulty:last-child{justify-self:end}.hud--h2h .hud__player:last-child{justify-self:end}.hud__difficulty{font-family:var(--heading);letter-spacing:1px;font-size:1.3rem;color:var(--yellow)}.hud__exit{padding:2px 12px;border:2px solid #fff;border-radius:8px;background:transparent;color:#fff;font:inherit;font-weight:800;cursor:pointer}.hud__exit:active{background:var(--red)}.hud__score{font-size:1.4rem;color:var(--yellow)}.hud__tada{font-size:1.2rem;line-height:1}.versus-scores__wins{font-size:.9rem;font-weight:700;white-space:nowrap}.status-slot{display:flex;align-items:center;min-height:74px;margin:4px 0}.status-slot>*{flex:1;min-width:0}.timer{position:relative;height:26px;background:#fff;border:3px solid var(--ink);border-radius:999px;overflow:hidden}.timer__fill{height:100%;background:var(--green);transition:width .1s linear,background .3s}[dir=rtl] .timer__fill{margin-inline-start:auto}.timer--danger .timer__fill{background:var(--red)}.timer--danger{animation:pulse .6s infinite alternate}.timer__text{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-weight:800}.duel__question{font-family:var(--heading);font-size:2.2rem;letter-spacing:1px;text-align:center;margin:4px 0 12px}.arena{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:stretch;margin-top:28px}.fighter{display:flex;flex-direction:column;gap:16px;width:100%;max-width:320px;justify-self:center}.fighter .card{flex:1;display:flex;flex-direction:column}.arena__middle{display:grid;grid-template-rows:1fr auto 1fr;justify-items:center;gap:16px}.arena__middle .vs{grid-row:2}.arena__middle .arena__stack{grid-row:3;align-self:end;display:flex;flex-direction:column;align-items:center;gap:8px}.arena__middle .btn--answer{width:auto;min-width:120px;font-size:1.2rem}.vs{font-family:var(--heading);font-size:3.5rem;color:#fff;background:var(--red);width:96px;height:96px;display:grid;place-items:center;border:4px solid var(--ink);clip-path:polygon(50% 0,61% 30%,98% 20%,70% 48%,100% 75%,62% 68%,50% 100%,38% 68%,0 75%,30% 48%,2% 20%,39% 30%);-webkit-text-stroke:2px var(--ink);animation:wobble 1.6s ease-in-out infinite}.replay{display:flex;align-items:center;gap:8px;direction:ltr}.replay__arrow{width:42px;height:42px;padding:0;border:3px solid var(--ink);border-radius:50%;background:#fff;box-shadow:2px 2px 0 var(--ink);font:700 1.7rem/1 var(--body);cursor:pointer}.replay__arrow:disabled{opacity:.35;cursor:default}.replay__count{min-width:3.2ch;font-weight:800;text-align:center}.card{background:#fff;border:4px solid var(--ink);border-radius:14px;box-shadow:6px 6px 0 var(--ink);overflow:hidden;animation:slide-in .45s ease-out;transition:transform .3s,filter .3s,opacity .3s}.card__image{position:relative;aspect-ratio:3 / 4;max-height:36vh;width:100%;background:#ddd}.card__image img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}.card__fallback{width:100%;height:100%;display:grid;place-items:center;font-family:var(--heading);font-size:4rem;color:#fff;background:linear-gradient(135deg,var(--red),var(--blue))}.card__name{flex-shrink:0;font-family:var(--heading);font-size:1.6rem;letter-spacing:1px;text-align:center;padding:8px 44px 8px 12px;background:var(--yellow);border-top:4px solid var(--ink);position:relative}.card__name-text{display:block;line-height:1.12;overflow-wrap:break-word}.card__ability-icon{position:absolute;right:6px;top:50%;translate:0 -50%;width:34px;height:34px;display:grid;place-items:center;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:1.25rem;line-height:1;background:#fff;border:2px solid var(--ink);border-radius:50%;box-shadow:2px 2px 0 var(--ink)}.card__traits{display:flex;flex-direction:column;gap:6px;padding:8px;border-top:3px solid var(--ink);background:#fff;font-size:.9rem}.trait{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:4px 10px;border:2px solid var(--ink);border-radius:999px;transition:transform .2s,box-shadow .2s}.trait--ability{background:#d3f9d8}.trait--weakness{background:#ffe3e3}.trait__element{font-size:.8rem;font-weight:800;text-transform:uppercase;padding:1px 8px;border-radius:999px;background:var(--ink);color:#fff}.trait.is-triggered{transform:scale(1.06);box-shadow:0 0 0 3px var(--yellow),0 0 14px 4px #ffd23fe6;animation:pulse .5s infinite alternate}.trait--ability.is-triggered{background:var(--green);color:#fff}.trait--weakness.is-triggered{background:var(--red);color:#fff}.card--clickable{cursor:pointer}@media(hover:hover){.card--clickable:hover{transform:translate(-2px,-4px) rotate(-1deg);box-shadow:0 0 0 4px var(--blue),8px 10px 0 4px var(--ink)}}.card--clickable:focus-visible{outline:4px solid var(--blue);outline-offset:4px}.card__power{position:absolute;top:8px;right:8px;width:60px;height:60px;display:grid;place-items:center;font-family:var(--heading);font-size:2rem;letter-spacing:1px;color:#fff;background:var(--blue);border:3px solid var(--ink);border-radius:50%;box-shadow:3px 3px 0 var(--ink);animation:pop .4s ease-out}.card__power--winner{background:var(--green)}.card__power--loser{background:#777}.card--winner{transform:scale(1.04)}.card--ring-green{box-shadow:0 0 0 6px var(--green),6px 6px 0 6px var(--ink)}.card--ring-red{box-shadow:0 0 0 6px var(--red),6px 6px 0 6px var(--ink)}.card--ring-blue{box-shadow:0 0 0 6px var(--blue),6px 6px 0 6px var(--ink)}.card--loser{transform:scale(.95) rotate(-2deg)}.card--loser .card__image,.card--loser .card__name,.card--loser .trait:not(.is-triggered){filter:grayscale(1);opacity:.6}.reveal{display:flex;align-items:center;gap:10px;background:var(--paper);border:3px solid var(--ink);border-radius:12px;box-shadow:3px 3px 0 var(--ink);padding:4px 6px 4px 10px;white-space:nowrap;position:relative;overflow:hidden;animation:pop .3s ease-out}.reveal__actions{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0}.reveal__actions--replay{flex-direction:row;direction:ltr;align-items:center;gap:8px}.reveal__results{display:flex;flex-direction:column;align-items:center;gap:4px}.reveal__next{flex-shrink:0}.reveal__next{position:relative;overflow:hidden}.reveal__next--battle{background:#fff;color:var(--ink)}.reveal__next-fill{position:absolute;inset-block:0;inset-inline-start:0;background:var(--green);transition:width .1s linear;pointer-events:none}[dir=rtl] .reveal__next-fill{inset-inline-start:auto;inset-inline-end:0}.reveal__next-label{position:relative}.reveal__next--results{background:var(--blue);color:#fff}.verdict{grid-row:1;align-self:start;font-family:var(--heading);font-size:1.5rem;letter-spacing:1px;white-space:nowrap;padding:2px 12px;color:#fff;border:3px solid var(--ink);border-radius:10px;box-shadow:3px 3px 0 var(--ink);rotate:-3deg;animation:pop .3s ease-out}.verdict__points{direction:ltr;unicode-bidi:isolate}.verdict--correct{background:var(--green)}.verdict--wrong,.verdict--timeout{background:var(--red)}.verdict__short{display:none}.reveal__headline{flex-shrink:0;font-family:var(--heading);font-size:1.3rem;letter-spacing:1px;text-align:center}.reveal__text .reveal__headline{display:block}.reveal--ended{flex-wrap:wrap;justify-content:center}.reveal--ended .reveal__text{flex-basis:100%}.reveal--ended .reveal__headline{width:100%;text-align:center}.reveal--ended .reveal__actions{margin-inline:auto}.reveal__summary{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:.95rem}.reveal__text{flex:1;min-width:0;white-space:normal}.reveal__story{margin:0;font-size:.95rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.karaoke.is-playing .karaoke__fill{background-image:linear-gradient(90deg,var(--red) var(--karaoke-pct),#9a9488 var(--karaoke-pct));-webkit-background-clip:text;background-clip:text;color:transparent}.karaoke--rtl.is-playing .karaoke__fill{background-image:linear-gradient(270deg,var(--red) var(--karaoke-pct),#9a9488 var(--karaoke-pct))}.karaoke__word.is-current{background:var(--yellow);border-radius:3px}.speak-btn{display:inline-flex;align-items:center;justify-content:center;width:1.45em;height:1.45em;margin-inline-start:.35em;padding:0;vertical-align:-.28em;border:2px solid var(--ink);border-radius:999px;background:#fff;color:var(--ink);box-shadow:2px 2px 0 var(--ink);cursor:pointer;line-height:1}.speak-btn:hover,.speak-btn.is-playing{background:var(--yellow)}.speak-btn.is-loading{opacity:.55}.speak-btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}.speak-btn__icon{width:.95em;height:.95em;display:block}.speak-btn__wave{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;opacity:.4}.speak-btn.is-playing .speak-btn__wave{animation:speak-pulse .7s ease-in-out infinite}.speak-btn.is-playing .speak-btn__wave--outer{animation-delay:.15s}@keyframes speak-pulse{0%{opacity:.2}to{opacity:1}}.card__details{display:grid;gap:4px;font-size:.85rem;line-height:1.3;animation:pop .3s ease-out}.card__details p{margin:0}.gameover{text-align:center}.gameover__champion{font-size:1.2rem;font-weight:800;color:var(--green)}.gameover__score{font-family:var(--heading);font-size:2rem;letter-spacing:1px;margin:0 0 8px}.gameover__new{display:inline-block;font-weight:800;background:var(--yellow);border:3px solid var(--ink);border-radius:8px;padding:6px 14px;margin:0 0 8px;animation:pulse .7s infinite alternate}.gameover__table-title{font-family:var(--heading);font-size:1.5rem;letter-spacing:1px;margin:16px 0 8px}.tabs{display:flex;gap:8px;justify-content:center;margin-bottom:16px}.tabs__tab{cursor:pointer;font-family:var(--heading);font-size:1.3rem;letter-spacing:1px;padding:6px 18px;background:#fff;border:3px solid var(--ink);border-radius:10px}.tabs__tab.is-selected{background:var(--red);color:#fff}.scores{width:100%;border-collapse:collapse;background:#fff;border:3px solid var(--ink)}.scores th,.scores td{padding:8px 10px;border-bottom:2px solid #ddd;text-align:center}.scores th{background:var(--ink);color:#fff}.scores__score{font-weight:800}.scores tr.is-highlight td{background:var(--yellow);font-weight:800}.scores__remove-col{width:36px;padding-inline:4px}.scores__remove{display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border:none;border-radius:6px;background:transparent;color:#000;cursor:pointer;opacity:0;box-shadow:none}.scores tr:hover .scores__remove,.scores tr:focus-within .scores__remove{opacity:1}@media(hover:none){.scores__remove{opacity:1}}@media(hover:hover){.scores__remove:hover{background:#eee;transform:none;box-shadow:none}}.scores__empty{text-align:center;font-size:1.1rem}.start{position:relative;padding-bottom:40px}.app-version{position:absolute;inset-inline:0;bottom:6px;margin:0;text-align:center;font-size:.7rem;color:var(--ink);opacity:.55;pointer-events:none}.app-version>span{pointer-events:auto;cursor:default;-webkit-user-select:none;user-select:none}@media(orientation:portrait)and (max-width:600px){.tabs{gap:6px}.tabs__tab{flex:1 1 0;min-width:0;padding:6px 4px;font-size:1.05rem;line-height:1.1}.scores{font-size:.85rem}.scores th,.scores td{padding:6px 3px}.scores th{font-size:.8rem;line-height:1.15}.scores__player{gap:4px}.scores__player .picker__avatar{width:26px;height:26px;font-size:.75rem}.scores__when{font-size:.72rem}.scores__remove-col{width:28px;padding-inline:0}}.difficulty--two{grid-template-columns:repeat(2,1fr)}.difficulty__option--solo.is-selected{background:#a5d8ff}.difficulty__option--h2h.is-selected{background:#ffc9a8}.fab{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom));z-index:10;width:76px;height:76px;border-radius:50%;border:3px solid var(--ink);color:#fff;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-family:var(--heading);font-size:.95rem;letter-spacing:1px;cursor:pointer;transition:transform .15s ease}@media(hover:hover){.fab:hover{transform:translate(-2px,-2px) scale(1.05)}}.fab--explore{right:calc(24px + env(safe-area-inset-right));background:linear-gradient(145deg,#4c9bff,var(--blue))}.fab--scores{left:calc(24px + env(safe-area-inset-left));background:linear-gradient(145deg,#a970ff,#7b3fe4)}.fab__icon{font-size:1.5rem;line-height:1;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}.explore__pickers{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:end;margin-bottom:12px}.explore__picker{margin:0;width:100%;max-width:320px;justify-self:center}.picker{position:relative}.picker__button{display:flex;align-items:center;gap:10px;background:#fff;cursor:pointer;text-align:start}.picker__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker__caret{font-size:.9rem}.picker__avatar{flex-shrink:0;width:34px;height:34px;display:grid;place-items:center;overflow:hidden;font-family:var(--heading);background:var(--yellow);border:2px solid var(--ink);border-radius:50%}.picker__avatar img{width:100%;height:100%;object-fit:cover;object-position:top}.picker__popover{position:absolute;z-index:20;top:100%;inset-inline:0;margin-top:6px;padding:8px;background:var(--paper);border:3px solid var(--ink);border-radius:12px;box-shadow:var(--shadow)}.picker__search{font-size:1rem;padding:8px 10px}.picker__list{list-style:none;margin:8px 0 0;padding:0;max-height:320px;overflow-y:auto}.picker__list ul{list-style:none;margin:0;padding:0}.picker__group{font-family:var(--heading);letter-spacing:1px;font-size:.95rem;padding:6px 8px 2px;color:#666}.picker__option{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:8px;cursor:pointer}.picker__option.is-active{background:var(--yellow)}.picker__option.is-selected{font-weight:800}.picker__empty{padding:10px 8px;color:#666}.reveal--explore{white-space:normal;flex-wrap:wrap;padding:8px 14px;margin-bottom:8px}.reveal--explore .reveal__headline{flex-basis:100%}.reveal--explore .speak-btn{position:absolute;bottom:8px;inset-inline-end:10px;width:32px;height:32px;margin:0}.reveal--explore .reveal__story{flex-basis:100%;font-size:1.05rem;display:block}.reveal--explore .reveal__summary{flex-basis:100%;overflow:visible;font-size:.85rem;color:#555;padding-inline-end:40px}.explore .arena{margin-top:36px}.explore .flip.is-flipped .flip__back{position:absolute;top:0;inset-inline-start:0;width:100%;height:auto;min-height:100%}.flip{flex:1;display:flex;perspective:1600px}.flip__inner{flex:1;display:grid;transform-style:preserve-3d;transition:transform .6s ease}.flip.is-flipped .flip__inner{transform:rotateY(180deg)}.flip__front,.flip__back{grid-area:1 / 1;position:relative;display:flex;flex-direction:column;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:visibility 0s linear .3s}.flip.is-flipped .flip__front,.flip:not(.is-flipped) .flip__back{visibility:hidden}.flip__back{transform:rotateY(180deg);pointer-events:none}.flip.is-flipped .flip__back{pointer-events:auto}.flip.is-flipped .flip__front{pointer-events:none}button.card__power{padding:0;cursor:pointer}.card-edit{position:absolute;top:10px;left:10px;z-index:2;width:40px;height:40px;border-radius:50%;border:3px solid var(--ink);background:#fff;box-shadow:2px 2px 0 var(--ink);font-size:1.1rem;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;cursor:pointer;opacity:0;transform:scale(.8);transition:opacity .15s,transform .15s}.flip__front:hover .card-edit,.card-edit:focus-visible{opacity:1;transform:scale(1)}@media(hover:none){.card-edit{opacity:1;transform:scale(1)}}.bio{position:relative;flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--paper);border:4px solid var(--ink);border-radius:14px;box-shadow:6px 6px 0 var(--ink)}.bio__title{margin:0;padding-inline-end:36px;font-family:var(--heading);font-size:1.5rem;letter-spacing:1px}.bio p{margin:0;line-height:1.35}.bio__story{line-height:1.4}.bio__x,.editor__x{position:absolute;color:var(--ink);top:10px;inset-inline-end:10px;z-index:1;width:28px;height:28px;padding:0;border:3px solid var(--ink);border-radius:50%;background:#fff;box-shadow:2px 2px 0 var(--ink);font:700 1.3rem/1 var(--body);cursor:pointer}.bio__footer{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:10px}.bio__link{font-weight:800;color:var(--blue);text-align:center}.card-custom{margin-inline-start:auto;padding:3px 10px;font-family:var(--body);letter-spacing:0;border:2px solid var(--ink);border-radius:999px;background:#a970ff;color:#fff;font-size:.8rem;font-weight:700;white-space:nowrap;box-shadow:2px 2px 0 var(--ink);cursor:pointer}.editor{position:relative;flex:1;display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--paper);border:4px solid var(--ink);border-radius:14px;box-shadow:6px 6px 0 var(--ink);overflow-y:auto}.editor__title{display:flex;align-items:center;gap:8px;margin:0;padding-inline-end:36px;font-family:var(--heading);font-size:1.5rem;letter-spacing:1px}.editor__field{display:flex;flex-direction:column;gap:4px}.editor__field .field__label,.editor__rules .field__label{font-size:.95rem}.editor__field .field__label strong{font-family:var(--body)}.editor__select{padding:8px 10px;font-size:1rem}.editor__tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.editor__tier{padding:6px 4px;border:3px solid var(--ink);border-radius:10px;background:#fff;font:inherit;font-weight:700;cursor:pointer}.editor__range{width:100%;accent-color:var(--blue)}.editor__actions{display:flex;gap:8px;margin-top:auto}.editor__actions .btn{flex:1}.editor__rules{display:flex;flex-direction:column;gap:6px}.editor__rules-empty{margin:0;font-size:.85rem;opacity:.7}.editor__rules-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.editor__rules-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:6px 8px;border:2px solid var(--ink);border-radius:8px;background:#fff;font-size:.85rem}.bio__rules .editor__rules-list li{flex-wrap:nowrap;align-items:center}.bio__rules .editor__rules-reason{flex:1;flex-basis:auto;min-width:0}.bio__fighter{display:flex;flex-direction:column;align-items:center;gap:2px;margin:0}.bio__fighter figcaption{font-size:.8rem;font-weight:700;text-align:center;line-height:1.1}.editor__rules-reason,.editor__rules-note{flex-basis:100%;opacity:.8}.editor__rules-note{font-weight:700}.editor__rules-remove{margin-inline-start:auto;border:none;background:none;font:inherit;font-size:.8rem;text-decoration:underline;cursor:pointer}.editor__rules-add,.editor__rules-list li{display:flex;flex-wrap:nowrap;align-items:center;gap:8px}.editor__rules .editor__rules-list li{display:flex}.editor__rules-face{display:flex;align-items:center;gap:8px;flex:0 1 auto;min-width:0}.editor__rules .editor__rules-list li strong{flex:0 1 auto}.editor__rules-badge{flex-shrink:0;padding:2px 8px;border:2px solid var(--ink);border-radius:999px;color:#fff;font-size:.75rem;font-weight:700;line-height:1.2;white-space:nowrap}.editor__rules-badge--win{background:var(--green)}.editor__rules-badge--lose{background:var(--red)}.editor__rules-badge--draw{background:#8a8a8a}.editor__rules .editor__rules-minus{margin-inline-start:auto}.editor__rules-choices{display:flex;gap:4px;flex-shrink:0}button.editor__rules-badge{cursor:pointer}.editor__rules-add .editor__rules-who{flex:0 1 auto}.editor__rules-add .picker__avatar{filter:grayscale(1);opacity:.45}.editor__rules-add .editor__rules-badge{opacity:.4}.editor__rules-list li strong,.editor__rules-who{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor__rules-plus,.editor__rules-minus{flex-shrink:0;width:26px;height:26px;padding:0;border:2px solid var(--ink);border-radius:50%;background:#fff;box-shadow:1px 1px 0 var(--ink);font:700 1rem/1 var(--body);cursor:pointer}.explore .actions{margin-top:20px}.names--two{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(orientation:portrait)and (max-width:600px){.names--two{grid-template-columns:1fr;gap:0}.player-name .player-name__list{max-height:min(240px,25vh)}}.player-slot{display:flex;align-items:center;gap:10px}.player-slot .field__input{flex:1;min-width:0}.picker--compact .picker__popover{inset-inline:0 auto;width:min(320px,80vw)}.picker__button--compact{padding:0;border:none;background:none;border-radius:50%;cursor:pointer}.picker__button--compact .picker__avatar{width:52px;height:52px;border-width:3px;box-shadow:2px 2px 0 var(--ink);font-size:1.4rem}@media(hover:hover){.picker__button--compact:hover .picker__avatar{transform:scale(1.06)}}.picker__avatar--empty{background:#fff;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}.player-name{flex:1;min-width:0}.player-slot .player-name__input,.player-name__select{width:100%}.player-name__placeholder{color:#888}.player-name__new{position:sticky;bottom:0;margin-top:4px;padding-top:8px;background:var(--paper);border-top:2px dashed #ccc;border-radius:0 0 8px 8px;font-weight:800}.player-name__plus{display:inline-grid;place-items:center;flex:none;width:28px;height:28px;border:2px solid var(--ink);border-radius:50%;background:var(--green);color:#fff;font-size:1.2rem;line-height:1}.player-name__list{position:relative;max-height:240px;margin-top:4px}.picker__popover--up{top:auto;bottom:100%;margin:0 0 6px}.player-name__forget{padding:0 4px;border:none;background:none;font-size:1.2rem;line-height:1;color:#888;cursor:pointer}.player-name__forget:hover{color:var(--red)}.history__side .picker__avatar,.hud .picker__avatar{width:28px;height:28px;font-size:.8rem}.scores__player .picker__avatar{width:36px;height:36px;font-size:1rem}.hud__who,.hud__player,.scores__player{display:inline-flex;align-items:center;gap:8px}.history__side .picker__avatar{display:inline-grid;vertical-align:middle;margin-inline-end:4px;width:22px;height:22px}.hud__player{opacity:.55;transition:opacity .2s}.hud__player.is-current{opacity:1}.gameover__missed{margin:0 0 12px;font-size:1.1rem}.versus-scores{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}.versus-scores__player{display:flex;flex-direction:column;align-items:center;padding:12px;background:#fff;border:3px solid var(--ink);border-radius:12px;box-shadow:var(--shadow)}.versus-scores__player.is-winner{background:var(--yellow);transform:scale(1.05)}.match-score{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 16px;background:var(--ink);color:#fff;border-radius:12px;font-size:1.2rem;font-weight:800}.match-score__player{display:inline-flex;align-items:center;gap:8px}.match-score__player.is-leader{color:var(--yellow)}.match-score .picker__avatar{width:32px;height:32px;font-size:.9rem}.match-score__wins{font-family:var(--heading);font-size:2.4rem;letter-spacing:2px;color:var(--yellow)}.history__side{display:inline-block;white-space:nowrap;padding:1px 8px;margin-inline-end:6px;background:#f1f3f5;border:2px solid var(--ink);border-radius:999px}.panel--wide{max-width:760px}.versus-scores__name{font-weight:800;font-size:1.2rem}.versus-scores__score{font-family:var(--heading);font-size:3rem}@keyframes slide-in{0%{opacity:0;transform:translateY(24px) scale(.92)}to{opacity:1;transform:none}}@keyframes pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.06)}to{transform:scale(1);opacity:1}}@keyframes pulse{0%{transform:scale(1)}to{transform:scale(1.03)}}@keyframes wobble{0%,to{transform:rotate(-6deg) scale(1)}50%{transform:rotate(6deg) scale(1.08)}}@media(max-width:640px){.header__logo{height:68px}.arena{grid-template-columns:1fr}.explore__pickers{grid-template-columns:1fr 1fr}.explore__random{grid-column:1 / -1;grid-row:2}.fighter{max-width:300px;width:100%;margin:0 auto}.arena__middle{display:flex;justify-content:center;align-items:center}.vs{width:72px;height:72px;font-size:2.5rem}.difficulty{grid-template-columns:1fr}.hud{font-size:.95rem}}@media(orientation:landscape)and (max-height:500px){.app--landscape{height:100vh;height:100dvh;padding:6px max(12px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}}@media(orientation:landscape)and (max-height:500px){body,body *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.app--landscape{max-width:none;margin:0;display:flex;flex-direction:column;overflow:hidden auto}.app--landscape .header{display:none}.app--landscape .main{flex:1;min-height:0;display:flex;flex-direction:column}.app--landscape .main>*{flex:1;min-height:0}.app--landscape .duel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,1fr);grid-template-rows:auto auto auto minmax(0,1fr);grid-template-areas:"hud hud hud" "left question right" "left status right" "left middle right";column-gap:14px;row-gap:6px}.app--landscape .duel.duel--solo{grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"hud hud hud" "left status right" "left middle right"}.app--landscape .duel.duel--solo.duel--revealed{grid-template-rows:auto auto auto minmax(0,1fr);grid-template-areas:"hud hud hud" "left badge right" "left status right" "left middle right"}.app--landscape .duel .hud{grid-area:hud;padding:5px 14px;font-size:.9rem;border-radius:10px}.app--landscape .hud__difficulty{font-size:1.05rem}.app--landscape .hud__score{font-size:1.15rem}.app--landscape .status-slot{grid-area:status;min-height:0;margin:4px 0 0}.app--landscape .duel__question{grid-area:question;font-size:1.6rem;margin:0}.app--landscape .duel--revealed .duel__question{display:none}.app--landscape .arena{display:contents}.app--landscape .fighter{grid-row:2 / -1;max-width:none;min-height:0;margin:0;gap:0}.app--landscape .fighter:first-child{grid-column:1}.app--landscape .fighter:last-child{grid-column:3}.app--landscape .arena__middle{grid-area:middle;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:0}.app--landscape .arena__stack{align-self:center}.app--landscape .vs{width:64px;height:64px;font-size:2.3rem}.app--landscape .duel--revealed .vs{display:none}.app--landscape .arena__middle .btn--answer{align-self:center;min-width:140px;font-size:1.15rem;padding:8px 18px}.app--landscape .verdict{align-self:center;font-size:1.3rem}.app--landscape .duel--revealed{grid-template-rows:auto auto auto auto minmax(0,1fr);grid-template-areas:"hud hud hud" "left badge right" "left question right" "left status right" "left middle right"}.app--landscape .duel--revealed .arena__middle{display:contents}.app--landscape .duel--revealed .verdict{grid-area:badge;justify-self:center;align-self:center}.app--landscape .duel--revealed .arena__stack{grid-area:middle;justify-self:center;align-self:center}.app--landscape .replay__arrow{width:34px;height:34px;font-size:1.4rem}.app--landscape .fighter .card,.app--landscape .flip,.app--landscape .flip__inner,.app--landscape .flip__front,.app--landscape .flip__back{min-height:0}.app--landscape .flip__inner{grid-template-rows:minmax(0,1fr)}.app--landscape .card{border-width:3px;border-radius:12px;box-shadow:4px 4px 0 var(--ink)}.app--landscape .card__image{flex:1;min-height:0;max-height:none;aspect-ratio:auto}.app--landscape .card__name{font-size:1.2rem;padding:4px 38px 4px 8px;border-top-width:3px}.app--landscape .card__ability-icon{width:28px;height:28px;font-size:1rem}.app--landscape .card__power{width:46px;height:46px;font-size:1.5rem}.app--landscape .card__traits{gap:4px;padding:5px;font-size:.75rem}.app--landscape .trait{padding:2px 8px}.app--landscape .trait__element{font-size:.65rem}.app--landscape .card__details{display:none}.app--landscape .card--winner{transform:scale(1.02)}.app--landscape .card--ring-green{box-shadow:0 0 0 4px var(--green),4px 4px 0 4px var(--ink)}.app--landscape .card--ring-red{box-shadow:0 0 0 4px var(--red),4px 4px 0 4px var(--ink)}.app--landscape .card--ring-blue{box-shadow:0 0 0 4px var(--blue),4px 4px 0 4px var(--ink)}.app--landscape .card--loser{transform:scale(.97) rotate(-1.5deg)}.app--landscape .duel .reveal{flex-wrap:wrap;justify-content:flex-end;gap:6px;padding:8px 10px 10px;white-space:normal}.app--landscape .duel .reveal__actions{margin-inline:auto}.app--landscape .duel .reveal__text{flex-basis:100%}.app--landscape .reveal__headline{font-size:1.15rem}.app--landscape .duel .reveal__story{font-size:.85rem;-webkit-line-clamp:4}.app--landscape .timer{height:30px}.app--landscape .timer__text{font-size:1.1rem}.app--landscape .duel.explore{grid-template-rows:auto minmax(0,1fr) auto auto;grid-template-areas:"pick-left random pick-right" "left story right" "left middle right" "left actions right"}.app--landscape .explore__pickers{display:contents}.app--landscape .explore__picker{max-width:none}.app--landscape .explore__picker:first-child{grid-area:pick-left}.app--landscape .explore__picker:last-child{grid-area:pick-right}.app--landscape .explore__picker .field__label{display:none}.app--landscape .explore__picker .picker__button{padding:5px 10px;font-size:1rem}.app--landscape .explore__picker .picker__avatar{width:28px;height:28px}.app--landscape .picker__list{max-height:190px}.app--landscape .explore__random{grid-area:random;align-self:center;justify-self:center;padding:6px 14px}.app--landscape .duel .reveal--explore{grid-area:story;align-self:start;justify-content:flex-start;max-height:100%;overflow-y:auto;margin:0;padding:8px 12px;animation:none}.app--landscape .reveal--explore .reveal__headline{font-size:1.1rem}.app--landscape .reveal--explore .reveal__story{font-size:.9rem}.app--landscape .reveal--explore .reveal__summary{font-size:.75rem}.app--landscape .reveal--explore .speak-btn{bottom:6px;width:28px;height:28px}.app--landscape .explore .fighter{grid-row:2 / -1}.app--landscape .explore .actions{grid-area:actions;margin:0}.app--landscape .explore .actions .btn{padding:6px 16px}.app--landscape .card-edit{width:34px;height:34px;top:6px;left:6px}.app--landscape .bio{border-width:3px;padding:10px;box-shadow:4px 4px 0 var(--ink)}.app--landscape .editor{overflow-y:auto;gap:6px;padding:10px;border-width:3px}.app--landscape .editor__title{font-size:1.15rem}.app--landscape .editor .field__input,.app--landscape .editor__select{padding:4px 8px;font-size:1rem}.app--landscape .editor__tier{padding:3px;font-size:.85rem}.app--landscape .panel{flex:none;width:100%;max-width:720px;margin:auto;padding:14px 18px;box-shadow:5px 5px 0 var(--ink)}.app--landscape .gameover .actions{margin-top:10px}.app--landscape .gameover--h2h{max-height:100%;overflow:hidden;padding:8px 14px;display:flex;flex-direction:column;justify-content:center}.app--landscape .gameover--h2h .panel__title{font-size:1.35rem;margin-bottom:2px}.app--landscape .gameover--h2h .gameover__score{font-size:1.15rem;margin:0}.app--landscape .gameover--h2h .gameover__missed{margin:2px 0 0;font-size:.85rem}.app--landscape .gameover--h2h .versus-scores{margin-top:6px;gap:8px}.app--landscape .gameover--h2h .versus-scores__player{padding:4px 8px;box-shadow:3px 3px 0 var(--ink)}.app--landscape .gameover--h2h .versus-scores__player.is-winner{transform:none}.app--landscape .gameover--h2h .versus-scores__name{font-size:.95rem}.app--landscape .gameover--h2h .versus-scores__score{font-size:1.6rem;line-height:1}.app--landscape .gameover--h2h .gameover__table-title{font-size:.95rem;margin:6px 0 4px}.app--landscape .gameover--h2h .match-score{padding:4px 12px;gap:10px;font-size:1rem}.app--landscape .gameover--h2h .match-score__wins{font-size:1.6rem}.app--landscape .gameover--h2h .match-score .picker__avatar{width:26px;height:26px}.app--landscape .gameover--h2h .actions{margin-top:8px;gap:8px}.app--landscape .gameover--h2h .btn{padding:4px 14px;font-size:.95rem}.app--landscape .gameover--h2h .btn--big{font-size:1.2rem;padding:4px 18px}.app--landscape .gameover--h2h .fab{width:52px;height:52px;bottom:calc(8px + env(safe-area-inset-bottom));font-size:.7rem}.app--landscape .gameover--h2h .fab--scores{left:calc(8px + env(safe-area-inset-left))}.app--landscape .gameover--h2h .fab__icon{font-size:1.15rem}.app--landscape:has(.start) .header{display:flex;flex:none;margin-bottom:4px}.app--landscape:has(.start) .header__logo{height:36px}.app--landscape:has(.start) .header__subtitle{display:none}.app--landscape .start{flex:1;min-height:0;width:100%;max-width:none;margin:0;padding:8px 80px 10px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-rows:auto auto auto;grid-template-areas:"mode difficulty" "names ." "play play";column-gap:40px;row-gap:0;align-items:center;align-content:space-evenly;overflow:hidden}.app--landscape .start>.start__mode{grid-area:mode;margin:0}.app--landscape .start>.names{grid-area:names}.app--landscape .start>.start__difficulty{grid-area:difficulty;margin:0}.app--landscape .start>.actions{grid-area:play;align-self:center;justify-content:center;margin:0}.app--landscape .start .field{margin-bottom:0}.app--landscape .start .field__label{font-size:1rem;margin-bottom:4px}.app--landscape .start .field__input{padding:4px 10px}.app--landscape .start .picker__button--compact .picker__avatar{width:40px;height:40px}.app--landscape .start .difficulty--modes{grid-template-columns:1fr 1fr;justify-content:stretch}.app--landscape .start .difficulty--modes .difficulty__name{white-space:nowrap}.app--landscape .start .difficulty{gap:6px}.app--landscape .start .difficulty__option{padding:6px 4px;box-shadow:2px 2px 0 var(--ink)}.app--landscape .start .difficulty__option.is-selected{transform:none;box-shadow:3px 3px 0 var(--ink)}.app--landscape .start .difficulty__name{font-size:1.15rem}.app--landscape .start .difficulty__summary{margin-top:4px;font-size:.72rem;line-height:1.25;white-space:normal}.app--landscape .start>.names.names--two{grid-column:1 / -1}.app--landscape .start .player-name__list{max-height:min(150px,38vh)}.app--landscape .start>.names:not(.names--two){grid-column:1 / -1;justify-self:center;width:min(380px,100%)}.app--landscape .start .names--two{grid-template-columns:1fr 1fr;gap:10px}.app--landscape .start .names--two>.field{min-width:0}.app--landscape .start .btn--big{font-size:1.45rem;padding:6px 22px}.app--landscape .start .fab{width:58px;height:58px;bottom:calc(8px + env(safe-area-inset-bottom));font-size:.72rem}.app--landscape .start .fab__icon{font-size:1.2rem}}@media(orientation:portrait)and (max-width:600px){.app{height:100vh;height:100dvh;max-width:none;margin:0;display:flex;flex-direction:column;overflow:hidden;padding:calc(8px + env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.app--scores{height:auto;min-height:100vh;min-height:100dvh;overflow:auto}.header{flex:none;margin-bottom:8px}.header__logo{height:52px}.header__subtitle{font-size:1.05rem}.main{flex:1;min-height:0;display:flex;flex-direction:column}.main>*{flex:1;min-height:0}.panel{padding:12px;margin:0;max-width:none}.field{margin-bottom:10px}.field__label{font-size:1.1rem;margin-bottom:4px}.difficulty{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.difficulty--modes{grid-template-columns:repeat(2,minmax(0,1fr))}.difficulty__option{padding:8px 4px}.difficulty__name{font-size:1.25rem}.difficulty__summary{font-size:clamp(.62rem,2.5vw,.85rem)}.actions{margin-top:10px}.fab{width:58px;height:58px;bottom:calc(10px + env(safe-area-inset-bottom))}.start{display:flex;flex-direction:column;justify-content:center;overflow:hidden}.app--landscape .header{display:none}.app--landscape:has(.start) .header{display:flex}.app--landscape:has(.start) .header__subtitle{display:none}.duel{display:flex;flex-direction:column;gap:6px;min-height:0;overflow:hidden}.duel .hud{flex:none;padding:6px 10px;font-size:.85rem}.status-slot{flex:none;min-height:0;margin:0}.duel__question{flex:none;font-size:1.35rem;margin:0}.arena{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;margin:0;flex:1;min-height:0;align-items:stretch}.fighter,.arena__middle{min-width:0;max-width:100%}.fighter{max-width:none;width:100%;min-height:0;margin:0;gap:0;overflow:hidden}.flip,.flip__inner,.flip__front,.flip__back,.card{width:100%;min-width:0;max-width:100%}.arena__middle{position:relative;display:grid;grid-template-rows:1fr auto 1.35fr;justify-items:center;align-items:center;gap:0;min-height:0}.arena__middle .vs{grid-row:2;align-self:center}.arena__middle .arena__stack{grid-row:3;align-self:center;justify-self:center}.vs{width:48px;height:48px;font-size:1.6rem}.arena__middle .btn--answer{min-width:0;padding:6px 8px;font-size:.9rem}.fighter .card,.flip,.flip__inner,.flip__front,.flip__back{min-height:0;height:100%}.card{border-width:3px;box-shadow:3px 3px 0 var(--ink)}.card--winner,.card--loser{transform:none}.card__image{flex:1;min-height:0;max-height:none;aspect-ratio:auto}.card__name{font-size:.95rem;padding:8px 28px 8px 8px;border-top-width:3px}.card__ability-icon{width:26px;height:26px;font-size:.95rem;right:4px;bottom:auto;top:50%;translate:0 -50%}.card:has(.card__traits) .card__ability-icon{display:none}.card:has(.card__traits) .card__name{padding-inline:8px}.trait--ability .trait__element-name,.trait__weak-label,.verdict__long{display:none}.verdict__short{display:inline}.duel--revealed .arena__middle{min-width:max-content}.duel--revealed .verdict{position:static;grid-row:1;align-self:start;justify-self:center;margin-top:72px;translate:none;z-index:2}.duel--revealed .vs{grid-row:2}.duel--revealed .arena__stack{grid-row:3;align-self:center;justify-self:center}.card__image img{min-width:0;max-width:100%}.card__traits{gap:3px;padding:4px;font-size:.65rem}.card__details{display:none}.duel .reveal{padding:6px 8px;white-space:normal}.duel .reveal__story{-webkit-line-clamp:3;font-size:.8rem}.gameover{overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}.gameover>:first-child{margin-top:auto}.gameover>.actions{margin-bottom:auto}.gameover--h2h{padding-bottom:80px}.gameover .panel__title{font-size:1.6rem;margin-bottom:8px}.gameover__score{font-size:1.4rem}.versus-scores__score{font-size:2rem}.explore{overflow:hidden}.explore__pickers{flex:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.explore__picker .picker__button{min-width:0}.explore--editing .arena{grid-template-columns:minmax(0,1fr)}.explore--editing .arena__middle,.explore--editing .fighter:not(.fighter--editing){display:none}.explore--editing .flip.is-flipped .flip__back{height:100%;min-height:0}.explore--editing .editor{min-height:0}.explore .actions{flex:none;margin-top:6px}}.gate{display:grid;place-items:center}.gate__card{width:min(420px,100%);padding:28px 24px;background:var(--paper);border:4px solid var(--ink);border-radius:18px;box-shadow:8px 8px 0 var(--ink)}.gate__desc{margin:12px 0 18px}.gate__digits{display:grid;grid-template-columns:repeat(6,minmax(0,52px));justify-content:center;gap:8px;margin-bottom:18px;direction:ltr}.gate__digit{width:100%;aspect-ratio:3 / 3.6;text-align:center;font:inherit;font-size:1.6rem;font-weight:800;border:3px solid var(--ink);border-radius:10px;outline:none}.gate__digit:focus{box-shadow:0 0 0 4px var(--yellow)}.gate__bad{margin:0 0 12px;color:#9f1239}.games__title{margin:0;font-family:var(--heading);font-size:2.4rem;letter-spacing:1px;transform:rotate(-2deg)}.games{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}.games__card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:18px 16px 22px;background:var(--paper);border:4px solid var(--ink);border-radius:18px;box-shadow:8px 8px 0 var(--ink);cursor:pointer;color:var(--ink);transition:transform .08s,box-shadow .08s}@media(hover:hover){.games__card:hover{transform:translate(-2px,-2px);box-shadow:10px 10px 0 var(--ink)}}.games__card:active{transform:translate(4px,4px);box-shadow:2px 2px 0 var(--ink)}.games__logo{width:min(100%,280px);height:120px;object-fit:contain}.games__logo--spark{height:110px;width:min(100%,340px);border-radius:12px}.games__name{font-family:var(--heading);font-size:1.8rem;letter-spacing:1px}.games__desc{font-size:1rem;font-weight:600}.games__card--spark{background:#ffe566}@media(max-width:640px){.games{grid-template-columns:1fr}}@media(orientation:landscape)and (max-height:500px){.app--games{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.app--games .games{min-height:0}.app--games .games__card{padding:10px;box-shadow:4px 4px 0 var(--ink)}.app--games .games__logo,.app--games .games__logo--spark{height:64px}.app--games .games__name{font-size:1.3rem}}.picker--spark .picker__popover{width:auto;min-width:248px}.spark-avatars{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0;padding:4px;list-style:none}.spark-avatars__option{width:56px;height:56px;padding:0;border-radius:50%;border:3px solid var(--ink);overflow:hidden;cursor:pointer;background:#fff}.spark-avatars__option img{width:100%;height:100%;object-fit:cover}.spark-avatars__option.is-selected{box-shadow:0 0 0 3px var(--yellow)}.app--spark{max-width:none;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.app--spark .main{flex:1;min-height:0;display:flex;flex-direction:column}.app--spark .main>.spark{flex:1;min-height:0}.spark{display:flex;flex-direction:column;gap:8px;min-height:0}.spark__hud{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--paper);border:3px solid var(--ink);border-radius:12px;padding:6px 10px;box-shadow:var(--shadow)}.spark__who{display:flex;align-items:center;gap:8px;min-width:0}.spark__name{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spark__level{font-family:var(--heading);letter-spacing:1px;background:var(--yellow);border:2px solid var(--ink);border-radius:999px;padding:2px 10px;white-space:nowrap}.spark__status{margin:0;flex:1;text-align:center;font-family:var(--heading);font-size:1.5rem;letter-spacing:1px}.spark__status--success{color:var(--green)}.spark__status--fail{color:var(--red)}.spark__meta{display:flex;align-items:center;gap:8px}.spark__score{font-family:var(--heading);font-size:1.6rem;min-width:2ch;text-align:end}.spark__stage{position:relative;flex:1;min-height:0;display:grid;place-items:center;background:#1b1f2a;border:3px solid var(--ink);border-radius:16px;padding:10px;box-shadow:var(--shadow);container-type:size;transition:background .15s ease}.spark__stage.is-success{background:#2ea043}.spark__stage.is-fail{background:#d1242f}.spark-burst{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;overflow:hidden;pointer-events:none;border-radius:13px}.spark-burst--success{background:#2ea0436b;animation:spark-splash .45s ease}.spark-burst--fail{background:#d1242f7a;animation:spark-splash .45s ease}.spark-burst__emoji{position:absolute;line-height:1;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;animation:spark-pop .55s cubic-bezier(.2,.8,.2,1) both}@keyframes spark-splash{0%{opacity:0}30%{opacity:1}to{opacity:1}}@keyframes spark-pop{0%{transform:translate(-50%,-40%) scale(.15) rotate(var(--turn));opacity:0}55%{transform:translate(-50%,-70%) scale(1.15) rotate(var(--turn));opacity:1}to{transform:translate(-50%,-50%) scale(1) rotate(var(--turn));opacity:1}}.spark__board{position:relative;display:grid;width:min(100cqw,calc(100cqh * 12 / 7));height:min(100cqh,calc(100cqw * 7 / 12));gap:8px}.spark-hop{position:absolute;z-index:4;width:0;height:0;pointer-events:none;transition:left var(--hop, .28s) cubic-bezier(.3,.75,.3,1),top var(--hop, .28s) cubic-bezier(.3,.75,.3,1)}.spark-hop__figure{position:absolute;left:0;top:0;width:54px;height:54px;margin:-48px 0 0 -27px;display:grid;place-items:center;border:3px solid #111;border-radius:50%;background:#fff;box-shadow:3px 6px #00000059;overflow:hidden;animation:spark-hop var(--hop, .28s) ease}.spark-hop__figure img{width:100%;height:100%;object-fit:cover}.spark-hop__fallback{font-size:1.6rem;line-height:1}@keyframes spark-hop{0%{transform:translateY(0) scale(1)}45%{transform:translateY(-26px) scale(1.08)}to{transform:translateY(0) scale(1)}}.spark-shape{border:3px solid #111;border-radius:12px;background:#c5c8d0;box-shadow:3px 3px #00000073;padding:0;cursor:default;transition:background .18s ease,transform .15s ease}.spark-shape.is-ready{cursor:pointer}.spark-shape.is-lit{box-shadow:inset 0 0 0 3px #ffffff8c,3px 3px #00000073}.spark-shape.is-current{transform:scale(1.05);z-index:1}.spark-shape.is-wrong{background:var(--red);animation:spark-shake .35s linear}@keyframes spark-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.spark__count{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-family:var(--heading);font-size:clamp(4rem,18vh,9rem);line-height:.85;color:#fff;text-shadow:4px 4px 0 #000;pointer-events:none}.spark__count-name{font-size:clamp(1.4rem,4vh,2.4rem);letter-spacing:1px}@media(orientation:landscape)and (max-height:500px){.spark__hud{padding:4px 8px}.spark__status{font-size:1.15rem}.spark__board{gap:5px}.spark-shape{border-width:2px;border-radius:8px}.spark-hop__figure{width:40px;height:40px;margin:-36px 0 0 -20px}}
