:root{--paper:#f4ede1;--paper-deep:#ebe1ce;--paper-line:#d9cdb5;--ink:#1f1a14;--ink-soft:#57493a;--ink-mute:#8a7a66;--indigo:#5c6b3d;--indigo-deep:#455028;--indigo-soft:#7a8a55;--ochre:#e0a93c;--ochre-deep:#b88420;--ochre-soft:#ecc170;--slate:#a89c84;--slate-soft:#c0b69e;--olive:#5c6b3d;--olive-deep:#455028;--saffron:#e0a93c;--saffron-deep:#b88420;--stone:#a89c84;--stone-soft:#c0b69e;--terracotta:#b04a2f;--terracotta-deep:#8a3620;--terracotta-soft:#d96b48;--clay:#6b5876;--clay-soft:#ede5e8;--font-display:"Fraunces","DM Serif Display",Georgia,serif;--font-text:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-tile:"Fraunces","DM Serif Display",Georgia,serif;--font-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;--radius-sm:4px;--radius:8px;--radius-lg:14px;--shadow-1:0 1px 2px rgba(31,26,20,.06),0 1px 1px rgba(31,26,20,.04);--shadow-2:0 4px 12px rgba(31,26,20,.08),0 1px 3px rgba(31,26,20,.06);--shadow-3:0 12px 32px rgba(31,26,20,.12),0 2px 6px rgba(31,26,20,.06);--ease:cubic-bezier(0.2,0.7,0.3,1)}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;background:#f4ede1;color:#1f1a14;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-family:var(--font-text);margin:0}.App,body{background:var(--paper);color:var(--ink)}.App{flex-direction:column;height:100dvh;overflow:hidden}.App,.wodu-topbar{align-items:center;display:flex}.wodu-topbar{border-bottom:1px solid var(--paper-line);justify-content:space-between;padding:14px 20px 12px;width:100%}.wodu-topbar__center{align-items:center;display:flex;flex-direction:column;gap:2px}.wodu-wordmark{font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:.02em;line-height:1}.wodu-tagline{color:var(--ink-mute);font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase}.wodu-iconbtn{align-items:center;background:var(--paper);border:1px solid var(--paper-line);border-radius:var(--radius-sm);color:var(--ink-soft);cursor:pointer;display:inline-flex;height:34px;justify-content:center;transition:background .15s var(--ease),color .15s var(--ease);width:34px}.wodu-iconbtn:hover{background:var(--paper-deep);color:var(--ink)}.full-grid-wrap{align-items:center;flex:1 1;flex-direction:column;gap:24px;justify-content:center;min-height:0;padding:16px}.full-grid-wrap,.wodu-clue{display:flex;position:relative;width:100%}.wodu-clue{align-items:flex-start;background:var(--clay-soft);border:1px solid color-mix(in oklab,var(--clay) 25%,transparent);border-radius:var(--radius);gap:10px;max-width:360px;overflow:hidden;padding:10px 12px}.wodu-clue--locked{border-style:dashed;opacity:.55}.wodu-clue--unlocked{-webkit-animation:wodu-clue-shine .9s var(--ease) forwards;animation:wodu-clue-shine .9s var(--ease) forwards}@-webkit-keyframes wodu-clue-shine{0%{opacity:0;-webkit-transform:translateY(-4px);transform:translateY(-4px)}40%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes wodu-clue-shine{0%{opacity:0;-webkit-transform:translateY(-4px);transform:translateY(-4px)}40%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.wodu-clue--unlocked:after{-webkit-animation:wodu-clue-glint .9s var(--ease) forwards;animation:wodu-clue-glint .9s var(--ease) forwards;background:linear-gradient(105deg,transparent 30%,color-mix(in oklab,#fff 55%,transparent) 50%,transparent 70%);content:"";inset:0;pointer-events:none;position:absolute;-webkit-transform:translateX(-100%);transform:translateX(-100%)}@-webkit-keyframes wodu-clue-glint{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}60%{-webkit-transform:translateX(100%);transform:translateX(100%)}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes wodu-clue-glint{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}60%{-webkit-transform:translateX(100%);transform:translateX(100%)}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}.wodu-clue__badge{align-items:center;background:#fff;border-radius:3px;color:var(--clay);display:inline-flex;flex:0 0 auto;font-family:var(--font-mono);font-size:9px;gap:4px;letter-spacing:.14em;margin-top:1px;padding:3px 6px;text-transform:uppercase}.wodu-clue__badge--locked{color:var(--ink-mute)}.wodu-clue__text{color:var(--ink);font-family:var(--font-display);font-size:14px;font-style:italic;line-height:1.4;margin:0}.wodu-clue__locked-body{display:flex;flex-direction:column;gap:3px}.wodu-clue__locked-yo{color:var(--ink);font-family:var(--font-display);font-size:13px;font-style:italic;line-height:1.4;margin:0}.wodu-clue__locked-en{color:var(--ink-soft);font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;margin:0}.full-grid{display:flex;flex-direction:column;gap:6px}.grid-row{display:flex;gap:6px;justify-content:center}.single-grid{align-items:center;background:var(--paper);border:1.5px solid var(--paper-line);border-radius:var(--radius-sm);color:var(--ink);display:inline-flex;font-family:var(--font-display);font-size:1.75rem;font-weight:500;height:58px;justify-content:center;line-height:1;margin:0;padding:0;text-transform:uppercase;transition:border-color .1s var(--ease);-webkit-user-select:none;-ms-user-select:none;user-select:none;width:58px}.single-grid:not(:empty){-webkit-animation:wodu-pop .12s var(--ease);animation:wodu-pop .12s var(--ease);border-color:var(--ink-mute)}.correct{background:var(--indigo);border-color:var(--indigo-deep);color:#fff}.present{background:var(--ochre);border-color:var(--ochre-deep);color:#fff}.absent{background:var(--slate);border-color:var(--slate);color:#fff}.token-glyph{align-items:center;display:inline-flex;justify-content:center;line-height:1;position:relative}.token-glyph--toned{padding-top:.03em}.token-glyph__base{line-height:.5}.token-glyph__tone{background:currentColor;border-radius:999px;height:.21em;left:50%;pointer-events:none;position:absolute;top:-.36em;width:.1em}.token-glyph__tone--acute{-webkit-transform:translateX(-50%) rotate(32deg);transform:translateX(-50%) rotate(32deg)}.token-glyph__tone--grave{-webkit-transform:translateX(-50%) rotate(-32deg);transform:translateX(-50%) rotate(-32deg)}@-webkit-keyframes wodu-pop{0%{-webkit-transform:scale(.92);transform:scale(.92)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes wodu-pop{0%{-webkit-transform:scale(.92);transform:scale(.92)}to{-webkit-transform:scale(1);transform:scale(1)}}.keyboard{--key-gap:5px;--key-width:min(32px,calc(6.66667vw - 6.8px));align-items:center;box-sizing:border-box;display:flex;flex-direction:column;gap:6px;padding:0 16px 8px;width:100%}.keyboard-row{gap:var(--key-gap);max-width:100%;width:-webkit-max-content;width:max-content}.keyboard-row,.keyboard-stage{display:flex;justify-content:center}.keyboard-stage{position:relative;width:100%}.keyboard-share{align-items:center;background:var(--indigo);border:none;border-radius:var(--radius);box-shadow:0 4px 12px rgba(31,26,20,.1);box-shadow:var(--shadow-2,0 4px 12px rgba(31,26,20,.1));color:#fff;cursor:pointer;display:inline-flex;font-family:var(--font-text);font-size:14px;font-weight:600;gap:10px;justify-content:center;left:50%;line-height:1;min-height:42px;min-width:158px;padding:0 18px;position:absolute;top:calc(50% - 4px);-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);transition:background .15s var(--ease),-webkit-transform .08s var(--ease);transition:background .15s var(--ease),transform .08s var(--ease);transition:background .15s var(--ease),transform .08s var(--ease),-webkit-transform .08s var(--ease);white-space:nowrap;z-index:2}.keyboard-share:hover{background:var(--indigo-deep)}.keyboard-share:active{-webkit-transform:translate(-50%,calc(-50% + 1px));transform:translate(-50%,calc(-50% + 1px))}.keyboard-share svg{display:block;flex:0 0 auto}.element{align-items:center;background:var(--paper-deep);border:none;border-radius:5px;box-shadow:var(--shadow-1);color:var(--ink);cursor:pointer;display:inline-flex;flex:0 0 var(--key-width);font-family:var(--font-text);font-size:13px;font-weight:600;height:46px;justify-content:center;padding:0;transition:background .15s var(--ease),-webkit-transform .08s var(--ease);transition:transform .08s var(--ease),background .15s var(--ease);transition:transform .08s var(--ease),background .15s var(--ease),-webkit-transform .08s var(--ease);width:var(--key-width)}.element:active{-webkit-transform:translateY(1px);transform:translateY(1px)}.element:disabled{cursor:default;opacity:.45}.element.enter{font-size:9px;letter-spacing:0;text-transform:uppercase}.element.correct{background:var(--indigo);color:#fff}.element.present{background:var(--ochre);color:#fff}.element.absent{background:var(--slate);color:#fff}@media (max-width:450px){.App{height:100svh}.keyboard{--key-gap:3px;--key-width:calc(6.66667vw - 4.4px);padding-inline:12px}.single-grid{font-size:1.4rem;height:44px;width:44px}.element{font-size:11px;height:40px}}.result-overlay{align-items:center;-webkit-animation:overlay-in .25s var(--ease) both;animation:overlay-in .25s var(--ease) both;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:color-mix(in oklab,var(--paper) 85%,transparent);display:flex;inset:0;justify-content:center;padding:24px;position:absolute;z-index:10}@-webkit-keyframes overlay-in{0%{opacity:0;-webkit-transform:translateY(6px);transform:translateY(6px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes overlay-in{0%{opacity:0;-webkit-transform:translateY(6px);transform:translateY(6px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.result-overlay__card{align-items:center;background:var(--paper);border:1px solid var(--paper-line);border-radius:var(--radius);box-shadow:0 4px 12px rgba(31,26,20,.1);box-shadow:var(--shadow-2,0 4px 12px rgba(31,26,20,.1));display:flex;flex-direction:column;gap:12px;max-width:340px;padding:28px 24px 24px;position:relative;text-align:center;width:100%}.result-overlay__close{align-items:center;background:var(--paper);border:1px solid var(--paper-line);border-radius:var(--radius-sm);color:var(--ink-soft);cursor:pointer;display:inline-flex;font-family:var(--font-text);font-size:18px;height:28px;justify-content:center;line-height:1;position:absolute;right:12px;top:12px;transition:background .15s var(--ease),color .15s var(--ease);width:28px}.result-overlay__close:hover{background:var(--paper-deep);color:var(--ink)}.result-overlay__eyebrow{color:var(--ink-mute);font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;margin:0;text-transform:uppercase}.result-overlay__word{align-items:center;color:var(--ink);display:inline-flex;font-family:var(--font-display);font-size:48px;font-weight:600;gap:.02em;justify-content:center;line-height:1;margin:4px 0 0}.result-overlay__stat{color:var(--ink-soft);font-family:var(--font-text);font-size:14px;margin:0}.result-overlay__stat strong{color:var(--ink)}.result-overlay__share{align-items:center;background:var(--indigo);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;display:inline-flex;font-family:var(--font-text);font-size:14px;font-weight:600;gap:10px;justify-content:center;letter-spacing:.01em;line-height:1;margin-top:8px;min-width:160px;padding:11px 28px;transition:background .15s var(--ease),-webkit-transform .08s var(--ease);transition:background .15s var(--ease),transform .08s var(--ease);transition:background .15s var(--ease),transform .08s var(--ease),-webkit-transform .08s var(--ease)}.result-overlay__share-icon{display:block;flex:0 0 auto}.result-overlay__share:hover{background:var(--indigo-deep)}.result-overlay__share:active{-webkit-transform:translateY(1px);transform:translateY(1px)}.htp-backdrop{align-items:center;-webkit-animation:htp-fade-in .2s var(--ease) both;animation:htp-fade-in .2s var(--ease) both;background:rgba(31,26,20,.45);display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:20}@-webkit-keyframes htp-fade-in{0%{opacity:0}to{opacity:1}}@keyframes htp-fade-in{0%{opacity:0}to{opacity:1}}.htp-modal{-webkit-animation:htp-slide-in .22s var(--ease) both;animation:htp-slide-in .22s var(--ease) both;background:var(--paper);border:1px solid var(--paper-line);border-radius:var(--radius);box-shadow:0 12px 32px rgba(31,26,20,.18);max-height:90vh;max-width:400px;overflow-y:auto;padding:32px 24px 28px;position:relative;width:100%}@-webkit-keyframes htp-slide-in{0%{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes htp-slide-in{0%{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.htp-close{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--ink-mute);cursor:pointer;display:flex;font-size:14px;height:28px;justify-content:center;position:absolute;right:14px;top:14px;transition:background .15s var(--ease),color .15s var(--ease);width:28px}.htp-close:hover{background:var(--paper-deep);color:var(--ink)}.htp-title{color:var(--ink);font-family:var(--font-display);font-size:22px;font-weight:600;margin:0 0 6px;text-align:center}.htp-lead{color:var(--ink-soft);font-family:var(--font-text);font-size:14px;line-height:1.5;margin:0 0 20px;text-align:center}.htp-section{border-top:1px solid var(--paper-line);color:var(--ink-mute);font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;margin:20px 0 10px;padding-top:16px;text-transform:uppercase}.htp-example{margin-bottom:12px}.htp-example__row{display:flex;gap:5px;margin-bottom:6px}.htp-tile{align-items:center;background:var(--paper);border:1.5px solid var(--paper-line);border-radius:var(--radius-sm);color:var(--ink);display:flex;font-family:var(--font-display);font-size:1.25rem;font-weight:500;height:42px;justify-content:center;line-height:1;text-transform:uppercase;width:42px}.htp-tile--correct{background:var(--indigo);border-color:var(--indigo-deep);color:#fff}.htp-tile--present{background:var(--ochre);border-color:var(--ochre-deep);color:#fff}.htp-tile--absent{background:var(--slate);border-color:var(--slate);color:#fff}.htp-example__note{color:var(--ink-soft);font-family:var(--font-text);font-size:13px;line-height:1.4;margin:0}.htp-body{line-height:1.5;margin:0 0 8px}.htp-body,.htp-list{color:var(--ink-soft);font-family:var(--font-text);font-size:14px}.htp-list{line-height:1.8;margin:0;padding-left:20px}.htp-list strong{color:var(--ink);font-weight:600}.htp-start{background:var(--indigo);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;display:block;font-family:var(--font-text);font-size:15px;font-weight:600;margin-top:24px;padding:13px 0;transition:background .15s var(--ease),-webkit-transform .08s var(--ease);transition:background .15s var(--ease),transform .08s var(--ease);transition:background .15s var(--ease),transform .08s var(--ease),-webkit-transform .08s var(--ease);width:100%}.htp-start:hover{background:var(--indigo-deep)}.htp-start:active{-webkit-transform:translateY(1px);transform:translateY(1px)}.stats-backdrop{align-items:center;-webkit-animation:stats-fade-in .2s var(--ease) both;animation:stats-fade-in .2s var(--ease) both;background:rgba(31,26,20,.45);display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:20}@-webkit-keyframes stats-fade-in{0%{opacity:0}to{opacity:1}}@keyframes stats-fade-in{0%{opacity:0}to{opacity:1}}.stats-modal{-webkit-animation:stats-slide-in .22s var(--ease) both;animation:stats-slide-in .22s var(--ease) both;background:var(--paper);border:1px solid var(--paper-line);border-radius:var(--radius);box-shadow:0 12px 32px rgba(31,26,20,.18);max-width:380px;padding:32px 24px 28px;position:relative;width:100%}@-webkit-keyframes stats-slide-in{0%{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes stats-slide-in{0%{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.stats-close{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--ink-mute);cursor:pointer;display:flex;font-size:14px;height:28px;justify-content:center;position:absolute;right:14px;top:14px;transition:background .15s var(--ease),color .15s var(--ease);width:28px}.stats-close:hover{background:var(--paper-deep);color:var(--ink)}.stats-title{color:var(--ink);font-family:var(--font-display);font-size:22px;font-weight:600;margin:0 0 20px;text-align:center}.stats-summary{display:flex;gap:28px;justify-content:center;margin-bottom:4px}.stats-stat{align-items:center;display:flex;flex-direction:column;gap:2px}.stats-stat__number{color:var(--ink);font-family:var(--font-display);font-size:36px;font-weight:600;line-height:1}.stats-stat__label{letter-spacing:.14em}.stats-section,.stats-stat__label{color:var(--ink-mute);font-family:var(--font-mono);font-size:9px;text-transform:uppercase}.stats-section{border-top:1px solid var(--paper-line);letter-spacing:.18em;margin:20px 0 12px;padding-top:16px}.stats-dist{display:flex;flex-direction:column;gap:6px}.stats-bar-row{align-items:center;display:flex;gap:10px}.stats-bar-label{color:var(--ink-soft);flex-shrink:0;font-family:var(--font-mono);font-size:13px;font-weight:500;text-align:right;width:12px}.stats-bar-track{background:var(--paper-deep);border-radius:3px;flex:1 1;height:26px;overflow:hidden}.stats-bar-fill{align-items:center;background:var(--indigo);border-radius:3px;display:flex;height:100%;justify-content:flex-end;min-width:26px;padding-right:7px;transition:width .4s var(--ease)}.stats-bar-count{color:#fff;font-family:var(--font-mono);font-size:12px;font-weight:500}.stats-empty{color:var(--ink-mute);line-height:1.5;margin:8px 0 0;text-align:center}.stats-done,.stats-empty{font-family:var(--font-text);font-size:14px}.stats-done{background:transparent;border:1px solid var(--paper-line);border-radius:var(--radius);color:var(--ink);cursor:pointer;display:block;font-weight:600;margin-top:24px;padding:11px 0;transition:background .15s var(--ease);width:100%}.stats-done:hover{background:var(--paper-deep)}
/*# sourceMappingURL=main.7e9f57a6.css.map*/