@font-face{font-family:DM Sans;src:url(/fonts/dm-sans.woff2) format("woff2");font-style:normal;font-weight:100 1000;font-display:swap}@font-face{font-family:"Source Serif";src:url(/fonts/source-serif.woff2) format("woff2");font-style:normal;font-weight:200 900;font-display:swap}@font-face{font-family:Bodoni Moda;src:url(/fonts/bodoni.woff2) format("woff2");font-style:normal;font-weight:400 900;font-display:swap}@font-face{font-family:"Source Serif";src:url(/fonts/source-serif-italic.woff2) format("woff2");font-style:italic;font-weight:200 900;font-display:swap}:root{font-family:DM Sans,sans-serif;color:#292a25;background:#f6f4ed;font-synthesis:none;--paper: #f6f4ed;--ink: #292a25;--muted: #6d705f;--line: #dcdcd1;--accent: #c33c25;--stage: #f0eee5;--serif: "Source Serif", Georgia, serif;font-optical-sizing:auto}*{box-sizing:border-box}body{margin:0}button,select,a{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default}button,a,select{touch-action:manipulation}button{color:inherit}a{color:inherit;text-decoration:none}button{border:0;background:none}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button:disabled{opacity:.6}::selection{color:#fffaf1;background:var(--accent)}*{scrollbar-color:#bcbcaf var(--paper);scrollbar-width:thin}.icon{width:20px;height:20px;flex:none}.page{max-width:1280px;margin:auto;padding:0 56px}.site-header{height:104px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;font-size:25px;font-weight:750;letter-spacing:-1.05px;gap:5px}.brand span:not(.brand-dot){font-weight:450}.brand-symbol{width:35px;height:35px;margin-right:8px;color:var(--accent)}.brand-dot{width:6px;height:6px;background:var(--accent);border-radius:50%;margin:14px 0 0 3px}.site-header nav{display:flex;gap:27px}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;font-size:13px;font-weight:550}.text-button:hover{color:var(--accent)}.site-header .icon{width:18px;height:18px}.intro{display:flex;justify-content:space-between;align-items:center;padding:51px 0 44px;gap:40px}.intro h1{font-size:clamp(42px,4.55vw,63px);line-height:1.08;font-weight:500;letter-spacing:-.035em;margin:0;text-wrap:balance}.intro h1 em{font-family:var(--serif);font-weight:450;color:var(--accent)}.intro-copy{padding-right:29px;padding-top:9px;font-size:14px;line-height:1.75}.intro-copy p{margin:0 0 6px}.intro-copy p+p{color:#6d705f}.inline-link{display:inline-flex;align-items:center;gap:7px;min-height:35px;padding:0;font-size:12px}.inline-link:hover{color:var(--accent)}.intro .inline-link{font-size:12px;color:var(--accent);margin-top:10px}.inline-link .icon{width:15px;height:15px}.session-bar{display:flex;align-items:center;justify-content:space-between;margin:0 0 16px}.mode-tabs{display:flex;align-items:center;background:#eae9e0;padding:4px;border-radius:7px;gap:3px}.mode-tabs button{min-height:38px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 17px;font-size:12px;font-weight:600;border-radius:4px;color:#626558}.mode-tabs button.active{background:#fffef9;color:var(--ink);box-shadow:0 2px 4px #292a2508}.mode-tabs button:hover:not(.active){background:#dfded3}.mode-tabs .icon{width:15px;height:15px}.daily-dot{width:5px;height:5px;background:var(--accent);border-radius:50%;margin-left:3px}.session-note{font-size:11px;color:var(--muted)}.game{border:1px solid #d5d5c9;border-radius:12px;overflow:hidden;background:#fffef9}.game-toolbar{min-height:75px;display:flex;align-items:center;justify-content:space-between;padding:15px 28px;gap:20px}.exercise-heading{display:flex;align-items:center;gap:19px}.round-number{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.round-number span{color:#656a57;font-weight:400}.exercise-title{font-size:13px;font-weight:550}.settings{display:flex;align-items:center;gap:14px}.settings select{border:0;background:transparent;color:#636458;font-size:11px;padding:8px 18px 8px 0;max-width:190px;cursor:pointer}.settings select:disabled{cursor:default;opacity:.7}.settings-divider{height:15px;width:1px;background:var(--line)}.stage{height:318px;background:var(--stage);position:relative;overflow:hidden;isolation:isolate}.stage-caption{position:absolute;top:23px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;color:#656a57;font-size:9px;font-weight:550;letter-spacing:1.35px}.round-dots{display:flex;gap:6px}.round-dots span{width:6px;height:6px;border-radius:50%;background:#d6d6c9}.round-dots span.current{background:var(--accent)}.round-dots span.done{background:#757b68}.guide{position:absolute;left:28px;right:28px;height:1px;background:#d4d4c5;pointer-events:none}.top-guide{top:103px;background:#deded2}.baseline{top:225px}.guide:before,.guide:after{content:"";height:9px;width:1px;background:#c5c7b6;position:absolute;top:-4px}.guide:after{right:0}.word-area{position:absolute;top:59px;left:0;width:100%;height:205px;font-size:var(--letter-size);font-family:var(--word-family);font-weight:var(--word-weight);font-kerning:none;line-height:1;-webkit-user-select:none;user-select:none}.letter,.original-letter{position:absolute;top:0;padding:0;font-size:inherit;font-family:inherit;font-weight:inherit;line-height:1.35;text-align:left;white-space:nowrap;height:184px;display:block;letter-spacing:0;color:#292a25}.letter>span:first-child{pointer-events:none}.letter{z-index:2}.letter.fixed{pointer-events:none}.letter.movable{touch-action:none;cursor:ew-resize;outline-offset:3px;border-radius:3px}.letter.movable:disabled{opacity:1;cursor:default}.letter.movable:focus-visible{outline:2px solid var(--accent)}.letter.movable:hover,.letter.selected,.letter.dragging{color:var(--accent)}.is-result .letter{color:#35372f}.original-letter{color:var(--accent);opacity:0;pointer-events:none;z-index:1}.original-letter.visible{opacity:.52}.letter-handle{position:absolute;top:185px;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;width:26px;height:23px;color:#656a57;font-family:DM Sans,sans-serif;line-height:1;border-radius:4px}.letter-handle .icon{width:12px;height:12px}.movable .letter-handle{color:#656a57}.movable.selected .letter-handle,.movable:hover .letter-handle,.dragging .letter-handle{background:var(--accent);color:#fffef9}.is-result .letter-handle{display:none}.stage-bottom{position:absolute;bottom:18px;left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;color:#656a57;font-size:10px;gap:10px}.fixed-note{display:flex;align-items:center;gap:6px}.fixed-note .icon{width:12px;height:12px}.stage-nudge{font-family:var(--serif);font-size:12px;font-style:italic}.game-actions{display:flex;align-items:center;justify-content:space-between;padding:23px 28px;gap:18px;min-height:98px}.drag-hint{display:flex;align-items:center;gap:12px;font-size:12px;line-height:1.55;font-weight:500}.drag-hint>.icon{width:29px;height:29px;color:#656a57}.drag-hint small{font-size:11px;font-weight:400;color:var(--muted)}.action-buttons{display:flex;align-items:center;gap:21px}.reset-button{display:flex;align-items:center;gap:7px;font-size:11px;min-height:44px;color:var(--muted)}.reset-button .icon{width:14px;height:14px}.reset-button:hover{color:var(--accent)}.primary-button{min-height:47px;display:inline-flex;align-items:center;justify-content:center;gap:25px;background:var(--ink);color:#fffef9;border-radius:5px;padding:0 23px;font-size:12px;font-weight:550;white-space:nowrap}.primary-button:hover{background:var(--accent)}.primary-button:active{transform:translateY(1px)}.primary-button .icon{width:17px;height:17px}.game-bottom{padding:13px 28px;min-height:44px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edede4;color:#656a57;font-size:9px;gap:15px}#keyboard-help{display:flex;align-items:center;gap:8px}#keyboard-help>.icon{width:13px;height:13px}kbd{font-family:inherit;font-size:inherit;font-weight:500}#keyboard-help kbd{margin-right:3px;color:#686c5d}.keyboard-divider{margin:0 7px;color:#b4b5a8}.font-credit{white-space:nowrap;font-family:var(--serif);font-style:italic;font-size:10px}.how-it-works{padding:31px 0 35px;display:grid;grid-template-columns:1fr 1fr 1.04fr;gap:28px}.how-it-works>div{display:flex;gap:12px}.step-icon{margin-top:2px;color:#797d68}.step-icon .icon{width:19px;height:19px}.how-it-works h3{font-size:11px;font-weight:600;margin:0 0 5px}.how-it-works p{font-size:10px;line-height:1.6;margin:0;color:var(--muted)}.site-footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 0 22px;font-size:9px;color:#656a57}.site-footer>span:first-child{font-family:var(--serif);font-style:italic;font-size:12px;color:#676b5b}.site-footer .inline-link{font-size:9px}.site-footer .icon{width:12px;height:12px}.legend{display:flex;align-items:center;gap:6px}.legend i{display:inline-block;width:6px;height:6px;border-radius:50%}.your-dot{background:var(--ink)}.legend .original-dot{background:var(--accent);margin-left:12px}.overlay-control{display:flex;align-items:center;gap:6px;font-size:10px;color:#626751;min-height:32px}.overlay-control .icon{width:14px;height:14px}.overlay-control:hover{color:var(--accent)}.result-panel{display:flex;align-items:center;gap:24px;padding:24px 28px;min-height:113px;animation:reveal .45s cubic-bezier(.16,1,.3,1)}@keyframes reveal{0%{clip-path:inset(0 0 20%);transform:translateY(7px)}to{clip-path:inset(0);transform:translateY(0)}}.score{display:flex;align-items:center;gap:7px;flex-shrink:0}.score strong{font-family:var(--serif);font-size:58px;line-height:1;font-weight:450;letter-spacing:-2px;color:var(--accent);font-variant-numeric:tabular-nums}.score>span{font-size:11px;line-height:1.8;color:#656a57}.score small{font-size:8px}.result-copy{flex:1}.result-copy h2{font-size:14px;font-weight:600;letter-spacing:-.2px;margin:0 0 5px}.result-copy p{font-size:10px;line-height:1.7;margin:0;color:#737866;max-width:420px}.specific-advice{font-weight:550;color:#4e5541}.summary{text-align:center;padding:42px 28px 30px;min-height:535px}.completion-mark{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#e9eddf;color:#566244}.summary h2{font-family:var(--serif);font-size:35px;font-weight:450;letter-spacing:-.8px;margin:15px 0 8px}.summary>p{font-size:12px;color:var(--muted)}.summary-score{display:flex;align-items:center;justify-content:center;gap:10px;margin:23px 0}.summary-score>strong{font-family:var(--serif);font-size:80px;font-weight:400;line-height:1;color:var(--accent);letter-spacing:-2px}.summary-score>span{font-size:17px;color:#656a57;text-align:left}.summary-score>span>span{display:block;font-size:10px;margin-top:5px}.word-scores{max-width:560px;margin:25px auto 30px;display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.word-scores>div{display:flex;flex-direction:column;gap:8px;padding:15px 3px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.word-scores>div>span{font-size:10px;font-weight:600}.word-scores strong{font-size:19px;font-weight:500}.word-scores small{font-size:9px;color:var(--muted);font-weight:400}.summary-actions{display:flex;align-items:center;justify-content:center;gap:25px}.summary .summary-footnote{font-family:var(--serif);font-style:italic;margin-top:24px;font-size:13px}dialog{border:0;border-radius:14px;background:#fffef9;color:var(--ink);padding:39px;max-width:560px;width:calc(100% - 32px);max-height:calc(100dvh - 40px);box-shadow:0 24px 90px #22282030}dialog::backdrop{background:#292c245c}.close-button{position:absolute;top:14px;right:14px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%}.close-button:hover{background:var(--stage)}.sheet-brand{color:var(--accent);font-size:12px;display:flex;align-items:center;gap:6px;margin:0 0 19px}.sheet-brand .icon{width:17px;height:17px}dialog h2{font-family:var(--serif);font-size:34px;line-height:1.1;font-weight:450;letter-spacing:-.7px;margin:8px 0 18px}dialog p,dialog li{font-size:12px;line-height:1.8;color:#636856}dialog .sheet-lead{font-size:14px;color:#4d5343}dialog h3{margin:26px 0 8px;font-size:14px;font-weight:650}dialog ol{padding-left:18px}dialog li{padding-left:5px;margin-bottom:8px}dialog .privacy-note{padding-top:17px;border-top:1px solid var(--line);margin-top:24px;font-size:10px;color:#656a57}dialog kbd{border:1px solid var(--line);border-radius:3px;padding:0 4px}.progress-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:22px 0 24px;gap:10px}.progress-stats div{display:flex;flex-direction:column;gap:6px}.progress-stats strong{font-family:var(--serif);font-weight:450;font-size:40px;color:var(--accent);line-height:1}.progress-stats span{font-size:10px;color:#656a57}.history-list{list-style:none;padding:0;margin:0}.history-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #edede4;margin:0}.history-list li div{display:flex;flex-direction:column}.history-list strong{font-size:13px;color:var(--ink);font-weight:600}.history-list span{font-size:10px;color:var(--muted)}.history-list b{font-size:18px;color:var(--ink);font-weight:500}.history-list small{font-size:10px;color:var(--muted)}.clear-button{font-size:11px;min-height:40px;padding:0;color:var(--accent);text-decoration:underline;text-underline-offset:4px}.clear-actions{display:flex;align-items:center;gap:20px}.empty-history{padding:20px 0;display:flex;align-items:center;gap:15px}.empty-history>.icon{color:var(--accent);width:32px;height:32px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;padding:0;border:0}.fallback{max-width:560px;padding:40px 24px;margin:auto}.fallback button{background:var(--ink);color:#fff;padding:12px 20px;border-radius:5px}@media(min-width:1400px){.page{padding:0 56px}.intro{padding-top:57px;padding-bottom:49px}.stage{height:340px}.word-area{top:69px}.top-guide{top:113px}.baseline{top:235px}.stage-bottom{bottom:20px}.game-actions{padding-top:25px;padding-bottom:25px}}@media(max-width:1000px){.page{padding:0 32px}.intro{gap:25px}.intro-copy{padding-right:0;font-size:13px}.intro h1{font-size:49px;letter-spacing:-.035em}.game-toolbar{padding-left:22px;padding-right:22px}.exercise-heading{gap:12px}.settings{gap:10px}.settings select{max-width:160px}.how-it-works{gap:20px}.how-it-works p{font-size:10px}.game-actions{padding:20px 22px}.game-bottom{padding-left:22px;padding-right:22px}.result-panel{gap:15px;padding:22px}.result-copy p{font-size:10px}.result-panel .primary-button{padding:0 16px;gap:12px}.site-footer{gap:10px}}@media(max-width:720px){.page{padding:0 22px}.site-header{height:79px}.brand{font-size:21px;gap:3px}.brand-symbol{width:29px;height:29px;margin-right:6px}.brand-dot{width:5px;height:5px}.site-header nav{gap:14px}.site-header .text-button{font-size:11px;gap:5px}.site-header .text-button .icon{width:16px;height:16px}.intro{padding:35px 0 30px;align-items:flex-start;gap:17px;flex-direction:column}.intro h1{font-size:52px;letter-spacing:-.035em}.intro-copy{padding:0;font-size:13px;line-height:1.65}.intro-copy p{margin-bottom:3px}.intro-copy .inline-link{margin-top:5px}.desktop-break{display:none}.session-note{font-size:9px;max-width:135px;text-align:right;line-height:1.6}.mode-tabs button{padding:0 12px;font-size:11px;min-height:36px}.mode-tabs .icon{width:13px;height:13px}.daily-dot{display:none}.game-toolbar{padding:15px 18px;min-height:93px;flex-direction:column;align-items:stretch;gap:11px}.exercise-heading{justify-content:space-between}.exercise-title{font-size:12px}.settings{justify-content:space-between}.settings select{padding-top:4px;padding-bottom:4px;max-width:205px}.settings-divider{display:none}.stage{height:270px}.stage-caption{left:18px;right:18px;top:20px;font-size:8px;letter-spacing:.8px}.guide{left:17px;right:17px}.top-guide{top:101px}.baseline{top:169px}.word-area{top:77px;height:130px}.letter,.original-letter{height:107px;line-height:1.35}.letter-handle{top:110px;width:28px;height:25px}.letter-handle .icon{width:13px;height:13px}.stage-bottom{left:18px;right:18px;bottom:17px;font-size:9px}.stage-nudge{font-size:10px}.fixed-note .icon{width:10px;height:10px}.game-actions{padding:18px;gap:13px;min-height:90px;flex-direction:column;align-items:stretch}.drag-hint{font-size:10px;justify-content:center;gap:7px}.drag-hint>.icon{width:17px;height:17px}.drag-hint span br{display:none}.drag-hint small{font-size:10px;margin-left:4px}.action-buttons{justify-content:space-between;gap:15px}.primary-button{min-height:46px;padding:0 18px;font-size:11px;gap:20px}.action-buttons .primary-button{flex:1}.reset-button{min-width:60px;font-size:10px;gap:6px}.game-bottom{padding:12px 17px;justify-content:center}.font-credit{display:none}#keyboard-help{font-size:8px;gap:6px}#keyboard-help>.icon{display:none}.keyboard-divider{margin:0 4px}.how-it-works{grid-template-columns:1fr;padding:26px 0;gap:20px}.how-it-works>div{gap:12px}.how-it-works h3{font-size:12px;margin-bottom:4px}.how-it-works p{font-size:11px}.step-icon{margin-top:1px}.step-icon .icon{width:21px;height:21px}.site-footer{flex-wrap:wrap;row-gap:3px;padding-top:16px}.site-footer>span:first-child{flex:1;font-size:12px}.site-footer>span:nth-child(2){font-size:9px;order:3;flex-basis:100%}.site-footer .inline-link{font-size:9px;min-height:30px}.result-panel{padding:22px 18px;flex-wrap:wrap;gap:14px}.score{gap:6px}.score strong{font-size:53px}.result-copy{flex-basis:calc(100% - 100px)}.result-copy h2{font-size:12px;line-height:1.4}.result-copy p{font-size:10px;line-height:1.65}.specific-advice{display:block;margin-top:4px}.result-panel>.primary-button{width:100%}.summary{padding:32px 17px 25px;min-height:485px}.summary h2{font-size:28px}.summary>p{font-size:11px;line-height:1.65}.summary-score>strong{font-size:73px}.word-scores{gap:6px;margin:24px 0}.word-scores>div>span{font-size:8px}.word-scores strong{font-size:18px}.word-scores small{font-size:8px}.summary-actions{flex-direction:column;gap:9px}.summary-actions .primary-button{width:100%}.summary-actions .text-button{font-size:11px}.summary .summary-footnote{font-size:12px;margin-top:16px}dialog{padding:32px 25px}dialog h2{font-size:30px}.legend{font-size:9px;gap:4px}.legend .original-dot{margin-left:6px}.overlay-control{font-size:9px;gap:5px}}@media(max-width:400px){.page{padding:0 18px}.brand{font-size:20px}.brand-symbol{width:25px;height:25px;margin-right:4px}.site-header nav{gap:10px}.site-header nav .text-button:first-child .icon{display:none}.intro h1{font-size:48px}.intro-copy{font-size:12px}.stage-nudge{display:none}.session-note{max-width:110px}.mode-tabs button{padding:0 10px}.game-bottom{padding:12px 10px}#keyboard-help{font-size:7.8px}.keyboard-divider{margin:0 2px}.drag-hint small{font-size:9px}.stage-caption{font-size:7.5px;letter-spacing:.6px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.letter,.original-letter{line-height:1;height:var(--letter-size)}.glyph{position:absolute;left:0;top:0;display:block;line-height:1;pointer-events:none}.letter-handle{top:var(--handle-top);width:30px;height:27px}.letter.selected,.letter.dragging{z-index:3}.letter.movable{height:calc(var(--handle-top) + 30px)}
