:root{--bg:#0b0b12;--fg:#f6f4ef;--muted:#f6f4efad;--faint:#f6f4ef24;--like:#ff3d6e;--save:#ffc94a;--good:#3ddc97;--bad:#ff6b6b;--serif:"Fraunces", Georgia, serif;--sans:"Inter", system-ui, -apple-system, sans-serif;--h:100dvh;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;overscroll-behavior:none;background:#050508;margin:0}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0}.app{max-width:480px;height:var(--h);background:var(--bg);margin:0 auto;position:relative;overflow:hidden;box-shadow:0 0 80px #0009}.topbar{z-index:10;padding:max(12px, env(safe-area-inset-top)) 16px 18px;pointer-events:none;background:linear-gradient(#050508b3,#0000);justify-content:center;align-items:center;display:flex;position:absolute;inset:0 0 auto}.topbar.solid{-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--faint);background:#0b0b12f0;padding-bottom:12px}.topbar>*{pointer-events:auto}.tabs{gap:16px;display:flex}.tabs button{color:var(--muted);border-bottom:2px solid #0000;padding:6px 2px;font-size:16px;font-weight:600;transition:color .2s}.tabs button.active{color:var(--fg);border-color:var(--fg)}.streak{color:#ffb36b;background:#ff8c322e;border:1.5px solid #0000;border-radius:99px;align-items:center;gap:4px;padding:4px 10px;font-size:13px;font-weight:700;transition:background .2s;display:inline-flex;position:absolute;right:16px}.progress{background:var(--faint);border-radius:3px;height:3px;position:absolute;bottom:6px;left:16px;right:16px;overflow:hidden}.progress span{background:var(--fg);height:100%;transition:width .3s;display:block}.feed{scroll-snap-type:y mandatory;scrollbar-width:none;height:100%;overflow-y:auto}.feed::-webkit-scrollbar{display:none}.card{height:var(--h);scroll-snap-align:start;scroll-snap-stop:always;-webkit-user-select:none;user-select:none;align-items:center;display:flex;position:relative;overflow:hidden}.content{scrollbar-width:none;width:100%;max-height:100%;padding:76px 78px 72px 22px;overflow-y:auto}.card-cover .content,.card-end .content{padding-right:22px}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-size:12px;font-weight:600}.part{color:#ffd27a}.title{font-family:var(--serif);letter-spacing:-.01em;text-wrap:balance;margin:0 0 16px;font-size:clamp(25px,7.4vw,32px);font-weight:700;line-height:1.12}.body{color:#f6f4efeb;text-wrap:pretty;margin:0 0 14px;font-size:clamp(17px,4.7vw,19px);line-height:1.62}.idea{border-top:1px solid var(--faint);color:#ffd27a;margin:18px 0 0;padding-top:12px;font-size:14.5px;font-weight:600;line-height:1.45}.cover{text-align:center;flex-direction:column;align-items:center;display:flex}.book-art{background:linear-gradient(150deg,#f6f4ef,#d9d3c4);border-radius:4px 10px 10px 4px;flex-direction:column;justify-content:space-between;width:140px;height:200px;margin-bottom:26px;padding:18px 14px;animation:5s ease-in-out infinite float;display:flex;transform:rotate(-3deg);box-shadow:inset 6px 0 #0000001f,0 24px 50px #00000080}@keyframes float{50%{transform:rotate(-1deg)translateY(-6px)}}.book-art-title{font-family:var(--serif);font-size:19px;font-weight:700;line-height:1.05}.book-art-author{letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:600}.cover-title{font-family:var(--serif);text-wrap:balance;margin:0;font-size:clamp(34px,10vw,46px);line-height:1.02}.cover-sub{font-family:var(--serif);color:var(--muted);margin:8px 0 4px;font-size:19px}.cover-author{color:var(--muted);margin:0 0 18px;font-size:14px}.cover-pitch{max-width:340px;margin:0;font-size:16px;line-height:1.5}.streak-note{color:#ffb36b;align-items:center;gap:6px;margin:18px 0 0;font-size:14px;font-weight:600;display:inline-flex}.swipe-hint{color:var(--muted);flex-direction:column;align-items:center;gap:2px;margin-top:30px;font-size:13px;animation:1.6s ease-in-out infinite nudge;display:flex}@keyframes nudge{50%{transform:translateY(-8px)}}.end{text-align:center}.stats{grid-template-columns:repeat(2,1fr);gap:8px;margin:8px 0 24px;display:grid}.stats div{background:#ffffff14;border-radius:14px;gap:4px;padding:14px 6px;display:grid}.stats strong{font-family:var(--serif);font-size:28px}.stats span{color:var(--muted);font-size:12px}.end-actions{gap:10px;display:grid}.primary,.ghost{border-radius:14px;padding:14px;font-weight:700}.primary{background:var(--fg);color:var(--bg)}.ghost{border:1.5px solid #ffffff40}.fineprint{color:var(--muted);margin:22px 0 0;font-size:12px;line-height:1.5}.rail{flex-direction:column;gap:16px;display:flex;position:absolute;bottom:84px;right:8px}.rail-btn{text-shadow:0 1px 3px #00000080;filter:drop-shadow(0 1px 3px #00000059);flex-direction:column;align-items:center;gap:3px;width:60px;font-size:11px;font-weight:600;display:flex}.rail-btn svg{transition:transform .15s}.rail-btn:active svg{transform:scale(.85)}.rail-btn.like{color:var(--like)}.rail-btn.save{color:var(--save)}.rail-btn.on svg{animation:.3s pop}.rail-btn.on span{color:var(--fg)}@keyframes pop{50%{transform:scale(1.25)}}.meta{left:22px;right:22px;bottom:max(18px, env(safe-area-inset-bottom));color:var(--muted);justify-content:space-between;align-items:center;font-size:13px;display:flex;position:absolute}.meta-book{color:var(--fg);align-items:center;gap:6px;font-weight:600;display:inline-flex}.burst{z-index:20;color:var(--like);pointer-events:none;animation:.8s ease-out forwards burst;position:fixed;transform:translate(-50%,-50%)}.burst svg{filter:drop-shadow(0 6px 18px #ff3d6e80);width:96px;height:96px}@keyframes burst{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)rotate(-15deg)}25%{opacity:1;transform:translate(-50%,-50%)scale(1.15)rotate(-8deg)}60%{opacity:1;transform:translate(-50%,-60%)scale(1)rotate(-8deg)}to{opacity:0;transform:translate(-50%,-140%)scale(.9)rotate(-8deg)}}button.streak.zero{color:var(--muted);background:#ffffff14}button.streak.active{border-color:#ffb36b}.link-btn{color:var(--fg);text-underline-offset:3px;padding:0;font-weight:600;text-decoration:underline}.me{height:100%;padding:72px 16px 32px;overflow-y:auto}.me h1{font-family:var(--serif);margin:0;font-size:28px}.me h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-size:13px;font-weight:700}.me-stats{grid-template-columns:1fr 1fr;gap:10px;display:grid}.me-stats>div{background:#ffffff12;border-radius:14px;gap:2px;padding:14px;display:grid}.me-stats strong{font-family:var(--serif);align-items:center;gap:6px;font-size:28px;line-height:1.1;display:inline-flex}.me-stats span{color:var(--muted);font-size:12.5px}.me-stat-streak{background:linear-gradient(140deg,#ff8c3240,#ff8c3214)!important}.me-stat-streak strong{color:#ffb36b}.me-stat-streak svg{width:22px;height:22px}.me-section{margin-top:26px}.week{background:#ffffff0d;border-radius:14px;grid-template-columns:repeat(7,1fr);gap:8px;height:130px;padding:12px 12px 8px;display:grid}.week-day{grid-template-rows:18px 1fr 18px;place-items:end center;min-width:0;display:grid}.week-n{font-size:11px;font-weight:700}.week-bar{background:#ffffff38;border-radius:6px 6px 3px 3px;width:100%;max-width:26px}.week-day.today .week-bar{background:#ffb36b}.week-label{color:var(--muted);font-size:11px}.week-day.today .week-label{color:var(--fg);font-weight:700}.me-note{color:var(--muted);margin:10px 2px 0;font-size:14px}.me-books{gap:6px;margin:0;padding:0;list-style:none;display:grid}.me-book{text-align:left;background:#ffffff0d;border-radius:12px;align-items:center;gap:12px;width:100%;padding:12px;display:flex}.me-book.current{background:#ffffff1a}.me-book-dot{border-radius:50%;flex:none;width:10px;height:10px}.me-book-main{flex:1;gap:7px;min-width:0;display:grid}.me-book-title{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.me-book-bar{background:#ffffff1f;border-radius:4px;height:4px;overflow:hidden}.me-book-bar span{height:100%;display:block}.me-book-count{color:var(--muted);flex:none;font-size:13px;font-weight:600}.me-saved{width:100%;color:var(--save);background:#ffc94a1f;border-radius:12px;align-items:center;gap:8px;margin-top:22px;padding:14px;font-weight:600;display:flex}.me-saved svg{width:20px;height:20px}.shelf{height:100%;padding:72px 16px 24px;overflow-y:auto}.shelf h1{font-family:var(--serif);margin:0;font-size:28px}.shelf-sub{color:var(--muted);margin:4px 0 18px;font-size:14px}.books{grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:0;list-style:none;display:grid}.book-tile{aspect-ratio:4/5;text-align:left;border-radius:6px 14px 14px 6px;flex-direction:column;gap:6px;width:100%;padding:16px 14px 12px;transition:transform .15s;display:flex;box-shadow:inset 5px 0 #0000002e,0 10px 24px #00000059}.book-tile:active{transform:scale(.97)}.book-tile.current{outline:2px solid var(--fg);outline-offset:3px}.book-tile-title{font-family:var(--serif);font-size:19px;font-weight:700;line-height:1.12}.book-tile-author{color:#f6f4efbf;font-size:12px}.book-tile-foot{gap:6px;margin-top:auto;font-size:11.5px;font-weight:600;display:grid}.book-tile-bar{background:#ffffff40;border-radius:3px;height:3px;overflow:hidden}.book-tile-bar span{background:var(--fg);height:100%;display:block}.saved{height:100%;padding:72px 16px 24px;overflow-y:auto}.saved h1{font-family:var(--serif);margin:0 0 16px;font-size:28px}.saved ul{grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;list-style:none;display:grid}.saved-card{aspect-ratio:3/4;text-align:left;border-radius:14px;flex-direction:column;justify-content:space-between;gap:12px;width:100%;padding:14px;display:flex}.saved-card strong{font-family:var(--serif);font-size:17px;line-height:1.2}.saved-preview{-webkit-line-clamp:3;color:#f6f4efcc;-webkit-box-orient:vertical;font-size:12.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.saved-card .eyebrow{margin:0;font-size:10px}.empty{color:var(--muted)}@keyframes fade{0%{opacity:0}}.toast{z-index:40;border:1px solid var(--faint);white-space:nowrap;background:#14131ef0;border-radius:99px;padding:9px 16px;font-size:14px;font-weight:600;animation:.2s fade;position:absolute;top:70px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0006}::highlight(lookup){color:#fff;background-color:#ffc94a61}.tip{color:var(--muted);margin:14px 0 0;font-size:12.5px}.lookup{z-index:35;color:#15131f;background:#f6f4ef;border-radius:14px;padding:12px 14px;animation:.16s ease-out lookup-in;position:absolute;box-shadow:0 14px 40px #0000008c}.lookup.above{animation-name:lookup-in-up}@keyframes lookup-in{0%{opacity:0;transform:translateY(-4px)}}@keyframes lookup-in-up{0%{opacity:0;transform:translateY(4px)}}.lookup-head{align-items:center;gap:6px;display:flex}.lookup-head strong{font-family:var(--serif);font-size:19px}.lookup-speak{color:#4b4760;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.lookup-speak:hover{background:#0000000f}.lookup-src{color:#6b6878;white-space:nowrap;background:#00000012;border-radius:99px;margin-left:auto;padding:2px 8px;font-size:11px;font-weight:600}.lookup-vi{color:#0f5d4c;margin-top:4px;font-size:17px;font-weight:600;line-height:1.35}.lookup-loading,.lookup-error{color:#6b6878;font-size:14px;font-weight:500}.lookup-loading{animation:1s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.4}}.link{color:#2b1a6b;font-weight:700;text-decoration:underline}.lookup-note{color:#4b4760;margin:6px 0 0;font-size:13.5px;line-height:1.45}.lookup-more{color:#2b1a6b;border:1.5px solid #0000001f;border-radius:99px;margin-top:10px;padding:7px 12px;font-size:13px;font-weight:600}.lookup-more:disabled{opacity:.6}.lookup-senses{color:#4b4760;gap:2px;margin:6px 0 0;font-size:13px;line-height:1.4;display:grid}.lookup-senses em{color:#6b6878;font-style:normal;font-weight:600}.lookup-actions{align-items:center;gap:12px;display:flex}.lookup-ext{color:#2b1a6b;margin-top:10px;font-size:13px;font-weight:600}.lookup-sentence{border-top:1px solid #0000001a;margin:10px 0 0;padding-top:10px;font-size:14.5px;line-height:1.5}@media (height<=760px){.content{padding-top:58px;padding-bottom:46px}.eyebrow{margin-bottom:6px;font-size:11px}.title{margin-bottom:12px;font-size:clamp(22px,6.4vw,27px)}.idea{margin-top:12px;padding-top:9px;font-size:13.5px}.body{margin-bottom:10px;font-size:16.5px;line-height:1.55}.book-art{width:110px;height:156px;margin-bottom:16px;padding:14px 10px}.book-art-title{font-size:15px}.cover-title{font-size:clamp(28px,8.5vw,38px)}.cover-pitch{font-size:15px}.swipe-hint{margin-top:16px}.rail{gap:10px;bottom:56px}.meta{bottom:14px}}@media (height<=600px){.title{margin-bottom:8px;font-size:21px}.body{margin-bottom:8px;font-size:15px;line-height:1.48}.idea{margin-top:8px;padding-top:7px;font-size:12.5px}}@media (prefers-reduced-motion:reduce){*,:before{transition:none!important;animation:none!important}}
