:root{--bg:#000;--surface:#1c1c1e;--surface-2:#2c2c2e;--ink:#fff;--muted:#ebebf599;--tint:#0a84ff;--accent:#0a84ff;--accent-ink:#fff;--field-1:#f2f2f7;--field-1-ink:#000;--material:#1e1e209e;--material-edge:#ffffff1f;--plank:#2a2622;--c-now:#ffd60a;--c-next:#ff453a;--rec:#bf5af2;--step-small:.8125rem;--step-body:1.0625rem;--step-lead:1.25rem;--step-head:clamp(1.75rem, 1.4rem + 1.2vw, 2.125rem);--margin:clamp(16px, 4vw, 40px);--gap:16px;--spine-h:clamp(150px, 28vh, 240px);--ease-out:cubic-bezier(.16, 1, .3, 1);--spring:cubic-bezier(.32, .72, 0, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:400 var(--step-body) / 1.47 system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;letter-spacing:-.022em;-webkit-font-smoothing:antialiased;margin:0}body.view-hive{overscroll-behavior:none;overflow:hidden}h1,h2,h3,p,dl,dd,fieldset{margin:0}a{color:var(--tint);text-decoration:none}a:hover{text-decoration:underline}button,select{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--tint);outline-offset:3px}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.glass{background:var(--material);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);box-shadow:inset 0 0 0 .5px var(--material-edge)}.seg{border:0;border-radius:999px;gap:2px;padding:3px;display:inline-flex}.seg label{position:relative}.seg input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.seg span{min-height:36px;color:var(--muted);transition:background-color .25s var(--spring), color .25s ease;white-space:nowrap;border-radius:999px;align-items:center;padding:0 16px;font-size:.9375rem;font-weight:500;display:inline-flex}.seg label:hover span{color:var(--ink)}.seg input:checked+span{color:var(--ink);background:#ffffff2e}.seg input:focus-visible+span{outline:3px solid var(--tint);outline-offset:1px}.pick{border-radius:999px;display:inline-flex;position:relative}.pick:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);pointer-events:none;width:7px;height:7px;position:absolute;top:50%;right:14px;transform:translateY(-70%)rotate(45deg)}.pick select{appearance:none;cursor:pointer;background:0 0;border:0;border-radius:999px;min-height:42px;padding:0 36px 0 16px;font-size:.9375rem;font-weight:500}.pick select option{background:var(--surface);color:var(--ink)}.pick select:focus-visible{outline:3px solid var(--tint);outline-offset:2px}.top{z-index:20;padding:calc(env(safe-area-inset-top) + 20px) var(--margin) 40px;pointer-events:none;background:linear-gradient(#000000c7,#0000);justify-content:space-between;align-items:start;gap:16px 24px;display:flex;position:fixed;inset:0 0 auto}.top>*{pointer-events:auto}.title h1{font-size:var(--step-head);letter-spacing:-.03em;font-weight:700;line-height:1.1}.title p{color:var(--muted);max-width:42ch;margin-top:4px;font-size:.9375rem}.filters{flex-wrap:wrap;justify-content:end;gap:8px;display:flex}.hive-view{position:fixed;inset:0}.hive{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;--cell-w:128px;--cell-h:192px;position:absolute;inset:0;overflow:hidden}.hive.grabbing{cursor:grabbing}.hive.grabbing .cell{pointer-events:none}.follow .hive{cursor:default}.cell{width:var(--cell-w);height:var(--cell-h);background:var(--surface);cursor:pointer;isolation:isolate;will-change:transform, opacity;transform-origin:50%;opacity:0;-webkit-tap-highlight-color:transparent;border:0;border-radius:12px;padding:0;position:absolute;top:50%;left:50%}.cell img{object-fit:cover;border-radius:inherit;width:100%;height:100%;transition:transform .35s var(--spring), filter .35s ease;pointer-events:none;display:block}.cell:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 .5px #ffffff24}@media (hover:hover){.cell:hover img{transform:scale(1.05)}}.cell:active img{transform:scale(.97)}.cell:focus-visible{outline-offset:5px}.cell-title{text-align:left;place-items:end start;height:100%;padding:12px;font-size:.9375rem;font-weight:600;line-height:1.2;display:grid}.cell.now{--ring:var(--c-now);--halo:#ffd60a80}.cell.next{--ring:var(--c-next);--halo:#ff453a52}.cell.rec{--ring:var(--rec);--halo:#bf5af280}.cell.now:before,.cell.next:before,.cell.rec:before{content:"";z-index:-1;border-radius:inherit;box-shadow:0 0 0 2px var(--ring), 0 0 30px 5px var(--halo);pointer-events:none;position:absolute;inset:0}.cell.now:before{box-shadow:0 0 0 2px var(--ring), 0 0 44px 10px var(--halo);animation:3.6s ease-in-out infinite alternate breathe}@keyframes breathe{0%{opacity:.55}to{opacity:1}}.cell.landed img,.cell.landed .cell-title{animation:land .76s var(--spring)}.cell.landed:before{animation:1.4s ease-out bloom}@keyframes land{0%{transform:scale(1.06)}}@keyframes bloom{0%{box-shadow:0 0 0 2px var(--rec), 0 0 90px 30px #bf5af2d9}}.empty{color:var(--muted);place-items:center;display:grid;position:absolute;inset:0}.hud{z-index:20;padding:48px var(--margin) calc(env(safe-area-inset-bottom) + 20px);pointer-events:none;background:linear-gradient(#0000,#000000b3);grid-template-columns:1fr auto 1fr;align-items:end;gap:12px;display:grid;position:fixed;inset:auto 0 0}.hud>*{pointer-events:auto}.hud-start,.hud-end{flex-direction:column;gap:12px;display:flex}.hud-start{align-items:start}.hud-end{align-items:end}.hint{color:var(--muted);font-size:.9375rem;transition:opacity .6s}.hint.gone{opacity:0}.links{gap:18px;font-size:.9375rem;display:flex}@media (pointer:coarse){.mode{display:none}}.key{border-radius:999px;gap:2px;padding:3px;display:inline-flex}.key-item{min-height:36px;color:var(--muted);white-space:nowrap;cursor:pointer;transition:background-color .25s var(--spring), color .25s ease;background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;padding:0 14px 0 12px;font-size:.875rem;font-weight:500;display:inline-flex}.key-item:hover,.key-item[aria-pressed=true]{color:var(--ink)}.key-item[aria-pressed=true]{background:#ffffff2e}.dot{background:var(--surface-2);border-radius:2.5px;flex:none;width:10px;height:14px;position:relative}.dot-now{box-shadow:0 0 0 1.5px var(--c-now), 0 0 10px 2px #ffd60a8c;animation:3.6s ease-in-out infinite alternate breathe}.dot-next{box-shadow:0 0 0 1.5px var(--c-next), 0 0 8px 1px #ff453a66}.dot-rec{box-shadow:0 0 0 1.5px var(--rec), 0 0 10px 2px #bf5af299}.recommend{color:#000;letter-spacing:-.01em;cursor:pointer;min-height:48px;transition:transform .22s var(--spring), background-color .2s ease;background:#fff;border:0;border-radius:999px;align-items:center;gap:8px;padding:0 22px 0 18px;font-size:1rem;font-weight:600;display:inline-flex;box-shadow:0 10px 30px #00000073,0 0 0 1px #ffffff1a}.recommend:hover{background:#e8e8ed}.recommend:active{transform:scale(.96)}.recommend svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;width:18px;height:18px}.tip{z-index:30;left:50%;bottom:calc(env(safe-area-inset-bottom) + 92px);-webkit-backdrop-filter:saturate(180%)blur(30px);backdrop-filter:saturate(180%)blur(30px);width:min(380px,100vw - 32px);box-shadow:0 24px 70px #0009, inset 0 0 0 .5px var(--material-edge);transform-origin:50% 100%;background:#242426d1;border-radius:22px;padding:20px 20px 18px;position:fixed;translate:-50%}.tip:after{content:"";background:#242426d1;border-radius:0 0 3px;width:14px;height:14px;position:absolute;bottom:-7px;left:50%;translate:-50%;rotate:45deg}.tip h2{font-size:var(--step-lead);letter-spacing:-.02em;padding-right:28px;font-weight:700}.tip p{color:var(--muted);margin-top:6px;font-size:.9375rem;line-height:1.4}.tip .tip-ask{color:var(--ink);margin-top:12px;font-weight:600}.tip-actions,.thanks-actions{gap:10px;margin-top:14px;display:flex}.tip-actions>*,.thanks-actions>*{white-space:nowrap}.tip-actions .primary{flex:1}.tip-x,.sheet-x{width:30px;height:30px;color:var(--muted);cursor:pointer;background:#ffffff1f;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;right:12px}.tip-x:hover,.sheet-x:hover{color:var(--ink);background:#ffffff2e}.tip-x svg,.sheet-x svg,.sheet-back svg,.chev,.searchbox svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.primary,.quiet{cursor:pointer;min-height:44px;transition:transform .2s var(--spring), background-color .2s ease;border:0;border-radius:999px;padding:0 20px;font-weight:600}.primary{color:#fff;background:#0071e3}.primary:hover{background:#0062c4}.primary:disabled{opacity:.6;cursor:progress}.quiet{color:var(--ink);background:#ffffff1f}.quiet:hover{background:#ffffff2e}.primary:active,.quiet:active{transform:scale(.96)}.wide{width:100%}.link{color:var(--tint);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.sheet{width:min(560px,100vw - 32px);max-height:min(720px,100svh - 48px);color:var(--ink);background:0 0;border:0;padding:0;overflow:visible}.sheet::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000073}.sheet-panel{-webkit-backdrop-filter:saturate(180%)blur(30px);backdrop-filter:saturate(180%)blur(30px);max-height:min(720px,100svh - 48px);box-shadow:0 30px 90px #0000008c, inset 0 0 0 .5px var(--material-edge);background:#1c1c1ee6;border-radius:24px;flex-direction:column;display:flex;position:relative;overflow:hidden}.sheet-head{grid-template-columns:1fr auto 1fr;align-items:center;min-height:56px;padding:12px 56px 4px;display:grid;position:relative}.sheet-head h2{text-align:center;grid-column:2;font-size:1.0625rem;font-weight:600}.sheet-head .sheet-x{top:14px}.sheet-back{min-height:30px;color:var(--tint);cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;padding:0 10px 0 4px;font-size:1.0625rem;display:inline-flex;position:absolute;top:14px;left:10px}.sheet-back svg{width:20px;height:20px}.steps{overscroll-behavior:contain;padding:4px 20px 20px;overflow:auto}.sheet-lead{color:var(--muted);text-align:center;max-width:40ch;margin:0 auto 16px;font-size:.9375rem;line-height:1.4}.searchbox{z-index:1;color:var(--muted);background:#7676803d;border-radius:12px;align-items:center;gap:8px;padding:0 12px;display:flex;position:sticky;top:0}.searchbox:focus-within{outline:3px solid var(--tint);outline-offset:1px}.searchbox input{min-width:0;min-height:44px;color:var(--ink);font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:1.0625rem}.searchbox input::placeholder{color:var(--muted)}.sheet-status{min-height:1.4em;color:var(--muted);font-size:var(--step-small);margin:10px 2px 2px}.hits{margin:0;padding:0;list-style:none}.hit+.hit{border-top:.5px solid #545458a6}.hit-button{width:100%;min-height:76px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:8px 6px;display:grid}.hit-button:hover{background:#ffffff0f}.hit-button:focus-visible{outline-offset:-2px}.hit-cover,.back-cover,.picked-cover{aspect-ratio:2/3;background:var(--surface-2);border-radius:4px;display:block;overflow:hidden;box-shadow:0 0 0 .5px #ffffff24}.hit-cover{width:44px}.hit-cover,.back-cover,.picked-tile{position:relative}.hit-cover img,.back-cover img,.picked-tile img,.ghost img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.tile-title{place-items:end start;height:100%;padding:4px;font-size:.5rem;font-weight:600;line-height:1.15;display:grid;overflow:hidden}.hit-text{gap:2px;min-width:0;display:grid}.hit-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.hit-meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;overflow:hidden}.hit .chev{color:#ebebf54d}.hit-mine{color:var(--muted);font-size:var(--step-small);white-space:nowrap}.skeleton .hit-cover,.skeleton .hit-text span{background:#ffffff14;animation:1.2s ease-in-out infinite alternate shimmer}.skeleton{grid-template-columns:44px 1fr;align-items:center;gap:14px;min-height:76px;padding:8px 6px;display:grid}.skeleton .hit-cover{height:66px}.skeleton .hit-text span{border-radius:6px;height:12px;display:block}.skeleton .hit-text span:first-child{width:70%}.skeleton .hit-text span:last-child{width:40%;margin-top:6px}@keyframes shimmer{to{opacity:.4}}.picked{grid-template-columns:112px minmax(0,1fr);align-items:end;gap:18px;margin:6px 0 20px;display:grid}.picked-cover{border-radius:8px;width:112px;box-shadow:0 18px 50px #00000080,0 0 0 .5px #ffffff24}.picked-tile{height:100%;display:block}.picked-tile .tile-title,.ghost .tile-title{padding:10px;font-size:.875rem}.picked-title{letter-spacing:-.025em;font-size:1.375rem;font-weight:700;line-height:1.15}.picked-meta{color:var(--muted);margin-top:4px}#rec-form{gap:6px;display:grid}#rec-form label{font-size:var(--step-small);color:var(--muted);margin-top:8px;font-weight:600}#rec-form label span{opacity:.8;font-weight:400}#rec-form input,#rec-form textarea{width:100%;min-height:44px;color:var(--ink);font:inherit;resize:vertical;background:#7676803d;border:0;border-radius:12px;padding:10px 12px;font-size:1.0625rem}#rec-form input:focus-visible,#rec-form textarea:focus-visible{outline:3px solid var(--tint);outline-offset:1px}.fine{color:var(--muted);font-size:var(--step-small);margin-top:8px}.sheet-error{color:#ff6961;min-height:1.2em;font-size:.9375rem}.sheet-error:empty{min-height:0}#rec-send{min-height:50px;margin-top:6px;font-size:1.0625rem}.ghost{z-index:40;background:var(--surface-2);transform-origin:0 0;will-change:transform;pointer-events:none;border-radius:8px;display:block;position:fixed;overflow:hidden}.thanks{width:min(440px,100vw - 32px)}.thanks .sheet-panel{padding:26px 22px 20px}.thanks h2{letter-spacing:-.03em;font-size:1.625rem;font-weight:700}#thanks-where{color:var(--muted);margin-top:6px;line-height:1.4}.back{margin-top:20px}.back-label{font-size:var(--step-small);color:var(--muted);margin-bottom:8px;font-weight:600}.back-book{width:100%;color:var(--ink);text-align:left;cursor:pointer;transition:background-color .2s ease, transform .2s var(--spring);background:#ffffff12;border:0;border-radius:16px;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;display:grid}.back-book:hover{background:#ffffff1c}.back-book:active{transform:scale(.98)}.back-cover{border-radius:6px;width:64px}.back-text{gap:2px;min-width:0;display:grid}.back-title{font-weight:700;line-height:1.2}.back-author{color:var(--muted);font-size:.9375rem}.back-why{color:#ff9f0a;font-size:var(--step-small);margin-top:4px;font-weight:600}.back-book .chev{color:#ebebf54d}.thanks-actions{justify-content:end;margin-top:20px}.card{width:min(860px,100vw - 32px);max-height:calc(100svh - 32px);color:var(--ink);background:0 0;border:0;padding:0;overflow:auto}.card.flying{overflow:visible}.card::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000080}.card-panel{z-index:-1;-webkit-backdrop-filter:saturate(180%)blur(30px);backdrop-filter:saturate(180%)blur(30px);box-shadow:0 30px 90px #0000008c, inset 0 0 0 .5px var(--material-edge);background:#1c1c1edb;border-radius:22px;position:absolute;inset:0}.lifted{opacity:0!important}.card-inner{isolation:isolate;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px;padding:28px;display:grid;position:relative}.card-cover{transform-origin:0 0;will-change:transform;aspect-ratio:2/3;background:var(--surface-2);border-radius:14px;position:relative;overflow:hidden;box-shadow:0 18px 50px #00000080}.card-cover img{object-fit:cover;width:100%;height:100%;display:block}.card-cover .cell-title{font-size:var(--step-lead);padding:20px}.card-body{flex-direction:column;gap:6px;min-width:0;display:flex}.card-status{font-size:var(--step-small);color:var(--muted);font-weight:600}.card-status.now{color:var(--c-now)}.card-status.next{color:var(--c-next)}.card-status.rec{color:var(--rec)}.card h2{letter-spacing:-.03em;font-size:clamp(1.625rem,1.2rem + 1.4vw,2.25rem);font-weight:700;line-height:1.08}.card-author{font-size:var(--step-lead);color:var(--muted)}.card-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.card-facts div{background:#ffffff0f;border-radius:12px;padding:12px 14px}.card-facts dt{font-size:var(--step-small);color:var(--muted)}.card-facts dd{font-size:var(--step-body);font-variant-numeric:tabular-nums;font-weight:600}.stars{vertical-align:-2px;gap:3px;display:inline-flex}.stars svg{fill:#ffffff2e;width:16px;height:16px}.stars svg.on{fill:#ff9f0a}.card-review{margin-top:18px}.card-review h3{font-size:var(--step-small);color:var(--muted);margin-bottom:4px;font-weight:600}.card-review p{font-size:var(--step-lead);line-height:1.4}.card-actions{justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding-top:24px;display:flex}.done{background:var(--tint);color:#fff;cursor:pointer;min-height:44px;transition:transform .2s var(--spring), background-color .2s ease;border:0;border-radius:999px;padding:0 22px;font-weight:600}.done:hover{background:#409cff}.done:active{transform:scale(.96)}.shelf-view{padding:168px var(--margin) 96px;max-width:1400px;margin:0 auto}.shelf-head{flex-wrap:wrap;align-items:center;gap:12px 20px;margin-bottom:40px;display:flex}.shelf-head h2{font-size:var(--step-head);letter-spacing:-.03em;font-weight:700}.note{color:var(--muted);flex-basis:100%;font-size:.9375rem}.runs{flex-direction:column;gap:44px;display:flex}.run-label{align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.run-label strong{font-weight:600}.run-label span{color:var(--muted)}.spines{border-bottom:14px solid var(--plank);flex-wrap:wrap;align-items:end;gap:18px 4px;margin:0;padding:0;list-style:none;display:flex}.spine{height:var(--spine-h);background:var(--surface-2);color:var(--ink);cursor:pointer;transition:transform .3s var(--spring);border:0;border-radius:3px 3px 0 0;flex-direction:column;justify-content:space-between;align-items:center;gap:10px;padding:14px 0;display:flex;overflow:hidden}.spine:hover,.spine:focus-visible{transform:translateY(-14px)}.spine-title,.spine-author{writing-mode:vertical-rl;text-overflow:ellipsis;white-space:nowrap;min-height:0;max-height:100%;font-size:.9375rem;font-weight:600;line-height:1.1;overflow:hidden}.spine-author{flex:none;max-height:40%;font-size:.8125rem;font-weight:500}.face{height:var(--spine-h);aspect-ratio:2/3;background:var(--surface-2);cursor:pointer;transition:transform .3s var(--spring);border:0;border-radius:6px;padding:0;overflow:hidden}.face img{object-fit:cover;width:100%;height:100%;display:block}.face:hover,.face:focus-visible{transform:translateY(-14px)}@media (width<=600px){.face{height:calc(50vw - 24px)}}.shelf-empty{color:var(--muted)}::view-transition-group(*){animation-duration:.55s;animation-timing-function:var(--spring)}::view-transition-old(lifted){object-fit:cover;height:100%}::view-transition-new(lifted){object-fit:cover;height:100%}@media (prefers-reduced-motion:reduce){.cell.now:before,.dot-now,.cell.landed img,.cell.landed .cell-title,.cell.landed:before,.skeleton .hit-cover,.skeleton .hit-text span{animation:none}.cell img,.spine,.face,.seg span,.done{transition:none}.spine:hover,.spine:focus-visible,.face:hover,.face:focus-visible{transform:none}::view-transition-group(*){animation:none}}@media (width<=720px){.top{flex-direction:column;gap:12px;padding-bottom:28px}.filters{scrollbar-width:none;flex-wrap:nowrap;justify-content:start;max-width:100%;margin:-2px;padding:2px;overflow-x:auto}.filters::-webkit-scrollbar{display:none}.filters>*{flex:none}.hud{text-align:center;grid-template-columns:1fr;justify-items:center;gap:10px;padding-top:32px}.hud-start,.hud-end{align-items:center;gap:10px}.hud-start{order:1}.recommend{order:2;min-height:46px}.hud-end{order:3}.key-item{min-height:32px;font-size:var(--step-small);gap:7px;padding:0 10px 0 9px}.key-long{display:none}.tip{bottom:calc(env(safe-area-inset-bottom) + 112px)}.sheet:not(.thanks){width:100vw;max-width:100vw;max-height:calc(100svh - 24px);margin:auto 0 0}.sheet:not(.thanks) .sheet-panel{max-height:calc(100svh - 24px);padding-bottom:env(safe-area-inset-bottom);border-radius:24px 24px 0 0}.picked{grid-template-columns:88px minmax(0,1fr)}.picked-cover{width:88px}.hint,.title p{font-size:var(--step-small)}.links{font-size:var(--step-small);justify-self:center}.card-inner{grid-template-columns:1fr;gap:20px;padding:20px}.card-cover{width:52%;margin:0 auto}.shelf-view{padding-top:196px}.spine-author{display:none}}
