:root{--bg:#151a2d;--bg-2:#1d2440;--board:#232b4d;--board-edge:#2f3963;--text:#eef1ff;--muted:#a3abd1;--accent:#f5c84c;--accent-text:#1a1400;--red:#e5484d;--yellow:#f5d90a;--green:#30a46c;--blue:#3e82f7;--hole:#121731;--radius:14px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;touch-action:manipulation;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}tg-bar:not(:defined){background:#0b0b0e;height:40px;display:block}.app-shell{background:radial-gradient(ellipse at top, #222a4f 0%, var(--bg) 60%);min-height:calc(100dvh - 40px)}.page-banner{max-width:728px;margin:24px auto 0;padding:0 16px;display:block}tg-footer{margin-top:24px;display:block}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.game{max-width:900px;margin:0 auto;padding:12px 16px 32px}.game-header{justify-content:space-between;align-items:center;gap:12px;padding:8px 0 16px;display:flex}.game-header h1{letter-spacing:.04em;margin:0;font-size:1.6rem}.subtitle{color:var(--muted);margin:2px 0 0;font-size:.95rem}.header-actions{gap:8px;display:flex}.icon-btn{border:1px solid var(--board-edge);background:var(--bg-2);border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:1.05rem;font-weight:700;display:grid}.icon-btn:hover{background:var(--board)}.workspace{grid-template-columns:minmax(0,1fr) minmax(0,300px);align-items:start;gap:20px;display:grid}@media (width<=680px){.workspace{grid-template-columns:minmax(0,1fr)}}.play-panel,.history,.card{background:var(--board);border:1px solid var(--board-edge);border-radius:var(--radius);padding:18px;box-shadow:0 10px 30px #00000040}.card{max-width:520px;margin:0 auto}.center{text-align:center}h2{margin:0 0 8px;font-size:1.2rem}.muted{color:var(--muted)}.small{font-size:.85rem}.peg,.slot,.swatch{border-radius:50%;display:inline-block}.peg{width:40px;height:40px;box-shadow:inset -3px -4px 6px #00000059,inset 3px 3px 5px #ffffff59}.peg-sm{width:26px;height:26px}.peg-red,.slot.peg-red{background-color:var(--red)}.peg-yellow,.slot.peg-yellow{background-color:var(--yellow)}.peg-green,.slot.peg-green{background-color:var(--green)}.peg-blue,.slot.peg-blue{background-color:var(--blue)}.peg-empty{background:var(--hole);box-shadow:inset 0 2px 4px #0009}.row-pegs{align-items:center;gap:8px;display:flex}.pins{grid-template-columns:repeat(2,12px);gap:4px;display:grid}.pin{vertical-align:middle;border-radius:50%;width:12px;height:12px;display:inline-block}.pin-none{background:#ffffff0f;box-shadow:inset 0 1px 2px #00000080}.pin-black{background:#000;border:1px solid #8790c4}.pin-white{background:#fff;border:1px solid #fff}.play-panel{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.prompt{color:var(--muted);margin:0;font-weight:600}.slots{background:var(--bg-2);border:1px solid var(--board-edge);border-radius:999px;justify-content:center;gap:12px;padding:14px 16px;display:flex}.slot{background:var(--hole);border:0;width:54px;height:54px;padding:0;transition:transform .12s;box-shadow:inset 0 3px 6px #0009}.slot[class*=peg-]{animation:.15s ease-out pop;box-shadow:inset -4px -5px 8px #00000059,inset 4px 4px 6px #ffffff59}@keyframes pop{0%{transform:scale(.7)}to{transform:scale(1)}}.palette{grid-template-columns:repeat(4,64px);justify-content:center;gap:14px;display:grid}.swatch{border:3px solid #ffffff26;width:64px;height:64px;transition:transform .1s;position:relative;box-shadow:inset -4px -5px 8px #00000059,inset 4px 4px 6px #ffffff59,0 4px 10px #0000004d}.swatch:active{transform:scale(.92)}.swatch-key{background:var(--bg);color:var(--muted);border-radius:6px;padding:0 4px;font-size:.7rem;font-weight:700;position:absolute;bottom:-2px;right:-2px}@media (pointer:coarse){.swatch-key{display:none}}@media (width<=380px){.palette{grid-template-columns:repeat(4,56px);gap:10px}.swatch{width:56px;height:56px}.slot{width:48px;height:48px}}.actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.btn{border:1px solid #0000;border-radius:999px;min-height:44px;padding:11px 22px;font-weight:700}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--accent);color:var(--accent-text)}.btn-primary:not(:disabled):hover{filter:brightness(1.08)}.btn-ghost{border-color:var(--board-edge);background:0 0}.btn-ghost:not(:disabled):hover{background:var(--bg-2)}.btn-link{color:var(--muted);background:0 0;border:0;text-decoration:underline}.status{min-height:1.2em;color:var(--accent);margin:0;font-weight:600}.legend{margin:0;font-size:.85rem;line-height:1.8}.legend .pin{margin:0 2px}.history-head{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.history-head h2{margin:0;font-size:1rem}.rows{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.row{background:var(--bg-2);opacity:.55;border-radius:10px;align-items:center;gap:12px;padding:5px 10px;display:flex}.row-done{opacity:1}.row-active{opacity:1;outline:2px solid var(--accent);outline-offset:-2px}.row-n{text-align:right;width:18px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem}.row .pins{margin-left:auto}.result{flex-direction:column;align-items:center;gap:10px;width:100%;display:flex}.result h2{outline:none;margin:0;font-size:1.5rem}.result.won h2{color:var(--accent)}.result p{margin:0}.reveal{background:var(--bg-2);border-radius:999px;gap:10px;padding:10px 14px}.share-preview{white-space:pre-wrap;text-align:center;margin:4px 0;font-family:inherit;font-size:.9rem;line-height:1.35}.countdown{font-variant-numeric:tabular-nums}.finish-extras{flex-direction:column;gap:16px;width:100%;margin-top:8px;display:flex}.finish-extras tg-more-games{display:block}.finish-ad{min-width:300px;margin:8px auto 0;display:block}.create{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.create p,.create h2{margin:0}.fields{text-align:left;grid-template-columns:auto minmax(0,200px);align-items:center;gap:10px 14px;display:grid}select,input[type=text]{font:inherit;color:var(--text);background:var(--bg-2);border:1px solid var(--board-edge);border-radius:10px;width:100%;padding:9px 12px}.challenge-out{flex-direction:column;gap:10px;width:100%;display:flex}.challenge-out:empty{display:none}.challenge-out label{font-weight:600}.challenge-out p{margin:0}.modal{background:var(--board);width:min(460px,100vw - 32px);max-height:calc(100dvh - 48px);color:var(--text);border:1px solid var(--board-edge);border-radius:var(--radius);padding:18px 20px;overflow:auto}.modal::backdrop{background:#050712b3}.modal-head{justify-content:space-between;align-items:center;display:flex}.modal-head h2{margin:0}.modal p{line-height:1.5}.pin-legend{padding:0;line-height:2;list-style:none}.example{background:var(--bg-2);border-radius:10px;grid-template-columns:auto auto;justify-content:start;align-items:center;gap:8px 14px;padding:10px 12px;display:grid}.example p{color:var(--muted);grid-column:1/-1;margin:0;font-size:.9rem}.stats-grid{text-align:center;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 18px;display:grid}.stat strong{font-size:1.6rem;display:block}.stat span{color:var(--muted);font-size:.75rem}.modal h3{margin:0 0 8px;font-size:.95rem}.dist{flex-direction:column;gap:4px;display:flex}.dist-row{align-items:center;gap:8px;display:flex}.dist-n{text-align:right;font-variant-numeric:tabular-nums;width:18px}.dist-bar{background:var(--board-edge);text-align:right;border-radius:4px;min-width:22px;padding:1px 6px;font-size:.8rem;font-weight:700}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.about{color:#d3d8f2;max-width:720px;margin:0 auto;padding:40px 16px 8px;line-height:1.6}.about h2{color:var(--text);margin:0 0 12px;scroll-margin-top:56px;font-size:1.35rem}.about h2+p{margin-top:0}.about h2:not(:first-child){margin-top:36px}.about h3{color:var(--text);margin:20px 0 4px;font-size:1.02rem}.about h3+p{margin-top:0}.about ul{padding-left:20px}.about strong{color:var(--text)}.noscript{text-align:center;padding:40px 16px}
