.landing-screen{min-height:100dvh}.landing-section{padding:var(--spacing-section) var(--space-6)}.landing-section-inner{max-width:var(--content-wide);margin:0 auto}.landing-hero{padding:clamp(40px, 8vh, 80px) var(--space-6);text-align:center}.landing-hero-mascot{width:clamp(100px,18vw,180px);height:clamp(100px,18vw,180px);margin:0 auto var(--space-8);animation:3s ease-in-out infinite float}.landing-hero h1{font-family:var(--font-display);font-size:var(--type-display-lg);color:var(--color-text);line-height:var(--line-height-tight);margin-bottom:var(--space-6)}.landing-hero-sub{font-size:var(--type-heading-md);color:var(--color-text-secondary);max-width:var(--content-narrow);margin:0 auto var(--space-10);line-height:var(--line-height-snug)}.landing-hero-cta{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-8);background:var(--color-brand);color:var(--color-text-on-brand);border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--type-heading-sm);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-md);transition:background var(--transition-fast), transform var(--duration-150) var(--transition-fast), box-shadow var(--transition-fast);display:inline-flex}.landing-hero-cta:hover{background:var(--color-brand-hover);color:var(--color-text-on-brand);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.landing-hero-cta svg{width:var(--icon-size-md);height:var(--icon-size-md)}.landing-problem{background:var(--color-bg-surface)}.landing-section-title{font-family:var(--font-display);font-size:var(--type-display-sm);color:var(--color-text);text-align:center;margin-bottom:var(--space-4)}.landing-section-sub{font-size:var(--type-body-lg);color:var(--color-text-secondary);text-align:center;max-width:var(--content-narrow);margin:0 auto var(--space-12)}.landing-symptom-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.landing-symptom-card{background:var(--color-brand-faint);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-md);transition:transform var(--transition-fast), box-shadow var(--transition-fast)}.landing-symptom-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.landing-symptom-icon{object-fit:contain;width:80px;height:80px;margin-bottom:var(--space-3)}.landing-symptom-card h3{font-family:var(--font-body);font-size:var(--type-heading-md);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--space-2)}.landing-symptom-card p{font-size:var(--type-body-md);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.landing-cta-section{background:var(--color-bg);text-align:center}.landing-cta-section h2{font-family:var(--font-display);font-size:var(--type-display-sm);color:var(--color-text);margin-bottom:var(--space-4)}.landing-cta-section p{font-size:var(--type-body-lg);color:var(--color-text-secondary);max-width:var(--content-narrow);margin:0 auto var(--space-8)}.landing-cta-btn{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-8);background:var(--color-brand);color:var(--color-text-on-brand);border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--type-heading-sm);font-weight:var(--font-weight-bold);box-shadow:var(--shadow-md);transition:transform var(--transition-fast), box-shadow var(--transition-fast);display:inline-flex}.landing-cta-btn:hover{box-shadow:var(--shadow-lg);color:var(--color-text-on-brand);transform:translateY(-2px)}@media (width<=768px){.landing-section{padding:var(--space-10) var(--space-4)}.landing-hero{padding:clamp(32px, 6vh, 60px) var(--space-4)}.landing-symptom-grid{grid-template-columns:1fr}}:root{--p-purple-50:#f4f1fd;--p-purple-100:#e7e0fb;--p-purple-200:#d0c2f7;--p-purple-300:#b8a3f2;--p-purple-400:#8c6de4;--p-purple-500:#5b3cc4;--p-purple-600:#4d32a8;--p-purple-700:#40298c;--p-purple-800:#311e6c;--p-purple-900:#22154d;--p-blue-50:#eff7ff;--p-blue-100:#dceeff;--p-blue-200:#badbff;--p-blue-300:#87c1ff;--p-blue-400:#4ca5ff;--p-blue-500:#1e90ff;--p-blue-600:#1476d8;--p-blue-700:#105eb0;--p-blue-800:#0c4785;--p-blue-900:#07315b;--p-orange-50:#fff4eb;--p-orange-100:#ffe6cf;--p-orange-200:#ffcca0;--p-orange-300:#ffb26f;--p-orange-400:#ff9736;--p-orange-500:#fe7e01;--p-orange-600:#d96c00;--p-orange-700:#b45a00;--p-orange-800:#874300;--p-orange-900:#5c2e00;--p-red-50:#fef2f2;--p-red-100:#fee2e2;--p-red-200:#fecaca;--p-red-300:#fca5a5;--p-red-400:#f87171;--p-red-500:#ef4444;--p-red-600:#dc2626;--p-red-700:#b91c1c;--p-red-800:#991b1b;--p-red-900:#7f1d1d;--p-green-50:#f0fdf4;--p-green-100:#dcfce7;--p-green-200:#bbf7d0;--p-green-300:#86efac;--p-green-400:#4ade80;--p-green-500:#22c55e;--p-green-600:#16a34a;--p-green-700:#15803d;--p-green-800:#166534;--p-green-900:#14532d;--p-amber-50:#fffbeb;--p-amber-100:#fef3c7;--p-amber-200:#fde68a;--p-amber-300:#fcd34d;--p-amber-400:#fbbf24;--p-amber-500:#f59e0b;--p-amber-600:#d97706;--p-amber-700:#b45309;--p-amber-800:#92400e;--p-amber-900:#78350f;--p-white:#fff;--p-black:#000;--p-fw-thin:100;--p-fw-light:300;--p-fw-regular:400;--p-fw-medium:500;--p-fw-semibold:600;--p-fw-bold:700;--p-fs-75:.75rem;--p-fs-100:1rem;--p-fs-200:1.125rem;--p-fs-300:1.5rem;--p-fs-400:2rem;--p-fs-500:2.5rem;--p-fs-600:3rem;--p-fs-700:4rem;--p-lh-none:1;--p-lh-tight:1.2;--p-lh-snug:1.375;--p-lh-normal:1.5;--p-lh-relaxed:1.625;--p-lh-loose:2;--p-ls-tighter:-.05em;--p-ls-tight:-.025em;--p-ls-normal:0;--p-ls-wide:.025em;--p-ls-wider:.05em;--p-ls-widest:.1em;--p-space-0:0;--p-space-0-5:2px;--p-space-1:4px;--p-space-1-5:6px;--p-space-2:8px;--p-space-3:12px;--p-space-4:16px;--p-space-5:20px;--p-space-6:24px;--p-space-8:32px;--p-space-10:40px;--p-space-12:48px;--p-space-16:64px;--p-space-20:80px;--p-space-24:96px;--p-space-28:112px;--p-space-32:128px;--p-bw-0:0px;--p-bw-1:1px;--p-bw-2:2px;--p-bw-3:3px;--p-bw-4:4px;--p-radius-none:0px;--p-radius-xs:2px;--p-radius-sm:4px;--p-radius-md:8px;--p-radius-lg:12px;--p-radius-xl:16px;--p-radius-2xl:24px;--p-radius-full:9999px;--p-dur-0:0s;--p-dur-50:50ms;--p-dur-100:.1s;--p-dur-150:.15s;--p-dur-200:.2s;--p-dur-250:.25s;--p-dur-300:.3s;--p-dur-400:.4s;--p-dur-500:.5s;--p-dur-700:.7s;--p-dur-1000:1s;--p-ease-standard:cubic-bezier(.2, 0, 0, 1);--p-ease-standard-decelerate:cubic-bezier(0, 0, 0, 1);--p-ease-standard-accelerate:cubic-bezier(.3, 0, 1, 1);--p-ease-emphasized:cubic-bezier(.2, 0, 0, 1);--p-ease-emphasized-decelerate:cubic-bezier(.05, .7, .1, 1);--p-ease-emphasized-accelerate:cubic-bezier(.3, 0, .8, .15);--p-ease-linear:cubic-bezier(0, 0, 1, 1);--p-opacity-0:0;--p-opacity-10:.1;--p-opacity-20:.2;--p-opacity-30:.3;--p-opacity-40:.4;--p-opacity-50:.5;--p-opacity-60:.6;--p-opacity-70:.7;--p-opacity-80:.8;--p-opacity-90:.9;--p-opacity-100:1;--p-blur-none:0;--p-blur-xs:1px;--p-blur-sm:2px;--p-blur-md:4px;--p-blur-lg:8px;--p-blur-xl:16px;--p-blur-2xl:24px;--p-size-1:4px;--p-size-2:8px;--p-size-3:12px;--p-size-4:16px;--p-size-5:20px;--p-size-6:24px;--p-size-8:32px;--p-size-10:40px;--p-size-12:48px;--p-size-16:64px;--p-size-20:80px;--p-size-24:96px;--p-size-32:128px;--p-size-40:160px;--p-size-48:192px;--p-size-56:224px;--p-size-64:256px;--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-brand:var(--p-purple-500);--color-brand-hover:var(--p-purple-600);--color-brand-active:var(--p-purple-700);--color-brand-subtle:var(--p-purple-100);--color-brand-faint:var(--p-purple-50);--color-secondary:var(--p-orange-500);--color-secondary-hover:var(--p-orange-600);--color-secondary-active:var(--p-orange-700);--color-secondary-subtle:var(--p-orange-100);--color-accent:var(--p-blue-500);--color-accent-hover:var(--p-blue-600);--color-accent-active:var(--p-blue-700);--color-accent-subtle:var(--p-blue-100);--color-bg:var(--p-purple-50);--color-bg-surface:var(--p-white);--color-bg-elevated:var(--p-white);--color-bg-sunken:var(--p-purple-100);--color-bg-muted:var(--p-purple-100);--color-bg-inset:var(--p-purple-100);--color-text:var(--p-purple-800);--color-text-secondary:var(--p-purple-600);--color-text-tertiary:var(--p-purple-400);--color-text-disabled:var(--p-purple-300);--color-text-inverse:var(--p-purple-50);--color-text-on-brand:var(--p-purple-50);--color-text-on-secondary:var(--p-white);--color-text-on-accent:var(--p-white);--color-border:var(--p-purple-200);--color-border-strong:var(--p-purple-300);--color-border-subtle:var(--p-purple-100);--color-border-input:var(--p-purple-300);--color-border-focus:var(--p-purple-500);--color-action-primary:var(--p-purple-500);--color-action-primary-hover:var(--p-purple-600);--color-action-primary-active:var(--p-purple-700);--color-action-primary-disabled:var(--p-purple-300);--color-action-secondary:var(--p-orange-500);--color-action-secondary-hover:var(--p-orange-600);--color-action-secondary-active:var(--p-orange-700);--color-action-secondary-disabled:var(--p-orange-300);--color-action-accent:var(--p-blue-500);--color-action-accent-hover:var(--p-blue-600);--color-action-accent-active:var(--p-blue-700);--color-action-accent-disabled:var(--p-blue-300);--color-success:var(--p-green-600);--color-success-subtle:var(--p-green-50);--color-success-text:var(--p-green-700);--color-error:var(--p-red-600);--color-error-subtle:var(--p-red-50);--color-error-text:var(--p-red-700);--color-warning:var(--p-amber-500);--color-warning-subtle:var(--p-amber-50);--color-warning-text:var(--p-amber-700);--color-info:var(--p-blue-500);--color-info-subtle:var(--p-blue-50);--color-info-text:var(--p-blue-700);--color-level-low:var(--p-green-600);--color-level-mid:var(--p-amber-500);--color-level-high:var(--p-red-600);--color-focus-ring:var(--p-purple-500);--color-bg-overlay:#22154dd9;--color-bg-hover:#22154d0a;--color-bg-active:#22154d14;--color-bg-selected:#5b3cc41f;--color-bg-brand-alpha:#5b3cc41a;--color-bg-surface-alpha:#f4f1fd33}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-brand:var(--p-purple-500);--color-brand-hover:var(--p-purple-400);--color-brand-active:var(--p-purple-300);--color-brand-subtle:var(--p-purple-900);--color-brand-faint:var(--p-purple-900);--color-secondary:var(--p-orange-500);--color-secondary-hover:var(--p-orange-400);--color-secondary-active:var(--p-orange-300);--color-secondary-subtle:var(--p-orange-900);--color-accent:var(--p-blue-500);--color-accent-hover:var(--p-blue-400);--color-accent-active:var(--p-blue-300);--color-accent-subtle:var(--p-blue-900);--color-bg:var(--p-purple-900);--color-bg-surface:var(--p-purple-800);--color-bg-elevated:var(--p-purple-700);--color-bg-sunken:var(--p-purple-700);--color-bg-muted:var(--p-purple-800);--color-bg-inset:var(--p-purple-700);--color-text:var(--p-purple-50);--color-text-secondary:var(--p-purple-200);--color-text-tertiary:var(--p-purple-300);--color-text-disabled:var(--p-purple-600);--color-text-inverse:var(--p-purple-900);--color-text-on-brand:var(--p-purple-50);--color-text-on-secondary:var(--p-white);--color-text-on-accent:var(--p-white);--color-border:var(--p-purple-600);--color-border-strong:var(--p-purple-500);--color-border-subtle:var(--p-purple-700);--color-border-input:var(--p-purple-500);--color-border-focus:var(--p-purple-400);--color-action-primary:var(--p-purple-500);--color-action-primary-hover:var(--p-purple-400);--color-action-primary-active:var(--p-purple-300);--color-action-primary-disabled:var(--p-purple-700);--color-action-secondary:var(--p-orange-500);--color-action-secondary-hover:var(--p-orange-400);--color-action-secondary-active:var(--p-orange-300);--color-action-secondary-disabled:var(--p-orange-700);--color-action-accent:var(--p-blue-500);--color-action-accent-hover:var(--p-blue-400);--color-action-accent-active:var(--p-blue-300);--color-action-accent-disabled:var(--p-blue-700);--color-success:var(--p-green-400);--color-success-subtle:var(--p-green-900);--color-success-text:var(--p-green-300);--color-error:var(--p-red-400);--color-error-subtle:var(--p-red-900);--color-error-text:var(--p-red-300);--color-warning:var(--p-amber-400);--color-warning-subtle:var(--p-amber-900);--color-warning-text:var(--p-amber-300);--color-info:var(--p-blue-400);--color-info-subtle:var(--p-blue-900);--color-info-text:var(--p-blue-300);--color-level-low:var(--p-green-400);--color-level-mid:var(--p-amber-400);--color-level-high:var(--p-red-400);--color-focus-ring:var(--p-purple-400);--color-bg-overlay:#22154dcc;--color-bg-hover:#f4f1fd0f;--color-bg-active:#f4f1fd1a;--color-bg-selected:#5b3cc433;--color-bg-brand-alpha:#5b3cc426;--color-bg-surface-alpha:#f4f1fd1a}@font-face{font-family:DFVNFreckleFace;src:url(/fonts/DFVNFreckleFace/DFVN-FreckleFace.otf)format("opentype"),url(/fonts/DFVNFreckleFace/DFVN-FreckleFace.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:LNTH-DK Orenji;src:url(/fonts/LNTHDKOrenji/LNTH-DK%20Orenji-four.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:PatrickHand;src:url(/fonts/PatrickHand/PatrickHand-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Schoolbell;src:url(/fonts/Schoolbell/Schoolbell-Regular.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}:root{--font-display:"DFVNFreckleFace", serif;--font-body:"PatrickHand", cursive;--font-handwriting:"LNTH-DK Orenji", serif;--font-playful:"Schoolbell", cursive;--font-weight-thin:var(--p-fw-thin);--font-weight-light:var(--p-fw-light);--font-weight-regular:var(--p-fw-regular);--font-weight-medium:var(--p-fw-medium);--font-weight-semibold:var(--p-fw-semibold);--font-weight-bold:var(--p-fw-bold);--line-height-none:var(--p-lh-none);--line-height-tight:var(--p-lh-tight);--line-height-snug:var(--p-lh-snug);--line-height-normal:var(--p-lh-normal);--line-height-relaxed:var(--p-lh-relaxed);--line-height-loose:var(--p-lh-loose);--letter-spacing-tighter:var(--p-ls-tighter);--letter-spacing-tight:var(--p-ls-tight);--letter-spacing-normal:var(--p-ls-normal);--letter-spacing-wide:var(--p-ls-wide);--letter-spacing-wider:var(--p-ls-wider);--letter-spacing-widest:var(--p-ls-widest);--type-display-lg:clamp(48px, 6vw, 72px);--type-display-md:clamp(36px, 5vw, 56px);--type-display-sm:clamp(28px, 4vw, 40px);--type-heading-lg:clamp(24px, 3vw, 36px);--type-heading-md:clamp(20px, 2.5vw, 28px);--type-heading-sm:clamp(18px, 2vw, 24px);--type-body-lg:clamp(16px, 1.4vw, 20px);--type-body-md:clamp(14px, 1.1vw, 16px);--type-body-sm:clamp(12px, .9vw, 14px);--type-caption:clamp(11px, .8vw, 12px);--type-label:clamp(12px, .9vw, 14px);--type-display-lg-font:var(--font-display);--type-display-lg-size:var(--type-display-lg);--type-display-lg-weight:var(--font-weight-bold);--type-display-lg-line-height:var(--line-height-tight);--type-display-lg-letter-spacing:var(--letter-spacing-tight);--type-display-md-font:var(--font-display);--type-display-md-size:var(--type-display-md);--type-display-md-weight:var(--font-weight-bold);--type-display-md-line-height:var(--line-height-tight);--type-display-md-letter-spacing:var(--letter-spacing-tight);--type-display-sm-font:var(--font-display);--type-display-sm-size:var(--type-display-sm);--type-display-sm-weight:var(--font-weight-bold);--type-display-sm-line-height:var(--line-height-tight);--type-display-sm-letter-spacing:var(--letter-spacing-tight);--type-heading-lg-font:var(--font-body);--type-heading-lg-size:var(--type-heading-lg);--type-heading-lg-weight:var(--font-weight-bold);--type-heading-lg-line-height:var(--line-height-snug);--type-heading-lg-letter-spacing:var(--letter-spacing-normal);--type-heading-md-font:var(--font-body);--type-heading-md-size:var(--type-heading-md);--type-heading-md-weight:var(--font-weight-semibold);--type-heading-md-line-height:var(--line-height-snug);--type-heading-md-letter-spacing:var(--letter-spacing-normal);--type-heading-sm-font:var(--font-body);--type-heading-sm-size:var(--type-heading-sm);--type-heading-sm-weight:var(--font-weight-semibold);--type-heading-sm-line-height:var(--line-height-snug);--type-heading-sm-letter-spacing:var(--letter-spacing-normal);--type-body-lg-font:var(--font-body);--type-body-lg-size:var(--type-body-lg);--type-body-lg-weight:var(--font-weight-regular);--type-body-lg-line-height:var(--line-height-relaxed);--type-body-lg-letter-spacing:var(--letter-spacing-normal);--type-body-md-font:var(--font-body);--type-body-md-size:var(--type-body-md);--type-body-md-weight:var(--font-weight-regular);--type-body-md-line-height:var(--line-height-normal);--type-body-md-letter-spacing:var(--letter-spacing-normal);--type-body-sm-font:var(--font-body);--type-body-sm-size:var(--type-body-sm);--type-body-sm-weight:var(--font-weight-regular);--type-body-sm-line-height:var(--line-height-normal);--type-body-sm-letter-spacing:var(--letter-spacing-normal);--type-caption-font:var(--font-body);--type-caption-size:var(--type-caption);--type-caption-weight:var(--font-weight-regular);--type-caption-line-height:var(--line-height-normal);--type-caption-letter-spacing:var(--letter-spacing-wide);--type-label-font:var(--font-body);--type-label-size:var(--type-label);--type-label-weight:var(--font-weight-medium);--type-label-line-height:var(--line-height-normal);--type-label-letter-spacing:var(--letter-spacing-wide);--space-0:var(--p-space-0);--space-0-5:var(--p-space-0-5);--space-1:var(--p-space-1);--space-1-5:var(--p-space-1-5);--space-2:var(--p-space-2);--space-3:var(--p-space-3);--space-4:var(--p-space-4);--space-5:var(--p-space-5);--space-6:var(--p-space-6);--space-8:var(--p-space-8);--space-10:var(--p-space-10);--space-12:var(--p-space-12);--space-16:var(--p-space-16);--space-20:var(--p-space-20);--space-24:var(--p-space-24);--space-28:var(--p-space-28);--space-32:var(--p-space-32);--spacing-inset-xs:var(--space-1);--spacing-inset-sm:var(--space-2);--spacing-inset-md:var(--space-3);--spacing-inset-lg:var(--space-4);--spacing-inset-xl:var(--space-6);--spacing-gap-xs:var(--space-1);--spacing-gap-sm:var(--space-2);--spacing-gap-md:var(--space-3);--spacing-gap-lg:var(--space-4);--spacing-gap-xl:var(--space-6);--spacing-gap-2xl:var(--space-8);--spacing-gutter-sm:var(--space-4);--spacing-gutter-md:var(--space-6);--spacing-gutter-lg:var(--space-8);--spacing-fluid-xs:clamp(4px, .6vw, 8px);--spacing-fluid-sm:clamp(8px, 1vw, 16px);--spacing-fluid-md:clamp(12px, 1.5vw, 24px);--spacing-fluid-lg:clamp(16px, 2.5vw, 40px);--spacing-fluid-xl:clamp(24px, 3.5vw, 56px);--spacing-fluid-2xl:clamp(32px, 5vw, 80px);--spacing-fluid-3xl:clamp(48px, 6vw, 100px);--spacing-section:clamp(24px, 5vw, 80px);--border-width-0:var(--p-bw-0);--border-width-1:var(--p-bw-1);--border-width-2:var(--p-bw-2);--border-width-3:var(--p-bw-3);--border-width-4:var(--p-bw-4);--border-width-default:var(--border-width-1);--border-width-subtle:var(--border-width-1);--border-width-strong:var(--border-width-2);--border-width-focus:var(--border-width-2);--radius-none:var(--p-radius-none);--radius-xs:var(--p-radius-xs);--radius-sm:var(--p-radius-sm);--radius-md:var(--p-radius-md);--radius-lg:var(--p-radius-lg);--radius-xl:var(--p-radius-xl);--radius-2xl:var(--p-radius-2xl);--radius-full:var(--p-radius-full);--radius-control:var(--radius-md);--radius-surface:var(--radius-lg);--radius-pill:var(--radius-full);--radius-circle:50%;--border-style-default:solid;--border-style-dashed:dashed;--border-style-dotted:dotted;--shadow-xs:0 1px 2px #22154d0d;--shadow-sm:0 1px 3px #22154d1a, 0 1px 2px #22154d0f;--shadow-md:0 4px 6px #22154d1a, 0 2px 4px #22154d0f;--shadow-lg:0 10px 15px #22154d1a, 0 4px 6px #22154d0d;--shadow-xl:0 20px 25px #22154d1a, 0 8px 10px #22154d0a;--shadow-2xl:0 25px 50px #22154d40;--elevation-0:none;--elevation-1:var(--shadow-xs);--elevation-2:var(--shadow-sm);--elevation-3:var(--shadow-md);--elevation-4:var(--shadow-lg);--elevation-5:var(--shadow-xl);--glow-primary:0 0 12px #5b3cc44d;--glow-primary-strong:0 0 16px #5b3cc466;--glow-secondary:0 0 12px #fe7e014d;--glow-accent:0 0 12px #1e90ff4d;--blur-none:var(--p-blur-none);--blur-xs:var(--p-blur-xs);--blur-sm:var(--p-blur-sm);--blur-md:var(--p-blur-md);--blur-lg:var(--p-blur-lg);--blur-xl:var(--p-blur-xl);--blur-2xl:var(--p-blur-2xl)}[data-theme=dark]{--shadow-xs:0 1px 2px #22154d40;--shadow-sm:0 1px 3px #22154d4d, 0 1px 2px #22154d33;--shadow-md:0 4px 6px #22154d59, 0 2px 4px #22154d40;--shadow-lg:0 10px 15px #22154d66, 0 4px 6px #22154d4d;--shadow-xl:0 20px 25px #22154d80, 0 8px 10px #22154d59;--shadow-2xl:0 25px 50px #22154d99;--glow-primary:0 0 12px #8c6de466;--glow-primary-strong:0 0 16px #8c6de459;--glow-secondary:0 0 12px #ff973659;--glow-accent:0 0 12px #4ca5ff59}:root{--duration-0:var(--p-dur-0);--duration-50:var(--p-dur-50);--duration-100:var(--p-dur-100);--duration-150:var(--p-dur-150);--duration-200:var(--p-dur-200);--duration-250:var(--p-dur-250);--duration-300:var(--p-dur-300);--duration-400:var(--p-dur-400);--duration-500:var(--p-dur-500);--duration-700:var(--p-dur-700);--duration-1000:var(--p-dur-1000);--easing-standard:var(--p-ease-standard);--easing-standard-decelerate:var(--p-ease-standard-decelerate);--easing-standard-accelerate:var(--p-ease-standard-accelerate);--easing-emphasized:var(--p-ease-emphasized);--easing-emphasized-decelerate:var(--p-ease-emphasized-decelerate);--easing-emphasized-accelerate:var(--p-ease-emphasized-accelerate);--easing-linear:var(--p-ease-linear);--motion-duration-fast:var(--duration-150);--motion-duration-normal:var(--duration-250);--motion-duration-slow:var(--duration-400);--motion-easing-enter:var(--easing-emphasized-decelerate);--motion-easing-exit:var(--easing-emphasized-accelerate);--motion-easing-standard:var(--easing-standard);--motion-easing-linear:var(--easing-linear);--transition-fast:var(--duration-150) var(--easing-standard);--transition-normal:var(--duration-250) var(--easing-standard);--transition-slow:var(--duration-400) var(--easing-standard)}@media (prefers-reduced-motion:reduce){:root{--duration-0:0s;--duration-50:0s;--duration-100:0s;--duration-150:0s;--duration-200:0s;--duration-250:0s;--duration-300:0s;--duration-400:0s;--duration-500:0s;--duration-700:0s;--duration-1000:0s;--motion-duration-fast:0s;--motion-duration-normal:0s;--motion-duration-slow:0s;--transition-fast:0s;--transition-normal:0s;--transition-slow:0s}}:root{--icon-size-xs:12px;--icon-size-sm:16px;--icon-size-md:20px;--icon-size-lg:24px;--icon-size-xl:32px;--icon-size-2xl:40px;--control-height-xs:clamp(24px, 3vh, 28px);--control-height-sm:clamp(32px, 3.5vh, 36px);--control-height-md:clamp(40px, 4vw, 48px);--control-height-lg:clamp(48px, 5vw, 56px);--control-height-xl:clamp(56px, 6vw, 64px);--avatar-size-sm:clamp(32px, 4vw, 40px);--avatar-size-md:clamp(48px, 6vw, 64px);--avatar-size-lg:clamp(64px, 8vw, 96px);--avatar-size-xl:clamp(96px, 10vw, 128px);--nav-height-mobile:clamp(52px, 7vh, 64px);--size-btn-height:clamp(40px, 4vw, 56px);--size-progress-ring:clamp(140px, 15vw, 260px);--content-narrow:min(90vw, 580px);--content-toast:min(90vw, 380px);--content-medium:min(90vw, 720px);--content-wide:min(92vw, 960px);--content-max:min(94vw, 1100px);--opacity-0:var(--p-opacity-0);--opacity-10:var(--p-opacity-10);--opacity-20:var(--p-opacity-20);--opacity-30:var(--p-opacity-30);--opacity-40:var(--p-opacity-40);--opacity-50:var(--p-opacity-50);--opacity-60:var(--p-opacity-60);--opacity-70:var(--p-opacity-70);--opacity-80:var(--p-opacity-80);--opacity-90:var(--p-opacity-90);--opacity-100:var(--p-opacity-100);--opacity-disabled:var(--opacity-50);--opacity-subtle:var(--opacity-70);--opacity-overlay:var(--opacity-50);--opacity-ghost:var(--opacity-10);--opacity-hover:.08;--opacity-pressed:.12;--z-hide:-1;--z-base:0;--z-raised:1;--z-dropdown:100;--z-sticky:200;--z-docked:300;--z-overlay:400;--z-modal:500;--z-popover:600;--z-toast:700;--z-tooltip:800;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px}[data-theme=dark]{--opacity-overlay:.6}*{box-sizing:border-box;margin:0;padding:0}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms;animation-duration:.01ms;animation-iteration-count:1}}html,body{background:var(--color-bg);width:100%;font-family:var(--font-body);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{transition:background var(--transition-normal), color var(--transition-normal);color:var(--color-text)}:focus-visible,.btn:focus-visible,.input:focus-visible{outline:2px solid var(--color-brand);outline-offset:var(--space-0-5)}body,.card,.survey-card{transition:background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), color var(--transition-fast)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(var(--space-3))}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(calc(-1 * var(--space-2)))}}@keyframes fadeInLine{to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}.text-title{font-family:var(--font-display);font-size:var(--type-display-lg-size);font-weight:var(--font-weight-bold)}.text-heading{font-family:var(--font-display);font-size:var(--type-heading-lg-size);font-weight:var(--font-weight-semibold)}.text-subheading{font-family:var(--font-display);font-size:var(--type-heading-md-size);font-weight:var(--font-weight-medium)}.text-body{font-family:var(--font-body);font-size:var(--type-body-md-size);font-weight:var(--font-weight-regular)}.text-small{font-family:var(--font-body);font-size:var(--type-body-sm-size);font-weight:var(--font-weight-regular)}.btn{height:var(--size-btn-height);padding:0 var(--space-6);border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--type-body-md-size);font-weight:var(--font-weight-bold);cursor:pointer;transition:transform var(--transition-fast), background var(--transition-fast);-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;display:inline-flex}.btn:hover{transform:scale(1.02)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:var(--opacity-disabled);pointer-events:none}.btn-primary{background:var(--color-brand);color:var(--color-text-on-brand)}.btn-primary:hover{background:var(--color-brand-hover)}.btn-secondary{color:var(--color-brand);border:var(--space-1) solid var(--color-brand);background:0 0}.btn-secondary:hover{background:var(--color-brand-faint)}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-ghost:hover{background:var(--color-bg-hover)}.btn-danger{background:var(--color-error);color:var(--color-text-on-brand)}.card{background:var(--color-bg-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-6)}.input{width:100%;height:var(--size-btn-height);padding:0 var(--space-4);border:var(--border-width-1) solid var(--color-border-input);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--type-body-md-size);background:var(--color-bg-surface);color:var(--color-text);transition:border-color var(--transition-fast);outline:none}.input:focus{border-color:var(--color-brand);box-shadow:0 0 0 var(--space-1) var(--color-brand-faint)}.input.error{border-color:var(--color-error)}.btn-sm{height:var(--space-10);padding:0 var(--space-4);font-size:var(--type-body-sm-size);gap:var(--space-2)}.btn-xs{height:var(--icon-size-md);padding:0 var(--space-3);font-size:var(--type-caption-size);gap:var(--space-1)}.btn-lg{height:var(--size-btn-height);padding:0 var(--space-8);font-size:var(--type-body-md-size);gap:var(--space-2)}.btn-outline{color:var(--color-text-secondary);border:var(--border-width-1) solid var(--color-border);background:0 0}.btn-outline:hover{border-color:var(--color-brand-subtle);color:var(--color-brand)}[data-theme=dark] .btn-secondary{color:var(--color-brand)}.toggle-switch{border-radius:var(--radius-full);background:var(--color-bg-muted);padding:var(--space-1);cursor:pointer;font:inherit;isolation:isolate;border:none;width:fit-content;display:flex;position:relative}.ts-indicator{top:var(--space-1);left:var(--space-1);height:calc(100% - var(--space-2));border-radius:var(--radius-full);background:var(--color-brand);box-shadow:var(--shadow-sm);transition:left calc(var(--transition-normal) * 1.5) cubic-bezier(.34, 1.56, .64, 1), right calc(var(--transition-normal) * 1.5) cubic-bezier(.34, 1.56, .64, 1);z-index:0;pointer-events:none;position:absolute;right:50%}.toggle-switch.indicator-right .ts-indicator{left:50%;right:var(--space-1)}.ts-option{z-index:1;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--type-body-sm-size);color:var(--color-text-secondary);transition:color var(--transition-fast) ease;-webkit-user-select:none;user-select:none;cursor:pointer;flex:1;justify-content:center;align-items:center;display:flex;position:relative}.ts-option.active{color:var(--color-text-on-brand)}body{flex-direction:column;min-height:100dvh;display:flex;overflow-x:hidden}#app{flex-direction:column;flex:1;display:flex}#app>[data-screen]{display:none}#app>[data-screen].active{background:var(--color-bg);display:block}#app>.home-screen.active,#app>.symptoms-screen.active,#app>.coworking-overlay.active,#app>.profile-screen.active,#app>.symptom-detail-screen.active,#app>.method-detail-screen.active,#app>.brainfog-survey-screen.active,#app>.card-tool-screen.active,#app>.result-screen.active{flex-direction:column;flex:1;justify-content:center;display:flex;overflow:auto}.page-body{padding:var(--spacing-fluid-md);flex-direction:column;justify-content:center;align-items:center;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-header{z-index:var(--z-sticky);background:var(--color-bg-surface);box-shadow:0 var(--space-0-5) var(--space-2) var(--color-bg-hover);position:sticky;top:0;left:0;right:0}.app-header-inner{align-items:center;gap:var(--space-4);padding:0 var(--space-4);height:var(--control-height-xl);grid-template-columns:1fr auto 1fr;display:grid}.app-header-brand{font-family:var(--font-display);font-size:var(--type-body-lg);font-weight:var(--font-weight-bold);color:var(--color-brand);white-space:nowrap;justify-self:start}.app-header-links{justify-self:center;align-items:center;gap:var(--space-1);margin:0;padding:0;list-style:none;display:flex}.app-header-link{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-secondary);font-family:var(--font-body);font-size:var(--type-body-md);font-weight:var(--font-weight-medium);white-space:nowrap;transition:background var(--transition-fast), color var(--transition-fast);-webkit-user-select:none;user-select:none;touch-action:manipulation;display:flex}.app-header-link svg{color:var(--color-text-secondary);transition:color var(--transition-fast);flex-shrink:0}.app-header-link:hover{background:var(--color-bg-hover);color:var(--color-brand)}.app-header-link:hover svg{color:var(--color-brand)}.app-header-link.active{background:var(--color-bg-brand-alpha);color:var(--color-brand);font-weight:var(--font-weight-semibold)}.app-header-link.active svg{color:var(--color-brand)}.app-header-link.disabled{opacity:var(--opacity-disabled);cursor:not-allowed;pointer-events:none}.app-header-link:focus-visible{outline:2px solid var(--color-brand);outline-offset:-2px}@media (width>=769px){.app-header{display:block}}@media (width<=768px){.app-header{display:none}}@media (prefers-reduced-motion:reduce){.app-header-link,.app-tab{transition:none}}.app-tabs{z-index:var(--z-docked);background:var(--color-bg-surface);box-shadow:0 calc(-1 * var(--space-0-5)) var(--space-2) var(--color-bg-hover);-webkit-backdrop-filter:blur(var(--blur-lg));padding-bottom:env(safe-area-inset-bottom,0px);display:none;position:fixed;bottom:0;left:0;right:0}.app-tab{justify-content:center;align-items:center;gap:var(--space-0-5);padding:var(--space-2) 0;min-height:var(--space-12);cursor:pointer;color:var(--color-text-secondary);font-family:var(--font-body);font-size:var(--type-caption);font-weight:var(--font-weight-medium);transition:color var(--transition-fast);-webkit-user-select:none;user-select:none;touch-action:manipulation;background:0 0;border:none;flex-direction:column;flex:1;display:flex;position:relative}.app-tab svg{color:var(--color-text-secondary);transition:color var(--transition-fast);flex-shrink:0}.app-tab:hover,.app-tab:hover svg{color:var(--color-brand)}.app-tab.active{color:var(--color-brand);font-weight:var(--font-weight-semibold)}.app-tab.active svg{color:var(--color-brand)}.app-tab.active:before{content:"";height:var(--space-0-5);background:var(--color-brand);border-radius:0 0 var(--radius-sm) var(--radius-sm);position:absolute;top:0;left:25%;right:25%}.app-tab.disabled{opacity:var(--opacity-disabled);cursor:not-allowed;pointer-events:none}.app-tab:focus-visible{outline:2px solid var(--color-brand);outline-offset:-2px}@media (width<=768px){.app-tabs{display:flex}}[data-theme=dark] .app-tabs{background:var(--color-bg-surface)}.app-footer{padding:var(--spacing-fluid-lg) var(--spacing-fluid-md);background:var(--color-bg-surface);flex-shrink:0}.app-footer-inner{max-width:var(--content-wide);justify-content:space-between;align-items:center;gap:var(--spacing-fluid-lg);margin:0 auto;display:flex}.app-footer-left{align-items:center;gap:var(--spacing-fluid-sm);flex-direction:column;display:flex}.app-footer-right{justify-content:center;gap:var(--space-3) var(--space-5);flex-wrap:wrap;display:flex}.app-footer-right a{font-family:var(--font-body);font-size:var(--type-body-lg);color:var(--color-text-secondary);transition:color var(--transition-fast);white-space:nowrap;text-decoration:none}.app-footer-right a:hover{color:var(--color-brand)}.app-footer-brand{font-family:var(--font-display);font-size:var(--type-heading-md);color:var(--color-brand)}.app-footer-tagline{font-family:var(--font-body);font-size:var(--type-body-lg);color:var(--color-text-secondary)}.app-footer-social{gap:var(--space-3);display:flex}.app-footer-social-link{color:var(--color-text-secondary);transition:color var(--transition-fast);justify-content:center;align-items:center;display:flex}.app-footer-social-link:hover{color:var(--color-brand)}.app-footer-social-link svg{width:var(--icon-size-lg);height:var(--icon-size-lg)}.app-footer-copy{font-family:var(--font-body);font-size:var(--type-caption);color:var(--color-text-tertiary)}@media (width<=768px){.app-footer{padding:var(--spacing-fluid-md) var(--spacing-fluid-sm);margin-bottom:var(--nav-height-mobile)}.app-footer-inner{text-align:center;flex-direction:column}.app-footer-left{align-items:center}.app-footer-right{justify-content:center}}#app>.brainfog-intro-screen.active{flex-direction:column;flex:1;justify-content:center;display:flex;overflow:auto}.brainfog-intro-card{width:100%;max-width:var(--content-medium);margin-inline:auto}.brainfog-intro-title{font-family:var(--font-display);font-size:var(--type-heading-md);color:var(--color-brand);margin-bottom:var(--spacing-fluid-md)}.brainfog-intro-section{margin-bottom:var(--spacing-fluid-md)}.brainfog-intro-section h2{font-size:var(--type-heading-sm);color:var(--color-text);margin-bottom:var(--space-2)}.brainfog-intro-definition{line-height:var(--line-height-relaxed);color:var(--color-text-secondary)}.brainfog-subscale-list{gap:var(--space-3);flex-direction:column;display:flex}.brainfog-subscale-item{align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);border-left:3px solid #0000;display:flex}.brainfog-subscale-item.cognitive{background:var(--color-accent-subtle);border-left-color:var(--color-accent)}.brainfog-subscale-item.physiological{background:var(--color-secondary-subtle);border-left-color:var(--color-secondary)}.brainfog-subscale-item.psychological{background:var(--color-brand-subtle);border-left-color:var(--color-brand)}.brainfog-subscale-item strong{color:var(--color-text);margin-bottom:var(--space-1);display:block}.brainfog-subscale-item p{color:var(--color-text-secondary);font-size:var(--type-body-md-size);line-height:var(--line-height-normal)}.brainfog-subscale-icon{width:var(--icon-size-md);height:var(--icon-size-md);flex-shrink:0;justify-content:center;align-self:center;align-items:center;display:flex}.brainfog-subscale-icon svg{width:var(--icon-size-sm);height:var(--icon-size-sm)}.brainfog-subscale-item.cognitive .brainfog-subscale-icon{color:var(--color-accent)}.brainfog-subscale-item.physiological .brainfog-subscale-icon{color:var(--color-secondary)}.brainfog-subscale-item.psychological .brainfog-subscale-icon{color:var(--color-brand)}.brainfog-intro-citation{border-left:var(--space-1) solid var(--color-brand);padding-left:var(--space-4)}.brainfog-intro-refs{font-size:var(--type-caption-size);color:var(--color-text-tertiary);line-height:var(--line-height-relaxed)}.brainfog-intro-refs a{color:var(--color-brand);text-decoration:underline}.brainfog-intro-privacy{background:var(--color-warning-subtle);border-left:4px solid var(--color-warning);border-radius:var(--radius-md);padding:var(--space-4)}.brainfog-intro-disclaimer{font-size:var(--type-caption-size);color:var(--color-warning-text);line-height:var(--line-height-normal)}[data-theme=dark] .brainfog-intro-disclaimer{color:var(--color-warning-text)}.brainfog-intro-actions{gap:var(--space-3);margin-top:var(--spacing-fluid-lg);flex-wrap:wrap;display:flex}.brainfog-survey-container{width:100%}.brainfog-survey-steps{gap:var(--space-1);margin-bottom:var(--spacing-fluid-md);display:flex;overflow-x:auto}.bf-step{text-align:center;padding:var(--space-2) var(--space-1);font-size:var(--type-caption-size);font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);border-bottom:var(--space-1) solid var(--color-border);white-space:nowrap;transition:color var(--transition-fast), border-color var(--transition-fast);cursor:default;flex:1}.bf-step.visited{cursor:pointer;color:var(--color-brand);border-color:var(--color-brand)}.bf-step.visited:hover{color:var(--color-brand);border-color:var(--color-brand)}.bf-step.completed{color:var(--color-success);border-color:var(--color-success)}.brainfog-survey-body{min-height:clamp(200px,30vh,400px)}.bf-section-title{font-family:var(--font-display);font-size:var(--type-heading-sm-size);color:var(--color-text);margin-bottom:var(--space-1)}.bf-section-desc{color:var(--color-text-secondary);font-size:var(--type-body-md-size);margin-bottom:var(--spacing-fluid-md)}.bf-field{margin-bottom:var(--spacing-fluid-md)}.bf-field-error{font-size:var(--type-body-sm-size);color:var(--color-error);margin-top:var(--space-1);display:none}.bf-field label{font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--space-2);font-size:var(--type-body-md-size);display:block}.bf-required{color:var(--color-error);margin-left:var(--space-0-5)}.bf-input{width:100%;max-width:100%;padding:var(--space-3) var(--space-3);border:var(--border-width-1) solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--type-body-md-size);background:var(--color-bg-surface);color:var(--color-text);transition:border-color var(--transition-fast);box-sizing:border-box}#bf-field-nickname .bf-input{max-width:calc(2*clamp(100px,20vw,140px))}#bf-field-age .bf-input{max-width:clamp(100px,20vw,140px)}.bf-input:focus{border-color:var(--color-brand);outline:none}.bf-select-wrapper{width:100%;max-width:clamp(100px,20vw,140px);display:inline-block;position:relative}.bf-select-wrapper:after{content:"";top:50%;right:var(--space-4);border-left:5px solid #0000;border-right:5px solid #0000;border-top:var(--border-width-4) solid var(--color-brand);width:0;height:0;transition:transform var(--transition-fast);pointer-events:none;position:absolute;translate:0 -50%}.bf-select-wrapper:focus-within:after{transform:rotate(180deg)}.bf-field select{appearance:none;max-width:unset;cursor:pointer;width:100%;padding-right:calc(var(--space-4) + 10px + var(--space-2))}.bf-question-list{gap:var(--space-6);flex-direction:column;display:flex}.bf-question-item{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-bg-elevated);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.bf-question-missing{border-color:var(--color-error);box-shadow:0 0 0 2px var(--color-error)}.bf-question-text{font-size:var(--type-body-md-size);color:var(--color-text);margin-bottom:var(--space-3);line-height:1.5}.bf-likert{gap:var(--space-1);display:flex}.bf-likert-option{align-items:center;gap:var(--space-1);cursor:pointer;padding:var(--space-2) var(--space-1);border-radius:var(--radius-sm);transition:background var(--transition-fast);flex-direction:column;flex:1;display:flex}.bf-likert-option:hover,.bf-likert-option.selected{background:var(--color-brand-faint)}.bf-likert-option input{display:none}.bf-likert-circle{width:var(--icon-size-lg);height:var(--icon-size-lg);border-radius:var(--radius-circle);border:var(--space-1) solid var(--color-border);font-size:var(--type-caption-size);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.bf-likert-option.selected .bf-likert-circle{background:var(--color-brand);border-color:var(--color-brand);color:var(--color-text-on-brand)}.bf-likert-label{font-size:var(--type-caption-size);color:var(--color-text-tertiary);text-align:center;line-height:var(--line-height-normal);white-space:nowrap}.bf-likert-option.selected .bf-likert-label{color:var(--color-brand)}.brainfog-survey-progress{height:var(--space-1);background:var(--color-border);border-radius:var(--radius-sm);margin:var(--spacing-fluid-md) 0;overflow:hidden}.brainfog-survey-progress-bar{background:var(--color-brand);border-radius:var(--radius-sm);height:100%;transition:width var(--transition-normal);width:0}.brainfog-survey-nav{margin-top:var(--spacing-fluid-md)}.bf-nav-buttons{gap:var(--space-3);justify-content:flex-end;display:flex}.bf-result{text-align:center;padding:var(--spacing-fluid-lg) 0;position:relative;overflow:hidden}.bf-confetti{pointer-events:none;z-index:var(--z-raised);position:absolute;inset:0}.bf-confetti-piece{border-radius:var(--radius-sm);opacity:0;animation:linear forwards bf-confetti-fall;position:absolute;top:-10px}@keyframes bf-confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}.bf-result-image{width:var(--avatar-size-md);height:var(--avatar-size-md);object-fit:contain;margin-bottom:var(--spacing-fluid-md);animation:3s ease-in-out infinite float}.bf-result-level{font-family:var(--font-display);font-size:var(--type-heading-md-size);color:var(--color-brand);margin-bottom:var(--space-2)}.bf-result-score{margin-bottom:var(--spacing-fluid-md)}.bf-result-total{font-size:var(--type-display-sm-size);font-weight:var(--font-weight-bold);color:var(--color-text)}.bf-result-total small{font-size:40%;font-weight:var(--font-weight-regular);color:var(--color-text-tertiary)}.bf-result .kiri-canvas,.bf-result .kiri-card-skeleton{max-width:520px;margin:0 auto}.bf-result-story{margin:0 auto var(--spacing-fluid-md);text-align:center;border-top:var(--border-width-1) solid var(--color-border);border-bottom:var(--border-width-1) solid var(--color-border);padding:var(--spacing-fluid-md) 0 0}.bf-result-story-text{font-size:var(--type-body-md-size);line-height:var(--line-height-relaxed);color:var(--color-text);margin:0 0 var(--spacing-fluid-md)}.bf-result-story-cta{display:inline-block}.bf-result-home{margin-top:var(--spacing-fluid-xs);display:inline-block}.bf-result-disclaimer{font-size:var(--type-body-sm-size);color:var(--color-text-tertiary);margin-top:var(--spacing-fluid-md);line-height:1.5}.bf-result-sync-disclaimer{font-size:var(--type-body-xs-size);color:var(--color-text-tertiary);margin-top:var(--space-3);line-height:1.5}.coworking-layout{gap:var(--spacing-fluid-md);flex:1;grid-template-columns:3fr 7fr;width:100%;min-height:0;display:grid}.coworking-right-col{flex-direction:column;min-width:0;display:flex}@media (width<=768px){.coworking-layout{grid-template-columns:1fr}}.coworking-timer-title{font-family:var(--font-display);font-size:var(--type-body-md-size);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--spacing-fluid-sm);justify-content:center;align-items:center;gap:var(--space-2);display:flex}.coworking-timer-section{text-align:center;background:var(--color-bg-elevated);border-radius:var(--radius-xl);padding:var(--spacing-fluid-lg);box-shadow:var(--shadow-md);flex-direction:column;justify-content:center;align-self:start;display:flex}.coworking-durations{justify-content:center;gap:var(--spacing-fluid-md);margin-bottom:var(--spacing-fluid-sm);flex-wrap:wrap;display:flex}.coworking-dur-group{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.coworking-dur-group label{font-family:var(--font-body);font-size:var(--type-caption-size);color:var(--color-text-secondary);letter-spacing:var(--letter-spacing-wide);font-weight:var(--font-weight-semibold)}.coworking-dur-control{align-items:center;gap:var(--space-2);background:var(--color-bg-muted);border-radius:var(--radius-full);padding:var(--space-1);border:var(--border-width-1) solid var(--color-border);display:flex}.coworking-dur-btn{width:var(--icon-size-md);height:var(--icon-size-md);border-radius:var(--radius-circle);background:var(--color-bg-elevated);color:var(--color-text-secondary);font-size:var(--type-body-md-size);line-height:var(--line-height-none);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);font-weight:var(--font-weight-bold);border:none;justify-content:center;align-items:center;display:flex}.coworking-dur-btn:hover{background:var(--color-brand);color:var(--color-text-on-brand);transform:scale(1.1)}.coworking-dur-btn:active{transform:scale(.95)}.coworking-dur-value{font-family:var(--font-display);font-size:var(--type-body-lg-size);color:var(--color-text);min-width:var(--icon-size-md);text-align:center;font-weight:var(--font-weight-bold)}.coworking-dur-unit{font-family:var(--font-body);font-size:var(--type-caption-size);color:var(--color-text-tertiary);margin-right:var(--space-1)}.coworking-progress{width:var(--size-progress-ring);height:var(--size-progress-ring);margin:0 auto var(--spacing-fluid-xs);border-radius:var(--radius-circle);background:conic-gradient(var(--color-brand) var(--progress,0%), var(--color-border) 0%);transition:box-shadow var(--transition-normal);justify-content:center;align-items:center;display:flex;position:relative}.coworking-progress.running{filter:drop-shadow(0 0 24px #5b3cc433)drop-shadow(0 0 60px #5b3cc414);animation:2s ease-in-out infinite coworkingTimerPulse}.coworking-progress-inner{border-radius:var(--radius-circle);background:var(--color-bg-elevated);flex-direction:column;justify-content:center;align-items:center;width:85%;height:85%;display:flex}.coworking-mode{font-family:var(--font-body);font-size:var(--type-body-sm-size);color:var(--color-text-secondary);margin-bottom:var(--space-1);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);transition:color var(--transition-fast)}.coworking-mode.break-mode{color:var(--color-secondary)}.coworking-time{font-family:var(--font-display);font-size:var(--type-display-sm-size);color:var(--color-brand);transition:color var(--transition-fast);line-height:var(--line-height-tight)}.coworking-time.break-mode{color:var(--color-secondary)}.coworking-pomodoro-count{font-family:var(--font-body);font-size:var(--type-caption-size);color:var(--color-text-tertiary);margin-top:var(--space-1);min-height:var(--space-6);justify-content:center;align-items:center;gap:var(--space-1);display:flex}.coworking-timer-actions{gap:var(--space-2);margin-top:var(--spacing-fluid-sm);justify-content:center;align-items:center;display:flex}.coworking-timer-actions .btn{font-size:var(--type-caption-size);padding:var(--space-2) var(--space-4);height:var(--size-btn-height)}.coworking-timer-actions .btn-ghost{color:var(--color-text-secondary)}.coworking-timer-actions .btn-ghost:hover{background:var(--color-brand-faint);color:var(--color-brand)}@keyframes coworkingTimerPulse{0%,to{filter:drop-shadow(0 0 24px #5b3cc433)drop-shadow(0 0 60px #5b3cc414)}50%{filter:drop-shadow(0 0 32px #5b3cc44d)drop-shadow(0 0 80px #5b3cc41f)}}[data-theme=dark] .coworking-progress.running{filter:drop-shadow(0 0 30px #8c6de440)drop-shadow(0 0 70px #8c6de41a);animation:2s ease-in-out infinite coworkingTimerPulseDark}[data-theme=dark] .coworking-dur-control{background:var(--color-bg-surface)}@keyframes coworkingTimerPulseDark{0%,to{filter:drop-shadow(0 0 30px #8c6de440)drop-shadow(0 0 70px #8c6de41a)}50%{filter:drop-shadow(0 0 40px #8c6de459)drop-shadow(0 0 90px #8c6de426)}}.coworking-room-section{background:var(--color-bg-elevated);border-radius:var(--radius-xl);padding:var(--spacing-fluid-lg) var(--spacing-fluid-md);box-shadow:var(--shadow-md);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.coworking-room-title{font-family:var(--font-display);font-size:var(--type-body-md-size);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--spacing-fluid-sm);justify-content:center;align-items:center;gap:var(--space-2);display:flex}.coworking-room-actions{gap:var(--space-3);flex-direction:column;align-items:center;display:flex}.coworking-room-or{font-family:var(--font-body);font-size:var(--type-caption-size);color:var(--color-text-tertiary);letter-spacing:var(--letter-spacing-wide)}.coworking-room-join-row{gap:var(--space-2);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.coworking-room-input{text-align:center;width:140px;font-family:var(--font-display);font-size:var(--type-body-md-size);letter-spacing:var(--letter-spacing-wider);padding:var(--space-2) var(--space-3);border:var(--border-width-2) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text);transition:border-color var(--transition-fast);outline:none}.coworking-room-input:focus{border-color:var(--color-brand)}.coworking-room-loading{padding:var(--space-8) 0;justify-content:center;align-items:center;display:flex}.coworking-room-error{font-family:var(--font-body);font-size:var(--type-caption-size);color:var(--color-error);margin-top:var(--space-1)}.coworking-avatar-section{margin-top:var(--spacing-fluid-sm)}.coworking-avatar-header{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.coworking-avatar-label{font-family:var(--font-body);font-size:var(--type-caption-size);color:var(--color-text-secondary);margin-bottom:var(--space-2);display:block}.coworking-random-toggle{font-family:var(--font-body);font-size:var(--type-caption-size);color:var(--color-text-tertiary);background:var(--color-bg-muted);border:var(--border-width-1) solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-1) var(--space-3);cursor:pointer;align-items:center;gap:var(--space-1);transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);white-space:nowrap;display:inline-flex}.coworking-random-toggle:hover{background:var(--color-brand-faint);color:var(--color-brand);border-color:var(--color-brand)}.coworking-random-toggle.active{background:var(--color-brand);color:var(--color-text-on-brand);border-color:var(--color-brand)}.coworking-avatar-grid{gap:var(--space-2);transition:opacity var(--transition-fast);flex-wrap:wrap;justify-content:center;display:flex}.coworking-avatar-grid.disabled{opacity:var(--opacity-disabled);pointer-events:none}.coworking-avatar-option{width:var(--avatar-size-sm);height:var(--avatar-size-sm);border-radius:var(--radius-full);border:var(--border-width-2) solid transparent;cursor:pointer;transition:border-color var(--transition-fast), transform var(--transition-fast);background:var(--color-bg-muted);padding:var(--space-0-5);overflow:hidden}.coworking-avatar-option:hover{transform:scale(1.1)}.coworking-avatar-option.selected{background:var(--color-bg);border-color:var(--color-brand);box-shadow:var(--glow-primary)}.coworking-avatar-option img{object-fit:contain;width:100%;height:100%}.coworking-lobby{gap:var(--spacing-fluid-md);flex-direction:column;flex:1;min-height:0;display:flex}.coworking-lobby-header{gap:var(--spacing-fluid-lg);background:var(--color-bg-elevated);border-radius:var(--radius-xl);padding:var(--spacing-fluid-md);box-shadow:var(--shadow-md);align-items:center;display:flex}.coworking-lobby-header-left{text-align:center;flex:1;min-width:200px}.coworking-lobby-header-right{border-left:var(--border-width-1) solid var(--color-border);min-width:0;padding-left:var(--spacing-fluid-md);flex:1}.coworking-lobby-code-label{font-family:var(--font-body);font-size:var(--type-caption-size);color:var(--color-text-secondary);letter-spacing:var(--letter-spacing-wide);margin-bottom:var(--space-1)}.coworking-lobby-code{font-family:var(--font-display);font-size:var(--type-display-md);font-weight:var(--font-weight-bold);color:var(--color-brand);letter-spacing:var(--letter-spacing-widest);line-height:1.2}.coworking-lobby-code-actions{gap:var(--space-2);margin-top:var(--space-2);justify-content:center;display:flex}.coworking-lobby-code-actions .btn{font-size:var(--type-caption-size);padding:var(--space-1) var(--space-3);height:auto}.coworking-lobby-participants{font-family:var(--font-body);font-size:var(--type-caption-size);color:var(--color-text-secondary);margin-top:var(--space-2)}.coworking-lobby-stage{min-height:var(--space-5);background:var(--color-bg-muted);border-radius:var(--radius-xl);border:var(--border-width-1) solid var(--color-border);flex:1;position:relative;overflow:hidden}.coworking-lobby-stage-inner{position:absolute;inset:0}.coworking-float-avatar{width:var(--avatar-size-sm);will-change:transform;cursor:grab;flex-direction:column;align-items:center;display:flex;position:absolute}.coworking-float-avatar.dragging{cursor:grabbing;z-index:var(--z-dropdown);filter:drop-shadow(0 8px 20px #22154d40)}.coworking-float-avatar img{filter:drop-shadow(0 2px 6px #22154d26);pointer-events:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;width:100%;height:auto}.coworking-float-avatar .coworking-float-name{pointer-events:none;-webkit-user-select:none;user-select:none;font-family:var(--font-body);font-size:var(--type-caption-size);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);white-space:nowrap;margin-top:var(--space-0-5);text-shadow:0 0 4px var(--color-bg)}.coworking-float-avatar.is-host img{filter:drop-shadow(0 0 10px #5b3cc473)}.coworking-float-avatar.is-new{animation:.6s cubic-bezier(.34,1.56,.64,1) forwards avatar-enter}.coworking-float-avatar.is-new img{animation:.6s ease-out avatar-glow}@keyframes avatar-enter{0%{opacity:0;filter:drop-shadow(0 0 #0000)}40%{opacity:1;filter:drop-shadow(0 0 18px #5b3cc4b3)}to{opacity:1;filter:drop-shadow(0 0 #0000)}}@keyframes avatar-glow{0%{transform:scale(.3)}50%{transform:scale(1.25)}to{transform:scale(1)}}.coworking-lobby-empty{height:100%;color:var(--color-text-tertiary);font-family:var(--font-body);font-size:var(--type-body-sm-size);justify-content:center;align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.coworking-lobby-empty-icon{font-size:var(--type-body-md-size);opacity:var(--opacity-disabled)}.coworking-modal-backdrop{background:var(--color-bg-overlay);z-index:var(--z-sticky);justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.coworking-modal-content{background:var(--color-bg-elevated);border-radius:var(--radius-xl);padding:var(--spacing-fluid-lg);width:90%;max-width:420px;box-shadow:var(--shadow-lg);text-align:center}.coworking-modal-title{font-family:var(--font-display);font-size:var(--type-body-md-size);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--spacing-fluid-sm)}.coworking-modal-actions{gap:var(--space-2);margin-top:var(--spacing-fluid-md);justify-content:center;display:flex}.coworking-room-section .btn{font-size:var(--type-caption-size);padding:var(--space-2) var(--space-4);height:var(--size-btn-height)}.coworking-room-section .btn-primary{min-width:100px}[data-theme=dark] .coworking-avatar-option.selected{background:var(--color-bg-elevated);border-color:var(--color-brand);box-shadow:var(--glow-primary)}[data-theme=dark] .coworking-float-avatar.is-host{box-shadow:var(--glow-primary-strong)}.coworking-lobby-bot-actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.coworking-bot-form{text-align:center}.coworking-room-name-row{gap:var(--space-1);margin-top:var(--spacing-fluid-sm);margin-bottom:var(--spacing-fluid-sm);flex-direction:column;align-items:center;display:flex}.coworking-name-input{box-sizing:border-box;width:100%;max-width:220px}.coworking-bot-id-row{gap:var(--space-2);margin-bottom:var(--space-2);align-items:center;display:flex}.coworking-bot-code-badge{font-family:var(--font-display);font-size:var(--type-body-md-size);font-weight:var(--font-weight-bold);color:var(--color-brand);background:var(--color-brand-faint);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);min-width:var(--space-12);text-align:center;letter-spacing:var(--letter-spacing-wider);flex-shrink:0}.coworking-bot-input{box-sizing:border-box;width:100%;max-width:220px}.coworking-bot-name-error{font-size:var(--type-body-sm-size);color:var(--color-error);margin-top:var(--space-1);display:none}.coworking-bot-form-actions{gap:var(--space-2);margin-top:var(--space-2);justify-content:center;display:flex}.coworking-float-remove{top:calc(-1 * var(--space-1-5));right:calc(-1 * var(--space-1-5));width:var(--icon-size-md);height:var(--icon-size-md);border-radius:var(--radius-full);background:var(--color-error);color:var(--color-text-on-brand);font-size:var(--type-caption-size);line-height:var(--line-height-none);cursor:pointer;z-index:var(--z-base);pointer-events:auto;opacity:0;transition:opacity var(--transition-fast);border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.coworking-float-avatar:hover .coworking-float-remove{opacity:1}.coworking-float-remove:hover{transform:scale(1.15)}.coworking-stage-expand{top:var(--spacing-fluid-sm);right:var(--spacing-fluid-sm);z-index:var(--z-raised);width:var(--icon-size-xl);height:var(--icon-size-xl);border-radius:var(--radius-full);background:var(--color-bg-elevated);color:var(--color-text-secondary);cursor:pointer;transition:transform var(--duration-150);border:none;justify-content:center;align-items:center;display:flex;position:absolute}.coworking-stage-expand:hover{transform:scale(1.15)}.coworking-stage-close{top:calc(var(--space-4) + var(--size-btn-height) + var(--space-2));right:var(--space-4);z-index:var(--z-overlay);padding:var(--space-2) var(--space-4);height:var(--size-btn-height);background:var(--color-bg-elevated);border-radius:var(--radius-full);cursor:pointer;align-items:center;gap:var(--space-2);box-shadow:var(--shadow-sm);font-family:var(--font-body);font-size:var(--type-body-md-size);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);white-space:nowrap;transition:background var(--transition-fast), box-shadow var(--transition-fast), color var(--transition-fast);border:none;display:none;position:fixed}.coworking-stage-close:hover{background:var(--color-brand-faint);box-shadow:var(--shadow-md);color:var(--color-brand)}@media (width<=768px){.coworking-stage-close{top:auto;bottom:calc(var(--space-16) + var(--space-10) + var(--space-2) + env(safe-area-inset-bottom,0px));right:var(--space-3)}}.coworking-lobby-stage.expanded{z-index:var(--z-overlay);padding:var(--spacing-fluid-md);background:var(--color-bg-muted);border-radius:0;justify-content:center;align-items:center;margin:0;animation:.2s ease-out stage-expand-in;display:flex;position:fixed;inset:0}@keyframes stage-expand-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.coworking-float-avatar.is-self{box-shadow:0 0 0 var(--border-width-2) var(--color-brand);border-radius:var(--radius-full)}.coworking-stage-bots-toggle{top:calc(var(--space-4) + var(--size-btn-height) * 2 + var(--space-2) * 2);right:var(--space-4);z-index:var(--z-overlay);padding:var(--space-2) var(--space-4);height:var(--size-btn-height);background:var(--color-bg-elevated);border-radius:var(--radius-full);cursor:pointer;align-items:center;gap:var(--space-2);box-shadow:var(--shadow-sm);font-family:var(--font-body);font-size:var(--type-body-md-size);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);white-space:nowrap;transition:background var(--transition-fast), box-shadow var(--transition-fast), color var(--transition-fast);border:none;display:none;position:fixed}.coworking-stage-bots-toggle:hover{background:var(--color-brand-faint);box-shadow:var(--shadow-md);color:var(--color-brand)}@media (width<=768px){.coworking-stage-bots-toggle{top:auto;bottom:calc(var(--space-16) + var(--space-10) + var(--space-2) + var(--size-btn-height) + var(--space-2) + env(safe-area-inset-bottom,0px));right:var(--space-3)}}.coworking-stage-bots-panel{top:calc(var(--space-4) + var(--size-btn-height) * 2 + var(--space-2) * 2 + var(--size-btn-height) + var(--space-1));right:var(--space-4);width:340px;max-height:440px;z-index:var(--z-overlay);background:var(--color-bg-elevated);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:var(--border-width-1) solid var(--color-border);opacity:0;pointer-events:none;transition:opacity var(--duration-150) ease-out, transform var(--duration-150) ease-out;position:fixed;overflow-y:auto;transform:translateY(-6px)}.coworking-stage-bots-panel.open{opacity:1;pointer-events:auto;transform:translateY(0)}.coworking-stage-bots-panel-inner{padding:var(--spacing-fluid-md);text-align:center}.coworking-stage-bots-header{font-family:var(--font-display);font-size:var(--type-body-md-size);font-weight:var(--font-weight-bold);color:var(--color-text);margin-bottom:var(--spacing-fluid-sm);text-align:center}@media (width<=768px){.coworking-stage-bots-panel{top:auto;bottom:calc(var(--space-16) + var(--space-10) + var(--space-2) + (var(--size-btn-height) + var(--space-2)) * 2 + env(safe-area-inset-bottom,0px));right:var(--space-3);width:calc(100vw - var(--space-3) * 2);max-height:50vh}}.home-grid{align-content:center;gap:var(--spacing-fluid-md);grid-template:"kiri mood""cal cal"/1fr 1fr;width:100%;display:grid}.home-kiri-panel{background:var(--color-bg-elevated);border-radius:var(--radius-xl);padding:0 0 var(--spacing-fluid-lg) 0;box-shadow:var(--shadow-md);flex-direction:column;grid-area:kiri;justify-content:center;align-self:center;display:flex;position:relative}.home-mood-panel{background:var(--color-bg-elevated);border-radius:var(--radius-xl);padding:var(--spacing-fluid-lg);box-shadow:var(--shadow-md);justify-content:center;align-self:center;gap:var(--space-3);flex-direction:column;grid-area:mood;display:flex}.quick-mood-header{justify-content:space-between;align-items:center;display:flex}.quick-mood-header h3{font-family:var(--font-display);font-size:var(--type-heading-sm-size);color:var(--color-text);margin:0}.quick-mood-date{font-size:var(--type-caption-size);color:var(--color-text-secondary)}.quick-mood-selector{gap:var(--space-2);padding:var(--space-4) 0;justify-content:center;display:flex}.quick-mood-notes{gap:var(--spacing-fluid-md);flex-direction:column;display:flex}.quick-mood-input{min-height:var(--space-16)}.quick-mood-actions{justify-content:space-between;gap:var(--space-2);display:flex}.mood-btn{width:var(--icon-size-lg);height:var(--icon-size-lg);border:var(--border-width-1) solid transparent;border-radius:var(--radius-full);cursor:pointer;font-size:var(--type-body-md-size);transition:all var(--transition-fast);opacity:.65;background:0 0;justify-content:center;align-items:center;display:flex}.mood-btn:hover{opacity:.85;background:var(--color-brand-faint);border-color:var(--color-brand-subtle)}.mood-btn.selected{opacity:1;background:var(--color-brand);border-color:var(--color-brand);color:var(--color-text-on-brand);transform:scale(1.15)}.mood-btn.disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.mood-note-input{width:100%;padding:var(--space-2);border:var(--border-width-1) solid var(--color-border-input);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text);font-family:var(--font-body);font-size:var(--type-body-sm-size);resize:none;min-height:var(--space-10);box-sizing:border-box;transition:border-color var(--transition-fast);line-height:1.6;overflow-y:hidden}.mood-note-input:focus{border-color:var(--color-brand);outline:none}.mood-save-btn{cursor:pointer}.home-calendar-section{grid-area:cal}.home-section{background:var(--color-bg-elevated);border-radius:var(--radius-xl);padding:var(--spacing-fluid-lg);box-shadow:var(--shadow-md)}.kiri-status{text-align:center;flex-direction:column;align-items:center;gap:0;width:100%;display:flex;position:relative;overflow:hidden}.kiri-avatar{align-items:center;gap:var(--space-3);padding-top:var(--space-4);flex-direction:column;display:flex}.kiri-image-wrap{justify-content:center;align-items:center;display:flex}.kiri-image{object-fit:contain;width:clamp(80px,8vw,120px);height:clamp(80px,8vw,120px);animation:3s ease-in-out infinite float}.kiri-empty-face{background:var(--color-bg-muted);justify-content:center;align-items:center;width:clamp(80px,8vw,120px);height:clamp(80px,8vw,120px);display:flex}.kiri-question{font-size:var(--type-display-lg-size);font-weight:var(--font-weight-bold);color:var(--color-text-tertiary);line-height:var(--line-height-none)}.kiri-name{font-family:var(--font-display);font-size:var(--type-heading-md-size);font-weight:var(--font-weight-bold);color:var(--color-text);letter-spacing:var(--letter-spacing-widest);padding-bottom:var(--space-4)}.kiri-result-card{width:100%;position:relative}.kiri-card-skeleton{aspect-ratio:16/9;border-radius:var(--radius-md,12px);background:0 0;justify-content:center;align-items:center;width:100%;display:flex}.kiri-card-skeleton-spinner{width:var(--space-10,40px);height:var(--space-10,40px);border:var(--border-width-3) solid var(--color-border);border-top-color:var(--color-brand);border-radius:var(--radius-circle);animation:spin var(--duration-700) linear infinite}.kiri-card-error{margin-top:var(--space-2,8px);font-size:var(--type-body-sm-size);color:var(--color-error);text-align:center}.kiri-canvas{width:100%;height:auto;animation:3s ease-in-out infinite float;display:block}.kiri-actions{gap:var(--space-2);flex-wrap:wrap;justify-content:center;display:flex}.kiri-action{margin-top:0}@media (width<=768px){.home-grid{grid-template:"kiri""mood""cal"/1fr}}.method-detail-content{gap:var(--space-8);flex-direction:column;width:100%;display:flex}.method-detail-hero{gap:var(--space-2);padding:var(--space-4) 0;flex-direction:column;display:flex}.method-detail-title{font-family:var(--font-display);font-size:var(--type-heading-lg-size);color:var(--color-text);line-height:var(--line-height-tight);margin:0}.method-detail-longdesc{font-size:var(--type-body-md-size);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.method-detail-symptoms{gap:var(--space-4);flex-direction:column;display:flex}.method-symptom-group{gap:var(--space-2);flex-direction:column;display:flex}.method-symptom-group-label{font-size:var(--type-caption-size);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-tertiary)}.method-symptom-group .method-symptom-tags{gap:var(--space-2);flex-wrap:wrap;display:flex}.method-symptom-group .method-symptom-tag{width:auto;height:auto;font-size:var(--type-caption-size);font-weight:var(--font-weight-medium);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);background:var(--color-bg-surface);border:var(--border-width-1) solid var(--color-border);color:var(--color-text);white-space:normal;word-break:break-word;flex-shrink:1;max-width:100%;display:inline-block}.method-symptom-group .method-symptom-tag.symptom-chip--mild{border-color:var(--color-success);color:var(--color-success)}.method-symptom-group .method-symptom-tag.symptom-chip--moderate{border-color:var(--color-warning);color:var(--color-warning)}.method-symptom-group .method-symptom-tag.symptom-chip--severe{border-color:var(--color-error);color:var(--color-error)}.method-detail-section{padding:0}.method-detail-section+.method-detail-section{padding-top:var(--space-5)}.method-section-title{font-family:var(--font-display);font-size:var(--type-heading-md-size);color:var(--color-text);margin:0 0 var(--space-3);padding-bottom:var(--space-1);border-bottom:var(--space-1) solid var(--color-brand-faint);display:inline-block}.method-section-content{font-size:var(--type-body-md-size);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.method-section-content p{margin:0 0 var(--space-3)}.method-section-content p:last-child{margin-bottom:0}.method-section-content ol,.method-section-content ul{padding-left:var(--space-5);margin:var(--space-2) 0}.method-section-content li{margin-bottom:var(--space-2);line-height:var(--line-height-relaxed)}.method-section-content h4{font-family:var(--font-display);font-size:var(--type-heading-sm-size);color:var(--color-text);margin:var(--space-5) 0 var(--space-2)}.method-section-tips{margin-top:var(--space-4);background:var(--color-brand-faint);border-left:var(--space-1) solid var(--color-brand);padding:var(--space-4) var(--space-5);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.method-section-tips p{margin:0}.method-video-embed{width:100%;max-width:var(--content-medium);margin:var(--space-4) auto;aspect-ratio:16/9;border-radius:var(--radius-md);background:var(--color-bg-elevated);position:relative;overflow:hidden}.method-video-embed iframe{border:none;width:100%;height:100%;position:absolute;top:0;left:0}.method-game-grid{gap:var(--space-2);flex-direction:column;display:flex}.method-game-card{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);transition:background var(--transition-fast);cursor:default;display:flex}.method-game-card:hover{background:var(--color-brand-faint)}.method-game-icon{color:var(--color-brand);flex-shrink:0}.method-game-info{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.method-game-name{font-size:var(--type-body-sm-size);font-weight:var(--font-weight-semibold);color:var(--color-text)}.method-game-desc{font-size:var(--type-caption-size);color:var(--color-text-secondary);line-height:var(--line-height-snug)}.game-embed-area{aspect-ratio:16/9;background:var(--color-bg);border-radius:var(--radius-lg);width:100%;position:relative;overflow:hidden}.game-embed-area.game-fullscreen{z-index:calc(var(--z-overlay) + 20);aspect-ratio:unset;border-radius:0;width:100vw;height:100dvh;position:fixed;inset:0}.game-orientation-overlay{z-index:calc(var(--z-overlay) + 21);justify-content:center;align-items:center;gap:var(--space-4);background:var(--color-bg);color:var(--color-text);text-align:center;padding:var(--space-8);flex-direction:column;display:none;position:fixed;inset:0}.game-orientation-overlay.active{display:flex}.game-orientation-overlay>svg{color:var(--color-brand);animation:1.5s ease-in-out infinite orientation-bounce}@keyframes orientation-bounce{0%,to{transform:rotate(0)}25%{transform:rotate(-15deg)}75%{transform:rotate(15deg)}}.game-orientation-overlay p{font-size:var(--type-body-lg-size);color:var(--color-text-secondary);max-width:280px}.method-detail-actions{padding:var(--space-2) 0 var(--space-6);justify-content:center;display:flex}.method-detail-actions .btn{min-width:clamp(220px,30vw,260px)}.method-detail-error{text-align:center;padding:var(--space-8);color:var(--color-error)}.btn-spinner{width:1em;height:1em;border:var(--border-width-2) solid currentColor;border-radius:var(--radius-circle);animation:spin var(--duration-500) linear infinite;border-top-color:#0000;margin-inline-end:var(--space-2);display:inline-block}@media (width<=768px){.method-detail-actions .btn{width:100%;min-width:0}}#app>.profile-screen.active{flex-direction:column;flex:1;justify-content:flex-start;display:flex;overflow-y:auto}.profile-screen .page-body{padding:var(--spacing-fluid-md);flex-direction:column;flex:1;display:flex}.profile-container{width:var(--content-narrow);padding:var(--spacing-inset-lg) var(--spacing-gutter-sm);gap:var(--spacing-gap-lg);flex-direction:column;flex:1;justify-content:center;margin:0 auto;display:flex}.profile-login-section{justify-content:center;align-items:center;gap:var(--spacing-gap-md);padding:var(--spacing-fluid-2xl) var(--spacing-inset-md);text-align:center;flex-direction:column;display:flex}.profile-login-hero{color:var(--color-text-tertiary);opacity:var(--opacity-subtle);margin-bottom:var(--space-2)}.profile-login-hero svg{width:64px;height:64px}.profile-login-text{font-size:var(--type-body-md-size);color:var(--color-text-secondary);max-width:280px;line-height:var(--line-height-relaxed)}.profile-user-info{background:var(--color-bg-surface);border-radius:var(--radius-surface);border:var(--border-width-subtle) solid var(--color-border-subtle);box-shadow:var(--elevation-1);padding:var(--spacing-fluid-lg)}.profile-header{align-items:center;gap:var(--spacing-gap-sm);flex-direction:column;display:flex}.profile-avatar{width:var(--avatar-size-lg);height:var(--avatar-size-lg);border-radius:var(--radius-circle);object-fit:cover;background:var(--color-bg-muted);border:var(--border-width-strong) solid var(--color-border);box-shadow:var(--elevation-2);margin-bottom:var(--space-1)}.profile-name{font:var(--type-heading-sm-font) var(--type-heading-sm-size);font-weight:var(--font-weight-bold);color:var(--color-text);line-height:var(--line-height-snug);text-align:center}.profile-email{font:var(--type-body-sm-font) var(--type-body-sm-size);color:var(--color-text-tertiary);line-height:var(--line-height-normal);text-align:center}.profile-section{gap:var(--spacing-gap-xs);flex-direction:column;display:flex}.profile-section-label{font:var(--type-label-font) var(--type-body-sm-size);font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);padding:var(--spacing-inset-xs) var(--spacing-inset-sm) var(--space-1)}.profile-setting-row{padding:var(--spacing-inset-md) var(--spacing-inset-lg);background:var(--color-bg-surface);border:var(--border-width-subtle) solid var(--color-border-subtle);border-radius:var(--radius-surface);box-shadow:var(--elevation-1);transition:background var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast), transform var(--motion-duration-fast) var(--motion-easing-standard);justify-content:space-between;align-items:center;display:flex}.profile-nav-row{cursor:pointer}.profile-nav-row:hover{background:var(--color-bg-elevated);box-shadow:var(--elevation-2);border-color:var(--color-border)}.profile-nav-row:active{background:var(--color-bg-active);box-shadow:var(--elevation-1);transform:scale(.98)}.profile-setting-row+.profile-setting-row{margin-top:0}.profile-setting-label{align-items:center;gap:var(--spacing-gap-sm);font-size:var(--type-body-md-size);color:var(--color-text);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);display:flex}.profile-setting-label svg{width:var(--icon-size-md);height:var(--icon-size-md);color:var(--color-text-tertiary);flex-shrink:0}.profile-logout-row{padding:var(--spacing-inset-md) 0;justify-content:center;display:flex}.profile-logout-btn{background:var(--color-error);width:min(200px,60%);color:var(--color-text-on-brand)}@media (width<=640px){.profile-container{padding:var(--spacing-fluid-sm) var(--spacing-gutter-sm);gap:var(--spacing-gap-md)}.profile-user-info{padding:var(--spacing-fluid-md)}.profile-setting-row{padding:var(--spacing-inset-sm) var(--spacing-inset-md)}.profile-login-section{padding:var(--spacing-fluid-xl) var(--spacing-inset-md)}}#app>.static-page-screen.active{flex-direction:column;flex:1;justify-content:center;display:flex;overflow:auto}.static-page-hero{text-align:center;flex-shrink:0;max-height:clamp(120px,20vh,200px);padding:0;overflow:hidden}.static-page-img-hero{object-fit:cover;width:100%;height:clamp(140px,18vh,240px);display:block}.static-page-brain-hero{padding:var(--spacing-fluid-lg) 0;text-align:center;justify-content:center;align-items:center;min-height:clamp(100px,16vh,160px);display:flex}.static-page-brain-img{object-fit:contain;width:clamp(80px,8vw,120px);height:clamp(80px,8vw,120px);animation:3s ease-in-out infinite float}.static-page-content{padding:var(--spacing-fluid-md);width:100%;max-width:var(--content-medium);margin-left:auto;margin-right:auto}.static-page-content h2{font-family:var(--font-display);font-size:var(--type-heading-lg-size);color:var(--color-text);margin-bottom:var(--space-2)}.static-page-content h3{font-family:var(--font-display);font-size:var(--type-heading-md-size);color:var(--color-text);margin-top:var(--spacing-fluid-md);margin-bottom:var(--space-2)}.static-page-content p{font-family:var(--font-body);font-size:var(--type-body-lg-size);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-3)}.contact-methods{gap:var(--spacing-fluid-sm);margin-top:var(--spacing-fluid-sm);flex-direction:column;display:flex}.contact-method{align-items:flex-start;gap:var(--spacing-fluid-xs);padding:var(--spacing-fluid-xs) var(--spacing-fluid-sm);background:var(--color-bg);border-radius:var(--radius-md);display:flex}.contact-icon{margin-top:var(--space-1);color:var(--color-brand);flex-shrink:0;display:flex}.contact-method strong{font-family:var(--font-body);font-size:var(--type-body-lg-size);color:var(--color-text)}.contact-method span,.contact-method a{font-family:var(--font-body);font-size:var(--type-body-lg-size);color:var(--color-text-secondary);text-decoration:none}.contact-method a:hover{color:var(--color-brand)}.notfound-card{text-align:center}.notfound-content{flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.notfound-img{object-fit:contain;width:clamp(80px,8vw,120px);height:clamp(80px,8vw,120px);margin-bottom:var(--spacing-fluid-sm);animation:3s ease-in-out infinite float}.notfound-code{font-family:var(--font-display);font-size:var(--type-display-lg-size);color:var(--color-brand);line-height:var(--line-height-none);margin-bottom:var(--spacing-fluid-xs)}.notfound-message{font-family:var(--font-body);font-size:var(--type-body-lg-size);color:var(--color-text);margin-bottom:var(--space-2)}.notfound-hint{font-family:var(--font-body);font-size:var(--type-body-lg-size);color:var(--color-text-secondary);margin-bottom:var(--spacing-fluid-md)}.notfound-btn{min-width:clamp(140px,20vw,180px)}.result-screen{padding:var(--spacing-fluid-md);align-items:center;gap:var(--spacing-fluid-sm);flex-direction:column;display:flex}.result-card-wrap{width:100%;max-width:var(--content-medium);gap:var(--spacing-fluid-md);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);animation:slideUp var(--transition-normal) ease-out;flex-direction:column;display:flex;overflow:hidden}.result-canvas{width:100%;display:block}.result-loading,.result-error{text-align:center;padding:var(--spacing-fluid-lg)}.result-spinner{width:var(--icon-size-xl);height:var(--icon-size-xl);border:var(--border-width-3) solid var(--color-border);border-top-color:var(--color-brand);border-radius:var(--radius-circle);animation:spin var(--duration-700) linear infinite;margin:0 auto var(--space-3)}.result-actions{gap:var(--space-3);padding:0 var(--spacing-fluid-md) var(--spacing-fluid-md);justify-content:center;display:flex}.result-footer{text-align:center;padding:var(--spacing-fluid-sm) 0}.result-footer a{padding:var(--space-3) var(--space-6);background:var(--color-brand);color:var(--color-text-on-brand);border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--type-body-lg-size);transition:background var(--transition-fast);text-decoration:none;display:inline-block}.result-footer a:hover{background:var(--color-brand-hover)}.symptom-detail-head{width:100%}.symptom-detail-header{margin-bottom:var(--space-6)}.symptom-detail-header-row{align-items:center;gap:var(--space-4);display:flex}.symptom-detail-icon-wrap{width:var(--space-10);height:var(--space-10);border-radius:var(--radius-md);background:var(--color-brand);flex-shrink:0;justify-content:center;align-items:center;display:flex}.symptom-detail-icon-svg{color:var(--color-text-on-brand);width:var(--space-8);height:var(--space-8)}.symptom-detail-title{font-family:var(--font-display);font-size:var(--type-heading-lg-size);color:var(--color-text);margin:0}.symptom-detail-desc{font-size:var(--type-body-md-size);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin:0}.symptom-detail-tabs{gap:var(--space-1);margin-bottom:var(--space-6);background:var(--color-bg-muted);border-radius:var(--radius-lg);padding:var(--space-1);display:flex}.symptom-detail-tab{padding:var(--space-3) var(--space-4);color:var(--color-text-secondary);font-size:var(--type-body-md-size);font-family:var(--font-body);font-weight:var(--font-weight-semibold);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast);background:0 0;border:none;flex:1}.symptom-detail-tab:hover{color:var(--color-text)}.symptom-detail-tab--active{background:var(--color-bg-elevated);color:var(--color-brand);box-shadow:var(--shadow-sm)}.symptom-detail-content{width:100%}.symptom-detail-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.symptom-detail-empty{text-align:center;color:var(--color-text-secondary);font-size:var(--type-body-md-size);padding:var(--space-8) 0;margin:0}.symptom-detail-error{text-align:center;color:var(--color-error);font-size:var(--type-body-md-size);padding:var(--space-4) 0;margin:0}.symptom-info-group{margin-bottom:var(--space-6)}.symptom-info-group:last-child{margin-bottom:0}.symptom-info-group-label{font-size:var(--type-caption-size);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-tertiary);margin-bottom:var(--space-3)}.symptom-info-tags{gap:var(--space-2);flex-wrap:wrap;display:flex}.symptom-info-tag{font-size:var(--type-caption-size);font-weight:var(--font-weight-medium);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);background:var(--color-bg-surface);border:var(--border-width-1) solid var(--color-border);color:var(--color-text);white-space:normal;word-break:break-word;max-width:100%;display:inline-block}.symptom-info-tag.symptom-chip--mild{border-color:var(--color-success);color:var(--color-success)}.symptom-info-tag.symptom-chip--moderate{border-color:var(--color-warning);color:var(--color-warning)}.symptom-info-tag.symptom-chip--severe{border-color:var(--color-error);color:var(--color-error)}.symptoms-header{text-align:center;margin-bottom:var(--space-6)}.symptoms-title{font-family:var(--font-display);font-size:var(--type-heading-lg-size);color:var(--color-text);margin:0 0 var(--space-2)}.symptoms-subtitle{font-size:var(--type-body-md-size);color:var(--color-text-secondary);margin:0}.symptoms-no-survey{align-items:center;gap:var(--space-4);text-align:center;padding:var(--space-6) var(--spacing-fluid-md);margin:0 0 var(--space-6);background:var(--color-brand-faint);border-radius:var(--radius-lg);color:var(--color-text-secondary);font-size:var(--type-body-md-size);flex-direction:column;grid-column:1/-1;line-height:1.6;display:flex}.symptoms-no-survey p{margin:0}.symptoms-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));width:100%;display:grid}.symptom-card{background:var(--color-bg-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-5);cursor:pointer;transition:all var(--transition-fast);gap:var(--space-3);outline:none;flex-direction:column;display:flex;position:relative}.symptom-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-brand-subtle);transform:translateY(-3px)}.symptom-card:active{transform:translateY(-1px)}.symptom-card:focus-visible{box-shadow:0 0 0 3px var(--color-brand)}.symptom-card-header{align-items:center;gap:var(--space-3);display:flex}.symptom-card-icon-wrap{width:var(--space-10);height:var(--space-10);border-radius:var(--radius-md);background:var(--color-brand);flex-shrink:0;justify-content:center;align-items:center;display:flex}.symptom-card-icon-svg{color:var(--color-text-on-brand);width:var(--icon-size-lg);height:var(--icon-size-lg)}.symptom-card-info{gap:var(--space-1);flex-direction:column;display:flex}.symptom-card-title{font-family:var(--font-display);font-size:var(--type-heading-sm-size);color:var(--color-text);line-height:var(--line-height-snug)}.symptom-card-desc{font-size:var(--type-body-sm-size);color:var(--color-text-secondary);line-height:var(--line-height-normal);flex:1;margin:0}.symptom-card-severity-badge{top:var(--space-2);right:var(--space-2);z-index:1;border-radius:var(--radius-circle);pointer-events:none;width:10px;height:10px;position:absolute}.symptom-card-badge--mild{background:var(--color-level-low)}.symptom-card-badge--moderate{background:var(--color-level-mid)}.symptom-card-badge--severe{background:var(--color-level-high)}.back-button{top:calc(var(--space-4) + var(--size-btn-height) + var(--space-2));right:var(--space-4);z-index:var(--z-overlay);padding:var(--space-2) var(--space-4);height:var(--size-btn-height);border:var(--border-width-1) solid var(--color-border);background:var(--color-bg-elevated);border-radius:var(--radius-full);cursor:pointer;align-items:center;gap:var(--space-2);box-shadow:var(--shadow-sm);font-family:var(--font-body);font-size:var(--type-body-md-size);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);white-space:nowrap;transition:background var(--transition-fast), box-shadow var(--transition-fast), color var(--transition-fast);display:inline-flex;position:fixed}.back-button:hover{background:var(--color-brand-faint);box-shadow:var(--shadow-md);color:var(--color-brand)}@media (width<=768px){.back-button{top:auto;bottom:calc(var(--space-16) + var(--space-10) + var(--space-2) + env(safe-area-inset-bottom,0px));right:var(--space-3)}}.card-tool-screen{flex-direction:column;min-height:100%;display:flex}.card-tool-container{gap:var(--spacing-fluid-md);flex-direction:column;width:100%;margin:0 auto;display:flex}.card-tool-header{justify-content:space-between;align-items:center;display:flex}.card-tool-title{font-family:var(--font-display);font-size:var(--type-heading-md-size);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.card-tool-columns{gap:var(--spacing-fluid-lg);grid-template-columns:1fr 1fr;align-items:stretch;display:grid}.card-tool-col-left{flex-direction:column;display:flex}.card-tool-col-right{justify-content:center;align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.card-tool-form{gap:var(--space-4);flex-direction:column;display:flex}.card-tool-field{gap:var(--space-1);flex-direction:column;display:flex}.card-tool-label{font-family:var(--font-body);font-size:var(--type-body-sm-size);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.card-tool-input{width:100%;height:var(--size-btn-height);padding:0 var(--space-4);border:var(--border-width-1) solid var(--color-border-input);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--type-body-md-size);background:var(--color-bg-surface);color:var(--color-text);transition:border-color var(--transition-fast);box-sizing:border-box;outline:none}.card-tool-input:focus{border-color:var(--color-brand);box-shadow:0 0 0 var(--space-1) var(--color-brand-faint)}.card-tool-input.error{border-color:var(--color-error)}.card-tool-error{font-family:var(--font-body);font-size:var(--type-caption-size);color:var(--color-error);min-height:1.2em}.card-tool-generate{margin-top:var(--space-2)}.card-tool-result-placeholder{aspect-ratio:16/9;background:var(--color-bg-muted);border-radius:var(--radius-lg);justify-content:center;align-items:center;gap:var(--space-2);width:100%;color:var(--color-text-tertiary);border:var(--border-width-2) dashed var(--color-border);font-size:var(--type-body-lg-size);flex-direction:column;display:flex}.card-tool-result-placeholder p{color:var(--color-text-tertiary);margin:0}.card-tool-canvas-wrap{border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-md);overflow:hidden}.card-tool-canvas{width:100%;height:auto;display:block}.card-tool-share{gap:var(--space-3);justify-content:center;display:flex}@media (width<=720px){.card-tool-columns{grid-template-columns:1fr}}[data-theme=dark] .card-tool-container{background:var(--color-bg-elevated);border-radius:var(--radius-xl);padding:var(--spacing-fluid-lg);border:var(--border-width-1) solid var(--color-border)}.calendar-widget{padding:var(--space-3)}.calendar-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.cal-month-title{font-family:var(--font-display);font-size:var(--type-heading-sm-size);color:var(--color-text)}.cal-nav-btn{width:var(--icon-size-lg);height:var(--icon-size-lg);border:var(--border-width-1) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-elevated);cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}@media (hover:hover) and (pointer:fine){.cal-nav-btn:hover{background:var(--color-brand-faint);color:var(--color-brand);border-color:var(--color-brand-subtle)}.cal-day:hover{background:var(--color-brand-faint)}.cal-day-selected:hover,.cal-today:hover,.cal-day-selected.cal-today:hover{background:var(--color-brand-hover);color:var(--color-text-on-brand)}}.cal-grid{gap:var(--space-1);grid-template-columns:repeat(7,1fr);display:grid}.cal-weekday{text-align:center;font-size:var(--type-caption-size);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);padding:var(--space-1) 0}.cal-day{text-align:center;padding:var(--space-1);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);min-height:var(--space-10);justify-content:center;align-items:center;column-gap:var(--space-0-5);flex-flow:wrap;row-gap:0;display:flex;position:relative}.cal-day-empty{cursor:default}.cal-day-selected{background:var(--color-brand);color:var(--color-text-on-brand);font-weight:var(--font-weight-bold)}.cal-day-num{font-size:var(--type-caption-size);color:var(--color-text);line-height:var(--line-height-none);flex:0 0 100%}.cal-day-selected .cal-day-num{color:var(--color-text-on-brand)}.cal-today{background:var(--color-brand-faint);font-weight:var(--font-weight-bold);color:var(--color-text)}.cal-today .cal-day-num{color:var(--color-text)}.cal-day-mood,.cal-day-notes-icon,.cal-day-activity-icon{line-height:var(--line-height-none);align-items:center;display:inline-flex}.cal-has-activity .cal-day-num{font-weight:var(--font-weight-semibold)}.cal-detail{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-bg-elevated);border-radius:var(--radius-md);border:var(--border-width-1) solid var(--color-border)}.cal-detail:empty{display:none}.cal-detail-empty{text-align:center;font-size:var(--type-body-sm-size);color:var(--color-text-secondary);padding:var(--space-3) 0}.cal-detail-content{gap:var(--space-2);flex-direction:column;max-width:100%;display:flex;overflow:hidden}.cal-detail-date{font-family:var(--font-display);font-size:var(--type-heading-sm-size);color:var(--color-text);margin-bottom:var(--space-1)}.cal-detail-row{gap:var(--space-2);font-size:var(--type-body-sm-size);display:flex}.cal-detail-label{color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);white-space:nowrap;min-width:var(--space-16)}.cal-detail-value{min-width:0;color:var(--color-text);word-break:break-word;white-space:pre-wrap;flex:1}.cal-detail-diary-text{font-size:var(--type-body-sm-size);color:var(--color-text);line-height:var(--line-height-normal);word-break:break-word;overflow-wrap:break-word;white-space:pre-wrap;margin:0}.cal-detail-diary{gap:var(--space-2);margin-top:var(--space-1);flex-direction:column;display:flex}.cal-detail-textarea{width:100%;padding:var(--space-2);border:var(--border-width-1) solid var(--color-border-input);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text);font-family:var(--font-body);font-size:var(--type-body-sm-size);line-height:var(--line-height-relaxed);resize:vertical;min-height:var(--space-16);transition:border-color var(--transition-fast);box-sizing:border-box}.cal-detail-textarea:focus{border-color:var(--color-brand);outline:none}.cal-detail-actions{justify-content:flex-end;display:flex}.cal-detail-methods{gap:var(--space-1);flex-wrap:wrap;display:flex}@media (width<=480px){.cal-detail-row{gap:var(--space-1);flex-direction:column}.cal-detail-label{min-width:0}}.cal-method-tag{font-size:var(--type-caption-size);background:var(--color-brand-faint);color:var(--color-brand);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);white-space:nowrap;text-overflow:ellipsis;max-width:100%;display:inline-block;overflow:hidden}.cal-nav-btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed;pointer-events:none}.cal-loading .cal-grid{opacity:var(--opacity-disabled);pointer-events:none;position:relative}.cal-loading .cal-grid:after{content:"";width:var(--icon-size-lg);height:var(--icon-size-lg);margin:calc(-1 * var(--space-3)) 0 0 calc(-1 * var(--space-3));border:var(--border-width-3) solid var(--color-border);border-top-color:var(--color-brand);border-radius:var(--radius-circle);animation:cal-spin var(--duration-500) linear infinite;position:absolute;top:50%;left:50%}@keyframes cal-spin{to{transform:rotate(360deg)}}.loading-overlay{z-index:var(--z-modal);justify-content:center;align-items:center;gap:var(--space-6);background:var(--color-bg-overlay);-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));animation:fadeIn var(--transition-fast) ease-out;flex-direction:column;display:none;position:fixed;inset:0}.loading-overlay.active{display:flex}.loading-spinner{width:var(--space-16);height:var(--space-16);border:var(--space-2) solid var(--color-border);border-top-color:var(--color-brand);border-radius:var(--radius-circle);animation:spin var(--duration-700) linear infinite}.loading-message{font-family:var(--font-body);font-size:var(--type-heading-md-size);color:var(--color-text-on-brand);text-align:center;max-width:var(--content-narrow);opacity:.85}.game-loading-overlay{z-index:var(--z-modal);background:var(--color-bg-overlay);-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));justify-content:center;align-items:center;display:none;position:absolute;inset:0}.game-loading-overlay.active{display:flex}.game-loading-spinner{width:var(--space-16);height:var(--space-16);border:var(--space-2) solid var(--color-border);border-top-color:var(--color-brand);border-radius:var(--radius-circle);animation:spin var(--duration-700) linear infinite}.method-symptom-tags{gap:var(--space-1);flex-wrap:wrap;display:flex}.method-symptom-tag{width:var(--icon-size-sm);height:var(--icon-size-sm);border-radius:var(--radius-circle);font-size:var(--type-caption-size);font-weight:var(--font-weight-medium);background:var(--color-bg-muted);color:var(--color-text-tertiary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.method-card{background:var(--color-bg-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-5);cursor:pointer;transition:all var(--transition-fast);gap:var(--space-3);flex-direction:column;display:flex;position:relative}.method-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-brand-subtle);transform:translateY(-3px)}.method-card:active{transform:translateY(-1px)}.method-card-top{justify-content:space-between;align-items:center;display:flex}.method-card-icon{color:var(--color-text-on-brand);width:var(--icon-size-md);height:var(--icon-size-md)}.method-card-icon-wrap{width:var(--avatar-size-sm);height:var(--avatar-size-sm);border-radius:var(--radius-md);background:var(--color-brand);flex-shrink:0;justify-content:center;align-items:center;display:flex}.method-card-title{font-family:var(--font-display);font-size:var(--type-heading-sm-size);color:var(--color-text);line-height:var(--line-height-snug);margin:0}.method-card-desc{font-size:var(--type-body-sm-size);color:var(--color-text-secondary);line-height:var(--line-height-normal);flex:1;margin:0}.qr-modal-overlay{z-index:var(--z-tooltip);background:var(--color-bg-overlay);-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));animation:fadeIn var(--duration-200) ease;padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.qr-modal{background:var(--color-bg-elevated);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:var(--content-toast);animation:slideUp var(--duration-250) ease;overflow:hidden}.qr-modal-header{padding:var(--space-4) var(--space-5) 0;justify-content:space-between;align-items:center;display:flex}.qr-modal-title{font-size:var(--type-heading-md-size);font-weight:var(--font-weight-bold);color:var(--color-text)}.qr-modal-close{width:var(--icon-size-xl);height:var(--icon-size-xl);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.qr-modal-close:hover{background:var(--color-bg-muted);color:var(--color-text)}.qr-modal-body{padding:var(--space-5);align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.qr-modal-qr-wrap{background:var(--color-bg-surface);border-radius:var(--radius-lg);border:var(--border-width-1) solid var(--color-border);justify-content:center;align-items:center;width:220px;height:220px;display:flex;overflow:hidden}.qr-modal-qr-canvas{width:220px;height:220px;display:block}.qr-modal-qr-loading{justify-content:center;align-items:center;display:flex}.qr-modal-qr-spinner{width:var(--icon-size-xl);height:var(--icon-size-xl);border:var(--border-width-3) solid var(--color-border);border-top-color:var(--color-brand);border-radius:var(--radius-circle);animation:spin var(--duration-700) linear infinite}.qr-modal-hint{font-size:var(--type-body-sm-size);color:var(--color-text-secondary);text-align:center}.qr-modal-url-row{gap:var(--space-2);width:100%;display:flex}.qr-modal-url-input{min-width:0;padding:var(--space-2) var(--space-3);font-size:var(--type-caption-size);font-family:var(--font-body);color:var(--color-text-secondary);background:var(--color-bg-muted);border:var(--border-width-1) solid var(--color-border);border-radius:var(--radius-md);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.qr-modal-copy{flex-shrink:0}.toast{top:var(--space-16);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--type-body-sm-size);z-index:var(--z-docked);animation:slideUp var(--transition-normal) ease-out;box-shadow:var(--shadow-lg);pointer-events:auto;position:fixed;left:50%;transform:translate(-50%)}.toast-error{background:var(--color-error);color:var(--color-text-on-brand)}.toast-success{background:var(--color-success);color:var(--color-text-on-brand)}.toast-container{bottom:var(--space-6);right:var(--space-6);z-index:var(--z-toast);gap:var(--space-2);pointer-events:none;max-width:var(--content-toast);flex-direction:column;width:100%;display:flex;position:fixed}.toast-message{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--type-body-md-size);line-height:var(--line-height-normal);box-shadow:var(--shadow-md);pointer-events:auto;opacity:0;transition:transform var(--transition-slow) cubic-bezier(.16, 1, .3, 1), opacity var(--transition-normal) ease;will-change:transform, opacity;display:flex;transform:translate(120%)}.toast-message.toast-enter{opacity:1;transform:translate(0)}.toast-message.toast-exit{opacity:0;transform:translate(120%)}.toast-icon{width:var(--icon-size-md);height:var(--icon-size-md);border-radius:var(--radius-circle);font-size:var(--type-body-sm-size);font-weight:var(--font-weight-bold);color:var(--color-text-on-brand);flex-shrink:0;justify-content:center;align-items:center;display:flex}.toast-text{color:var(--color-text-on-brand);flex:1}.toast-close{color:var(--color-text-secondary);font-size:var(--type-body-md-size);cursor:pointer;padding:var(--space-1);line-height:var(--line-height-none);transition:color var(--transition-fast);background:0 0;border:none;flex-shrink:0}.toast-close:hover{color:var(--color-text-on-brand)}.toast-message.toast-success{background:var(--color-success)}.toast-message.toast-error{background:var(--color-error)}.toast-message.toast-info{background:var(--color-accent)}.toast-message.toast-warning{background:var(--color-warning)}.toast-message.toast-success .toast-icon,.toast-message.toast-error .toast-icon,.toast-message.toast-info .toast-icon,.toast-message.toast-warning .toast-icon{background:var(--color-bg-surface-alpha)}@media (width<=428px){.toast-container{left:50%;right:auto;top:var(--space-3);width:auto;max-width:var(--content-toast);transform:translate(-50%)}.toast-message{transform:translateY(-120%)}.toast-message.toast-enter{transform:translateY(0)}.toast-message.toast-exit{transform:translateY(-120%)}}@media (orientation:landscape) and (height<=500px){.coworking-progress{width:clamp(100px,20vh,140px);height:clamp(100px,20vh,140px)}.coworking-progress-inner{width:80%;height:80%}.coworking-time{font-size:var(--type-heading-lg)}}@media (width<=360px){.coworking-durations{gap:var(--space-2)}.avatar-options{grid-template-columns:repeat(2,1fr)}}@media print{[data-screen]{background:var(--color-bg);color:var(--color-text);display:block;position:static;overflow:visible}[data-screen].active{display:block}.btn,.coworking-dur-btn{display:none}body,html,#app{height:auto;overflow:visible}}
