:root{--bg: #f4f0ea;--surface: rgba(255,255,255,.55);--text: #1a1a1a;--muted: #6b6b6b;--border: rgba(0, 0, 0, .1);--nav-bg: rgba(244, 240, 234, .88);--hover-bg: rgba(255,255,255,.35);--media-bg: rgba(255,255,255,.35);--dot: rgba(0,0,0,.03);--script-color: rgba(0,0,0,.45);--code-bg: rgba(0,0,0,.04);--code-keyword: #8a3b12;--code-string: #4b6b3a;--code-number: #705a9c;--code-title: #1f5f8b;--code-attr: #a3701f;--status-planned-fg: #57534e;--status-planned-bg: rgba(0,0,0,.07);--status-inprogress-fg: #92400e;--status-inprogress-bg: rgba(217,119,6,.16);--status-beta-fg: #1e40af;--status-beta-bg: rgba(37,99,235,.14);--status-live-fg: #166534;--status-live-bg: rgba(22,163,74,.14);--serif: "Playfair Display", ui-serif, Georgia, serif;--sans: "Inter", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;--script: "Allura", cursive;--max: 980px;--radius: 20px}:root[data-theme=dark]{--bg: #1a1712;--surface: rgba(255,250,240,.06);--text: #f2ece0;--muted: #a49a89;--border: rgba(255,255,255,.12);--nav-bg: rgba(26, 23, 18, .88);--hover-bg: rgba(255,255,255,.08);--media-bg: rgba(255,255,255,.05);--dot: rgba(255,255,255,.035);--script-color: rgba(255,255,255,.4);--code-bg: rgba(255,255,255,.05);--code-keyword: #e39a63;--code-string: #b7d495;--code-number: #c9a6f2;--code-title: #8ec9e8;--code-attr: #f0cf7a;--status-planned-fg: #d6cfc0;--status-planned-bg: rgba(255,255,255,.09);--status-inprogress-fg: #fbbf24;--status-inprogress-bg: rgba(251,191,36,.18);--status-beta-fg: #60a5fa;--status-beta-bg: rgba(96,165,250,.18);--status-live-fg: #4ade80;--status-live-bg: rgba(74,222,128,.18)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #1a1712;--surface: rgba(255,250,240,.06);--text: #f2ece0;--muted: #a49a89;--border: rgba(255,255,255,.12);--nav-bg: rgba(26, 23, 18, .88);--hover-bg: rgba(255,255,255,.08);--media-bg: rgba(255,255,255,.05);--dot: rgba(255,255,255,.035);--script-color: rgba(255,255,255,.4);--code-bg: rgba(255,255,255,.05);--code-keyword: #e39a63;--code-string: #b7d495;--code-number: #c9a6f2;--code-title: #8ec9e8;--code-attr: #f0cf7a;--status-planned-fg: #d6cfc0;--status-planned-bg: rgba(255,255,255,.09);--status-inprogress-fg: #fbbf24;--status-inprogress-bg: rgba(251,191,36,.18);--status-beta-fg: #60a5fa;--status-beta-bg: rgba(96,165,250,.18);--status-live-fg: #4ade80;--status-live-bg: rgba(74,222,128,.18)}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.7;letter-spacing:.01em;background-image:radial-gradient(var(--dot) 1px,transparent 0);background-size:22px 22px}a{color:inherit;text-decoration:none}a:hover{opacity:.85;text-decoration:underline}.container{max-width:var(--max);margin:0 auto;padding:34px 18px}.card{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);padding:18px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}a.card{display:block}.nav{border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--nav-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10}.navInner{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.navLinks{display:flex;flex:1 1 auto;flex-wrap:wrap;gap:16px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;justify-content:center}.navLinks a{opacity:.88}.navLinks a.navLink-active{opacity:1;text-decoration:underline}.navHamburger{display:none;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:50%;background:transparent;color:var(--text);cursor:pointer}.navHamburger:hover{background:var(--hover-bg)}@media(max-width:800px){.navHamburger{display:inline-flex}.navLinks{display:none;flex-basis:100%;flex-direction:column;align-items:center;gap:14px;padding:14px 0 4px}.navLinks.navLinks-open{display:flex;position:absolute;top:100%;left:0;right:0;background:var(--nav-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding:14px 0 18px;box-shadow:0 8px 20px #00000014}.themeToggle{margin-left:auto}}.themeToggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text);font-size:14px;line-height:1;cursor:pointer}.themeToggle:hover{background:var(--hover-bg)}.brand{font-family:var(--serif);letter-spacing:.04em;font-size:18px}.h1{font-family:var(--serif);font-size:52px;line-height:1.05;letter-spacing:-.02em;margin:0 0 10px;text-align:center}@media(max-width:560px){.h1{font-size:34px}}.h2{font-family:var(--serif);font-size:26px;margin:0 0 10px}.title{font-weight:700}.muted{color:var(--muted)}.mb-0{margin-bottom:0}.row-between{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:center}.script{font-family:var(--script);font-size:34px;color:var(--script-color)}.btn{display:inline-block;border:1px solid var(--border);border-radius:999px;padding:10px 16px;background:transparent;color:inherit;font:inherit;font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.btn:hover{background:var(--hover-bg);text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.field{display:grid;gap:6px}.field-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}input[type=text],input[type=password],textarea{font-family:inherit;font-size:14px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 12px}textarea{resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}input[type=text]:focus,input[type=password]:focus,textarea:focus{outline:2px solid var(--text);outline-offset:1px}.icon-link{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:50%;color:var(--text);margin-right:8px}.icon-link:hover{background:var(--hover-bg)}.tooltip-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid var(--border);border-radius:50%;color:var(--muted);cursor:help;vertical-align:middle}.tooltip-bubble{visibility:hidden;opacity:0;position:absolute;z-index:10;bottom:calc(100% + 8px);right:0;width:220px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--nav-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--text);font-size:12px;line-height:1.4;text-transform:none;letter-spacing:normal;text-align:left;transition:opacity .15s ease;pointer-events:none}.tooltip-wrap:hover .tooltip-bubble,.tooltip-wrap:focus-visible .tooltip-bubble{visibility:visible;opacity:1}@media(max-width:480px){.tooltip-bubble{right:auto;left:50%;transform:translate(-50%);width:min(220px,calc(100vw - 48px))}}.pill{display:inline-block;border:1px solid var(--border);border-radius:999px;padding:6px 10px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-right:8px;margin-bottom:8px}.status-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;border:1px solid currentColor;white-space:nowrap}.status-planned{color:var(--status-planned-fg);background:var(--status-planned-bg)}.status-inprogress{color:var(--status-inprogress-fg);background:var(--status-inprogress-bg)}.status-beta{color:var(--status-beta-fg);background:var(--status-beta-bg)}.status-live{color:var(--status-live-fg);background:var(--status-live-bg)}.pill-filter{cursor:pointer;appearance:none;background:none;color:inherit;font-family:inherit}.pill-active{font-weight:700}.pill-list{display:flex;flex-wrap:wrap;gap:8px}.pill-list .pill{margin:0}@media(max-width:560px){.pill-list{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.pill-list::-webkit-scrollbar{display:none}.pill-list .pill{flex:0 0 auto}}.status-filter{display:flex;flex-wrap:wrap;gap:8px}.status-filter .pill{margin:0}@media(max-width:560px){.status-filter{justify-content:center}}.details-toggle{appearance:none;background:none;border:none;padding:0;color:var(--muted);font-family:inherit;font-size:12px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.details-toggle:hover{color:var(--text)}.details-panel{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.details-panel p{margin:0 0 10px;font-size:14px}.details-section+.details-section{margin-top:12px}.details-heading{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.details-panel ul{margin:0;padding-left:18px}.details-panel li{font-size:14px;margin-bottom:6px}.details-panel li:last-child{margin-bottom:0}.quicklinks{display:flex;flex-wrap:wrap;gap:14px;margin:10px 0 4px}.quicklink{display:flex;align-items:center;gap:6px;font-size:13px}.quicklink:hover{text-decoration:underline}@media(max-width:719px){.quicklinks{flex-wrap:nowrap}.quicklink span{display:none}}.timeline{margin:16px 0 20px}.timeline-item{position:relative}.timeline-marker{position:absolute;left:0;top:4px;width:9px;height:9px;border-radius:50%;background:var(--surface);border:2px solid var(--text)}.timeline-role{font-weight:700}.timeline-date{font-size:12px;margin-top:2px}.timeline-desktop{display:none}.timeline-steps-icon{display:flex;align-items:center;justify-content:center;height:18px;margin-bottom:6px;color:var(--muted)}.timeline-logo{width:18px;height:18px;border-radius:50%;object-fit:cover;background:var(--surface);border:1px solid var(--border)}.timeline-gantt-logos{display:flex;gap:4px;margin-bottom:4px}.timeline-logo-row{display:flex;justify-content:center;gap:4px;margin-bottom:6px}.timeline-org,.timeline-overlap-bar .timeline-role{white-space:nowrap}.timeline-spine{display:grid;grid-template-columns:repeat(5,1fr);row-gap:14px;margin:16px 0 20px;padding:0 42px 0 4px}.timeline-spine-bar{grid-row:1;grid-column:1 / 4;position:relative}.timeline-gantt-label{font-size:11px;font-weight:700;color:var(--muted);margin-bottom:6px}.timeline-gantt-track{position:relative;height:1px;background:var(--border);border-radius:1px}.timeline-gantt-diamond{position:absolute;top:50%;left:0;width:7px;height:7px;background:var(--surface);border:1px solid var(--border);transform:translate(-50%,-50%) rotate(45deg)}.timeline-gantt-diamond--end{left:100%}.timeline-gantt-stem{position:absolute;top:100%;width:1px;height:14px;background:var(--border)}.timeline-gantt-stem--start{left:0}.timeline-gantt-stem--end{left:100%}.timeline-spine-line{grid-row:2;grid-column:1 / 6;position:relative;height:3px;background:var(--muted);border-radius:2px}.timeline-line-segment{position:absolute;top:0;bottom:0;border-radius:2px}.timeline-spine-item{grid-row:3;justify-self:end;transform:translate(50%);position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;max-width:84px}.timeline-spine-item:before{content:"";position:absolute;left:50%;bottom:100%;width:1px;height:14px;background:var(--border);transform:translate(-50%)}.timeline-step-year{margin-top:4px;font-size:10px;color:var(--muted)}.timeline-step-title{margin-top:4px;font-size:11px;font-weight:700;line-height:1.25;max-width:84px}@media(min-width:720px){.timeline-spine{display:none}.timeline-desktop{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));row-gap:34px}.timeline-desktop .timeline-item{grid-row:2;padding-left:0;padding-top:22px;padding-bottom:0;text-align:center}.timeline-employer-line{grid-row:2;grid-column:1 / 5;position:relative;top:8px;height:2px}.timeline-desktop .timeline-marker{left:50%;top:4px;transform:translate(-50%)}.timeline-desktop .timeline-content{display:block;padding:0 6px}.timeline-overlap-bar{grid-row:1;grid-column:1;position:relative;text-align:center}.timeline-overlap-track{position:absolute;left:-22%;right:-22%;bottom:-14px;height:8px;border:1px dashed var(--border);border-radius:999px;background:var(--surface)}.timeline-overlap-bar:after{content:"";position:absolute;left:50%;bottom:-34px;width:1px;height:34px;border-left:1px dashed var(--border);transform:translate(-50%)}}.grid{display:grid;gap:18px}.grid-sm{gap:14px}.grid-lg{gap:28px}.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:900px){.grid2{grid-template-columns:minmax(0,1fr)}}.about-card{display:flow-root}.media{float:left;width:220px;margin:0 20px 12px 0;border:1px solid var(--border);border-radius:var(--radius);background:var(--media-bg);overflow:hidden}.media img{width:100%;height:auto;display:block;filter:saturate(.95) contrast(.95)}.hero-photo{display:none}@media(max-width:640px){.about-card .media{display:none}.hero-photo{display:block;width:100%;max-width:220px;height:240px;margin:16px auto 0;border:1px solid var(--border);border-radius:var(--radius);background:var(--media-bg);overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%;display:block;filter:saturate(.95) contrast(.95)}}.note-content img{max-width:100%;height:auto;display:block;margin:16px 0;border-radius:var(--radius);border:1px solid var(--border)}.note-content p:first-of-type img{width:100%;max-height:260px;object-fit:cover}.note-content p:nth-of-type(2){display:contents}.note-content p:nth-of-type(2) img{float:right;height:160px;width:auto;max-width:45%;margin:0 0 8px 20px}.note-content h2{clear:both}.note-content table{display:block;width:100%;overflow-x:auto;border-collapse:collapse;margin:16px 0;font-size:14px}.note-content th,.note-content td{text-align:left;padding:8px 12px;border:1px solid var(--border);vertical-align:top}.note-content th{background:var(--hover-bg);font-weight:700}@media(max-width:560px){.note-content p:nth-of-type(2) img{float:none;width:100%;max-width:100%;height:auto;margin:16px 0}}.image-carousel{position:relative;margin:8px 0}.image-carousel-track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:12px}.image-carousel-track::-webkit-scrollbar{display:none}.image-carousel-item{flex:0 0 auto;scroll-snap-align:start;height:200px;width:auto;max-width:320px;object-fit:cover;border:1px solid var(--border);border-radius:12px;background:var(--media-bg);cursor:pointer}.image-carousel-nav{position:absolute;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);border-radius:50%;background:var(--nav-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--text);cursor:pointer}.image-carousel-nav:hover{background:var(--hover-bg)}.image-carousel-nav-prev{left:4px}.image-carousel-nav-next{right:4px}.lightbox-backdrop{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:100;cursor:pointer}.lightbox-viewport{display:flex;align-items:center;justify-content:center}.lightbox-viewport-zoomed{max-width:92vw;max-height:92vh;overflow:auto;align-items:flex-start;justify-content:flex-start;cursor:grab}.lightbox-viewport-zoomed:active{cursor:grabbing}.lightbox-image{max-width:70vw;max-height:70vh;object-fit:contain;border-radius:8px;cursor:zoom-in;box-shadow:0 20px 60px #00000080;display:block}.lightbox-image-zoomed{max-width:none;max-height:none;width:auto;height:auto;cursor:zoom-out}.lightbox-close{position:absolute;top:16px;right:20px;background:none;border:none;color:#fff;font-size:32px;line-height:1;cursor:pointer}.lightbox-zoom-out{position:absolute;top:20px;left:20px;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:#ffffff14;color:#fff;cursor:pointer}.lightbox-zoom-out:hover{background:#ffffff2e}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:#ffffff14;color:#fff;cursor:pointer}.lightbox-nav:hover{background:#ffffff2e}.lightbox-nav-prev{left:20px}.lightbox-nav-next{right:20px}@media(max-width:560px){.lightbox-nav-prev{left:8px}.lightbox-nav-next{right:8px}}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}:not(pre)>code{background:var(--code-bg);border-radius:4px;padding:.15em .4em}pre{background:var(--code-bg);border:1px solid var(--border);border-radius:12px;padding:14px 16px;overflow-x:auto}pre code{background:none;padding:0}.hljs-keyword,.hljs-selector-tag,.hljs-literal{color:var(--code-keyword)}.hljs-string,.hljs-regexp{color:var(--code-string)}.hljs-number{color:var(--code-number)}.hljs-title,.hljs-title.function_,.hljs-built_in{color:var(--code-title)}.hljs-attr,.hljs-attribute,.hljs-property{color:var(--code-attr)}.hljs-comment{color:var(--muted);font-style:italic}.admin-link{justify-self:end;font-size:12px;color:var(--muted);opacity:.6;text-decoration:none}.admin-link:hover,.admin-link:focus-visible{opacity:1;text-decoration:underline}.note-content blockquote{margin:0 0 1em;padding:12px 16px;background:var(--code-bg);border:1px solid var(--border);border-radius:12px;color:var(--muted);font-size:.95em}.note-content blockquote>:last-child{margin-bottom:0}.note-content blockquote>:first-child{margin-top:0}:root{--wood-top: #9a7352;--wood: #7a563a;--wood-dark: #5a3d28;--shelf-shadow: rgba(60, 40, 20, .18)}:root[data-theme=dark]{--wood-top: #7d5d42;--wood: #5e422c;--wood-dark: #3f2b1c;--shelf-shadow: rgba(0, 0, 0, .45)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--wood-top: #7d5d42;--wood: #5e422c;--wood-dark: #3f2b1c;--shelf-shadow: rgba(0, 0, 0, .45)}}.shelf{--shelf-h: 150px;--cover-w: 100px;--plank: 14px;--row-gap: 46px;display:flex;flex-wrap:wrap;align-items:flex-end;column-gap:3px;row-gap:var(--row-gap);margin-top:40px;padding:0 18px calc(var(--row-gap) - 10px);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent var(--shelf-h),var(--wood-top) var(--shelf-h),var(--wood-top) calc(var(--shelf-h) + 4px),var(--wood) calc(var(--shelf-h) + 4px),var(--wood-dark) calc(var(--shelf-h) + var(--plank)),var(--shelf-shadow) calc(var(--shelf-h) + var(--plank)),transparent calc(var(--shelf-h) + var(--plank) + 16px),transparent calc(var(--shelf-h) + var(--row-gap)));border-radius:4px}.shelf-slot{position:relative;height:var(--shelf-h);display:flex;align-items:flex-end}.shelf-slot-active{z-index:5}.shelf-decor{padding:0 10px}.shelf-decor svg{display:block}.book{position:relative;display:block;padding:0;border:0;font:inherit;color:var(--book-ink);background:var(--book-color);cursor:pointer;transform-origin:bottom center;transition:transform .25s ease,opacity .25s ease,filter .25s ease,box-shadow .25s ease}.book:focus-visible{outline:2px solid var(--text);outline-offset:3px}.shelf-slot-active .book{transform:translateY(-10px)}.book-dimmed{opacity:.22;filter:grayscale(.7);cursor:default}.book-spine{width:var(--spine-w);height:var(--spine-h);border-radius:2px 2px 1px 1px;box-shadow:inset 2px 0 #ffffff24,inset -2px 0 #0000002e,0 1px 2px #0003;background-image:linear-gradient(to bottom,transparent 10%,rgba(0,0,0,.12) 10%,rgba(0,0,0,.12) 11%,transparent 11%,transparent 89%,rgba(0,0,0,.12) 89%,rgba(0,0,0,.12) 90%,transparent 90%),linear-gradient(to right,#00000014,#ffffff14 40%,#0000001a);overflow:hidden}.book-spine-text{position:absolute;inset:9% 2px;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;font-family:var(--serif);font-size:10px;font-weight:600;line-height:1.15;letter-spacing:.05em;text-align:center;text-transform:uppercase;overflow:hidden}.book-cover{width:var(--cover-w);height:calc(var(--cover-w) * 1.48);max-height:calc(var(--shelf-h) - 4px);margin:0 10px;border-radius:2px 4px 4px 2px;overflow:hidden;box-shadow:0 6px 14px #00000038,0 1px 2px #00000040}.book-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,.25) 0,rgba(255,255,255,.18) 3px,transparent 7px,transparent 70%,rgba(255,255,255,.08));pointer-events:none}.shelf-slot-active .book-cover{box-shadow:0 14px 24px #00000047,0 1px 2px #00000040}.book-cover-img{width:100%;height:100%;object-fit:cover;display:block}.book-cover-art{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:12px 9px 9px 12px;text-align:center;overflow:hidden}.book-cover-art:before{content:"";position:absolute;pointer-events:none}.book-cover-art-0:before{left:50%;top:52%;width:46%;aspect-ratio:1;border-radius:50%;border:2px solid currentColor;opacity:.35;transform:translate(-50%,-50%)}.book-cover-art-1:before{left:0;right:0;top:46%;height:18%;background:currentColor;opacity:.16}.book-cover-art-2:before{inset:6px 6px 6px 9px;border:1px solid currentColor;opacity:.4}.book-cover-title{position:relative;font-family:var(--serif);font-size:11px;font-weight:600;line-height:1.15;text-transform:uppercase;letter-spacing:.04em}.book-cover-author{position:relative;font-size:8px;letter-spacing:.12em;text-transform:uppercase;opacity:.8}.book-cover-art-large{padding:22px 16px 16px 20px}.book-cover-art-large .book-cover-title{font-size:14px;letter-spacing:.02em;-webkit-hyphens:auto;hyphens:auto}.book-cover-art-large .book-cover-author{font-size:11px}.book-ribbon{position:absolute;top:0;right:6px;width:8px;height:18px;background:#c0392b;clip-path:polygon(0 0,100% 0,100% 100%,50% 75%,0 100%);z-index:1}.book-spine .book-ribbon{right:auto;left:50%;transform:translate(-50%);width:7px}.book-ribbon-legend{position:relative;display:inline-block;right:auto;vertical-align:-3px;margin-right:4px}.shelf-legend{font-size:13px;margin:0}.book-tooltip{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(calc(-50% + var(--tip-shift, 0px)));width:max-content;max-width:240px;padding:12px 16px;border:1px solid var(--border);border-radius:14px;background:var(--nav-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 30px #00000024;color:var(--text);line-height:1.35;animation:book-tooltip-in .18s ease}.book-tooltip:before{content:"";position:absolute;left:0;right:0;top:100%;height:16px}.book-tooltip:after{content:"";position:absolute;top:100%;left:calc(50% - var(--tip-shift, 0px));width:10px;height:10px;background:var(--nav-bg);border-right:1px solid var(--border);border-bottom:1px solid var(--border);transform:translate(-50%,-50%) rotate(45deg)}.book-tooltip-title{font-size:14px;letter-spacing:.06em;text-transform:uppercase}.book-tooltip-author{font-size:13px;margin-top:2px}.book-tooltip-link{appearance:none;margin-top:6px;padding:0;border:0;background:none;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}.book-tooltip-link:hover{color:var(--text);text-decoration:underline}@keyframes book-tooltip-in{0%{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}.book-modal-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:18px;background:#00000073}.book-modal{position:relative;display:flex;gap:24px;width:min(680px,100%);max-height:calc(100vh - 36px);overflow-y:auto;background:var(--bg);padding:26px;animation:book-tooltip-in .2s ease}.book-modal-close{position:absolute;top:8px;right:12px;border:0;background:none;color:var(--muted);font-size:28px;line-height:1;cursor:pointer}.book-modal-close:hover{color:var(--text)}.book-modal-cover{position:relative;flex:0 0 auto;width:170px;height:250px;border-radius:3px 6px 6px 3px;overflow:hidden;color:var(--book-ink);background:var(--book-color);box-shadow:0 14px 30px #00000040}.book-modal-body{min-width:0}.book-modal-body .h2{line-height:1.2;padding-right:20px}.book-modal-body p{margin:12px 0}.book-modal-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.book-modal-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.book-status{display:inline-block;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border:1px solid currentColor}.book-status-recommended{color:#c0392b;background:#c0392b1f}@media(max-width:560px){.shelf{--shelf-h: 120px;--cover-w: 72px;--row-gap: 40px;padding-left:10px;padding-right:10px}.book-cover{margin:0 6px}.book-cover-title{font-size:8px;letter-spacing:.01em;-webkit-hyphens:auto;hyphens:auto}.book-cover-author{font-size:7px}.book-spine-text{font-size:8.5px}.shelf-decor{padding:0 6px}.shelf-decor svg{width:30px;height:auto}.book-modal{flex-direction:column;align-items:center;padding:22px 18px}.book-modal-cover{width:130px;height:192px}}@media(prefers-reduced-motion:reduce){.book,.book-tooltip,.book-modal{transition:none;animation:none}}.category-filter .pill{text-transform:none;letter-spacing:.02em;font-size:13px}.book-modal-categories{font-size:13px;margin-top:-4px}.book-modal-podcasts{display:grid;gap:8px;margin-top:14px}.book-modal-podcasts iframe{display:block;border:0;border-radius:12px}.book-modal-links{align-items:center}.deepstash-link{display:inline-flex;border-radius:999px;overflow:hidden;transition:transform .15s ease}.deepstash-link:hover{opacity:1;transform:translateY(-1px)}.deepstash-link img{display:block;width:auto;height:40px}
