@import "https://fonts.googleapis.com/css2?family=Work+Sans:wght@400;500&family=JetBrains+Mono:wght@400&display=swap";:root{--clinical-white:#fff;--manila:#f4ede4;--charcoal:#2c3236;--slate:#6b7280;--slate-light:#9ca3af;--psychiatric-blue:#2563eb;--blue-hover:#1d4ed8;--assessment-red:#dc2626;--therapy-green:#059669;--neutral-tan:#92724c;--hairline:#d1d5db;--rule-line:#e5e7eb;--carbon-purple:#8b7aa8;--ink:#2c3236;--ink-muted:#6b7280;--bg:#fff;--surface:#f4ede4;--rule:#d1d5db;--accent:#2563eb;--accent-ink:#fff;--measure:60ch;scrollbar-color:var(--rule) transparent;caret-color:var(--accent);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--clinical-white:#1a1d21;--manila:#2c2621;--charcoal:#e8e9ec;--slate:#9ca3af;--slate-light:#6b7280;--psychiatric-blue:#60a5fa;--blue-hover:#93c5fd;--assessment-red:#ef4444;--therapy-green:#10b981;--neutral-tan:#d4a574;--hairline:#374151;--rule-line:#1f2937;--carbon-purple:#a78bcd;--ink:#e8e9ec;--ink-muted:#9ca3af;--bg:#1a1d21;--surface:#2c2621;--rule:#374151;--accent:#60a5fa;--accent-ink:#1a1d21}}*,:before,:after{box-sizing:border-box}html{overflow-x:clip}body{-webkit-font-smoothing:antialiased;color:var(--ink);background:var(--bg);margin:0;font-family:Work Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.6}.app{flex-direction:column;min-height:100vh;display:flex}.tab-bar{border-bottom:1px solid var(--hairline);background:var(--clinical-white);gap:32px;padding:24px 48px;display:flex}.tab-button{letter-spacing:.08em;text-transform:uppercase;color:var(--slate);cursor:pointer;background:0 0;border:none;padding:8px 0;font-family:Work Sans,sans-serif;font-size:11px;font-weight:500;transition:color .15s ease-out;position:relative}.tab-button:hover,.tab-button.active{color:var(--charcoal)}.tab-button.active:after{content:"";background:var(--psychiatric-blue);height:3px;position:absolute;bottom:-24px;left:0;right:0}.screen-content{flex:1;padding:48px 24px;overflow-y:auto}.screen-title{letter-spacing:.08em;text-transform:uppercase;color:var(--slate);text-align:center;margin-bottom:24px;font-family:Work Sans,sans-serif;font-size:11px;font-weight:500}.form-card{background:var(--manila);border:1px solid var(--hairline);max-width:600px;margin:0 auto 32px;padding:32px}.card-header{letter-spacing:.08em;text-transform:uppercase;color:var(--slate);margin-bottom:20px;font-family:Work Sans,sans-serif;font-size:11px;font-weight:500}.mood-scale{border-bottom:1px solid var(--hairline);flex-wrap:wrap;gap:16px;margin-bottom:24px;padding-bottom:24px;display:flex}.mood-option{align-items:center;gap:8px;display:flex}.mood-option input[type=radio]{appearance:none;border:2px solid var(--slate);cursor:pointer;border-radius:50%;flex-shrink:0;width:20px;height:20px;transition:all .15s ease-out;position:relative}.mood-option input[type=radio]:checked{border-width:6px}.mood-option input[type=radio][value=happy]:checked{border-color:var(--therapy-green)}.mood-option input[type=radio][value=sad]:checked{border-color:var(--assessment-red)}.mood-option input[type=radio][value=calm]:checked{border-color:var(--neutral-tan)}.mood-option input[type=radio][value=anxious]:checked{border-color:var(--assessment-red)}.mood-option input[type=radio][value=neutral]:checked{border-color:var(--neutral-tan)}.mood-option label{color:var(--charcoal);cursor:pointer;font-family:Work Sans,sans-serif;font-size:14px;font-weight:400}.session-notes{margin-bottom:24px}.notes-textarea{width:100%;min-height:192px;color:var(--charcoal);resize:vertical;background:0 0;background-image:repeating-linear-gradient(transparent, transparent 23px, var(--rule-line) 23px, var(--rule-line) 24px);background-size:100% 24px;border:none;padding:1px 0 0;font-family:Work Sans,sans-serif;font-size:16px;font-weight:400;line-height:24px}.notes-textarea::placeholder{color:var(--slate-light)}.card-footer{border-top:1px solid var(--hairline);justify-content:space-between;align-items:center;padding-top:16px;display:flex}.timestamp{color:var(--slate);font-family:JetBrains Mono,monospace;font-size:14px;font-weight:400}.submit-button{letter-spacing:.08em;text-transform:uppercase;background:var(--psychiatric-blue);color:var(--clinical-white);cursor:pointer;border:none;padding:12px 24px;font-family:Work Sans,sans-serif;font-size:11px;font-weight:500;transition:background .15s ease-out}.submit-button:hover:not(:disabled){background:var(--blue-hover)}.submit-button:disabled{opacity:.5;cursor:not-allowed}.entry-list{flex-direction:column;gap:16px;max-width:600px;margin:0 auto;display:flex}.entry-card{background:var(--manila);border:1px solid var(--hairline);cursor:pointer;padding:20px 24px;transition:border-color .15s ease-out}.entry-card:hover{border-color:var(--slate)}.entry-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.entry-date{color:var(--charcoal);font-family:JetBrains Mono,monospace;font-size:14px;font-weight:400}.mood-indicator{border-radius:50%;flex-shrink:0;width:12px;height:12px}.mood-indicator.happy{background:var(--therapy-green)}.mood-indicator.sad{background:var(--assessment-red)}.mood-indicator.calm{background:var(--neutral-tan)}.mood-indicator.anxious{background:var(--assessment-red)}.mood-indicator.neutral{background:var(--neutral-tan)}.entry-content{color:var(--charcoal);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-family:Work Sans,sans-serif;font-size:15px;font-weight:400;line-height:1.5;display:-webkit-box;overflow:hidden}.entry-meta{color:var(--carbon-purple);margin-top:8px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:400}.search-controls{flex-wrap:wrap;gap:12px;max-width:600px;margin:0 auto 32px;display:flex}.filter-chip{border:1px solid var(--hairline);background:var(--clinical-white);cursor:pointer;padding:6px 12px;font-family:Work Sans,sans-serif;font-size:13px;font-weight:400;transition:all .15s ease-out}.filter-chip:hover{border-color:var(--slate)}.filter-chip.active{background:var(--psychiatric-blue);color:var(--clinical-white);border-color:var(--psychiatric-blue)}.calendar-grid{max-width:800px;margin:0 auto}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.calendar-month{color:var(--charcoal);font-family:Work Sans,sans-serif;font-size:18px;font-weight:500}.calendar-nav{gap:12px;display:flex}.calendar-nav button{border:1px solid var(--hairline);background:var(--clinical-white);color:var(--charcoal);cursor:pointer;padding:6px 16px;font-family:Work Sans,sans-serif;font-size:14px;font-weight:400;transition:border-color .15s ease-out}.calendar-nav button:hover{border-color:var(--slate)}.calendar-days{background:var(--hairline);border:1px solid var(--hairline);grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.calendar-day-header{letter-spacing:.08em;text-transform:uppercase;color:var(--slate);background:var(--clinical-white);text-align:center;padding:12px;font-family:Work Sans,sans-serif;font-size:11px;font-weight:500}.calendar-day{background:var(--clinical-white);cursor:pointer;min-height:80px;padding:12px;transition:background .15s ease-out;position:relative}.calendar-day:hover{background:var(--manila)}.calendar-day.other-month{opacity:.3}.calendar-day-number{color:var(--charcoal);margin-bottom:8px;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:400}.calendar-mood-dots{flex-wrap:wrap;gap:4px;display:flex}.calendar-mood-dot{border-radius:50%;width:8px;height:8px}.empty-state{text-align:center;background:var(--manila);border:1px solid var(--hairline);max-width:600px;margin:64px auto;padding:48px 24px}.empty-state-title{letter-spacing:.08em;text-transform:uppercase;color:var(--slate);margin-bottom:12px;font-family:Work Sans,sans-serif;font-size:11px;font-weight:500}.empty-state-text{color:var(--charcoal);font-family:Work Sans,sans-serif;font-size:15px;font-weight:400;line-height:1.5}.delete-button{letter-spacing:.08em;text-transform:uppercase;background:var(--assessment-red);color:var(--clinical-white);cursor:pointer;border:none;margin-top:12px;padding:8px 16px;font-family:Work Sans,sans-serif;font-size:11px;font-weight:500;transition:opacity .15s ease-out}.delete-button:hover{opacity:.9}.entry-detail{max-width:600px;margin:0 auto}.back-button{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--hairline);color:var(--charcoal);cursor:pointer;background:0 0;margin-bottom:24px;padding:8px 16px;font-family:Work Sans,sans-serif;font-size:11px;font-weight:500;transition:border-color .15s ease-out}.back-button:hover{border-color:var(--slate)}.screen{min-height:100vh}p{text-wrap:pretty}h1,h2,h3{text-wrap:balance}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}a{color:var(--accent);text-underline-offset:.18em}.num{font-variant-numeric:tabular-nums}button,[role=button],summary,select,input[type=checkbox],input[type=radio]{min-height:44px}button{min-width:44px}input,select,textarea{font:inherit;font-size:max(1rem,16px)}img,video,canvas,svg{max-width:100%;height:auto}pre{overflow-x:auto}@media (width<=768px){.tab-bar{gap:24px;padding:16px 24px}.screen-content{padding:24px 16px}.form-card{padding:24px}.mood-scale{flex-direction:column;gap:12px}.calendar-days{gap:0}.calendar-day{min-height:60px;padding:8px}.calendar-day-header{padding:8px}.calendar-day-number{font-size:12px}}@media (width<=480px){.screen{padding-inline:1rem}.tab-bar{gap:16px;padding:12px 16px}.tab-button{font-size:10px}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media (width<=480px){body,.container,[class*=container],section,header,footer,nav,main,article{padding-inline:max(1rem,16px)}}p,li,dt,dd,blockquote,figcaption,td,th{max-width:min(75ch,100%)}
