@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@500&display=swap";:root{--paper:#f4efe6;--paper-card:#fbf8f1;--ink:#0a0a23;--ink-soft:#545467;--ink-faint:#8a8a98;--blue:#1d2bb8;--plum:#6b3fb0;--line:#0a0a231f;--shipped:#2f7d32;--shipped-bg:#e6efe0;--grinding:#8f6310;--grinding-bg:#f3ead4;--blocked:#b23b3b;--blocked-bg:#f4e1de;--started:#1d2bb8;--started-bg:#e3e6f7;--learned:#6b3fb0;--learned-bg:#ece2f5;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0}a{color:var(--blue);text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}.page{width:min(620px,100% - 40px);margin:0 auto;padding:26px 0 64px}.bar{align-items:center;gap:14px;padding-bottom:24px;display:flex}.wordmark{letter-spacing:-.02em;color:var(--blue);align-items:center;gap:8px;margin-right:auto;font-family:Fraunces,serif;font-size:22px;font-weight:600;display:inline-flex}.wordmark img{border-radius:7px;width:28px;height:28px;display:block}.back{font-size:14px;font-weight:500}.setup{color:var(--ink-soft);font-size:14px;font-weight:500}.setup:hover{color:var(--blue)}.avatar{background:var(--started-bg);color:var(--blue);border-radius:50%;place-items:center;font-family:Fraunces,serif;font-weight:600;display:grid}.avatar.big{width:54px;height:54px;font-size:20px}.ring{scrollbar-width:none;gap:18px;padding:4px 2px 26px;display:flex;overflow-x:auto}.ring::-webkit-scrollbar{display:none}.story{opacity:.5;background:0 0;border:0;flex:none;justify-items:center;gap:9px;padding:0;transition:opacity .15s,transform .15s;display:grid}.story.on,.story:hover{opacity:1}.story:hover{transform:translateY(-2px)}.ring-avatar{background:conic-gradient(from 210deg, var(--blue), var(--plum), var(--blue));border-radius:50%;place-items:center;width:72px;height:72px;padding:3px;display:grid}.story.on .ring-avatar{box-shadow:0 0 0 2px var(--paper), 0 0 0 4px #1d2bb866}.ring-avatar .avatar{border:3px solid var(--paper);width:100%;height:100%;font-size:22px}.story-name{text-overflow:ellipsis;white-space:nowrap;max-width:76px;font-size:13px;font-weight:500;overflow:hidden}.story-card{background:var(--paper-card);border:1px solid var(--line);border-radius:18px;min-height:300px;padding:18px 24px 24px;position:relative;overflow:hidden}.vprogress{gap:6px;padding:0 0 16px;display:flex}.vprogress .seg{background:var(--line);border-radius:99px;flex:1;height:3px;overflow:hidden}.vprogress .fill{background:var(--blue);border-radius:inherit;width:0;height:100%;display:block}.vprogress .fill.done{width:100%}.vprogress .fill.live{animation-name:fillbar;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes fillbar{0%{width:0}to{width:100%}}.vhead{padding-bottom:2px}.vid{background:0 0;border:0;align-items:baseline;gap:8px;padding:0;display:inline-flex}.vid b{font-size:14px;font-weight:600}.vid i{color:var(--ink-faint);font-size:12.5px;font-style:normal}.card-in{animation:.26s both fade}@keyframes fade{0%{opacity:.35}to{opacity:1}}.story-card h2{letter-spacing:-.025em;margin:14px 0 0;font-family:Fraunces,serif;font-size:clamp(22px,4vw,28px);font-weight:600;line-height:1.16}.story-card p{color:var(--ink-soft);margin:13px 0 0;font-size:16.5px;line-height:1.6}.lines{flex-direction:column;gap:9px;margin-top:14px;display:flex}.lines p{color:var(--ink-soft);margin:0;font-size:16px;line-height:1.5}.card-links{flex-wrap:wrap;gap:14px;margin-top:16px;display:flex}.card-links a{align-items:center;gap:5px;font-size:13px;font-weight:500;display:inline-flex}.card-links svg{stroke:currentColor;stroke-width:2px;width:13px;height:13px}.tap{z-index:2;background:0 0;border:0;width:28%;position:absolute;top:54px;bottom:72px}.tap.left{cursor:w-resize;left:0}.tap.right{cursor:e-resize;right:0}.quiet{color:var(--ink-faint);padding:30px 0;font-size:15px}.profile h1{letter-spacing:-.03em;margin:16px 0 0;font-family:Fraunces,serif;font-size:clamp(28px,5vw,40px);font-weight:600;line-height:1.03}.tagline{margin:9px 0 0;font-size:18px}.blurb{max-width:60ch;color:var(--ink-soft);margin:12px 0 0;font-size:15.5px;line-height:1.6}.chips{flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none;display:flex}.chips li{background:var(--paper-card);border:1px solid var(--line);border-radius:8px;padding:5px 11px;font-size:13px}.links{flex-wrap:wrap;gap:16px;margin-top:16px;display:flex}.links a{align-items:center;gap:5px;font-size:13.5px;font-weight:500;display:inline-flex}.links svg{stroke:currentColor;stroke-width:2px;width:13px;height:13px}.screen{min-height:100vh}.screen.center{place-content:center;display:grid}.mark{background:var(--blue);border-radius:50%;width:12px;height:12px;animation:1.1s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.3;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.screen.empty{grid-template-rows:auto 1fr;width:min(620px,100% - 40px);margin:0 auto;padding:26px 0;display:grid}.screen.empty>div{align-self:center;padding-bottom:14vh}.screen.empty h1{letter-spacing:-.03em;margin:0 0 18px;font-family:Fraunces,serif;font-size:clamp(34px,7vw,56px);font-weight:600;line-height:1}.ghost{align-items:center;gap:6px;font-weight:600;display:inline-flex}.ghost svg{stroke:currentColor;stroke-width:2px;width:15px;height:15px}@media (width<=600px){.page{width:calc(100% - 32px);padding-top:18px}.story-card{min-height:280px;padding:16px 18px 20px}}@media (prefers-reduced-motion:reduce){.vprogress .fill.live{width:100%;animation:none}.card-in,.mark{animation:none}}
