@import"https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap";.tabbar{position:sticky;bottom:0;display:flex;background:var(--plate-raised);border-top:1px solid var(--rule);padding:.8rem .4rem calc(.8rem + env(safe-area-inset-bottom,0));z-index:10}.tabbar__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.4rem .2rem;color:var(--ink-sepia-soft)}.tabbar__item.is-active{color:var(--green-deep)}.tabbar__icon{transition:transform .2s var(--ease-grow)}.tabbar__item.is-active .tabbar__icon{transform:translateY(-.1rem)}.tabbar__label{font-family:var(--font-mono);font-size:1rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.welcome{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;background:var(--plate);padding:var(--sp-20)}.welcome__card{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:40rem;padding:var(--sp-20)}.welcome__plate{color:var(--green-deep);margin-bottom:var(--sp-8)}.welcome__card h1{font-family:var(--font-display);font-style:italic;font-weight:600;font-size:2.4rem;color:var(--text-primary);margin:var(--sp-8) 0 var(--sp-16)}.welcome__summary{font-size:1.4rem;color:var(--text-secondary);line-height:1.65;margin-bottom:var(--sp-20);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:var(--sp-16) 0}.welcome__pitch{font-size:1.4rem;color:var(--text-primary);line-height:1.65;margin-bottom:var(--sp-24)}.auth{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;background:var(--plate);padding:var(--sp-20);overflow-y:auto}.auth__card{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;max-width:40rem}.auth__plate{color:var(--green-deep);margin-bottom:var(--sp-8)}.auth__title{font-family:var(--font-display);font-style:italic;font-weight:600;font-size:2.2rem;color:var(--text-primary);margin:var(--sp-8) 0 var(--sp-8)}.auth__hint{font-size:1.3rem;color:var(--text-secondary);line-height:1.55;margin-bottom:var(--sp-20)}.auth__form{display:flex;flex-direction:column;gap:var(--sp-16);width:100%;text-align:left}.auth__field{display:flex;flex-direction:column;gap:.6rem}.auth__field span{font-family:var(--font-mono);font-size:1.1rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-sepia-soft)}.auth__field input{width:100%;min-height:5rem;border-radius:var(--plate-radius);border:1px solid var(--rule);background:var(--plate-raised);padding:0 var(--sp-16);font-family:var(--font-body);font-size:1.6rem;color:var(--text-primary)}.auth__field input::placeholder{color:var(--ink-sepia-soft);font-style:italic}.auth__field input:focus-visible{outline:2px solid var(--green-deep);outline-offset:2px}.auth__error{margin:0;padding:var(--sp-12);border-radius:var(--plate-radius);background:#f5e4e1;color:#7a3028;font-size:1.3rem;line-height:1.5}.auth__sent{display:flex;flex-direction:column;gap:var(--sp-16)}.auth__sent p{font-size:1.4rem;color:var(--text-primary);line-height:1.6;margin:0}.auth__switch{display:flex;flex-direction:column;gap:var(--sp-8);margin-top:var(--sp-20)}.auth__link{background:none;border:none;padding:0;font-family:var(--font-body);font-size:1.3rem;font-weight:600;color:var(--green-deep);text-decoration:underline;text-underline-offset:.2rem}.auth__link--muted{color:var(--ink-sepia-soft);font-weight:400}.breathing{display:flex;flex-direction:column;align-items:center;gap:var(--sp-12);padding:var(--sp-16) var(--sp-8)}.breathing--compact{gap:.4rem;padding:var(--sp-4) 0 0}.breathing--compact .breathing__circle{width:9rem;height:10.2rem}.breathing--compact .breathing__seconds{font-size:2.6rem}.breathing__circle{width:15rem;height:17rem;border-radius:50% 50% 48% 48%/58% 58% 42% 42%;background:var(--green-deep);border:1px solid var(--green-deep);display:flex;align-items:center;justify-content:center;transition-property:transform;transition-timing-function:var(--ease-grow);transform:scale(.78)}.breathing__circle--in,.breathing__circle--hold{transform:scale(1)}.breathing__circle--out{transform:scale(.78)}.breathing__seconds{font-family:var(--font-display);font-style:italic;font-size:4rem;font-weight:500;color:var(--plate)}.breathing__phase{font-family:var(--font-mono);font-size:1.3rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-primary)}.breathing__round{font-size:1.3rem;color:var(--text-secondary)}.breathing__btn{margin-top:var(--sp-8);background:var(--green-deep);color:var(--plate);padding:1.2rem 2.4rem;border-radius:var(--plate-radius);font-family:var(--font-mono);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:1.3rem}@media (prefers-reduced-motion: reduce){.breathing__circle{transition:none}}.today{display:flex;flex-direction:column;gap:var(--sp-12);padding:var(--sp-8) var(--sp-16) var(--sp-32)}.today__nav{display:flex;align-items:center;justify-content:center;gap:var(--sp-24)}.today__nav button{font-family:var(--font-display);font-size:2.8rem;line-height:1;color:var(--ink-sepia-soft);padding:0 var(--sp-8)}.today__nav button:disabled{opacity:.25}.today__nav-label{font-family:var(--font-mono);font-size:1.1rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-sepia)}.today__nav-stage{color:var(--ink-sepia-soft);font-weight:500}.today__hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.2rem}.today__plate-art{color:var(--green-deep);margin-bottom:.2rem}.today__theme{font-family:var(--font-display);font-style:italic;font-weight:600;font-size:2.4rem;line-height:1.15;color:var(--text-primary);max-width:28ch}.today__motivation{text-align:center;font-size:1.3rem;font-style:italic;color:var(--green-deep)}.today__lesson{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:var(--sp-8) 0}.today__lesson p{font-size:1.6rem;line-height:1.7;color:var(--text-secondary);max-width:68ch}.today__practice{background:var(--plate-raised);border-radius:var(--plate-radius);box-shadow:var(--shadow-plate);padding:var(--sp-12)}.today__practice-title{font-family:var(--font-display);font-style:italic;font-weight:500;font-size:2.4rem;color:var(--text-primary);margin-bottom:var(--sp-8)}.today__steps{display:flex;flex-direction:column;gap:var(--sp-12);counter-reset:step}.today__steps li{display:flex;gap:var(--sp-12);font-size:1.45rem;line-height:1.55;color:var(--text-secondary);counter-increment:step}.today__steps li:before{content:counter(step);flex:none;width:2.4rem;height:2.4rem;border:1px solid var(--green-deep);border-radius:50%;color:var(--green-deep);font-family:var(--font-mono);font-weight:600;font-size:1.2rem;display:flex;align-items:center;justify-content:center}.today__mood{background:var(--plate-raised);border-radius:var(--plate-radius);box-shadow:var(--shadow-plate);padding:var(--sp-20)}.mood-slider{display:block;margin-top:var(--sp-16)}.mood-slider__label{display:flex;justify-content:space-between;font-size:1.3rem;color:var(--text-secondary);margin-bottom:.6rem}.mood-slider__value{font-family:var(--font-mono);color:var(--green-deep);font-weight:600}.mood-slider input[type=range]{width:100%;accent-color:var(--green-deep)}.today__complete{margin-top:var(--sp-8)}.progress-tab{display:flex;flex-direction:column;gap:var(--sp-24);padding:var(--sp-20) var(--sp-16) var(--sp-32)}.progress-tab__stats{text-align:center;font-size:1.4rem;color:var(--text-secondary);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:var(--sp-16) 0}.progress-tab__stats strong{font-family:var(--font-mono);color:var(--green-deep);font-size:1.6rem}.progress-tab__sep{color:var(--rule);margin:0 .2rem}.progress-folio{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--sp-4);margin-top:var(--sp-12)}.progress-folio__cell{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:var(--sp-8) .2rem;border-radius:var(--plate-radius);color:var(--green-deep)}.progress-folio__cell.is-future{color:var(--green-soft);opacity:.55}.progress-folio__cell.is-today{outline:1.5px solid var(--accent);outline-offset:2px}.progress-folio__day{font-family:var(--font-mono);font-size:1rem;font-weight:600;color:var(--ink-sepia-soft)}.progress-folio__cell.is-done .progress-folio__day{color:var(--accent)}.mood-trend{display:flex;flex-direction:column;gap:var(--sp-12);margin-top:var(--sp-12)}.mood-trend__row{display:flex;align-items:center;gap:var(--sp-8)}.mood-trend__label{flex:none;width:6.4rem;font-size:1.2rem;color:var(--text-secondary)}.mood-trend__bars{flex:1;display:flex;align-items:flex-end;gap:.4rem;height:4rem;border-bottom:1px solid var(--rule)}.mood-trend__bar{flex:1;min-width:.4rem;background:var(--green-soft);border-radius:.2rem .2rem 0 0}.journal-tab{display:flex;flex-direction:column;gap:var(--sp-24);padding:var(--sp-20) var(--sp-16) var(--sp-32)}.journal-tab__prompt{font-family:var(--font-display);font-style:italic;font-weight:500;font-size:2.4rem;line-height:1.25;color:var(--text-primary)}.journal-tab__day{font-family:var(--font-mono);font-size:1.1rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-sepia-soft);margin:var(--sp-8) 0 var(--sp-16)}.journal-tab__save{margin-top:var(--sp-16)}.journal-tab__past{display:flex;flex-direction:column}.journal-entry{display:block;width:100%;text-align:left;padding:var(--sp-12) 0;border-bottom:1px solid var(--rule)}.journal-entry:first-of-type{border-top:1px solid var(--rule)}.journal-entry__day{font-family:var(--font-mono);font-size:1.1rem;font-weight:600;letter-spacing:.06em;color:var(--green-deep)}.journal-entry__text{font-size:1.35rem;color:var(--text-secondary);margin-top:.4rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.tools-tab{display:flex;flex-direction:column;padding:var(--sp-20) var(--sp-16) var(--sp-32)}.tools-tab__intro{font-size:1.3rem;color:var(--text-secondary);margin-bottom:var(--sp-16);border-bottom:1px solid var(--rule);padding-bottom:var(--sp-16)}.tools-tab__back{align-self:flex-start;font-family:var(--font-mono);font-size:1.3rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--green-deep);margin-bottom:var(--sp-16)}.tool-item{display:flex;align-items:center;gap:var(--sp-16);width:100%;text-align:left;padding:var(--sp-16) 0;border-bottom:1px solid var(--rule)}.tool-item__icon{flex:none;width:4.4rem;height:4.4rem;border-radius:50%;background:var(--green-pale);color:var(--green-deep);display:flex;align-items:center;justify-content:center}.tool-item__title{display:block;font-family:var(--font-display);font-style:italic;font-weight:500;font-size:2.4rem;color:var(--text-primary)}.tool-item__subtitle{display:block;font-size:1.2rem;color:var(--text-secondary)}.grounding,.wave{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-16);padding:var(--sp-16)}.grounding__number{font-family:var(--font-display);font-style:italic;font-size:5.6rem;color:var(--green-deep)}.grounding__label,.grounding__done{font-size:1.6rem;font-weight:500}.wave__text{font-size:1.5rem;color:var(--text-secondary)}.wave__timer{font-family:var(--font-display);font-style:italic;font-size:4.4rem;color:var(--accent)}.profile-tab{display:flex;flex-direction:column;gap:var(--sp-24);padding:var(--sp-20) var(--sp-16) var(--sp-32)}.profile-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-4);padding-bottom:var(--sp-16);border-bottom:1px solid var(--rule)}.profile-hero__plate{color:var(--green-deep);margin-bottom:var(--sp-4)}.profile-hero h2{font-family:var(--font-display);font-style:italic;font-weight:500;font-size:2.4rem;margin-top:var(--sp-4)}.profile-hero__username{font-size:1.4rem;color:var(--text-secondary);margin-top:.2rem}.profile-hero__stage{font-family:var(--font-mono);font-size:1.1rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-sepia-soft);margin-top:.4rem}.profile-stats{text-align:center;font-size:1.4rem;color:var(--text-secondary);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:var(--sp-16) 0}.profile-stats strong{font-family:var(--font-mono);color:var(--green-deep);font-size:1.6rem}.profile-stats__sep{color:var(--rule);margin:0 .2rem}.profile-disclaimer p{font-size:1.2rem;color:var(--ink-sepia-soft);line-height:1.5;font-style:italic}.profile-logout{margin-top:var(--sp-8)}.app-shell{display:flex;flex-direction:column;min-height:100dvh}.app-header{position:sticky;top:0;z-index:10;background:var(--plate-raised);border-bottom:1px solid var(--rule);padding:var(--sp-8) var(--sp-16);text-align:center}.app-header__title{font-family:var(--font-display);font-style:italic;font-weight:500;font-size:2.4rem;color:var(--green-deep)}.app-content{flex:1;overflow-y:auto;background:var(--plate)}:root{--plate: #f5efe2;--plate-raised: #faf6ec;--ink-sepia: #6b5b45;--ink-sepia-soft: #6b5b45;--rule: #d8cbaf;--green-deep: #3f6b3a;--green-soft: #8fa876;--green-pale: #e2e8d5;--accent: #a13a2e;--accent-deep: #6f2822;--husk: #2b2420;--level-high-bg: #e4ddd0;--level-high-text: var(--husk);--level-medium-bg: #e8e0cc;--level-medium-text: #6b5424;--text-primary: var(--husk);--text-secondary: var(--ink-sepia);--text-on-accent: #f5efe2;--font-display: "Cormorant", "Cormorant Garamond", Georgia, serif;--font-body: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--sp-4: .4rem;--sp-8: .8rem;--sp-12: 1.2rem;--sp-16: 1.6rem;--sp-20: 2rem;--sp-24: 2.4rem;--sp-32: 3.2rem;--sp-48: 4.8rem;--plate-radius: .3rem;--shadow-plate: 0 .4rem 1.2rem -.4rem rgba(43, 36, 32, .18), 0 .1rem .3rem rgba(43, 36, 32, .08);--ease-grow: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box}html{font-size:62.5%;-webkit-text-size-adjust:100%}html,body{height:100%}body{margin:0;min-height:100dvh;background:var(--plate);color:var(--text-primary);font-family:var(--font-body);font-size:1.6rem;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:hidden;caret-color:var(--accent)}#root{max-width:48rem;min-height:100dvh;margin:0 auto;position:relative;display:flex;flex-direction:column}img,svg{max-width:100%;display:block}button,input,textarea{font-family:inherit;color:inherit}button{background:none;border:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}textarea,input{font-size:1.6rem}h1,h2,h3,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}hr{border:none;border-top:1px solid var(--rule);margin:0}::selection{background:var(--green-deep);color:var(--plate)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:.8rem}::-webkit-scrollbar-track{background:var(--plate)}::-webkit-scrollbar-thumb{background:var(--ink-sepia-soft);border-radius:999px;border:2px solid var(--plate)}*{scrollbar-color:var(--ink-sepia-soft) var(--plate);scrollbar-width:thin}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.plate{background:var(--plate-raised);border-radius:var(--plate-radius);box-shadow:var(--shadow-plate);padding:var(--sp-20)}.plate-caption{display:block;font-family:var(--font-mono);font-size:1.1rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-sepia-soft);margin-bottom:var(--sp-8)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;background:var(--green-deep);color:var(--plate);padding:1.5rem 2rem;border-radius:var(--plate-radius);font-family:var(--font-mono);font-weight:600;font-size:1.3rem;letter-spacing:.08em;text-transform:uppercase;width:100%;transition:transform .15s var(--ease-grow),background-color .15s ease-out}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.45}.btn-primary--milestone{background:var(--accent)}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;background:transparent;color:var(--ink-sepia);padding:1.2rem 1.6rem;border-radius:var(--plate-radius);font-family:var(--font-mono);font-weight:600;font-size:1.2rem;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--rule)}textarea.journal-input{width:100%;min-height:11rem;border-radius:var(--plate-radius);border:1px solid var(--rule);background:var(--plate-raised);padding:var(--sp-16);font-size:1.5rem;line-height:1.6;resize:vertical}textarea.journal-input::placeholder{color:var(--ink-sepia-soft);font-style:italic}
