@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-opsz-normal-Czevyj-6.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-opsz-normal-CJcjJNj7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-opsz-normal-DihXLNYH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-opsz-italic-DxWqP7Ku.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-opsz-italic-CGbN9UgK.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-opsz-italic-lSdLDfvT.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-cyrillic-ext-400-normal-BwJdxs7r.woff2)format("woff2"),url(/assets/source-sans-3-cyrillic-ext-400-normal-Cd63HKDh.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-cyrillic-400-normal-DjhbW-4D.woff2)format("woff2"),url(/assets/source-sans-3-cyrillic-400-normal-7kQcAFpS.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-greek-ext-400-normal-CpIwTHMM.woff2)format("woff2"),url(/assets/source-sans-3-greek-ext-400-normal-BI1kUwmR.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-greek-400-normal-DZReXJla.woff2)format("woff2"),url(/assets/source-sans-3-greek-400-normal-DJm9Ud5h.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-vietnamese-400-normal-CwtaIDr2.woff2)format("woff2"),url(/assets/source-sans-3-vietnamese-400-normal-dYp9C364.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-ext-400-normal-UNsKFIBq.woff2)format("woff2"),url(/assets/source-sans-3-latin-ext-400-normal-BGPHfnm_.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-400-normal-DQi5PRDE.woff2)format("woff2"),url(/assets/source-sans-3-latin-400-normal-AFMiCETP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-sans-3-cyrillic-ext-500-normal-D8Dd5jAI.woff2)format("woff2"),url(/assets/source-sans-3-cyrillic-ext-500-normal-CaAUUz-j.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-sans-3-cyrillic-500-normal-BmnPaoCF.woff2)format("woff2"),url(/assets/source-sans-3-cyrillic-500-normal-B7bCyCk_.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-sans-3-greek-ext-500-normal-9wgnofA_.woff2)format("woff2"),url(/assets/source-sans-3-greek-ext-500-normal-FO4an0ZF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-sans-3-greek-500-normal-eLQqTu5G.woff2)format("woff2"),url(/assets/source-sans-3-greek-500-normal-BOY5JFvG.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-sans-3-vietnamese-500-normal-BSXhk166.woff2)format("woff2"),url(/assets/source-sans-3-vietnamese-500-normal-7g9Z1MMl.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-sans-3-latin-ext-500-normal-tzH6xoxH.woff2)format("woff2"),url(/assets/source-sans-3-latin-ext-500-normal-DYiJOyLu.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:500;src:url(/assets/source-sans-3-latin-500-normal-DiWS0tcR.woff2)format("woff2"),url(/assets/source-sans-3-latin-500-normal-BtDzq-z9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-cyrillic-ext-600-normal-6AhwUnSr.woff2)format("woff2"),url(/assets/source-sans-3-cyrillic-ext-600-normal-uAL1a5gb.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-cyrillic-600-normal-BnFu5nHC.woff2)format("woff2"),url(/assets/source-sans-3-cyrillic-600-normal-y-RO8wOd.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-greek-ext-600-normal-DynePNDL.woff2)format("woff2"),url(/assets/source-sans-3-greek-ext-600-normal-D7vJ4nVX.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-greek-600-normal-BSO157bq.woff2)format("woff2"),url(/assets/source-sans-3-greek-600-normal-BNF9LBpG.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-vietnamese-600-normal-B2sTNYey.woff2)format("woff2"),url(/assets/source-sans-3-vietnamese-600-normal-DpSexF-T.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-latin-ext-600-normal-AEyhgUpm.woff2)format("woff2"),url(/assets/source-sans-3-latin-ext-600-normal-Wy7HIzqC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-sans-3-latin-600-normal-DeckBYAU.woff2)format("woff2"),url(/assets/source-sans-3-latin-600-normal-BvDVuF-j.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-cyrillic-ext-700-normal-BhUSqjb8.woff2)format("woff2"),url(/assets/source-sans-3-cyrillic-ext-700-normal-B6RPsSdD.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-cyrillic-700-normal-CIuudVLB.woff2)format("woff2"),url(/assets/source-sans-3-cyrillic-700-normal-DYE6gq6k.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-greek-ext-700-normal-Dd6uIcuy.woff2)format("woff2"),url(/assets/source-sans-3-greek-ext-700-normal-C6ITAlBU.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-greek-700-normal-C8Tp2qRF.woff2)format("woff2"),url(/assets/source-sans-3-greek-700-normal-BWdBblwd.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-vietnamese-700-normal-Bgamivog.woff2)format("woff2"),url(/assets/source-sans-3-vietnamese-700-normal-BHxM10oo.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-latin-ext-700-normal-6Xi0A2be.woff2)format("woff2"),url(/assets/source-sans-3-latin-ext-700-normal-ChH_v7nA.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/source-sans-3-latin-700-normal-CkzU-mV9.woff2)format("woff2"),url(/assets/source-sans-3-latin-700-normal-BBbVrHF_.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-cyrillic-ext-400-italic-HOVu-9SC.woff2)format("woff2"),url(/assets/source-sans-3-cyrillic-ext-400-italic-B9vdFu6z.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-cyrillic-400-italic-DbGEEBAE.woff2)format("woff2"),url(/assets/source-sans-3-cyrillic-400-italic-BHmmOD1c.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-greek-ext-400-italic-D2IhUMi0.woff2)format("woff2"),url(/assets/source-sans-3-greek-ext-400-italic-uQYgKtqE.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-greek-400-italic-CW67wuKv.woff2)format("woff2"),url(/assets/source-sans-3-greek-400-italic-DNtto6bD.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-vietnamese-400-italic-Ip6ozmKu.woff2)format("woff2"),url(/assets/source-sans-3-vietnamese-400-italic-BUkYzfnL.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-ext-400-italic-DtcUteIv.woff2)format("woff2"),url(/assets/source-sans-3-latin-ext-400-italic-skMIiTSx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/source-sans-3-latin-400-italic-bFKvakRX.woff2)format("woff2"),url(/assets/source-sans-3-latin-400-italic-BbFJQg2j.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.landing{max-width:1180px;margin:0 auto;padding:0 28px}.lt-sage{--tone:var(--sage);--tone-deep:var(--sage-deep)}.lt-pink{--tone:var(--pink);--tone-deep:var(--pink-deep)}.lt-butter{--tone:var(--butter);--tone-deep:var(--butter-deep)}.lt-lavender{--tone:var(--lavender);--tone-deep:var(--lavender-deep)}.lt-coral{--tone:var(--coral);--tone-deep:var(--coral-deep)}.landing-header{border-bottom:var(--border);justify-content:space-between;align-items:center;gap:12px;padding:18px 0 16px;display:flex}.landing-brand-text{display:grid}.landing-brand-name{font-family:var(--font-serif);letter-spacing:-.03em;font-size:1.4rem;font-weight:700;line-height:1.1}.landing-brand-text em{font-family:var(--font-serif);color:var(--muted);font-size:.82rem}.landing-header-nav{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.landing main:focus{outline:none}.landing-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:48px;padding:64px 0 56px;display:grid}.landing-hero h1{font-family:var(--font-serif);letter-spacing:-.035em;margin:0 0 18px;font-size:clamp(2.3rem,6vw,4.1rem);font-weight:650;line-height:1.02}.landing-hero h1 em{text-decoration:underline;-webkit-text-decoration-color:var(--coral);text-decoration-color:var(--coral);text-underline-offset:6px;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;font-weight:500;text-decoration-thickness:6px}.landing-hero .lede{max-width:46ch;font-size:1.18rem}.landing-ctas{gap:12px;margin-top:26px}.landing-hero-card{border:2px solid var(--ink);background:var(--paper);box-shadow:8px 8px 0 var(--ink);border-radius:26px;padding:34px 26px 22px;position:relative;transform:rotate(1.2deg)}.landing-sticker{position:absolute;top:-13px;left:22px;transform:rotate(-5deg)}.landing-shelf-art{width:100%;height:auto;display:block}.landing-spine rect{fill:var(--tone);stroke:var(--ink);stroke-width:2.5px}.landing-spine line{stroke:var(--ink-soft);stroke-width:2.5px;stroke-linecap:round;opacity:.55}.landing-spine{transform-box:fill-box;transform-origin:bottom;animation:.55s cubic-bezier(.2,.9,.3,1.2) both spine-rise}.landing-shelf-board{fill:var(--ink)}@keyframes spine-rise{0%{opacity:0;transform:translateY(14px)scaleY(.92)}to{opacity:1;transform:none}}.landing-section{border-top:var(--border);margin-top:40px;padding-top:26px}.landing-section-head{margin-bottom:26px}.landing-section-head h2,.landing-final h2{margin:0;font-size:clamp(1.75rem,3.6vw,2.5rem)}.landing-features{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;list-style:none;display:grid}.landing-feature{border:var(--border);background:var(--paper);box-shadow:5px 5px 0 var(--tone);border-radius:18px;padding:22px 22px 20px}.landing-features>li:nth-child(3n+1){transform:rotate(-.6deg)}.landing-features>li:nth-child(3n+2){transform:rotate(.5deg)}.landing-feature-icon{border:var(--border);background:var(--tone);width:44px;height:44px;color:var(--ink);box-shadow:2px 2px 0 var(--ink);border-radius:12px;place-items:center;display:inline-grid;transform:rotate(-4deg)}.landing-feature h3{margin:16px 0 6px;font-size:1.22rem}.landing-feature p{color:var(--ink-soft);margin:0}.landing-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;list-style:none;display:grid}.landing-step{border:1.5px dashed var(--line-strong);background:#fffdf8b3;border-radius:18px;padding:22px 22px 20px;position:relative}.landing-step-no{background:var(--ink);width:38px;height:38px;color:var(--ivory);font-family:var(--font-serif);border-radius:50%;place-items:center;font-size:1.15rem;font-weight:700;display:inline-grid}.landing-step h3{margin:14px 0 6px;font-size:1.22rem}.landing-step p{color:var(--ink-soft);margin:0}.landing-install .lede{max-width:52ch}.landing-install .actions{margin-top:18px}.landing-final{text-align:center;border:2px solid var(--ink);background:radial-gradient(circle at 0% 0%, #f7e7a699, transparent 42%), radial-gradient(circle at 100% 100%, #d9ccef99, transparent 45%), var(--paper);box-shadow:8px 8px 0 var(--coral), 8px 8px 0 2px var(--ink);border-radius:26px;margin:72px 0 0;padding:40px 32px}.landing-final .lede{margin:12px auto 0}.landing-final .landing-ctas{justify-content:center}.landing-footer{border-top:var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-top:64px;padding:20px 0 32px;font-size:.92rem;display:flex}.landing-footer-brand{font-family:var(--font-serif);margin:0;font-weight:700}.landing-footer-brand em{color:var(--muted);font-weight:400}.landing-footer-links{flex-wrap:wrap;gap:8px 20px;list-style:none;display:flex}.landing-footer-links a{-webkit-text-decoration-color:var(--coral);text-decoration-color:var(--coral);text-underline-offset:3px;text-decoration-thickness:2px}.landing-footer-links a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.auth-home-link{text-align:center;margin:18px 0 0;font-size:.9rem}.auth-home-link a{color:var(--ink-soft);-webkit-text-decoration-color:var(--coral);text-decoration-color:var(--coral);text-underline-offset:3px;align-items:center;gap:6px;text-decoration-thickness:2px;display:inline-flex}.auth-home-link a:hover{color:var(--ink)}@media (width<=960px){.landing-features{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-features>li:nth-child(n){transform:none}}@media (width<=820px){.landing{padding:0 16px}.landing-hero{grid-template-columns:1fr;gap:40px;padding:40px 0 36px}.landing-hero-card{max-width:460px;box-shadow:6px 6px 0 var(--ink);transform:none}.landing-steps{grid-template-columns:1fr;gap:16px}.landing-final{box-shadow:5px 5px 0 var(--coral), 5px 5px 0 2px var(--ink);margin-top:56px;padding:30px 18px}}@media (width<=600px){.landing-features{grid-template-columns:1fr;gap:18px}.landing-header-nav .btn.primary{display:none}.landing-hero .lede{font-size:1.06rem}.landing-ctas .btn{flex:100%}.landing-footer{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){.landing-spine{animation:none}.landing-hero-card,.landing-features>li:nth-child(n){transform:none}}:root{--ivory:#faf8f2;--paper:#fffdf8;--ink:#30343b;--ink-soft:#565b65;--sage:#b8d8c8;--pink:#f2c6cf;--butter:#f7e7a6;--lavender:#d9ccef;--coral:#eca58e;--sage-deep:#4d7a66;--pink-deep:#a24e66;--butter-deep:#7c6113;--lavender-deep:#64509c;--coral-deep:#a44e2e;--muted:var(--ink-soft);--line:#30343b1f;--line-strong:#30343b4d;--border:1.5px solid var(--ink);--pop:3px 3px 0 var(--ink);--soft-shadow:0 1px 2px #30343b0d, 0 12px 32px #30343b12;--radius:18px;--font-serif:"Fraunces Variable", "Fraunces", Georgia, "Times New Roman", serif;--font-sans:"Source Sans 3", "Segoe UI", system-ui, sans-serif;--rose:var(--coral);--mint:var(--sage);--petal:var(--pink)}*{box-sizing:border-box}html{min-height:100%;scroll-padding-top:140px;overflow-x:hidden}html,body,#root{min-height:100%}body{color:var(--ink);font-family:var(--font-sans);background-color:var(--ivory);-webkit-font-smoothing:antialiased;background-image:radial-gradient(#30343b0b 1px,#0000 1px);background-size:18px 18px;margin:0;font-size:16px;line-height:1.55}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit}fieldset{border:0;min-width:0;margin:0;padding:0}legend{padding:0}ul,ol{margin:0;padding:0}:focus-visible{outline:2.5px solid var(--ink);outline-offset:3px;border-radius:6px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:40;background:var(--ink);color:var(--ivory);border-radius:999px;padding:10px 16px;font-weight:600;text-decoration:none;position:absolute;top:-60px;left:16px}.skip-link:focus{top:10px}.icon{flex-shrink:0;display:block}.icon-sage{color:var(--sage-deep)}.icon-rose{color:var(--coral-deep)}h2,h3,h4{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--ink);font-weight:600;line-height:1.15}em{font-style:italic}.app-shell{max-width:1180px;margin:0 auto;padding:0 28px 96px}.page{animation:.45s rise}.site-header{z-index:16;-webkit-backdrop-filter:blur(14px);border-bottom:var(--border);background:#faf8f2ed;margin:0 -28px 32px;padding:14px 28px 10px;position:sticky;top:0}.masthead{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.brand{align-items:center;gap:12px;min-width:0;text-decoration:none;display:flex}.brand-mark{background:var(--coral);width:40px;height:40px;color:var(--ink);border:var(--border);box-shadow:2px 2px 0 var(--ink);border-radius:12px;flex-shrink:0;place-items:center;display:grid;transform:rotate(-5deg)}.brand h1{font-family:var(--font-serif);letter-spacing:-.03em;margin:0;font-size:1.4rem;font-weight:700;line-height:1.1}.brand p{color:var(--muted);margin:1px 0 0;font-size:.82rem}.brand em{font-family:var(--font-serif)}.nav{scrollbar-width:none;gap:4px;margin:0 -4px;padding:2px 4px 4px;display:flex;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav a{min-height:38px;color:var(--ink-soft);border:1.5px solid #0000;border-radius:999px;flex:none;align-items:center;gap:6px;padding:7px 13px;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.nav a:hover{color:var(--ink);background:#f7e7a699}.nav a.active{color:var(--ivory);background:var(--ink);border-color:var(--ink)}.nav .nav-short{display:none}.session-pill{border:var(--border);background:var(--lavender);font-variant-numeric:tabular-nums;white-space:nowrap;box-shadow:2px 2px 0 var(--ink);border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex}.session-pill.break{background:var(--butter)}.session-pill .pulse{background:var(--ink-soft);border-radius:50%;width:9px;height:9px}.session-pill.live .pulse{background:var(--coral-deep);animation:1.6s ease-in-out infinite pulse}.footer-note{color:var(--muted);text-align:center;margin-top:56px;font-size:.82rem;font-style:italic}.card,.panel{background:var(--paper);border:1.5px solid var(--line-strong);border-radius:var(--radius)}.padded{padding:24px}.padded-sm{padding:16px}.kicker{color:var(--ink-soft);letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px;font-size:.72rem;font-weight:700}.lede{color:var(--muted);max-width:54ch;margin:0 0 20px;font-size:1.08rem}.meta{color:var(--muted);margin:0;font-size:.87rem}.inline-meta{align-items:center;gap:6px;display:inline-flex}.hero{border-bottom:var(--border);margin-bottom:8px;padding:4px 0 24px}.hero h2{margin:0 0 10px;font-size:clamp(2rem,5vw,3.2rem);line-height:1.05}.section{margin-top:40px}.section>h3{margin:0 0 12px;font-size:1.3rem}.section-head{border-top:var(--border);align-items:flex-start;gap:16px;margin-bottom:22px;padding-top:18px;display:flex}.section-head h2{margin:0;font-size:clamp(1.75rem,3.6vw,2.5rem)}.section-head.small h2{font-size:clamp(1.3rem,2.6vw,1.7rem)}.section-sub{color:var(--muted);max-width:62ch;margin:6px 0 0}.section-no{background:var(--ink);color:var(--ivory);letter-spacing:.14em;text-transform:uppercase;border-radius:6px;flex-shrink:0;margin-top:8px;padding:4px 9px;font-size:.7rem;font-weight:700;transform:rotate(-3deg)}.control-label{margin:0 0 8px;font-size:.92rem;font-weight:700;display:block}.actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.notice{border:1.5px dashed var(--sage-deep);background:#b8d8c873;border-radius:12px;margin:14px 0 0;padding:10px 14px;font-size:.92rem}.empty{text-align:center;background:var(--paper);border:1.5px dashed var(--line-strong);border-radius:var(--radius);padding:32px 24px}.empty p{margin:0}.empty-icon{color:var(--sage-deep);margin:0 auto 12px}.empty-inline{border:1.5px dashed var(--line-strong);background:#f7e7a640;border-radius:14px;margin-top:16px;padding:16px 18px}.empty-inline p{margin:0}.empty-inline.big{text-align:center;justify-items:center;gap:12px;padding:32px 24px;display:grid}.empty-line{color:var(--muted);margin:0;font-style:italic}.install-note{max-width:48ch}.btn{border:var(--border);background:var(--paper);min-height:44px;color:var(--ink);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:650;line-height:1.1;text-decoration:none;transition:transform .14s,box-shadow .14s,background .14s;display:inline-flex}.btn:hover:not(:disabled){box-shadow:var(--pop);transform:translate(-1px,-1px)}.btn:active:not(:disabled){box-shadow:none;transform:none}.btn.primary{background:var(--ink);color:var(--ivory)}.btn.primary:hover:not(:disabled){box-shadow:3px 3px 0 var(--coral)}.btn.rose{background:var(--coral)}.btn.butter{background:var(--butter)}.btn.ghost{border-color:var(--line-strong);background:0 0}.btn.ghost:hover:not(:disabled){border-color:var(--ink)}.btn.tiny{gap:6px;min-height:36px;padding:6px 12px;font-size:.86rem}.btn.big{min-height:52px;padding:13px 24px;font-size:1.02rem}.btn.icon-only{flex:0 0 36px;width:36px;padding:6px}.link-btn{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--coral);text-decoration-color:var(--coral);text-underline-offset:4px;background:0 0;border:0;align-items:center;gap:5px;padding:4px 2px;font-size:.9rem;font-weight:600;text-decoration-thickness:2px;display:inline-flex}.link-btn:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.link-row{flex-wrap:wrap;gap:6px 16px;margin:14px 0 8px;display:flex}.chip-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip-row.centered{justify-content:center;margin-bottom:8px}.chip-btn{border:1.5px solid var(--line-strong);background:var(--paper);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:5px;min-height:34px;padding:5px 12px;font-size:.85rem;font-weight:700;transition:background .14s,border-color .14s;display:inline-flex}.chip-btn:hover:not(:disabled){border-color:var(--ink);background:#f7e7a68c}.chip-btn.selected,.chip-btn.ink{background:var(--ink);color:var(--ivory);border-color:var(--ink)}.mini-input,.page-form input,.inline-field input{border:1.5px solid var(--line-strong);background:var(--paper);border-radius:999px;min-height:34px;padding:4px 12px}.mini-input{width:96px}.toggle-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.toggle-row .meta{flex-basis:100%}.toggle{border:1.5px dashed var(--line-strong);min-height:34px;color:var(--ink-soft);background:0 0;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:.84rem;font-weight:600;display:inline-flex}.toggle.on{border-style:solid;border-color:var(--ink);background:var(--sage);color:var(--ink)}.sticker{border:var(--border);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;box-shadow:2px 2px 0 var(--ink);background:var(--paper);border-radius:999px;padding:3px 10px 4px;font-size:.7rem;font-weight:800;line-height:1.3;display:inline-block}.tone-sage{background:var(--sage)}.tone-pink{background:var(--pink)}.tone-butter{background:var(--butter)}.tone-lavender{background:var(--lavender)}.tone-coral{background:var(--coral)}.count-badge{background:var(--ink);min-width:26px;height:26px;color:var(--ivory);font-family:var(--font-sans);vertical-align:middle;letter-spacing:0;border-radius:999px;place-items:center;margin-left:6px;padding:0 7px;font-size:.8rem;font-weight:700;display:inline-grid}.tags{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.tag{background:#b8d8c88c;border-radius:999px;padding:3px 9px;font-size:.75rem;font-weight:700}.tag.status{border:1px solid var(--line-strong);background:0 0}.tag[data-mood=romance],.tag[data-mood=romcom],.tag[data-mood=emotional],.tag[data-mood=feel-good]{background:var(--pink)}.tag[data-mood=funny],.tag[data-mood=light-fun]{background:var(--butter)}.tag[data-mood=magical],.tag[data-mood=mystery]{background:var(--lavender)}.progress{background:#30343b14;border:1px solid #30343b1f;border-radius:999px;height:8px;margin:8px 0;overflow:hidden}.progress>span{border-radius:inherit;background:linear-gradient(90deg, var(--sage), var(--butter) 55%, var(--coral));height:100%;transition:width .4s;display:block}.cover,.cover-fallback{aspect-ratio:2/3;object-fit:cover;background:var(--sage);border-radius:8px 12px 12px 8px;width:100%;display:block;box-shadow:inset 4px 0 #00000014,0 2px 6px #30343b29}.cover-fallback{color:var(--ink);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12% 10%;font-size:clamp(.6rem,.9vw,.9rem);line-height:1.15;text-decoration:none;display:flex;position:relative;overflow:hidden;container-type:inline-size}.cover-fallback:before{content:"";pointer-events:none;border:1px solid #30343b73;border-radius:4px;position:absolute;inset:6%}.cover-fallback strong{font-family:var(--font-serif);-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:clamp(.62rem,11cqi,1.35rem);font-weight:700;display:-webkit-box;overflow:hidden}.cover-fallback em{font-family:var(--font-serif);opacity:.85;font-size:clamp(.55rem,7.5cqi,.9rem);font-style:italic}a:has(.cover-fallback){text-decoration:none}.cover-rule{background:var(--ink);opacity:.5;width:28%;height:1.5px}.cover-placeholder{aspect-ratio:2/3;border:1.5px dashed var(--line-strong);color:var(--ink-soft);background:#d9ccef4d;border-radius:10px;place-items:center;display:grid}.home>section+section{margin-top:72px}.welcome{grid-template-columns:minmax(0,1.5fr) minmax(240px,.8fr);align-items:center;gap:40px;padding:8px 0 12px;display:grid}.welcome h2{letter-spacing:-.04em;margin:0 0 14px;font-size:clamp(2.6rem,6.4vw,4.6rem);font-weight:700;line-height:.98}.welcome h2 em{background:linear-gradient(transparent 60%, var(--butter) 60%, var(--butter) 92%, transparent 92%);padding:0 .08em;font-weight:500}.welcome-today{color:var(--ink-soft);flex-wrap:wrap;gap:8px 22px;margin:18px 0 0;font-size:.92rem;font-weight:600;display:flex}.welcome-today span{align-items:center;gap:6px;display:inline-flex}.welcome-today .icon{color:var(--coral-deep)}.welcome-stats{gap:12px;list-style:none;display:grid}.ticket{border:var(--border);box-shadow:var(--pop);border-radius:16px;position:relative}.ticket:first-child{transform:rotate(-1.4deg)}.ticket:nth-child(2){transform:rotate(.8deg)translate(14px)}.ticket:nth-child(3){transform:rotate(-.6deg)translate(4px)}.ticket-inner{border-radius:inherit;text-align:left;background:0 0;border:0;align-items:baseline;gap:12px;width:100%;padding:14px 34px 14px 18px;display:flex}.ticket:hover{box-shadow:5px 5px 0 var(--ink)}.ticket strong{font-family:var(--font-serif);font-size:2.3rem;font-weight:700;line-height:1}.ticket span{color:var(--ink);font-weight:600}.ticket:after{content:"";border-left:1.5px dashed #30343b59;position:absolute;top:10px;bottom:10px;right:14px}.tools-line{border-top:1.5px dashed var(--line-strong);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding-top:18px;display:flex}.tools-line .actions{margin-top:0}.wheel-section{border:var(--border);background:radial-gradient(circle at 18% 22%, #f7e7a673, transparent 42%), radial-gradient(circle at 92% 88%, #d9ccef73, transparent 40%), var(--paper);box-shadow:8px 8px 0 var(--sage);border-radius:28px;padding:28px 32px 30px;position:relative}.wheel-section:focus{outline:none}.wheel-section .section-head{border-top:0;padding-top:0}.wheel-layout{grid-template-columns:minmax(280px,460px) minmax(0,1fr);align-items:start;gap:40px;display:grid}.wheel-col{position:sticky;top:150px}.wheel-stage{width:min(100%,460px);margin:0 auto;padding-top:18px;position:relative}.wheel-stage:before{content:"";aspect-ratio:1;background:var(--ink);border-radius:50%;position:absolute;top:18px;left:0;right:0;transform:translate(7px,7px)}.wheel-disc{aspect-ratio:1;will-change:transform;border-radius:50%;transition-property:transform;transition-timing-function:cubic-bezier(.14,.78,.1,1);position:relative}.wheel-disc svg{width:100%;height:100%;display:block}.wheel-rim{fill:var(--ink)}.wheel-base{fill:var(--ivory)}.wheel-slice{stroke:var(--ink);stroke-width:.6px;transition:opacity .4s,filter .4s}.is-revealed .wheel-slice:not(.is-winner){opacity:.4}.is-revealed .wheel-slice.is-winner{filter:saturate(1.25)brightness(1.03)}.wheel-label{fill:var(--ink);font-family:var(--font-sans);pointer-events:none;font-weight:700}.wheel-bulb{fill:var(--ivory)}.is-spinning .wheel-bulb:nth-child(odd){animation:.5s steps(2,jump-none) infinite blink}.is-revealed .wheel-bulb{fill:var(--butter)}.wheel-pointer{z-index:3;transform-origin:50% 30%;width:40px;height:48px;filter:drop-shadow(2px 2px 0 var(--ink));margin-left:-20px;position:absolute;top:0;left:50%}.wheel-pointer path{fill:var(--coral);stroke:var(--ink);stroke-width:2.5px;stroke-linejoin:round}.wheel-pointer circle{fill:var(--ivory);stroke:var(--ink);stroke-width:2px}.is-spinning .wheel-pointer{animation:90ms ease-in-out 26 alternate tick,.22s ease-in-out 2.34s 10 alternate tick}.wheel-hub{z-index:2;aspect-ratio:1;border:2.5px solid var(--ink);background:var(--ivory);width:27%;box-shadow:3px 3px 0 var(--ink);border-radius:50%;place-content:center;gap:0;transition:transform .15s,background .15s;display:grid;position:absolute;top:calc(9px + 50%);left:50%;transform:translate(-50%,-50%)}.wheel-hub span{font-family:var(--font-serif);font-size:clamp(1.1rem,2.6vw,1.55rem);font-weight:700;line-height:1}.wheel-hub small{color:var(--ink-soft);font-size:.72rem;font-weight:700}.wheel-hub:hover:not(:disabled){background:var(--butter);transform:translate(-50%,-50%)scale(1.05)}.wheel-hub:disabled{opacity:1;cursor:default}.wheel-hub:focus-visible{border-radius:50%}.wheel-caption{text-align:center;color:var(--ink-soft);min-height:1.6em;margin:22px 0 0;font-weight:600}.wheel-controls{padding-top:4px}.mood-grid{flex-wrap:wrap;gap:7px;display:flex}.mood-chip{--chip:var(--sage);border:1.5px solid var(--line-strong);background:var(--paper);border-radius:999px;align-items:center;gap:5px;min-height:40px;padding:6px 13px;font-size:.9rem;font-weight:650;line-height:1.2;transition:background .14s,border-color .14s,transform .14s,box-shadow .14s;display:inline-flex}.mood-chip small{text-align:center;background:#30343b14;border-radius:999px;min-width:22px;margin-left:2px;padding:1px 7px;font-size:.72rem;font-weight:700;display:inline-block}.mood-chip:hover:not(:disabled){border-color:var(--ink);background:color-mix(in srgb, var(--chip) 45%, var(--paper))}.mood-chip.selected{background:var(--chip);border-color:var(--ink);box-shadow:2px 2px 0 var(--ink);transform:translate(-1px,-1px)}.mood-chip.selected small{background:#fffdf8b3}.mood-chip[data-mood=cozy],.mood-chip[data-mood=gentle],.mood-chip[data-mood=small-town],.mood-chip[data-mood=bookish]{--chip:var(--sage)}.mood-chip[data-mood=romance],.mood-chip[data-mood=romcom],.mood-chip[data-mood=emotional],.mood-chip[data-mood=feel-good]{--chip:var(--pink)}.mood-chip[data-mood=funny],.mood-chip[data-mood=light-fun],.mood-chip[data-mood=all]{--chip:var(--butter)}.mood-chip[data-mood=magical],.mood-chip[data-mood=mystery],.mood-chip[data-mood=surprise]{--chip:var(--lavender)}.mood-chip[data-mood=shortlist]{--chip:var(--coral)}.mood-chip[data-mood=surprise]{border-style:dashed}.recent-strip{border-top:1.5px dashed var(--line-strong);margin-top:28px;padding-top:18px}.recent-list{flex-wrap:wrap;gap:8px;list-style:none;display:flex}.recent-chip{border:1.5px solid var(--line-strong);background:var(--paper);border-radius:999px;align-items:center;gap:8px;max-width:220px;padding:4px 12px 4px 4px;font-size:.84rem;font-weight:600;text-decoration:none;display:inline-flex}.recent-chip:hover{border-color:var(--ink)}.recent-chip .cover,.recent-chip .cover-fallback{border-radius:999px 4px 4px 999px;flex:0 0 26px;width:26px;padding:0;font-size:0}.recent-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.result{border:var(--border);background:var(--paper);box-shadow:6px 6px 0 var(--butter), 6px 6px 0 1.5px var(--ink);border-radius:22px;padding:22px 24px 20px;animation:.5s cubic-bezier(.2,1.4,.4,1) reveal;position:relative}.result-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.result-top .kicker{margin:0}.result-layout{grid-template-columns:150px minmax(0,1fr);gap:22px;display:grid}.result-cover{align-self:start;transition:transform .2s;display:block;position:relative;transform:rotate(-2.5deg)}.result-cover:hover{transform:rotate(0)scale(1.02)}.result-cover .cover,.result-cover .cover-fallback{border:var(--border);box-shadow:4px 4px 0 var(--ink)}.result-cover .sticker{position:absolute;bottom:-10px;right:-10px;transform:rotate(6deg)}.result-title{margin:0;font-size:clamp(1.5rem,3vw,2.05rem);line-height:1.08}.result-author,.detail .result-author{font-family:var(--font-serif);color:var(--ink-soft);margin:4px 0 12px;font-size:1.05rem;font-style:italic}.reason-box{background:#b8d8c847;border:1.5px dashed #30343b59;border-radius:14px;margin:0 0 10px;padding:12px 14px}.reason-box p{align-items:center;gap:7px;margin:0;display:flex}.reason-box p .icon{color:var(--coral-deep)}.reason-box ul{color:var(--ink-soft);margin:6px 0 0;padding-left:22px;font-size:.93rem}.result-actions .btn.primary{padding-inline:22px}.confetti{pointer-events:none;z-index:4;width:0;height:0;position:absolute;top:30%;left:50%}.confetti span{opacity:0;width:8px;height:12px;animation:burst 1.1s cubic-bezier(.15, .7, .3, 1) var(--d) forwards;border:1px solid #30343b80;position:absolute}.shelf-group+.shelf-group{margin-top:34px}.shelf-group-head{flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-bottom:14px;display:flex}.shelf-group-head h3{margin:0;font-size:1.4rem}.shelf-group-head em{font-family:var(--font-serif)}.shelf-row{scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;border-bottom:6px solid var(--ink);border-radius:0 0 4px 4px;grid-auto-columns:minmax(320px,360px);grid-auto-flow:column;gap:22px;margin:0 -4px;padding:14px 10px 20px 4px;list-style:none;display:grid;overflow-x:auto}.shelf-row>li{scroll-snap-align:start}.shelf-card{--tone:var(--sage);border:var(--border);background:var(--paper);height:100%;box-shadow:5px 5px 0 var(--tone);border-radius:16px;grid-template-columns:104px minmax(0,1fr);gap:16px;padding:18px 16px 16px;transition:transform .18s,box-shadow .18s;display:grid;position:relative}.shelf-card.kind-resting{--tone:var(--lavender)}.shelf-card.kind-waiting{--tone:var(--coral)}.shelf-row>li:nth-child(3n+1) .shelf-card{transform:rotate(-.7deg)}.shelf-row>li:nth-child(3n+2) .shelf-card{transform:rotate(.6deg)}.shelf-row>li .shelf-card:hover,.shelf-row>li .shelf-card:focus-within{box-shadow:7px 7px 0 var(--tone);transform:translateY(-3px)rotate(0)}.shelf-card>.sticker{z-index:1;position:absolute;top:-11px;left:14px;transform:rotate(-4deg)}.shelf-cover{align-self:start;display:block}.shelf-body{align-content:start;gap:6px;min-width:0;display:grid}.shelf-body h4{margin:2px 0 0;font-size:1.12rem;line-height:1.15}.shelf-body h4 a{text-decoration:none}.shelf-body h4 a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--coral);text-decoration-color:var(--coral);text-decoration-thickness:2px}.shelf-progress span{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.85rem}.shelf-progress strong{color:var(--ink)}.shelf-progress .progress{margin:4px 0}.resting-line{color:var(--lavender-deep);align-items:center;gap:5px;margin:0;font-size:.82rem;font-style:italic;display:inline-flex}.quick-pages{flex-wrap:wrap;align-items:center;gap:5px;margin-top:4px;display:flex}.page-form{gap:5px;display:inline-flex}.page-form input{width:82px}.shelf-actions{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.session-section:focus{outline:none}.session-card{border:var(--border);background:radial-gradient(circle at 100% 0%, #d9ccef8c, transparent 45%), var(--paper);box-shadow:8px 8px 0 var(--lavender), 8px 8px 0 1.5px var(--ink);border-radius:24px;padding:26px 28px}.session-setup{gap:22px;display:grid}.session-setup>.actions{margin-top:0}.session-book-pick{grid-template-columns:72px minmax(0,1fr);align-items:center;gap:16px;display:grid}.session-book-pick select{border:var(--border);background:var(--paper);border-radius:12px;width:100%;max-width:520px;min-height:46px;padding:8px 12px;font-weight:600}.session-book-pick .meta{margin-top:6px}.preset-grid{grid-template-columns:repeat(auto-fit,minmax(122px,1fr));gap:10px;display:grid}.preset{border:1.5px solid var(--line-strong);background:var(--paper);text-align:left;border-radius:14px;gap:1px;padding:12px 14px;transition:transform .14s,box-shadow .14s,background .14s,border-color .14s;display:grid}.preset strong{font-family:var(--font-serif);font-size:1.75rem;line-height:1.05}.preset strong small{font-family:var(--font-sans);font-size:.8rem;font-weight:700}.preset span{font-weight:700}.preset em{color:var(--ink-soft);font-size:.8rem}.preset:hover{border-color:var(--ink)}.preset.selected{background:var(--butter);border-color:var(--ink);box-shadow:var(--pop);transform:translate(-1px,-1px)}.inline-field{color:var(--ink-soft);align-items:center;gap:10px;margin-top:12px;font-size:.9rem;font-weight:600;display:inline-flex}.inline-field input{width:100px}.mood-tip{font-family:var(--font-serif);color:var(--lavender-deep);margin:10px 0 0;font-style:italic}.session-active{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:center;gap:32px;display:grid}.timer-ring{aspect-ratio:1;width:100%;max-width:280px;margin:0 auto;position:relative}.timer-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ring-track{fill:var(--ivory);stroke:#30343b1a;stroke-width:9px}.ring-fill{fill:none;stroke:var(--coral);stroke-width:9px;stroke-linecap:round;transition:stroke-dashoffset 1s linear}.timer-ring.paused .ring-fill{stroke:var(--lavender-deep);opacity:.55}.timer-ring:after{content:"";pointer-events:none;border:1.5px dashed #30343b33;border-radius:50%;position:absolute;inset:3%}.timer-readout{text-align:center;place-content:center;gap:2px;display:grid;position:absolute;inset:0}.timer-readout strong{font-family:var(--font-serif);font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:clamp(2.4rem,6vw,3.2rem);font-weight:700;line-height:1}.timer-label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:.74rem;font-weight:700}.encouragement{font-family:var(--font-serif);margin:0 0 16px;font-size:1.3rem;font-style:italic;line-height:1.3}.session-book{border:1.5px dashed var(--line-strong);background:#faf8f2b3;border-radius:16px;grid-template-columns:84px minmax(0,1fr);gap:16px;padding:14px;display:grid}.session-book h4{margin:0 0 2px;font-size:1.1rem}.page-goal{margin:6px 0 4px}.session-break{border:var(--border);background:var(--butter);border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;margin-bottom:22px;padding:16px 18px;display:grid}.session-break h3{font-variant-numeric:tabular-nums;margin:0;font-size:1.8rem}.session-break .kicker{margin:0}.today-strip{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:26px;list-style:none;display:grid}.today-strip li{border:1.5px dashed var(--line-strong);background:var(--paper);border-radius:14px;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;padding:12px 16px;display:grid}.today-strip .icon{color:var(--coral-deep);grid-row:span 2}.today-strip strong{font-family:var(--font-serif);font-size:1.35rem;line-height:1.1}.today-strip span{color:var(--ink-soft);font-size:.82rem;font-weight:600}.session-footnote{margin-top:12px;font-style:italic}.session-log{list-style:none}.session-log li{border-bottom:1.5px dashed var(--line);grid-template-columns:130px minmax(0,1fr) auto;gap:12px;padding:11px 4px;display:grid}.log-date{color:var(--ink-soft);font-size:.9rem;font-weight:600}.log-book a{-webkit-text-decoration-color:var(--coral);text-decoration-color:var(--coral);font-weight:600}.log-time{font-variant-numeric:tabular-nums;font-weight:600}.alarm{z-index:30;-webkit-backdrop-filter:blur(4px);background:#30343b6b;place-items:center;padding:20px;animation:.2s fade;display:grid;position:fixed;inset:0}.alarm-card{border:var(--border);background:var(--paper);width:100%;max-width:480px;max-height:calc(100vh - 40px);box-shadow:8px 8px 0 var(--coral), 8px 8px 0 1.5px var(--ink);text-align:center;border-radius:24px;padding:30px 28px 26px;animation:.4s cubic-bezier(.2,1.3,.4,1) reveal;position:relative;overflow-y:auto}.alarm-card h2{margin:0 0 8px;font-size:1.9rem}.alarm-card p{margin:0 0 8px}.alarm-glyph{border:var(--border);background:var(--butter);width:58px;height:58px;box-shadow:2px 2px 0 var(--ink);border-radius:50%;place-items:center;margin:0 auto 12px;animation:1.2s ease-in-out 2 wobble;display:grid}.dialog-actions{gap:8px;margin-top:20px;display:grid}.log-pages{border:1.5px dashed var(--line-strong);background:var(--ivory);text-align:left;border-radius:16px;grid-template-columns:64px minmax(0,1fr);gap:14px;margin-top:16px;padding:14px;display:grid}.log-pages .control-label{margin-bottom:2px}.celebration{box-shadow:8px 8px 0 var(--butter), 8px 8px 0 1.5px var(--ink)}.celebration h2 em{font-weight:500}.celebrate-cover{width:116px;margin:0 auto 16px;position:relative;transform:rotate(-3deg)}.celebrate-cover .cover,.celebrate-cover .cover-fallback{border:var(--border);box-shadow:4px 4px 0 var(--ink)}.celebrate-cover .sticker{position:absolute;bottom:8px;right:-18px;transform:rotate(8deg)}.toolbar{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin:20px 0 26px;display:grid}.field-with-icon{display:block;position:relative}.field-with-icon .icon{color:var(--ink-soft);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.toolbar input,.toolbar select,.library-controls select,.library-controls input:not([type=checkbox]),.field input,.field select,.field textarea,.note-field,.mood-tile input,.actions input{border:1.5px solid var(--line-strong);background:var(--paper);border-radius:12px;min-height:44px;padding:10px 12px}.toolbar input:focus,.toolbar select:focus,.library-controls select:focus,.library-controls input:focus,.note-field:focus{border-color:var(--ink)}.toolbar input,.toolbar select,.library-controls select,.library-controls input:not([type=checkbox]),.field textarea,.note-field,.mood-tile input{width:100%}.field-with-icon input,.field-with-icon select,.library-controls .field-with-icon input:not([type=checkbox]),.library-controls .field-with-icon select{padding-left:40px}.actions input{flex:180px;min-width:0}.note-field{resize:vertical;min-height:140px}.emoji-input{text-align:center;width:72px;flex:0 0 72px!important}.library-hero .lede{margin-bottom:12px}.library-count{font-family:var(--font-serif);letter-spacing:-.02em;margin:0;font-size:1.25rem;font-weight:600}.library-count-inline{margin:0 0 16px}.library-controls{background:var(--paper);border:1.5px solid var(--line-strong);border-radius:var(--radius);gap:14px;margin:4px 0 28px;padding:16px;display:grid}.library-find .filter-field{flex:none;width:100%;max-width:none}.library-controls .library-find input{background:var(--ivory);min-height:52px;font-size:1.05rem}.library-find input[type=search]{appearance:none}.filter-label{color:var(--ink-soft);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:700;display:block}.library-group-label{margin-bottom:10px}.library-narrow{border-top:1.5px dashed var(--line-strong);padding-top:12px}.library-narrow-fields{flex-wrap:wrap;align-items:end;gap:10px 12px;display:flex}.filter-field{flex-direction:column;flex:9.25rem;gap:6px;min-width:0;max-width:16rem;display:flex}.shortlist-toggle{border:1.5px solid var(--line-strong);background:var(--ivory);border-radius:12px;flex:0 auto;align-items:center;gap:8px;min-height:44px;margin:0;padding:8px 12px;font-weight:650;display:flex}.shortlist-toggle input{width:18px;height:18px;accent-color:var(--ink);flex:none;margin:0}.shortlist-toggle:has(input:checked){background:var(--butter);border-color:var(--ink)}.library-clear{flex:none;align-self:end}.library-shelves{gap:34px;display:grid}.library-shelf-head{border-bottom:1.5px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;margin:0 0 14px;padding-bottom:8px;display:flex}.library-shelf-head h2{margin:0;font-size:clamp(1.4rem,2.5vw,1.8rem)}.library-shelf h2:before{content:"";background:var(--sage);vertical-align:.08em;border-radius:50%;width:.55em;height:.55em;margin-right:.4em;display:inline-block}.shelf-reading h2:before{background:var(--sage)}.shelf-to-read h2:before{background:var(--butter)}.shelf-finished h2:before{background:var(--lavender)}.shelf-dnf h2:before{background:var(--coral)}.library-shelf-count{color:var(--muted);margin:0;font-size:.92rem;font-weight:650}.book-grid,.dash-grid,.stats-grid{gap:18px;display:grid}.book-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.dash-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.book-card{border:1.5px solid var(--line-strong);background:var(--paper);color:inherit;border-radius:16px;flex-direction:column;gap:10px;padding:12px;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s;display:flex}.book-card:hover,.book-card:focus-within{border-color:var(--ink);box-shadow:4px 4px 0 var(--ink);transform:translate(-2px,-2px)}.book-card h3{margin:10px 0 2px;font-size:1.05rem;line-height:1.2}.book-card-link{color:inherit;text-decoration:none;display:block}.book-card-cover{position:relative}.book-card-cover .sticker{font-size:.62rem;position:absolute;top:8px;left:-8px;transform:rotate(-5deg)}.book-card-actions{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.book-card-actions .btn:not(.icon-only){flex:1}.import-control{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.import-control .notice{flex-basis:100%;margin:0}.library-import-hint{margin:10px 0 0}.stat{border:var(--border);background:var(--paper);box-shadow:3px 3px 0 var(--ink);border-radius:16px;padding:16px 18px;position:relative}.stat strong{font-family:var(--font-serif);letter-spacing:-.03em;font-size:1.8rem;line-height:1.15;display:block}.stat span{align-items:center;gap:6px;font-size:.86rem;font-weight:600;display:inline-flex}.detail{grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:40px;display:grid}.detail-cover{align-self:start;position:sticky;top:150px}.detail-cover .cover,.detail-cover .cover-fallback{border:var(--border);box-shadow:6px 6px 0 var(--ink);border-radius:10px 16px 16px 10px}.detail-cover .sticker{position:absolute;top:-10px;right:-10px;transform:rotate(5deg)}.detail-title{margin:0;font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.05}.tracker{border:var(--border);background:var(--paper);box-shadow:5px 5px 0 var(--sage);border-radius:20px;margin-top:24px;padding:22px}.tracker h3{margin:0}.page-row{justify-content:center;align-items:flex-end;gap:8px;margin:16px 0 10px;display:flex}.page-row label{color:var(--ink-soft);text-align:center;flex-direction:column;gap:4px;font-size:.75rem;font-weight:700;display:flex}.page-row input{border:var(--border);background:var(--paper);text-align:center;border-radius:12px;width:92px;min-height:44px;padding:8px;font-weight:700}.check-row{align-items:center;gap:10px;min-height:44px;margin-top:8px;display:flex}.check-row input{width:18px;height:18px;accent-color:var(--ink)}.mood-tile input{margin-bottom:8px}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes reveal{0%{opacity:0;transform:scale(.94)translateY(10px)}to{opacity:1;transform:none}}@keyframes tick{0%{transform:rotate(0)}to{transform:rotate(-16deg)}}@keyframes blink{0%{fill:var(--ivory)}to{fill:var(--butter)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}@keyframes wobble{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}@keyframes burst{0%{opacity:1;transform:translate(0)rotate(0)scale(.6)}70%{opacity:1}to{opacity:0;transform:translate(var(--x), calc(var(--y) + 60px)) rotate(var(--r)) scale(1)}}@media (width<=960px){.wheel-layout{grid-template-columns:1fr;gap:28px}.wheel-col{position:static}.wheel-stage{width:min(100%,400px)}}@media (width<=820px){.app-shell{padding:0 16px 96px}.site-header{margin:0 -16px 22px;padding:10px 16px 6px}.brand p,.nav .nav-full{display:none}.nav .nav-short{display:inline}.nav a{padding:6px 11px;font-size:.84rem}.home>section+section{margin-top:52px}.welcome{grid-template-columns:1fr;gap:24px}.welcome-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ticket:nth-child(n){transform:none}.ticket-inner{flex-direction:column;align-items:flex-start;gap:2px;padding:12px}.ticket-inner span{font-size:.82rem;line-height:1.25}.ticket strong{font-size:1.8rem}.ticket:after{display:none}.wheel-section{box-shadow:5px 5px 0 var(--sage);border-radius:22px;padding:22px 16px 24px}.section-head{flex-direction:column;gap:10px}.section-no{margin-top:0}.result{padding:18px 16px}.result-layout{grid-template-columns:96px minmax(0,1fr);gap:14px}.result-actions .btn{flex:calc(50% - 8px)}.shelf-row{grid-auto-columns:minmax(84%,1fr);gap:14px}.shelf-card{grid-template-columns:80px minmax(0,1fr);gap:12px}.session-card{box-shadow:5px 5px 0 var(--lavender), 5px 5px 0 1.5px var(--ink);padding:20px 16px}.session-active{grid-template-columns:1fr;gap:20px}.timer-ring{max-width:230px}.session-book{grid-template-columns:64px minmax(0,1fr)}.session-break{grid-template-columns:auto minmax(0,1fr)}.session-break .btn{grid-column:1/-1}.session-log li{grid-template-columns:1fr auto}.log-date{grid-column:1/-1;font-size:.8rem}.detail{grid-template-columns:1fr;gap:20px}.detail-cover{max-width:200px;position:static}.book-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.library-controls{margin-bottom:22px;padding:12px}.library-narrow-fields .filter-field{flex-basis:calc(50% - 8px);max-width:none}.shortlist-toggle,.library-clear{flex-basis:100%}.library-shelf-head h2{font-size:1.35rem}.page-row{flex-wrap:wrap}}.masthead-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.account-bar{align-items:center;gap:8px;min-width:0;display:flex}.account-email{text-overflow:ellipsis;white-space:nowrap;max-width:180px;color:var(--muted);font-size:.82rem;overflow:hidden}.opening{text-align:center;color:var(--muted);font-family:var(--font-serif);margin-top:18vh;font-size:1.2rem;font-style:italic}.auth-shell{place-items:center;min-height:100vh;padding:32px 20px;display:grid}.auth-card{width:min(440px,100%);padding:28px}.auth-card h1{font-family:var(--font-serif);margin:8px 0 0;font-size:2.2rem}.auth-form{gap:12px;margin-top:18px;display:grid}.auth-form input,.add-book input{border:1.5px solid var(--line-strong);background:var(--paper);border-radius:12px;width:100%;min-height:44px;padding:10px 12px}.auth-form input:focus,.add-book input:focus{border-color:var(--ink)}.auth-error{border:1.5px dashed var(--pink-deep);background:#f2c6cf8c;border-radius:12px;margin:0;padding:10px 14px}.auth-card .btn{margin-top:14px}.auth-card .password-toggle{flex:none;margin-top:0}.password-field{gap:4px;display:grid}.password-row{align-items:center;gap:8px;display:flex}.password-row input{flex:auto;min-width:0}.forgot-link{justify-self:start}.agree-note a,.policy-links a,.footer-links a{-webkit-text-decoration-color:var(--coral);text-decoration-color:var(--coral);text-underline-offset:3px;text-decoration-thickness:2px}.agree-note a:hover,.policy-links a:hover,.footer-links a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.policy-links,.footer-links{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:8px;margin:18px 0 0;font-size:.85rem;display:flex}.footer-links{margin:6px 0 28px}.section .auth-error{margin-top:14px}.flash-row{flex-wrap:wrap;align-items:center;gap:10px;max-width:1180px;margin:12px auto 0;padding:0 28px;display:flex}.flash-row .notice{margin:0}.save-conflict{flex-wrap:wrap;align-items:center;gap:10px;max-width:1180px;margin:12px auto;padding:0 28px;display:flex}.shelf-copies{gap:10px;margin-top:14px;display:grid}.shelf-copy p{margin:4px 0}.add-book{margin:8px 0 22px}.add-book h3{margin-top:0}.add-book-grid{grid-template-columns:1.4fr 1fr 140px;gap:8px;display:grid}@media (width<=820px){.account-email{display:none}.add-book-grid{grid-template-columns:1fr}}.daily-goal-section:focus{outline:none}.daily-goal{border:1px solid var(--line-strong);border-radius:var(--radius);background-color:var(--ivory);box-shadow:var(--soft-shadow);color:var(--ink);background-image:radial-gradient(#30343b0b .7px,#0000 .8px);background-size:5px 5px;padding:16px 18px 12px}.daily-top{justify-content:space-between;align-items:flex-start;gap:12px 18px;display:flex}.daily-goal h2{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-size:.72rem;font-weight:650}.daily-count{align-items:baseline;gap:10px;margin:2px 0 0;display:flex}.daily-count strong{font-family:var(--font-serif);letter-spacing:-.02em;font-size:1.65rem;font-weight:560;line-height:1.05}.daily-count span{color:var(--ink-soft);font-size:.92rem}.daily-mark{background:var(--line);border-radius:99px;max-width:220px;height:3px;margin-top:8px;overflow:hidden}.daily-mark span{background:var(--sage-deep);height:100%;display:block}.daily-goal-pop{position:relative}.daily-goal-pop>summary{border:1px solid var(--line-strong);background:var(--ivory);min-height:44px;color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;padding:6px 12px;font-size:.88rem;list-style:none;display:inline-flex}.daily-goal-pop>summary::-webkit-details-marker{display:none}.daily-aims{z-index:4;border:1px solid var(--line-strong);background:var(--paper);width:min(280px,78vw);box-shadow:var(--soft-shadow);border-radius:14px;flex-wrap:wrap;gap:6px;margin-top:6px;padding:10px;display:flex;position:absolute;right:0}.daily-aim{min-width:44px;min-height:44px;color:var(--ink);font-family:var(--font-serif);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:6px 10px;font-size:1rem}.daily-aim.is-on,.daily-aim:hover{background:var(--lavender)}.daily-custom{align-items:center;gap:6px;display:flex}.daily-custom input{border:0;border-bottom:1.5px solid var(--ink);width:72px;min-height:44px;color:var(--ink);font-family:var(--font-serif);background:0 0;border-radius:0;font-size:1rem}.daily-aside{color:var(--ink-soft);margin:6px 0 0;font-size:.86rem}.daily-piles{flex-wrap:wrap;align-items:flex-end;gap:8px 28px;margin:12px 0 4px;display:flex}.daily-pile{width:118px}.daily-pile p{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:8px;margin:6px 0 0;font-size:.74rem;display:flex}.daily-pile strong{color:var(--ink);font-family:var(--font-serif);letter-spacing:0;text-transform:none;font-size:1rem;font-weight:560}.daily-stack{height:78px;position:relative}.daily-sheet,.daily-slip{border:1px solid var(--line-strong);background:linear-gradient(180deg, var(--paper), var(--ivory));width:92px;height:52px;color:var(--ink);font-family:var(--font-serif);letter-spacing:-.03em;white-space:nowrap;border-radius:2px 11px 4px 2px;place-items:center;padding:0 4px;font-size:.68rem;font-weight:560;line-height:1;display:grid;position:absolute;top:14px;left:4px;box-shadow:1px 2px #30343b14,0 5px 8px #30343b14}.daily-sheet{transform:translate(calc(var(--i) * 4px), calc(var(--i) * -4px)) rotate(calc(var(--i) * -1.1deg));border-radius:calc(2px + var(--i) * 1px) calc(12px - var(--i) * 2px) calc(3px + var(--i) * 2px) 2px}.daily-stack.is-done .daily-sheet{border-top:4px solid var(--lavender);transform:translate(calc(var(--i) * 5px), calc(var(--i) * 2px)) rotate(calc((var(--i) - 2) * 3deg))}.daily-stack.is-empty:before{content:"";border:1px dashed var(--line-strong);border-radius:3px;width:92px;height:46px;position:absolute;top:18px;left:4px}.daily-slip{z-index:5;pointer-events:none;animation:.52s cubic-bezier(.33,.02,.2,1) forwards daily-tear}@keyframes daily-tear{0%{transform:translate(0)rotate(0)}30%{transform:translate(12px,-12px)rotate(-6deg)skew(-3deg)}to{opacity:.2;transform:translate(112px,14px)rotate(7deg)}}.daily-book{grid-template-columns:68px minmax(0,1fr);align-items:start;gap:12px;margin-top:8px;display:grid}.daily-book-cover .cover,.daily-book-cover .cover-fallback{border-radius:3px 6px 6px 3px;width:68px;height:auto}.daily-book-cover .cover-fallback{min-height:96px;padding:8px 6px;font-size:.72rem}.daily-book-copy h3{font-family:var(--font-serif);margin:0;font-size:1.12rem;font-weight:560;line-height:1.2}.daily-book-copy>p{color:var(--ink-soft);margin:2px 0 0;font-size:.9rem}.daily-log{margin-top:6px}.daily-modes{flex-wrap:wrap;gap:4px 14px;display:flex}.daily-mode{min-height:40px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-bottom:1.5px solid #0000;padding:4px 0}.daily-mode.is-on{color:var(--ink);border-bottom-color:var(--lavender-deep)}.daily-amount{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.daily-amount input,.daily-fix input{border:0;border-bottom:1.5px solid var(--ink);width:84px;min-height:44px;color:var(--ink);font-family:var(--font-serif);background:0 0;border-radius:0;padding:4px 6px;font-size:1.1rem}.daily-quick{border:1px solid var(--line-strong);background:var(--ivory);min-width:44px;min-height:44px;color:var(--ink);cursor:pointer;border-radius:999px}.daily-add{background:var(--ink);min-height:44px;color:var(--ivory);cursor:pointer;border:0;border-radius:999px;padding:8px 16px}.daily-hint{color:var(--ink-soft);margin:4px 0 0;font-size:.8rem}.daily-last,.daily-fix,.daily-days-entries li{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;font-size:.86rem;display:flex}.daily-days-entries{margin:4px 0 0;padding:0;list-style:none}.daily-quiet{min-height:36px;color:var(--ink-soft);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.daily-quiet:hover{color:var(--ink)}.daily-switch{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:.74rem;display:flex}.daily-switch select{border:0;border-bottom:1.5px solid var(--ink);max-width:100%;min-height:44px;color:var(--ink);font-family:var(--font-serif);letter-spacing:0;text-transform:none;background:0 0;font-size:1rem}.daily-message{font-family:var(--font-serif);margin:8px 0 0;font-size:1.02rem;font-style:italic}.daily-history{border-top:1px solid var(--line);margin-top:10px}.daily-history>summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.daily-days{margin:0;padding:0;list-style:none}.daily-days>li{border-top:1px solid var(--line);padding:8px 0}.daily-day-head{flex-wrap:wrap;gap:4px 12px;margin:0;display:flex}.daily-met{color:var(--sage-deep)}.daily-day-note{color:var(--ink-soft);margin:2px 0 0;font-size:.88rem}@media (width<=820px){.daily-goal{padding:14px 12px 10px}.daily-top{flex-wrap:wrap}.daily-aims{width:100%;position:static}.daily-piles{gap:8px 16px}.daily-pile{width:104px}.daily-sheet,.daily-slip{width:78px;height:44px}.daily-stack.is-empty:before{width:78px;height:40px}.daily-book{grid-template-columns:60px minmax(0,1fr)}.daily-book-cover .cover,.daily-book-cover .cover-fallback{width:60px}.daily-modes{grid-template-columns:1fr 1fr;gap:0 10px;display:grid}.daily-mode{text-align:center;min-height:48px}.daily-amount{grid-template-columns:minmax(0,1fr) auto auto;display:grid}.daily-add{grid-column:1/-1}.daily-slip{animation-name:daily-tear-narrow}}@keyframes daily-tear-narrow{0%{transform:translate(0)rotate(0)}30%{transform:translate(8px,-10px)rotate(-5deg)}to{opacity:.2;transform:translate(34vw,12px)rotate(6deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.confetti,.daily-slip{display:none}.shelf-row>li .shelf-card,.ticket:nth-child(n),.result-cover{transform:none}}
