:root{--color-bg: #fafafa;--color-text: #111;--color-text-secondary: #555;--color-text-muted: #8f8f8f;--color-border: #e4e4e4;--color-surface: #fff;--color-accent: #111;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--space-5xl: 8rem;--max-width: 1200px;--content-width: 720px;--header-height: 4rem;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif: "Instrument Serif", Georgia, serif;--font-mono: "JetBrains Mono", "SF Mono", Consolas, monospace;--ease-out: cubic-bezier(.16, 1, .3, 1);--duration-fast: .15s;--duration-normal: .25s}:root[data-theme=arsenal]{--color-bg: #fff;--color-text: #063672;--color-text-secondary: #41528a;--color-text-muted: #9c824a;--color-border: #e7eaf2;--color-surface: #f7f8fb;--color-accent: #ef0107}:root[data-theme=onepiece]{--color-bg: #fbf3e0;--color-text: #223050;--color-text-secondary: #4d5a77;--color-text-muted: #a5772e;--color-border: #ecdebd;--color-surface: #f6ecd2;--color-accent: #e03a20}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:1rem;line-height:1.6;color:var(--color-text);background-color:var(--color-bg);min-height:100vh}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background-color:var(--color-accent);color:var(--color-bg)}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}ul,ol{list-style:none}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-xl)}.container--narrow{max-width:var(--content-width)}.section{padding:var(--space-4xl) 0}.tag{display:inline-flex;font-size:.75rem;font-weight:500;color:var(--color-text-secondary);letter-spacing:.02em}.tag:before{content:"#"}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:2px;transition:all var(--duration-fast) ease}.btn--primary{background:var(--color-text);color:var(--color-bg)}.btn--primary:hover{opacity:.85}.btn--ghost{border:1px solid var(--color-border);color:var(--color-text)}.btn--ghost:hover{border-color:var(--color-text)}.prose>*+*{margin-top:var(--space-lg)}.prose h2{font-family:var(--font-serif);font-size:1.75rem;font-weight:400;font-style:italic;margin-top:var(--space-3xl);margin-bottom:var(--space-md);color:var(--color-text)}.prose h3{font-size:1.25rem;font-weight:600;margin-top:var(--space-2xl);margin-bottom:var(--space-sm)}.prose p{line-height:1.75;color:var(--color-text-secondary)}.prose a{color:var(--color-text);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--color-border);transition:text-decoration-color var(--duration-fast) ease}.prose a:hover{text-decoration-color:var(--color-text)}.prose ul,.prose ol{padding-left:var(--space-xl)}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose li{line-height:1.75;color:var(--color-text-secondary)}.prose li+li{margin-top:var(--space-xs)}.prose blockquote{border-left:2px solid var(--color-border);padding-left:var(--space-lg);font-family:var(--font-serif);font-size:1.125rem;font-style:italic;color:var(--color-text-secondary)}.prose pre{background:var(--color-surface);border:1px solid var(--color-border);border-radius:2px;padding:var(--space-lg);overflow-x:auto;font-family:var(--font-mono);font-size:.875rem;line-height:1.7}.prose code{font-family:var(--font-mono);font-size:.875em;background:var(--color-surface);padding:.15em .4em;border-radius:2px;border:1px solid var(--color-border)}.prose pre code{background:none;padding:0;border:none}.prose img{border-radius:2px;margin:var(--space-2xl) 0}.prose hr{border:none;height:1px;background:var(--color-border);margin:var(--space-3xl) 0}@media (max-width: 768px){:root{--space-4xl: 4rem;--space-5xl: 5rem}.container{padding:0 var(--space-md)}}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:2rem}.text-4xl{font-size:2.5rem}.text-5xl{font-size:3.25rem}.heading-display{font-family:var(--font-serif);font-weight:400;font-style:italic;line-height:1.1;color:var(--color-text)}.heading-section{font-family:var(--font-sans);font-weight:500;line-height:1.2;letter-spacing:-.02em;color:var(--color-text)}.body-text{font-family:var(--font-sans);font-weight:400;line-height:1.7;color:var(--color-text-secondary)}.body-text--large{font-size:1.125rem;line-height:1.75}.label{font-family:var(--font-sans);font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.caption{font-size:.875rem;color:var(--color-text-muted)}.mono{font-family:var(--font-mono);font-size:.875em}@media (max-width: 768px){.text-5xl{font-size:2.25rem}.text-4xl{font-size:2rem}.text-3xl{font-size:1.5rem}.body-text--large{font-size:1rem}}.fade-in{opacity:0;transform:translateY(20px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}.fade-in.is-visible{opacity:1;transform:translateY(0)}.stagger-children>*{opacity:0;transform:translateY(16px);transition:opacity .4s var(--ease-out),transform .4s var(--ease-out)}.stagger-children.is-visible>*:nth-child(1){transition-delay:0ms;opacity:1;transform:translateY(0)}.stagger-children.is-visible>*:nth-child(2){transition-delay:60ms;opacity:1;transform:translateY(0)}.stagger-children.is-visible>*:nth-child(3){transition-delay:.12s;opacity:1;transform:translateY(0)}.stagger-children.is-visible>*:nth-child(4){transition-delay:.18s;opacity:1;transform:translateY(0)}.stagger-children.is-visible>*:nth-child(5){transition-delay:.24s;opacity:1;transform:translateY(0)}.stagger-children.is-visible>*:nth-child(6){transition-delay:.3s;opacity:1;transform:translateY(0)}@view-transition{navigation: auto;}::view-transition-old(root){animation:.2s ease-out both fadeOut}::view-transition-new(root){animation:.2s ease-out both fadeIn}@keyframes fadeOut{to{opacity:0}}@keyframes fadeIn{0%{opacity:0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
