@plugin "@tailwindcss/typography";@theme{--color-brand:#0071e3;--color-brand-hover:#005bb5;--color-brand-soft:#e8f0fe;--color-brand-muted:#0071e3;--color-gray-0:#fff;--color-gray-50:#f5f5f7;--color-gray-100:#ededf0;--color-gray-200:#d2d2d7;--color-gray-300:#c7c7cc;--color-gray-400:#8e8e93;--color-gray-500:#636366;--color-gray-600:#48484a;--color-color-gray-700:#3a3a3c;--color-gray-800:#1d1d1f;--color-gray-900:#000;--color-bg:var(--color-gray-50);--color-bg-card:var(--color-gray-0);--color-bg-elevated:var(--color-gray-0);--color-text-primary:var(--color-gray-900);--color-text-secondary:var(--color-gray-500);--color-text-tertiary:var(--color-gray-400);--color-border:var(--color-gray-200);--color-border-strong:var(--color-gray-300);--color-divider:var(--color-gray-200);--color-success:#34c759;--color-warning:#ff9f0a;--color-error:#ff3b30;--color-info:var(--color-brand);--color-amazon:#f90;--color-amazon-hover:#c70;--color-amazon-soft:#fff4e6;--font-sans:"SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-serif:"SF Pro Text",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"SF Mono","Monaco","Inconsolata","Fira Mono",monospace;--text-display:clamp(2.5rem,5vw + 1rem,4.5rem);--text-h1:clamp(2rem,3vw + 1rem,3.5rem);--text-h2:clamp(1.5rem,2vw + 0.75rem,2.5rem);--text-h3:clamp(1.25rem,1vw + 1rem,1.75rem);--text-h4:clamp(1.125rem,0.5vw + 1rem,1.375rem);--text-body-lg:clamp(1.125rem,0.25vw + 1rem,1.25rem);--text-body:1rem;--text-body-sm:0.875rem;--text-caption:0.8125rem;--text-caption-sm:0.75rem;--leading-tight:1.1;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--font-weight-light:300;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-none:0;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(0,0,0,.04);--shadow-sm:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 8px rgba(0,0,0,.06),0 2px 4px rgba(0,0,0,.04);--shadow-lg:0 12px 24px rgba(0,0,0,.08),0 4px 8px rgba(0,0,0,.04);--shadow-xl:0 24px 48px rgba(0,0,0,.1),0 8px 16px rgba(0,0,0,.06);--glow-brand:0 0 0 3px var(--color-brand-soft);--glow-amazon:0 0 0 3px var(--color-amazon-soft);--duration-instant:0ms;--duration-fast:120ms;--duration-normal:200ms;--duration-slow:320ms;--duration-slower:480ms;--ease-standard:cubic-bezier(0.4,0,0.2,1);--ease-spring:cubic-bezier(0.175,0.885,0.32,1.275);--ease-ease-out:cubic-bezier(0,0,0.2,1);--ease-ease-in:cubic-bezier(0.4,0,1,1);--breakpoint-sm:640px;--breakpoint-md:1024px;--breakpoint-lg:1280px;--breakpoint-xl:1440px;--container-sm:600px;--container-md:960px;--container-lg:1200px;--container-xl:1320px;--z-dropdown:100;--z-sticky:200;--z-fixed:300;--z-modal-backdrop:400;--z-modal:500;--z-popover:600;--z-tooltip:700;--z-toast:800}@media (prefers-color-scheme:dark){@theme{--color-bg:#000;--color-bg-card:#1d1d1f;--color-bg-elevated:#2c2c2e;--color-text-primary:#f5f5f7;--color-text-secondary:#8e8e93;--color-text-tertiary:#636366;--color-border:#38383a;--color-border-strong:#48484a;--color-divider:#38383a;--color-brand-soft:rgba(0,113,227,.15);--color-amazon-soft:rgba(204,119,0,.15);--shadow-xs:0 1px 2px rgba(0,0,0,.3);--shadow-sm:0 1px 3px rgba(0,0,0,.4),0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 8px rgba(0,0,0,.4),0 2px 4px rgba(0,0,0,.3);--shadow-lg:0 12px 24px rgba(0,0,0,.5),0 4px 8px rgba(0,0,0,.3);--shadow-xl:0 24px 48px rgba(0,0,0,.6),0 8px 16px rgba(0,0,0,.4)}}.dark{--color-bg:#000;--color-bg-card:#1d1d1f;--color-bg-elevated:#2c2c2e;--color-text-primary:#f5f5f7;--color-text-secondary:#8e8e93;--color-text-tertiary:#636366;--color-border:#38383a;--color-border-strong:#48484a;--color-divider:#38383a;--color-brand-soft:rgba(0,113,227,.15);--color-amazon-soft:rgba(204,119,0,.15);--shadow-xs:0 1px 2px rgba(0,0,0,.3);--shadow-sm:0 1px 3px rgba(0,0,0,.4),0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 8px rgba(0,0,0,.4),0 2px 4px rgba(0,0,0,.3);--shadow-lg:0 12px 24px rgba(0,0,0,.5),0 4px 8px rgba(0,0,0,.3);--shadow-xl:0 24px 48px rgba(0,0,0,.6),0 8px 16px rgba(0,0,0,.4)}@layer base{*,:after,:before{box-sizing:border-box}html{font-family:var(--font-sans);font-size:16px;line-height:var(--leading-relaxed);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{background-color:var(--color-bg);color:var(--color-text-primary);margin:0;min-height:100vh;transition:background-color var(--duration-normal) var(--ease-standard),color var(--duration-normal) var(--ease-standard)}::selection{background-color:var(--color-brand-soft);color:var(--color-brand)}:focus-visible{outline:none;ring:3px solid var(--color-brand);ring-offset:2px;ring-offset-color:var(--color-bg)}.dark :focus-visible{ring-offset-color:var(--color-bg)}.skip-link{position:absolute;top:-100%;left:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--color-brand);color:#fff;border-radius:var(--radius-md);font-weight:var(--font-weight-medium);font-size:var(--text-body-sm);z-index:var(--z-toast);transition:top var(--duration-fast) var(--ease-standard)}.skip-link:focus{top:var(--space-4)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}}@layer utilities{.text-display{font-size:var(--text-display);letter-spacing:-.02em}.text-display,.text-h1{line-height:var(--leading-tight);font-weight:var(--font-weight-bold)}.text-h1{font-size:var(--text-h1);letter-spacing:-.015em}.text-h2{font-size:var(--text-h2);line-height:var(--leading-tight);font-weight:var(--font-weight-bold);letter-spacing:-.01em}.text-h3{font-size:var(--text-h3);letter-spacing:-.005em}.text-h3,.text-h4{line-height:var(--leading-snug);font-weight:var(--font-weight-semibold)}.text-h4{font-size:var(--text-h4)}.text-body-lg{font-size:var(--text-body-lg)}.text-body,.text-body-lg{line-height:var(--leading-relaxed);font-weight:var(--font-weight-regular)}.text-body{font-size:var(--text-body)}.text-body-sm{font-size:var(--text-body-sm);line-height:var(--leading-normal);font-weight:var(--font-weight-regular)}.text-caption{font-size:var(--text-caption);color:var(--color-text-secondary)}.text-caption,.text-caption-sm{line-height:var(--leading-normal);font-weight:var(--font-weight-medium)}.text-caption-sm{font-size:var(--text-caption-sm);color:var(--color-text-tertiary)}.text-balance{text-wrap:balance}.text-sans{font-family:var(--font-sans)}.text-serif{font-family:var(--font-serif)}.container-app{width:100%;max-width:var(--container-lg);margin-left:auto;margin-right:auto;padding-left:var(--space-6);padding-right:var(--space-6)}}@layer utilities{@media (min-width:1024px){.container-app{padding-left:var(--space-10);padding-right:var(--space-10)}}@media (min-width:1440px){.container-app{max-width:var(--container-xl)}}.section-y{padding-top:var(--space-16);padding-bottom:var(--space-16)}@media (min-width:1024px){.section-y{padding-top:var(--space-20);padding-bottom:var(--space-20)}}.card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-normal) var(--ease-standard),transform var(--duration-normal) var(--ease-standard),border-color var(--duration-normal) var(--ease-standard)}.card-elevated{box-shadow:var(--shadow-md)}.card-interactive:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:var(--color-border-strong)}.card-interactive:active{transform:translateY(-2px);transition-duration:var(--duration-fast)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:44px;padding:0 var(--space-6);font-size:var(--text-body-sm);font-weight:var(--font-weight-semibold);line-height:1;border-radius:var(--radius-full);border:none;cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);text-decoration:none;white-space:nowrap}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background-color:var(--color-brand);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-brand-hover);box-shadow:var(--shadow-md)}.btn-primary:focus-visible{box-shadow:var(--glow-brand)}.btn-secondary{background-color:var(--color-gray-100);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-gray-200);border-color:var(--color-border-strong)}.dark .btn-secondary{background-color:var(--color-bg-elevated);border-color:var(--color-border)}.dark .btn-secondary:hover:not(:disabled){background-color:var(--color-border)}.btn-ghost{background-color:transparent;color:var(--color-text-primary)}.btn-ghost:hover:not(:disabled){background-color:var(--color-gray-100)}.dark .btn-ghost:hover:not(:disabled){background-color:var(--color-bg-elevated)}.btn-amazon{background-color:var(--color-amazon);color:#1d1d1f;font-weight:var(--font-weight-bold)}.btn-amazon:hover:not(:disabled){background-color:var(--color-amazon-hover);box-shadow:var(--shadow-md)}.btn-amazon:focus-visible{box-shadow:var(--glow-amazon)}.btn-destructive{background-color:var(--color-error);color:#fff}.btn-destructive:hover:not(:disabled){background-color:#e03025}.btn-sm{height:36px;padding:0 var(--space-4);font-size:var(--text-caption)}.btn-lg{height:52px;padding:0 var(--space-8);font-size:var(--text-body)}.badge{display:inline-flex;align-items:center;height:24px;padding:0 var(--space-3);font-size:var(--text-caption-sm);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);white-space:nowrap}.badge-default{background-color:var(--color-gray-100);color:var(--color-text-secondary)}.dark .badge-default{background-color:var(--color-bg-elevated);color:var(--color-text-secondary)}.badge-success{background-color:rgba(52,199,89,.15);color:var(--color-success)}.badge-warning{background-color:rgba(255,159,10,.15);color:var(--color-warning)}.badge-error{background-color:rgba(255,59,48,.15);color:var(--color-error)}.badge-info{background-color:var(--color-brand-soft);color:var(--color-brand)}.badge-amazon{background-color:var(--color-amazon-soft);color:var(--color-amazon-hover)}.input{width:100%;height:44px;padding:0 var(--space-4);font-size:var(--text-body);font-family:var(--font-sans);color:var(--color-text-primary);background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.input::placeholder{color:var(--color-text-tertiary)}.input:hover:not(:disabled):not(:focus){border-color:var(--color-border-strong)}.input:focus{outline:none;border-color:var(--color-brand);box-shadow:var(--glow-brand)}.input:disabled{opacity:.5;cursor:not-allowed}.input-error{border-color:var(--color-error)}.input-error:focus{box-shadow:0 0 0 3px rgba(255,59,48,.15)}.label{display:block;font-size:var(--text-body-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--space-2)}.link{color:var(--color-brand);text-decoration:none;text-underline-offset:2px;transition:color var(--duration-fast) var(--ease-standard)}.link:hover{color:var(--color-brand-hover);text-decoration:underline}.link:focus-visible{border-radius:var(--radius-sm)}.divider{height:1px}.divider,.divider-vertical{background-color:var(--color-divider);border:none}.divider-vertical{width:1px;height:100%}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:var(--color-gray-300) transparent}.scrollbar-thin::-webkit-scrollbar{width:6px;height:6px}.scrollbar-thin::-webkit-scrollbar-track{background:transparent}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:var(--color-gray-300);border-radius:3px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:var(--color-gray-400)}.prose{color:var(--color-text-primary);max-width:none}.prose h1,.prose h2,.prose h3,.prose h4{color:var(--color-text-primary);font-weight:var(--font-weight-bold)}.prose h1{font-size:var(--text-h1)}.prose h1,.prose h2{line-height:var(--leading-tight)}.prose h2{font-size:var(--text-h2);margin-top:var(--space-12)}.prose h3{font-size:var(--text-h3);margin-top:var(--space-10)}.prose h3,.prose h4{line-height:var(--leading-snug)}.prose h4{font-size:var(--text-h4);margin-top:var(--space-8)}.prose p{margin-top:var(--space-6);line-height:var(--leading-relaxed)}.prose p:first-child{margin-top:0}.prose strong{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.prose a{color:var(--color-brand);text-decoration:underline;text-underline-offset:2px}.prose a:hover{color:var(--color-brand-hover)}.prose ol,.prose ul{margin-top:var(--space-6);padding-left:var(--space-6)}.prose li{margin-top:var(--space-3);line-height:var(--leading-relaxed)}.prose code{font-family:var(--font-mono);font-size:.9em;background-color:var(--color-gray-100);padding:.125em .375em;border-radius:var(--radius-sm)}.prose pre{background-color:var(--color-gray-900);border-radius:var(--radius-lg);padding:var(--space-6);overflow-x:auto;margin-top:var(--space-8)}.prose pre code{background-color:transparent;padding:0;font-size:var(--text-body-sm);color:var(--color-gray-100)}.prose blockquote{border-left:3px solid var(--color-brand);padding-left:var(--space-6);margin:var(--space-8) 0;font-style:italic;color:var(--color-text-secondary)}.prose img{border-radius:var(--radius-xl);margin-bottom:var(--space-8)}.prose img,.prose table{margin-top:var(--space-8)}.prose table{width:100%;border-collapse:collapse;font-size:var(--text-body-sm)}.prose td,.prose th{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);text-align:left}.prose th{background-color:var(--color-gray-100);font-weight:var(--font-weight-semibold)}.dark .prose th{background-color:var(--color-bg-elevated)}.prose tr:nth-child(2n) td{background-color:var(--color-gray-50)}.dark .prose tr:nth-child(2n) td{background-color:var(--color-bg-elevated)}.grid-auto-fit{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-auto-fill,.grid-auto-fit{display:grid;gap:var(--space-6)}.grid-auto-fill{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.flex-center{justify-content:center}.flex-between,.flex-center{display:flex;align-items:center}.flex-between{justify-content:space-between}.sticky-top{top:0}.sticky-bottom,.sticky-top{position:sticky;z-index:var(--z-sticky)}.sticky-bottom{bottom:0}.backdrop-blur-glass{backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)}.aspect-video{aspect-ratio:16/9}.aspect-square{aspect-ratio:1/1}.aspect-portrait{aspect-ratio:3/4}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-2{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-3{-webkit-line-clamp:3}.line-clamp-3,.line-clamp-4{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4}}@layer utilities{@keyframes slide-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-slide-down{animation:slide-down var(--duration-slow) var(--ease-spring) forwards}.animate-slide-up{animation:slide-up var(--duration-slow) var(--ease-spring) forwards}.animate-fade-in{animation:fade-in var(--duration-normal) var(--ease-standard) forwards}.animate-scale-in{animation:scale-in var(--duration-normal) var(--ease-spring) forwards}.page-transition{animation:fade-in var(--duration-slow) var(--ease-standard)}.stagger-children>*{opacity:0;animation:fade-in var(--duration-normal) var(--ease-standard) forwards}.stagger-children>:first-child{animation-delay:0ms}.stagger-children>:nth-child(2){animation-delay:80ms}.stagger-children>:nth-child(3){animation-delay:.16s}.stagger-children>:nth-child(4){animation-delay:.24s}.stagger-children>:nth-child(5){animation-delay:.32s}.stagger-children>:nth-child(6){animation-delay:.4s}.stagger-children>:nth-child(7){animation-delay:.48s}.stagger-children>:nth-child(8){animation-delay:.56s}.skip-link{position:absolute;top:-100%;left:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--color-brand);color:#fff;border-radius:var(--radius-md);font-weight:var(--font-weight-medium);font-size:var(--text-body-sm);z-index:var(--z-toast);transition:top var(--duration-fast) var(--ease-standard)}.skip-link:focus{top:var(--space-4)}}