:root{
  --ink:#f1eadf;--muted:#88918c;--line:rgba(241,234,223,.14);
  --acid:#dcff7a;--amber:#ef9b55;--bg:#080b0a;--panel:#101513;
  --safe-top:max(18px,env(safe-area-inset-top));--safe-bottom:max(18px,env(safe-area-inset-bottom));
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden;-webkit-text-size-adjust:100%}
body{min-height:100svh}
button,input,textarea{font:inherit}
button{color:inherit}
button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--acid);outline-offset:3px}
#ambient{position:fixed;inset:0;width:100%;height:100%;z-index:0;opacity:.76;pointer-events:none}
#grain{position:fixed;inset:-70%;z-index:1;pointer-events:none;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");animation:grain .24s steps(2) infinite}
@keyframes grain{0%{transform:translate(0)}25%{transform:translate(3%,-2%)}50%{transform:translate(-2%,3%)}75%{transform:translate(1%,2%)}100%{transform:translate(-3%,-1%)}}
#app{position:relative;z-index:2;width:min(100%,660px);min-height:100svh;margin:0 auto;padding:var(--safe-top) clamp(20px,5vw,34px) var(--safe-bottom)}
.topbar{height:46px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:relative;z-index:20}
.bare{border:0;background:none;padding:0;cursor:pointer}
.brand{font:700 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.25em;color:var(--ink);white-space:nowrap;text-align:left}
.brand i{color:var(--amber);font-style:normal}.brand span{color:#59635e;font-size:10px}
.progress-dots{display:flex;gap:7px;align-items:center;justify-content:center}.progress-dots i{width:4px;height:4px;border-radius:10px;background:#4e5853}.progress-dots i.on{width:20px;background:var(--ink)}
.sound{justify-self:end;color:#78817c;font:600 10px/1 ui-monospace,monospace;letter-spacing:.13em;text-transform:uppercase;padding:10px 0 10px 12px}
.screen{display:none;min-height:calc(100svh - 64px);padding:clamp(22px,5vh,54px) 0 20px;animation:enter .55s cubic-bezier(.2,.72,.2,1)}
.screen.active{display:flex;flex-direction:column}
@keyframes enter{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:none}}
.eyebrow{font:700 10px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.23em;text-transform:uppercase;color:var(--amber);margin-bottom:18px}
h1,h2,p{margin-top:0}h1{font:400 clamp(56px,14vw,92px)/.9 Georgia,"Times New Roman",serif;letter-spacing:-.055em;margin-bottom:25px;max-width:100%}
h2{font:400 clamp(42px,10vw,66px)/.96 Georgia,"Times New Roman",serif;letter-spacing:-.045em;margin-bottom:18px}
.lead{font-size:clamp(17px,4.4vw,21px);line-height:1.5;color:#a8b0ac;max-width:540px}.lead em{font-family:Georgia,serif;color:var(--ink)}
.home-intro{margin-bottom:clamp(28px,5vh,50px)}
.button{width:100%;border:1px solid var(--ink);background:var(--ink);color:#0b0d0c;border-radius:999px;padding:17px 23px;font-weight:750;cursor:pointer;transition:.2s;display:flex;justify-content:center;align-items:center;text-decoration:none}
.button:hover{transform:translateY(-2px);box-shadow:0 12px 38px rgba(241,234,223,.1)}.button:active{transform:scale(.985)}.button.dark{background:transparent;color:var(--ink);border-color:var(--line)}.button.small{width:auto;padding:12px 18px;font-size:13px}.button:disabled{opacity:.38;pointer-events:none}
.hidden{display:none!important}
.panic-button{width:100%;display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:16px;text-align:left;border:1px solid rgba(220,255,122,.35);border-radius:24px;background:linear-gradient(145deg,rgba(27,38,24,.94),rgba(11,16,13,.95));padding:17px 18px;cursor:pointer;box-shadow:0 28px 70px rgba(0,0,0,.24);transition:.22s;position:relative;overflow:hidden}
.panic-button:before{content:"";position:absolute;inset:-80%;background:radial-gradient(circle at 25% 40%,rgba(220,255,122,.1),transparent 28%);animation:weather 8s ease-in-out infinite alternate;pointer-events:none}.panic-button:hover{border-color:rgba(220,255,122,.75);transform:translateY(-2px)}.panic-button:active{transform:scale(.99)}
@keyframes weather{to{transform:translate3d(4%,-2%,0) rotate(3deg)}}
.panic-button>span,.panic-button>strong{position:relative}.panic-button b{display:block;font:700 15px/1.25 ui-monospace,monospace;letter-spacing:.025em;color:var(--acid)}.panic-button small{display:block;color:#859087;font-size:12px;margin-top:7px}.panic-button>strong{font-size:18px;color:var(--acid)}
.panic-orb{width:58px;height:58px;border:1px solid rgba(220,255,122,.42);border-radius:50%;display:grid;place-items:center;box-shadow:0 0 32px rgba(220,255,122,.08)}.panic-orb i{width:24px;height:24px;border-radius:50%;border:1px solid var(--acid);animation:panicBreath 4.8s ease-in-out infinite;box-shadow:0 0 18px rgba(220,255,122,.22)}
@keyframes panicBreath{0%,100%{transform:scale(.65);opacity:.6}48%{transform:scale(1.28);opacity:1}}
.today-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.module-card{min-height:224px;border:1px solid var(--line);border-radius:24px;background:rgba(14,19,17,.83);padding:19px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;cursor:pointer;position:relative;overflow:hidden;transition:.22s}.module-card:hover{border-color:rgba(241,234,223,.36);transform:translateY(-2px)}.module-card:active{transform:scale(.988)}.module-card:disabled{cursor:wait;opacity:.55}.module-card .card-label{font:700 9px/1 ui-monospace,monospace;letter-spacing:.17em;text-transform:uppercase;color:var(--amber);position:relative}.module-card b{font:400 27px/1.04 Georgia,serif;letter-spacing:-.025em;margin:auto 0 9px;position:relative}.module-card>span:not(.card-label):not(.card-weather){color:#737e78;font-size:12px;line-height:1.35;position:relative}.module-card>strong{font:700 10px/1 ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;margin-top:19px;color:#aeb7b2;position:relative}
.card-weather{position:absolute;inset:0;pointer-events:none}.card-weather:before{content:"";position:absolute;width:170px;height:170px;border:1px solid rgba(220,255,122,.16);border-radius:50%;right:-70px;top:-60px}.card-weather i{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--acid);right:40px;top:34px;box-shadow:0 0 25px var(--acid);animation:orbitDot 7s linear infinite;transform-origin:-34px 38px}@keyframes orbitDot{to{transform:rotate(360deg)}}
.reflect-card:before{content:"";position:absolute;inset:-50%;background:radial-gradient(circle at 80% 20%,rgba(239,155,85,.1),transparent 27%);animation:weather 10s ease-in-out infinite alternate}.home-foot{text-align:center;color:#56615b;font:600 9px/1.4 ui-monospace,monospace;letter-spacing:.11em;text-transform:uppercase;margin:20px 0 0}
.stop-button{position:absolute;right:clamp(20px,5vw,34px);top:calc(var(--safe-top) + 58px);z-index:30;border:1px solid var(--line);border-radius:999px;background:rgba(8,11,10,.72);color:#8d9791;padding:9px 14px;font:700 9px/1 ui-monospace,monospace;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(12px)}
.breath-screen{padding-top:clamp(42px,8vh,84px)}.breath-screen h2{margin-bottom:10px}.breath-screen .lead{font-size:16px;margin-bottom:16px}
.breath-zone{position:relative;flex:1;min-height:350px;max-height:510px;margin:12px 0 14px;border-radius:32px;border:1px solid var(--line);background:radial-gradient(circle at 50% 48%,rgba(220,255,122,.055),rgba(6,9,8,.42) 62%);overflow:hidden;touch-action:none;user-select:none;cursor:pointer}.breath-zone.guided{cursor:default}.breath-zone canvas{position:absolute;inset:0;width:100%;height:100%}.breath-copy{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;pointer-events:none}.breath-copy strong{font:400 36px/1 Georgia,serif;color:var(--acid);transition:color .5s}.breath-copy span{font:700 9px/1.4 ui-monospace,monospace;letter-spacing:.13em;text-transform:uppercase;color:#6f7b74;margin-top:11px;max-width:270px}.breath-zone.out .breath-copy strong{color:var(--amber)}
.breath-count{display:flex;align-items:center;justify-content:center;gap:8px;color:#657069;font:700 9px/1 ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;min-height:30px}.breath-count i{width:5px;height:5px;border-radius:50%;background:#37413c}.breath-count i.on{background:var(--acid);box-shadow:0 0 12px rgba(220,255,122,.5)}.breath-count span{margin-left:5px}
.meditation-screen{align-items:center;text-align:center;padding-top:clamp(46px,7vh,72px)}.meditation-screen .lead{font-size:16px;max-width:430px}.med-orbit{width:min(54vw,260px);height:min(54vw,260px);border:1px solid rgba(220,255,122,.2);border-radius:50%;position:relative;margin:20px auto 27px;display:grid;place-items:center;background:radial-gradient(circle,rgba(220,255,122,.055),transparent 65%)}.med-orbit:before,.med-orbit:after{content:"";position:absolute;border-radius:50%}.med-orbit:before{inset:28px;border:1px dashed rgba(241,234,223,.17)}.med-orbit:after{inset:58px;border:1px solid rgba(239,155,85,.15)}.med-orbit i{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--acid);top:-5px;left:50%;box-shadow:0 0 23px var(--acid)}.med-orbit b{width:34%;height:34%;border:1px solid rgba(241,234,223,.32);border-radius:50%;transition:1.8s ease-in-out}.med-orbit.playing{animation:slowSpin 14s linear infinite}.med-orbit.playing b{animation:softPulse 7s ease-in-out infinite}@keyframes slowSpin{to{transform:rotate(360deg)}}@keyframes softPulse{50%{transform:scale(1.4);border-color:rgba(220,255,122,.7);box-shadow:0 0 45px rgba(220,255,122,.1)}}
.play-button{border:0;background:none;color:var(--ink);display:flex;align-items:center;gap:11px;cursor:pointer;padding:8px 16px}.play-button span{width:42px;height:42px;border-radius:50%;border:1px solid var(--ink);display:grid;place-items:center;font-size:12px;padding-left:2px}.play-button b{font:700 11px/1 ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase}.audio-progress{width:100%;margin-top:18px}.audio-progress input{width:100%;accent-color:var(--acid)}.audio-progress>div{display:flex;justify-content:space-between;color:#657069;font:700 9px/1 ui-monospace,monospace;letter-spacing:.1em}.after-row{margin-top:18px;display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;color:#77817b;font-size:12px}.after-row button{border:1px solid var(--line);border-radius:999px;background:transparent;color:#aeb7b2;padding:8px 12px;cursor:pointer}
.reflect-screen{padding-top:clamp(46px,7vh,72px)}.reflect-screen .lead{font-size:16px}.tabs{display:flex;border-bottom:1px solid var(--line);margin:12px 0 18px}.tabs button{flex:1;border:0;border-bottom:2px solid transparent;background:transparent;color:#657069;padding:13px;font:700 10px/1 ui-monospace,monospace;letter-spacing:.13em;text-transform:uppercase;cursor:pointer}.tabs button.active{color:var(--acid);border-bottom-color:var(--acid)}.reflect-pane{display:none;flex:1}.reflect-pane.active{display:flex;flex-direction:column}.reflect-pane textarea{width:100%;flex:1;min-height:250px;border:1px solid var(--line);border-radius:24px;background:rgba(14,19,17,.83);color:var(--ink);padding:20px;font:400 22px/1.45 Georgia,serif;resize:none}.reflect-pane textarea::placeholder{color:#46504b}.reflect-foot{display:flex;justify-content:space-between;align-items:center;margin-top:13px;color:#5d6862;font:700 9px/1 ui-monospace,monospace}.record-zone{height:300px;border:1px solid var(--line);border-radius:26px;background:rgba(14,19,17,.83);position:relative;display:grid;place-items:center;overflow:hidden;margin-bottom:14px}.record-zone canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.65}.record-button{position:relative;z-index:2;width:152px;height:152px;border-radius:50%;border:1px solid rgba(239,155,85,.5);background:rgba(8,11,10,.72);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:pointer;color:#b8c1bc}.record-button i{width:22px;height:22px;border-radius:50%;background:var(--amber);box-shadow:0 0 22px rgba(239,155,85,.48)}.record-button span{font:700 9px/1.4 ui-monospace,monospace;letter-spacing:.11em;text-transform:uppercase;max-width:100px}.record-button.recording{border-color:var(--acid);animation:recordPulse 2s ease-in-out infinite}.record-button.recording i{border-radius:3px;background:var(--acid)}@keyframes recordPulse{50%{transform:scale(1.035);box-shadow:0 0 50px rgba(220,255,122,.06)}}.record-time{position:absolute;bottom:20px;color:#69746e;font:700 9px/1 ui-monospace,monospace;letter-spacing:.11em}.saved-message{border:1px solid rgba(220,255,122,.25);border-radius:24px;padding:24px;background:rgba(18,25,20,.85)}.saved-message span{display:block;color:var(--acid);font:700 9px/1 ui-monospace,monospace;letter-spacing:.15em;text-transform:uppercase}.saved-message strong{display:block;font:400 28px/1.15 Georgia,serif;margin:18px 0 24px}.form-note{min-height:18px;color:#7c8780;font-size:12px;text-align:center;margin:13px 0 0}.form-note.error{color:#e89a84}
.after-sheet{position:fixed;inset:0;z-index:90;background:rgba(3,5,4,.78);backdrop-filter:blur(18px);display:flex;align-items:flex-end;justify-content:center;padding:20px}.after-sheet>div{width:min(100%,560px);border:1px solid var(--line);border-radius:28px;background:#0e1311;padding:28px}.after-sheet h2{font-size:48px}.after-sheet button{display:block;width:100%;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);padding:15px;margin-top:9px;cursor:pointer}.after-sheet button:hover{border-color:var(--acid);color:var(--acid)}
.login-body{overflow:hidden}.login-shell{position:relative;z-index:2;width:min(100%,620px);min-height:100svh;margin:0 auto;padding:var(--safe-top) clamp(22px,6vw,38px) var(--safe-bottom);display:flex;flex-direction:column}.login-spacer{flex:1}.login-shell h1{margin-bottom:24px}.login-form{margin-top:18px}.login-form label{display:block;color:#77817b;font:700 9px/1 ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px}.login-form input,.control-login input{width:100%;border:0;border-bottom:1px solid #56615b;background:transparent;color:var(--ink);font:400 clamp(30px,8vw,44px)/1.1 Georgia,serif;padding:7px 0 12px;margin-bottom:20px;border-radius:0}.login-form input::placeholder,.control-login input::placeholder{color:#303934}
.control-body{background:#0b0e0d;overflow:auto}.control-shell{width:min(1180px,100%);margin:0 auto;padding:28px 24px 70px}.control-shell>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:65px}.control-shell>header button{color:#818c86;font:700 10px/1 ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase}.control-login{max-width:560px}.control-dashboard{}.control-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:24px}.control-top h2{margin:0}.control-top form{display:flex;align-items:end;gap:10px}.control-top input{width:85px;background:#121816;color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:12px}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.control-card{border:1px solid var(--line);border-radius:22px;background:#101513;padding:22px;min-width:0}.control-card.wide{margin-top:16px}.control-list{display:flex;flex-direction:column;gap:11px;max-height:520px;overflow:auto}.control-item{border-top:1px solid var(--line);padding-top:12px}.control-item:first-child{border-top:0}.control-item small{color:#657069;font:700 9px/1.4 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em}.control-item p{margin:8px 0;color:#c7cdc9;line-height:1.5;white-space:pre-wrap}.control-item audio{width:100%;margin-top:8px}.control-list.compact .control-item p{font-size:12px}.content-list{display:flex;flex-direction:column;gap:9px}.content-row{display:grid;grid-template-columns:55px 1fr auto;gap:14px;align-items:center;border-top:1px solid var(--line);padding:13px 0}.content-row>span{font:700 10px/1 ui-monospace,monospace;color:var(--amber)}.content-row b{display:block}.content-row small{color:#657069}.content-row audio{width:220px}.upload-form{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.upload-form h3{font:400 28px/1 Georgia,serif}.upload-form label{display:flex;flex-direction:column;gap:7px;color:#7c8780;font:700 9px/1 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.09em;margin-bottom:12px}.upload-form input{width:100%;border:1px solid var(--line);border-radius:11px;background:#0b0f0d;color:var(--ink);padding:12px;text-transform:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.content-controls{display:flex;align-items:center;gap:10px}.content-row select{border:1px solid var(--line);border-radius:10px;background:#0b0f0d;color:var(--ink);padding:9px}.control-empty{color:#657069}
@media(max-width:560px){
  .topbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.brand{letter-spacing:.18em}.progress-dots{gap:5px}.today-grid{grid-template-columns:1fr}.module-card{min-height:196px}.module-card b{font-size:29px}.breath-zone{min-height:330px}.control-grid{grid-template-columns:1fr}.control-top{align-items:flex-start;flex-direction:column}.content-row{grid-template-columns:44px 1fr}.content-row audio{grid-column:1/-1;width:100%}
}
@media(max-width:560px){.content-controls{grid-column:1/-1;display:flex;flex-direction:column;align-items:stretch}.content-row audio{grid-column:auto;width:100%}}
@media(max-height:760px){.screen{padding-top:18px}.home-intro{margin-bottom:20px}.home-intro h1{font-size:54px}.today-grid{margin-top:10px}.module-card{min-height:180px}.breath-zone{min-height:270px}.med-orbit{width:170px;height:170px;margin:8px auto 14px}}
@media(prefers-reduced-motion:reduce){#grain,.panic-orb i,.panic-button:before,.reflect-card:before,.card-weather i,.med-orbit.playing,.med-orbit.playing b,.record-button.recording{animation:none!important}.screen{animation:none}.module-card,.panic-button,.button{transition:none}}
