.paywall-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:var(--space-lg)}.paywall-modal__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000a6;animation:paywall-modal-fade .18s ease-out}@keyframes paywall-modal-fade{0%{opacity:0}to{opacity:1}}.paywall-modal__sheet{position:relative;width:100%;max-width:480px;max-height:calc(100vh - 2 * var(--space-lg));overflow-y:auto;background:var(--bg);border:var(--hairline) solid var(--muted);padding:var(--space-xxl) var(--space-xl) var(--space-xl);box-shadow:0 12px 48px #0009;animation:paywall-modal-rise .22s cubic-bezier(.22,1,.36,1)}@keyframes paywall-modal-rise{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.paywall-modal__close{position:absolute;top:var(--space-md);right:var(--space-md);background:transparent;border:0;padding:var(--space-xs);color:var(--fg-dim);cursor:pointer;transition:color .12s ease}.paywall-modal__close:hover{color:var(--fg)}.paywall-modal__h{margin:var(--space-md) 0 0;font-family:var(--font-display);font-size:clamp(24px,4vw,32px);font-weight:500;text-transform:uppercase;line-height:1.05;letter-spacing:0}.paywall-modal__card{margin-top:var(--space-xl);padding:var(--space-lg);border:var(--hairline) solid var(--accent)}.paywall-modal__price-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md)}.paywall-modal__price-title{font-family:var(--font-ui);font-weight:500;font-size:18px;color:var(--accent);flex-shrink:1}.paywall-modal__pitch{margin-top:var(--space-md)}.paywall-modal__trial{margin-top:var(--space-md);color:var(--fg-dim)}.paywall-modal__err{margin-top:var(--space-lg);color:var(--accent);font-family:var(--font-mono);font-size:12px;letter-spacing:2px;text-transform:uppercase}.paywall-modal__actions{margin-top:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-md)}.paywall-modal__primary{width:100%}.paywall-modal__store-row{margin-top:var(--space-lg);display:flex;flex-wrap:wrap;gap:var(--space-md)}.paywall-modal__legal{margin-top:var(--space-lg);font-size:12px;line-height:1.55;color:var(--fg-dim)}.paywall-modal__legal a{color:var(--fg-dim);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.paywall-modal__legal a:hover{color:var(--fg)}.paywall-modal__maybe{display:block;margin:var(--space-xl) auto 0;background:transparent;border:0;padding:var(--space-md);color:var(--fg-dim);font-family:var(--font-mono);font-size:11px;letter-spacing:2.5px;text-transform:uppercase;cursor:pointer;transition:color .12s ease}.paywall-modal__maybe:hover{color:var(--fg)}.mini-player{position:fixed;left:0;right:0;bottom:var(--bottom-nav-height);height:var(--mini-player-height);background:var(--bg-elevated);border-top:var(--hairline) solid var(--muted);display:flex;align-items:center;padding:0 var(--space-md);gap:var(--space-md);z-index:50;touch-action:pan-x;-webkit-user-select:none;user-select:none}.mini-player__main{flex:1;display:flex;align-items:center;gap:var(--space-md);min-width:0;background:transparent;border:0;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer}.mini-player__cover-wrap{width:40px;height:40px;flex-shrink:0}.mini-player__text{display:flex;flex-direction:column;min-width:0;gap:2px}.mini-player__title{font-family:var(--font-ui);font-weight:500;font-size:14px;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-player__controls{display:flex;gap:var(--space-sm);flex-shrink:0}.mini-player__btn{background:transparent;border:0;color:var(--fg);padding:var(--space-sm);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:color .12s ease}.mini-player__btn:hover{color:var(--accent)}.app-header{position:sticky;top:0;background:var(--bg);border-bottom:var(--hairline) solid var(--muted);z-index:40;padding:var(--space-md) clamp(16px,4vw,32px);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.app-header__brand{display:inline-flex;align-items:center;gap:var(--space-md);color:var(--fg-dim)}.app-header__brand:hover{color:var(--fg)}.app-header__status{display:inline-flex;align-items:center;gap:var(--space-xs)}.app-header__status--btn{background:transparent;border:0;padding:var(--space-xs) var(--space-sm);color:var(--fg-dim);transition:color .12s ease}.app-header__status--btn:hover{color:var(--fg)}.top-nav{display:none;position:relative}.top-nav__item{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-xs) var(--space-md);color:var(--fg-dim);text-transform:uppercase;letter-spacing:1.5px;font-family:var(--font-mono);font-size:11px;position:relative;transition:color .12s ease}.top-nav__item:hover{color:var(--fg)}.top-nav__item--active{color:var(--accent);font-weight:700}.top-nav__glow{position:absolute;top:50%;bottom:-18px;left:0;pointer-events:none;background:radial-gradient(ellipse at center bottom,color-mix(in oklab,var(--accent) 14%,transparent) 0%,transparent 70%);transition:transform .32s cubic-bezier(.22,1,.36,1),width .32s cubic-bezier(.22,1,.36,1),opacity .2s ease}.top-nav__glow--hidden{opacity:0}@media(min-width:800px){.top-nav{display:flex;align-items:center;gap:var(--space-md)}.bottom-nav{display:none}.scroll-area{padding-bottom:calc(var(--mini-player-height) + var(--space-md))}}.bottom-nav{position:fixed;left:0;right:0;bottom:0;height:var(--bottom-nav-height);background:var(--bg);border-top:var(--hairline) solid var(--muted);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));z-index:60}.bottom-nav__item{display:flex;align-items:center;justify-content:center;color:var(--fg-dim);text-transform:uppercase;letter-spacing:1.5px;font-family:var(--font-mono);font-size:11px;position:relative;transition:color .12s ease}.bottom-nav__item:hover{color:var(--fg)}.bottom-nav__item--active{color:var(--accent);font-weight:700}.bottom-nav__glow{position:absolute;inset:0 auto 0 0;pointer-events:none;background:radial-gradient(ellipse at center bottom,color-mix(in oklab,var(--accent) 6%,transparent) 0%,transparent 70%);transition:transform .32s cubic-bezier(.22,1,.36,1),width .32s cubic-bezier(.22,1,.36,1),opacity .2s ease}.bottom-nav__glow--hidden{opacity:0}:root{--hairline: 1px;--space-xs: 4px;--space-sm: 10px;--space-md: 14px;--space-lg: 18px;--space-xl: 24px;--space-xxl: 32px;--space-xxxl: 40px;--space-huge: 64px;--font-display: "IBM Plex Sans", system-ui, sans-serif;--font-ui: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--mini-player-height: 56px;--bottom-nav-height: 56px}@media(min-width:800px){:root{--bottom-nav-height: 0px}}:root,[data-theme=specimen-dark]{--bg: #0a1216;--bg-elevated: #101a20;--fg: #e6eef2;--fg-dim: #62808c;--accent: #a8c8d4;--accent-2: #8ab2c0;--muted: #1c2832;color-scheme:dark}[data-theme=specimen-light]{--bg: #fcfcfc;--bg-elevated: #f3f4f5;--fg: #0a1216;--fg-dim: #5a6770;--accent: #2f6a7d;--accent-2: #9a7232;--muted: #dde0e2;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:var(--font-ui);font-weight:400;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}input,textarea,select{font:inherit;color:var(--fg);background:var(--bg-elevated);border:var(--hairline) solid var(--muted);border-radius:0;padding:var(--space-sm) var(--space-md)}img{max-width:100%;height:auto;display:block}.h1{font-family:var(--font-display);font-weight:500;font-size:clamp(28px,5vw,44px);line-height:1.05;text-transform:uppercase;letter-spacing:0;margin:0}.h2{font-family:var(--font-ui);font-weight:500;font-size:clamp(22px,3.4vw,32px);line-height:1.1;margin:0}.h3{font-family:var(--font-ui);font-weight:500;font-size:20px;line-height:1.25;margin:0}.body{font-family:var(--font-ui);font-size:15px;line-height:1.55;margin:0}.body-dim{font-family:var(--font-ui);font-size:15px;line-height:1.55;margin:0;color:var(--fg-dim)}.label-mono{font-family:var(--font-mono);font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--fg-dim)}.label-mono--accent{color:var(--accent)}.bracket{font-family:var(--font-mono);font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--fg-dim)}.hairline{border:0;border-top:var(--hairline) solid var(--muted);margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);border:0;border-radius:0;background:var(--accent);color:var(--bg);font-family:var(--font-ui);font-weight:500;font-size:14px;letter-spacing:.5px;text-decoration:none;transition:opacity .12s ease}.btn:hover:not(:disabled){opacity:.85}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--ghost{background:transparent;color:var(--fg);border:var(--hairline) solid var(--muted)}.btn--ghost:hover:not(:disabled){border-color:var(--accent);color:var(--accent);opacity:1}.app-shell{min-height:100vh;display:grid;grid-template-rows:1fr auto auto}.scroll-area{padding-bottom:calc(var(--mini-player-height) + var(--bottom-nav-height) + var(--space-md))}.section-padded{padding:var(--space-xl) clamp(20px,4vw,48px);max-width:1200px;margin:0 auto}.track-heart:hover{color:var(--accent)!important}.gradient-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.gradient-bg:before,.gradient-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.gradient-bg:before{background:linear-gradient(135deg,var(--bg) 0%,rgba(0,0,0,.35) 50%,var(--bg) 100%)}.gradient-bg:after{background:linear-gradient(-135deg,var(--bg) 0%,color-mix(in oklab,var(--accent) 7%,var(--bg)) 50%,var(--bg) 100%);animation:gradient-pulse 28s ease-in-out infinite}@keyframes gradient-pulse{0%,to{opacity:0}50%{opacity:1}}.dust{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:1}.dust__particle{position:absolute;border-radius:50%;background:radial-gradient(circle at center,#e6eef280,#e6eef22e 40%,#e6eef200);animation-name:dust-drift;animation-iteration-count:infinite;animation-direction:alternate;animation-timing-function:ease-in-out}@keyframes dust-drift{0%{transform:translate(0)}to{transform:translate(var(--dx, 30px),var(--dy, -20px))}}
