:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#121213;--panel:#1a1a1b;--text:#f8f8f8;--muted:#818384;--disabled:#565758;--line:#3a3a3c;--tile-border:#3a3a3c;--tile-filled:#565758;--key:#818384;--absent:#3a3a3c;--present:#b59f3b;--correct:#538d4e;--focus:#6aaa64;--focus-glow:#6aaa6438;--toast-bg:#f8f8f8;--toast-text:#121213;color:var(--text);background:var(--page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--page);margin:0}button,input,select{font-family:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.app{min-height:100svh;color:var(--text);background:var(--page)}.topbar{border-bottom:1px solid var(--line);box-sizing:border-box;grid-template-columns:1fr auto 1fr;align-items:center;height:50px;padding:0 16px;display:grid}.topbar h1{color:var(--text);letter-spacing:0;text-align:center;margin:0;font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:700;line-height:1}.topbar-side{align-items:center;gap:4px;display:flex}.topbar-side-left{justify-content:flex-start}.topbar-side-right{justify-content:flex-end}.icon-button{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;transition:color .12s,background-color .12s;display:inline-grid}.icon-button svg{width:22px;height:22px;display:block}.icon-button:hover{color:var(--text);background:var(--key)}.icon-button:focus-visible{outline:2px solid var(--text);outline-offset:2px}.icon-button:disabled{color:var(--disabled);cursor:default;background:0 0}.centered-state{text-align:center;place-content:center;justify-items:center;gap:14px;width:min(100%,420px);min-height:100svh;margin:0 auto;padding:24px;display:grid}.centered-state h1,.centered-state p{margin:0}.centered-state h1{font-family:Georgia,Times New Roman,serif;font-size:2rem}.centered-state p{color:var(--muted);font-size:.95rem;font-weight:700;line-height:1.4}.primary-action{color:#fff;text-transform:uppercase;cursor:pointer;background:#5865f2;border:0;border-radius:4px;height:42px;padding:0 16px;font-size:.88rem;font-weight:900}.game{box-sizing:border-box;grid-template-rows:auto 1fr auto auto;align-items:center;width:min(100%,520px);min-height:calc(100svh - 50px);margin:0 auto;padding:8px 14px 16px;display:grid}.puzzle-meta{min-height:28px;color:var(--muted);text-transform:uppercase;justify-content:center;align-items:center;gap:12px;font-size:.78rem;font-weight:700;display:flex}.puzzle-meta-tag{border:1px solid var(--line);color:var(--muted);letter-spacing:.06em;background:0 0;border-radius:4px;padding:1px 6px;font-size:.64rem;font-weight:700}.toast{z-index:10;min-width:148px;max-width:calc(100vw - 32px);color:var(--toast-text);background:var(--toast-bg);text-align:center;opacity:0;pointer-events:none;border-radius:4px;padding:13px 18px;font-weight:700;transition:opacity .16s,transform .16s;position:fixed;top:68px;left:50%;transform:translate(-50%,-8px)}.toast.visible{opacity:1;transform:translate(-50%)}.board{gap:5px;width:min(350px,100vw - 32px);margin:0 auto;display:grid}.board-row{grid-template-columns:repeat(5,1fr);gap:5px;display:grid}.board-row.shake{animation:.5s shake}.tile{aspect-ratio:1;box-sizing:border-box;text-transform:uppercase;transform-style:preserve-3d;-webkit-user-select:none;user-select:none;font-size:2rem;font-weight:800;line-height:1;position:relative}.tile-face{backface-visibility:hidden;transition:transform .8s ease-in-out;transition-delay:var(--reveal-delay);place-items:center;display:grid;position:absolute;inset:0}.tile-front{border:2px solid var(--tile-border);color:var(--text);background:var(--page);transform:rotateX(0)}.tile-back{color:#fff;background:var(--absent);border:2px solid #0000;transform:rotateX(180deg)}.tile.filled.empty{animation:.1s ease-in pop}.tile.filled.empty .tile-front{border-color:var(--tile-filled)}.tile.absent .tile-back{background:var(--absent)}.tile.present .tile-back{background:var(--present)}.tile.correct .tile-back{background:var(--correct)}.board-row.complete .tile-front{transform:rotateX(180deg)}.board-row.complete .tile-back{transform:rotateX(0)}.board-row.win .tile{animation:bounce .7s ease var(--bounce-delay) both}.keyboard{touch-action:manipulation;gap:8px;width:min(100%,500px);margin:18px auto 0;display:grid}.keyboard-row{justify-content:center;gap:6px;display:flex}.key{color:#fff;background:var(--key);cursor:pointer;-webkit-user-select:none;user-select:none;border:0;border-radius:4px;flex:1 1 0;justify-content:center;align-items:center;min-width:0;max-width:43px;height:58px;padding:0;transition:background-color .24s ease-in-out;display:inline-flex}.key-label{text-transform:uppercase;font-size:1.2rem;font-weight:700;line-height:1}.key-action-label{letter-spacing:.05em;text-transform:uppercase;font-size:.8125rem;font-weight:700;line-height:1}.key.wide{flex:1.5 1 0;max-width:65px}.backspace-icon{width:22px;height:22px;display:block}.key.absent,.key.present,.key.correct{color:#fff}.key.absent{background:var(--absent)}.key.present{background:var(--present)}.key.correct{background:var(--correct)}.peer-rail{z-index:5;gap:10px;width:108px;display:grid;position:fixed;top:64px;left:14px}.peer{border:2px solid var(--line);background:#121213eb;border-radius:6px;justify-items:center;gap:6px;min-width:0;padding:8px 7px;transition:border-color .2s;display:grid;box-shadow:0 8px 24px #00000038}.peer-playing{border-color:var(--line)}.peer-won{border-color:var(--correct)}.peer-lost{border-color:var(--present)}.peer-header{justify-content:center;align-items:center;gap:4px;min-width:0;max-width:94px;display:flex}.peer-rank{color:#fff;background:var(--correct);letter-spacing:.02em;border-radius:999px;flex:none;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.62rem;font-weight:900;display:inline-grid}.peer-name,.peer-status{min-width:0;max-width:94px;color:var(--muted);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.72rem;font-weight:800;overflow:hidden}.peer-won .peer-status{color:var(--correct)}.peer-lost .peer-status{color:var(--present)}.leaderboard{flex-direction:column;flex:1;min-height:0;display:flex}.leaderboard-tabs{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.leaderboard-tabs button{border:1px solid var(--line);height:34px;color:var(--muted);background:var(--panel);text-transform:uppercase;cursor:pointer;border-radius:4px;font-size:.76rem;font-weight:900}.leaderboard-tabs button.active{border-color:var(--correct);color:var(--text)}.leaderboard-head{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--line);margin-top:14px;padding:0 12px 6px;font-size:.62rem;font-weight:900}.leaderboard-list{gap:4px;margin-top:6px;display:grid;overflow-y:auto}.leaderboard-row-daily,.leaderboard-row-all{align-items:center;column-gap:8px;display:grid}.leaderboard-row-daily{grid-template-columns:24px 1fr 64px}.leaderboard-row-all{grid-template-columns:24px 1fr 28px 40px 36px 52px}.leaderboard-row,.empty-row{min-height:36px;color:var(--muted);background:var(--panel);text-transform:uppercase;border-radius:6px;padding:0 12px;font-size:.78rem;font-weight:800}.leaderboard-row{align-items:center}.leaderboard-row strong{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.leaderboard-row span:not(:first-child),.leaderboard-head span:not(:nth-child(2)){text-align:right}.leaderboard-head span:first-child,.leaderboard-row span:first-child{text-align:left}.empty-row{grid-template-columns:1fr;place-items:center;display:grid}.mini-board{gap:2px;display:grid}.mini-row{grid-template-columns:repeat(5,11px);gap:2px;display:grid}.mini-tile{background:var(--tile-border);width:11px;height:11px}.mini-tile.absent{background:var(--absent)}.mini-tile.present{background:var(--present)}.mini-tile.correct{background:var(--correct)}.archive-actions{flex-shrink:0;grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.archive-actions button{height:40px;color:var(--text);background:var(--key);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;border:0;border-radius:4px;font-size:.78rem;font-weight:900;transition:filter .12s}.archive-actions button:hover{filter:brightness(1.1)}.archive-search{border:1px solid var(--line);width:100%;min-height:48px;color:var(--text);background:var(--panel);appearance:none;border-radius:4px;flex-shrink:0;padding:0 14px;font-size:1rem;font-weight:400;line-height:normal;transition:border-color .12s,box-shadow .12s}.archive-search::-webkit-search-decoration{appearance:none}.archive-search::-webkit-search-cancel-button{appearance:none}.archive-search::placeholder{color:var(--muted);font-weight:400}.archive-search:focus{border-color:var(--focus);box-shadow:0 0 0 2px var(--focus-glow);outline:none}.archive-search-hint{color:var(--muted);flex-shrink:0;margin:0;font-size:.72rem;font-weight:600;line-height:1.4}.archive-list-wrap{flex:1;width:calc(100% + 12px);min-height:0;margin-right:-12px;overflow:hidden}.archive-list-scroll{box-sizing:content-box;scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--muted) 80%, transparent) transparent;width:calc(100% - 12px);height:100%;padding-right:12px;overflow:hidden auto}.archive-list-scroll:hover{scrollbar-color:var(--muted) transparent}.archive-list-scroll::-webkit-scrollbar{width:10px}.archive-list-scroll::-webkit-scrollbar-track{background:0 0}.archive-list-scroll::-webkit-scrollbar-thumb{background-color:color-mix(in srgb, var(--muted) 80%, transparent);background-clip:padding-box;border:2px solid #0000;border-radius:999px}.archive-list-scroll::-webkit-scrollbar-thumb:hover{background-color:var(--muted);background-clip:padding-box}.archive-list-scroll::-webkit-scrollbar-thumb:active{background-color:var(--muted);background-clip:padding-box}.archive-list{box-sizing:border-box;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));align-content:start;gap:6px;width:100%;padding:4px 0;display:grid}.archive-item{border:1px solid var(--line);height:60px;color:var(--text);background:var(--panel);font:inherit;cursor:pointer;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 6px;transition:border-color .12s,transform .12s;display:flex}.archive-item:hover{border-color:var(--correct);transform:translateY(-1px)}.archive-item.selected{border-color:var(--correct);background:color-mix(in srgb, var(--correct) 14%, var(--panel))}.archive-num{font-size:.9rem;font-weight:900}.archive-date{letter-spacing:.02em;color:var(--muted);text-align:center;font-size:.6rem;font-weight:700}.archive-empty{color:var(--muted);text-align:center;grid-column:1/-1;margin:0;padding:28px 12px;font-size:.82rem;font-weight:600;line-height:1.45}.dialog-layer{z-index:30;opacity:0;pointer-events:none;place-items:center;padding:16px;transition:opacity .2s;display:grid;position:fixed;inset:0}.dialog-layer.open{opacity:1;pointer-events:auto}.dialog-backdrop{cursor:pointer;background:#0000008c;border:0;position:absolute;inset:0}.dialog-card{border:1px solid var(--line);width:min(100%,460px);max-height:min(82svh,640px);color:var(--text);background:var(--page);will-change:transform;border-radius:12px;flex-direction:column;gap:14px;padding:18px 20px 20px;transition:transform .22s cubic-bezier(.2,.8,.2,1);display:flex;position:relative;overflow:hidden;transform:translateY(8px)scale(.98);box-shadow:0 24px 60px #00000073}.dialog-card-wide{width:min(100%,540px);height:min(82svh,640px)}.dialog-card-confirm{width:min(100%,380px);max-height:none}.dialog-layer.open .dialog-card{transform:translateY(0)scale(1)}.dialog-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;display:flex}.dialog-header h2{letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:900}.dialog-close{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;transition:color .12s,background-color .12s;display:inline-grid}.dialog-close svg{width:18px;height:18px}.dialog-close:hover{color:var(--text);background:var(--key)}.dialog-body{color:var(--muted);margin:0;font-size:.92rem;line-height:1.45}.dialog-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:4px;display:grid}.dialog-secondary,.dialog-primary{height:42px;font:inherit;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;border:0;border-radius:6px;font-size:.82rem;font-weight:900;transition:filter .12s,background-color .12s}.dialog-secondary{color:var(--text);background:var(--key)}.dialog-secondary:hover{background:var(--line)}.dialog-primary{color:#fff;background:var(--correct)}.dialog-primary:hover{filter:brightness(1.08)}@keyframes pop{0%{opacity:.85;transform:scale(.82)}50%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,20%{transform:translateY(0)}40%{transform:translateY(-26px)}50%{transform:translateY(4px)}60%{transform:translateY(-12px)}80%{transform:translateY(2px)}to{transform:translateY(0)}}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}@media (width<=420px){.topbar{grid-template-columns:1fr auto 1fr;padding:0 8px}.topbar h1{font-size:1.48rem}.topbar-side{gap:2px}.icon-button{width:34px;height:34px}.icon-button svg{width:20px;height:20px}.game{padding-inline:8px}.tile{font-size:1.75rem}.keyboard-row{gap:5px}.key{max-width:36px;height:52px}.key-label{font-size:1.05rem}.key-action-label{letter-spacing:.04em;font-size:.72rem}.key.wide{max-width:54px}.backspace-icon{width:18px;height:18px}}@media (width<=760px){.peer-rail{gap:8px;width:min(350px,100vw - 32px);margin:10px auto -2px;padding:0 0 2px;display:flex;position:static;overflow-x:auto}.peer{min-width:88px;box-shadow:none}}
