:root{--color-page: #ffffff;--color-surface: #ffffff;--color-surface-raised: #eef5f0;--color-border: #d6e2da;--color-text: #10261a;--color-text-muted: #5d7064;--color-brand: #0b4a2a;--color-brand-hover: #0e5d35;--color-on-brand: #ffffff;--color-accent: #f2b33d;--color-on-accent: #1b1405;--color-opponent-turn: #2b7fd0;--color-correct: #1d8a4a;--color-wrong: #d04a45;--color-board: #08734d;--color-board-line: #0f5a30;--radius-card: 14px;--radius-control: 10px;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--color-page);color:var(--color-text)}.app{min-height:100dvh;padding:0 16px 32px}.app__header{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;min-height:64px;max-width:1120px;margin:0 auto;padding:8px 0}.app__logo{display:flex;align-items:center;gap:10px;margin:0}.app__logo-icon{width:auto;height:40px}.app__logo-wordmark{width:auto;height:26px}.app__tabs{display:flex;gap:4px}.app__sign-out{margin-left:auto}.tab{padding:8px 12px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--color-text-muted);font:inherit;font-weight:600;cursor:pointer}.tab:hover:not(:disabled){color:var(--color-text)}.tab--current{border-bottom-color:var(--color-brand);color:var(--color-brand);cursor:default}.tab:disabled{opacity:.4;cursor:default}.app__main{max-width:1120px;margin:0 auto}.error-banner{max-width:1120px;margin:0 auto 16px;padding:10px 14px;border:1px solid var(--color-wrong);border-radius:var(--radius-control);background:#d9534f24}.card{display:flex;flex-direction:column;gap:16px;padding:20px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.app__main>.card{max-width:440px;margin:48px auto 0}.card__title{margin:0;font-size:1.25rem}.card__text{margin:0;color:var(--color-text-muted)}.button{padding:12px 18px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-raised);color:var(--color-text);font:inherit;font-weight:600;cursor:pointer}.button:hover:not(:disabled){border-color:var(--color-text-muted)}.button--primary{border-color:var(--color-brand);background:var(--color-brand);color:var(--color-on-brand)}.button--primary:hover:not(:disabled){border-color:var(--color-brand-hover);background:var(--color-brand-hover)}.button--quiet{padding:6px 12px;border-color:transparent;background:transparent;color:var(--color-text-muted);font-weight:400}.button:disabled{opacity:.45;cursor:default}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}:focus-visible{outline:3px solid var(--color-brand);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.game-screen{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}.game-screen__match{display:flex;flex-direction:column;gap:12px;width:min(100%,max(320px,calc(100dvh - 272px)));margin:0 auto}.game-screen__panel{display:flex;flex-direction:column;gap:16px}@media(max-width:900px){.game-screen{grid-template-columns:minmax(0,1fr)}}.scoreboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}.player-card{display:flex;align-items:center;gap:12px;padding:8px 14px;border:2px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);transition:opacity .2s ease,border-color .2s ease,background-color .2s ease,color .2s ease}.player-card--opponent{flex-direction:row-reverse;text-align:right}.player-card--you.player-card--turn{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}.player-card--opponent.player-card--turn{border-color:var(--color-opponent-turn);background:var(--color-surface-raised)}.player-card--waiting{opacity:.5}.player-card--winner{border-color:var(--color-accent)}.player-card__disc{flex:none;width:30px;height:30px;border-radius:50%}.player-card__disc--black{border:1px solid var(--color-text-muted);background:#0d0f12}.player-card__disc--white{background:#f1f3f5}.player-card__identity{display:flex;flex:1;flex-direction:column;min-width:0;line-height:1.25}.player-card__name-line{display:flex;align-items:baseline;gap:8px;min-width:0}.player-card--opponent .player-card__name-line{flex-direction:row-reverse}.player-card__name{min-width:0;overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.player-card__role{flex:none;font-size:.6875rem;letter-spacing:.06em;opacity:.7;text-transform:uppercase}.player-card__activity{font-size:.875rem;opacity:.8}.player-card--turn .player-card__activity{font-weight:700;opacity:1}.player-card--opponent.player-card--turn .player-card__activity{color:var(--color-opponent-turn);animation:activity-pulse .9s ease-in-out infinite alternate}@keyframes activity-pulse{0%{opacity:1}to{opacity:.45}}.player-card__count{font-size:1.75rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}.turn-strip{position:relative;display:flex;align-items:center;gap:12px;margin:0;padding:10px 16px;border:2px solid transparent;border-radius:var(--radius-control);font-size:1.375rem;font-weight:800;line-height:1.15;animation:turn-strip-arrive .45s ease-out}.turn-strip--yours{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}.turn-strip--theirs{flex-direction:row-reverse;border-color:var(--color-opponent-turn);background:var(--color-surface-raised);color:var(--color-opponent-turn)}.turn-strip:before{content:"";position:absolute;bottom:100%;border:9px solid transparent;border-top-width:0}.turn-strip--yours:before{left:22px;border-bottom-color:var(--color-accent)}.turn-strip--theirs:before{right:22px;border-bottom-color:var(--color-opponent-turn)}@keyframes turn-strip-arrive{0%{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:none}}.turn-strip__marker{flex:none;width:12px;height:12px;border-radius:50%;background:currentColor;animation:activity-pulse .9s ease-in-out infinite alternate}.turn-strip__headline{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-frame{container-type:inline-size}.board{display:grid;grid-template-columns:repeat(var(--board-size),minmax(0,1fr));grid-template-rows:repeat(var(--board-size),minmax(0,1fr));gap:2px;aspect-ratio:1;padding:2px;border-radius:10px;background:var(--color-board-line);overflow:hidden;transition:box-shadow .2s ease}.board--yours{--color-turn: var(--color-accent);box-shadow:0 0 0 4px var(--color-accent),0 0 22px 2px #f2b33d80}.board--theirs{--color-turn: var(--color-opponent-turn);box-shadow:0 0 0 3px var(--color-opponent-turn)}.board--size-6{gap:0;padding:0;background:url(/assets/board-CQFN3Aew.png) center / 100% 100% no-repeat}.board--size-6 .box{background:transparent}.box{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;padding:4%;border:0;border-radius:0;background:var(--color-board);font:inherit;overflow:hidden;transition:filter .15s ease}.box__icon{position:absolute;z-index:-1;inset:12.5%;width:75%;height:75%}.box--pickable{outline:3px solid rgba(255,255,255,.85);outline-offset:-3px;cursor:pointer}.box--pickable:hover,.box--pickable:focus-visible{filter:brightness(1.25)}.box--selected{outline:3px solid var(--color-accent);filter:brightness(1.25)}.box:focus-visible{outline:3px solid var(--color-accent);outline-offset:-3px}.box--opponent-option{outline:3px dashed var(--color-turn);outline-offset:-3px}.box--flip-preview:before,.box--flip-pending:before{content:"";position:absolute;inset:3%;border-radius:50%;pointer-events:none}.box--flip-preview:before{border:3px dashed;animation:flip-ring-turn 6s linear infinite}.box--flip-preview.box--flip-black:before{border-color:#0d0f12}.box--flip-preview.box--flip-white:before{border-color:#f1f3f5}.box--flip-pending:before{border:3px solid var(--color-turn);animation:flip-ring-beat .7s ease-in-out infinite alternate}@keyframes flip-ring-turn{to{transform:rotate(360deg)}}@keyframes flip-ring-beat{0%{opacity:1}to{opacity:.45}}.box--in-play{outline:3px solid var(--color-turn);outline-offset:-3px;animation:box-in-play .7s ease-in-out infinite alternate}@keyframes box-in-play{0%{filter:brightness(1)}to{filter:brightness(1.35)}}.box--last-played:after{content:"";position:absolute;top:7%;right:7%;width:10%;height:10%;border-radius:50%;background:var(--color-accent)}.disc-slot{position:absolute;z-index:-1;inset:0;animation:disc-land .25s ease-out}@keyframes disc-land{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.disc{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .5s ease}.disc--white{transform:rotateY(180deg)}.disc__face{position:absolute;inset:0;backface-visibility:hidden}.disc__face--white{transform:rotateY(180deg)}.disc__image{position:absolute;top:10.9%;left:7.4%;width:85%;height:85%}.hint{display:flex;flex-direction:column;gap:12px;padding:16px 20px;border:2px dashed var(--color-border);border-radius:var(--radius-card);color:var(--color-text-muted)}.hint__text{margin:0}.hint__box{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 0 4px;color:var(--color-text);text-align:center}.hint__box-icon{width:96px;height:96px;border-radius:50%;object-fit:cover}.hint__box-category{margin:0;color:var(--color-text-muted);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}.hint__box-subject{margin:0 0 8px;font-size:1.25rem;font-weight:700;line-height:1.25}.question{border-width:2px}.question--yours{border-color:var(--color-accent)}.question--theirs{border-color:var(--color-opponent-turn)}.question__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.question__headline{margin:0;font-size:1rem}.question__subject{padding:2px 10px;border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);font-size:.8125rem}.question__notice{margin:0;color:var(--color-text-muted);font-size:.875rem}.question__text{margin:0;font-size:1.125rem;font-weight:600;line-height:1.35}.question__answers{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.question__outcome{margin:0;font-weight:600}.answer{display:flex;align-items:baseline;gap:12px;width:100%;padding:11px 14px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-raised);color:var(--color-text);font:inherit;text-align:left}.answer:not(:disabled){cursor:pointer}.answer:not(:disabled):hover{border-color:var(--color-accent)}.answer__letter{color:var(--color-text-muted);font-weight:700}.answer--chosen{border-color:var(--color-accent)}.answer--eliminated{border-style:dashed;opacity:.45}.answer--eliminated .answer__text{text-decoration:line-through}.question__joker-notices{display:flex;flex-direction:column;gap:4px;color:var(--color-text-muted);font-size:.875rem}.question__joker-notices:empty{display:none}.question__joker-notice{margin:0}.jokers{display:flex;flex-direction:column;gap:8px}.jokers__title{margin:0;color:var(--color-text-muted);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}.jokers__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}.joker{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;height:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-raised);color:var(--color-text);font:inherit;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,opacity .15s ease}.joker:not(:disabled){cursor:pointer}.joker:not(:disabled):hover{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.joker:disabled:not(.joker--used):not(.joker--requested){opacity:.45}.joker__head{display:flex;align-items:center;gap:6px}.joker__icon{flex:none;width:18px;height:18px}.joker__label{font-weight:800}.joker__description{color:var(--color-text-muted);font-size:.75rem;line-height:1.3}.joker__status{margin-top:auto;padding:2px 8px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text-muted);font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.joker--used{border-color:var(--color-accent)}.joker--used .joker__status{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}.joker--requested .joker__status{animation:activity-pulse .9s ease-in-out infinite alternate}.history{display:flex;flex-direction:column;gap:8px;color:var(--color-text-muted);font-size:.8125rem}.history__title{margin:0;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}.history__list{display:flex;flex-direction:column;gap:6px;max-height:50dvh;margin:0;padding:0;overflow-y:auto;list-style:none}.history-entry{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-left:3px solid var(--color-border);border-radius:4px;background:var(--color-surface-raised);animation:history-entry-arrive 2.5s ease-out}.history-entry--correct{border-left-color:var(--color-correct)}.history-entry--wrong,.history-entry--timedOut{border-left-color:var(--color-wrong)}@keyframes history-entry-arrive{0%{background:var(--color-border);color:var(--color-text)}to{background:var(--color-surface-raised);color:var(--color-text-muted)}}.history-entry p{margin:0}.history-entry__summary{display:flex;align-items:center;gap:6px;font-weight:600}.history-entry__disc{flex:none;width:10px;height:10px;border-radius:50%}.history-entry__disc--black{border:1px solid var(--color-text-muted);background:#0d0f12}.history-entry__disc--white{background:#f1f3f5}.history-entry__subject{margin-right:6px;font-size:.6875rem;letter-spacing:.04em;text-transform:uppercase}.history-entry__answer:before{display:inline-block;width:1.2em;font-weight:700}.history-entry__answer--correct:before{content:"✓";color:var(--color-correct)}.history-entry__answer--wrong:before{content:"✗";color:var(--color-wrong)}.history-entry__jokers{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.history-entry__joker{display:inline-flex;align-items:center;gap:4px;padding:1px 8px 1px 6px;border:1px solid var(--color-border);border-radius:999px;font-size:.6875rem;font-weight:600}.history-entry__joker-icon{width:12px;height:12px}.timer{display:flex;align-items:center;gap:12px}.timer__track{flex:1;height:8px;border-radius:999px;background:var(--color-border);overflow:hidden}.timer__fill{height:100%;border-radius:999px;background:var(--color-accent);transition:width .1s linear}.question--theirs .timer__fill,.hint--theirs .timer__fill{background:var(--color-opponent-turn)}.timer__seconds{width:2ch;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.finish__headline{margin:0;font-size:1.25rem}.finish__ratings{display:flex;flex-direction:column;gap:6px;margin:0}.finish__rating{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.finish__rating-label{min-width:0;overflow:hidden;color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap}.finish__rating-value{flex:none;margin:0;font-weight:700;font-variant-numeric:tabular-nums}.finish__rating-change{display:inline-block;min-width:3.2em;margin-left:8px;text-align:right}.finish__rating-change--up{color:var(--color-correct)}.finish__rating-change--down{color:var(--color-wrong)}.finish__rating-change--unchanged{color:var(--color-text-muted)}.finish__rematch{margin:0;color:var(--color-text-muted)}.finish__actions{display:flex;gap:10px}.finish__actions .button{flex:1}.app__main>.leaderboard{max-width:560px}.leaderboard__table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.leaderboard__table th{padding:6px 10px;border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.leaderboard__table td{padding:8px 10px;border-bottom:1px solid var(--color-border)}.leaderboard__rank{width:3em;color:var(--color-text-muted);text-align:right}.leaderboard__player{overflow-wrap:anywhere;text-align:left}.leaderboard__number{text-align:right}.leaderboard__row--you{background:var(--color-surface-raised);font-weight:700}.leaderboard__row--you .leaderboard__rank{color:var(--color-brand)}.leaderboard__you{margin-left:8px;padding:1px 8px;border-radius:999px;background:var(--color-brand);color:var(--color-on-brand);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase}.leaderboard__gap td{padding:2px 10px;color:var(--color-text-muted);text-align:center}.name-field{display:flex;flex-direction:column;gap:6px}.name-field__label{font-size:.875rem;font-weight:600}.name-field__input{padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-page);color:var(--color-text);font:inherit}.name-field__hint{color:var(--color-text-muted);font-size:.875rem}.size-field{display:flex;flex-direction:column;gap:6px}.size-field__label{font-size:.875rem;font-weight:600}.size-field__options{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.size-option{position:relative;display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-page);cursor:pointer}.size-option__input{position:absolute;opacity:0;pointer-events:none}.size-option:has(.size-option__input:checked){border-color:var(--color-brand);background:var(--color-surface-raised)}.size-option:has(.size-option__input:focus-visible){outline:3px solid var(--color-brand);outline-offset:2px}.size-option__size{font-size:1.125rem;font-weight:700}.size-option__description{color:var(--color-text-muted);font-size:.875rem}.waiting{align-items:center;text-align:center}.waiting__discs{display:flex;gap:12px}.waiting__disc{width:28px;height:28px;border-radius:50%;animation:waiting-pulse 1.2s ease-in-out infinite alternate}.waiting__disc--black{border:1px solid var(--color-border);background:#0d0f12}.waiting__disc--white{background:#f1f3f5;animation-delay:.6s}@keyframes waiting-pulse{0%{opacity:1}to{opacity:.3}}.app__main>.questions{max-width:900px}.question-filter{display:flex;flex-direction:column;gap:8px}.question-filter__label{font-size:.875rem;font-weight:600}.question-filter__options{display:flex;flex-wrap:wrap;gap:8px}.question-filter__scroll{max-height:180px;overflow-y:auto;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-raised)}.chip{padding:6px 12px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text);font:inherit;font-size:.875rem;cursor:pointer}.chip:hover{border-color:var(--color-text-muted)}.chip--selected{border-color:var(--color-brand);background:var(--color-brand);color:var(--color-on-brand)}.questions__list{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}.question-card{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-raised)}.question-card__meta{margin:0;color:var(--color-text-muted);font-size:.8125rem}.question-card__text{margin:0;font-weight:600}.question-card__answers{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px 12px;margin:0;padding:0;list-style:none}.question-card__answer{display:flex;align-items:baseline;gap:8px;color:var(--color-text-muted)}.question-card__answer--correct{color:var(--color-correct);font-weight:600}.question-card__letter{flex:none;width:1.25em;text-transform:uppercase}.questions__pager{display:flex;align-items:center;justify-content:center;gap:16px}.questions__page-number{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.sign-in{align-items:center;text-align:center}.sign-in__button{min-height:44px}.sign-in__button--hidden{display:none}.sign-in__status{margin:0;color:var(--color-text-muted)}
