:root{--space-hair: 1px;--space-micro: .125rem;--space-xs: .25rem;--space-2xs: .375rem;--space-sm: .5rem;--space-sm-md: .75rem;--space-md: 1rem;--space-md-lg: 1.25rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem}:root{--radius-xs: .125rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px}:root{--font-serif: Georgia, "Times New Roman", serif;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.25rem;--text-xl: 1.563rem;--text-2xl: 1.953rem;--text-3xl: 2.441rem;--text-display: 3.052rem;--leading-tight: 1.2;--leading-normal: 1.5;--leading-relaxed: 1.7;--leading-reading: 1.8;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-caps: .06em}:root{--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .12);--shadow-xl: 0 8px 24px rgba(0, 0, 0, .15);--shadow-focus: 0 0 0 2px rgba(var(--brand-accent-rgb), .25);--shadow-focus-strong: 0 0 0 3px rgba(var(--brand-accent-rgb), .2)}:root{--z-base: 1;--z-above: 10;--z-sticky: 50;--z-header: 100;--z-dropdown: 200;--z-overlay: 998;--z-modal: 1000;--z-tooltip: 9999}:root{--duration-instant: 50ms;--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--duration-deliberate: .6s;--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55)}:root{--touch-target-min: 44px}:root{--width-narrow: 600px;--width-medium: 800px;--width-wide: 1200px;--width-max: 1440px}:root{--color-success: hsl(145, 60%, 40%);--color-success-bg: hsla(145, 60%, 40%, .12);--color-success-rgb: 46, 125, 50;--color-warning: hsl(38, 80%, 45%);--color-warning-bg: hsla(38, 80%, 45%, .12);--color-warning-rgb: 204, 143, 23;--color-error: hsl(0, 70%, 50%);--color-error-bg: hsla(0, 70%, 50%, .12);--color-error-rgb: 217, 38, 38;--color-info: hsl(200, 60%, 45%);--color-info-bg: hsla(200, 60%, 45%, .12);--color-info-rgb: 46, 133, 184}:root{--overlay-light: rgba(0, 0, 0, .4);--overlay-medium: rgba(0, 0, 0, .5);--overlay-heavy: rgba(0, 0, 0, .7)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:100%;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--brand-text);background-color:var(--brand-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.prose{font-family:var(--font-serif);line-height:var(--leading-reading);max-width:var(--width-medium)}.prose h1,.prose h2,.prose h3{font-family:var(--font-serif);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.prose h1{font-size:var(--text-3xl);margin-top:var(--space-3xl);margin-bottom:var(--space-lg)}.prose h2{font-size:var(--text-2xl);margin-top:var(--space-2xl);margin-bottom:var(--space-md)}.prose h3{font-size:var(--text-xl);margin-top:var(--space-xl);margin-bottom:var(--space-sm)}.prose p{margin-bottom:var(--space-md)}.prose blockquote{border-left:3px solid var(--brand-accent);padding-left:var(--space-md);margin:var(--space-lg) 0;color:var(--brand-text-secondary);font-style:italic}.prose code{font-family:var(--font-mono);font-size:.9em;background:var(--brand-code-bg);padding:var(--space-micro) var(--space-xs);border-radius:var(--radius-sm)}.prose pre{background:var(--brand-code-bg);padding:var(--space-md);border-radius:var(--radius-md);overflow-x:auto;-webkit-overflow-scrolling:touch}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root,[data-theme=parchment]{--brand-bg: #faf8f5;--brand-bg-rgb: 250, 248, 245;--brand-text: #1a1a1a;--brand-text-secondary: #4a4a4a;--brand-text-tertiary: #7a7a7a;--brand-text-muted: var(--brand-text-tertiary);--brand-accent: hsl(45, 55%, 52%);--brand-accent-hover: hsl(45, 55%, 44%);--brand-accent-text: #1a1a1a;--brand-accent-subtle: hsla(45, 55%, 52%, .12);--brand-accent-rgb: 189, 163, 72;--brand-surface: #ffffff;--brand-panel-bg: #ffffff;--brand-panel-bg-rgb: 255, 255, 255;--brand-border: #e0dcd5;--brand-border-subtle: #edeae4;--brand-hover: rgba(189, 163, 72, .08);--brand-code-bg: #f5f3ef;--brand-quote-bg: #f5f3ef;--brand-input-bg: #ffffff;--brand-input-border: var(--brand-border);--brand-input-focus-border: var(--brand-accent);--price-color: hsl(145, 50%, 35%);--price-strike: var(--brand-text-tertiary);color-scheme:light}[data-theme=light]{--brand-bg: #ffffff;--brand-bg-rgb: 255, 255, 255;--brand-text: #111111;--brand-text-secondary: #444444;--brand-text-tertiary: #888888;--brand-text-muted: var(--brand-text-tertiary);--brand-accent: hsl(45, 60%, 48%);--brand-accent-hover: hsl(45, 60%, 40%);--brand-accent-text: #111111;--brand-accent-subtle: hsla(45, 60%, 48%, .1);--brand-accent-rgb: 196, 163, 49;--brand-surface: #fafafa;--brand-panel-bg: #ffffff;--brand-panel-bg-rgb: 255, 255, 255;--brand-border: #e5e5e5;--brand-border-subtle: #f0f0f0;--brand-hover: rgba(0, 0, 0, .04);--brand-code-bg: #f8f8f8;--brand-quote-bg: #f8f8f8;--brand-input-bg: #ffffff;--brand-input-border: var(--brand-border);--brand-input-focus-border: var(--brand-accent);--price-color: hsl(145, 50%, 35%);--price-strike: var(--brand-text-tertiary);color-scheme:light}[data-theme=dark]{--brand-bg: #111111;--brand-bg-rgb: 17, 17, 17;--brand-text: #ececec;--brand-text-secondary: #a0a0a0;--brand-text-tertiary: #666666;--brand-text-muted: var(--brand-text-tertiary);--brand-accent: hsl(45, 50%, 42%);--brand-accent-hover: hsl(45, 50%, 50%);--brand-accent-text: #ffffff;--brand-accent-subtle: hsla(45, 50%, 42%, .15);--brand-accent-rgb: 161, 138, 54;--brand-surface: #1a1a1a;--brand-panel-bg: #141414;--brand-panel-bg-rgb: 20, 20, 20;--brand-border: #2a2a2a;--brand-border-subtle: #222222;--brand-hover: rgba(255, 255, 255, .06);--brand-code-bg: #1a1a1a;--brand-quote-bg: #1a1a1a;--brand-input-bg: var(--brand-surface);--brand-input-border: var(--brand-border);--brand-input-focus-border: var(--brand-accent);--price-color: hsl(145, 45%, 45%);--price-strike: var(--brand-text-tertiary);color-scheme:dark}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);min-height:var(--touch-target-min);padding:var(--space-sm) var(--space-md);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;line-height:var(--leading-normal);border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);text-decoration:none}.btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn--primary{background-color:var(--brand-accent);color:var(--brand-accent-text);border-color:var(--brand-accent)}.btn--primary:hover:not(:disabled){background-color:var(--brand-accent-hover);border-color:var(--brand-accent-hover)}.btn--secondary{background-color:transparent;color:var(--brand-text);border-color:var(--brand-border)}.btn--secondary:hover:not(:disabled){background-color:var(--brand-hover);border-color:var(--brand-accent)}.btn--ghost{background-color:transparent;color:var(--brand-text-secondary);border-color:transparent}.btn--ghost:hover:not(:disabled){background-color:var(--brand-hover);color:var(--brand-text)}.btn--sm{min-height:calc(var(--touch-target-min) - var(--space-sm));padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs)}.btn--lg{min-height:calc(var(--touch-target-min) + var(--space-sm));padding:var(--space-sm-md) var(--space-lg);font-size:var(--text-base)}.card{background-color:var(--brand-panel-bg);border:1px solid var(--brand-border-subtle);border-radius:var(--radius-lg);padding:var(--space-lg);transition:box-shadow var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--brand-border)}.card--interactive{cursor:pointer}.card--interactive:hover{border-color:var(--brand-accent)}.card__title{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:600;color:var(--brand-text);margin-bottom:var(--space-xs)}.card__description{font-size:var(--text-sm);color:var(--brand-text-secondary);line-height:var(--leading-relaxed)}.card__meta{font-size:var(--text-xs);color:var(--brand-text-muted);margin-top:var(--space-sm)}.input{width:100%;min-height:var(--touch-target-min);padding:var(--space-sm) var(--space-sm-md);font-family:var(--font-sans);font-size:var(--text-base);color:var(--brand-text);background-color:var(--brand-input-bg);border:1px solid var(--brand-input-border);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.input:focus{outline:none;border-color:var(--brand-input-focus-border);box-shadow:var(--shadow-focus)}.input::placeholder{color:var(--brand-text-muted)}.textarea{min-height:calc(var(--touch-target-min) * 3);resize:vertical;line-height:var(--leading-relaxed)}.label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--brand-text-secondary);margin-bottom:var(--space-xs)}.field{margin-bottom:var(--space-md)}.badge{display:inline-flex;align-items:center;padding:var(--space-micro) var(--space-sm);font-size:var(--text-xs);font-weight:500;line-height:var(--leading-normal);border-radius:var(--radius-full);white-space:nowrap}.badge--accent{background-color:var(--brand-accent-subtle);color:var(--brand-accent-text)}.badge--success{background-color:var(--color-success-bg);color:var(--color-success)}.badge--warning{background-color:var(--color-warning-bg);color:var(--color-warning)}.badge--error{background-color:var(--color-error-bg);color:var(--color-error)}.nav{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background-color:var(--brand-panel-bg);border-bottom:1px solid var(--brand-border-subtle)}.nav__brand{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:600;color:var(--brand-text);text-decoration:none;margin-right:auto}.nav__link{display:inline-flex;align-items:center;min-height:var(--touch-target-min);padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm);color:var(--brand-text-secondary);text-decoration:none;border-radius:var(--radius-md);transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.nav__link:hover{color:var(--brand-text);background-color:var(--brand-hover)}.nav__link--active{color:var(--brand-text);background-color:var(--brand-accent-subtle)}.container{width:100%;max-width:var(--width-max);margin-inline:auto;padding-inline:var(--space-md)}.container--narrow{max-width:var(--width-narrow)}.container--medium{max-width:var(--width-medium)}.container--wide{max-width:var(--width-wide)}.stack>*+*{margin-top:var(--space-md)}.stack--sm>*+*{margin-top:var(--space-sm)}.stack--lg>*+*{margin-top:var(--space-lg)}.stack--xl>*+*{margin-top:var(--space-xl)}.theme-toggle{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs);background:var(--brand-surface);border:1px solid var(--brand-border-subtle);border-radius:var(--radius-full)}.theme-toggle__option{display:flex;align-items:center;justify-content:center;width:calc(var(--touch-target-min) - var(--space-sm));height:calc(var(--touch-target-min) - var(--space-sm));border:none;border-radius:var(--radius-full);background:transparent;color:var(--brand-text-muted);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.theme-toggle__option:hover{color:var(--brand-text);background-color:var(--brand-hover)}.theme-toggle__option--active{color:var(--brand-accent-text);background-color:var(--brand-accent)}.sheet{position:fixed;inset:auto 0 0;max-height:70vh;background-color:var(--brand-panel-bg);border-top:1px solid var(--brand-border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:var(--space-lg) var(--space-md) var(--space-xl);transform:translateY(100%);transition:transform var(--duration-normal) var(--ease-out);z-index:var(--z-overlay);overflow-y:auto;-webkit-overflow-scrolling:touch}.sheet--open{transform:translateY(0)}.sheet__handle{width:var(--space-xl);height:var(--space-xs);background-color:var(--brand-border);border-radius:var(--radius-full);margin:0 auto var(--space-md)}@media(min-width:768px){.sheet{position:static;max-height:none;border-top:none;border-radius:var(--radius-lg);border:1px solid var(--brand-border-subtle);transform:none;padding:var(--space-lg)}.sheet__handle{display:none}}@media(min-width:1280px){.container{padding-inline:var(--space-xl)}}.app-shell{display:flex;flex-direction:column;min-height:100dvh}.app-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(var(--space-3xl) + env(safe-area-inset-bottom,0px))}@media(min-width:768px){.app-content{padding-bottom:0}}.top-nav{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background-color:var(--brand-panel-bg);border-bottom:1px solid var(--brand-border-subtle);position:sticky;top:0;z-index:var(--z-header)}.top-nav__brand{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:700;color:var(--brand-text);text-decoration:none;letter-spacing:var(--tracking-tight)}.top-nav__links{display:none;align-items:center;gap:var(--space-xs);margin-left:auto}@media(min-width:768px){.top-nav__links{display:flex}.bottom-nav{display:none}}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(56px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background-color:var(--brand-panel-bg);border-top:1px solid var(--brand-border-subtle);z-index:var(--z-header)}.bottom-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:var(--brand-text-muted);gap:var(--space-micro);min-height:48px;-webkit-tap-highlight-color:transparent;transition:color var(--duration-fast) var(--ease-out)}.bottom-item--active{color:var(--brand-accent)}.bottom-icon{font-size:22px;line-height:1}.bottom-label{font-size:10px;font-weight:500}.product-grid{display:grid;grid-template-columns:1fr;gap:var(--space-md);padding:var(--space-md)}@media(min-width:480px){.product-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.product-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}}@media(min-width:1280px){.product-grid{grid-template-columns:repeat(4,1fr)}}.product-card{background-color:var(--brand-panel-bg);border:1px solid var(--brand-border-subtle);border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.product-card:hover{box-shadow:var(--shadow-md);border-color:var(--brand-border);transform:translateY(calc(var(--space-micro) * -1))}.product-card__cover{aspect-ratio:3 / 4;background-color:var(--brand-surface);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:var(--text-2xl);color:var(--brand-text-muted);border-bottom:1px solid var(--brand-border-subtle)}.product-card__body{padding:var(--space-md)}.product-card__title{font-family:var(--font-serif);font-size:var(--text-base);font-weight:600;color:var(--brand-text);margin-bottom:var(--space-xs)}.product-card__author{font-size:var(--text-sm);color:var(--brand-text-secondary);margin-bottom:var(--space-sm)}.product-card__price{font-size:var(--text-lg);font-weight:600;color:var(--price-color)}.product-card__type{font-size:var(--text-xs);color:var(--brand-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.storefront-header{text-align:center;padding:var(--space-2xl) var(--space-md);border-bottom:1px solid var(--brand-border-subtle)}.storefront-header__name{font-family:var(--font-serif);font-size:var(--text-3xl);color:var(--brand-text);margin-bottom:var(--space-sm)}.storefront-header__bio{font-size:var(--text-base);color:var(--brand-text-secondary);max-width:var(--width-narrow);margin-inline:auto;line-height:var(--leading-relaxed)}.dashboard-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);padding:var(--space-md)}@media(min-width:768px){.dashboard-stats{grid-template-columns:repeat(4,1fr)}}.stat-card{background-color:var(--brand-panel-bg);border:1px solid var(--brand-border-subtle);border-radius:var(--radius-lg);padding:var(--space-lg);text-align:center}.stat-card__value{font-size:var(--text-2xl);font-weight:700;color:var(--brand-text)}.stat-card__label{font-size:var(--text-sm);color:var(--brand-text-muted);margin-top:var(--space-xs)}@media(min-width:1280px){.product-detail{display:grid;grid-template-columns:400px 1fr;gap:var(--space-2xl);max-width:var(--width-max);margin-inline:auto;padding:var(--space-2xl) var(--space-xl)}}.skip-link{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;z-index:var(--z-tooltip)}.skip-link:focus{position:fixed;top:var(--space-sm);left:var(--space-sm);width:auto;height:auto;padding:var(--space-sm) var(--space-md);background-color:var(--brand-accent);color:var(--brand-accent-text);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;text-decoration:none}
