:root{--background:#faf8f5;--surface:#fff;--surface-secondary:#f4efea;--surface-tertiary:#ece6df;--primary:#434b3c;--secondary:#627059;--accent:#b88e4b;--accent-warm:#c2673f;--text-primary:#24221f;--text-secondary:#726d64;--text-tertiary:#a8a297;--border:#e8e2d9;--success:#4e7c46;--warning:#c47b2b;--error:#d32f2f;--like:#e05342;--on-primary:#fff;--sp-xxxs:2px;--sp-xxs:4px;--sp-xs:8px;--sp-sm:12px;--sp-md:16px;--sp-lg:20px;--sp-xl:24px;--sp-xxl:32px;--sp-xxxl:48px;--radius-card:20px;--radius-button:16px;--radius-chip:12px;--radius-small:8px;--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-serif:"New York", ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--font-rounded:"SF Pro Rounded", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}:root[data-theme=dark]{--background:#161514;--surface:#22201d;--surface-secondary:#2e2b27;--surface-tertiary:#38342f;--primary:#c8a97e;--secondary:#8c9b82;--accent:#d9b470;--accent-warm:#d9825b;--text-primary:#f7f5f0;--text-secondary:#a39e93;--text-tertiary:#6b665e;--border:#332f2a;--success:#7fa878;--warning:#e09f52;--error:#e57373;--on-primary:#1a1918}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{background:var(--background);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;font-size:16px;line-height:1.45}button{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit}input,textarea,select{color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:16px}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}a{color:inherit;text-decoration:none}.f-large-title{font-family:var(--font-serif);font-size:34px;font-weight:700;line-height:1.18}.f-title1{font-family:var(--font-serif);font-size:28px;font-weight:600;line-height:1.22}.f-title2{font-family:var(--font-serif);font-size:22px;font-weight:600;line-height:1.28}.f-title3{font-family:var(--font-serif);font-size:20px;font-weight:600}.f-headline-serif{font-family:var(--font-serif);font-size:18px;font-weight:600}.f-headline{font-size:17px;font-weight:600}.f-body{font-size:16px;font-weight:400}.f-body-serif{font-family:var(--font-serif);font-size:17px;font-weight:400;line-height:1.55}.f-button{font-family:var(--font-rounded);font-size:15px;font-weight:600}.f-chip{font-family:var(--font-rounded);font-size:13.5px;font-weight:600}.f-stat-number{font-family:var(--font-rounded);font-size:32px;font-weight:700}.f-badge{font-family:var(--font-rounded);font-size:11px;font-weight:700}.f-callout{font-size:15px}.f-subheadline{font-size:14px;font-weight:500}.f-footnote{font-size:13px}.f-caption{font-size:12px;font-weight:500}.t-primary{color:var(--text-primary)}.t-secondary{color:var(--text-secondary)}.t-tertiary{color:var(--text-tertiary)}.t-accent{color:var(--accent)}.t-brand{color:var(--primary)}.row{align-items:center;display:flex}.col{flex-direction:column;display:flex}.center{justify-content:center;align-items:center;display:flex}.row.center{justify-content:center}.spacer{flex:auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--sp-md);box-shadow:0 3px 8px #00000008}.readable{width:100%;max-width:720px;margin:0 auto}.readable-750{width:100%;max-width:750px;margin:0 auto}.scroll-x{scrollbar-width:none;-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.scroll-x::-webkit-scrollbar{display:none}.press{transition:transform .15s}.press:active{transform:scale(.98)}.chip{border:1px solid var(--border);background:var(--surface);color:var(--text-primary);white-space:nowrap;border-radius:999px;padding:8px 16px;font-size:14px}.chip.selected{background:var(--primary);color:var(--on-primary);border-color:var(--primary);font-weight:600}.divider{background:var(--border);border:0;height:1px;margin:0}@keyframes gc-fade-in{0%{opacity:0}to{opacity:1}}@keyframes gc-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes gc-spin{to{transform:rotate(360deg)}}
