:root{--rp-base: #191724;--rp-surface: #1f1d2e;--rp-overlay: #26233a;--rp-muted: #6e6a86;--rp-subtle: #908caa;--rp-text: #e0def4;--rp-love: #eb6f92;--rp-gold: #f6c177;--rp-rose: #ebbcba;--rp-pine: #31748f;--rp-foam: #9ccfd8;--rp-iris: #c4a7e7;--rp-highlight-low: #21202e;--rp-highlight-med: #403d52;--rp-highlight-high: #524f67;--rp-bg-gold: #2a2012;--rp-bg-love: #2a1220;--rp-bg-foam: #112224;--rp-bg-pine: #0e1e2a;--rp-bg-iris: #1e1a30;--color-bg: var(--rp-base);--color-surface: var(--rp-surface);--color-overlay: var(--rp-overlay);--color-border: var(--rp-highlight-med);--color-hover: var(--rp-highlight-high);--color-text: var(--rp-text);--color-subtle: var(--rp-subtle);--color-muted: var(--rp-muted);--color-accent: var(--rp-iris);--color-danger: var(--rp-love);--color-success: var(--rp-foam);--color-cal: var(--rp-gold);--color-pro: var(--rp-pine);--color-carb: var(--rp-foam);--color-fat: var(--rp-iris);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 3px rgba(0,0,0,.4);--shadow-md: 0 4px 16px rgba(0,0,0,.5)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:system-ui,-apple-system,sans-serif;background:var(--color-bg);color:var(--color-text);min-height:100vh;line-height:1.5}a{text-decoration:none;color:var(--color-accent)}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}.rp-input{background:var(--color-overlay);border:1px solid var(--color-border);color:var(--color-text);border-radius:var(--radius-sm);padding:8px 10px;font-size:.9rem;outline:none;width:100%;transition:border-color .15s}.rp-input:focus{border-color:var(--color-accent)}.rp-btn{background:var(--color-accent);color:var(--rp-base);border:none;border-radius:var(--radius-sm);padding:9px 18px;font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity .15s}.rp-btn:hover{opacity:.88}.rp-btn:disabled{opacity:.45;cursor:not-allowed}.rp-btn-ghost{background:none;border:1px solid var(--color-border);color:var(--color-subtle);border-radius:var(--radius-sm);padding:9px 18px;font-size:.85rem;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s}.rp-btn-ghost:hover{border-color:var(--color-text);color:var(--color-text)}.rp-btn-sm{padding:6px 14px;font-size:.8rem}.rp-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1rem 1.25rem;box-shadow:var(--shadow-sm)}.page-wrap{max-width:980px;margin:0 auto;padding:24px 20px 64px}
