:root{--teal: #02aab0;--mint: #00cdac;--bg: #0b0b14;--panel: #14121f;--panel-2: #1a1730;--ink: #f2f4f8;--muted: #a7adc0;--faint: #6b7186;--ink-strong: #ffffff;--accent-ink: #16c0c6;--line: rgba(255, 255, 255, .1);--line-2: rgba(255, 255, 255, .16);--chip-bg: rgba(255, 255, 255, .04);--sel-bg: rgba(2, 170, 176, .1);--bar-bg: rgba(11, 11, 20, .82);--grad: linear-gradient(120deg, #02aab0, #00cdac);--serif: "Fraunces", Georgia, serif;--mono: "JetBrains Mono", ui-monospace, Menlo, monospace;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}:root[data-theme=light]{--bg: #f7f8fb;--panel: #ffffff;--panel-2: #f0f2f6;--ink: #1a1e2b;--muted: #566072;--faint: #8a93a3;--ink-strong: #0b0e17;--accent-ink: #06868b;--line: rgba(15, 22, 40, .1);--line-2: rgba(15, 22, 40, .15);--chip-bg: #eef1f6;--sel-bg: rgba(2, 170, 176, .08);--bar-bg: rgba(247, 248, 251, .88)}.theme-toggle{background:none;border:1px solid var(--line-2);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted);flex-shrink:0;transition:color .3s ease,border-color .3s ease,background .3s ease,transform .3s cubic-bezier(.16,1,.3,1)}.theme-toggle:hover{color:var(--ink);border-color:var(--accent-ink);background:var(--panel-2);transform:rotate(20deg) scale(1.08)}.theme-toggle__icon{display:inline-flex;align-items:center;justify-content:center;animation:theme-icon-in .45s cubic-bezier(.16,1,.3,1);will-change:transform}@keyframes theme-icon-in{0%{opacity:0;transform:rotate(-140deg) scale(.3)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes theme-reveal{0%{clip-path:circle(0% at var(--theme-x, 50%) var(--theme-y, 0))}to{clip-path:circle(150% at var(--theme-x, 50%) var(--theme-y, 0))}}html.theme-transition::view-transition-old(root){animation:none}html.theme-transition::view-transition-new(root){animation:theme-reveal .5s cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--sans);color:var(--ink);line-height:1.6;background:radial-gradient(1100px 620px at 12% -6%,rgba(2,170,176,.12),transparent 60%),radial-gradient(900px 560px at 92% 4%,rgba(0,205,172,.09),transparent 60%),var(--bg);min-height:100vh;padding-bottom:4rem}a{color:var(--accent-ink);text-decoration:none}a:hover{text-decoration:underline}.bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;background:var(--bar-bg);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.bar__back{font-family:var(--mono);font-size:.8rem;color:var(--muted);letter-spacing:.02em}.bar__back:hover{color:var(--ink);text-decoration:none}.bar__actions{display:flex;align-items:center;gap:.6rem}.btn{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--mono);font-size:.78rem;font-weight:600;letter-spacing:.03em;padding:.55rem 1rem;border-radius:99px;white-space:nowrap;cursor:pointer;border:1px solid var(--line-2);transition:transform .2s ease,box-shadow .2s ease}.btn--solid{background:var(--grad);color:#04121a;border-color:transparent}.btn--ghost{background:transparent;color:var(--ink)}.btn:hover{transform:translateY(-1px);text-decoration:none}.btn--solid:hover{box-shadow:0 6px 18px #02aab059;color:#04121a}.book{max-width:860px;margin:0 auto;padding:3rem 1.5rem 0}.head{text-align:center;margin-bottom:2.4rem}.head__title{font-family:var(--serif);font-weight:600;font-size:3rem;line-height:1.02;letter-spacing:-.01em}.head__title em{font-style:italic;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.head__lede{font-size:1.1rem;color:var(--muted);margin:.9rem auto 0;max-width:54ch}.head__lede strong{color:var(--ink);font-weight:600}.dur{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-bottom:2rem}.dur__opt{position:relative;display:flex;flex-direction:column;gap:.3rem;text-align:left;cursor:pointer;font-family:var(--sans);padding:1.1rem 1rem 1.15rem;border-radius:14px;border:1px solid var(--line-2);background:var(--chip-bg);color:var(--ink);transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}.dur__opt:hover{transform:translateY(-2px);border-color:var(--accent-ink)}.dur__opt[aria-selected=true]{border-color:var(--teal);background:var(--sel-bg);box-shadow:0 0 0 1px var(--teal),0 10px 26px #02aab029}.dur__opt:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.dur__mins{font-family:var(--serif);font-weight:600;font-size:1.7rem;line-height:1;color:var(--ink-strong)}.dur__unit{font-family:var(--mono);font-size:.72rem;font-weight:600;color:var(--muted);margin-left:.28rem}.dur__opt[aria-selected=true] .dur__mins{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.dur__label{font-size:.92rem;font-weight:600;color:var(--ink)}.dur__blurb{font-size:.8rem;color:var(--muted);line-height:1.4}.dur__badge{position:absolute;top:-.6rem;right:.7rem;font-family:var(--mono);font-size:.62rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.18rem .5rem;border-radius:99px;color:#04121a;background:var(--grad)}.stage{border:1px solid var(--line);border-radius:16px;background:var(--panel);overflow:hidden}.panel{min-height:640px}.panel .zcal-inline-widget{min-width:320px;width:100%;min-height:640px}.panel .zcal-inline-widget>a{display:inline-block;margin:2rem;color:var(--accent-ink);font-family:var(--mono);font-weight:600}.fallback{text-align:center;font-family:var(--mono);font-size:.78rem;color:var(--faint);margin-top:1.4rem;line-height:1.9}.fallback a{color:var(--muted)}.bar__back-short{display:none}@media(max-width:720px){.dur{grid-template-columns:1fr 1fr}.head__title{font-size:2.4rem}}@media(max-width:480px){.bar{padding:.6rem .9rem}.bar__back-full{display:none}.bar__back-short{display:inline}.btn{padding:.5rem .85rem;font-size:.73rem}.book{padding:2rem 1.1rem 0}.dur{grid-template-columns:1fr 1fr;gap:.6rem}.dur__opt{padding:.9rem .85rem 1rem}.dur__mins{font-size:1.45rem}.panel,.panel .zcal-inline-widget{min-height:600px}}
