@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Inter:wght@400;500;600&display=swap";:root{--color-sand:#efe1c5;--color-blush:#f3d9c9;--color-peach:#f0c3a2;--color-bg-gradient:linear-gradient(160deg, var(--color-sand) 0%, var(--color-blush) 55%, var(--color-peach) 100%);--color-bg-solid:#f1e4cd;--color-surface:#fdf9f1;--color-surface-alt:#f4e6d3;--color-border:#422d1e24;--color-ink:#362d24;--color-ink-muted:#71614f;--color-ink-faint:#9c8b78;--color-sage:#55705f;--color-sage-dark:#3e5548;--color-teal:#3f6d69;--color-dusty-blue:#4e6579;--color-clay:#b06f3f;--color-clay-dark:#874e2c;--color-lavender:#6e5a82;--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius-md:12px;--radius-lg:20px;--shadow-soft:0 8px 24px #422d1e1a;--shadow-btn:0 6px 16px #55705f47;--shadow-btn-clay:0 6px 16px #874e2c4d}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--color-bg-gradient) fixed;color:var(--color-ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:.01em;color:var(--color-ink);margin:0 0 .4em;font-weight:500}p{color:var(--color-ink-muted);line-height:1.6}a{color:var(--color-sage)}button{font-family:var(--font-body);cursor:pointer}.page{flex-direction:column;min-height:100%;display:flex}.container{width:100%;max-width:640px;margin:0 auto;padding:2rem 1.5rem}.container--wide{max-width:880px}.container--tight-top{padding-top:1rem}.btn{letter-spacing:.02em;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.7rem;font-size:.98rem;font-weight:600;transition:transform .18s,opacity .18s,background .18s,box-shadow .18s,border-color .18s,color .18s;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg, var(--color-sage) 0%, var(--color-sage-dark) 100%);color:var(--color-surface);box-shadow:var(--shadow-btn)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg, var(--color-sage-dark) 0%, #324840 100%);box-shadow:0 10px 22px #55705f57}.btn-secondary{color:var(--color-ink);border:1px solid var(--color-border);background:#fdf9f180}.btn-secondary:hover:not(:disabled){border-color:var(--color-sage);color:var(--color-sage-dark);background:#fdf9f1d9}.btn-clay{background:linear-gradient(135deg, var(--color-clay) 0%, var(--color-clay-dark) 100%);color:var(--color-surface);box-shadow:var(--shadow-btn-clay)}.btn-clay:hover:not(:disabled){background:linear-gradient(135deg, var(--color-clay-dark) 0%, #6b3c1f 100%);box-shadow:0 10px 22px #874e2c5c}.btn-block{width:100%}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:1.75rem;position:relative}.card-close-btn{border:1px solid var(--color-border);background:var(--color-bg-solid);width:30px;height:30px;color:var(--color-ink-muted);border-radius:50%;justify-content:center;align-items:center;font-size:1.05rem;line-height:1;transition:background .18s,color .18s,border-color .18s;display:flex;position:absolute;top:1rem;right:1rem}.card-close-btn:hover{border-color:var(--color-sage);color:var(--color-sage-dark);background:#fdf9f1d9}.field{flex-direction:column;gap:.4rem;margin-bottom:1.1rem;display:flex}.field label{color:var(--color-ink-muted);font-size:.85rem}.field input,.field select,.field textarea{background:var(--color-bg-solid);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-ink);font-family:var(--font-body);padding:.75rem .9rem;font-size:1rem}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-sage);outline:none}.field-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.error-banner{border:1px solid var(--color-clay);color:var(--color-clay-dark);border-radius:var(--radius-md);background:#a3623a1f;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.muted-link{color:var(--color-ink-muted);text-decoration:none}.muted-link:hover{color:var(--color-sage)}.nav-bar{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.nav-bar .brand{font-family:var(--font-display);color:var(--color-ink);align-items:center;gap:.5rem;font-size:1.2rem;text-decoration:none;display:inline-flex}.brand-mark{object-fit:contain;width:auto;height:30px}.nav-links{align-items:center;gap:.6rem;display:flex}.nav-pill{color:var(--color-ink-muted);letter-spacing:.01em;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;padding:.5rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .18s,color .18s,border-color .18s;display:inline-flex}.nav-pill:hover{color:var(--color-sage-dark);border-color:var(--color-border);background:#fdf9f199}.nav-pill-active{border-color:var(--color-border);color:var(--color-sage-dark);background:#fdf9f1d9;font-weight:600}.nav-pill-logout{color:var(--color-clay-dark)}.nav-pill-logout:hover{color:var(--color-clay-dark);border-color:var(--color-clay);background:#b06f3f1f}.choice-grid{grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:2rem;display:grid}@media (width<=620px){.choice-grid,.field-row{grid-template-columns:1fr}.nav-bar{padding:1rem}.nav-links{gap:.35rem}.nav-pill{padding:.4rem .75rem;font-size:.82rem}.landing-hero h1{font-size:2rem}.container h1{font-size:1.9rem}}.choice-card{text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-ink);box-shadow:var(--shadow-soft);padding:1.75rem;text-decoration:none;transition:border-color .18s,transform .18s,box-shadow .18s;display:block}.choice-card:hover{border-color:var(--color-sage);transform:translateY(-2px);box-shadow:0 12px 28px #422d1e24}.choice-card .choice-icon{margin-bottom:.75rem;font-size:1.8rem;display:block}.choice-card h3{color:var(--color-ink)}.choice-card p{margin:0;font-size:.92rem}.entry-textarea{resize:vertical;background:var(--color-bg-solid);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;min-height:320px;color:var(--color-ink);font-family:var(--font-body);padding:1.25rem;font-size:1.05rem;line-height:1.7}.entry-textarea:focus{border-color:var(--color-sage);outline:none}.prompt-banner{background:var(--color-surface-alt);border-left:3px solid var(--color-lavender);border-radius:var(--radius-md);margin-bottom:1.5rem;padding:1.25rem 1.5rem}.prompt-banner .prompt-label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-lavender);margin-bottom:.4rem;font-size:.72rem;display:block}.prompt-banner p{color:var(--color-ink);font-family:var(--font-display);margin:0;font-size:1.2rem}.entry-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.25rem;display:flex}.entry-list{flex-direction:column;gap:1rem;display:flex}.entry-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-ink);box-shadow:var(--shadow-soft);padding:1.25rem 1.5rem;text-decoration:none;transition:border-color .18s,transform .18s,box-shadow .18s;display:block}.entry-item:hover{border-color:var(--color-sage);transform:translateY(-1px);box-shadow:0 10px 24px #422d1e21}.entry-item .entry-date{color:var(--color-ink-faint);margin-bottom:.35rem;font-size:.82rem}.entry-item .entry-preview{color:var(--color-ink-muted);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.25rem 0 0;display:-webkit-box;overflow:hidden}.entry-item .entry-location{color:var(--color-dusty-blue);margin-top:.5rem;font-size:.8rem}.empty-state{text-align:center;color:var(--color-ink-faint);padding:3rem 1rem}.empty-state-compact{padding:.5rem 1rem 1rem}.empty-state-compact p{margin-bottom:.75rem}.landing-hero{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.landing-mark{object-fit:contain;width:110px;height:auto;margin-bottom:.75rem}.gate-logo-corner{object-fit:contain;width:84px;height:auto;position:fixed;top:1.5rem;left:1.5rem}.landing-hero h1{max-width:14ch;font-size:2.6rem}.landing-hero p{max-width:42ch;font-size:1.1rem}.landing-actions{gap:1rem;margin-top:2rem;display:flex}.center-page{flex:1;justify-content:center;align-items:center;padding:2rem 1rem;display:flex}.spinner-page{color:var(--color-ink-faint);flex:1;justify-content:center;align-items:center;display:flex}.radio-group{flex-wrap:wrap;gap:1rem;display:flex}.radio-option{background:var(--color-bg-solid);border:1px solid var(--color-border);color:var(--color-ink-muted);border-radius:999px;align-items:center;gap:.5rem;padding:.55rem 1rem;font-size:.9rem;display:flex}.radio-option input{accent-color:var(--color-sage)}.calendar-wrap{justify-content:center;margin:0 0 .75rem;display:flex}.calendar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:380px;box-shadow:var(--shadow-soft);padding:1.1rem 1.25rem}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:.65rem;display:flex}.calendar-header h3{margin:0;font-size:1.05rem}.calendar-nav-btn{border:1px solid var(--color-border);width:32px;height:32px;color:var(--color-ink-muted);background:0 0;border-radius:999px;justify-content:center;align-items:center;font-size:1.15rem;line-height:1;transition:border-color .18s,color .18s,background .18s;display:flex}.calendar-nav-btn:hover{border-color:var(--color-sage);color:var(--color-sage-dark);background:#fdf9f199}.calendar-weekdays{grid-template-columns:repeat(7,1fr);margin-bottom:.25rem;display:grid}.calendar-weekdays span{text-align:center;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-faint);font-size:.68rem;display:block}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:.2rem;display:grid}.calendar-day{aspect-ratio:1;color:var(--color-ink);background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;font-size:.88rem;transition:background .15s,color .15s,border-color .15s;display:flex;position:relative}.calendar-day:hover{border-color:var(--color-border);background:#fdf9f1b3}.calendar-day-outside{color:var(--color-ink-faint);opacity:.5}.calendar-day-today{border-color:var(--color-sage)}.calendar-day-selected,.calendar-day-selected:hover{background:linear-gradient(135deg, var(--color-sage) 0%, var(--color-sage-dark) 100%);color:var(--color-surface);border-color:#0000}.calendar-dot{background:var(--color-clay);border-radius:50%;width:4px;height:4px;position:absolute;bottom:6px}.calendar-day-selected .calendar-dot{background:var(--color-surface)}.day-heading{text-align:center;margin-bottom:.6rem;font-size:1.15rem}
