:root{--color-paper:#f7f2e9;--color-surface:#fff;--color-ink:#302b26;--color-muted:#746e66;--color-brand:#96523c;--color-brand-hover:#814531;--color-brand-pressed:#713c2c;--color-divider:#e9e5de;--color-control-border:#8d8378;--color-success:#516149;--color-warning:#77552b;--color-error:#9b3d34;--font-ui:var(--font-be-vietnam-pro,"Be Vietnam Pro"), system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-ja:var(--font-klee-one,"Klee One"), "UD Digi Kyokasho N-R", "Hiragino Sans", "Yu Gothic", sans-serif;--text-display:500 2.5rem/1.3 var(--font-ui);--text-h1:500 2rem/1.3125 var(--font-ui);--text-h2:500 1.5rem/1.4167 var(--font-ui);--text-h3:600 1.25rem/1.5 var(--font-ui);--text-body-lg:400 1.125rem/1.6667 var(--font-ui);--text-body:400 1rem/1.625 var(--font-ui);--text-body-sm:400 .875rem/1.5714 var(--font-ui);--text-caption:500 .8125rem/1.5385 var(--font-ui);--text-ja-body:400 1.125rem/1.8 var(--font-ja);--text-ja-heading:400 1.5rem/1.5 var(--font-ja);--text-word-xl:400 3rem/1.3 var(--font-ja);--text-kanji-xl:400 8rem/1 var(--font-ja);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:999px;--duration-fast:.12s;--duration-base:.2s;--duration-slow:.32s;--ease-enter:cubic-bezier(.2, .7, .2, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1);--size-control-sm:36px;--size-control-md:44px;--size-control-lg:52px;--size-content:70rem;--size-reading:45rem;--size-nav:64px;--layout-gutter:clamp(1rem, 4vw, 2rem);--focus-ring:0 0 0 2px var(--color-paper), 0 0 0 4px var(--color-ink);--color-bg:var(--color-paper);--color-surface-subtle:var(--color-paper);--color-text:var(--color-ink);--color-text-muted:var(--color-muted);--color-border:var(--color-divider);--color-action:var(--color-brand);--color-action-hover:var(--color-brand-hover);--color-on-action:var(--color-paper);--color-danger:var(--color-error);--color-info:var(--color-ink);--color-focus:var(--color-ink);--color-disabled:var(--color-muted);--brand-cream:var(--color-paper);--brand-charcoal:var(--color-ink);--brand-accent:var(--color-brand);--brand-accent-hover:var(--color-brand-hover);--neutral-0:var(--color-surface);--neutral-50:var(--color-paper);--neutral-200:var(--color-divider);--neutral-500:var(--color-control-border);--neutral-700:var(--color-muted);--neutral-900:var(--color-ink);--green-700:var(--color-success);--amber-700:var(--color-warning);--red-700:var(--color-error);--blue-700:var(--color-ink);--font-sans:var(--font-ui);--font-size-xs:.8125rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:2rem;--font-size-display:2.5rem;--line-height-tight:1.3;--line-height-body:1.625;--line-height-reading:1.8;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:600;--radius-pill:var(--radius-full);--shadow-sm:none;--shadow-md:none;--shadow-lg:none;--duration-normal:var(--duration-base);--ease-standard:var(--ease-enter);--background:var(--color-bg);--foreground:var(--color-text);--surface:var(--color-surface);--primary:var(--color-action);--primary-foreground:var(--color-on-action);--secondary:var(--color-divider);--border:var(--color-border);--input:var(--color-surface);--ring:var(--color-focus);--text-muted:var(--color-text-muted);--radius:var(--radius-lg)}*{box-sizing:border-box;margin:0;padding:0}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-behavior:smooth;background:var(--color-paper);text-wrap:pretty}body{background:var(--color-paper);min-height:100vh;color:var(--color-ink);font:var(--text-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overflow-x:hidden}h1,h2,h3,h4{letter-spacing:-.01em}:lang(ja){font-family:var(--font-ja);letter-spacing:0;line-break:strict;font-weight:400;line-height:1.8}:lang(ja) strong,:lang(ja) .ja-emphasis{font-weight:600}rt{color:var(--color-muted);letter-spacing:0;font-size:.5em}a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:.08em}button,input,select,textarea{font:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px}::selection{background:color-mix(in srgb, var(--color-ink) 16%, transparent)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){:focus-visible{outline-offset:3px;outline:3px solid highlight}}
