.signin-scrim-wrap{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.signin-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;border:0;padding:0;cursor:pointer;z-index:0}.signin-panel{position:relative;z-index:1;width:100%;max-width:360px;background:var(--bg);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;box-shadow:0 8px 32px #00000080}.signin-panel__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.signin-panel__title{font-size:1.125rem;font-weight:700;color:var(--text);letter-spacing:.01em}.signin-panel__close{background:transparent;border:0;color:var(--text);opacity:.6;font-size:1.5rem;line-height:1;padding:.25rem .5rem;cursor:pointer;border-radius:6px}.signin-panel__close:hover{opacity:1;background:#ffffff0f}.signin-panel__sub{font-size:.875rem;color:var(--text);opacity:.7;line-height:1.4}.signin-panel__buttons{display:flex;flex-direction:column;gap:.6rem}.signin-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;width:100%;padding:.75rem 1rem;border-radius:10px;font-family:var(--font);font-size:.9375rem;font-weight:600;letter-spacing:.01em;cursor:pointer;border:1px solid transparent;transition:filter .12s ease,transform 80ms ease}.signin-btn:hover:not(:disabled){filter:brightness(1.08)}.signin-btn:active:not(:disabled){transform:scale(.98)}.signin-btn:disabled{opacity:.5;cursor:not-allowed}.signin-btn[aria-busy=true]{opacity:1;cursor:progress}.signin-btn__spinner{width:1rem;height:1rem;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:signin-btn-spin .7s linear infinite;flex:0 0 auto}@keyframes signin-btn-spin{to{transform:rotate(360deg)}}.signin-btn--google{background:#4285f4;color:#fff;border-color:#3b78de}.signin-btn--apple{background:#000;color:#fff;border-color:#ffffff2e}.signin-btn__icon{font-size:1rem;font-weight:700;line-height:1}.signin-panel__error{font-size:.8125rem;color:#fff;background:#c8102e2e;border:1px solid rgba(200,16,46,.45);border-radius:8px;padding:.5rem .75rem;line-height:1.35}.signin-panel__info{font-size:.8125rem;color:var(--text);background:#2ea0432e;border:1px solid rgba(46,160,67,.45);border-radius:8px;padding:.5rem .75rem;line-height:1.35}.signin-tabs{display:flex;gap:.25rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:.25rem}.signin-tab{flex:1 1 0;background:transparent;border:0;color:var(--text);opacity:.65;padding:.5rem .75rem;font-family:var(--font);font-size:.875rem;font-weight:600;border-radius:8px;cursor:pointer;transition:background .12s ease,opacity .12s ease}.signin-tab:hover{opacity:1}.signin-tab--active{background:#ffffff1a;opacity:1}.signin-form{display:flex;flex-direction:column;gap:.75rem;margin:0}.signin-form__hint{font-size:.8125rem;color:var(--text);opacity:.7;line-height:1.4;margin:0}.signin-form__hint strong{font-weight:700;opacity:.9}.signin-field{display:flex;flex-direction:column;gap:.3rem}.signin-field__label{font-size:.75rem;color:var(--text);opacity:.7;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.signin-field__hint{font-size:.75rem;color:var(--text);opacity:.55}.signin-input{width:100%;padding:.625rem .75rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:var(--text);font-family:var(--font);font-size:1rem;transition:border-color .12s ease,background .12s ease}.signin-input:focus{outline:none;border-color:#78aaff99;background:#ffffff0f}.signin-input--otp{font-family:var(--mono-font, ui-monospace, "SF Mono", Menlo, monospace);font-size:1.25rem;letter-spacing:.4em;text-align:center}.signin-btn--primary{background:linear-gradient(180deg,#5183ec,#3d6bd1);color:#fff;border-color:#3d6bd1}.signin-divider{position:relative;text-align:center;font-size:.75rem;color:var(--text);opacity:.55;letter-spacing:.08em;text-transform:uppercase}.signin-divider:before,.signin-divider:after{content:"";position:absolute;top:50%;width:calc(50% - 1.5rem);height:1px;background:#ffffff1a}.signin-divider:before{left:0}.signin-divider:after{right:0}.signin-aux{display:flex;justify-content:center}.signin-aux--split{justify-content:space-between}.signin-link{background:transparent;border:0;color:var(--text);opacity:.75;font-family:var(--font);font-size:.8125rem;cursor:pointer;padding:.25rem .5rem;text-decoration:underline;text-underline-offset:2px}.signin-link:hover:not(:disabled){opacity:1}.signin-link:disabled{opacity:.4;cursor:not-allowed}.suggest-word-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.suggest-word-modal{background:var(--bg);color:var(--text);border:1px solid rgba(255,255,255,.12);border-radius:12px;max-width:28rem;width:100%;padding:1.25rem 1.25rem 1rem;box-shadow:0 18px 48px #00000073}.suggest-word-modal h2{margin:0 0 .75rem;font-size:1.15rem}.suggest-word-modal__body{display:flex;flex-direction:column;gap:.75rem}.suggest-word-modal__label{font-size:.85rem;opacity:.8}.suggest-word-modal__hint{margin:0;font-size:.85rem;opacity:.75;line-height:1.4}.suggest-word-modal__actions{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap}.suggest-word-modal__error{margin:0;color:#c0392b;font-size:.95rem}.suggest-word-modal .admin-input{flex:0 0 auto}.suggest-word-modal__results{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.35rem}.suggest-word-modal__result{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.suggest-word-modal__result--ok{color:#1a7f37}.suggest-word-modal__result--fail{color:#b42318}.suggestion-review__items{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.suggestion-review__item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.suggestion-review__decision{display:flex;gap:1rem;margin:0 0 .75rem}.board-display{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%;aspect-ratio:1 / 1;container-type:inline-size}.board-display__cell{position:relative;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;background:#8b0b20;border-radius:10px;min-width:0}.board-display__letter{font-size:clamp(.9rem,11cqi,1.6rem);font-weight:700;color:#fff;line-height:1}.board-display__points{position:absolute;bottom:4px;right:5px;font-size:clamp(.55rem,3cqi,.7rem);font-weight:600;color:#ffffffa6;line-height:1}.admin-shell{min-height:100dvh;background:var(--bg);color:var(--text);padding:1.25rem 1rem 2rem;width:100%;min-width:0;overflow-x:hidden}.admin-shell--gate{display:flex;flex-direction:column;align-items:center;gap:1rem;padding-top:4rem;text-align:center}.admin-header{position:relative;display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:1rem}.admin-header h1{font-size:1.5rem;font-weight:700;letter-spacing:.02em}.admin-title{display:flex;align-items:center;gap:.6rem}.admin-clock{font-size:.95rem;font-weight:600;font-variant-numeric:tabular-nums;opacity:.6}.admin-game-link{position:absolute;top:0;left:0;color:var(--text);opacity:.6;line-height:0;padding:.25rem;border-radius:8px;transition:opacity .12s ease}.admin-game-link:hover{opacity:1}.admin-game-link__label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.admin-menu-toggle{display:none;position:absolute;top:0;right:0;background:transparent;border:0;color:var(--text);opacity:.6;line-height:0;padding:.25rem;border-radius:8px;cursor:pointer;transition:opacity .12s ease}.admin-menu-toggle:hover,.admin-menu-toggle[aria-expanded=true]{opacity:1}.admin-tabs{display:flex;gap:.4rem;background:#ffffff0a;padding:.25rem;border-radius:999px;overflow-x:auto;scrollbar-width:none;max-width:100%}.admin-tabs::-webkit-scrollbar{display:none}.admin-tab{background:transparent;color:var(--text);border:0;padding:.4rem .85rem;border-radius:999px;font-size:.85rem;font-weight:600;cursor:pointer;opacity:.7;flex-shrink:0;white-space:nowrap}.admin-tab--active{background:var(--primary);color:#fff;opacity:1}.admin-error{background:#e74c3c26;border:1px solid rgba(231,76,60,.35);color:#ffcec7;padding:.5rem .75rem;border-radius:8px;margin-bottom:1rem}.admin-main{display:flex;flex-direction:column;gap:1rem;min-width:0}.admin-panel{background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.75rem;min-width:0}.admin-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.admin-input{flex:1 1 12rem;min-width:0;background:#0000004d;border:1px solid rgba(255,255,255,.12);color:var(--text);padding:.5rem .75rem;border-radius:8px;font-size:1rem}.admin-btn{border:0;padding:.45rem .85rem;border-radius:8px;font-size:.85rem;font-weight:700;cursor:pointer;letter-spacing:.02em}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn--primary{background:var(--primary);color:#fff}.admin-btn--secondary{background:#ffffff1a;color:var(--text)}.admin-btn--danger{background:#e74c3cb3;color:#fff}.admin-sub{font-size:.8125rem;opacity:.7}.admin-feedback{margin:0;padding:.625rem .75rem;border-radius:.5rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);font-size:.8125rem;line-height:1.4;white-space:pre-wrap;word-break:break-word;font-family:inherit}.admin-social-run{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem;padding-top:.75rem;border-top:1px dashed rgba(255,255,255,.12)}.admin-social-run__buttons{display:flex;flex-wrap:wrap;gap:.5rem}.admin-social-run .admin-error{margin-bottom:0}.admin-social-run__results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.admin-social-run__result{font-size:.85rem;padding:.4rem .6rem;border-radius:8px;background:#ffffff0d;word-break:break-word}.admin-social-run__result.is-posted{background:#2ecc7126;color:#c7f5d8}.admin-social-run__result.is-error{background:#e74c3c26;color:#ffcec7}.admin-empty{font-style:italic;opacity:.6;padding:1rem 0;text-align:center}.admin-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem;max-height:24rem;overflow-y:auto}.admin-list__row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .6rem;background:#ffffff08;border-radius:6px;min-width:0}.admin-pager{display:flex;gap:.5rem;justify-content:center}.admin-table-wrap{overflow-x:auto;min-width:0;width:100%}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-table th,.admin-table td{text-align:left;padding:.45rem .6rem;border-bottom:1px solid rgba(255,255,255,.06);overflow-wrap:anywhere}.admin-table__col--actions{width:1%;white-space:nowrap}.admin-rec-miss{opacity:.7}.admin-rec-miss__word{text-decoration:line-through}.admin-rec-miss__reason{font-size:.8em;color:var(--admin-muted, #b00)}.admin-table th{font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;opacity:.7}.admin-table__sort{display:inline-flex;align-items:center;gap:.3rem;background:transparent;border:0;padding:0;margin:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;white-space:nowrap}.admin-table__sort:hover{opacity:1}.admin-table__sort--active{color:var(--primary);opacity:1}.admin-table__sort-arrow{font-size:.65rem}.admin-mono{font-family:ui-monospace,Cascadia Code,Source Code Pro,monospace;font-size:.85rem}.admin-list__row>.admin-mono{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.admin-list__row>.admin-btn{flex-shrink:0}.admin-badge--static{cursor:default}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr));gap:.75rem;min-width:0}.admin-card{background:#ffffff0d;padding:.75rem;border-radius:10px;display:flex;flex-direction:column;gap:.3rem;min-width:0}.admin-card__title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.7}.admin-card__value{font-size:1.5rem;font-weight:800;color:var(--primary)}.admin-card__sub{font-size:.75rem;opacity:.7}.admin-link{background:none;border:0;padding:0;margin:0;font:inherit;color:var(--text);text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:#ffffff40;text-underline-offset:3px;overflow-wrap:anywhere}.admin-link:hover{text-decoration-color:var(--primary)}.admin-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:.4rem;vertical-align:middle;line-height:0}.admin-badge--warn{color:#f1c40f}.admin-badge--text{line-height:1.2;margin-left:0;padding:.1rem .45rem;border-radius:999px;font-size:.7rem;font-weight:700;background:var(--primary);color:#fff;white-space:nowrap}.admin-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000008c;padding:1rem;z-index:50}.admin-modal{width:min(32rem,92vw);max-height:90vh;overflow:auto;background:#1a1a1a;color:var(--text);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.admin-modal__title{font-size:1.1rem;font-weight:700;margin:0;overflow-wrap:anywhere}.admin-modal__actions{justify-content:flex-end}.admin-field{display:flex;flex-direction:column;gap:.25rem}.admin-field__label{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;opacity:.7;font-weight:700}.admin-badge--inline{margin-left:.5rem;padding:.05rem .4rem;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:#f1c40f26;border:1px solid rgba(241,196,15,.4);line-height:1.4}.admin-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:0;border-radius:999px;cursor:pointer;color:#fff;transition:filter .12s ease}.admin-icon-btn:hover{filter:brightness(1.15)}.admin-icon-btn:disabled{opacity:.5;cursor:not-allowed}.admin-icon-btn--primary{background:var(--primary)}.admin-icon-btn--danger{background:#e74c3cb3}.admin-dialog{border:0;border-radius:12px;padding:0;background:#1a1a1a;color:var(--text);max-width:min(28rem,calc(100vw - 2rem));width:100%;margin:auto;position:fixed;top:0;right:0;bottom:0;left:0;max-height:calc(100dvh - 2rem)}.admin-dialog--wide{max-width:min(56rem,calc(100vw - 2rem))}.admin-dialog::backdrop{background:#0000008c}.admin-dialog__body{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem}.admin-dialog__title{font-size:1.1rem;font-weight:700;margin:0;overflow-wrap:anywhere}.admin-dialog__dl{display:grid;grid-template-columns:max-content 1fr;gap:.35rem .75rem;margin:0}.admin-dialog__dl dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;opacity:.7;font-weight:700;align-self:center}.admin-dialog__dl dd{margin:0;font-size:.9rem;overflow-wrap:anywhere;min-width:0}.admin-section-title{font-size:1rem;font-weight:700;margin-top:.25rem}.state-board-row{display:flex;gap:.75rem;align-items:stretch;min-width:0}.state-board-card{flex:0 0 auto;width:fit-content;min-width:0}.state-words-card{flex:1 1 0;min-width:0;overflow:hidden}.state-words-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1 1 0;min-height:0;display:flex;flex-direction:column;gap:.15rem}.state-words-list__item{font-family:ui-monospace,Cascadia Code,Source Code Pro,monospace;font-size:.8rem;padding:.15rem .35rem;border-radius:4px;background:#ffffff08}.state-words-list__item--theme{display:flex;align-items:center;justify-content:space-between;gap:.35rem;background:#e5395024;color:#ffd9df}.state-theme-card{margin-top:.75rem}.state-theme-words{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}.state-theme-words .state-words-list__item--theme{justify-content:flex-start}.state-words-list__theme-icon{font-family:initial}.admin-form{display:flex;flex-direction:column;gap:1rem;min-width:0}.admin-form__group{display:flex;flex-direction:column;gap:.6rem;min-width:0;margin:0;padding:.85rem .9rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px}.admin-form__legend{padding:0 .4rem;font-size:.9rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;opacity:.85}.admin-form__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(6rem,10rem) minmax(0,2fr);align-items:center;gap:.5rem;min-width:0;font-size:.833rem}.admin-form__row>*{min-width:0}.admin-form__row .admin-input{width:100%;font-size:inherit}.admin-form__hint{opacity:.6;font-size:.75rem;overflow-wrap:anywhere}.admin-toggle{display:inline-flex;align-items:center;justify-self:start;cursor:pointer;-webkit-user-select:none;user-select:none}.admin-toggle input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.admin-toggle__track{position:relative;display:inline-flex;align-items:center;width:4.5rem;height:1.75rem;background:#00000073;border:1px solid rgba(255,255,255,.12);border-radius:999px;transition:background-color .15s ease,border-color .15s ease}.admin-toggle__on,.admin-toggle__off{position:absolute;font-size:.7rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;pointer-events:none;transition:opacity .15s ease}.admin-toggle__on{left:.6rem;color:#fff;opacity:0}.admin-toggle__off{right:.55rem;color:#ffffff8c;opacity:1}.admin-toggle__thumb{position:absolute;top:50%;left:.18rem;width:1.35rem;height:1.35rem;background:#fff;border-radius:50%;transform:translateY(-50%);transition:left .15s ease;box-shadow:0 1px 2px #0006}.admin-toggle input:checked+.admin-toggle__track{background:var(--primary);border-color:var(--primary)}.admin-toggle input:checked+.admin-toggle__track .admin-toggle__thumb{left:calc(100% - 1.53rem)}.admin-toggle input:checked+.admin-toggle__track .admin-toggle__on{opacity:1}.admin-toggle input:checked+.admin-toggle__track .admin-toggle__off{opacity:0}.admin-toggle input:focus-visible+.admin-toggle__track{outline:2px solid var(--primary);outline-offset:2px}.admin-bot-schedule{display:flex;flex-direction:column;gap:.5rem;min-width:0}.admin-bot-schedule__title{font-size:.833rem;font-weight:700;margin:0}.admin-bot-schedule__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.admin-bot-schedule__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) max-content;align-items:center;gap:.5rem;min-width:0}.admin-bot-schedule__row>*{min-width:0}.admin-bot-schedule__row .admin-input{width:100%}.admin-bot-schedule .admin-error{margin-bottom:0}.admin-table--bots td,.admin-table--bots th{vertical-align:middle}.admin-bots__id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;opacity:.7;white-space:nowrap}.admin-input--name{width:100%;min-width:0}.admin-input--score{width:4.5rem;min-width:0;flex:0 0 4.5rem}.admin-bots__error{display:block;margin-top:.25rem;color:var(--danger, #f87171);font-size:.75rem}@media(max-width:36rem){.admin-shell{padding:.75rem .625rem 1.5rem}.admin-header{gap:.5rem;margin-bottom:.75rem}.admin-header h1{font-size:1.25rem}.admin-menu-toggle{display:inline-flex}.admin-tabs{display:none;position:absolute;top:2.25rem;right:0;flex-direction:column;gap:.2rem;padding:.35rem;border-radius:10px;background:#1a1a1a;border:1px solid rgba(255,255,255,.1);box-shadow:0 10px 28px #00000080;max-width:calc(100vw - 1.25rem);overflow:visible;z-index:20}.admin-tabs--open{display:flex}.admin-tab{text-align:left;width:100%;padding:.5rem .9rem}.admin-panel{padding:.75rem}.admin-row{gap:.4rem}.admin-grid{grid-template-columns:minmax(0,1fr)}.admin-table{font-size:.8rem}.admin-table th,.admin-table td{padding:.35rem .45rem}.admin-table th{font-size:.7rem}.admin-mono{font-size:.75rem}.admin-form__row{grid-template-columns:1fr}.admin-form__hint{grid-column:1}.admin-table__col--optional{display:none}.admin-table--bots th,.admin-table--bots td{padding:.35rem .3rem}.admin-input--score{width:3.25rem;flex-basis:3.25rem}.admin-icon-btn{width:1.75rem;height:1.75rem}.state-board-row{flex-direction:column}.state-board-card,.state-words-card{width:100%;flex:1 1 auto}.state-words-list{flex:0 1 auto;max-height:16rem}.admin-list__row{padding:.35rem .5rem}.admin-dialog__dl{grid-template-columns:1fr;gap:.1rem 0}.admin-dialog__dl dt{margin-top:.4rem}}.suggestion-row__main{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.suggestion-row__meta{font-size:.85rem;opacity:.75}.suggestion-row__status{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;align-self:flex-start;padding:.1rem .5rem;border-radius:999px;background:#ffffff14}.suggestion-row__status--pending{background:#d4a017;color:#1a1300}.suggestion-row__status--approved{background:#2e7d32;color:#fff}.suggestion-row__status--rejected{background:#b71c1c;color:#fff}.suggestion-row__checks{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.15rem}.suggestion-row__check{font-size:.72rem;letter-spacing:.02em;padding:.08rem .45rem;border-radius:999px;border:1px solid transparent;white-space:nowrap}.suggestion-row__check--yes{background:#2e7d322e;border-color:#2e7d32;color:#7ddc82}.suggestion-row__check--no{background:#b71c1c2e;border-color:#b71c1c;color:#f08a8a}.suggestion-row__check--unknown{background:#ffffff0f;border-color:#ffffff2e;opacity:.7}.suggestion-review__decision{display:flex;gap:1rem}.admin-rec-board{display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem;margin:.75rem 0 1rem;max-width:21.33rem}.admin-rec-board__tile{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:.4rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);font-weight:700;font-size:1.1rem;color:var(--text)}.admin-rec-board__tile--special{outline:2px solid var(--primary);outline-offset:1px}.admin-rec-board__points{position:absolute;right:.2rem;bottom:.1rem;font-size:.55rem;font-weight:600;opacity:.65}.admin-rec-summary{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1rem 1.5rem}.admin-rec-summary>.admin-dialog__dl{flex:1 1 18rem}.admin-rec-summary>.admin-rec-board{flex:0 0 auto;margin:0}.suggestion-groups{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.suggestion-group{border:1px solid var(--admin-border, #d0d0d0);border-radius:8px;padding:.75rem}.suggestion-group__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.suggestion-group__user{font-weight:600;word-break:break-word}.suggestion-group__words{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.suggestion-word{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.suggestion-word__select{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer}.emoji-picker__trigger{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#0000004d;color:var(--text);cursor:pointer;font:inherit}.emoji-picker__trigger:hover{border-color:#ffffff47}.emoji-picker__trigger-icon{font-size:1.4rem;line-height:1}.emoji-picker__trigger-label{font-size:.85rem;opacity:.7}.emoji-picker-dialog{max-width:min(22rem,calc(100vw - 2rem))}.emoji-picker__root{padding:1rem;display:flex;flex-direction:column;gap:.6rem;width:100%;box-sizing:border-box}.emoji-picker__frimousse{display:flex;flex-direction:column;gap:.4rem;width:100%}.emoji-picker__search{width:100%;box-sizing:border-box;padding:.4rem .6rem;border:1px solid var(--border, #ccc);border-radius:.4rem;font-size:.9rem}.emoji-picker__viewport{height:240px;overflow-y:auto;border:1px solid var(--border, #ccc);border-radius:.4rem}.emoji-picker__list{padding:.25rem}.themes-panel__cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start;min-width:0}.themes-panel__classes,.themes-panel__words{display:flex;flex-direction:column;gap:.75rem;min-width:0}.themes-panel__heading{margin:0;font-size:1rem}.themes-panel__create{display:flex;flex-direction:column;gap:.5rem}.themes-panel__create .admin-input{flex:0 0 auto}.themes-panel__create-btn{align-self:flex-start}.themes-panel__words-form{align-items:flex-start}.themes-panel__words-input{resize:vertical;font-family:inherit}.themes-panel__class{flex:1 1 auto;min-width:0;text-align:left;background:transparent;border:0;color:var(--text);font-size:.9rem;cursor:pointer;padding:.1rem 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.themes-panel__class.is-active{font-weight:700;color:var(--primary)}.themes-panel__schedule{margin-top:1rem;padding-top:1rem;border-top:1px dashed rgba(255,255,255,.12)}.themes-panel__days{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.5rem;margin-top:.5rem}.themes-panel__day{display:flex;flex-direction:column;gap:.25rem}.themes-panel__day-label{font-size:.8125rem;opacity:.8}.themes-panel__select{flex:0 0 auto}@media(max-width:48rem){.themes-panel__cols{grid-template-columns:1fr}}.profile-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--bg);overflow-y:auto;z-index:100}.profile-panel{position:relative;z-index:1;width:100%;max-width:480px;margin:0 auto;flex:1;padding:calc(1.5rem + env(safe-area-inset-top)) 1.5rem calc(1.5rem + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:1rem}.profile-panel__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.profile-panel__title{font-size:1.125rem;font-weight:700;color:var(--text);letter-spacing:.01em}.profile-panel__close{background:transparent;border:0;color:var(--text);opacity:.6;font-size:1.5rem;line-height:1;padding:.25rem .5rem;cursor:pointer;border-radius:6px}.profile-panel__close:hover{opacity:1;background:#ffffff0f}.profile-identity{display:flex;flex-direction:column;align-items:center;gap:.5rem}.profile-avatar{width:64px;height:64px;border-radius:50%;border:2px solid rgba(255,255,255,.16);background:#ffffff0f}.profile-avatar--initials{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.5rem;color:var(--text);letter-spacing:.02em}.profile-email{font-size:.8125rem;color:var(--text);opacity:.65;text-align:center;word-break:break-all}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.profile-stat{display:flex;flex-direction:column;align-items:center;gap:.125rem;padding:.625rem .5rem;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d}.profile-stat__value{font-size:1.375rem;font-weight:700;color:var(--text);line-height:1.1;font-variant-numeric:tabular-nums}.profile-stat__label{font-size:.6875rem;font-weight:600;color:var(--text);opacity:.6;text-transform:uppercase;letter-spacing:.04em}.profile-form{display:flex;flex-direction:column;gap:.75rem}.profile-card{display:flex;flex-direction:column;gap:.75rem;padding:.875rem;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d}.profile-field{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;gap:.25rem .5rem}.profile-field__label{grid-column:1 / -1;font-size:.8125rem;font-weight:600;color:var(--text);opacity:.85;letter-spacing:.02em;text-transform:uppercase}.profile-input{grid-column:1 / 2;font-family:var(--font);font-size:1rem;padding:.625rem .75rem;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:#ffffff0f;color:var(--text);outline:none;transition:border-color .12s ease,background .12s ease}.profile-input:focus{border-color:var(--primary);background:#ffffff1a}.profile-input[aria-invalid=true]{border-color:#dc3c3cb3}.profile-counter{grid-column:2 / 3;font-size:.8125rem;color:var(--text);opacity:.55;font-variant-numeric:tabular-nums}.profile-counter--over{color:#ff9c9c;opacity:1}.profile-error{font-size:.8125rem;color:#fff;background:#c8102e2e;border:1px solid rgba(200,16,46,.45);border-radius:8px;padding:.5rem .75rem;line-height:1.35}.profile-toggle{display:flex;align-items:center;justify-content:space-between;gap:.75rem;cursor:pointer;padding:.25rem 0}.profile-toggle__label{font-size:.8125rem;font-weight:600;color:var(--text);opacity:.85;letter-spacing:.02em;text-transform:uppercase}.profile-toggle__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.profile-toggle__track{position:relative;flex:0 0 auto;width:44px;height:24px;border-radius:999px;background:#ffffff29;border:1px solid rgba(255,255,255,.2);transition:background .14s ease}.profile-toggle__thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .14s ease}.profile-toggle__input:checked+.profile-toggle__track{background:var(--primary);border-color:#ffffff29}.profile-toggle__input:checked+.profile-toggle__track .profile-toggle__thumb{transform:translate(20px)}.profile-toggle__input:focus-visible+.profile-toggle__track{outline:2px solid var(--primary);outline-offset:2px}.profile-toggle__input:disabled+.profile-toggle__track{opacity:.5}.profile-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.profile-actions__end{display:flex;gap:.5rem}.profile-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;border-radius:10px;font-family:var(--font);font-size:.9375rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:filter .12s ease,transform 80ms ease}.profile-btn:hover:not(:disabled){filter:brightness(1.08)}.profile-btn:active:not(:disabled){transform:scale(.98)}.profile-btn:disabled{opacity:.5;cursor:not-allowed}.profile-btn--primary{background:var(--primary);color:#fff;border-color:#ffffff29}.profile-btn--secondary{background:transparent;color:var(--text);border-color:#fff3}.profile-btn--danger{background:transparent;color:#ff9c9c;border-color:#c8102e73}.profile-btn--block{width:100%}.header-avatar-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:var(--text);font-weight:700;font-size:.875rem;cursor:pointer;overflow:hidden;transition:filter .12s ease,transform 80ms ease}.header-avatar-btn:hover{filter:brightness(1.1)}.header-avatar-btn:active{transform:scale(.95)}@media(min-width:36rem){.header-avatar-btn{width:40px;height:40px;font-size:.9375rem}}.lb-scrim-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:1rem}.lb-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:0;padding:0;cursor:pointer}.lb-panel{position:relative;width:min(28rem,100%);max-height:min(80dvh,36rem);background:#15161a;color:var(--text);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:1rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 18px 48px #00000073}.lb-panel__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.lb-panel__title-group{display:flex;flex-direction:column;gap:.15rem;min-width:0}.lb-panel__title{font-size:1.15rem;font-weight:700;letter-spacing:.02em}.lb-panel__reset{font-size:.75rem;opacity:.6;letter-spacing:.02em}.lb-panel__reset-time{font-family:ui-monospace,Cascadia Code,Source Code Pro,monospace;font-variant-numeric:tabular-nums;font-weight:600;opacity:.95}.lb-panel__close{background:#ffffff0f;color:var(--text);border:1px solid rgba(255,255,255,.12);width:2rem;height:2rem;border-radius:999px;font-size:1.1rem;line-height:1;cursor:pointer}.lb-tabs{display:flex;gap:.3rem;padding:.25rem;background:#ffffff0a;border-radius:999px}.lb-tab{flex:1;border:0;background:transparent;color:var(--text);opacity:.7;padding:.4rem .6rem;border-radius:999px;font-size:.85rem;font-weight:600;letter-spacing:.02em;cursor:pointer}.lb-tab--active{background:var(--primary);color:#fff;opacity:1}.lb-panel__loading,.lb-panel__error,.lb-panel__empty{text-align:center;font-size:.9rem;opacity:.75;padding:.5rem 0}.lb-panel__error{color:#e57373;opacity:1}.lb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;overflow-y:auto;min-height:0}.lb-row{display:grid;grid-template-columns:2rem 1fr auto auto;align-items:center;gap:.75rem;padding:.55rem .75rem;border-radius:10px;background:#ffffff08}.lb-row__rank{font-size:.875rem;font-weight:700;opacity:.7;font-variant-numeric:tabular-nums}.lb-row__name{font-size:.95rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-row__words{font-size:.75rem;opacity:.55}.lb-row__score{font-size:1rem;font-weight:700;color:var(--primary);font-family:ui-monospace,Cascadia Code,Source Code Pro,monospace;font-variant-numeric:tabular-nums}.install-modal-scrim-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:1rem}.install-modal-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:0;padding:0;cursor:pointer}.install-modal{position:relative;width:min(24rem,100%);background:#15161a;color:var(--text);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:1rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 18px 48px #00000073}.install-modal__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.install-modal__title{font-size:1.15rem;font-weight:700;letter-spacing:.02em}.install-modal__close{background:#ffffff0f;color:var(--text);border:1px solid rgba(255,255,255,.12);width:2rem;height:2rem;border-radius:999px;font-size:1.1rem;line-height:1;cursor:pointer}.install-modal__close:hover{background:#ffffff1f}.install-modal__text{font-size:.95rem;line-height:1.5;display:inline}.install-modal__steps{margin:0;padding-left:1.25rem;font-size:.95rem;line-height:1.5;text-align:left;display:flex;flex-direction:column;gap:.4rem}.welcome{position:relative;max-width:640px;margin:0 auto;min-height:100dvh;overflow-y:auto;padding:clamp(2rem,7.2vh,4rem) 1.5rem calc(1.5rem + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:clamp(1.25rem,4vh,2.5rem);text-align:center}.welcome:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(120% 70% at 35% 25%,#c8102e73,#c8102e1f,#0f0f1100 70%),var(--bg);pointer-events:none}.welcome__hero{width:100%;display:flex;flex-direction:column;align-items:center;gap:clamp(.9rem,3vh,1.6rem)}.welcome__logo{margin:0;font-weight:700}.welcome__grid{--wgap: clamp(.25rem, 1.2vw, .5rem);--wtile: min( (min(100vw, 640px) - 3rem - 3 * var(--wgap)) / 4, (100dvh - 30rem) / 4, (20rem - 3 * var(--wgap)) / 4 );display:grid;grid-template-columns:repeat(4,var(--wtile));grid-auto-rows:var(--wtile);gap:var(--wgap)}.welcome__tile{display:flex;align-items:center;justify-content:center;background:#1a1a1f;border:2px solid #2a2a33;border-radius:calc(var(--wtile) * .16);font-size:calc(var(--wtile) * .5);font-weight:700;text-transform:uppercase;color:var(--text)}.welcome__tile--brand{background:var(--primary);border-color:var(--primary);color:#fff}.welcome__tagline{margin:0;max-width:22rem;color:var(--text);opacity:.6;font-size:1rem;line-height:1.4}.welcome__card{width:100%;max-width:20rem;display:flex;flex-direction:column;gap:.75rem}.welcome__btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.85rem 1.25rem;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:#ffffff14;color:var(--text);font-family:var(--font);font-size:.9rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:filter .12s ease,transform 80ms ease}.welcome__btn:hover{filter:brightness(1.15)}.welcome__btn:active{transform:scale(.97)}.welcome__btn--primary{border-color:var(--primary);background:var(--primary);color:#fff;font-size:1.05rem;padding:1rem 1.25rem}.welcome__btn-icon{display:inline-flex;align-items:center}.welcome__btn-icon svg{display:block}.welcome__admin{align-self:center;margin-top:.25rem;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text);opacity:.55;text-decoration:none;background:none;border:none;cursor:pointer;transition:opacity .12s ease}.welcome__admin:hover{opacity:1}.game-view{display:flex;flex-direction:column;align-items:center;height:100dvh;overflow:hidden;position:relative;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.game-header{width:100%;background:var(--primary);padding:.75rem 1.25rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem}.game-header h1{grid-column:2;font-size:1.5rem;font-weight:700;letter-spacing:.02em;text-align:center}.game-header__title-btn{font:inherit;letter-spacing:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.game-header__left-slot{grid-column:1;display:flex;align-items:center;justify-content:flex-start;gap:.5rem;min-width:0}.game-header__chip-slot{grid-column:3;display:flex;align-items:center;justify-content:flex-end;gap:.5rem;min-width:0}.game-header__rank-btn{flex-shrink:0}.connection-indicator{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;background:none;border:none;padding:0;cursor:pointer}.connection-indicator svg{display:block}.connection-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.connection-modal{background:var(--bg);color:var(--text);border:1px solid rgba(255,255,255,.12);border-radius:12px;max-width:22rem;width:100%;padding:1.25rem 1.25rem 1rem;box-shadow:0 18px 48px #00000073}.connection-modal h2{margin:0 0 .75rem;font-size:1.15rem}.connection-modal__rows{margin:0 0 1rem;display:flex;flex-direction:column;gap:.5rem}.connection-modal__row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.connection-modal__row dt{opacity:.7}.connection-modal__row dd{margin:0;display:inline-flex;align-items:center;gap:.4rem;font-weight:600;font-variant-numeric:tabular-nums}.connection-modal__dot{width:.65rem;height:.65rem;border-radius:50%;flex-shrink:0}.connection-modal__actions{display:flex;justify-content:flex-end}.header-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.2rem .4rem;border-radius:999px;background:#0003;border:1px solid rgba(255,255,255,.15);max-width:100%;min-width:0}.header-chip__name{font-size:.8125rem;font-weight:600;color:#fff;letter-spacing:.01em;padding:0 .4rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.header-chip__btn{flex-shrink:0;padding:.3rem .75rem;border-radius:999px;border:0;font-family:var(--font);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;text-decoration:none;transition:filter .12s ease,transform 80ms ease}.header-chip__btn:hover{filter:brightness(1.1)}.header-chip__btn:active{transform:scale(.97)}.header-chip__btn--primary{background:#fff;color:var(--primary)}.header-chip__btn--secondary{background:#ffffff2e;color:#fff;border:1px solid rgba(255,255,255,.3)}.header-chip__btn-icon{display:none;align-items:center;justify-content:center}.header-chip__btn-icon svg{display:block}@media(max-width:36rem){.game-header{padding:.5rem .75rem}.game-header h1{font-size:1.125rem}.game-header__chip-slot{gap:.35rem}.header-chip__btn-label{display:none}.header-chip__btn-icon{display:inline-flex}.header-chip__btn{width:2rem;height:2rem;padding:0;display:inline-flex;align-items:center;justify-content:center}.header-chip{padding:0;background:transparent;border:0;gap:0}.header-chip__name{display:none}}.header-menu-wrap{position:relative;display:inline-flex}.header-menu{position:absolute;top:calc(100% + .4rem);right:0;z-index:50;min-width:11rem;display:flex;flex-direction:column;padding:.3rem;background:#14161cf5;border:1px solid rgba(255,255,255,.12);border-radius:.625rem;box-shadow:0 8px 24px #00000059;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.header-menu__item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;border:0;border-radius:.4rem;background:transparent;color:var(--text);font:inherit;font-size:.875rem;text-align:left;cursor:pointer;width:100%;transition:background .12s ease}.header-menu__item:hover{background:#ffffff14}.header-menu__item--danger{color:#ff8a8a}.header-menu__item--disabled{color:#ffffff73;cursor:not-allowed}.header-menu__item--disabled:hover{background:transparent}.header-menu__note{font-size:.75rem;opacity:.8}.header-menu__toggle{position:relative;flex-shrink:0;width:2rem;height:1.125rem;border-radius:999px;background:#ffffff2e;transition:background .16s ease}.header-menu__toggle--on{background:var(--primary, #4ade80)}.header-menu__toggle-knob{position:absolute;top:.125rem;left:.125rem;width:.875rem;height:.875rem;border-radius:50%;background:#fff;transition:transform .16s ease}.header-menu__toggle--on .header-menu__toggle-knob{transform:translate(.875rem)}@media(max-width:22rem){.header-menu{min-width:9.5rem}}.game-main{--board-cap: 480px;--play-max-w: min(100%, var(--board-cap));--card-max-w: min(100%, 480px);flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;padding:.5rem 1rem 1.5rem;width:100%;gap:.5rem;overflow:hidden}.loading{font-size:1.25rem;color:var(--text);opacity:.6}.loading--stuck{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;opacity:1}.loading--stuck button{padding:.5rem 1.5rem;border:1px solid currentColor;border-radius:999px;background:transparent;color:var(--text);font-family:var(--font);font-size:1rem;font-weight:600;cursor:pointer;opacity:.6;transition:opacity .12s ease}.loading--stuck button:hover{opacity:1}.loading--connecting{animation:loading-pulse 1.8s ease-in-out infinite}@keyframes loading-pulse{0%,to{opacity:.6}50%{opacity:1}}.play-header-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;max-width:var(--play-max-w);padding:.5rem .25rem}.theme-banner{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;max-width:var(--play-max-w);padding:.4rem .75rem;border-radius:.75rem;background:#f59e0b29;border:1px solid rgba(245,158,11,.4);color:var(--text);text-align:center}.theme-banner__icon{font-size:clamp(1.1rem,4vw,1.5rem);line-height:1;flex:none}.theme-banner__text{font-size:clamp(.75rem,3.2vw,.9375rem);font-weight:600;line-height:1.2}.score-panel{display:flex;align-items:baseline;gap:.5rem}.score-panel__score{font-size:2rem;font-weight:700;color:var(--primary);font-family:ui-monospace,Cascadia Code,Source Code Pro,monospace;line-height:1}.score-panel__label{font-size:.875rem;font-weight:600;color:var(--text);opacity:.7;text-transform:uppercase;letter-spacing:.05em}.words-found-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;width:100%;max-width:var(--play-max-w);padding:.25rem .25rem 0;font-size:.875rem;color:var(--text)}.words-found-row__count-group{display:inline-flex;align-items:baseline;gap:.25rem;opacity:.7}.words-found-row__count{font-weight:700;font-family:ui-monospace,Cascadia Code,Source Code Pro,monospace}.words-found-row__label{font-weight:500}.rotate-board-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border-radius:999px;border:1px solid rgba(139,11,32,.35);background:#8b0b2026;color:var(--primary);cursor:pointer;transition:background .12s ease,transform .12s ease}.rotate-board-btn:hover{background:#8b0b2040}.rotate-board-btn:active{transform:scale(.92)}@keyframes result-flash-in{0%{opacity:0;transform:scale(.85) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.result-flash-slot{display:flex;align-items:center;justify-content:center;min-height:2.1rem;width:100%}.result-flash{display:inline-flex;align-items:center;justify-content:center;padding:.35rem 1rem;border-radius:999px;font-weight:600;font-size:1rem;letter-spacing:.04em;min-width:6rem;animation:result-flash-in .15s ease-out both}.result-flash-drawing{font-weight:600;font-size:1rem;letter-spacing:.04em;color:var(--text, #1a1a1a)}.result-flash[data-result=Found]{background:#1a9e8f;color:#fff}.result-flash[data-result=NotFound]{background:#c0392b;color:#fff}.result-flash[data-result=Repeated]{background:#f4a261;color:#1a1a1a}.grid{--cell-hit-inset: 15%;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%;max-width:var(--play-max-w);aspect-ratio:1 / 1;touch-action:none;position:relative;user-select:none;-webkit-user-select:none}.cell{position:relative;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;background:#8b0b20;border-radius:12px;cursor:default;user-select:none;-webkit-user-select:none;pointer-events:none;translate:calc((100% + 8px) * var(--cell-tx, 0)) calc((100% + 8px) * var(--cell-ty, 0));transition:translate .4s cubic-bezier(.4,0,.2,1),scale 80ms ease}.cell .letter{font-size:clamp(1.5rem,5vw,2.5rem);font-weight:700;color:#fff;line-height:1}.cell .points{position:absolute;bottom:6px;right:8px;font-size:.75rem;font-weight:600;color:#ffffffa6;line-height:1}.cell__hit{position:absolute;inset:var(--cell-hit-inset);pointer-events:auto}.cell.selected{background:var(--primary);box-shadow:0 0 0 3px #fff6;scale:1.05}.cell.cell--highlighted{background:var(--primary);box-shadow:0 0 0 3px #ffffff73}.grid__path-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:2}.grid__path-line{fill:none;stroke:#fff;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;opacity:.5;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}.cell.cell--highlighted-start{box-shadow:0 0 0 3px #fff}@keyframes blink-found{0%,to{background:#8b0b20}50%{background:#1a9e8f}}@keyframes blink-repeated{0%,to{background:#8b0b20}50%{background:#f4d03f}}@keyframes blink-notfound{0%,to{background:#8b0b20}50%{background:#e74c3c}}@keyframes blink-letter-dark{0%,to{color:#fff}50%{color:#1a1a1a}}.cell.flash-found,.cell.flash-repeated,.cell.flash-notfound{animation-duration:.5s;animation-iteration-count:1;animation-timing-function:ease-in-out}.cell.flash-found{animation-name:blink-found}.cell.flash-repeated{animation-name:blink-repeated}.cell.flash-notfound{animation-name:blink-notfound}.cell.flash-repeated .letter{animation:blink-letter-dark .5s ease-in-out 1}.found-words{display:flex;flex-wrap:wrap;gap:.4rem;width:100%;max-width:var(--play-max-w);max-height:7rem;overflow-y:auto;padding:.25rem 0}.found-words--empty{justify-content:center}.found-words__empty-text{font-size:.875rem;color:var(--text);opacity:.5;font-style:italic}.found-word-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:999px;background:#8b0b2026;border:1px solid rgba(139,11,32,.3)}.found-word-pill__word{font-size:.8125rem;font-weight:600;color:var(--text);letter-spacing:.03em}.found-word-pill__score{font-size:.75rem;font-weight:500;color:var(--primary);font-family:ui-monospace,Cascadia Code,Source Code Pro,monospace}.found-word-pill__theme{font-size:.8125rem;line-height:1;flex:none}.countdown-badge{display:inline-flex;align-items:baseline;gap:.4rem;padding:.25rem .65rem;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.12)}.countdown-badge__label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text);opacity:.7}.countdown-badge__value{font-size:.95rem;font-weight:700;color:var(--primary);font-family:ui-monospace,Cascadia Code,Source Code Pro,monospace;font-variant-numeric:tabular-nums}.play-header-row .countdown-badge{height:2rem;padding:0 .85rem;align-items:center}.play-header-row .countdown-badge__value{font-size:1.5rem;line-height:1}.countdown-badge--low-time{animation:countdown-blink 1s ease-out 1}.countdown-badge--low-time .countdown-badge__value{color:var(--danger, #e3506a)}@keyframes countdown-blink{0%{opacity:.25}to{opacity:1}}.phase-card{width:100%;max-width:var(--card-max-w);margin:0;padding:1.125rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:16px;display:flex;flex-direction:column;gap:.75rem}.phase-card--waiting{border-style:dashed;border-color:#ffffff2e}.phase-card__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.phase-card--waiting .phase-card__header{flex-direction:column;align-items:center;justify-content:center;text-align:center}.phase-card__title{font-size:1.1rem;font-weight:700;color:var(--text);letter-spacing:.01em}.phase-card__sub{font-size:.875rem;color:var(--text);opacity:.7}.phase-card__score{display:flex;align-items:baseline;gap:.5rem}.phase-card__score-value{font-size:2.625rem;font-weight:800;color:var(--primary);font-family:ui-monospace,Cascadia Code,Source Code Pro,monospace;line-height:1}.phase-card__score-label{font-size:.875rem;font-weight:600;color:var(--text);opacity:.7;text-transform:uppercase;letter-spacing:.05em}.phase-card__words{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;padding:0;margin:0;max-height:8rem;overflow-y:auto}.phase-card__word{font-size:.8125rem;font-weight:600;letter-spacing:.03em;padding:.2rem .6rem;background:#8b0b202e;border:1px solid rgba(139,11,32,.35);border-radius:999px;color:var(--text)}.definition-card{width:100%;max-width:var(--card-max-w);margin:0;padding:.75rem .875rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:14px;display:flex;flex-direction:column;gap:.4rem}.definition-card__header{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.definition-card__label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text);opacity:.55}.definition-card__title{font-size:1.05rem;font-weight:700;color:var(--primary);margin:0}.definition-card__extract{font-size:.875rem;line-height:1.4;color:var(--text);opacity:.85;margin:0;max-height:calc(1.4em * 3);overflow-y:auto}.results-words-row{display:flex;gap:.5rem;width:100%;max-width:var(--card-max-w);margin:0;flex:1;min-height:0}.results-word-card{flex:1 1 0;min-width:0;min-height:0;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.results-col{flex:1 1 0;min-width:0;min-height:0;display:flex;flex-direction:column;gap:.5rem}.results-board-card{flex:0 0 auto;padding:.5rem}.results-board-card .grid{max-width:none}.grid--static{touch-action:auto}.results-board-card .cell{border-radius:6px}.results-board-card .cell .letter{font-size:clamp(.675rem,3.75vw,1.225rem)}.results-board-card .cell .points{font-size:.5rem;bottom:2px;right:3px}.results-board-card .cell .points--secret,.results-board-card .cell .points--mult{font-size:.45rem}.results-word-card__header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.results-word-card__title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text);opacity:.6}.results-word-card__total{font-size:.8125rem;font-weight:700;color:var(--primary)}.results-word-card__empty{font-size:.8125rem;color:var(--text);opacity:.4;margin:0}.results-word-card__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.2rem;flex:1;min-height:0;overflow-y:auto}.results-word-item{display:flex;align-items:baseline;justify-content:space-between;gap:.25rem}.results-word-item__word{font-size:.8125rem;font-weight:600;letter-spacing:.02em;color:var(--text)}.results-word-item__pts{font-size:.75rem;font-weight:700;color:var(--primary);opacity:.85;font-variant-numeric:tabular-nums;flex-shrink:0}.results-word-item--possible .results-word-item__word{opacity:.65}.results-word-item--found .results-word-item__word{opacity:1;font-weight:800}.results-word-item__btn{width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;border-radius:6px;padding:.15rem .3rem;margin:0;font:inherit;text-align:left;color:inherit;cursor:pointer;transition:background .12s ease;-webkit-tap-highlight-color:transparent}.results-word-item__btn:hover{background:#0000000d}.results-word-item__btn--active{background:color-mix(in srgb,var(--primary) 16%,transparent)}.results-word-item__btn--active .results-word-item__word,.results-word-item__btn--active .results-word-item__pts{opacity:1}.ranking{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:2rem minmax(0,1fr) 2.25rem 2.5rem 2.5rem;row-gap:.175rem;column-gap:.4rem;align-content:start;overflow-y:auto;scrollbar-gutter:stable}.ranking-head-card{flex:0 0 auto;margin:0;padding:.75rem}.ranking-list-card{flex:1 1 auto;min-height:0;overflow:hidden;margin:.25rem 0 0;padding:.75rem}.ranking-list-card .ranking{flex:1 1 auto;min-height:0;overflow-y:auto}.ranking-self-card{flex:0 0 auto;margin:.25rem 0 0;padding:.75rem}.ranking-self-card__label{margin:0 0 .35rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text);opacity:.55}.ranking__row{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;align-items:center;padding:.2rem .75rem;border-radius:10px;background:#ffffff08}.ranking__row--me{background:#c8102e2e;border:1px solid rgba(200,16,46,.4)}.ranking__row--head{padding:.35rem .75rem;background:#ffffff14}.ranking__rank{font-size:.875rem;font-weight:700;color:var(--text);opacity:.7;font-variant-numeric:tabular-nums}.ranking__rank--top{color:#e02424;opacity:1}.ranking__name{font-size:.9375rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking__words{font-size:.8125rem;font-weight:600;color:var(--text);opacity:.6;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}.ranking__score{font-size:1rem;font-weight:700;color:var(--primary);font-family:ui-monospace,Cascadia Code,Source Code Pro,monospace;font-variant-numeric:tabular-nums;text-align:right}.ranking__row--head .ranking__rank,.ranking__row--head .ranking__name,.ranking__row--head .ranking__words,.ranking__row--head .ranking__score{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text);opacity:.55}.ranking__head-praise{display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;font-size:1rem;opacity:.8}.game-end-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;animation:game-end-modal-fade-in .15s ease-out}.game-end-modal__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;pointer-events:auto}.game-end-modal__card{position:relative;max-width:min(92vw,420px);padding:clamp(20px,5vw,32px) clamp(24px,6vw,40px);border-radius:16px;background:#fff;box-shadow:0 12px 40px #00000059;text-align:center;animation:game-end-modal-card-in .18s cubic-bezier(.2,.8,.2,1)}.game-end-modal__text{margin:0;font-size:clamp(1.5rem,5vw,2rem);font-weight:700;color:#1f2937;letter-spacing:.01em}@keyframes game-end-modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes game-end-modal-card-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.hint-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;animation:hint-modal-fade-in .15s ease-out}.hint-modal__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;pointer-events:auto}.hint-modal__card{position:relative;max-width:min(92vw,360px);padding:clamp(20px,5vw,32px) clamp(24px,6vw,40px);border-radius:16px;background:#fff;box-shadow:0 12px 40px #00000059;text-align:center;animation:hint-modal-card-in .18s cubic-bezier(.2,.8,.2,1)}.hint-modal__title{margin:0 0 .75rem;font-size:clamp(1.25rem,4vw,1.6rem);font-weight:700;color:#1f2937}.hint-modal__body{margin:0 0 1.25rem;font-size:clamp(.9rem,3vw,1rem);line-height:1.6;color:#374151}.hint-modal__footer{margin:0;font-size:.8rem;color:#9ca3af}@keyframes hint-modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes hint-modal-card-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.confetti-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100dvh;pointer-events:none;z-index:75}.congrats-balloons-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:100}.congrats-balloon{position:absolute;bottom:-90px;display:flex;flex-direction:column;align-items:center;gap:4px}.congrats-balloon__emoji{width:3.2rem;height:3.2rem;border-radius:50%;background:#32323ce6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;font-size:1.7rem;box-shadow:0 2px 12px #0006}.congrats-balloon--tappable{pointer-events:auto;cursor:pointer;background:none;border:none;padding:0;font:inherit;color:inherit;touch-action:manipulation}.congrats-balloon--tappable:before{content:"";position:absolute;top:-28px;right:-36px;bottom:-28px;left:-36px;border-radius:50%}.congrats-balloon--tappable:active .congrats-balloon__emoji{transform:scale(.8);transition:transform .1s}.congrats-balloon__name{font-size:.65rem;font-weight:600;color:#fff;background:#32323cd9;border-radius:10px;padding:.15rem .5rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);white-space:nowrap}.confetti-burst{position:fixed;pointer-events:none;z-index:200;width:0;height:0}.confetti-particle{position:absolute;width:7px;height:7px;border-radius:2px;transform:translate(-50%,-50%);animation:confetti-particle .75s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes confetti-particle{0%{transform:translate(-50%,-50%) translate(0) rotate(0) scale(1);opacity:1}60%{opacity:1}to{transform:translate(-50%,-50%) translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(.2);opacity:0}}.podium-trophy-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:250}.podium-trophy{display:flex;flex-direction:column;align-items:center;gap:.25rem;--medal: #ffd34d;animation:podium-trophy-flash 2.4s cubic-bezier(.22,1,.36,1) forwards}.podium-trophy--rank-1{--medal: #ffd34d}.podium-trophy--rank-2{--medal: #d8dde6}.podium-trophy--rank-3{--medal: #e0995c}.podium-trophy__icon{font-size:7rem;line-height:1;filter:drop-shadow(0 6px 18px rgba(0,0,0,.45))}.podium-trophy__rank{font-size:3rem;font-weight:800;color:var(--medal);text-shadow:0 2px 10px rgba(0,0,0,.55);letter-spacing:.02em}@keyframes podium-trophy-flash{0%{opacity:0;transform:scale(.4)}15%{opacity:1;transform:scale(1.12)}25%{transform:scale(1)}70%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.3)}}.theme-icon-flash-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:250}.theme-icon-flash{font-size:7rem;line-height:1;filter:drop-shadow(0 6px 18px rgba(0,0,0,.45));animation:theme-icon-fade .6s ease-in-out forwards}@keyframes theme-icon-fade{0%{opacity:0;transform:scale(1)}50%{opacity:1}to{opacity:0;transform:scale(1.5)}}.theme-complete-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:250}.theme-complete{position:relative;z-index:80;display:flex;flex-direction:column;align-items:center;gap:.4rem;animation:theme-complete-flash 2s cubic-bezier(.22,1,.36,1) forwards}.theme-complete__icon{font-size:7rem;line-height:1;filter:drop-shadow(0 6px 18px rgba(0,0,0,.45))}.theme-complete__label{font-size:2.4rem;font-weight:800;color:#ffd34d;text-shadow:0 2px 10px rgba(0,0,0,.55);letter-spacing:.02em}@keyframes theme-complete-flash{0%{opacity:0;transform:scale(.4)}10%{opacity:1;transform:scale(1.12)}18%{transform:scale(1)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.3)}}.ranking__congrats-btn{background:none;border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:.15rem .6rem;min-width:2.5rem;min-height:1.6rem;display:inline-flex;align-items:center;justify-content:center;color:var(--text);font-size:.95rem;cursor:pointer;opacity:.7;transition:opacity .15s}.ranking__congrats-btn:hover:not(:disabled){opacity:1}.ranking__congrats-btn:disabled{opacity:.25;cursor:default}.results-word-item__trophy,.results-word-item__theme{margin-left:.25em;font-size:.85em;line-height:1}.ranking__trophy,.ranking__theme{margin-left:.35em;font-size:.9em;line-height:1}.results-share-btn{margin-left:auto;align-self:center;display:inline-flex;align-items:center;justify-content:center;padding:8px;border:none;border-radius:10px;background:var(--primary);color:#fff;cursor:pointer}.results-share-btn:disabled{opacity:.6;cursor:default}.results-share-copied{align-self:center;margin-left:8px;font-size:.8rem;font-weight:600;color:var(--primary);white-space:nowrap}.points--secret{font-weight:700;color:var(--accent, #e74c3c)}.cell--secret:not(.selected){box-shadow:inset 0 0 0 2px var(--accent, #e74c3c)}.cell__cracks{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden;border-radius:inherit;--crack-color: rgba(255, 255, 255, .45);--crack-width: 1.6;--crack-glow: 0}.cell__crack{fill:none;stroke:var(--crack-color);stroke-width:var(--crack-width);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:stroke .22s ease,stroke-width .22s ease,stroke-dashoffset .48s cubic-bezier(.16,1,.3,1)}.cell__crack--radial{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--reveal, 1))}.cell__crack--ring{stroke-width:calc(var(--crack-width) * .7);stroke:var(--crack-color);opacity:.85}.cell__crack--branch{stroke-width:calc(var(--crack-width) * .6);opacity:.7}.cell__crack-impact{fill:var(--crack-color);opacity:var(--crack-glow);transition:opacity .22s ease,fill .22s ease}.points--mult{font-size:.58rem;font-weight:700;opacity:.85;letter-spacing:-.02em}.cell--cracked-1 .cell__cracks{--crack-color: rgba(255, 255, 255, .4);--crack-width: 1.5;--crack-glow: .25}.cell--cracked-2 .cell__cracks{--crack-color: rgba(255, 255, 255, .52);--crack-width: 1.65;--crack-glow: .4}.cell--cracked-3 .cell__cracks{--crack-color: rgba(255, 255, 255, .66);--crack-width: 1.8;--crack-glow: .55}.cell--cracked-4 .cell__cracks{--crack-color: rgba(255, 255, 255, .8);--crack-width: 1.95;--crack-glow: .7}.cell--cracked-5 .cell__cracks{--crack-color: rgba(255, 255, 255, .92);--crack-width: 2.1;--crack-glow: .85}.cell--cracked-broken{opacity:.5;filter:grayscale(.55);cursor:not-allowed;z-index:5;animation:cracked-shatter .46s cubic-bezier(.36,0,.2,1)}.cell--cracked-broken .letter,.cell--cracked-broken .points{text-decoration:line-through}.cell--cracked-broken .cell__cracks{--crack-color: rgba(255, 255, 255, .98);--crack-width: 2.4;--crack-glow: 1}.cell--cracked-broken:after{content:"";position:absolute;top:-180%;right:-180%;bottom:-180%;left:-180%;z-index:5;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(255,255,255,.95) 0%,rgba(255,255,255,.6) 22%,rgba(231,76,60,.4) 48%,transparent 72%);animation:cracked-burst .56s ease-out forwards}@keyframes cracked-shatter{0%{transform:scale(1) translate(0) rotate(0)}8%{transform:scale(1.14) translate(.6px,-.6px) rotate(-3deg)}20%{transform:scale(.97) translate(-.8px,.5px) rotate(2deg)}34%{transform:scale(1.04) translate(.5px,.4px) rotate(-1deg)}52%{transform:scale(.99) translate(-.3px) rotate(.5deg)}to{transform:scale(1) translate(0) rotate(0)}}@keyframes cracked-burst{0%{transform:scale(.2);opacity:1}to{transform:scale(6.8);opacity:0}}.ranking-congrats-card{width:100%;max-width:var(--card-max-w);margin:.25rem 0 .5rem;padding:.875rem 1rem;display:flex;align-items:center;gap:.75rem;border-radius:14px;background:linear-gradient(135deg,#ffd7002e,#c8102e2e);border:1px solid rgba(255,215,0,.5);box-shadow:0 6px 20px #00000040;animation:ranking-congrats-in .22s cubic-bezier(.2,.8,.2,1)}.ranking-congrats-card__emoji{font-size:1.75rem;line-height:1}.ranking-congrats-card__text{margin:0;font-weight:700;font-size:1rem;color:var(--text)}@keyframes ranking-congrats-in{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-height:760px){.game-main{--board-cap: 400px}}@media(max-height:680px){.game-main{--board-cap: 340px}}@media(max-height:600px){.game-main{--board-cap: 290px}}@media(max-height:520px){.game-main{--board-cap: 240px}}.guest-congrats-scrim-wrap{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.guest-congrats-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;border:0;padding:0;cursor:pointer;z-index:0}.guest-congrats-panel{position:relative;z-index:1;width:100%;max-width:340px;background:var(--bg);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:1.25rem 1.25rem 1rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 8px 32px #00000080}.guest-congrats-panel__title{font-size:1.125rem;font-weight:700;color:var(--text);letter-spacing:.01em}.guest-congrats-panel__sub{font-size:.9375rem;color:var(--text);opacity:.78;line-height:1.4}.guest-congrats-panel__buttons{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}.guest-congrats-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.7rem 1rem;border-radius:10px;font-family:var(--font);font-size:.9375rem;font-weight:600;letter-spacing:.01em;cursor:pointer;border:1px solid transparent;transition:filter .12s ease,transform 80ms ease}.guest-congrats-btn:hover:not(:disabled){filter:brightness(1.08)}.guest-congrats-btn:active:not(:disabled){transform:scale(.98)}.guest-congrats-btn--primary{background:#4285f4;color:#fff;border-color:#3b78de}.guest-congrats-btn--secondary{background:transparent;color:var(--text);border-color:#ffffff2e}.guest-upsell-scrim-wrap{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.guest-upsell-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;border:0;padding:0;cursor:pointer;z-index:0}.guest-upsell-panel{position:relative;z-index:1;pointer-events:none;width:100%;max-width:340px;background:var(--bg);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;text-align:center;box-shadow:0 8px 32px #00000080}.guest-upsell-panel__text{font-size:1.0625rem;font-weight:600;color:var(--text);line-height:1.4;letter-spacing:.01em}.guest-upsell-panel__link{pointer-events:auto;align-self:center;display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.5rem;border-radius:10px;border:1px solid #3b78de;background:#4285f4;color:#fff;font-family:var(--font);font-size:.9375rem;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:filter .12s ease,transform 80ms ease}.guest-upsell-panel__link:hover{filter:brightness(1.08)}.guest-upsell-panel__link:active{transform:scale(.98)}.signin-cta{width:100%;max-width:480px;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;background:#c8102e1f;border:1px solid rgba(200,16,46,.4);border-radius:12px}.signin-cta__text{font-size:.875rem;font-weight:600;color:var(--text);letter-spacing:.01em;line-height:1.3}.signin-cta__btn{flex-shrink:0;padding:.4rem .9rem;border-radius:8px;border:0;background:var(--primary);color:#fff;font-family:var(--font);font-size:.8125rem;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:filter .12s ease,transform 80ms ease}.signin-cta__btn:hover{filter:brightness(1.08)}.signin-cta__btn:active{transform:scale(.97)}.session-displaced-wrap{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:200}.session-displaced-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b8;z-index:0}.session-displaced-card{position:relative;z-index:1;width:100%;max-width:340px;background:var(--bg);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:1.5rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 8px 32px #0009}.session-displaced-card__title{font-size:1.0625rem;font-weight:700;color:var(--text)}.session-displaced-card__body{font-size:.9375rem;color:var(--text);opacity:.8;line-height:1.45}.session-displaced-card__btn{display:inline-flex;align-items:center;justify-content:center;width:100%;margin-top:.25rem;padding:.7rem 1rem;border-radius:10px;font-family:var(--font);font-size:.9375rem;font-weight:600;cursor:pointer;border:1px solid #3b78de;background:#4285f4;color:#fff;transition:filter .12s ease,transform 80ms ease}.session-displaced-card__btn:hover{filter:brightness(1.08)}.session-displaced-card__btn:active{transform:scale(.98)}.install-prompt{position:fixed;left:50%;bottom:calc(72px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:200;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#1a1a1d;color:var(--text);border:1px solid rgba(255,255,255,.08);border-radius:12px;box-shadow:0 12px 32px #0006;max-width:calc(100vw - 32px);font-family:var(--font);animation:install-prompt-slide-in .2s ease-out}.install-prompt__text{font-size:.95rem;font-weight:500}.install-prompt__actions{display:flex;align-items:center;gap:4px}.install-prompt__btn{font-family:inherit;font-size:.95rem;border:none;border-radius:8px;cursor:pointer;background:transparent;color:var(--text)}.install-prompt__btn--primary{padding:6px 14px;background:var(--primary);color:#fff;font-weight:600}.install-prompt__btn--primary:hover{filter:brightness(1.1)}.install-prompt__btn--dismiss{width:32px;height:32px;font-size:1.25rem;line-height:1;opacity:.7}.install-prompt__btn--dismiss:hover{opacity:1}@keyframes install-prompt-slide-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.offline-banner{position:fixed;top:0;left:0;right:0;z-index:100;padding:8px 16px;background:#5b1116;color:#ffd9dd;text-align:center;font-family:var(--font);font-size:.875rem;font-weight:500;border-bottom:1px solid rgba(255,255,255,.08);padding-top:calc(8px + env(safe-area-inset-top,0px))}.update-prompt{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:300;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#1a1a1d;color:var(--text);border:1px solid rgba(255,255,255,.08);border-radius:12px;box-shadow:0 12px 32px #0006;max-width:calc(100vw - 32px);font-family:var(--font);animation:update-prompt-slide-in .2s ease-out}.update-prompt__text{font-size:.95rem;font-weight:500}.update-prompt__actions{display:flex;align-items:center;gap:4px}.update-prompt__btn{font-family:inherit;font-size:.95rem;border:none;border-radius:8px;cursor:pointer;background:transparent;color:var(--text)}.update-prompt__btn--primary{padding:6px 14px;background:var(--primary);color:#fff;font-weight:600}.update-prompt__btn--primary:hover{filter:brightness(1.1)}.update-prompt__btn--dismiss{width:32px;height:32px;font-size:1.25rem;line-height:1;opacity:.7}.update-prompt__btn--dismiss:hover{opacity:1}@keyframes update-prompt-slide-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}:root{--primary: #c8102e;--bg: #0f0f11;--text: #f0f0f0;--font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100dvh;overflow:hidden;overscroll-behavior:none}body{background:var(--bg);color:var(--text);font-family:var(--font)}#root{display:flex;flex-direction:column;height:100dvh;overflow:hidden}
