:root{--paper:#f4efe6;--paper-deep:#ebe4d4;--ink:#1a1815;--ink-soft:#7b7567;--rule:#d6cfbf;--orange:#d9531e;--purple:#5e3ac4;--purple-wash:rgba(94,58,196,0.10);--serif:"EB Garamond","Cormorant Garamond",Georgia,"Times New Roman",serif;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:19px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh}a{color:inherit;text-decoration:none}button{background:none;cursor:pointer;padding:0}button,input,textarea{font:inherit;color:inherit;border:none}input,textarea{background:transparent;outline:none}::selection{background:rgba(217,83,30,.18);color:var(--ink)}.page{max-width:640px;margin:0 auto;padding:80px 28px 96px}@media (max-width:640px){.page{padding:64px 22px 96px}body{font-size:18px}}.nav{position:fixed;top:0;left:0;right:0;display:flex;gap:22px;padding:18px 28px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;z-index:10;background:var(--paper)}.nav a{color:var(--ink-soft);transition:color .12s ease}.nav a.active,.nav a:hover{color:var(--ink)}@media (max-width:640px){.nav{padding:14px 22px;gap:16px;font-size:10.5px}}.page-today{padding-top:120px}@media (max-width:640px){.page-today{padding-top:96px}}.stat{margin-bottom:28px}.stat-row{display:flex;align-items:baseline;justify-content:space-between}.stat-name{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--ink-soft);text-transform:lowercase}.stat-num{font-size:44px;line-height:1;font-feature-settings:"lnum";letter-spacing:-.02em}.stat-target{color:var(--ink-soft)}.stat.me .stat-num{color:var(--ink)}.stat.them .stat-num{color:var(--purple)}.stat-bar{margin-top:10px;height:1px;background:var(--rule);overflow:hidden}.stat-bar span{display:block;height:100%;background:var(--ink);transition:width .2s ease}.stat.them .stat-bar span{background:var(--purple)}.cta{display:inline-block;position:relative;margin-top:44px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--orange);padding-bottom:2px;border-bottom:1px solid var(--orange)}.cta.ready:before{content:"";position:absolute;inset:-6px -10px;background:var(--purple);opacity:.1;z-index:-1;border-radius:2px;animation:breathe 2.6s ease-in-out infinite}.cta.ready:hover:before{opacity:.04;animation:none}@keyframes breathe{0%,to{opacity:.06}50%{opacity:.16}}.tagline{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--ink-soft);margin:0 0 36px;line-height:1.5}.tagline .o{color:var(--orange);font-style:italic}.tagline .p{color:var(--purple);font-style:italic}.study-bar{height:1px;background:var(--rule);margin-bottom:60px;overflow:hidden}.study-bar>span{display:block;height:100%;background:var(--ink);transition:width .34s cubic-bezier(.2,.7,.2,1)}.dir-toggle{position:absolute;top:80px;right:28px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--ink-soft)}.dir-toggle:hover{color:var(--ink)}@media (max-width:640px){.dir-toggle{top:60px;right:22px}}.prompt{font-size:56px;line-height:1.1;letter-spacing:-.02em;margin:24px 0 32px;font-weight:400}.prompt .article{color:var(--ink-soft);font-style:italic;font-size:.5em;vertical-align:.35em;margin-right:6px}@media (max-width:640px){.prompt{font-size:40px}}.answer-row{display:flex;align-items:baseline;border-bottom:1px solid var(--ink);padding:6px 0}.answer-row input{flex:1 1;font-family:var(--serif);font-size:28px;caret-color:var(--orange)}.answer-row input::placeholder{color:var(--ink-soft);font-style:italic}.reveal{margin-top:20px;font-size:24px;font-style:italic}.reveal .nudge{display:block;font-style:italic;font-size:13px;color:var(--orange);margin-top:4px;font-family:var(--mono);letter-spacing:.04em}.grade-buttons{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;margin-top:36px}.grade-buttons button{background:transparent;padding:12px 0;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--ink-soft);border:1px solid var(--rule);transition:color .12s ease,border-color .12s ease}.grade-buttons button:hover{color:var(--ink);border-color:var(--ink)}.grade-buttons button kbd{display:block;font-family:var(--mono);font-size:9px;color:var(--ink-soft);margin-top:4px}.story-page{font-size:20px;line-height:1.7}.story-entry{margin-bottom:24px}.story-entry .byline{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--ink-soft);margin:28px 0 10px}.story-entry .byline .who{color:var(--ink)}.story-entry .byline .who.purple{color:var(--purple)}.story-entry .byline .mark{width:5px;height:5px;border-radius:50%;background:var(--orange)}.story-entry .byline .mark.purple{background:var(--purple)}.story-entry .body .word-used{color:var(--orange)}.story-locked-link{display:block;padding:28px 0;text-align:left;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--ink-soft);font-style:normal}.story-locked-link:hover{color:var(--ink)}.story-locked-link .purple{color:var(--purple)}.story-composer{margin-top:32px}.composer-meta{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:10px}.composer-meta .enough{color:var(--purple)}.composer-wrap{position:relative;border-bottom:1px solid var(--rule);min-height:140px;margin-bottom:6px}.composer-wrap:focus-within{border-bottom-color:var(--ink)}.composer-backdrop,.composer-input{font-family:var(--serif);font-size:20px;line-height:1.7;padding:0 0 8px;margin:0;border:0;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word}.composer-backdrop{min-height:140px;color:var(--ink);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.composer-backdrop .hl{color:var(--purple);background:var(--purple-wash)}.composer-input{position:absolute;inset:0;width:100%;height:100%;color:transparent;caret-color:var(--ink);background:transparent;resize:none;overflow:hidden}.composer-input::placeholder{color:var(--ink-soft);font-style:italic}.composer-input::selection{background:rgba(94,58,196,.18);color:transparent}.word-bank{display:flex;flex-wrap:wrap;gap:6px 14px;margin:14px 0 22px}.word-bank .chip{font-family:var(--serif);font-size:16px;font-style:italic;color:var(--ink-soft);display:inline-block;transition:color .22s ease;transform-origin:center bottom}.word-bank .chip.used{color:var(--purple)}.word-bank .chip.splash{animation:splash .7s cubic-bezier(.2,.7,.2,1)}@keyframes splash{0%{color:var(--ink-soft);transform:translateY(0) scale(1)}20%{color:var(--orange);transform:translateY(-2px) scale(1.08)}to{color:var(--purple);transform:translateY(0) scale(1)}}.composer-submit{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--orange);padding-bottom:2px;border-bottom:1px solid var(--orange)}.composer-submit:disabled{color:var(--ink-soft);border-bottom-color:var(--rule);cursor:default}.composer-err{color:var(--orange);font-style:italic;font-size:14px;margin-top:12px}.settings-row{display:flex;align-items:baseline;gap:16px;margin-top:8px}.settings-num{width:110px;font-family:var(--serif);font-size:56px;color:var(--ink);border-bottom:1px solid var(--ink);padding:2px 0;letter-spacing:-.02em}.settings-label{font-size:11px;color:var(--ink-soft)}.settings-label,.settings-save{font-family:var(--mono);letter-spacing:.08em}.settings-save{margin-left:auto;font-size:12px;color:var(--orange);padding-bottom:2px;border-bottom:1px solid var(--orange)}.settings-out{margin-top:80px}.settings-out button{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--ink-soft)}.settings-out button:hover{color:var(--ink)}.login{max-width:320px;margin:0 auto;padding:160px 24px}.login h1{font-family:var(--serif);font-style:italic;font-weight:400;font-size:44px;margin:0 0 48px;letter-spacing:-.01em}.login .field{margin-bottom:24px}.login .field label{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:6px}.login .field input{width:100%;border-bottom:1px solid var(--ink);font-size:22px;padding:4px 0}.login button[type=submit]{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--orange);border-bottom:1px solid var(--orange);padding-bottom:2px}.login .err{color:var(--orange);font-style:italic;font-size:14px;margin-top:12px}