:root{--bg: #efe8dc;--bg-accent: #e4ddd0;--paper: #fffdf8;--ink: #1f1b16;--muted: #6d645a;--line: #d9cfc0;--accent: #2f6a57;--accent-hover: #245445;--accent-soft: #dceae3;--danger: #9b2c2c;--danger-soft: #f6e4e0;--ok: #2f6a57;--ok-soft: #e3f0ea;--shadow: 0 10px 30px rgb(31 27 22 / 8%);--radius: .85rem;--control-h: 2.6rem;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,Times New Roman,serif;line-height:1.5;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:radial-gradient(ellipse at top,rgb(255 253 248 / 70%),transparent 42%),var(--bg)}button,input,textarea,select,.button{font-family:Avenir Next,Segoe UI,system-ui,sans-serif}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{color:var(--accent-hover)}h1{font-size:1.7rem;font-weight:650;letter-spacing:-.02em;margin:0 0 1rem}p{margin:0 0 .75rem}.app,.auth{width:min(46rem,calc(100% - 2rem));margin:0 auto;padding:1.5rem 0 3rem}.page-status{width:min(46rem,calc(100% - 2rem));margin:3rem auto;color:var(--muted)}.topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.85rem 1.25rem;margin-bottom:1.5rem;padding:.85rem 1rem;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.brand{margin:0;font-size:1.15rem;font-weight:700;letter-spacing:-.02em}nav{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:2.15rem;padding:.35rem .75rem;border-radius:999px;color:var(--ink);text-decoration:none}.nav-link:hover,.nav-link.active{background:var(--accent-soft);color:var(--accent-hover)}.page-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-bottom:1.15rem}.page-head h1{margin:0}.card,.auth form,section>form,.feed li,.mood-detail{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.auth{display:grid;align-content:start;gap:.35rem;padding-top:12vh}.auth h1{margin-bottom:.35rem}.auth form,section>form{padding:1.15rem 1.2rem 1.25rem}.lede{color:var(--muted);margin-bottom:1rem}form,fieldset{display:grid;gap:.85rem}fieldset{margin:0;padding:.9rem 1rem;border:1px solid var(--line);border-radius:.7rem;background:#fbf7ef}legend{padding:0 .35rem;font-family:Avenir Next,Segoe UI,system-ui,sans-serif;font-size:.82rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}label{display:grid;gap:.35rem;font-family:Avenir Next,Segoe UI,system-ui,sans-serif;font-size:.92rem;color:#3f3a34}input,textarea,select{width:100%;min-height:var(--control-h);padding:.5rem .7rem;border:1px solid #c9beae;border-radius:.6rem;background:#fff;color:var(--ink)}textarea{min-height:6rem;resize:vertical}input:focus,textarea:focus,select:focus,button:focus-visible,.button:focus-visible,.nav-link:focus-visible,.choice:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}button,.button{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:var(--control-h);padding:.5rem 1.05rem;border:1px solid var(--accent);border-radius:.65rem;background:var(--accent);color:#fff;text-decoration:none;cursor:pointer}button:hover,.button:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}button:disabled,.button:disabled{opacity:.55;cursor:not-allowed}button.secondary,.button.secondary{background:var(--paper);color:var(--ink);border-color:var(--line)}button.secondary:hover,.button.secondary:hover{background:var(--bg-accent);color:var(--ink);border-color:#c9beae}button.danger,.button.danger{background:var(--paper);color:var(--danger);border-color:#e2b8b2}button.danger:hover,.button.danger:hover{background:var(--danger-soft);color:var(--danger)}.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:.25rem}.period{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.charts{display:grid;gap:.85rem}.chart-summary{margin:0;color:var(--muted);font-family:Avenir Next,Segoe UI,system-ui,sans-serif;font-size:.92rem}.chart{margin:0;padding:.9rem .2rem .35rem;background:#fbf7ef;border:1px solid var(--line);border-radius:.7rem}.chart figcaption{margin:0 .9rem .55rem;font-family:Avenir Next,Segoe UI,system-ui,sans-serif;font-size:.82rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.chart-svg{display:block;width:100%;height:auto}.chart-grid{stroke:var(--line);stroke-width:1}.chart-line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart-axis{fill:var(--muted);font-family:Avenir Next,Segoe UI,system-ui,sans-serif;font-size:11px}.choice-list{display:grid;gap:.45rem}.choice-list.scores{grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr))}.choice{display:flex;align-items:center;gap:.55rem;min-height:2.45rem;padding:.4rem .7rem;border:1px solid var(--line);border-radius:.6rem;background:#fff;cursor:pointer}.choice:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent-hover)}.choice input{width:auto;min-height:0;margin:0;accent-color:var(--accent)}.choice .score-emoji{font-size:1.25rem}.emotion{display:grid;grid-template-columns:minmax(0,1fr) 8.5rem auto;gap:.65rem;align-items:end;padding-bottom:.15rem}.feed{list-style:none;padding:0;margin:0;display:grid;gap:.85rem}.feed li{display:grid;gap:.35rem;padding:1rem 1.1rem}.feed li p{margin:0}.feed-meta{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.4rem 1rem}.feed-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.35rem}.feed-actions .button{min-height:2.15rem;padding:.3rem .8rem}.mood-detail{display:grid;gap:.75rem;padding:1.15rem 1.2rem 1.25rem}.mood-detail p{margin:0}.diary{display:grid;gap:.85rem}.diary-field{display:grid;gap:.35rem}.diary-field h2{margin:0;font-family:Avenir Next,Segoe UI,system-ui,sans-serif;font-size:.82rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.diary-field p{margin:0;white-space:pre-wrap}.emotion-chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.45rem}.emotion-chips li{display:inline-flex;align-items:center;min-height:1.7rem;padding:.1rem .65rem;border-radius:999px;background:var(--bg-accent);font-family:Avenir Next,Segoe UI,system-ui,sans-serif;font-size:.92rem}.score{display:inline-flex;align-items:center;gap:.35rem;min-height:1.7rem;padding:.1rem .55rem;border-radius:999px;background:var(--accent-soft);font-family:Avenir Next,Segoe UI,system-ui,sans-serif;font-size:.92rem}.score-emoji{font-size:1.15em;line-height:1}.score[data-score="-3"],.score[data-score="-2"]{background:var(--danger-soft);color:var(--danger)}.score[data-score="-1"]{background:#f4e6cc;color:#8a5a12}.score[data-score="0"]{background:#ece7de;color:#4b453d}.score[data-score="1"],.score[data-score="2"],.score[data-score="3"]{background:var(--ok-soft);color:var(--ok)}time,.qualifier,.empty{color:var(--muted);font-family:Avenir Next,Segoe UI,system-ui,sans-serif;font-size:.92rem}[role=alert]{margin:0;padding:.7rem .8rem;border-radius:.6rem;background:var(--danger-soft);color:var(--danger)}.status{margin:0;padding:.7rem .8rem;border-radius:.6rem;background:var(--ok-soft);color:var(--ok)}@media(max-width:40rem){.period,.emotion,.choice-list.scores{grid-template-columns:1fr}.auth{padding-top:2rem}.topbar,.page-head{align-items:stretch}.page-head .button,.form-actions button,.form-actions .button,.feed-actions .button{width:100%}}
