.home{position:relative;min-height:100dvh;overflow-x:clip}.topbar{position:relative;z-index:5;display:flex;align-items:center;padding:calc(env(safe-area-inset-top) + 14px) var(--gutter) 14px}.greet-v{display:none;align-items:center;gap:14px}.greet[data-part=rano] [data-part=rano],.greet[data-part=den] [data-part=den],.greet[data-part=podvecer] [data-part=podvecer],.greet[data-part=vecer] [data-part=vecer],.greet[data-part=noc] [data-part=noc]{display:flex}.greet:not([data-part]) [data-part=vecer]{display:flex}.greet-icon{flex:none;width:48px;height:48px;padding:9px;border-radius:16px;color:var(--moon);background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--moon) 26%,transparent),color-mix(in srgb,var(--moon) 8%,transparent) 70%);box-shadow:inset 0 1px #ffffff1f,0 0 0 1px color-mix(in srgb,var(--moon) 18%,transparent),0 8px 26px -10px color-mix(in srgb,var(--moon) 70%,transparent);animation:greet-glow 5s ease-in-out infinite}[data-part=rano] .greet-icon,[data-part=den] .greet-icon{color:#f6c76b}[data-part=podvecer] .greet-icon{color:#f2a07a}@keyframes greet-glow{50%{box-shadow:inset 0 1px #ffffff1f,0 0 0 1px color-mix(in srgb,var(--moon) 26%,transparent),0 10px 34px -8px color-mix(in srgb,var(--moon) 90%,transparent)}}.greet-text{display:flex;flex-direction:column;gap:2px;min-width:0}.greet-hi{font-size:25px;line-height:1.1;font-weight:650;font-variation-settings:"SOFT" 100,"WONK" 1;color:var(--text);text-shadow:0 2px 18px rgba(5,7,18,.9),0 1px 3px rgba(5,7,18,.6)}.greet-sub{font:500 14px/1.3 var(--font-ui);color:#f2efe8c7;text-shadow:0 1px 12px rgba(5,7,18,.95),0 1px 2px rgba(5,7,18,.7)}@media(prefers-reduced-motion:reduce){.greet-icon{animation:none}}.resume{position:relative;margin:0 var(--gutter) 14px;animation:resume-in .45s var(--ease-out) both;touch-action:pan-y;overflow:visible}.resume-link img{-webkit-user-drag:none}.resume[hidden]{display:none}.resume.out{animation:resume-out .28s ease-in both}@keyframes resume-in{0%{opacity:0;transform:translateY(-6px)}}@keyframes resume-out{to{opacity:0;transform:scale(.97)}}.resume-link{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 10px;border-radius:18px;text-decoration:none;color:var(--text);background:linear-gradient(100deg,color-mix(in srgb,var(--rtint, #27326e) 70%,transparent),#ffffff0d);backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%);box-shadow:inset 0 1px #ffffff1a,inset 0 0 0 1px #ffffff0f,0 12px 30px -14px #000000b3;transition:transform .12s}.resume-link:active{transform:scale(.985)}.resume-link img{flex:none;width:56px;height:56px;border-radius:11px;object-fit:cover;box-shadow:0 6px 16px -6px #0009}.resume-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.resume-kicker{font:600 11.5px/1 var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--moon)}.resume-title{font:600 16px/1.2 var(--font-display);font-variation-settings:"SOFT" 100,"WONK" 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resume-bar{display:block;height:3px;border-radius:3px;background:#ffffff24;overflow:hidden;margin-top:2px}.resume-bar i{display:block;height:100%;border-radius:3px;background:var(--moon)}.resume-play{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--moon);color:var(--on-moon)}.resume-x{position:absolute;top:-8px;right:-6px;width:30px;height:30px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;color:var(--text);background:#1e223aeb;box-shadow:0 0 0 1px #ffffff1a,0 4px 12px #0006}.resume-x:before{content:"";position:absolute;inset:-8px}.wordmark{display:inline-flex;align-items:center;gap:8px;font-size:21px;font-weight:650;color:var(--text);text-decoration:none;font-variation-settings:"SOFT" 100,"WONK" 1;text-shadow:0 1px 12px rgba(0,0,0,.4)}.wordmark svg{color:var(--moon);filter:drop-shadow(0 0 10px rgba(244,213,141,.6))}.view-toggle{display:flex;padding:3px;gap:2px;border-radius:999px;background:var(--glass);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);box-shadow:inset 0 1px #ffffff1a}.view-toggle button{width:40px;height:34px;border-radius:999px;border:0;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer}.view-toggle button[aria-pressed=true]{background:#ffffff24;color:var(--text)}.hero{position:relative}.hero-track{display:flex;gap:12px;padding:4px var(--gutter) 16px;scroll-padding-inline:var(--gutter);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.hero-track::-webkit-scrollbar{display:none}.slide{position:relative;flex:0 0 calc(100% - 44px);min-width:0;scroll-snap-align:start;scroll-snap-stop:always;height:clamp(400px,58vh,540px);display:flex;align-items:flex-end;border-radius:26px;overflow:clip;isolation:isolate;background:var(--tint);box-shadow:0 22px 44px -22px #000000d9,0 2px 6px #00000040;view-timeline:--slide inline;transform-origin:50% 60%}.slide:only-child{flex-basis:100%}.slide:after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px #ffffff14,inset 0 1px #ffffff1f}.slide-art{position:absolute;inset:0;z-index:-1;overflow:hidden}.slide-art img{width:100%;height:100%;object-fit:cover;scale:1.08;transition:scale 9s linear}.slide.active .slide-art img{scale:1.14}.slide-art:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#080a18f0,#080a18c7 26%,#080a1852 46%,#080a1800 62%)}.slide-body{width:100%;padding:0 18px 18px;display:flex;flex-direction:column;gap:6px;position:relative;z-index:2;opacity:0;transform:translateY(10px);transition:opacity .6s var(--ease-out) .1s,transform .6s var(--ease-out) .1s}.slide.active .slide-body{opacity:1;transform:none}@media(prefers-reduced-motion:no-preference){@supports (animation-timeline: view()){.slide{animation:hero-card linear both;animation-timeline:--slide}.slide-art img{animation:hero-art linear both;animation-timeline:--slide}.slide-body,.slide.active .slide-body{transition:none;transform:none;opacity:1;animation:hero-text linear both;animation-timeline:--slide}}}@keyframes hero-card{0%{transform:scale(.94);filter:brightness(.8)}40%,60%{transform:none;filter:none}to{transform:scale(.94);filter:brightness(.8)}}@keyframes hero-art{0%{transform:translate(-7%)}50%{transform:none}to{transform:translate(7%)}}@keyframes hero-text{0%,12%{opacity:0;transform:translate(24px)}36%,64%{opacity:1;transform:none}88%,to{opacity:0;transform:translate(-24px)}}.eyebrow{margin:0;font:600 12px/1 var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--accent, var(--moon))}.slide-title{text-shadow:0 2px 16px rgba(5,7,18,.6);margin:0;font-size:clamp(27px,7.4vw,44px);line-height:1.03;font-weight:650;font-variation-settings:"SOFT" 100,"WONK" 1;text-wrap:balance;max-width:14ch}.slide-meta{margin:0;font-size:13.5px;color:#f2efe8cc}.slide-desc{margin:0;font-size:14.5px;line-height:1.42;color:#f2efe8e0;max-width:40ch;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.slide-cta{display:flex;gap:10px;margin-top:8px}.slide-cta .btn{flex:1;max-width:200px;height:46px}.hero-dots{display:flex;justify-content:center;gap:6px;padding:0}.hero-dots i{width:6px;height:6px;border-radius:6px;background:#ffffff40;transition:width .4s var(--ease-out),background-color .4s}.hero-dots i.on{width:20px;background:var(--moon)}@media(prefers-reduced-motion:reduce){.slide-art img,.slide-body{transition:none}.slide-art img{scale:1.08}}.chips{display:flex;align-items:center;gap:8px;padding:18px var(--gutter) 4px;overflow-x:auto;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chips-label{font:600 13px/1 var(--font-ui);color:var(--muted);white-space:nowrap;margin-right:2px}.chip{height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface-1);color:var(--text);font:500 13.5px/1 var(--font-ui);white-space:nowrap;cursor:pointer;transition:background-color .2s,color .2s,transform .12s}.chip:active{transform:scale(.95)}.chip[aria-pressed=true]{background:var(--moon);color:var(--on-moon);border-color:var(--moon)}.home[data-view=shelf] .rows-view,.home[data-view=rows] .shelf-view{display:none}.row{margin-top:26px}.row[hidden],.row.empty{display:none}.row-head{display:flex;align-items:baseline;justify-content:space-between;padding:0 var(--gutter);margin-bottom:12px}.row-head h2{margin:0;font:600 17px/1.2 var(--font-ui);letter-spacing:-.01em}.row-head a{font:500 13.5px/1 var(--font-ui);color:var(--muted);text-decoration:none;padding:6px 0 6px 12px}.row-track{list-style:none;margin:0;padding:4px var(--gutter) 14px;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);scrollbar-width:none;overscroll-behavior-x:contain}.row-track::-webkit-scrollbar{display:none}.row-item{scroll-snap-align:start;flex:none}.row-item[hidden]{display:none}.cover-link{display:block;text-decoration:none;color:inherit;-webkit-touch-callout:none;border-radius:var(--r-cover)}.cover-link .bcover{transition:transform .22s var(--ease-spring),box-shadow .22s}.cover-link:active .bcover{transform:scale(.96);transition-duration:.12s;transition-timing-function:cubic-bezier(.2,0,0,1)}@media(hover:hover){.cover-link:hover .bcover{transform:translateY(-4px) scale(1.02);box-shadow:0 2px 4px #0006,0 22px 40px -10px #000000b3}}.row-caption{display:block;width:128px;margin-top:8px;font:500 13px/1.3 var(--font-ui);color:#f2efe8d1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(min-width:768px){.row-caption{width:160px}}.wide-card{position:relative;display:block;width:240px;height:136px;border-radius:var(--r-card);overflow:hidden;text-decoration:none;color:var(--text);box-shadow:var(--shadow-cover);background:var(--surface-2)}.wide-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.wide-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#0b0e1aeb,#0b0e1a1a 70%)}.wide-body{position:absolute;z-index:1;left:14px;right:56px;bottom:16px;display:flex;flex-direction:column;gap:3px}.wide-title{font:600 15px/1.2 var(--font-ui);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wide-meta{font-size:12.5px;color:#f2efe8bf}.wide-play{position:absolute;z-index:1;right:12px;bottom:14px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--moon);color:var(--on-moon)}.wide-bar{position:absolute;z-index:1;left:0;right:0;bottom:0;height:3px;background:#ffffff2e}.wide-bar i{display:block;height:100%;background:var(--ember)}.shelf-view{padding:22px var(--gutter) 0}.bookcase{position:relative;padding:18px 14px 6px;border-radius:18px;background:radial-gradient(120% 60% at 50% -10%,rgba(255,214,150,.22),transparent 60%),linear-gradient(90deg,rgba(0,0,0,.35),transparent 6%,transparent 94%,rgba(0,0,0,.35)),linear-gradient(#2a1a10,#1c110a);box-shadow:inset 0 0 0 8px #3a2416,inset 0 0 0 9px #ffffff0f,0 30px 60px -20px #000c}.board{position:relative;padding-top:18px}.board.empty{display:none}.board-label{position:absolute;top:6px;left:8px;margin:0;font:600 11.5px/1 var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:#ffe2b48c}.board-books{list-style:none;margin:0;padding:12px 8px 0;display:flex;align-items:flex-end;gap:10px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;touch-action:pan-x pan-y;scrollbar-width:none;perspective:900px;min-height:132px}.board-books::-webkit-scrollbar{display:none}.standing{flex:none;transform-origin:50% 100%;transform:rotate(var(--lean))}.standing[hidden]{display:none}.standing .bcover{--cw: 96px;width:calc(96px * var(--h));transform:rotateY(-18deg);transform-origin:0 50%;box-shadow:-6px 0 0 -1px #e9e0cc,-8px 2px 10px #00000080,0 10px 16px -6px #000000b3;transition:transform .35s var(--ease-spring)}.standing .cover-link:hover .bcover,.standing .cover-link:focus-visible .bcover{transform:rotateY(0) translateY(-10px)}.standing .cover-link:active .bcover{transform:rotateY(-6deg) translateY(-6px) scale(.98)}.plank{height:14px;margin:0 -6px 18px;border-radius:3px;background:linear-gradient(#7a4d2e,#5b3820 45%,#3e2614);box-shadow:inset 0 1px #ffdcb459,0 18px 22px -8px #000000d9}@media(min-width:768px){.standing .bcover{--cw: 130px;width:calc(130px * var(--h))}}@media(min-width:768px){.slide{flex-basis:min(720px,calc(100% - 120px));height:clamp(440px,60vh,600px)}.slide-body{max-width:640px;padding:0 32px 32px}}@media(min-width:1200px){.home{max-width:1320px;margin:0 auto}}.nook{height:220px;margin:0 calc(-1 * var(--gutter)) -60px;position:relative;z-index:0;background:linear-gradient(to bottom,transparent 40%,var(--bg)),url(/art/bg-nook.webp) center 30% / cover no-repeat;-webkit-mask-image:linear-gradient(to bottom,#000 60%,transparent);mask-image:linear-gradient(to bottom,#000 60%,transparent)}.bookcase{z-index:1}@media(min-width:768px){.nook{height:320px}}.cat-card{position:relative;display:block;width:210px;height:124px;border-radius:var(--r-card);overflow:hidden;isolation:isolate;text-decoration:none;color:#fff;background:var(--tint);box-shadow:var(--shadow-cover);transition:transform .22s var(--ease-spring)}.cat-card:active{transform:scale(.96);transition-duration:.12s}.cat-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s var(--ease-out)}.cat-card img.fallback{opacity:.55;filter:saturate(.8)}.cat-card:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,#0b0e1ad9,#0b0e1a00 62%)}@media(hover:hover){.cat-card:hover img{transform:scale(1.06)}}.cat-label{position:absolute;left:14px;right:40px;bottom:12px;font:600 15px/1.2 var(--font-ui);text-wrap:balance}.cat-count{position:absolute;right:12px;bottom:12px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:grid;place-items:center;font:600 11.5px/1 var(--font-ui);background:#ffffff2e;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.continue-wrap .row{margin-top:18px}.home[data-view=shelf] .continue-wrap{display:none}.install-pill{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px 0 11px;border-radius:999px;border:0;cursor:pointer;font:600 13.5px/1 var(--font-ui);color:var(--on-moon);background:var(--moon);box-shadow:0 6px 18px -6px #f4d58d99}.install-pill[hidden]{display:none}.install-pill:active{transform:scale(.95)}.lib-head{display:flex;align-items:center;justify-content:space-between;padding:30px var(--gutter) 0;scroll-margin-top:12px}.lib-title{margin:0;font-size:26px;font-weight:650;font-variation-settings:"SOFT" 100,"WONK" 1}.lib-head .view-toggle{background:var(--surface-1);box-shadow:inset 0 0 0 1px var(--line);backdrop-filter:none}.lib-body-fade{transition:opacity .18s ease,transform .18s ease}.lib-body-fade.out{opacity:0;transform:translateY(6px)}.new-pill{display:inline-block;margin-right:8px;padding:4px 7px;border-radius:6px;background:var(--moon);color:var(--on-moon);font:700 10.5px/1 var(--font-ui);letter-spacing:.08em;vertical-align:1px}.new-pill[hidden]{display:none}.slide-body .eyebrow{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 10px rgba(5,7,18,.8)}
