:root{--orange: #ed830a;--orange-dark: #c96d05;--teal: #048ba8;--navy: #2e3f5a;--canvas: #f3f4f6;--surface: #ffffff;--muted: #6b7689;--line: #dde1e8;--pill: #eef0f3;--live: #d64545;--font-display: "Archivo", "Segoe UI", system-ui, sans-serif;--font-body: "Public Sans", "Segoe UI", system-ui, sans-serif;--radius-panel: 24px;--radius-control: 8px;--shadow: 0 8px 24px rgba(46, 63, 90, 0.08);color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--navy);font-family:var(--font-body);font-size:16px;line-height:1.5}h1,h2,h3{font-family:var(--font-display);margin:0;text-wrap:balance}h1{font-size:1.75rem;font-weight:700}h2{font-size:1.375rem;font-weight:700}h3{font-size:1.125rem;font-weight:700}p{margin:0}a{color:inherit}:focus-visible{outline:3px solid var(--teal);outline-offset:2px}.gutter{padding-left:max(16px,env(safe-area-inset-left, 0px));padding-right:max(16px,env(safe-area-inset-right, 0px))}.wrap{max-width:1216px;margin:0 auto}.topbar{background:var(--surface);box-shadow:0 2px 12px rgba(46,63,90,.06);position:sticky;top:env(safe-area-inset-top, 0px);z-index:5}.topbar .wrap{display:flex;align-items:center;gap:24px;padding-block:14px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand img{width:57px;height:57px;object-fit:contain}.brand span{font-family:var(--font-display);font-weight:800;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;line-height:1.1}.nav{display:flex;gap:8px;flex:1;flex-wrap:wrap}.nav a{font-weight:700;text-decoration:none;padding:10px 18px;border-radius:var(--radius-control)}.nav a:hover{background:var(--pill)}.nav a[aria-current=page]{background:var(--pill);color:var(--teal)}.nav .admin-tag{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--teal);border:1px solid var(--teal);border-radius:999px;padding:1px 7px;margin-left:6px;vertical-align:2px}.profile{display:flex;align-items:center;gap:12px;font-weight:700;text-decoration:none}.avatar{--size: 44px;width:var(--size);height:var(--size);border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;font-weight:700;font-size:calc(var(--size)*.4);background:var(--teal)}.avatar.lg{--size: 60px}.avatar.sm{--size: 36px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 1rem/1 var(--font-body);padding:12px 22px;border-radius:var(--radius-control);border:0;background:var(--orange);color:#fff;text-decoration:none;cursor:pointer}.btn:hover{background:var(--orange-dark)}.btn.block{width:100%}.btn.ghost{background:rgba(0,0,0,0);color:var(--teal);border:2px solid var(--teal);padding:8px 14px}.btn.ghost:hover{background:var(--teal);color:#fff}main.page{padding-block:32px 64px}.layout{display:grid;grid-template-columns:minmax(0, 1fr) 280px;gap:48px;align-items:start}.layout.wide-side{grid-template-columns:minmax(0, 1fr) 340px}.stack{display:grid;gap:20px;align-content:start}.section{display:grid;gap:20px}.section+.section{margin-top:40px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}.section-head .meta{color:var(--muted);font-size:.9rem}.panel{background:var(--surface);border-radius:var(--radius-panel);box-shadow:var(--shadow);padding:24px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));gap:24px}.game-card{display:grid;gap:6px;align-content:start}.game-card .icon{width:70px;height:70px;border-radius:10px;margin-bottom:6px}.game-card p{color:var(--muted);font-size:.95rem}.game-card .facts{font-size:.8rem;color:var(--muted);letter-spacing:.02em}.game-card .btn{margin-top:10px}.game-card[aria-selected=true]{outline:3px solid var(--teal)}.players h2{font-size:1.15rem;text-decoration:underline;text-underline-offset:4px}.players ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:12px}.players li{display:flex;align-items:center;gap:14px}.players .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.players .status{font-size:.8rem;color:var(--muted)}.players .status.playing{color:var(--teal);font-weight:600}.players .more{color:var(--muted);font-size:.9rem;margin-top:16px}.rows{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:16px}.row{background:var(--surface);border-radius:18px;box-shadow:var(--shadow);padding:14px 18px;display:flex;align-items:center;gap:16px}.row .body{flex:1;min-width:0;display:grid;gap:2px}.row .title{font-weight:700}.row .sub{color:var(--muted);font-size:.9rem}.row .score{font-family:var(--font-display);font-weight:700;font-variant-numeric:tabular-nums}.live-dot{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--live)}.live-dot::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--live)}.type-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:32px}.type-card{display:grid;gap:8px;align-content:start}.type-card .icon{width:56px;height:56px}.type-card p{color:var(--muted)}.type-card .btn{margin-top:12px}.field{display:grid;gap:8px}.field label,.field .label{font-weight:700}.input{font:inherit;color:var(--navy);background:var(--pill);border:1px solid rgba(0,0,0,0);border-radius:var(--radius-control);padding:10px 14px;width:100%}.input:focus{border-color:var(--teal);outline:none;background:var(--surface)}.input[readonly]{color:var(--muted)}.input.narrow{width:140px;text-align:center;font-variant-numeric:tabular-nums}.checks{display:grid;gap:12px}.check{display:flex;align-items:center;gap:12px;color:var(--muted)}.check input{width:22px;height:22px;accent-color:var(--teal);margin:0}.params{display:grid;gap:24px}.params h2{text-align:center;text-decoration:underline;text-underline-offset:5px;font-size:1.5rem}.hint{font-size:.85rem;color:var(--muted)}.game-layout{display:grid;grid-template-columns:120px minmax(0, 1fr) 120px;gap:24px;align-items:start}.match{display:grid;gap:18px;justify-items:center}.scoreboard{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;width:min(100%,500px)}.player{display:grid;justify-items:center;gap:6px;font-weight:700;font-family:var(--font-display)}.player .turn{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--teal);visibility:hidden}.player.active .turn{visibility:visible}.player.active .avatar{box-shadow:0 0 0 4px var(--surface),0 0 0 7px currentColor}.score-center{text-align:center;display:grid;gap:4px}.score-center .kind{font-weight:700;font-family:var(--font-display)}.score-center .score{font-family:var(--font-display);font-size:2rem;font-weight:800;font-variant-numeric:tabular-nums}.board-panel{width:min(100%,500px);aspect-ratio:1;display:grid;place-items:center;padding:32px;max-width:100%}.ttt{display:grid;grid-template-columns:repeat(3, 1fr);width:100%;height:100%}.ttt button{border:0;background:rgba(0,0,0,0);font:800 clamp(2rem, 9vw, 4rem)/1 var(--font-display);cursor:pointer}.ttt button:nth-child(-n+6){border-bottom:4px solid var(--line)}.ttt button:not(:nth-child(3n)){border-right:4px solid var(--line)}.ttt button.x{color:var(--orange)}.ttt button.o{color:var(--teal)}.ttt button:disabled{cursor:default}.clock{font-family:var(--font-display);font-size:2rem;font-weight:800;font-variant-numeric:tabular-nums}.match .status-line{color:var(--muted)}@media(max-width: 900px){.layout,.layout.wide-side{grid-template-columns:minmax(0, 1fr)}.game-layout{grid-template-columns:minmax(0, 1fr)}.game-layout>.spacer{display:none}}@media(max-width: 560px){.topbar .wrap{gap:12px;flex-wrap:wrap}.brand span{display:none}.brand img{width:44px;height:44px}.nav{order:3;flex-basis:100%}.profile,.topbar .btn{margin-left:auto}.board-panel{padding:16px}.scoreboard{gap:8px}}@media(prefers-reduced-motion: reduce){*{transition:none !important;animation:none !important}}fieldset.checks{border:0;padding:0;margin:0}fieldset.checks legend{font-weight:700;padding:0;margin-bottom:12px}.account{display:flex;align-items:center;gap:16px}.link-button{font:inherit;font-size:.9rem;color:var(--muted);background:none;border:0;padding:0;text-decoration:underline;cursor:pointer}.link-button:hover{color:var(--navy)}.auth{max-width:440px}.auth h1{text-align:left}.notice{background:#fff4e5;border-left:4px solid var(--orange);padding:10px 14px;border-radius:6px}.field-error{color:var(--live);font-size:.85rem}.field-error:empty{display:none}.input.input-validation-error{border-color:var(--live)}.btn:disabled,.btn:disabled:hover{background:var(--line);color:var(--muted);border-color:var(--line);cursor:not-allowed}.btn.ghost:disabled img{opacity:.4}.ttt button.win{background:#fff4e5}.player-name{color:var(--navy)}.game-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px}.game-controls label{font-weight:700}.game-controls .input{width:auto}.footer{border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}.footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:20px}.footer a{color:var(--navy)}/*# sourceMappingURL=app.min.css.map */
