:root{--bg: #1e1f22;--surface: #2b2d31;--surface-raised: #313338;--border: #3f4147;--text: #f2f3f5;--text-muted: #949ba4;--accent: #5865f2;--notify: #ed4245;--green: #538d4e;--yellow: #b59f3b;--red: #a02020;--gray: #3a3a3c;--black: #000000;--conn-yellow: #f9df6d;--conn-green: #a0c35a;--conn-blue: #b0c4ef;--conn-purple: #ba81c5;--conn-solved-text: #121213;--conn-tile: #3a3c42;--conn-tile-selected: #5d6169;--conn-font: clamp(10px, 3.1vw, 16px);color-scheme:dark}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text)}button{font-family:inherit;color:inherit}.app{display:flex;flex-direction:column;height:100%}.app__header{display:flex;flex-wrap:nowrap;align-items:center;gap:8px 12px;padding:12px 16px;min-height:57px;border-bottom:1px solid var(--border)}[data-mobile] .app__header{padding-top:48px}.app__title{margin:0;font-size:18px;font-weight:700}.app__tabs{display:flex;gap:4px;background:var(--surface);border-radius:999px;padding:4px;min-width:0;overflow-x:auto;scrollbar-width:none}.app__tabs::-webkit-scrollbar{display:none}.app__tab{border:none;background:none;color:var(--text-muted);font-size:14px;font-weight:600;padding:6px 14px;border-radius:999px;cursor:pointer;flex-shrink:0}.app__tab--active{background:var(--accent);color:var(--text)}.app__tab-dot{display:inline-block;width:7px;height:7px;margin-left:6px;margin-bottom:1px;border-radius:50%;background:var(--notify);vertical-align:middle;box-shadow:0 0 #ed424580;animation:app-tab-dot-pulse 2.4s ease-out infinite}@keyframes app-tab-dot-pulse{0%{box-shadow:0 0 #ed424580}70%{box-shadow:0 0 0 4px #ed424500}to{box-shadow:0 0 #ed424500}}@media (prefers-reduced-motion: reduce){.app__tab-dot{animation:none}}.bonus-menu{position:relative;flex-shrink:0}.bonus-menu>.app__tab{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:13px}.bonus-menu>.app__tab.app__tab--active{background:var(--accent);border-color:var(--accent);color:var(--text)}.bonus-menu__panel{position:absolute;top:calc(100% + 8px);left:0;z-index:20;display:flex;flex-direction:column;gap:2px;width:max-content;max-width:280px;background:var(--surface-raised);border:1px solid var(--border);border-radius:10px;padding:6px;box-shadow:0 8px 24px #0006}.bonus-menu__status{padding:8px 10px;font-size:13px;color:var(--text-muted)}.bonus-menu__item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:none;background:none;border-radius:6px;padding:8px 10px;cursor:pointer;text-align:left}.bonus-menu__item:hover{background:var(--surface)}.bonus-menu__item--active{background:var(--accent)}.bonus-menu__item-title{font-size:14px;font-weight:600;color:var(--text)}.bonus-menu__item-status{font-size:12px;color:var(--text-muted)}.bonus-menu__item--active .bonus-menu__item-status{color:var(--text)}.app__tab-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E") no-repeat right 8px center;background-size:14px;color:var(--text);font-size:14px;font-weight:600;padding:8px 28px 8px 14px;border-radius:999px;cursor:pointer}.user-badge{display:flex;align-items:center;gap:8px;margin-left:auto;min-width:0;background:var(--surface);border-radius:999px;padding:4px 12px 4px 4px;font-size:13px}.user-badge__avatar{border-radius:50%;width:24px;height:24px;object-fit:cover;flex-shrink:0}.user-badge__ring{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;flex-shrink:0;background:conic-gradient(var(--accent) calc(var(--progress, 0) * 360deg),var(--border) 0deg)}.user-badge__ring .user-badge__avatar{width:22px;height:22px;border:2px solid var(--surface)}.user-badge__avatar--placeholder{display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--text);font-weight:700;font-size:11px}.user-badge__name{font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.user-badge--skeleton{--user-badge-name-w: 72px}.user-badge__name-placeholder{display:block;width:var(--user-badge-name-w);height:10px;border-radius:999px}.user-badge__skeleton-block{background:linear-gradient(90deg,var(--surface-raised) 25%,var(--border) 37%,var(--surface-raised) 63%);background-size:400% 100%;animation:badge-shimmer 1.4s ease-in-out infinite}@keyframes badge-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.app__header>.user-badge{animation:stage-fade-in .26s ease both}.app__main{flex:1;overflow:auto;display:flex;flex-direction:column;align-items:center}.stage-fade{position:relative;display:flex;flex-direction:column;align-items:center;flex:1;width:100%;min-height:0}.stage-fade__layer{display:flex;flex-direction:column;align-items:center;flex:1;width:100%;animation:stage-fade-in .32s ease both}@keyframes stage-fade-in{0%{opacity:0}to{opacity:1}}.status-screen{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--text-muted)}.status-screen--error{color:#f23f42}.status-screen--loading{flex-direction:column;gap:16px}[data-mobile] .status-screen--loading{gap:20px}.loading-screen__title{font-size:20px;font-weight:700;color:var(--text);animation:loading-message-in .32s cubic-bezier(.4,0,.2,1) both}[data-mobile] .loading-screen__title{font-size:22px}.loading-screen__title--failed{font-size:16px;line-height:1.45;max-width:330px;color:var(--text-muted)}[data-mobile] .loading-screen__title--failed{font-size:18px;max-width:340px}@keyframes loading-message-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.loading-bar{position:relative;width:260px;height:10px;border-radius:999px;background:var(--surface);overflow:hidden}[data-mobile] .loading-bar{width:340px;height:14px}.loading-bar__fill{position:absolute;top:0;left:0;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),#8b93f8)}.loading-bar__fill--a{animation:loading-bar-a 1.6s cubic-bezier(.65,.05,.36,1) infinite}.loading-bar__fill--b{animation:loading-bar-b 1.6s cubic-bezier(.65,.05,.36,1) infinite;animation-delay:.8s}@keyframes loading-bar-a{0%{left:-40%;width:40%}60%{left:100%;width:60%}to{left:100%;width:60%}}@keyframes loading-bar-b{0%{left:-60%;width:50%}60%{left:110%;width:60%}to{left:110%;width:60%}}.boot-checklist{--boot-row-h: 32px;position:relative;width:330px;height:calc(var(--boot-row-h) * var(--boot-rows, 3));margin:0;padding:0;list-style:none;overflow:hidden;transition:height .3s cubic-bezier(.4,0,.2,1)}[data-mobile] .boot-checklist{--boot-row-h: 38px;width:340px}@media (max-height: 560px){[data-mobile] .boot-checklist{--boot-row-h: 32px}.status-screen--loading,[data-mobile] .status-screen--loading{gap:12px}}@media (max-height: 460px){.boot-checklist,[data-mobile] .boot-checklist{--boot-row-h: 26px}.status-screen--loading,[data-mobile] .status-screen--loading{gap:8px}[data-mobile] .boot-checklist__status{font-size:13px}[data-mobile] .boot-checklist__label{font-size:14px}}.boot-checklist__row{position:absolute;top:0;left:0;right:0;height:var(--boot-row-h);display:flex;align-items:center;gap:10px;text-align:left;transform:translateY(calc(var(--row-offset, 0) * var(--boot-row-h)));animation:boot-row-in .26s ease both;animation-delay:calc(var(--row-offset, 0) * 40ms)}.boot-checklist__icon{position:relative;flex-shrink:0;width:14px;height:14px;display:flex;align-items:center;justify-content:center;font-size:13px;line-height:1}.boot-checklist__row[data-state=pending] .boot-checklist__icon:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--border)}.boot-checklist__row[data-state=active] .boot-checklist__icon{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:boot-spin .72s linear infinite}.boot-checklist__row[data-state=done] .boot-checklist__icon:before{content:"✓";color:var(--green);font-weight:700}.boot-checklist__row[data-state=failed] .boot-checklist__icon:before{content:"✕";color:#f23f42;font-weight:700}.boot-checklist__status{flex-shrink:0;width:58px;font-size:13px;color:var(--text-muted);transition:opacity .3s ease}[data-mobile] .boot-checklist__status{width:68px;font-size:15px}.boot-checklist__label{flex:1;min-width:0;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .3s ease}[data-mobile] .boot-checklist__label{font-size:16px}.boot-checklist__row[data-state=done] .boot-checklist__label,.boot-checklist__row[data-state=done] .boot-checklist__status{opacity:.7}.boot-checklist__row[data-state=pending] .boot-checklist__label,.boot-checklist__row[data-state=pending] .boot-checklist__status{color:var(--text-muted);opacity:.45}.boot-checklist__timing{flex-shrink:0;font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}@keyframes boot-spin{to{transform:rotate(360deg)}}@keyframes boot-row-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.boot-checklist{transition:none}.boot-checklist__row{animation:none}.boot-checklist__row[data-state=active] .boot-checklist__icon{border-color:var(--accent);animation:boot-pulse 1.4s ease-in-out infinite}.user-badge__skeleton-block{background:var(--surface-raised);animation:boot-pulse 1.4s ease-in-out infinite}.app__header>.user-badge{animation:none}}@keyframes boot-pulse{0%,to{opacity:1}50%{opacity:.3}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.start-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center}.start-screen__name{font-size:24px;font-weight:800;color:var(--text)}.start-screen__title{font-size:17px;font-weight:600;font-style:italic;color:var(--text)}.start-screen__date{font-size:15px;color:var(--text-muted)}.start-screen__meta{font-size:13px;color:var(--text-muted);margin-bottom:8px}.start-screen__byline{font-size:12px;color:var(--text-muted);margin-bottom:8px}.start-screen__button{background:var(--accent);border:none;border-radius:999px;color:#fff;font-size:16px;font-weight:700;padding:12px 48px;cursor:pointer}.start-screen__button:hover{background:#4752c4}.start-screen__button--secondary{background:transparent;border:1px solid var(--border);color:var(--text);margin-top:8px}.start-screen__button--secondary:hover{background:var(--surface-raised)}.connection-lost{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100}.connection-lost__box{display:flex;flex-direction:column;align-items:center;gap:12px;background:var(--surface-raised);border:1px solid var(--border);border-radius:16px;padding:28px 36px}.connection-lost__title{font-size:18px;font-weight:700;color:var(--text)}.connection-lost__message{font-size:14px;color:var(--text-muted)}.app__archive-button{flex-shrink:0;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:13px;font-weight:600;padding:6px 14px;border-radius:999px;cursor:pointer}.archive-picker{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100}.archive-picker__box{display:flex;flex-direction:column;gap:12px;background:var(--surface-raised);border:1px solid var(--border);border-radius:16px;padding:20px;width:min(340px,90vw)}.archive-picker__box--wide{width:min(480px,90vw)}.archive-picker__header{display:flex;align-items:center;justify-content:space-between}.archive-picker__title{margin:0;font-size:18px;font-weight:700}.archive-picker__close{border:none;background:none;color:var(--text-muted);font-size:16px;cursor:pointer}.archive-picker__nav{display:flex;align-items:center;gap:6px}.archive-picker__nav-arrow{border:none;background:var(--surface);color:var(--text);font-size:18px;width:28px;height:28px;border-radius:8px;cursor:pointer}.archive-picker__nav-arrow:disabled{color:var(--text-muted);opacity:.4;cursor:default}.archive-picker__select{flex:1;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:6px 8px;font-size:13px}.shortcuts-modal__list{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.shortcuts-modal__item{display:flex;align-items:center;gap:12px}.shortcuts-modal__keys{flex:0 0 auto;min-width:110px;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:3px 8px;font-size:12px;font-weight:600;text-align:center}.shortcuts-modal__description{color:var(--text-muted);font-size:13px}.puzzle-notes-modal__list{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.puzzle-notes-modal__item{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.4;color:var(--text)}.archive-picker__weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:11px;color:var(--text-muted);font-weight:700}.archive-picker__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.archive-picker__cell{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:none;background:var(--surface);color:var(--text);font-size:13px;border-radius:8px;cursor:pointer}.archive-picker__cell:hover:not(:disabled){background:var(--accent)}.archive-picker__cell:disabled{background:none;color:var(--text-muted);opacity:.35;cursor:default}.archive-picker__cell--blank{background:none;cursor:default}.archive-picker__cell--completed{background:var(--green)}.archive-picker__check{position:absolute;bottom:1px;right:3px;font-size:9px;font-weight:700}.puzzle{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px;--cell-max-size: min(80px, calc((100dvh - 220px) / var(--puzzle-rows, 5) - 4px));--puzzle-max-width: calc( var(--puzzle-cols, 5) * var(--cell-max-size) + (var(--puzzle-cols, 5) - 1) * 4px );--grid-height: calc( var(--puzzle-rows, 5) * var(--cell-max-size) + (var(--puzzle-rows, 5) - 1) * 4px );width:min(100%,var(--puzzle-max-width))}[data-mobile] .puzzle{padding-left:12px;padding-right:12px;--puzzle-max-width: 100vw}.puzzle--mobile{padding-bottom:180px}[data-puzzle-type=crossword] .cell{font-size:clamp(8px,2.5vw,16px)}[data-puzzle-type=crossword] .cell__label{font-size:7px}.keyboard{position:fixed;bottom:0;left:0;right:0;display:flex;flex-direction:column;gap:6px;padding:8px 4px;background:var(--surface);border-top:1px solid var(--border)}.keyboard__row{display:flex;justify-content:center;gap:5px}.keyboard__key{flex:1;max-width:38px;height:44px;background:var(--surface-raised);border:none;border-radius:6px;color:var(--text);font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center}.keyboard__key--backspace{max-width:52px;font-size:18px}.keyboard__key[data-state=correct]{background:var(--green);color:#fff}.keyboard__key[data-state=present]{background:var(--yellow);color:#fff}.keyboard__key[data-state=absent]{background:var(--gray);color:var(--text-muted)}.puzzle__header{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:8px;width:100%;max-width:var(--puzzle-max-width);min-height:28px}.puzzle__vote-banner{display:flex;align-items:center;gap:8px;flex-shrink:1;min-width:0;height:28px;padding:0 8px 0 12px;border-radius:8px;background:var(--surface);color:var(--text-muted);font-size:.8rem;outline:2px solid var(--yellow);outline-offset:2px;animation:vote-pending-pulse 1.2s ease-in-out infinite}.puzzle__vote-banner-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.puzzle__vote-banner-voters{display:flex;flex-shrink:0;gap:0}.puzzle__vote-banner-avatar{width:16px;height:16px;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:0 0 0 1px var(--surface)}.puzzle__vote-banner-avatar+.puzzle__vote-banner-avatar{margin-left:-5px}.puzzle__vote-banner-avatar--overflow{display:flex;align-items:center;justify-content:center;width:auto;min-width:16px;padding:0 3px;border-radius:999px;background:var(--surface-raised);color:var(--text);font-weight:700;font-size:9px}.puzzle__vote-banner-avatar--placeholder{display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-weight:700;font-size:9px}.puzzle__vote-banner button{background:var(--accent);border:none;border-radius:6px;color:#fff;font-size:.75rem;font-weight:600;padding:4px 10px;cursor:pointer}.puzzle__vote-banner button:disabled{background:var(--surface-raised);color:var(--text-muted);cursor:default}.puzzle__presence{display:flex;gap:6px;order:-1;margin-right:auto;flex-shrink:0}.puzzle__presence-item{position:relative}.puzzle__presence-item .user-badge__avatar{display:block}.puzzle__presence-item--spectator .user-badge__avatar{opacity:.4;filter:grayscale(1)}.puzzle__presence-bench{position:absolute;bottom:-4px;right:-4px;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:var(--surface-raised);color:var(--text-muted);font-size:9px;line-height:16px;text-align:center;cursor:pointer;opacity:0;transition:opacity .1s ease}.puzzle__presence-item:hover .puzzle__presence-bench,.puzzle__presence-bench:focus-visible{opacity:1}.puzzle__presence-bench:disabled{cursor:default}.puzzle__presence-item--you:not(:last-child){padding-right:6px;border-right:1px solid var(--border)}.puzzle__main,.puzzle__side{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:var(--puzzle-max-width)}.timer{font-variant-numeric:tabular-nums;font-weight:600;color:var(--text-muted);background:var(--surface);border-radius:8px;padding:4px 10px;flex-shrink:0}.grid__mobile-input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;top:0;left:0}.puzzle__grid{position:relative;display:grid;gap:4px;width:100%;max-width:var(--puzzle-max-width);outline:none}.puzzle__grid-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.cell{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1;width:100%;min-width:0;overflow:hidden;container-type:size;background:var(--surface-raised);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:clamp(16px,4vw,24px);font-weight:600;cursor:pointer;padding:0;text-transform:uppercase;transition:background-color .12s ease,border-color .12s ease}.cell__letter--rebus{font-size:.42em}.cell--wrong{background:#f23f42!important;border-color:#f23f42!important;color:#fff}.cell--wrong.cell--selected{outline:3px solid #fff;outline-offset:-3px}.cell:disabled{cursor:default}.cell--black{background:var(--black);border-color:var(--black)}.cell--shaded{background:var(--gray)}.cell--selected{background:var(--accent);border-color:var(--accent)}.cell--highlighted{background:#4046a8;border-color:#4046a8}.cell--state-correct{background:var(--green);border-color:var(--green);color:#fff}.cell--state-corrected{background:var(--yellow);border-color:var(--yellow);color:#fff}.cell--state-revealed{background:var(--red);border-color:var(--red);color:#fff}.cell--state-correct.cell--selected,.cell--state-corrected.cell--selected,.cell--state-revealed.cell--selected,.cell--state-correct.cell--highlighted,.cell--state-corrected.cell--highlighted,.cell--state-revealed.cell--highlighted{outline:2px solid #fff;outline-offset:-2px}.cell--locked{background:#538d4e2e;border-color:#538d4e66;cursor:default}.cell--locked.cell--selected{background:#538d4e2e;outline:3px solid var(--accent);outline-offset:-3px}.cell--locked-revealed{background:#b854502e;border-color:#b8545066}.cell--locked-revealed.cell--selected{background:#b854502e;outline:3px solid var(--accent);outline-offset:-3px}.cell--locked-corrected{background:#b59f3b2e;border-color:#b59f3b66}.cell--locked-corrected.cell--selected{background:#b59f3b2e;outline:3px solid var(--accent);outline-offset:-3px}.cell--locked.cell--highlighted{background:#4046a859;border-color:#4046a8b3}.cell--admire-selected,.cell--admire-highlighted{outline:2px solid #fff;outline-offset:-2px}.cell--remote-cursor{outline:2px dashed rgba(255,255,255,.6);outline-offset:-2px}.cell--vote-pending{outline:2px solid var(--yellow);outline-offset:-2px;animation:vote-pending-pulse 1.2s ease-in-out infinite}@keyframes vote-pending-pulse{0%,to{outline-color:var(--yellow)}50%{outline-color:transparent}}.cell__remote-cursors{position:absolute;bottom:4cqh;right:5cqw;display:flex;gap:0}.cell__remote-cursor-avatar{width:26cqw;height:26cqw;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:0 0 0 1px #0000008c}.cell__remote-cursor-avatar+.cell__remote-cursor-avatar{margin-left:-8cqw}.cell__remote-cursor-avatar--overflow{display:flex;align-items:center;justify-content:center;width:auto;min-width:26cqw;padding:0 2cqw;border-radius:999px;background:var(--surface);color:var(--text);font-weight:700;font-size:15cqw}.cell__remote-cursor-avatar--placeholder{display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-weight:700;font-size:8px}.cell__label{position:absolute;top:2px;left:4px;font-size:10px;font-weight:500;color:var(--text-muted)}.cell__circle{position:absolute;top:10%;left:10%;width:80%;height:80%;border:2px solid currentColor;border-radius:50%;opacity:.6;pointer-events:none}.cell--selected .cell__label,.cell--highlighted .cell__label,.cell--state-correct .cell__label,.cell--state-corrected .cell__label,.cell--state-revealed .cell__label{color:#ffffffbf}.puzzle__toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;width:100%;max-width:var(--puzzle-max-width)}.puzzle__continue-button{width:100%;max-width:var(--puzzle-max-width);background:var(--accent);border:none;border-radius:999px;color:#fff;font-size:15px;font-weight:700;padding:10px 16px;cursor:pointer}.puzzle__continue-button:hover:not(:disabled){background:#4752c4}.puzzle__continue-button:disabled{opacity:.7;cursor:default}.toolbar__button{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;font-weight:600;padding:7px 10px;white-space:nowrap;cursor:pointer}.toolbar__button:hover:not(:disabled){background:var(--surface-raised)}.toolbar__button:disabled{color:var(--text-muted);cursor:default;opacity:.6}.toolbar__button--active{background:var(--accent);border-color:var(--accent);color:#fff}.toolbar__button--active:hover:not(:disabled){background:var(--accent)}.toolbar__button--ghost{margin-left:auto;background:none}.toolbar__button--icon{margin-left:auto;padding:7px 10px}.toolbar__button--ghost+.toolbar__button--icon{margin-left:0}.toolbar__menu{position:relative}.toolbar__menu:before{content:"";position:absolute;bottom:100%;left:0;right:0;height:4px}.toolbar__menu-items{display:none;position:absolute;bottom:calc(100% + 4px);left:0;flex-direction:column;min-width:110px;background:var(--surface-raised);border:1px solid var(--border);border-radius:8px;overflow:hidden;z-index:10}.toolbar__menu:hover .toolbar__menu-items,.toolbar__menu:focus-within .toolbar__menu-items{display:flex}.toolbar__menu-items button{background:none;border:none;text-align:left;padding:8px 12px;font-size:13px;cursor:pointer;color:var(--text)}.toolbar__menu-items button:hover:not(:disabled){background:var(--surface)}.toolbar__menu-items button:disabled{color:var(--text-muted);cursor:default}.clue-bar{display:flex;align-items:stretch;width:100%;max-width:var(--puzzle-max-width);background:var(--surface);border-radius:8px;font-size:14px;overflow:hidden}.clue-bar__content{flex:1 1 auto;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;padding:10px 8px}.clue-bar__label{font-weight:700;white-space:nowrap;color:var(--accent)}.clue-bar__text{flex:1 1 auto;min-width:0;overflow-wrap:break-word}.clue-bar__nav{flex-shrink:0;width:32px;background:var(--surface-raised);border:none;color:var(--text-muted);font-size:18px;line-height:1;cursor:pointer}.clue-bar__nav:hover{color:var(--text);background:var(--border)}.clue-list{display:flex;gap:16px;width:100%;max-width:var(--puzzle-max-width)}.clue-list__column{flex:1;min-width:0}.clue-list__heading{margin:0 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.clue-list__items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.clue-list__item{display:flex;gap:6px;width:100%;text-align:left;background:none;border:none;border-radius:6px;padding:4px 6px;font-size:13px;cursor:pointer}.clue-list__item:hover{background:var(--surface)}.clue-list__item--active{background:var(--surface-raised);color:var(--accent)}.clue-list__item--related{background:var(--surface);color:var(--accent)}.clue-list__item-label{font-weight:700;color:var(--text-muted);flex-shrink:0}.clue-list__item-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clue-bar-slot{width:100%}.clue-bar-slot--sidebar{display:none}@media (min-width: 900px){.app:not([data-mobile]) .puzzle{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:12px 24px;width:min(100%,calc(var(--puzzle-max-width) + 356px))}.app:not([data-mobile]) .puzzle>.puzzle__header{flex-basis:100%}.app:not([data-mobile]) .puzzle>.puzzle__main{display:flex;flex-direction:column;gap:10px;flex:1 1 auto;min-width:0}.app:not([data-mobile]) .puzzle>.puzzle__side{display:flex;flex-direction:column;gap:18px;width:300px;flex-shrink:0}.app:not([data-mobile]) .clue-bar-slot--stacked{display:none}.app:not([data-mobile]) .clue-bar-slot--sidebar{display:block}.app:not([data-mobile]) .puzzle>.puzzle__side{max-height:calc(var(--grid-height) + 10px + 36px)}.app:not([data-mobile]) .puzzle>.puzzle__side .clue-list{flex:1 1 auto;flex-direction:column;min-height:0;overflow-y:auto;padding-right:4px}.app:not([data-mobile]) .puzzle>.puzzle__side .clue-list__column{flex:none}}.results-panel{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px 16px;--results-max-width: 480px;width:min(100%,var(--results-max-width))}[data-mobile] .results-panel{--results-max-width: 100vw;padding:24px 12px}.results-panel__streak{display:flex;align-items:center;gap:6px;background:var(--surface);border-radius:999px;padding:8px 18px;font-size:15px}.results-panel__streak-flame{font-size:18px}.results-panel__streak-count{font-weight:800;font-size:18px}.results-panel__streak-label{color:var(--text-muted)}.results-panel__heading{margin:0;font-size:16px;color:var(--text-muted);font-weight:600}.results-panel__players{display:flex;flex-direction:column;gap:12px;width:100%;max-width:var(--results-max-width)}.results-panel__admire-button{width:100%;max-width:var(--results-max-width);background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;font-weight:600;padding:10px 16px;cursor:pointer}.results-panel__admire-button:hover{background:var(--surface-raised)}.player-card{background:var(--surface);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px}.player-card--you{outline:2px solid var(--accent)}.player-card__identity{display:flex;align-items:center;gap:8px}.player-card__avatar{border-radius:50%;width:32px;height:32px;object-fit:cover}.player-card__avatar--placeholder{display:flex;align-items:center;justify-content:center;background:var(--accent);font-weight:700;font-size:14px}.player-card__name{font-weight:600;flex:1;display:flex;align-items:center;gap:6px}.player-card__crown{font-size:14px}.player-card__time{font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:13px}.mini-grid{display:grid;gap:3px;max-width:160px}.mini-cell{aspect-ratio:1;border-radius:2px}.mini-cell--black{background:var(--black)}.mini-cell--green{background:var(--green)}.mini-cell--yellow{background:var(--yellow)}.mini-cell--red{background:var(--red)}.collab-results__participants{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.collab-results__participant{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted)}.collab-results__participant-pct{font-weight:600;color:var(--accent)}.connections{display:flex;flex-direction:column;align-items:center;gap:12px;--conn-tile-w: 150px;--conn-tile-h: 80px;--conn-gap: 8px;--conn-pad: 16px;--conn-max-width: calc(4 * var(--conn-tile-w) + 3 * var(--conn-gap) + 2 * var(--conn-pad));padding:var(--conn-pad);width:min(100%,var(--conn-max-width))}[data-mobile] .connections{--conn-pad: 8px;padding:12px var(--conn-pad)}.connections__prompt{font-size:14px;color:var(--text-muted)}.connections__board{display:flex;flex-direction:column;gap:var(--conn-gap);width:100%}.connections__tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--conn-gap)}.connections--3x3 .connections__tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.connections__tile{height:var(--conn-tile-h);display:flex;align-items:center;justify-content:center;text-align:center;padding:4px;border:none;border-radius:8px;background:var(--conn-tile);color:var(--text);font-weight:700;font-size:var(--conn-font);line-height:1.1;text-transform:uppercase;cursor:pointer;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;transition:background-color .12s ease}.connections__tile[data-long]{font-size:clamp(8px,2.4vw,12px)}.connections__tile:disabled{cursor:default}.connections__tile:active:not(:disabled){transform:scale(.96)}.connections__tile--selected{background:var(--conn-tile-selected)}.connections__tile[data-bounce]{animation:conn-bounce .3s ease;animation-delay:calc(var(--bounce-index, 0) * 90ms)}@keyframes conn-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-11px)}}.connections__tile[data-shake]{animation:conn-shake .4s ease}@keyframes conn-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.connections__banner{min-height:var(--conn-tile-h);animation:conn-banner-in .3s cubic-bezier(.2,.7,.3,1) both;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 12px;border-radius:8px;color:var(--conn-solved-text);text-align:center}.connections__banner[data-revealed]{animation:conn-banner-reveal .3s cubic-bezier(.2,.7,.3,1) both;animation-delay:calc(var(--reveal-index, 0) * .42s)}@keyframes conn-banner-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@keyframes conn-banner-reveal{0%{opacity:0;transform:scale(.94)}to{opacity:.55;transform:none}}.connections__banner--yellow{background:var(--conn-yellow)}.connections__banner--green{background:var(--conn-green)}.connections__banner--blue{background:var(--conn-blue)}.connections__banner--purple{background:var(--conn-purple)}.connections__banner-title{font-weight:800;font-size:var(--conn-font);line-height:1.15;text-transform:uppercase;letter-spacing:.02em}.connections__banner-members{font-size:var(--conn-font);line-height:1.15;overflow-wrap:anywhere}.connections__message{min-height:20px;font-size:14px;font-weight:600;color:var(--text)}.connections__message>span{display:inline-block;animation:conn-message-in .22s cubic-bezier(.2,.7,.3,1) both}@keyframes conn-message-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.connections__tile[data-shake],.connections__tile[data-bounce],.connections__banner,.connections__banner[data-revealed],.connections__message>span{animation:none}.connections__tile:active:not(:disabled){transform:none}.connections__banner[data-revealed]{opacity:.55}}.connections__lives{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted)}.connections__lives-label{margin-right:2px}.connections__life{width:10px;height:10px;border-radius:50%;background:var(--text-muted)}.connections__life[data-spent]{background:var(--border)}.connections__controls{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.connections__button{border:1px solid var(--border);background:none;color:var(--text);font-size:14px;font-weight:600;padding:10px 18px;border-radius:999px;cursor:pointer}.connections__button:disabled{opacity:.4;cursor:default}.connections__button--primary{background:var(--accent);border-color:var(--accent)}.connections__dev-reset{margin-top:16px;align-self:center;background:none}.connections-answers{display:flex;flex-direction:column;gap:6px;width:100%;--conn-tile-h: auto}.results-panel__header{display:flex;flex-direction:column;align-items:center;gap:2px}.results-panel__title{font-size:20px;font-weight:700}.results-panel__date{font-size:13px;color:var(--text-muted)}.connections-share{display:flex;flex-direction:column;gap:3px}.connections-share__row{display:flex;gap:3px}.connections-share__cell{width:16px;height:16px;border-radius:3px;background:var(--gray)}.connections-share__cell--yellow{background:var(--conn-yellow)}.connections-share__cell--green{background:var(--conn-green)}.connections-share__cell--blue{background:var(--conn-blue)}.connections-share__cell--purple{background:var(--conn-purple)}.wordle1{display:flex;flex-direction:column;align-items:center;gap:16px;padding:16px;width:100%;max-width:420px;margin:0 auto}.wordle1__rounds{display:flex;align-items:center;gap:6px}.wordle1__round-nav{background:none;border:none;color:var(--text);cursor:pointer;font-size:20px;line-height:1;padding:4px 6px}.wordle1__round-nav:disabled{color:var(--text-muted);cursor:default;opacity:.4}.wordle1__round-pill{width:28px;height:28px;border-radius:50%;border:none;background:var(--surface-raised);color:var(--text-muted);font-weight:700;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center}.wordle1__round-pill--active{background:var(--accent);color:#fff}.wordle1__round-pill--solved{background:var(--green);color:#fff}.wordle1__message{min-height:20px;font-size:14px;color:var(--yellow);text-align:center}.wordle1__board{display:flex;flex-direction:column;gap:6px;width:100%}.wordle1__row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.wordle1__row[data-active] .wordle1__tile{border-color:var(--text-muted)}.wordle1__tile{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:2px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-weight:700;font-size:clamp(16px,6vw,26px);text-transform:uppercase}.wordle1__tile[data-filled]{border-color:var(--text-muted)}.wordle1__tile--correct{background:var(--green);border-color:var(--green);color:#fff}.wordle1__tile--present{background:var(--yellow);border-color:var(--yellow);color:#fff}.wordle1__tile--absent{background:var(--gray);border-color:var(--gray);color:var(--text)}.wordle1__controls{display:flex;justify-content:center;width:100%}@keyframes wordle1-flip{0%,49.9%{transform:rotateX(0);background:var(--surface);border-color:var(--text-muted);color:var(--text)}50%{transform:rotateX(90deg);background:var(--reveal-bg);border-color:var(--reveal-bg);color:#fff}to{transform:rotateX(0);background:var(--reveal-bg);border-color:var(--reveal-bg);color:#fff}}@keyframes wordle1-bounce{0%,to{transform:translateY(0)}30%{transform:translateY(-14px)}50%{transform:translateY(0)}70%{transform:translateY(-6px)}}.wordle1__tile--revealing{animation:wordle1-flip .48s ease-in-out both}.wordle1__tile--revealing.wordle1__tile--correct{--reveal-bg: var(--green)}.wordle1__tile--revealing.wordle1__tile--present{--reveal-bg: var(--yellow)}.wordle1__tile--revealing.wordle1__tile--absent{--reveal-bg: var(--gray)}.wordle1__tile--bounce{animation:wordle1-bounce .5s ease-in-out}
