:root{--bg:#f5f3ee;--surface:#fff;--text:#2b2a28;--muted:#77736b;--accent:#769656;--border:#e2ded5;color:var(--text);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#1c1b19;--surface:#262522;--text:#ece9e2;--muted:#a39e94;--border:#3a3834}}*{box-sizing:border-box}body{background:var(--bg);margin:0}.app,.game-screen{width:min(560px,100%);margin:0 auto;padding:16px}.player-bar{align-items:center;gap:12px;margin:12px 0;display:flex}.player-info{flex:1;min-width:0}.avatar{color:#fff;border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid;position:relative}.flag{font-size:18px;line-height:1;position:absolute;bottom:-4px;right:-4px}.opponent-name{font-weight:600}.rating{color:var(--muted);font-weight:400}.thinking{color:var(--muted);font-size:14px;font-weight:400}.thinking.hidden{visibility:hidden}.speech{color:var(--muted);min-height:2.6em;font-size:14px;font-style:italic}.clock{font-variant-numeric:tabular-nums;background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:6px;flex:none;margin-left:auto;padding:6px 12px;font-family:ui-monospace,Menlo,monospace;font-size:22px;font-weight:600}.clock.active{background:var(--text);color:var(--bg)}.clock.low.active{color:#fff;background:#d32f2f;border-color:#d32f2f}.board{touch-action:none;border-radius:6px;width:100%;position:relative;overflow:hidden;box-shadow:0 4px 16px #00000026}.game-screen,.board{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.captured{align-items:center;height:22px;margin-top:2px;display:flex}.captured-piece{width:20px;height:20px;display:inline-block}.captured-piece.stacked{margin-left:-10px}.advantage{color:var(--muted);margin-left:6px;font-size:14px;font-weight:600}.status{margin:0;font-size:18px;font-weight:600}.moves{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;gap:4px 16px;margin:16px 0 0;padding:12px;font-family:ui-monospace,Menlo,monospace;font-size:14px;list-style:none;display:flex}.move-number{color:var(--muted)}.moves button{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:1px 4px}.moves button:hover{background:var(--border)}.moves button.current{color:#fff;background:var(--accent)}.review-nav{gap:8px;display:flex}.review-nav button{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:8px;flex:1;padding:8px 0;font-size:22px;line-height:1}.review-nav .resign{color:#d32f2f;flex:1.6;font-size:15px;font-weight:600}.review-nav button:disabled{opacity:.35;cursor:default}.promotion-backdrop{z-index:10;background:#00000073;place-items:center;display:grid;position:absolute;inset:0}.promotion-picker{background:var(--surface);border-radius:12px;gap:6px;padding:10px;display:flex;box-shadow:0 8px 30px #0006}.promotion-picker button{background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:8px;width:min(18vw,72px);height:min(18vw,72px);padding:6px}.promotion-picker button:hover{border-color:var(--accent)}.overlay{z-index:100;background:#00000080;place-items:center;padding:16px;animation:.2s ease-out fade-in;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);text-align:center;border-radius:12px;width:min(360px,100%);padding:24px;animation:.25s ease-out pop-in;box-shadow:0 12px 40px #00000059}.dialog h2{margin:0 0 8px;font-size:32px}.dialog.win h2{color:var(--accent)}.dialog.loss h2{color:#d32f2f}.reason{color:var(--muted);margin:0 0 16px}.dialog blockquote{margin:0 0 20px;font-style:italic}.dialog cite{color:var(--muted);margin-top:4px;font-size:14px;font-style:normal;display:block}.dialog-buttons{flex-direction:column;gap:8px;display:flex}.dialog-buttons button{font:inherit;cursor:pointer;border-radius:8px;padding:12px;font-weight:600}.dialog-buttons .primary{color:#fff;background:var(--accent);border:none}.dialog-buttons .danger{color:#fff;background:#d32f2f;border:none}.dialog .confirm-title{font-size:24px}.dialog-buttons .secondary{color:var(--text);border:1px solid var(--border);background:0 0}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:scale(.9)}}.back{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:6px 0;font-size:15px;font-weight:600}.back:hover{color:var(--text)}.menu h1{margin:24px 0 4px;font-size:32px}.subtitle{color:var(--muted);margin:0 0 24px}.color-choice{align-items:center;gap:6px;margin-bottom:16px;display:flex}.color-choice span{margin-right:6px;font-weight:600}.color-choice button{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:15px}.color-choice button.selected{color:#fff;background:var(--accent);border-color:var(--accent)}.group-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:24px 0 10px;font-size:15px;font-weight:600}.bot-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.bot-card{width:100%;font:inherit;text-align:left;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:12px;align-items:center;gap:14px;padding:14px;transition:transform .1s,border-color .1s;display:flex}.bot-card:hover{border-color:var(--accent);transform:translateY(-1px)}.bot-card-text{flex:1;min-width:0}.bot-bio{color:var(--muted);font-size:14px}.play-arrow{color:var(--accent);font-size:18px}@media (width>=900px){.game-screen{grid-template-rows:repeat(8,auto) 1fr;grid-template-columns:min(100vh - 48px,720px) minmax(300px,400px);grid-template-areas:"board back""board opponent""board lesson""board you""board nav""board hint""board dev""board moves""board.";justify-content:center;align-items:start;column-gap:28px;width:min(1180px,100%);padding:24px;display:grid}.game-screen>.back{grid-area:back;justify-self:start}.game-screen>.opponent-bar{grid-area:opponent}.game-screen>.lesson-panel{grid-area:lesson}.game-screen>.board{grid-area:board}.game-screen>.hint-row{grid-area:hint}.game-screen>.you-bar{grid-area:you}.game-screen>.review-nav{grid-area:nav}.game-screen>.dev-autowin{grid-area:dev}.game-screen>.moves{grid-area:moves;max-height:30vh;overflow-y:auto}}.lesson-panel{background:var(--surface);border:2px solid var(--accent);border-radius:12px;margin:4px 0 12px;padding:14px 16px}.lesson-header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.lesson-header .flag{font-size:14px}.lesson-progress{color:var(--muted);margin-left:auto;font-size:13px}.lesson-text{margin:0 0 12px;font-size:16px;line-height:1.5}.lesson-hint{color:#d32f2f;margin:0 0 12px;font-size:14px}.lesson-instruction{color:var(--accent);margin:0;font-size:14px;font-weight:600}.fairy-note .lesson-text{margin:6px 0 8px;font-size:15px}.fairy-legend{color:var(--muted);margin:0;font-size:13px}.lesson-continue{width:100%;font:inherit;color:#fff;background:var(--accent);cursor:pointer;border:none;border-radius:8px;padding:12px;font-weight:600}.lesson-continue:disabled{opacity:.5;cursor:default}.home{align-items:center;gap:32px;min-height:100vh;padding:48px;display:flex;overflow-x:auto}.home-intro{height:calc(17px * 1.2 + 12px + 2 * var(--league-card-height) + var(--league-gap));flex:0 0 360px}.home-intro .back{margin-top:-6px}.home-intro h1{margin:0 0 12px;font-size:44px;line-height:1.1}.home-intro p{color:var(--muted);margin:0 0 24px;font-size:17px;line-height:1.5}.dev-link{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.stage{flex:none}.home{--league-card-height:180px;--league-gap:14px}.championship-stage{padding-top:29px}.event-card>.event-play,.event-card>.league-status{margin-top:auto}.section-title{white-space:nowrap;letter-spacing:.06em;text-transform:uppercase;height:17px;color:var(--muted);margin:0 0 12px;font-size:14px;font-weight:700;line-height:17px}.section-lock{letter-spacing:0;text-transform:none;font-weight:500}.stage-row{align-items:center;gap:16px;display:flex}.event-card{width:300px;height:calc(2 * var(--league-card-height) + var(--league-gap));background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;flex:none;gap:12px;padding:22px;display:flex;box-shadow:0 8px 24px #0000001f}.event-card.locked{opacity:.6}.event-place{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-size:13px;font-weight:600}.event-card h3{margin:0;font-size:22px;line-height:1.2}.event-opponent{align-items:center;gap:12px;display:flex}.event-description{color:var(--muted);margin:0;font-size:15px;line-height:1.5}.event-play{font:inherit;color:#fff;background:var(--accent);cursor:pointer;border:none;border-radius:10px;margin-top:4px;padding:13px;font-weight:700}.event-play:hover{filter:brightness(1.1)}.league-grid{grid-template-columns:repeat(3,250px);grid-auto-rows:var(--league-card-height);gap:var(--league-gap);display:grid}.league-card{height:var(--league-card-height);background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:8px;padding:14px 16px;display:flex;overflow:hidden}.league-card.unavailable{opacity:.55}.league-heading{align-items:center;gap:10px;display:flex}.league-icon{font-size:22px;line-height:1}.league-card h3{margin:0;font-size:16px}.league-card .event-description{font-size:13px;line-height:1.4}.league-footer{justify-content:space-between;align-items:center;gap:8px;margin-top:auto;display:flex}.league-card .event-play{margin:0;padding:7px 14px;font-size:13px}.league-status{color:var(--muted);font-size:13px;font-weight:600}@media (width<=800px){.home{flex-direction:column;align-items:stretch;gap:28px;padding:32px 16px;overflow-x:visible}.home-intro{flex:none;height:auto}.home-intro h1{font-size:36px}.stage-row{flex-direction:column;align-items:stretch}.event-card{width:auto;height:auto}.league-card{height:auto;min-height:var(--league-card-height)}.league-grid{grid-auto-rows:auto}.championship-stage{padding-top:0}.section-title{white-space:normal;height:auto}.league-grid{grid-template-columns:1fr}}.tournament-screen{grid-template-columns:minmax(0,1fr) minmax(300px,380px);align-items:center;gap:32px;width:min(1180px,100%);min-height:100vh;margin:0 auto;padding:24px;display:grid}.bracket-area{min-width:0}.bracket{width:100%;height:auto;display:block}.bracket-title{letter-spacing:.06em;text-transform:uppercase;fill:var(--muted);font-size:11px;font-weight:600}.bracket-line{fill:none;stroke:var(--border);stroke-width:2px}.bracket-line.decided{stroke:var(--muted)}.bracket-box{fill:var(--surface);stroke:var(--border);stroke-width:1.5px}.bracket-box.empty{fill:none;stroke-dasharray:4 3}.bracket-box.won{stroke:var(--accent);stroke-width:2px}.bracket-box.you{fill:color-mix(in srgb, var(--accent) 18%, var(--surface))}.bracket-initial{fill:#fff;font-size:11px;font-weight:700}.bracket-name{fill:var(--text);font-size:12px}.bracket-name.won{font-weight:700}.bracket-flag{font-size:12px}.bracket-unknown{fill:var(--muted);font-size:13px}.tournament-panel h1{margin:6px 0 8px;font-size:32px}.champion-banner{color:var(--text);background:color-mix(in srgb, var(--accent) 22%, var(--surface));border-radius:10px;margin:16px 0 0;padding:12px 14px;font-weight:700}.round-list{flex-direction:column;gap:12px;margin:20px 0 0;padding:0;list-style:none;display:flex}.round-item{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px}.round-item.locked{opacity:.6}.round-name{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:13px;font-weight:700}.round-won{color:var(--accent)}.round-opponent{align-items:center;gap:12px;display:flex}.round-opponent .flag{font-size:14px}.round-play{width:100%;font:inherit;color:#fff;background:var(--accent);cursor:pointer;border:none;border-radius:8px;margin-top:12px;padding:10px;font-weight:700}.round-play.secondary{color:var(--text);border:1px solid var(--border);background:0 0}.round-locked{color:var(--muted);margin:12px 0 0;font-size:14px}.avatar.silhouette{background:#55524c;place-items:end center;overflow:hidden}.avatar.silhouette svg{fill:#141414;width:80%;height:80%;display:block}.avatar-stack{display:flex}.avatar-stack .avatar+.avatar{box-shadow:0 0 0 2px var(--surface);margin-left:-8px}@media (width<=900px){.tournament-screen{grid-template-columns:1fr;align-items:start;padding:16px}.tournament-panel{order:-1}}.dev-autowin,.dev-reset{width:100%;font:inherit;color:#e08a1e;cursor:pointer;background:0 0;border:1px dashed #e08a1e;border-radius:8px;margin-top:10px;padding:8px;font-size:14px;font-weight:600}.dev-autowin:disabled{opacity:.4;cursor:default}.puzzle-intro{background:var(--surface);border:1px solid var(--border);border-radius:16px;justify-self:center;max-width:520px;padding:28px}.puzzle-intro-icon{font-size:44px}.puzzle-intro h2{margin:8px 0 12px}.puzzle-intro ul{color:var(--text);margin:0 0 16px;padding-left:20px;line-height:1.6}.puzzle-credit{color:var(--muted);margin:0;font-size:13px}.puzzle-credit a{color:var(--accent)}.puzzle-dots{gap:6px;margin:0 0 10px;padding:0;list-style:none;display:flex}.puzzle-dots li{background:var(--border);border-radius:50%;width:18px;height:18px}.puzzle-dots li.current{box-shadow:0 0 0 2px var(--accent)}.puzzle-dots li.solved{background:var(--accent)}.puzzle-dots li.missed{background:#d32f2f}.puzzle-score{color:var(--muted);margin:0;font-size:14px}.puzzle-message.solved{color:var(--accent)}.puzzle-message.missed{color:#d32f2f}.puzzle-next{margin-top:4px}@media (width>=900px){.game-screen>.puzzle-next{grid-area:nav}}.loading{text-align:center;color:var(--muted);padding:48px}.simul-screen{width:min(1400px,100%);margin:0 auto;padding:16px}.simul-header{flex-wrap:wrap;align-items:baseline;gap:8px 20px;margin-bottom:12px;display:flex}.simul-header h1{margin:0;font-size:24px}.simul-score{color:var(--muted);margin:0}.simul-score strong{color:var(--text);font-size:20px}.simul-boards{grid-template-columns:1fr;gap:20px;display:grid}@media (width>=900px){.simul-boards{grid-template-columns:repeat(3,minmax(0,1fr))}.simul-boards.boards-2,.simul-boards.boards-4{grid-template-columns:repeat(2,minmax(0,1fr))}}.simul-board{justify-self:center;width:100%;min-width:0;max-width:calc(100vh - 230px)}.simul-board .player-bar{margin:0 0 8px}.simul-board .speech{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.6em;font-size:13px;display:-webkit-box;overflow:hidden}.simul-board .board{outline-offset:2px;outline:3px solid #0000;transition:outline-color .2s}.simul-board.your-turn .board{outline-color:var(--accent)}.simul-board.win .board,.simul-board.loss .board,.simul-board.draw .board{opacity:.6}.simul-board-footer{flex-wrap:wrap;align-items:center;gap:8px;min-height:32px;margin-top:8px;display:flex}.simul-board-footer .status{margin:0;font-weight:600}.simul-board.your-turn .simul-board-footer .status{color:var(--accent)}.simul-board-footer .simul-small-button{margin-left:auto;padding:4px 10px;font-size:13px}.simul-board-footer .simul-small-button+.simul-small-button{margin-left:0}.simul-small-button.dev{color:#e0a030}.simul-opponents{color:var(--muted);flex-wrap:wrap;gap:8px 16px;margin:8px 0;font-size:14px;display:flex}.simul-opponent{align-items:center;gap:10px;display:inline-flex}.simul-board .clock{padding:3px 8px;font-size:16px}.simul-board-footer .clock{margin-left:0}.chaos-panel{border-color:var(--border)}.chaos-panel.yours{border-color:#8e44ad;box-shadow:inset 0 0 0 1px #8e44ad}.chaos-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}.chaos-rule{align-items:center;gap:10px;margin:6px 0 2px;font-size:22px;font-weight:700;display:flex}.chaos-icon{font-size:28px}.chaos-hint{color:#b37fd0;margin:6px 0 0;font-size:13px}.title-badge{color:#fff;vertical-align:.1em;background:#a0302a;border-radius:3px;margin-right:2px;padding:1px 5px;font-size:.75em;font-weight:700;line-height:1.3;display:inline-block}.bracket-title-badge{fill:#e0605a;font-weight:700}.player-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items:center;gap:12px;width:360px;max-width:100%;margin-bottom:20px;padding:12px;display:flex}.player-card-info{flex:1;min-width:0}.player-card-name{white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:700;overflow:hidden}.player-card-title{color:var(--muted);font-size:13px}.player-card-button{cursor:pointer;flex:none;padding:6px 10px;font-size:14px}.achievements-screen{width:min(640px,100%);margin:0 auto;padding:24px 16px}.achievements-header{align-items:center;gap:16px;margin:16px 0 24px;display:flex}.achievements-header h1{margin:0;font-size:30px}.achievements-summary{color:var(--muted);margin:4px 0 0}.achievement-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.achievement{border:1px solid var(--border);background:var(--surface);opacity:.55;border-radius:10px;align-items:center;gap:14px;padding:14px 16px;display:flex}.achievement.got{opacity:1;border-color:#c9a227;box-shadow:inset 0 0 0 1px #c9a227}.achievement-icon{text-align:center;width:40px;font-size:30px}.achievement-name{font-weight:700}.achievement-text{color:var(--muted);font-size:14px}.pocket{flex-wrap:wrap;align-items:center;gap:4px;min-height:34px;display:flex}.pocket-empty{color:var(--muted);font-size:13px}.pocket-piece{border:1px solid var(--border);background:var(--surface);border-radius:6px;width:34px;height:34px;padding:0;display:inline-flex;position:relative}button.pocket-piece{cursor:pointer}button.pocket-piece:hover{border-color:var(--accent)}.pocket-piece.selected{background:#64b5f673;border-color:#64b5f6}.pocket-piece svg{width:100%;height:100%}.pocket-count{background:var(--text);min-width:16px;color:var(--bg);text-align:center;border-radius:8px;padding:0 3px;font-size:11px;font-weight:700;line-height:16px;position:absolute;bottom:-4px;right:-4px}ul.fairy-legend{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}ul.fairy-legend li{align-items:center;gap:8px;font-size:14px;display:flex}.fairy-legend-piece{flex:none;width:36px;height:36px;display:inline-flex}.fairy-legend-piece svg{width:100%;height:100%}.peek-button{margin-top:10px}.icon-drawing{vertical-align:-.25em;width:1.25em;height:1.25em;display:inline-block}.icon-drawing svg{width:100%;height:100%}.title-badge.title-wc{color:#2b2208;background:linear-gradient(135deg,#f2c94c,#c9962a)}.bracket-title-badge.title-wc{fill:#e0b040}.check-counter{margin:8px 0 0;font-size:15px}.avatar-with-stars{flex-direction:column;flex:none;align-items:center;gap:4px;display:flex}.star-badges{gap:1px;line-height:0;display:flex}.round-stars{letter-spacing:1px;opacity:.35;margin-left:6px;font-size:12px}.round-stars.won{opacity:1}.section-stars{color:var(--text);letter-spacing:normal}.league-stars{white-space:nowrap}.main-menu{grid-template-columns:minmax(0,1fr) 340px;gap:28px;max-width:1280px;height:100vh;min-height:560px;margin:0 auto;padding:32px;display:grid}.menu-title{margin:0 0 20px;font-size:40px}.menu-left{flex-direction:column;min-height:0;display:flex}.menu-grid{flex:1;grid-template-rows:96px minmax(180px,1fr) minmax(180px,1fr);grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.menu-tile{color:#fff;font:inherit;text-align:left;cursor:pointer;border:none;border-radius:18px;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:6px;padding:20px 22px;transition:transform .12s,filter .12s;display:flex;position:relative;box-shadow:0 8px 24px #00000026}.menu-tile:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-2px)}.menu-tile:disabled{cursor:default}.menu-tile.small{flex-direction:row;justify-content:flex-start;align-items:center;padding:14px 20px}.menu-tile-icon{margin-bottom:auto;font-size:40px;line-height:1}.menu-tile.small .menu-tile-icon{margin:0;font-size:28px}.menu-tile-title{font-size:24px;font-weight:800;line-height:1.15}.menu-tile.small .menu-tile-title{font-size:19px}.menu-tile-text{opacity:.9;font-size:15px}.menu-tile-soon{background:#00000040;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;position:absolute;top:14px;right:14px}.menu-tile.light-blue{color:#0e2f45;background:#7cc6ec}.menu-tile.green{background:#43a047}.menu-tile.dark-green{background:#2e6b31}.menu-tile.red{background:#d64545}.menu-tile.yellow{color:#3d2e00;background:#ddb22e}.menu-chat{background:var(--surface);border:1px solid var(--border);border-radius:18px;flex-direction:column;gap:10px;min-height:0;padding:18px;display:flex}.menu-chat h2{margin:0;font-size:18px}.chat-messages{flex-direction:column;flex:1;gap:10px;min-height:200px;margin:0;padding:0 4px 0 0;list-style:none;display:flex;overflow-y:auto}.chat-messages.empty{text-align:center;justify-content:center;gap:8px}.chat-empty{color:var(--muted);text-align:center;margin:auto 0;font-size:14px}.chat-messages.empty .chat-empty{margin:0}.chat-message{align-items:flex-start;gap:8px;display:flex}.chat-avatar,.chat-name{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.chat-avatar:disabled,.chat-name:disabled{cursor:default}.chat-body{flex:1;min-width:0}.chat-meta{align-items:baseline;gap:6px;font-size:13px;display:flex}.chat-name{font-weight:700}.chat-name:not(:disabled):hover{text-decoration:underline}.chat-message.mine .chat-name{color:var(--accent)}.chat-meta time{color:var(--muted);font-size:12px}.chat-delete{cursor:pointer;opacity:.5;background:0 0;border:none;margin-left:auto;padding:0 2px;font-size:12px}.chat-delete:hover{opacity:1}.chat-text{overflow-wrap:anywhere;margin:1px 0 0;font-size:14px;line-height:1.35}.chat-notice,.chat-problem,.chat-count{color:var(--muted);margin:0;font-size:13px}.chat-problem{color:#e05252}.chat-count{text-align:right;margin-top:-6px}.chat-form{gap:6px;display:flex}.chat-input{border:1px solid var(--border);background:var(--bg);min-width:0;color:var(--text);font:inherit;border-radius:10px;flex:1;padding:10px 12px;font-size:16px}.chat-input:disabled{color:var(--muted)}.chat-send{font:inherit;color:#fff;background:var(--accent);cursor:pointer;border:none;border-radius:10px;padding:0 14px;font-weight:600}.chat-send:disabled{opacity:.45;cursor:default}@media (width<=900px){.main-menu{grid-template-columns:1fr;height:auto;padding:20px 16px}.menu-grid{grid-template-rows:80px 180px 180px;gap:12px}.menu-tile-title{font-size:19px}.menu-tile.small .menu-tile-title{font-size:15px}.menu-tile-text{display:none}.menu-tile-soon{padding:2px 8px;font-size:10px;top:8px;right:8px}.menu-tile.small{align-items:flex-end;gap:8px;padding:28px 12px 10px}.menu-tile.small .menu-tile-icon{font-size:22px}}.home.campaign-theme{background:#eaf1f7}@media (prefers-color-scheme:dark){.home.campaign-theme{background:#161b21}}.campaign-theme{--accent:#7cc6ec}.campaign-theme .event-play,.campaign-theme .round-play:not(.secondary){color:#0e2f45}.game-modes{--accent:#d64545;grid-template-columns:260px minmax(0,640px);gap:32px;max-width:1000px;margin:0 auto;padding:24px 32px;display:grid}.mode-list-panel{flex-direction:column;align-self:start;max-height:calc(100vh - 32px);display:flex;position:sticky;top:16px}.mode-list-panel .back{align-self:flex-start}.mode-list-panel h1{margin:8px 0 14px;font-size:30px}.mode-list{flex-direction:column;gap:4px;margin:0;padding:0 4px 0 0;list-style:none;display:flex;overflow-y:auto}.mode-item{width:100%;font:inherit;text-align:left;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-size:15px;font-weight:600;display:flex}.mode-item:hover{background:var(--surface)}.mode-item.selected{color:#fff;background:var(--accent)}.mode-icon{place-items:center;width:22px;display:inline-grid}.mode-detail h2{align-items:center;gap:10px;margin:44px 0 4px;font-size:26px;display:flex}.mode-text{color:var(--muted);margin:0 0 16px;line-height:1.5}.setup-choice{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.setup-choice button{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:15px}.setup-choice button.selected{color:#fff;background:var(--accent);border-color:var(--accent)}.bot-card .beaten{margin-left:6px}.simul-slots{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;display:flex}.simul-slot{min-width:120px;height:48px;font:inherit;color:var(--muted);border:2px dashed var(--border);background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:15px;display:inline-flex}.simul-slot.filled{color:var(--text);background:var(--surface);cursor:pointer;border-style:solid;justify-content:flex-start}.simul-slot.filled:hover{border-color:var(--accent)}.simul-slots .event-play{margin:0;padding:13px 20px}.simul-slots .event-play:disabled{opacity:.4;cursor:default;filter:none}@media (width<=800px){.game-modes{grid-template-columns:minmax(0,1fr);gap:8px;padding:16px}.mode-list-panel{max-height:none;position:static}.mode-list{max-height:38vh}.mode-detail h2{margin-top:12px}}.settings-button{width:44px;height:44px;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;flex:none;padding:0;font-size:22px;line-height:1}.settings-button:hover{border-color:var(--accent)}.review-nav .settings-button{flex:none;width:44px;height:auto;font-size:18px}.menu-title-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.menu-title-row .menu-title{margin:0}.dialog.settings h2{margin-bottom:20px;font-size:26px}.volume-setting{text-align:left;flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.volume-label{justify-content:space-between;font-weight:600;display:flex}.volume-value{color:var(--muted);font-weight:500}.volume-setting input{width:100%;accent-color:var(--accent)}.menu-buttons{gap:8px;display:flex}.account-button{max-width:220px;height:44px;font:inherit;white-space:nowrap;text-overflow:ellipsis;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:0 14px;font-weight:600;display:inline-flex;overflow:hidden}.account-name{text-overflow:ellipsis;overflow:hidden}.account-button:hover{border-color:var(--accent)}.dialog.account{width:min(380px,100%)}.dialog.account h2{margin-bottom:18px;font-size:24px}.account-field{text-align:left;flex-direction:column;gap:6px;margin-bottom:14px;font-weight:600;display:flex}.account-field input{width:100%;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:16px;font-weight:400}.account-field input:focus{outline:2px solid var(--accent);border-color:#0000}.account-hint{color:var(--muted);text-align:left;margin:-6px 0 14px;font-size:14px}.account-message{text-align:left;margin:0 0 14px;line-height:1.45}.account-message.error{color:#e05252}.account-email{overflow-wrap:anywhere;margin:0 0 18px}.account-links{flex-direction:column;gap:4px;margin-top:14px;display:flex}.account-links button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px;font-size:14px}.account-links button:hover{color:var(--text);text-decoration:underline}.dialog.account form+.dialog-buttons,.dialog.account form+.account-message{margin-top:16px}.account-button .avatar{font-size:14px!important}.account-avatar{display:flex;position:relative}.notice-dot{width:10px;height:10px;box-shadow:0 0 0 2px var(--surface);background:#e53935;border-radius:50%;position:absolute;top:-2px;right:-2px}.profile-screen{width:min(780px,100%);margin:0 auto;padding:24px 16px 48px}.profile-header{align-items:center;gap:20px;margin:16px 0 24px;display:flex}.profile-who{min-width:0}.profile-who h1{overflow-wrap:anywhere;margin:0 0 4px;font-size:30px}.profile-sub{color:var(--muted);margin:0 0 2px}.profile-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 28px;padding:0;list-style:none;display:grid}.profile-stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:4px;padding:14px;display:flex}.profile-stat strong{font-size:22px}.profile-stat span{color:var(--muted);font-size:14px}.profile-section{margin-bottom:28px}.profile-section h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:20px 0 10px;font-size:15px;font-weight:600}.color-swatches{flex-wrap:wrap;gap:10px;display:flex}.swatch{cursor:pointer;border:3px solid #0000;border-radius:50%;width:36px;height:36px;padding:0}.swatch.selected{border-color:var(--text);box-shadow:inset 0 0 0 2px var(--bg)}.profile-select,.username-form input{width:100%;max-width:320px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:16px}.username-form{flex-wrap:wrap;gap:8px;display:flex}.username-form input{flex:1;min-width:0}.username-form button,.profile-logout{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:10px 18px;font-weight:600}.username-form button:not(:disabled){color:#fff;background:var(--accent);border-color:var(--accent)}.username-form button:disabled{opacity:.5;cursor:default}.username-form .account-hint{flex-basis:100%;margin:0}.profile-logout{margin-top:10px}.profile-logout:hover{color:#e05252;border-color:#e05252}@media (width<=500px){.profile-header{gap:14px}.profile-stats{grid-template-columns:minmax(0,1fr)}}.profile-account-buttons{flex-wrap:wrap;gap:8px;display:flex}.profile-delete{font:inherit;color:#e05252;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;margin-top:10px;padding:10px 18px;font-weight:600}.profile-delete:hover{border-color:#e05252}.profile-links,.menu-links{color:var(--muted);margin:16px 0 0;font-size:13px}.menu-links{text-align:center;margin:0}.profile-links a,.menu-links a{color:var(--muted)}.profile-links a:hover,.menu-links a:hover{color:var(--text)}.account-check{text-align:left;align-items:flex-start;gap:10px;margin:0 0 14px;font-size:14px;line-height:1.4;display:flex}.account-check input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin:1px 0 0}.account-check a{color:inherit}.local-modes{--accent:#43a047}.local-names{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:460px;display:grid}.local-start .event-play{min-width:200px;padding:13px 24px}.overlay.local-cover{background:var(--bg);animation:none}.overlay.local-cover .dialog{animation:none}@media (width<=500px){.local-names{grid-template-columns:minmax(0,1fr)}}.fairy-piece-list{flex-direction:column;gap:10px;margin:0 0 8px;padding:0;list-style:none;display:flex}.fairy-piece-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:14px;padding:12px 14px;display:flex}.fairy-piece-card .bot-card-text,.fairy-piece-card .opponent-name,.fairy-piece-card .bot-bio{display:block}.fairy-piece-pictures{flex:none;display:flex}.fairy-piece-picture{width:56px;height:56px;display:block}.fairy-piece-picture.light{background:#f0d9b5;border-radius:8px 0 0 8px}.fairy-piece-picture.dark{background:#b58863;border-radius:0 8px 8px 0}.creator{grid-template-columns:180px minmax(0,1fr);align-items:start;gap:24px;display:grid}.creator-preview{flex-direction:column;gap:8px;display:flex;position:sticky;top:16px}.creator-big{border-radius:50%;width:180px;height:180px}.creator-random,.creator-undo{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:9px;font-weight:600}.creator-undo{color:var(--muted);background:0 0;border:none;font-size:14px}.creator-save:disabled{opacity:.55;cursor:default;filter:none}.creator-options h3{color:var(--muted);margin:16px 0 8px;font-size:14px;font-weight:600}.creator-options h3:first-child{margin-top:0}.creator-tiles{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;display:grid}.creator-tile{font:inherit;color:var(--text);background:var(--surface);border:2px solid var(--border);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 6px;display:flex}.creator-tile:hover{border-color:var(--muted)}.creator-tile.selected{border-color:var(--accent)}.creator-tile-picture{border-radius:50%;width:56px;height:56px}.creator-tile-label{text-align:center;font-size:12px;line-height:1.2}.creator-swatches{flex-wrap:wrap;gap:8px;display:flex}.creator-swatches .swatch{width:30px;height:30px}@media (width<=600px){.creator{grid-template-columns:minmax(0,1fr)}.creator-preview{align-items:center;position:static}.creator-preview button{width:180px}}.creator-swatches .swatch:not(.selected){box-shadow:0 0 0 1px var(--border)}.avatar-edit{font:inherit;cursor:pointer;background:0 0;border:none;border-radius:50%;padding:0;position:relative}.avatar-edit:hover .avatar,.avatar-edit:focus-visible .avatar{box-shadow:0 0 0 3px var(--accent)}.avatar-edit-badge{background:var(--surface);border:1px solid var(--border);border-radius:50%;place-items:center;width:28px;height:28px;font-size:14px;display:grid;position:absolute;top:-2px;right:-2px}.profile-hint{color:var(--accent);margin:6px 0 0;font-size:14px}.creator-title{margin:12px 0 20px;font-size:30px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.friends-screen{--accent:#3f8f45;width:min(720px,100%);margin:0 auto;padding:24px 16px 48px}.friends-screen h1{margin:12px 0 8px;font-size:30px}.friends-section h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:24px 0 10px;font-size:15px;font-weight:600}.friends-search{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:10px;padding:11px 14px;font-size:16px}.friends-search:focus{outline:2px solid var(--accent);border-color:#0000}.friends-empty{color:var(--muted);margin:0;list-style:none}.friend-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.friend-row{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.friend-name{flex-direction:column;flex:1;min-width:0;display:flex}.friend-name strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.friend-name span{color:var(--muted);font-size:13px}.friend-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.friend-button{font:inherit;color:var(--text);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;padding:7px 12px;font-size:14px;font-weight:600}.friend-button.primary{color:#fff;background:var(--accent);border-color:var(--accent)}.friend-button.subtle{color:var(--muted);border-color:#0000}.friend-button:disabled{opacity:.45;cursor:default}.friend-status{color:var(--muted);font-size:14px}@media (width<=500px){.friend-row{flex-wrap:wrap}.friend-actions{justify-content:flex-start;width:100%}}.friend-strip{overflow-anchor:none;gap:10px;margin:0;padding:2px 2px 10px;list-style:none;display:flex;overflow-x:auto}.friend-strip>li{flex:none}.friend-strip-card{width:96px;height:120px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:10px 6px;display:flex}.friend-strip-name{text-align:center;white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:13px;font-weight:600;overflow:hidden}button.friend-strip-card{cursor:pointer}button.friend-strip-card:hover{border-color:var(--accent)}.friend-strip-card.add{color:var(--muted);cursor:pointer;border-style:dashed}.friend-strip-card.add:hover{color:var(--text);border-color:var(--accent)}.friend-strip-plus{border:2px dashed var(--border);border-radius:50%;place-items:center;width:64px;height:64px;font-size:30px;display:grid}.friend-strip-badge{color:#fff;background:#d64545;border-radius:999px;margin-top:-4px;padding:1px 8px;font-size:11px;font-weight:700}.friend-button.more{border-color:#0000;padding:4px 10px;font-size:18px;line-height:1}.friend-button.more:hover{border-color:var(--border)}.dialog.player-menu{flex-direction:column;align-items:center;display:flex}.dialog.player-menu h2{margin:10px 0 16px;font-size:22px}.dialog.player-menu .dialog-buttons{width:100%}.report-reasons{text-align:left;flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.report-reason{border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-size:15px;display:flex}.report-reason.selected{border-color:var(--accent)}.report-reason input{accent-color:var(--accent)}.account-field textarea{width:100%;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);resize:vertical;border-radius:8px;padding:10px 12px;font-size:16px;font-weight:400}.report-dialog .account-hint{margin:-8px 0 14px}.chat-intro{text-align:left;font-size:14px}.chat-intro-title{margin:0 0 8px;font-weight:700}.chat-intro li{gap:8px;display:flex}.chat-intro ul{flex-direction:column;gap:6px;margin:0 0 10px;padding:0;list-style:none;display:flex}.chat-intro-rules,.chat-login{color:var(--muted);margin:0;font-size:13px}.chat-login{text-align:left;margin-top:4px}.chat-starters{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.chat-starter{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:999px;padding:6px 10px;font-size:13px}.chat-starter:hover{border-color:var(--accent)}.review-nav .draw-offer{flex:none;width:44px}.draw-banner{background:var(--surface);border:1px solid var(--accent);border-radius:10px;flex-wrap:wrap;grid-area:dev;align-items:center;gap:8px;margin:8px 0;padding:10px 12px;font-size:14px;display:flex}.draw-banner span{flex:1}.online-hub{z-index:90;flex-direction:column;gap:8px;width:min(380px,100vw - 32px);display:flex;position:fixed;bottom:16px;left:16px}.hub-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;animation:.25s ease-out pop-in;display:flex;box-shadow:0 8px 28px #00000059}.hub-card.invite{border-color:#43a047}.hub-text{flex-direction:column;flex:1;gap:2px;min-width:0;font-size:14px;display:flex}.hub-text span{color:var(--muted);font-size:13px}.hub-buttons{gap:6px;display:flex}.dialog.invite-dialog{flex-direction:column;align-items:center;display:flex}.dialog.invite-dialog h2{margin:8px 0 16px}.dialog.invite-dialog .account-field,.dialog.invite-dialog .account-hint,.dialog.invite-dialog .dialog-buttons{width:100%}.dialog.invite-dialog .profile-select{max-width:none}.choice-pills{flex-wrap:wrap;gap:6px;display:flex}.choice-pills button{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:999px;padding:7px 12px;font-size:14px;font-weight:500}.choice-pills button.selected{color:#fff;background:#43a047;border-color:#43a047}.simul-board.simul-waiting{text-align:center;min-height:260px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;display:flex}.simul-board.simul-waiting p{margin:0}.simul-stand-in{flex-direction:column;gap:8px;width:100%;max-width:260px;display:flex}.simul-slot.add-friend{color:var(--text);cursor:pointer;border-style:dashed}.simul-friend-picker{flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.link-button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.link-button:hover{color:var(--text)}.dialog.feedback-dialog{width:min(440px,100%)}.feedback-tabs{gap:6px;margin-bottom:16px;display:flex}.feedback-tabs button{font:inherit;color:var(--muted);background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:8px;flex:1;padding:9px 8px;font-size:14px;font-weight:600}.feedback-tabs button.selected{color:var(--text);border-color:var(--accent)}.dialog.feedback-dialog .account-hint{margin:0 0 12px}.admin-screen{width:min(760px,100%);margin:0 auto;padding:24px 16px 48px}.admin-screen h1{margin:12px 0 16px;font-size:30px}.admin-tabs{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.admin-tabs button{font:inherit;color:var(--muted);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;padding:9px 14px;font-weight:600}.admin-tabs button.selected{color:var(--text);border-color:var(--accent)}.admin-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.admin-item{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px}.admin-item-head{align-items:center;gap:10px;display:flex}.admin-item-head time{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:13px}.admin-reason{margin:10px 0 0;font-weight:600}.admin-message{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;line-height:1.45}.admin-context{color:var(--muted);overflow-wrap:anywhere;margin:8px 0 0;font-size:12px}.admin-buttons{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.admin-buttons .friend-button.danger{color:#d32f2f;border-color:#d32f2f}.admin-email{color:var(--muted);overflow-wrap:anywhere;font-size:13px}.admin-screen .friends-search{margin-bottom:12px}.online-modes,.online-screen{--accent:#43a047}.mode-rating{opacity:.75;margin-left:auto;font-size:13px;font-weight:600}.online-rating{color:var(--muted);margin:-6px 0 16px}.online-rating strong{color:var(--text);font-size:18px}.online-find{min-width:220px;padding:14px 28px;font-size:17px}.online-bot-suggestion{background:var(--surface);border:1px dashed var(--border);border-radius:12px;margin-top:10px;padding:12px 14px;animation:.25s ease-out pop-in}.online-bot-suggestion p{margin:0 0 10px}.online-bot-buttons{flex-wrap:wrap;gap:8px;display:flex}.online-bot-buttons .friend-button.primary{align-items:center;gap:8px;display:inline-flex}.online-searching{background:var(--surface);border:1px solid var(--accent);border-radius:12px;align-items:center;gap:14px;padding:14px 16px;display:flex}.online-searching div{flex-direction:column;flex:1;gap:2px;display:flex}.online-searching span{color:var(--muted);font-size:13px}.online-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex:none;width:22px;height:22px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.rating-line{margin:-6px 0 14px;font-weight:700}.rating-strip{grid-template-rows:repeat(2,auto);grid-auto-columns:150px;grid-auto-flow:column;gap:8px;margin:0;padding:2px 2px 10px;list-style:none;display:grid;overflow-x:auto}.rating-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.rating-card-mode{white-space:nowrap;text-overflow:ellipsis;color:var(--muted);font-size:13px;overflow:hidden}.rating-card strong{font-size:22px}.rating-card-games{color:var(--muted);font-size:12px}.mode-icon .line-icon{width:18px;height:18px}.friend-open{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:12px;padding:0;display:flex}.friend-open:hover .friend-name strong{text-decoration:underline}.friend-profile-buttons{gap:8px;margin-top:10px;display:flex}.profile-stat-item{display:flex}button.profile-stat{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer}button.profile-stat:hover{border-color:var(--muted)}.dialog.achievements-dialog{text-align:left;flex-direction:column;width:min(520px,100%);max-height:calc(100dvh - 32px);padding:18px 18px 20px;display:flex}.dialog-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.dialog.achievements-dialog h2{margin:0 0 0 4px;font-size:24px}.achievements-dialog-list{min-height:0;overflow-y:auto}.dialog-close{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;place-items:center;padding:0;font-size:18px;display:grid}.dialog-close:hover{color:var(--text);background:var(--border)}.chat-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.chat-fab{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:50;background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:50%;place-items:center;width:58px;height:58px;padding:0;font-size:26px;display:grid;position:fixed;box-shadow:0 6px 20px #0000004d}.chat-sheet-backdrop{z-index:100;background:#00000080;align-items:flex-end;animation:.2s ease-out fade-in;display:flex;position:fixed;inset:0}.chat-sheet{width:100%;height:min(85dvh,640px);padding:0 8px calc(8px + env(safe-area-inset-bottom));animation:.25s ease-out slide-up;display:flex}.chat-sheet .menu-chat{flex:1;min-width:0}@keyframes slide-up{0%{opacity:0;transform:translateY(40px)}}.view-bracket{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;margin:0 0 16px;padding:10px 16px;font-weight:600}.dialog.bracket-dialog{text-align:left;flex-direction:column;width:min(900px,100%);min-width:0;max-height:calc(100dvh - 32px);padding:18px;display:flex;overflow:hidden}.dialog.bracket-dialog h2{margin:0 0 0 4px;font-size:24px}.bracket-dialog-scroll{min-width:0;min-height:0;overflow:auto}.bracket-dialog-scroll .bracket{min-width:560px}.fantasy-theme{--accent:#ddb22e}.shop-screen{width:min(960px,100%);margin:0 auto;padding:24px 16px 48px}.shop-header{justify-content:space-between;align-items:center;gap:12px;margin:12px 0 4px;display:flex}.shop-header h1{margin:0;font-size:32px}.coin{flex:none;width:1em;height:1em}.coin-balance{background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:20px;font-weight:700;display:inline-flex}.shop-intro{color:var(--muted);margin:0 0 16px}.shop-screen .dev-autowin{width:auto;margin:0 0 16px;padding:8px 14px}.shop-tabs{margin:4px 0 14px}.shop-grid{grid-template-rows:repeat(2,auto);grid-auto-columns:140px;grid-auto-flow:column;gap:10px;margin:0;padding:2px 2px 12px;list-style:none;display:grid;overflow-x:auto}.shop-grid.one-row{grid-template-rows:auto}.shop-card{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:12px 10px 10px;display:flex;position:relative}.shop-piece{cursor:help;border-radius:10px;outline:none;place-items:center;width:58px;height:58px;display:grid}.shop-mystery{color:var(--muted);cursor:default;background:#7f7f7f26;font-size:34px;font-weight:800}.shop-card.locked h2{color:var(--muted)}.shop-card.locked .shop-buy{color:var(--muted);background:#7f7f7f2e}.shop-piece svg{width:100%;height:100%}.shop-tip{z-index:2;color:var(--text);text-align:left;background:var(--surface);border:1px solid var(--accent);visibility:hidden;pointer-events:none;border-radius:14px;align-items:center;padding:10px;font-size:12.5px;line-height:1.35;display:flex;position:absolute;inset:0}.shop-piece:hover .shop-tip,.shop-piece:focus .shop-tip{visibility:visible}.shop-card h2{margin:0;font-size:15px}.shop-owned{color:var(--muted);margin:0;font-size:12px}.shop-buy{width:100%;font:inherit;color:#3d2e00;background:var(--accent);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;margin-top:2px;padding:7px;font-weight:700;display:inline-flex}.shop-buy:hover:not(:disabled){filter:brightness(1.08)}.shop-buy:disabled{opacity:.45;cursor:default}@media (width<=500px){.shop-grid{grid-auto-columns:128px}}.home.fantasy-home{background:#f6f0dc}@media (prefers-color-scheme:dark){.home.fantasy-home{background:#1d1a12}}.home.fantasy-home{padding:24px 0 48px;display:block}.fantasy-home .home-intro,.fantasy-home>.stage{box-sizing:border-box;width:min(640px,100%);height:auto;margin:0 auto;padding:0 16px}.fantasy-home .player-card{box-sizing:border-box;width:100%}.fantasy-home .home-intro .back{margin-top:0}.how-it-works{border:2px solid var(--accent);background:var(--surface);border-radius:12px;margin-bottom:20px;padding:14px 18px}.how-it-works h2{margin:0 0 8px;font-size:18px}.how-it-works ul{margin:0 0 12px;padding-left:18px;line-height:1.45}.how-it-works li{margin-bottom:6px}.how-it-works-close{padding:9px 22px}.level-list{box-sizing:border-box;width:min(640px,100%);margin:0 auto 32px;padding:0 16px;list-style:none}.level-tier{margin:24px 0 10px}.level-row{border:1px solid var(--border);background:var(--surface);border-radius:12px;align-items:center;gap:12px;margin-bottom:8px;padding:10px 12px;display:flex;position:relative}.level-row.next{border:2px solid var(--accent);box-shadow:0 2px 12px #ddb22e4d}.level-row.locked{opacity:.5}.level-number{text-align:center;width:28px;color:var(--muted);flex:none;font-size:18px;font-weight:700}.level-info{flex:1;min-width:0}.level-info h3{margin:0;font-size:16px}.level-detail{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;margin:2px 0 0;font-size:14px;display:flex}.level-stars{gap:1px;display:inline-flex}.level-star-slot{flex:1 1 0;justify-content:center;display:flex}.level-star-box{cursor:help;outline:none;font-size:28px;line-height:0;position:relative}.level-star-box .level-stars{gap:3px}.level-star-tip .level-stars{gap:1px;font-size:11px}@media (width<=520px){.level-row{flex-wrap:wrap}.level-star-slot{flex-basis:100%;order:1;margin-top:2px}.level-star-box{font-size:24px}.fantasy-home .player-card{flex-wrap:wrap}.fantasy-home .player-card-info{flex:1}.fantasy-home .player-card-buttons{width:100%}}.level-star-tip{z-index:3;width:210px;color:var(--text);background:var(--surface);border:1px solid var(--accent);visibility:hidden;border-radius:12px;flex-direction:column;gap:3px;padding:10px 12px;font-size:13px;line-height:1.3;display:flex;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000059}.level-star-box:hover .level-star-tip,.level-star-box:focus .level-star-tip{visibility:visible}.level-star-need{align-items:center;gap:6px;display:flex}.won-stars{text-align:center;margin:4px 0 10px}.won-stars p{margin:4px 0 0;font-weight:600}.level-fog{color:#e8e4f6;background:#4b4170;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600}.level-play{flex:none;min-width:72px;margin:0;padding:9px 14px}.level-play.quiet{font:inherit;color:var(--text);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:10px;font-weight:600}.level-lock{text-align:center;width:72px;color:var(--muted);flex:none}.level-avatar{flex:none;position:relative}.level-check{color:#fff;background:#2f9e57;border-radius:50%;place-items:center;width:20px;height:20px;display:grid;position:absolute;top:-4px;right:-4px}.fantasy-theme .event-play{color:#3d2e00}.fantasy-theme .player-card-button{color:#3d2e00;background:var(--accent);border:none;padding:8px 16px;font-weight:700}.coin-line{align-items:center;gap:6px;display:inline-flex}.event-reward{align-items:center;gap:6px;margin:0 0 12px;font-weight:700;display:flex}.team-screen{width:min(560px,100%);margin:0 auto;padding:24px 16px 48px}.team-screen h1{margin:12px 0 4px;font-size:32px}.player-card-buttons{gap:8px;display:flex}.team-board{border-radius:8px;grid-template-columns:repeat(8,minmax(0,1fr));display:grid;overflow:hidden;box-shadow:0 4px 16px #0003}.team-square{aspect-ratio:1;cursor:pointer;background:#f0d9b5;border:none;place-items:center;padding:6%;display:grid;position:relative}.team-square.dark{background:#b58863}.team-square svg{width:100%;height:100%}.team-square.locked{cursor:default}.team-square.locked svg{opacity:.55}.team-square.selected{box-shadow:inset 0 0 0 4px var(--accent)}.team-heading{margin:22px 0 10px;font-size:18px}.team-pieces{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.team-piece{width:100%;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;font-size:14px;font-weight:600;display:flex}.team-piece:hover:not(:disabled){border-color:var(--accent)}.team-piece:disabled{opacity:.4;cursor:default}.team-piece.here{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.team-piece-picture{width:48px;height:48px}.team-piece-picture svg{width:100%;height:100%}.team-piece-left{color:var(--muted);font-size:12px;font-weight:400}.team-shop-link{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;margin-top:18px;padding:0;font-weight:600}.piece-points{color:var(--accent);margin:-2px 0 0;font-size:13px;font-weight:700}.team-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.team-points{background:var(--surface);border:1px solid var(--border);border-radius:999px;margin-top:12px;padding:6px 14px;font-weight:700}.event-limit{color:var(--muted);margin:-4px 0 12px;font-size:14px}.event-limit.over{color:#e53935;font-weight:600}.event-play:disabled{opacity:.5;cursor:default}.piece-info{background:var(--bg);border-radius:10px;align-items:center;gap:10px;margin:10px 0 0;padding:8px 10px;font-size:14px;display:flex}.move-piece{vertical-align:-.3em;width:1.25em;height:1.25em;display:inline-block}.move-piece svg{width:100%;height:100%}.event-warning{margin:0}.value-lab{max-width:820px;margin:0 auto;padding:24px 16px 48px}.value-lab-controls{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.value-lab-progress{color:var(--muted);margin:6px 0;font-size:14px}.value-lab-table{border-collapse:collapse;width:100%;margin-top:16px;font-size:14px}.value-lab-table th,.value-lab-table td{text-align:left;border-bottom:1px solid var(--border);padding:6px 8px}.value-lab-table td:first-child{align-items:center;gap:8px;display:flex}.value-lab-piece{width:28px;height:28px;display:inline-block}.value-lab-range{color:var(--muted)}.developer-links{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.fantasy-bot{border:1px solid var(--border);border-radius:10px;margin:12px 0;padding:12px}.fantasy-bot-head{align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.fantasy-bot-head h3{margin:0 0 2px}.fantasy-bot-head p{margin:0;font-size:14px}.fantasy-bot-look{margin-top:4px;font-style:italic}.fantasy-bot-board{width:100%;max-width:360px}.fantasy-bot-board .team-square{cursor:default}.fantasy-bot-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;font-size:14px;display:flex}.hint-row{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:8px;font-size:13px;display:flex}.hint-button{font:inherit;color:#2c6fd6;cursor:pointer;background:#4287f51f;border:1px solid #4287f573;border-radius:8px;padding:6px 12px;font-weight:600}.hint-button:disabled{opacity:.5;cursor:default}.hint-badge{color:#2c6fd6;cursor:help;background:#4287f51f;border:1px solid #4287f573;border-radius:999px;outline:none;flex:none;align-items:center;gap:4px;padding:6px 10px;font-size:14px;font-weight:600;display:inline-flex;position:relative}.hint-badge-tip{z-index:5;width:220px;color:var(--text);text-align:left;background:var(--surface);visibility:hidden;border:1px solid #4287f599;border-radius:12px;flex-direction:column;gap:3px;padding:10px 12px;font-size:13px;font-weight:400;line-height:1.35;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 6px 20px #0000004d}.hint-badge:hover .hint-badge-tip,.hint-badge:focus .hint-badge-tip{visibility:visible}.hint-badge.floating{z-index:50;background:linear-gradient(#4287f51f, #4287f51f), var(--surface);position:fixed;top:16px;right:16px;box-shadow:0 2px 10px #00000040}.fantasy-player-bar{box-sizing:border-box;width:min(640px,100%);margin:0 auto;padding:0 16px}.fantasy-top-bar{z-index:50;box-sizing:border-box;pointer-events:none;justify-content:space-between;align-items:center;gap:10px;width:min(640px,100%);padding:8px 16px;font-weight:700;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%)}.fantasy-top-bar>*,.fantasy-top-bar-buttons>*{pointer-events:auto;box-shadow:0 2px 10px #0000004d}.fantasy-top-bar-buttons{box-shadow:none!important}.fantasy-top-bar>.coin-line{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:6px 12px}.fantasy-top-bar .hint-badge{background:linear-gradient(#4287f51f, #4287f51f), var(--surface)}.fantasy-top-bar-buttons{align-items:center;gap:8px;display:flex}
