:root{--color-primary:#7ccba2;--color-primary-hover:#67b38d;--color-primary-active:#569979;--color-primary-light:#b9e5ce;--color-primary-pale:#e3f3ea;--color-primary-ghost:rgba(124,203,162,.1);--color-primary-ring:rgba(124,203,162,.25);--color-accent:#f4b5a9;--color-accent-hover:#eea194;--color-accent-light:#fad7d0;--color-accent-pale:#fceae5;--color-bg:#faf5ee;--color-surface:#fff;--color-surface-raised:#fdf9f4;--color-surface-sunken:#f3efe6;--color-surface-overlay:rgba(26,23,20,.45);--color-border:#e8e0d4;--color-border-strong:#d4c8b8;--color-border-focus:#7ccba2;--color-text:#1a1714;--color-text-secondary:#6b6459;--color-text-tertiary:#9e948a;--color-text-disabled:#bdb4a8;--color-text-inverse:#fff;--color-success:#3d8b5e;--color-success-bg:#ebf5ef;--color-warning:#b07d2a;--color-warning-bg:#fef6e4;--color-error:#c0392b;--color-error-bg:#fdecea;--color-info:#2b6cb0;--color-info-bg:#ebf2fa;--color-cat:#e8967e;--color-cat-bg:#fce8e0;--color-cat-border:hsla(14,70%,70%,.3);--color-dog:#7ccba2;--color-dog-bg:#e3f3ea;--color-dog-border:rgba(124,203,162,.3);--color-evidence:#3d6b52;--color-evidence-bg:#edf4ef;--color-evidence-border:#b8d4c4;--color-evidence-accent:rgba(61,107,82,.08);--shadow-sm:0 1px 2px rgba(26,23,20,.04);--shadow-md:0 2px 8px rgba(26,23,20,.06),0 1px 2px rgba(26,23,20,.04);--shadow-lg:0 8px 24px rgba(26,23,20,.08),0 2px 6px rgba(26,23,20,.04);--shadow-xl:0 16px 48px rgba(26,23,20,.12);--shadow-primary:0 4px 16px rgba(124,203,162,.3);--font-display:"Crimson Pro","Source Serif Pro",Georgia,serif;--font-body:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono","Fira Code","SF Mono",monospace;--font-jp:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",sans-serif;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--leading-tight:1.2;--leading-snug:1.4;--leading-normal:1.6;--leading-relaxed:1.75;--tracking-tight:-0.02em;--tracking-normal:0;--tracking-wide:0.04em;--tracking-wider:0.08em;--tracking-widest:0.14em;--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-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-2xl:24px;--radius-3xl:32px;--radius-full:9999px;--max-w-prose:640px;--max-w-content:560px;--max-w-form:420px;--max-w-page:960px;--z-base:0;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-overlay:500;--z-modal:1000;--z-toast:2000;--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--ease-smooth:cubic-bezier(0.4,0,0.2,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in:cubic-bezier(0.4,0,1,1);--duration-instant:50ms;--duration-fast:150ms;--duration-normal:250ms;--duration-slow:400ms;--duration-slower:600ms}@media (prefers-color-scheme:dark){:root{--color-primary:#8fd8b3;--color-primary-hover:#a6e2c3;--color-primary-active:#baecd1;--color-primary-light:rgba(143,216,179,.25);--color-primary-pale:rgba(143,216,179,.12);--color-primary-ghost:rgba(143,216,179,.06);--color-primary-ring:rgba(143,216,179,.28);--color-accent:#f4b5a9;--color-accent-hover:#f6c4ba;--color-accent-light:hsla(10,77%,81%,.2);--color-accent-pale:hsla(10,77%,81%,.1);--color-bg:#1c1917;--color-surface:#252220;--color-surface-raised:#2c2a27;--color-surface-sunken:#171513;--color-surface-overlay:rgba(0,0,0,.6);--color-border:hsla(0,0%,100%,.08);--color-border-strong:hsla(0,0%,100%,.15);--color-border-focus:#8fd8b3;--color-text:#f2ede8;--color-text-secondary:#a89e96;--color-text-tertiary:#6e6560;--color-text-disabled:#4a433e;--color-text-inverse:#1c1917;--color-success:#5bad81;--color-success-bg:rgba(93,173,129,.12);--color-warning:#d4a843;--color-warning-bg:rgba(212,168,67,.12);--color-error:#e06c6c;--color-error-bg:hsla(0,65%,65%,.12);--color-cat:#f4b5a9;--color-cat-bg:hsla(10,77%,81%,.15);--color-cat-border:hsla(10,77%,81%,.3);--color-dog:#8fd8b3;--color-dog-bg:rgba(143,216,179,.12);--color-dog-border:rgba(143,216,179,.3);--color-evidence:#7bb89a;--color-evidence-bg:rgba(123,184,154,.08);--color-evidence-border:rgba(123,184,154,.25);--color-evidence-accent:rgba(123,184,154,.05);--shadow-sm:0 1px 2px rgba(0,0,0,.2);--shadow-md:0 4px 12px rgba(0,0,0,.25);--shadow-lg:0 12px 32px rgba(0,0,0,.35);--shadow-xl:0 24px 64px rgba(0,0,0,.45);--shadow-primary:0 4px 20px rgba(143,216,179,.35)}}@import url("https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&family=DM+Sans:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;700&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;text-rendering:optimizeLegibility}body{min-height:100dvh;background:var(--color-bg);color:var(--color-text);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:lang(ja),body{font-family:var(--font-body),var(--font-jp)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:var(--leading-tight);color:var(--color-text)}a{color:inherit;text-decoration:none}button{background:none;border:none;cursor:pointer}button,input,select,textarea{font-family:inherit;color:inherit}input,select,textarea{font-size:inherit}img,video{display:block;max-width:100%;height:auto}:focus{outline:none}:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-primary-ring);border-radius:var(--radius-sm)}@keyframes pageEnter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes moodPop{0%{transform:scale(0);opacity:0}70%{transform:scale(1.1);opacity:1}to{transform:scale(1)}}@keyframes wobble{0%{transform:rotate(-8deg) scale(1)}to{transform:rotate(8deg) scale(1.05)}}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.page-enter>*{opacity:0;animation:pageEnter var(--duration-slow) var(--ease-smooth) forwards;animation-delay:calc(var(--i, 0) * 80ms)}