*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--fc-bg: #fafaf8;--fc-surface: #ffffff;--fc-border: #e8e4df;--fc-border-muted: #f0ede8;--fc-text-primary: #1a1a18;--fc-text-secondary: #6b6860;--fc-text-muted: #9a9490;--fc-accent: #3d7a5c;--fc-accent-light: #e8f2ed;--fc-accent-muted: #b8dcc8;--fc-amber: #c47c2a;--fc-amber-light: #fdf3e3;--fc-amber-border: #f0d4a8;--sp-1: 8px;--sp-2: 16px;--sp-3: 24px;--sp-4: 32px;--sp-5: 40px;--sp-6: 48px;--header-height: 56px;--fab-size: 56px;--fab-offset: 16px;--card-radius: 12px;--button-radius: 8px;--touch-target: 44px}html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:Inter,system-ui,-apple-system,sans-serif;font-size:1rem;line-height:1.5;color:var(--fc-text-primary);background:var(--fc-bg);min-height:100dvh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;color:var(--fc-text-primary)}.wordmark{font-family:"DM Serif Display",Georgia,serif;font-style:italic;letter-spacing:-.02em;color:var(--fc-text-primary)}:focus-visible{outline:3px solid var(--fc-accent);outline-offset:2px;border-radius:4px}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--fc-border);border-radius:2px}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom,0px)}.fab{position:fixed;right:var(--fab-offset);bottom:calc(var(--fab-offset) + env(safe-area-inset-bottom,0px));width:var(--fab-size);height:var(--fab-size);border-radius:50%;background:var(--fc-text-primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;box-shadow:0 4px 16px #00000029;z-index:100;transition:box-shadow .15s,transform .1s}.fab:hover{box-shadow:0 6px 24px #0003;transform:translateY(-1px)}.fab:active{transform:translateY(0);box-shadow:0 2px 8px #00000029}.app-header{height:var(--header-height);background:var(--fc-surface);border-bottom:1px solid var(--fc-border);display:flex;align-items:center;padding:0 var(--sp-2);position:sticky;top:0;z-index:50}.card{background:var(--fc-surface);border:1px solid var(--fc-border);border-radius:var(--card-radius);padding:var(--sp-2)}.p-button{border-radius:var(--button-radius)!important;min-height:var(--touch-target)}.p-button.p-button-primary,.p-button[severity=contrast]{min-height:52px}.p-inputtext{border-radius:var(--button-radius)!important;min-height:52px}
