@font-face{font-family:Wortello Sans;src:url(/fonts/source-sans-3-normal.woff2) format("woff2");font-style:normal;font-weight:200 900;font-display:swap}@font-face{font-family:Wortello Sans;src:url(/fonts/source-sans-3-italic.woff2) format("woff2");font-style:italic;font-weight:200 900;font-display:swap}@font-face{font-family:"Wortello Serif";src:url(/fonts/source-serif-4-normal.woff2) format("woff2");font-style:normal;font-weight:200 900;font-display:swap}@font-face{font-family:"Wortello Serif";src:url(/fonts/source-serif-4-italic.woff2) format("woff2");font-style:italic;font-weight:200 900;font-display:swap}.admin-style-boundary{display:contents}.public-ui{--font-ui-sans:"Wortello Sans","Segoe UI",sans-serif;--font-ui-serif:"Wortello Serif",Georgia,serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius-control:12px;--radius-card:20px;--radius-dialog:24px;--surface:#fffaf3;--surface-subtle:#eee5d5;--accent-soft:#fff1e4;--warning-ink:#655236;--warning-soft:#f3e7ce;--shadow-card:0 6px 20px rgba(82,57,35,.08);--shadow-dialog:0 24px 80px rgba(27,20,14,.3);--shadow:var(--shadow-card);--focus-ring:var(--teal);min-height:100dvh;color:var(--ink);background:var(--paper);font-family:var(--font-ui-sans);font-size:16px;letter-spacing:.01em;font-optical-sizing:auto}.public-ui :is(.page-shell,.legal-page,.info-page,.info2-page,.marketing-page){color:var(--ink);background:var(--paper)}.public-ui .info-page{--info-ink:var(--ink);--info-muted:var(--muted);--info-paper:var(--paper);--info-paper-deep:var(--paper-deep);--info-terracotta:var(--accent);--info-terracotta-dark:var(--accent-dark);--info-teal:var(--teal);--info-teal-soft:var(--teal-soft);--info-gold:var(--gold)}.public-ui :is(h1,h2,h3){font-family:var(--font-ui-serif);letter-spacing:-.035em}.public-ui :where(p){line-height:1.5}.public-ui :is(.new-game-intro,.auth-page-heading,.lobby-heading,.history-heading,.legal-card) h1{font-size:clamp(32px,6vw,52px);line-height:1.1}.public-ui :is(.section-title h2,.auth-card-copy h2,.profile-card-copy h2,.stats-heading h2,.history-card-heading h2,.legal-card h2){font-size:24px;line-height:1.15}.public-ui :is(.side-card h3,.public-lobby-card h2){font-size:20px;line-height:1.2}.public-ui :is(.modal h2,.push-activation-dialog h2){font-size:clamp(26px,5vw,30px);line-height:1.15}.public-ui :is(.field-label,.eyebrow,.info2-kicker,.consent-kicker,.review-kicker){font-size:12px;font-weight:700;line-height:1.4}.public-ui :is(input,textarea,select){font-family:var(--font-ui-sans)}.public-ui :is(input.text-input,select.text-input,textarea.text-input){min-height:50px;border:1px solid var(--line);border-radius:var(--radius-control);color:var(--ink);background:var(--surface);font-size:16px;line-height:1.5}.public-ui .text-input:focus{border-color:var(--teal);background:var(--surface);box-shadow:0 0 0 3px var(--teal-soft)}.public-ui .text-input.code-input{font-family:var(--font-ui-serif);font-size:25px}.public-ui :is(.primary-button,.secondary-button,.danger-button,.info-primary-button,.info2-play-button){min-height:48px;gap:var(--space-2);padding-inline:var(--space-4);border-radius:var(--radius-control);font-weight:700;text-decoration:none;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.public-ui :is(.primary-button,.info-primary-button,.info2-play-button){color:var(--surface);background:var(--accent-dark);box-shadow:var(--shadow-card)}.public-ui :is(.primary-button,.info-primary-button,.info2-play-button):hover:not(:disabled){background:#7c372a}.public-ui .secondary-button{color:var(--ink);border-color:var(--line);background:var(--surface);box-shadow:none}.public-ui .secondary-button:hover:not(:disabled){border-color:var(--muted);background:var(--paper-deep)}.public-ui .danger-button{color:var(--surface);background:var(--danger);box-shadow:none}.public-ui .danger-button:hover:not(:disabled){background:#85382f}.public-ui :is(.quiet-button,.text-button,.icon-button,.playstore-button,.pwa-guide-button){min-height:44px;border-radius:var(--radius-control);font-weight:700;text-decoration:none}.public-ui .icon-button{width:44px}.public-ui :is(.playstore-button,.acquisition-store-button){justify-content:center;border:1px solid var(--line);color:var(--ink);background:var(--surface);box-shadow:none}.public-ui :is(.playstore-button,.acquisition-store-button):hover{color:var(--ink);border-color:var(--muted);background:var(--paper-deep)}.public-ui :is(.stats-tabs button,.home-tabs button,.auth-method-tab,.review-open-button,.review-direct-choices>button){min-height:44px;border-radius:var(--radius-control)}.public-ui :is(.home-tabs button.is-active,.auth-method-tab[aria-selected=true],.language-toggle-button.is-selected){color:var(--accent-dark);background:var(--accent-soft);box-shadow:none}.public-ui :is(.stats-tabs button.selected,.rank-candidate.selected){color:var(--teal);border-color:var(--teal);background:var(--teal-soft)}.public-ui :is(.primary-button,.secondary-button,.danger-button,.quiet-button,.text-button,.icon-button):disabled{opacity:.5;transform:none;box-shadow:none}.public-ui :is(a,button,input,textarea,select,[tabindex]):focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.public-ui :is(.primary-button,.secondary-button,.danger-button,.quiet-button,.text-button,.icon-button):active:not(:disabled){transform:translateY(1px)}.public-ui :is(.legal-card,.home-wiktionary-credit,.word-info-entry,.feature-announcement-copy,.modal) p a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}.public-ui :is(.active-games-section,.home-actions,.auth-card,.profile-card,.stats-panel,.rank-challenge-panel,.new-game-option,.public-lobby-card,.lobby-share-card,.invite-card,.history-card,.side-card,.legal-card,.pwa-controls){border-color:var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card)}.public-ui :is(.auth-card,.stats-panel,.rank-challenge-panel,.lobby-share-card,.invite-card,.history-card,.legal-card){padding:var(--space-6)}.public-ui :is(.home-actions,.new-game-options,.public-browser-toolbar,.modal-actions){gap:var(--space-3)}.public-ui :is(.new-game-option,.public-lobby-card,.side-card){padding:var(--space-4)}.public-ui :is(.recent-grid,.public-browser-list,.rank-candidates,.auth-card){gap:var(--space-3)}.public-ui :is(.new-game-option.primary,.new-game-option.hotseat,.auth-guest-panel,.public-lobby-card.has-players){background:var(--surface)}.public-ui :is(.helper-note,.loading-note){color:var(--warning-ink);background:var(--warning-soft);line-height:1.5}.public-ui .error-message{color:var(--danger);background:var(--danger-soft);line-height:1.5}.public-ui :is(.modal,.word-info-dialog){padding:var(--space-6);border-radius:var(--radius-dialog);background:var(--paper);box-shadow:var(--shadow-dialog)}.public-ui .consent-banner{border-color:var(--line);background:var(--paper);box-shadow:var(--shadow-dialog)}.public-ui :is(.chat-panel,.word-review-summary){border-color:var(--line);border-radius:var(--radius-card);background:var(--surface)}@media (max-width:700px){.public-ui :is(.auth-card,.stats-panel,.rank-challenge-panel,.lobby-share-card,.invite-card,.history-card,.legal-card){padding:var(--space-4)}.public-ui .modal{padding:var(--space-4)}.public-ui :is(.home-actions,.active-games-section){border-radius:0;background:transparent;box-shadow:none}.public-ui .home-actions{gap:var(--space-2)}.public-ui .home-actions>button{padding-inline:var(--space-2)}.public-ui .home-actions>a{grid-column:1/-1}.public-ui .home-page .pwa-control-actions .primary-button{min-height:44px}.public-ui .home-page .pwa-controls{border-radius:0;background:transparent;box-shadow:none}}.public-ui .welcome-page{--welcome-rest:455px;min-height:100dvh;padding:var(--space-2) var(--space-4);background:radial-gradient(circle at 88% 8%,rgba(191,94,70,.09),transparent 34rem),radial-gradient(circle at 4% 62%,rgba(39,124,119,.07),transparent 30rem),var(--paper)}.public-ui .welcome-splash{display:none}html[data-wortello-session] .public-ui .welcome-page:not(.is-ready)>.welcome-splash{display:grid}html[data-wortello-session] .public-ui .welcome-page:not(.is-ready)>.welcome-frame{display:none}.public-ui .welcome-frame{max-width:1080px;min-height:calc(100dvh - 2 * var(--space-2));display:flex;flex-direction:column}.public-ui .welcome-topbar{flex:0 0 auto;gap:var(--space-3);margin:0}.public-ui .welcome-topbar .brand-mark{width:36px;height:36px}.public-ui .welcome-topbar .brand-name{font-size:20px}.public-ui .welcome-topbar-actions{display:flex;align-items:center;gap:var(--space-2)}.public-ui .welcome-language-button{display:inline-flex;align-items:center;gap:6px;padding-inline:var(--space-3);border:0;color:var(--muted);background:transparent;font:inherit;font-size:15px;font-weight:700;cursor:pointer}.public-ui .welcome-language-button:hover{color:var(--ink);background:var(--paper-deep)}.public-ui .welcome-signin-button{min-height:44px;padding-inline:var(--space-4);font-size:15px}.public-ui .welcome-stage{flex:1 0 auto;display:flex;align-items:center;justify-content:center;padding:var(--space-2) 0}.public-ui .welcome-board-card{display:flex;flex-direction:column;align-items:center;gap:6px;margin:0;padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card),0 24px 48px -28px rgba(82,57,35,.35);transform:rotate(-.8deg)}.public-ui .welcome-board-status{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);white-space:nowrap}.public-ui .welcome-turn-pill{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:0 10px;border-radius:999px;color:var(--teal);background:var(--teal-soft);font-size:13px;font-weight:800}.public-ui .welcome-turn-dot{width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 3px rgba(39,124,119,.18);animation:welcome-pulse 2.4s ease-in-out infinite}.public-ui .welcome-move-note{color:var(--muted);font-size:13px}.public-ui .welcome-move-note strong{color:var(--accent-dark)}.public-ui .welcome-board{--board-w:clamp(120px,min(calc(100vw - 56px),calc((100dvh - var(--welcome-rest)) * 1.14)),440px);width:var(--board-w);display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:3px;gap:3px;padding:4px;border-radius:10px;background:#ab7c51}.public-ui .welcome-cell{aspect-ratio:1;min-width:0;display:grid;place-items:center;border-radius:4px;color:#59402b;background:#f1dfbd;box-shadow:inset 0 -2px 0 rgba(90,61,35,.13);font-size:clamp(6px,calc(var(--board-w) * .026),10px);font-weight:800;letter-spacing:.02em}.public-ui .welcome-cell.premium-dl{background:#b9d8cf}.public-ui .welcome-cell.premium-tl{color:#f6f3e6;background:#7cb2af}.public-ui .welcome-cell.premium-dw{background:#e7b3a6}.public-ui .welcome-cell.premium-tw{color:#fff7ec;background:#c76857}.public-ui .welcome-cell.has-tile{background:transparent;box-shadow:none}.public-ui .welcome-cell.is-placed{border-radius:5px;box-shadow:0 0 0 2px var(--teal);animation:welcome-place .5s cubic-bezier(.2,.9,.3,1.25) both}@keyframes welcome-place{0%{opacity:0;transform:translateY(-14px) scale(1.15)}to{opacity:1;transform:none}}@keyframes welcome-pulse{50%{box-shadow:0 0 0 6px rgba(39,124,119,0)}}.public-ui .welcome-hero{flex:0 0 auto;width:100%;max-width:560px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center}.public-ui .welcome-hero h1{margin:var(--space-1) 0 var(--space-1);color:var(--ink);font-size:clamp(27px,7.6vw,44px);line-height:1.08;letter-spacing:-.04em;text-wrap:balance}.public-ui .welcome-lead{max-width:30em;margin:0;color:var(--muted);font-size:clamp(15px,4.2vw,18px);line-height:1.4;text-wrap:balance}.public-ui .welcome-features{display:flex;flex-wrap:wrap;justify-content:center;gap:2px var(--space-4);margin:var(--space-2) 0 0;padding:0;list-style:none}.public-ui .welcome-features li{display:inline-flex;align-items:center;gap:5px;min-height:24px;color:var(--ink);font-size:14px;font-weight:700}.public-ui .welcome-features svg{flex:0 0 auto;color:var(--teal)}.public-ui .welcome-features li:nth-child(2) svg{color:var(--accent-dark)}.public-ui .welcome-start-button{display:inline-flex;align-items:center;justify-content:center;width:min(100%,360px);min-height:50px;margin-top:var(--space-3);padding-inline:var(--space-6);border:0;font-size:17px;cursor:pointer}.public-ui .welcome-start-button svg{transition:transform .18s ease}.public-ui .welcome-start-button:hover svg{transform:translateX(3px)}.public-ui .welcome-start-note{margin:var(--space-1) 0 0;color:var(--muted);font-size:13px;line-height:1.35}.public-ui .welcome-footer{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px var(--space-3);margin-top:var(--space-2);font-size:12px}.public-ui .welcome-footer .legal-links{gap:2px var(--space-3);margin:0}.public-ui .welcome-footer :is(a,button){line-height:1.6}.public-ui .welcome-more-link{color:var(--teal);font-weight:700;text-decoration:underline;text-underline-offset:3px}@media (min-height:760px){.public-ui .welcome-page{--welcome-rest:500px;padding-block:var(--space-4)}.public-ui .welcome-frame{min-height:calc(100dvh - 2 * var(--space-4))}.public-ui .welcome-stage{padding-block:var(--space-4) var(--space-3)}.public-ui .welcome-features{margin-top:var(--space-3)}.public-ui .welcome-start-button{min-height:54px;margin-top:var(--space-4)}}@media (min-width:900px){.public-ui .welcome-page{padding-inline:20px}.public-ui .welcome-topbar .brand-mark{width:42px;height:42px}.public-ui .welcome-topbar .brand-name{font-size:21px}}@media (max-width:400px){.public-ui .welcome-language-button span{display:none}.public-ui .welcome-language-button{padding-inline:var(--space-2)}.public-ui .welcome-topbar .brand-name{font-size:19px}}@media (max-width:700px),(orientation:landscape) and (max-height:560px){.public-ui .game-page .game-actions :is(.icon-button,.text-button,.quiet-button){min-height:37px;border-radius:10px}.public-ui .game-page .game-actions .icon-button{width:37px}.public-ui .game-page .rack-actions :is(.primary-button,.secondary-button){min-height:43px}.public-ui .mobile-chat-drawer .chat-panel{border-radius:0}}@media (max-width:360px){.public-ui .game-page .game-actions .icon-button{width:32px}}@media (prefers-reduced-motion:reduce){.public-ui *,.public-ui :after,.public-ui :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}