:root{--desk:oklch(97% 0 0);--paper:#fff;--ink:oklch(21% .006 285.885);--ink-soft:oklch(55.6% 0 0);--line:oklch(14.5% 0 0/.1);--hairline:oklch(93.5% 0 0);--brand:oklch(57.72% .2324 260);--heart:oklch(63.7% .237 25.331);--again:oklch(50.5% .213 27.518);--hard:oklch(59.7% .144 57.5);--good:oklch(43.2% .095 166.913);--easy:oklch(42.4% .199 265.638);--shadow:0 0 0 1px var(--line), 0 1px 3px oklch(0% 0 0/.08);--sans:ui-sans-serif, system-ui, -apple-system, sans-serif;--gutter:max(16px, env(safe-area-inset-left));--tabbar:calc(64px + env(safe-area-inset-bottom));--stage:oklch(14.5% 0 0);--stage-ink:oklch(97% 0 0);--stage-soft:oklch(70.8% 0 0);--mask:#f4b740;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--desk:oklch(10% 0 0);--paper:oklch(17% 0 0);--ink:oklch(97% 0 0);--ink-soft:oklch(70.8% 0 0);--line:oklch(32% 0 0);--hairline:oklch(26.9% 0 0);--brand:oklch(51.948% .2324 260);--heart:oklch(70.4% .191 22.216);--again:oklch(70.4% .191 22.216);--hard:oklch(75% .183 55.934);--good:oklch(76.5% .177 163.223);--easy:oklch(70.7% .165 254.624);--shadow:0 0 0 1px var(--line), 0 1px 3px oklch(0% 0 0/.3);--stage:oklch(8.5% 0 0)}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{background:var(--desk);color:var(--ink);font:17px/1.45 var(--sans);min-height:100dvh;margin:0}a{color:inherit}code{word-break:break-all;font-size:.9em}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.page{max-width:640px;padding:env(safe-area-inset-top) var(--gutter) calc(var(--tabbar) + 32px);margin:0 auto}.bar{grid-template-columns:1fr auto 1fr;align-items:center;min-height:52px;display:grid}.bar-side.end{justify-self:end}.bar-title{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:15px}.back-link{color:var(--easy);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;max-width:40vw;font-size:17px;text-decoration:none;display:inline-flex;overflow:hidden}.back-link svg{flex:none;width:11px;height:18px}.title{font:700 32px/1.15 var(--sans);letter-spacing:-.02em;margin:8px 0 6px}.lede{color:var(--ink-soft);max-width:34em;margin:0 0 24px}.empty,.problem p{color:var(--ink-soft);margin:24px 0}.problem{border-left:3px solid var(--again);margin:16px 0;padding:2px 0 2px 14px}.problem p{color:var(--ink);margin:0 0 10px}.rows{border-top:1px solid var(--hairline);margin:0;padding:0;list-style:none}.rows li{border-bottom:1px solid var(--hairline)}.row{width:100%;min-height:60px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:12px 0;text-decoration:none;display:flex}.row-main{flex:1;gap:2px;min-width:0;display:grid}.row-title{font-size:17px;font-weight:600}.row-sub,.row-meta{color:var(--ink-soft);font-size:14px}.row-meta{flex:none}.clamp{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.clamp>*{margin:0;display:inline}.clamp br{display:none}.due{background:var(--brand);color:#fff;text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;flex:none;min-width:32px;padding:3px 9px;font-size:13px;font-weight:600}.actions{gap:10px;margin:20px 0 16px;display:flex}.actions .button{flex:1}.search{width:100%;margin-bottom:12px}.button,.link,.rating{font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none}.button{background:var(--brand);color:#fff;border:0;border-radius:10px;justify-content:center;align-items:center;width:100%;min-height:52px;padding:0 20px;font-weight:600;text-decoration:none;display:flex}.button.quiet{background:var(--paper);color:var(--ink);box-shadow:var(--shadow)}.button.danger{color:var(--again);background:0 0;font-weight:400}.button:active:not(:disabled){transform:scale(.98)}.button:disabled{opacity:.5}.link{color:var(--easy);background:0 0;border:0;padding:8px 0;font-size:17px;text-decoration:none}.dock{padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--desk) 70%, transparent);position:fixed;inset:auto 0 0}.dock>*{max-width:640px;margin:0 auto}.form{gap:14px;display:grid}.form label{color:var(--ink-soft);gap:6px;font-size:15px;display:grid}input,textarea,select{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);font:17px/1.4 var(--sans);border-radius:10px;padding:12px 14px}textarea{resize:vertical}.subtitle{font:600 20px/1.2 var(--sans);margin:24px 0 0}.fold{margin-top:8px}.fold summary{color:var(--ink-soft);cursor:pointer;padding:12px 0}.hint{color:var(--ink-soft);margin:0;font-size:15px}.hint.small{margin-top:32px;font-size:13px}.error{color:var(--again);margin:0}.sheet{background:var(--desk);width:100%;max-width:640px;max-height:92dvh;color:var(--ink);border:0;border-radius:16px 16px 0 0;margin:auto auto 0;padding:0}.sheet::backdrop{background:oklch(0% 0 0/.4)}.sheet[open]{animation:.22s cubic-bezier(.2,.8,.2,1) sheet-in}.sheet-body{padding:8px var(--gutter) calc(20px + env(safe-area-inset-bottom))}.sheet-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.sheet-head h2{font:600 20px var(--sans);margin:0}@keyframes sheet-in{0%{opacity:0;transform:translateY(40px)}}.index-card{width:100%;min-height:min(62dvh,520px);color:inherit;font:inherit;text-align:left;perspective:1400px;cursor:pointer;background:0 0;border:0;margin-top:8px;padding:0;display:block;position:relative}.face{--row:36px;padding:64px 24px var(--row);background-color:var(--paper);box-shadow:var(--shadow);backface-visibility:hidden;border-radius:12px;flex-direction:column;transition:transform .42s cubic-bezier(.3,.7,.2,1);display:flex;position:absolute;inset:0;overflow-y:auto}.face.back{transform:rotateY(-180deg)}.is-revealed .front{transform:rotateY(180deg)}.is-revealed .back{transform:rotateY(0)}.card-text,.card-prompt{line-height:var(--row);text-align:center;overflow-wrap:anywhere}.card-text{font:500 24px/var(--row) var(--sans);letter-spacing:-.01em}.front .card-text{margin-top:calc(var(--row) * 4)}.card-prompt{font:400 16px/var(--row) var(--sans);color:var(--ink-soft)}.back .card-text{margin-top:calc(var(--row) * 2)}.face :is(p,ul,ol,pre,blockquote,h1,h2,h3){margin:0}.face :is(p,ul,ol,pre,blockquote)+*{margin-top:var(--row)}.face :is(h1,h2,h3){font-size:inherit}.card-text img{max-width:100%}.ratings{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.rating{background:var(--paper);min-height:60px;box-shadow:inset 0 0 0 1px var(--line);border:0;border-radius:10px;gap:2px;padding:8px 4px;font-weight:700;display:grid}.rating small{color:var(--ink-soft);font-size:13px;font-weight:400}.rating.r1{color:var(--again)}.rating.r2{color:var(--hard)}.rating.r3{color:var(--good)}.rating.r4{color:var(--easy)}.rating:active:not(:disabled){transform:scale(.96)}@media (prefers-reduced-motion:reduce){.face{transition:opacity .15s;transform:none!important}.face.back,.is-revealed .front{opacity:0}.is-revealed .back{opacity:1}.sheet[open]{animation:none}}.tabbar{z-index:10;height:var(--tabbar);padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb, var(--desk) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 -1px 0 var(--line);justify-content:center;gap:48px;display:flex;position:fixed;inset:auto 0 0}.tab{min-width:72px;color:var(--ink-soft);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:13px;text-decoration:none;display:flex}.tab svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.tab[aria-current=page]{color:var(--ink);font-weight:600}.inline-action{margin-top:20px}.page>.button{margin-bottom:4px}.feed-screen{position:fixed;inset:0}.feed{scroll-snap-type:y mandatory;overscroll-behavior:contain;scrollbar-width:none;height:100%;overflow-y:auto}.feed::-webkit-scrollbar{display:none}.feed-card{box-sizing:border-box;scroll-snap-align:start;scroll-snap-stop:always;max-width:640px;height:100dvh;padding:calc(env(safe-area-inset-top) + 20px) var(--gutter) calc(var(--tabbar) + 20px);flex-direction:column;gap:14px;margin:0 auto;display:flex}.feed-sentinel{height:1px}.feed-empty{justify-content:center}.card-meta{align-items:baseline;gap:10px;min-width:0;font-size:14px;display:flex}.card-kind{flex:none;font-weight:700}.card-reason{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.card-heart{margin-left:auto;min-width:44px;min-height:44px;color:inherit;cursor:pointer;background:0 0;border:0;flex:none;margin-block:-12px;font-size:26px;line-height:1}.card-heart.is-on{color:var(--heart)}.card-links{flex-wrap:wrap;justify-content:space-between;column-gap:16px;display:flex}.source-link.too-hard{color:var(--ink-soft)}.card-aside-note{gap:14px;margin-block:auto;display:grid}.card-aside-note p{margin:0}.card-title{font:700 26px/1.2 var(--sans);letter-spacing:-.02em;margin:0}.card-sub{color:var(--ink-soft);margin:0}.card-question{font:600 22px/1.3 var(--sans);letter-spacing:-.01em}.card-question>*,.card-sub>*{margin:0}.card-actions{gap:10px;margin-top:auto;display:grid}.card-note{text-align:center;min-height:48px;color:var(--ink-soft);justify-content:center;align-items:center;margin:0;display:flex}.feed-card .index-card{flex:1;min-height:0;margin:0}.source-link{color:var(--easy);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:10px 0;font-size:15px}.shot-card{cursor:pointer;flex-direction:column;flex:1;gap:12px;min-height:0;display:flex}.shot-prompt,.shot-answer{font:500 19px/1.4 var(--sans);text-align:center;overflow-wrap:anywhere}.shot-prompt :is(p,ul,ol),.shot-answer :is(p,ul,ol){margin:0}.shot-answer{background:var(--paper);max-height:30dvh;box-shadow:var(--shadow);border-radius:12px;flex:none;padding:12px 16px;overflow-y:auto}.shot-frame{background:var(--paper);min-height:0;box-shadow:var(--shadow);border-radius:12px;flex:auto;overflow-y:auto}.shot-frame .shot{margin:0 auto}.shot-mask{background:var(--mask);border-radius:3px;transition:background-color .26s,box-shadow .26s;box-shadow:0 0 0 1px #00000040}.shot.is-revealed .shot-mask{box-shadow:0 0 0 2px var(--mask), 0 0 0 3px #00000040;background:0 0}.shot-stage{background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;justify-content:center;padding:8px;display:flex}.shot-surface{touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.shot-surface img{width:auto;max-height:64dvh}.shot-mask.is-drawing{box-shadow:0 0 0 2px var(--mask);background:#f4b7408c}.shot-tools{align-items:center;gap:18px;display:flex}.shot-tools .hint{font-variant-numeric:tabular-nums;flex:1}.link:disabled{opacity:.4}@media (prefers-reduced-motion:reduce){.shot-mask{transition:none}}.intake{z-index:20;left:50%;bottom:calc(var(--tabbar) + 16px);max-width:calc(100% - 2 * var(--gutter));background:var(--stage);color:var(--stage-ink);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:14px;padding:10px 18px;font-size:15px;display:flex;position:fixed;transform:translate(-50%)}.intake .link{color:inherit;font-weight:700}.feed-card.kind-interactive,.feed-card.kind-video{background:var(--stage);max-width:none;color:var(--stage-ink)}.kind-interactive .card-reason,.kind-interactive .card-sub,.kind-video .card-reason,.kind-video .card-sub,.kind-video .source-link{color:var(--stage-soft)}.kind-interactive>*,.kind-video>*{width:100%;max-width:640px;margin-inline:auto}.preview{cursor:pointer;background:#fff;border:0;border-radius:12px;flex:1;min-height:0;padding:0;position:relative;overflow:hidden}.preview iframe{pointer-events:none;border:0;width:100%;height:100%}.preview-hint{color:oklch(97% 0 0);background:oklch(14.5% 0 0/.86);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:700;position:absolute;bottom:12px;right:12px}.kind-video .card-title{margin-top:auto}.kind-video>:last-child{margin-bottom:auto}.video{aspect-ratio:16/9;background:#000;border-radius:12px;flex:none;overflow:hidden}.video iframe,.video-poster{border:0;width:100%;height:100%;display:block}.video-poster{cursor:pointer;background:0 0;padding:0;position:relative}.video-poster img{object-fit:cover;width:100%;height:100%;display:block}.kind-tweet .tweet-author{margin-top:auto}.kind-tweet>:last-child{margin-bottom:auto}.tweet-author{color:var(--ink-soft);margin-block:0}.tweet-author strong{color:var(--ink)}.tweet-text{white-space:pre-wrap;overflow-wrap:anywhere;flex:0 auto;min-height:0;margin:0;font-size:20px;line-height:1.4;overflow-y:auto}.tweet-text a{color:var(--easy)}.tweet-media{border-radius:12px;flex:0 auto;gap:4px;min-height:0;display:grid;overflow:hidden}.tweet-media.count-2,.tweet-media.count-4,.tweet-media.count-3{grid-template-columns:1fr 1fr}.tweet-media.count-3>:first-child{grid-row:span 2}.tweet-media>img,.tweet-media>video{object-fit:contain;background:#000;width:100%;height:100%;min-height:0;max-height:55dvh;display:block}.tweet-media:not(.count-1)>img,.tweet-media:not(.count-1)>video{aspect-ratio:1;object-fit:cover}.attempt-field{color:var(--ink-soft);gap:6px;font-size:14px;display:grid}.panel{background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);border-radius:10px;min-height:0;padding:16px;overflow-y:auto}.panel h3{color:var(--ink-soft);margin:0 0 6px;font-size:14px}.panel h3:not(:first-child){margin-top:14px}.attempt{white-space:pre-wrap;margin:0}.key-points{gap:8px;margin:0;padding-left:20px;display:grid}.key-points p{margin:0}.options{gap:10px;margin:0;padding:0;list-style:none;display:grid}.option{background:var(--paper);width:100%;min-height:56px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);font:inherit;text-align:left;cursor:pointer;border:0;border-radius:10px;padding:12px 16px}.option p{margin:0}.option.is-right{box-shadow:inset 0 0 0 2px var(--good);color:var(--good);font-weight:700}.option.is-wrong{box-shadow:inset 0 0 0 2px var(--again);color:var(--again)}.option.is-dim{opacity:.55}.option:disabled{cursor:default}.verdict{font:600 22px var(--sans);margin:0}.player{background:var(--stage);width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--stage-ink);border:0;margin:0;padding:0}.player[open]{flex-direction:column;display:flex}.player-bar{padding:calc(env(safe-area-inset-top) + 6px) var(--gutter) 6px;justify-content:space-between;align-items:center;gap:12px;display:flex}.player-title{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.player .link{color:var(--stage-ink);font-weight:700}.player iframe{background:#fff;border:0;flex:1;width:100%}
