:root{--bg:#F4EAD5;--paper:#FBF6E7;--paper-light:#FFFEF5;--ink:#1A1A1A;--accent:#C8442A;--accent-soft:#F0C8A3;--shadow-card:8px 8px 0 var(--ink);--shadow-pop:10px 10px 0 var(--accent);--shadow-sm:4px 4px 0 var(--ink);--shadow-xs:2px 2px 0 var(--ink)}*,:after,:before{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Newsreader,Georgia,Times New Roman,serif;font-size:17px;line-height:1.55;min-height:100vh;min-height:100dvh;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}[lang=hi] .reader,[lang=hi] body,[lang=mr] .reader,[lang=mr] body{font-family:"Noto Serif Devanagari",Newsreader,Georgia,Times New Roman,serif}[lang=hi] .reader,[lang=mr] .reader{font-size:20px;line-height:1.8}[lang=hi] .word-display,[lang=mr] .word-display{font-family:"Noto Serif Devanagari",Fraunces,Georgia,serif}[lang=hi] .editor textarea,[lang=mr] .editor textarea{font-family:"Noto Serif Devanagari",Newsreader,Georgia,serif}.app{max-width:720px;margin:0 auto;padding:22px 18px 110px}@media (min-width:540px){.app{padding:28px 24px 120px}}@media (min-width:768px){.app{padding:40px 32px 56px}}.navbar{padding:18px 0 14px}.navbar-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;max-width:720px;margin:0 auto;padding:0 18px}@media (min-width:540px){.navbar-inner{padding:0 24px}}@media (min-width:768px){.navbar-inner{padding:0 32px}}.navbar-brand h1{font-family:Fraunces,Georgia,serif;font-weight:900;font-size:clamp(28px,7.5vw,44px);line-height:1.05;margin:0;letter-spacing:-.01em}.navbar-brand h1 em{font-style:italic;color:var(--accent);font-weight:900}.navbar-tag{margin:4px 0 0;font-family:Fraunces,Georgia,serif;font-style:italic;font-size:clamp(12px,3.4vw,15px);opacity:.7}.navbar-desktop{display:none;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}@media (min-width:768px){.navbar-desktop{display:flex}}.navbar-mobile{display:flex;align-items:center}@media (min-width:768px){.navbar-mobile{display:none}}.hamburger{width:44px;height:44px;border:2px solid var(--ink);border-radius:12px;background:var(--paper);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;touch-action:manipulation;transition:background .15s linear,transform .1s ease}.hamburger:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media (hover:hover){.hamburger:hover{background:var(--accent-soft)}}.hamburger:active{transform:scale(.97)}.hamburger-bar{display:block;width:20px;height:2px;background:var(--ink);border-radius:1px;transition:transform .2s ease,opacity .2s ease}.mobile-drawer{position:absolute;top:72px;right:18px;z-index:50}@media (min-width:540px){.mobile-drawer{right:24px}}.mobile-drawer-inner{background:var(--paper);border:2px solid var(--ink);border-radius:18px;box-shadow:var(--shadow-card);padding:14px;min-width:220px;display:flex;flex-direction:column;gap:8px;animation:pop .22s cubic-bezier(.34,1.56,.64,1)}.mobile-drawer-inner .lang-switcher{justify-content:center}.mobile-user{display:flex;flex-direction:column;gap:6px}.mobile-user-header{display:flex;align-items:center;justify-content:space-between;padding:6px 8px}.mobile-user-name{font-family:Fraunces,Georgia,serif;font-weight:700;font-size:15px}.mobile-user-streak{background:var(--accent);color:var(--paper);border-radius:999px;padding:2px 10px}.mobile-item,.mobile-user-streak{font-family:Fraunces,Georgia,serif;font-weight:700;font-size:13px}.mobile-item{letter-spacing:.08em;text-transform:uppercase;padding:10px 12px;border:2px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:12px;min-height:40px;touch-action:manipulation;display:inline-flex;align-items:center;gap:8px;transition:background .15s linear,transform .1s ease;text-align:left}.mobile-item:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media (hover:hover){.mobile-item:hover{background:var(--accent-soft)}}.mobile-item:active{transform:scale(.97)}.mobile-item[disabled]{opacity:.5;cursor:not-allowed}.user-menu{position:relative}.avatar{display:inline-flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;border:2px solid var(--ink);background:var(--paper);border-radius:999px;cursor:pointer;touch-action:manipulation;transition:background .15s linear,transform .1s ease}.avatar:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media (hover:hover){.avatar:hover{background:var(--accent-soft)}}.avatar:active{transform:scale(.97)}.avatar-initials{width:28px;height:28px;border-radius:50%;background:var(--accent);color:var(--paper);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:11px;letter-spacing:.06em}.avatar-initials,.avatar-streak{font-family:Fraunces,Georgia,serif}.avatar-streak{font-weight:700;font-size:12px}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:50;background:var(--paper);border:2px solid var(--ink);border-radius:18px;box-shadow:var(--shadow-card);min-width:200px;padding:10px;display:flex;flex-direction:column;gap:4px;animation:pop .22s cubic-bezier(.34,1.56,.64,1)}.user-dropdown-header{padding:8px 10px;display:flex;flex-direction:column;gap:2px}.user-dropdown-name{font-family:Fraunces,Georgia,serif;font-weight:700;font-size:15px}.user-dropdown-streak{font-weight:600;opacity:.7}.user-dropdown-item,.user-dropdown-streak{font-family:Fraunces,Georgia,serif;font-size:13px}.user-dropdown-item{font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:10px 12px;border:2px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:12px;min-height:40px;touch-action:manipulation;display:inline-flex;align-items:center;gap:8px;transition:background .15s linear,transform .1s ease;text-align:left}.user-dropdown-item:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media (hover:hover){.user-dropdown-item:hover{background:var(--accent-soft)}}.user-dropdown-item:active{transform:scale(.97)}.lang-switcher{gap:8px}.lang-switcher,.pill{display:inline-flex;align-items:center}.pill{font-family:Fraunces,Georgia,serif;font-weight:900;font-size:clamp(11px,2.6vw,13px);letter-spacing:.12em;text-transform:uppercase;padding:11px 18px;border:2px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:999px;min-height:42px;touch-action:manipulation;gap:7px;transition:background .15s linear,transform .1s ease}.pill[disabled]{opacity:.5;cursor:not-allowed}@media (hover:hover){.pill:hover:not([disabled]){background:var(--accent-soft)}}.pill:active{transform:scale(.97)}.pill:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.pill.primary{background:var(--accent);color:var(--paper);border-color:var(--ink)}@media (hover:hover){.pill.primary:hover:not([disabled]){background:#b03a23}}.pill .icon{font-size:14px;line-height:1}.rule{height:0;border:0;border-top:2px solid var(--ink);margin:0 0 22px}.editor{border:2px solid var(--ink);background:var(--paper);border-radius:18px;padding:18px;margin-bottom:22px;box-shadow:var(--shadow-card)}@media (min-width:540px){.editor{padding:22px}}.editor h2{font-size:13px;margin:0 0 14px}.editor h2,.editor label{font-family:Fraunces,Georgia,serif;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.editor label{display:block;font-size:11px;margin-bottom:8px}.editor input[type=password],.editor input[type=text],.editor textarea{width:100%;padding:12px 14px;border:2px solid var(--ink);background:var(--bg);font-family:Newsreader,Georgia,serif;font-size:16px;line-height:1.55;color:var(--ink);border-radius:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:box-shadow .12s ease,transform .12s ease,background .12s ease}.editor textarea{resize:vertical;min-height:140px;font-size:17px}.editor input:focus,.editor textarea:focus{outline:none;background:var(--paper-light);box-shadow:var(--shadow-xs);transform:translate(-2px,-2px)}.editor .field{margin-bottom:16px}.editor .actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.editor .hint{margin:6px 0 0;font-style:italic;font-size:13px;opacity:.6}.status{padding:12px 16px;border:2px solid var(--ink);border-radius:14px;background:var(--paper);margin-bottom:16px;font-family:Fraunces,Georgia,serif;font-style:italic;font-size:14px;box-shadow:var(--shadow-xs)}.status.ok{background:var(--accent-soft)}.status.err{background:var(--accent);color:var(--paper)}.reader{border:2px solid var(--ink);background:var(--paper);border-radius:22px;padding:26px 24px;box-shadow:var(--shadow-card);font-family:Newsreader,Georgia,serif;font-size:21px;line-height:1.55;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-align:justify;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}@media (max-width:480px){.reader{padding:22px 20px;font-size:20px;border-radius:20px}}@media (min-width:768px){.reader{padding:36px 34px;font-size:22px;border-radius:24px}}.reader p{margin:0 0 1.1em}.reader p:last-child{margin:0}.word{display:inline-block;padding:2px 4px;margin:0 -1px;cursor:pointer;border-radius:4px;transition:background-color .15s linear,color .15s linear;touch-action:manipulation}@media (hover:hover){.word:hover{background:var(--accent-soft)}}.word:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.word.active{background:var(--accent);color:var(--paper)}.reader-hint{margin:14px 0 0;font-family:Fraunces,Georgia,serif;font-style:italic;text-align:center;font-size:14px;opacity:.55}.overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:100;background:rgba(26,26,26,.32);padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.modal,.popup{background:var(--paper);border:2px solid var(--ink);border-radius:22px;box-shadow:var(--shadow-pop);width:min(440px,100%);max-width:100%;max-height:92dvh;overflow:hidden auto;overscroll-behavior:contain;position:relative;animation:pop .25s cubic-bezier(.34,1.56,.64,1)}@keyframes pop{0%{transform:scale(.7) rotate(-2deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.stripes{height:16px;background:repeating-linear-gradient(45deg,var(--accent) 0 10px,var(--ink) 10px 20px);border-bottom:2px solid var(--ink)}.popup .label{margin:0;padding:22px 24px 0;font-weight:700;font-size:13px;letter-spacing:.18em;text-transform:uppercase;opacity:.55}.popup .label,.popup .word-display{font-family:Fraunces,Georgia,serif;text-align:center}.popup .word-display{font-weight:900;font-size:clamp(38px,12vw,68px);line-height:1.05;padding:8px 22px 12px;letter-spacing:-.02em;word-break:break-word;overflow-wrap:anywhere}.popup .actions{display:flex;justify-content:center;padding:8px 24px 20px}.popup .replay{position:relative;font-family:Fraunces,Georgia,serif;font-weight:900;font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding:12px 22px;border:2px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;display:inline-flex;align-items:center;gap:12px;min-height:44px;touch-action:manipulation;border-radius:999px;transition:transform .1s ease,background .15s linear}@media (hover:hover){.popup .replay:hover{background:#2b2b2b}}.popup .replay:active{transform:scale(.97)}.popup .replay:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 0 rgba(200,68,42,.6)}50%{box-shadow:0 0 0 6px rgba(200,68,42,0)}}.popup .progress{height:4px;background:var(--accent);width:100%;transform-origin:left center;animation:shrink 2s linear forwards}@keyframes shrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.audio-loader{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;min-height:44px}.audio-loader .loader-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);animation:loader-bounce 1.2s ease-in-out infinite}.audio-loader .loader-dot:nth-child(2){animation-delay:.2s}.audio-loader .loader-dot:nth-child(3){animation-delay:.4s}@keyframes loader-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (prefers-reduced-motion:reduce){.modal,.popup,.popup .replay:before{animation:none}.editor input,.editor textarea,.pill,.word{transition:none}}.user-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:2px solid var(--ink);background:var(--paper);border-radius:999px;font-family:Fraunces,Georgia,serif;font-weight:700;font-size:13px;min-height:42px;box-shadow:var(--shadow-xs)}.user-badge .name{letter-spacing:.01em}.user-badge .streak{background:var(--accent);color:var(--paper);border-radius:999px;padding:2px 10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:12px;letter-spacing:.06em}.user-badge .logout{border:none;background:transparent;font-family:inherit;font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);opacity:.55;cursor:pointer;padding:2px 4px;margin-left:2px}.user-badge .logout:hover{opacity:1}.modal h2{margin:0;padding:4px 24px 0;font-weight:900;font-size:24px;letter-spacing:-.01em}.modal .modal-tag,.modal h2{font-family:Fraunces,Georgia,serif;text-align:center}.modal .modal-tag{margin:4px 0 0;padding:0 24px;font-style:italic;font-size:14px;opacity:.6}.modal .body{padding:18px 24px 22px}.modal .field{margin-bottom:14px}.modal .field label{display:block;font-family:Fraunces,Georgia,serif;font-weight:900;font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}.modal .field input{width:100%;padding:12px 14px;border:2px solid var(--ink);background:var(--bg);font-family:Newsreader,Georgia,serif;font-size:17px;line-height:1.4;color:var(--ink);border-radius:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:box-shadow .12s ease,transform .12s ease,background .12s ease}.modal .field input:focus{outline:none;background:var(--paper-light);box-shadow:var(--shadow-xs);transform:translate(-2px,-2px)}.modal .modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.modal .modal-actions .pill{flex:1 1;justify-content:center}.modal .toggle-mode{margin:10px 0 0;text-align:center;font-family:Fraunces,Georgia,serif;font-style:italic;font-size:13px;opacity:.85}.modal .toggle-mode button{background:none;border:none;color:var(--accent);font-family:inherit;font-size:inherit;font-style:inherit;cursor:pointer;text-decoration:underline;padding:0}.modal .modal-error{margin:0 0 12px;padding:10px 12px;background:var(--accent);color:var(--paper);border-radius:10px;font-family:Fraunces,Georgia,serif;font-style:italic;font-size:13px}.modal .close-x{position:absolute;top:22px;right:18px;background:none;border:none;cursor:pointer;font-size:22px;line-height:1;font-family:Fraunces,Georgia,serif;font-weight:900;opacity:.6;padding:4px 8px}.modal .close-x:hover{opacity:1}.leaderboard-list{list-style:none;margin:0;padding:0;border:2px solid var(--ink);border-radius:14px;background:var(--bg);overflow:hidden;max-height:50vh;overflow-y:auto}.leaderboard-list li{display:grid;grid-template-columns:42px 1fr auto;align-items:center;grid-gap:10px;gap:10px;padding:10px 14px;border-bottom:1px solid rgba(26,26,26,.15);font-family:Fraunces,Georgia,serif;font-size:15px}.leaderboard-list li:last-child{border-bottom:none}.leaderboard-list li.me{background:var(--accent-soft)}.leaderboard-list .rank{font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:.6}.leaderboard-list .who{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-list .pts{font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--ink);color:var(--paper);border-radius:999px;padding:3px 12px;font-size:13px;letter-spacing:.04em;display:inline-flex;gap:8px}.leaderboard-empty{text-align:center;padding:24px 12px;font-family:Fraunces,Georgia,serif;font-style:italic;opacity:.6;list-style:none}.auth-step-body{padding:14px 28px 28px}@media (max-width:480px){.auth-step-body{padding:12px 20px 22px}}.auth-title{margin:0;font-family:Fraunces,Georgia,serif;font-weight:900;font-size:clamp(26px,6vw,34px);line-height:1.08;text-align:center;letter-spacing:-.015em}.auth-subtitle{margin:6px 0 0;font-size:clamp(14px,3.6vw,17px);opacity:.55}.auth-helper,.auth-subtitle{font-family:Fraunces,Georgia,serif;font-style:italic;text-align:center}.auth-helper{margin:4px 0;font-size:12px;opacity:.45;line-height:1.4}.auth-input{width:100%;padding:14px 18px;border:2px solid var(--ink);background:var(--bg);font-family:Newsreader,Georgia,serif;font-size:18px;line-height:1.4;color:var(--ink);border-radius:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:box-shadow .12s ease,transform .12s ease,background .12s ease;text-align:center}.auth-input:focus{outline:none;background:var(--paper-light);box-shadow:var(--shadow-xs);transform:translate(-2px,-2px)}.pin-input{display:flex;justify-content:center;gap:10px}.pin-box{width:48px;height:56px;padding:0;text-align:center;font-family:Fraunces,Georgia,serif;font-weight:700;font-size:24px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink);border:2px solid var(--ink);border-radius:12px;background:var(--bg);caret-color:var(--accent);-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:box-shadow .12s ease,transform .12s ease,background .12s ease,border-color .12s ease}.pin-box.filled{background:var(--paper)}.pin-box::-ms-clear,.pin-box::-ms-reveal{display:none}.pin-box:focus{outline:none;background:var(--paper-light);border-color:var(--accent);box-shadow:var(--shadow-xs);transform:translate(-2px,-2px)}.pin-box:disabled{opacity:.6;cursor:not-allowed}@media (max-width:480px){.pin-input{gap:8px}.pin-box{width:44px;height:52px;font-size:22px}}.auth-username-badge{display:flex;justify-content:center;margin:14px 0}.auth-username-label{display:inline-block;padding:6px 18px;border:2px solid var(--ink);border-radius:999px;background:var(--paper);font-family:Fraunces,Georgia,serif;font-weight:700;font-size:16px;letter-spacing:.01em;box-shadow:var(--shadow-xs)}.auth-account-preview{margin:18px 0 6px;border:2px solid var(--ink);border-radius:14px;background:var(--bg);overflow:hidden}.auth-preview-row{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;gap:12px}.auth-preview-label{font-family:Fraunces,Georgia,serif;font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.5}.auth-preview-value{font-family:Fraunces,Georgia,serif;font-weight:900;font-size:17px;letter-spacing:.01em}.auth-preview-divider{height:1px;background:var(--ink);opacity:.12;margin:0 18px}.auth-pin-helper{margin:0;padding:14px 18px;font-style:italic;font-size:14px;opacity:.55;line-height:1.4}.auth-back,.auth-pin-helper{font-family:Fraunces,Georgia,serif}.auth-back{display:block;margin:14px auto 0;background:none;border:none;cursor:pointer;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);opacity:.45;padding:8px 16px;transition:opacity .15s linear}.auth-back:focus-visible,.auth-back:hover{opacity:.85}@keyframes auth-step-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal-step .auth-step{animation:auth-step-in .28s cubic-bezier(.22,.61,.36,1) both}@media (prefers-reduced-motion:reduce){.modal-step .auth-step{animation:none}}.onboarding{border-bottom:2px solid var(--ink);background:var(--bg);overflow:hidden}.onboarding-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.onboarding-track::-webkit-scrollbar{display:none}.onboarding-slide{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always;display:flex;flex-direction:column;align-items:center;padding:20px 24px 10px}.onboarding-img{width:100%;max-width:340px;height:auto;aspect-ratio:1/1;object-fit:contain;border-radius:14px;border:2px solid var(--ink);background:var(--paper);box-shadow:var(--shadow-sm);-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.onboarding-caption{text-align:center;padding:14px 8px 10px;max-width:340px}.onboarding-slide-title{margin:0;font-family:Fraunces,Georgia,serif;font-weight:900;font-size:clamp(18px,5vw,22px);letter-spacing:-.01em;line-height:1.15}.onboarding-slide-desc{margin:6px 0 0;font-family:Fraunces,Georgia,serif;font-style:italic;font-size:14px;line-height:1.45;opacity:.55}.onboarding-dots{display:flex;justify-content:center;gap:10px;padding:0 0 12px}.onboarding-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--ink);background:transparent;cursor:pointer;padding:0;transition:background .2s ease,transform .2s ease}.onboarding-dot:hover{background:var(--ink);opacity:.3}.onboarding-dot.active{background:var(--accent);border-color:var(--accent);transform:scale(1.3)}.onboarding-dot:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media (min-width:540px){.onboarding-slide{padding:24px 32px 12px}.onboarding-img{max-width:400px}.onboarding-caption{max-width:400px;padding:16px 8px 12px}}@media (max-width:480px){.onboarding-slide{padding:16px 24px 8px}.onboarding-img{width:auto;max-width:100%;max-height:34dvh}.onboarding-caption{padding:12px 8px 8px}}