:root{--text:#d8e8ff;--text-muted:#d8e8ffb8;--text-h:#fff;--bg:#111319;--accent:#5865f2;--accent-strong:#4752c4;--accent-border:#c6ccff85;--mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--text);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(#242832 0%,#151820 42%,#0f1117 100%)}*{box-sizing:border-box}html{min-height:100%}body{min-width:320px;min-height:100svh;margin:0}button,textarea{font:inherit}button{color:inherit}h1,h2,p{margin:0}a{color:inherit}:root{--control-button-bg:#ffffff14;--tile-border:#ffffff21;--tile-shadow:0 2px 2px #00000047, inset 0 1px #ffffff14;--tile-fg:#eef3ff;--tile-muted:#eef3ffa3;--tile-selected-bg:#5865f2;--tile-selected-fg:#fff;--tile-selected-border:#c6ccffc7;--tile-selected-shadow:0 9px 20px #5865f257;--tile-found-bg:#16876f;--tile-found-border:#3ee1b88f;--tile-found-shadow:0 8px 18px #16876f4d;--platinum-fg:#eefcff;--platinum-border:#bff5ffad;--platinum-bg:#3c6a7a8c;--tile-exhausted-shadow:0 8px 18px #3c6a7a47;--panel-bg:#ffffff14;--panel-border:#ffffff24;--panel-radius:10px;--pill-bg:#ffffff1a;--pill-fg:#eef4ff;--danger:#e95470;--success:#25b884}@media (prefers-color-scheme:dark){:root{--panel-bg:#ffffff13;--panel-border:#ffffff26;--pill-bg:#ffffff1a;--pill-fg:#f3f6ff}}#root{text-align:left;border-inline:none;width:100%;margin:0 auto;padding:0}.app-shell{box-sizing:border-box;flex-direction:column;gap:14px;width:100%;min-height:100svh;margin:0 auto;padding:18px 12px 32px;display:flex}.app-shell--daily{gap:10px;max-width:520px;padding-top:10px}.home-shell{gap:18px;max-width:860px}@media (width>=720px){.app-shell{padding:28px 24px 40px}.app-shell--daily{padding-top:16px}}.donate-footer{justify-content:center;padding:2px 0 0;display:flex}.donate-link{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;font-weight:700;text-decoration:none;transition:color .15s,transform .15s;display:inline-flex}.donate-link:hover,.donate-link:focus-visible{color:var(--accent);transform:translateY(-1px)}.home-hero,.tutorial-panel,.history-panel,.score-strip,.board-panel,.status-panel,.found-panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:var(--panel-radius)}.home-hero{gap:12px;padding:22px;display:grid}.home-hero h1{margin:0;font-size:34px;line-height:1}.home-hero p{max-width:64ch;color:var(--text)}.home-cta{background:var(--accent);color:#fff;border-radius:8px;justify-content:center;justify-self:start;align-items:center;min-height:44px;padding:0 16px;font-weight:700;text-decoration:none;display:inline-flex}.mode-label{text-transform:uppercase;color:var(--pill-fg);background:var(--pill-bg);border-radius:999px;justify-self:start;padding:4px 10px;font-size:12px;font-weight:700;display:inline-block}.tutorial-panel,.history-panel,.found-panel{flex-direction:column;gap:12px;padding:16px;display:flex}.tutorial-panel h2,.section-title h2{margin:0;font-size:18px}.tutorial-panel ol{color:var(--text);gap:8px;margin:0;padding-left:20px;display:grid}.history-list{gap:8px;display:grid}.history-entry a{color:var(--text-h);border:1px solid var(--panel-border);background:#ffffff14;border-radius:8px;grid-template-columns:1fr;gap:6px;padding:12px;text-decoration:none;display:grid}.history-entry span{color:var(--text);font-size:13px}.history-score{flex-wrap:wrap;align-items:center;gap:5px;display:inline-flex}@media (width>=680px){.history-entry a{grid-template-columns:120px repeat(5,minmax(0,1fr));align-items:center}}.history-pagination{justify-content:space-between;gap:12px;display:flex}.history-pagination a,.history-pagination span{color:var(--pill-fg);font-size:14px}.date-nav{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:999px;grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:6px;padding:6px;display:grid}.date-nav__button,.date-nav__date,.date-nav__home{min-height:34px;font:inherit;border-radius:999px;font-size:12px;font-weight:700}.date-nav__button{color:var(--text-h);border:1px solid var(--panel-border);cursor:pointer;background:#ffffff14}.date-nav__button:disabled{opacity:.45;cursor:not-allowed}.date-nav__date,.date-nav__home{color:var(--pill-fg);background:var(--pill-bg);white-space:nowrap;justify-content:center;align-items:center;padding:0 10px;text-decoration:none;display:inline-flex}.score-strip{grid-template-columns:repeat(3,1fr);gap:6px;padding:9px;display:grid}.score-strip>div{flex-direction:column;align-items:center;gap:2px;display:flex}.score-strip span{color:var(--text-h);font-size:17px;font-weight:700}.score-strip small{text-transform:uppercase;color:var(--text-muted);font-size:10px}.score-line,.words-left-line{flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;display:inline-flex}.words-left-info{width:18px;height:18px;color:var(--pill-fg);background:var(--control-button-bg);border:1px solid var(--panel-border);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.medal-badge{color:#fff;text-transform:none;background:#ffffff1f;border:1px solid #ffffff38;border-radius:999px;align-items:center;gap:3px;min-height:20px;padding:2px 7px;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.medal-badge--compact{min-height:18px;padding:2px 6px;font-size:10px}.medal-badge--bronze{color:#ffe1c3;background:#7f4a1c7a;border-color:#cd7f3294}.medal-badge--silver{color:#f1f5f9;background:#64748b80;border-color:#cbd5e19e}.medal-badge--gold{color:#fff6c7;background:#926d0f80;border-color:#facc15a3}.medal-badge--platinum{color:var(--platinum-fg);border-color:var(--platinum-border);background:var(--platinum-bg)}.board-panel{flex-direction:column;gap:9px;padding:10px;display:flex}.current-word{border:1px dashed var(--tile-border);text-align:center;background:#222735f5;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:48px;padding:8px 10px;display:flex}.current-word span{font-family:var(--mono);color:var(--tile-fg);word-break:break-all;font-size:18px;font-weight:700}.current-word small{text-transform:uppercase;color:var(--tile-muted);font-size:10px}.tile-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid;position:relative}.tile{isolation:isolate;min-width:0;min-height:52px;font:inherit;font-family:var(--mono);color:var(--tile-fg);background:var(--control-button-bg);border:1px solid var(--tile-border);cursor:pointer;box-shadow:var(--tile-shadow);text-align:center;word-break:break-word;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:8px;padding:11px 4px;font-size:13px;font-weight:800;transition:transform 80ms,background .15s,color .15s,border-color .15s,box-shadow .15s;position:relative;overflow:hidden}.tile__label{z-index:2;position:relative}.tile:hover{border-color:var(--accent-border)}.tile--quartet{color:#fff;background:var(--tile-found-bg);border-color:var(--tile-found-border);box-shadow:var(--tile-found-shadow)}.tile--quartet:hover{border-color:#85ffe0c7}.tile--exhausted{color:var(--platinum-fg);background:var(--platinum-bg);border-color:var(--platinum-border);box-shadow:var(--tile-exhausted-shadow);cursor:default}.tile--exhausted:before,.tile--exhausted:after{pointer-events:none;content:"";border-radius:inherit;position:absolute}.tile--exhausted:before{z-index:0;background:radial-gradient(ellipse at 24% 20%, hsla(calc(var(--tile-holo-hue) + 18deg), 96%, 91%, .62) 0 16%, hsla(calc(var(--tile-holo-hue) + 18deg), 96%, 91%, .28) 34%, transparent 62%), radial-gradient(ellipse at 76% 30%, hsla(calc(var(--tile-holo-hue) + 142deg), 92%, 86%, .5) 0 15%, hsla(calc(var(--tile-holo-hue) + 142deg), 92%, 86%, .22) 33%, transparent 60%), radial-gradient(ellipse at 56% 80%, hsla(calc(var(--tile-holo-hue) + 302deg), 94%, 88%, .44) 0 17%, hsla(calc(var(--tile-holo-hue) + 302deg), 94%, 88%, .18) 36%, transparent 64%);filter:blur(1.2px)saturate(1.16);mix-blend-mode:screen;opacity:.58;transform:translate3d(var(--tile-holo-x), var(--tile-holo-y), 0) scale(1.04);inset:-18%}.tile--exhausted:after{display:none}@media (hover:none),(pointer:coarse),(width<=640px),(prefers-reduced-motion:reduce){.tile{transition:background .15s,color .15s,border-color .15s}.tile--exhausted{background:radial-gradient(ellipse 150% 135% at calc(22% + var(--tile-holo-x)) calc(18% + var(--tile-holo-y)), hsla(calc(var(--tile-holo-hue) + 18deg), 86%, 86%, .3) 0 25%, hsla(calc(var(--tile-holo-hue) + 18deg), 86%, 86%, .12) 52%, transparent 78%), radial-gradient(ellipse 135% 120% at calc(78% + var(--tile-holo-y)) calc(28% + var(--tile-holo-x)), hsla(calc(var(--tile-holo-hue) + 142deg), 82%, 80%, .24) 0 24%, hsla(calc(var(--tile-holo-hue) + 142deg), 82%, 80%, .1) 50%, transparent 76%), radial-gradient(ellipse 140% 120% at calc(55% - var(--tile-holo-x)) calc(82% - var(--tile-holo-y)), hsla(calc(var(--tile-holo-hue) + 302deg), 82%, 83%, .22) 0 24%, transparent 72%), linear-gradient(135deg, #cefaff0f, #60aabe0a), linear-gradient(180deg, #0c121b38, #0d131c57), #2e5464b8}.tile--exhausted:before{display:none}.tile:active:not(:disabled),.control-button:active:not(:disabled),.control-icon-button:active:not(:disabled){transform:none}}.tile--exhausted:hover,.tile--exhausted:disabled{border-color:var(--platinum-border)}.tile--exhausted:disabled{color:var(--platinum-fg);opacity:1}.tile--exhausted:active{transform:none}.tile:active:not(:disabled){transform:scale(.97)}.tile--selected,.tile[aria-pressed=true]{background:var(--tile-selected-bg);color:var(--tile-selected-fg);border-color:var(--tile-selected-border);box-shadow:var(--tile-selected-shadow)}.tile--selected:before,.tile--selected:after,.tile[aria-pressed=true]:before,.tile[aria-pressed=true]:after{display:none}.tile--selected:hover,.tile[aria-pressed=true]:hover{border-color:var(--tile-selected-border)}.tile:focus-visible,.control-button:focus-visible,.control-icon-button:focus-visible,.words-left-info:focus-visible,.word-length-dialog__close:focus-visible,.date-nav a:focus-visible,.home-cta:focus-visible,.history-entry a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.controls-layout{grid-template-columns:minmax(0,1fr) 42px;gap:6px;display:grid}.controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.control-icons{grid-template-rows:repeat(2,1fr);gap:6px;display:grid}.share-action{position:relative}.share-action__tooltip{z-index:5;color:#fff;text-align:center;background:#121824f5;border:1px solid #facc157a;border-radius:8px;width:max-content;max-width:190px;padding:7px 9px;font-size:11px;font-weight:800;line-height:1.25;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 10px 24px #00000047}.control-button,.control-icon-button{min-height:42px;font:inherit;color:var(--text-h);background:var(--control-button-bg);border:1px solid var(--panel-border);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:10px 8px;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,color .15s,transform 50ms;display:inline-flex}.control-button{background:var(--control-button-bg)}.control-button:hover:not(:disabled){border-color:var(--accent-border)}.control-button:active:not(:disabled),.control-icon-button:active:not(:disabled){transform:scale(.97)}.control-button:disabled{opacity:.5;cursor:not-allowed}.control-icon-button{width:42px;min-width:42px;padding:0;font-size:18px}.control-button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.control-button.primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.control-button.hint{color:#c7ffeb;background:#24b88429;border-color:#24b88438}.status-panel{min-height:18px;color:var(--text-h);text-align:center;justify-content:center;align-items:center;gap:6px;padding:10px 12px;font-size:13px;display:inline-flex}.status-panel--success{background:#11b98129;border-color:#34d39959}.status-panel--error{color:#ffe4e6;background:#f8717129;border-color:#f8717180}.status-panel--info{background:var(--pill-bg)}.status-panel--celebration{border-color:#facc157a;animation:.34s ease-out both celebration-pop;box-shadow:0 0 0 1px #facc1514,0 12px 28px #facc151a}.word-length-backdrop{z-index:20;background:#07090e9e;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.word-length-dialog{width:min(100%,340px);color:var(--text-h);border:1px solid var(--panel-border);background:#181c25;border-radius:10px;gap:12px;padding:14px;display:grid;box-shadow:0 18px 45px #0000005c}.word-length-dialog__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.word-length-dialog h2{margin:0;font-size:17px}.help-dialog{width:min(100%,390px)}.help-steps{color:var(--text);gap:9px;margin:0;padding-left:20px;font-size:14px;line-height:1.4;display:grid}.word-length-dialog__close{min-height:34px;color:var(--text-h);background:var(--control-button-bg);border:1px solid var(--panel-border);cursor:pointer;border-radius:8px;align-items:center;gap:4px;padding:7px 9px;display:inline-flex}.word-length-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.word-length-list li{color:var(--tile-fg);background:var(--control-button-bg);border:1px solid var(--tile-border);font-family:var(--mono);border-radius:8px;padding:8px 10px;font-size:12px}.section-title{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.section-title span{color:var(--pill-fg);background:var(--pill-bg);border-radius:999px;padding:2px 10px;font-size:13px;font-weight:700}.found-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.found-list li{color:var(--tile-fg);background:var(--control-button-bg);border:1px solid var(--tile-border);font-family:var(--mono);border-radius:8px;padding:8px 10px;font-size:13px}.empty-state{color:var(--text-muted);font-size:14px;font-style:italic}@keyframes celebration-pop{0%{transform:scale(.98)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.status-panel--celebration{animation:none}}
