:root{--bg:#06090d;--panel:#0c1218;--ink:#e7fff9;--muted:#879b9b;--cyan:#79ffe1;--pink:#ff4fa3;--red:#ff4f64;--grid:#14232a}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:var(--bg);color:var(--ink);font-family:'JetBrains Mono',monospace;min-height:100vh;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:42px 42px}.scanlines{position:fixed;inset:0;pointer-events:none;z-index:99;background:repeating-linear-gradient(0deg,transparent 0 3px,#0002 4px);opacity:.4}header{height:70px;border-bottom:2px solid var(--cyan);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,4vw,4rem);background:#06090dee;position:sticky;top:0;z-index:10}.brand{font:800 1.1rem 'Space Grotesk';letter-spacing:.15em;color:var(--cyan);text-decoration:none}nav{display:flex;gap:1.2rem;align-items:center}nav a,.link{color:var(--ink);text-decoration:none;font:600 .75rem inherit;background:none;border:0;padding:0}nav a:hover,.link:hover{color:var(--pink)}nav form{margin:0}main{width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:3rem 0 6rem}.hero{margin:1rem 0 2.5rem}.hero h1{font:700 clamp(2.2rem,7vw,5.5rem)/.9 'Space Grotesk';letter-spacing:-.06em;margin:.25rem 0;text-transform:uppercase;max-width:900px}.eyebrow{color:var(--cyan);letter-spacing:.12em;font-size:.75rem}.panel{background:linear-gradient(135deg,#0d151cfa,#090e13fa);border:1px solid #28414a;border-left:3px solid var(--cyan);padding:clamp(1rem,3vw,2rem);box-shadow:8px 8px 0 #0008;margin-bottom:1.5rem}.panel h2{font-family:'Space Grotesk';margin-top:0}.step{position:relative}.stepno{position:absolute;right:1rem;top:.6rem;color:#304850;font-size:2rem;font-weight:800}.emotion-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:.75rem}.emotion input{position:absolute;opacity:0}.emotion span{display:block}.emotion{border:1px solid #29404b;padding:1rem;text-align:center;cursor:pointer;background:#080d12;transition:.15s}.emotion:has(input:checked){border-color:var(--emotion);box-shadow:inset 0 -5px 0 var(--emotion),0 0 22px color-mix(in srgb,var(--emotion),transparent 70%);transform:translateY(-2px)}.face{font-size:1.7rem;min-height:2.2rem}.rating{border-top:1px dashed #345;padding:1rem 0}.scale{display:flex;gap:.5rem;margin:.75rem 0}.scale input{position:absolute;opacity:0}.scale span{display:grid;place-items:center;width:42px;height:42px;border:1px solid #345;cursor:pointer}.scale input:checked+span{background:var(--cyan);color:#00100c;font-weight:800}label{display:block;color:var(--cyan);font-size:.78rem;letter-spacing:.05em;margin:1rem 0}input,textarea,select{display:block;width:100%;background:#05080b;border:1px solid #345;color:var(--ink);font:1rem 'JetBrains Mono';padding:.8rem;margin-top:.4rem}textarea:focus,input:focus,select:focus{outline:2px solid var(--cyan);outline-offset:2px}button{border:1px solid var(--cyan);background:transparent;color:var(--cyan);font:700 .8rem 'JetBrains Mono';padding:.85rem 1.15rem;cursor:pointer}.primary{background:var(--cyan);color:#02100d}.danger{border-color:var(--red);color:var(--red)}button:disabled{opacity:.35;cursor:not-allowed}.actions{display:flex;justify-content:flex-end;gap:1rem}.message{padding:1rem;border:1px solid var(--cyan);background:#0b2520;margin:1rem 0}.message.error{border-color:var(--red);background:#2b0b12}.muted,small{color:var(--muted)}.card-list{display:grid;gap:.75rem}.card-row{display:grid;grid-template-columns:160px 1fr auto;gap:1rem;align-items:center;padding:1.2rem;border:1px solid #29404b;background:#0a1015;color:var(--ink);text-decoration:none}.card-row:hover{border-color:var(--cyan);transform:translateX(4px)}.card-row i{font-style:normal;color:var(--cyan);margin-right:.8rem}.layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:1.5rem}.markdown{font-family:system-ui,sans-serif;line-height:1.7}.markdown h1,.markdown h2{font-family:'Space Grotesk'}.addendum{margin-top:2rem;border-top:2px dashed var(--pink);padding-top:1rem}.filters{display:flex;gap:1rem;align-items:end}.filters label{flex:1}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.metrics .panel{display:grid}.metrics b{font:700 2rem 'Space Grotesk';color:var(--cyan)}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:.8rem;border-bottom:1px solid #29404b;vertical-align:top}th{color:var(--cyan);font-size:.7rem}.chart{display:flex;align-items:flex-end;gap:.5rem;overflow:auto;min-height:280px}.signal{height:calc(var(--level)*45px);min-width:90px;background:linear-gradient(var(--pink),#38102a);display:flex;flex-direction:column;justify-content:flex-end;padding:.5rem;border-top:2px solid var(--pink)}.signal span,.signal b{font-size:.65rem}.signal i{color:var(--cyan);font-style:normal}.login{max-width:560px;margin:8vh auto}.login h1{font:700 2.5rem 'Space Grotesk'}footer{border-top:1px solid #29404b;padding:1.3rem;text-align:center;color:var(--muted);font-size:.65rem}.table-scroll{overflow:auto}code{font-size:.75rem;color:var(--cyan)}@media(max-width:720px){header{padding:0 1rem}nav{gap:.7rem}nav a{font-size:.65rem}.layout{grid-template-columns:1fr}.metrics{grid-template-columns:1fr}.card-row{grid-template-columns:1fr}.actions{position:sticky;bottom:0;background:#06090ded;padding:1rem}.hero h1{font-size:3rem}}
@media(prefers-reduced-motion:no-preference){.brand{animation:flicker 7s infinite}@keyframes flicker{0%,97%,100%{opacity:1}98%{opacity:.35}99%{opacity:.8}}}
.filters{flex-wrap:wrap}.filters label{min-width:130px}.codes{columns:2}.button{display:inline-block;background:var(--cyan);color:#02100d;padding:.85rem 1.15rem;text-decoration:none;font-weight:800}.secret{display:block;padding:1rem;border:1px dashed var(--cyan);font-size:1rem;overflow-wrap:anywhere}

/* Patient signals */
.signals-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(2rem,7vw,7rem);align-items:end;margin:1rem 0 2.5rem}.signals-hero h1{font:800 clamp(3.2rem,9vw,7rem)/.78 'Space Grotesk';letter-spacing:-.075em;margin:.4rem 0 0}.signals-hero h1 span{color:transparent;-webkit-text-stroke:1px var(--cyan);text-shadow:0 0 34px #79ffe128}.signals-intro{font:1.05rem/1.7 system-ui,sans-serif;color:#bfd0cd;border-left:1px solid var(--pink);padding-left:1.5rem;margin:0 0 .4rem}.signal-summary{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #29404b;border-top:3px solid var(--cyan);margin-bottom:1.5rem;background:#081016e8}.signal-stat{padding:1.35rem 1.5rem;display:flex;flex-direction:column;gap:.35rem}.signal-stat+ .signal-stat{border-left:1px solid #29404b}.signal-stat>span{color:var(--muted);font-size:.66rem;letter-spacing:.12em}.signal-stat>b{font:700 clamp(1.25rem,2.5vw,2rem) 'Space Grotesk';color:var(--ink)}.signal-stat small{font-size:.72rem}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.5rem}.section-heading h2{font:700 clamp(1.45rem,3vw,2.2rem) 'Space Grotesk';margin:.25rem 0 0}.section-heading p:not(.eyebrow){font:small/1.55 system-ui,sans-serif;color:var(--muted);max-width:430px;margin:0}.section-heading a{color:var(--cyan);font-size:.72rem;text-decoration:none}.weather-panel{border-left-color:var(--pink);overflow:hidden}.weather-key{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding-bottom:1rem}.weather-key>span{font-size:.62rem;letter-spacing:.12em;color:var(--muted);margin-right:.35rem}.weather-key i{--level:1;display:grid;place-items:center;width:calc(16px + var(--level)*3px);height:calc(16px + var(--level)*3px);border:1px solid var(--pink);border-radius:50%;font-style:normal;font-size:.58rem;color:var(--ink)}.weather-scroll{overflow-x:auto;padding-bottom:.75rem;scrollbar-color:var(--cyan) #101a20}.weather-map{--days:1;display:grid;grid-template-columns:150px repeat(var(--days),minmax(70px,1fr));min-width:calc(150px + var(--days)*70px);border-top:1px solid #29404b;border-left:1px solid #29404b}.weather-map>div{border-right:1px solid #20343d;border-bottom:1px solid #20343d}.weather-corner,.weather-date{min-height:64px;padding:.75rem;display:flex;flex-direction:column;justify-content:center}.weather-corner{font-size:.62rem;letter-spacing:.12em;color:var(--muted);position:sticky;left:0;background:#0c141a;z-index:2}.weather-date{text-align:center}.weather-date b{font-size:.72rem;color:var(--ink)}.weather-date small{font-size:.6rem;text-transform:uppercase}.weather-label{min-height:72px;display:flex;align-items:center;gap:.65rem;padding:.75rem;position:sticky;left:0;background:#0c141a;z-index:2;font-size:.78rem}.weather-label i{font-style:normal;font-size:1.35rem}.weather-cell{min-height:72px;display:grid;place-items:center;background:#081016}.weather-cell>span{color:#31434a}.weather-mark{--level:1;display:grid;place-items:center;width:calc(24px + var(--level)*6px);height:calc(24px + var(--level)*6px);max-width:54px;max-height:54px;border-radius:50%;background:color-mix(in srgb,var(--emotion),#071016 42%);border:2px solid var(--emotion);box-shadow:0 0 calc(var(--level)*5px) color-mix(in srgb,var(--emotion),transparent 55%);color:#fff;text-decoration:none;font-size:.7rem;font-weight:800;transition:.15s}.weather-mark:hover,.weather-mark:focus-visible{transform:scale(1.15);outline:2px solid white;outline-offset:3px}.signals-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:1.5rem}.emotion-summary-list{display:grid;gap:.25rem}.emotion-summary{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:1rem;padding:1rem .25rem;border-bottom:1px solid #20343d}.emotion-summary-face{font-size:1.5rem;color:var(--emotion)}.emotion-summary>div{min-width:0;display:grid;gap:.3rem}.emotion-summary b{font:700 1rem 'Space Grotesk'}.emotion-summary small{display:block;font-size:.65rem}.emotion-summary>strong{color:var(--emotion);font:700 1.25rem 'Space Grotesk';text-align:right}.intensity-bar{height:3px;background:#1c2b32;margin-top:.25rem}.intensity-bar i{display:block;height:100%;background:var(--emotion);box-shadow:0 0 8px var(--emotion)}.reflection-panel{border-left-color:var(--pink);background:radial-gradient(circle at 100% 0,#ff4fa316,transparent 45%),#0c1218}.reflection-panel p,.reflection-panel li{font-family:system-ui,sans-serif;line-height:1.55}.reflection-panel ul{padding-left:1.2rem}.reflection-panel li{margin:.85rem 0}.recent-signals{margin-top:2rem}.recent-checkins{border-top:1px solid #29404b}.recent-checkins>a{display:grid;grid-template-columns:140px 1fr auto;gap:1rem;align-items:center;padding:1.1rem .5rem;border-bottom:1px solid #29404b;color:var(--ink);text-decoration:none}.recent-checkins>a:hover{background:#79ffe108}.recent-checkins time{color:var(--muted);font-size:.72rem}.recent-checkins span{display:flex;gap:.5rem;flex-wrap:wrap}.recent-checkins i{font-style:normal;font-size:.7rem;border:1px solid #345;padding:.35rem .5rem}.recent-checkins i b{color:var(--cyan)}.recent-checkins strong{color:var(--cyan);font-size:.7rem}.signals-empty{text-align:center;max-width:700px;margin:6vh auto;padding:4rem}.signals-empty>span{font-size:4rem;color:var(--cyan)}.signals-empty h2{font-size:2rem}.signals-empty p:not(.eyebrow){font:1rem/1.65 system-ui,sans-serif;color:var(--muted);max-width:500px;margin:1rem auto 2rem}
@media(max-width:800px){.signals-hero,.signals-layout{grid-template-columns:1fr}.signals-hero{gap:1.5rem}.signal-summary{grid-template-columns:1fr}.signal-stat+.signal-stat{border-left:0;border-top:1px solid #29404b}.section-heading{align-items:start;flex-direction:column;gap:.75rem}.recent-checkins>a{grid-template-columns:1fr}.weather-map{grid-template-columns:110px repeat(var(--days),minmax(66px,1fr));min-width:calc(110px + var(--days)*66px)}.weather-label{font-size:.68rem;padding:.5rem}}

/* Therapist card queue */
.review-hero{display:grid;grid-template-columns:1fr minmax(280px,430px);align-items:end;gap:3rem;margin:1rem 0 2.5rem}.review-hero h1{font:800 clamp(3.5rem,8vw,6.5rem)/.8 'Space Grotesk';letter-spacing:-.07em;margin:.35rem 0 0}.review-hero>p{font:1rem/1.65 system-ui,sans-serif;color:#bfd0cd;border-left:1px solid var(--pink);padding-left:1.5rem}.review-toolbar{display:flex;align-items:end;justify-content:space-between;gap:1rem;border-bottom:1px solid #29404b;margin-bottom:1rem}.status-tabs{display:flex;gap:0}.status-tabs a{padding:1rem 1.2rem;border-bottom:3px solid transparent;color:var(--muted)}.status-tabs a[aria-current="page"]{color:var(--cyan);border-color:var(--cyan);background:#79ffe108}.status-tabs b{display:inline-grid;place-items:center;min-width:1.4rem;height:1.4rem;margin-left:.35rem;padding:0 .3rem;border-radius:1rem;background:var(--pink);color:#16000d;font-size:.65rem}.review-toolbar form{margin:0}.review-toolbar label{display:flex;align-items:center;gap:.75rem;margin:0 0 .65rem}.review-toolbar select{display:inline-block;width:auto;margin:0;padding:.55rem 2rem .55rem .65rem;font-size:.75rem}.review-card-list{display:grid;gap:.85rem}.review-card{position:relative;display:grid;grid-template-columns:140px 1fr 140px;gap:1.5rem;align-items:stretch;min-height:140px;border:1px solid #29404b;background:linear-gradient(115deg,#0b1218,#080d12);color:var(--ink);text-decoration:none;overflow:hidden;transition:.18s}.review-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#3a4b51}.review-card.is-unread{border-color:#437268;background:linear-gradient(115deg,#0d1d1c,#0a1015);box-shadow:0 0 28px #79ffe10c}.review-card.is-unread:before{background:var(--cyan);box-shadow:0 0 15px var(--cyan)}.review-card:hover{border-color:var(--cyan);transform:translateX(5px)}.review-card-date{padding:1.25rem 1rem 1.25rem 1.4rem;border-right:1px solid #29404b;display:flex;flex-direction:column;justify-content:space-between}.review-card-date>span{font-size:.62rem;letter-spacing:.13em;color:var(--muted)}.is-unread .review-card-date>span{color:var(--cyan)}.review-card-date time{display:flex;flex-direction:column;text-transform:uppercase;color:var(--muted);font-size:.68rem;letter-spacing:.1em}.review-card-date time b{font:800 2.8rem/.9 'Space Grotesk';color:var(--ink)}.review-emotions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:1rem 0}.review-emotion{--emotion:var(--cyan);display:grid;grid-template-columns:38px minmax(105px,1fr);gap:.65rem;align-items:center;padding:.7rem .8rem;border:1px solid color-mix(in srgb,var(--emotion),#29404b 55%);background:color-mix(in srgb,var(--emotion),transparent 94%);min-width:175px}.review-emotion>span{font-size:1.5rem;color:var(--emotion);text-align:center}.review-emotion>div{display:grid;gap:.2rem}.review-emotion b{font:700 .85rem 'Space Grotesk'}.review-emotion small{font-size:.57rem;letter-spacing:.06em}.review-emotion i{display:block;height:3px;background:#26363d}.review-emotion em{display:block;height:100%;background:var(--emotion);box-shadow:0 0 7px var(--emotion)}.review-card-meta{padding:1.25rem 1rem;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;text-align:right}.review-card-meta span{font-size:.6rem;color:var(--muted)}.review-card-meta strong{font-size:.67rem;color:var(--cyan)}.review-empty{text-align:center;padding:4rem}.review-state p:not(.eyebrow){font:small/1.6 system-ui,sans-serif;color:var(--muted)}.review-state label{display:flex;align-items:center;gap:.75rem;padding:1rem;border:1px solid #345;color:var(--ink);font-size:.8rem}.review-state input[type="checkbox"]{width:auto;margin:0}.is-read{opacity:.72}.is-read:hover{opacity:1}
@media(max-width:800px){.review-hero{grid-template-columns:1fr;gap:1rem}.review-toolbar{align-items:stretch;flex-direction:column}.review-toolbar form{align-self:flex-end}.review-card{grid-template-columns:88px 1fr}.review-card-date{grid-row:1 / 3}.review-emotions{padding-right:1rem}.review-card-meta{grid-column:2;flex-direction:row;align-items:center;padding:0 1rem 1rem 0}.review-emotion{min-width:min(100%,175px)}.review-card-date time b{font-size:2.2rem}}

.review-emotions{align-items:flex-end;gap:1.25rem}.review-emotion{--level:1;display:flex;grid-template-columns:none;flex-direction:column;align-items:center;justify-content:flex-end;gap:.25rem;min-width:76px;padding:0;border:0;background:none;text-align:center}.review-emotion>span{display:grid;place-items:center;width:calc(34px + var(--level)*7px);height:calc(34px + var(--level)*7px);border:2px solid var(--emotion);border-radius:50%;background:color-mix(in srgb,var(--emotion),#071016 66%);box-shadow:0 0 calc(var(--level)*4px) color-mix(in srgb,var(--emotion),transparent 58%);color:var(--emotion);font-size:calc(.85rem + var(--level)*.13rem)}.review-emotion b{font-size:.72rem;margin-top:.25rem}.review-emotion small{font-size:.56rem;letter-spacing:.08em;color:var(--muted)}
@media(max-width:800px){.review-emotion{min-width:68px}.review-emotions{gap:.8rem}}

/* Form system */
form label{font-size:.68rem;font-weight:700;letter-spacing:.11em}.form-stack{display:grid;gap:.35rem}.form-stack h2{margin-bottom:0}.form-stack>p:not(.eyebrow){margin:.35rem 0 .75rem}input:not([type="checkbox"]):not([type="radio"]),textarea,select{min-height:48px;border:1px solid #35505b;border-left:3px solid #35505b;border-radius:0;background-color:#05090d;color:var(--ink);box-shadow:inset 0 1px 0 #ffffff05,4px 4px 0 #0005;transition:border-color .15s,box-shadow .15s,background-color .15s}input:not([type="checkbox"]):not([type="radio"]):hover,textarea:hover,select:hover{border-color:#53717b;border-left-color:var(--cyan);background-color:#070d12}input:not([type="checkbox"]):not([type="radio"]):focus,textarea:focus,select:focus{outline:0;border-color:var(--cyan);border-left-color:var(--pink);background-color:#071016;box-shadow:0 0 0 3px #79ffe11a,6px 6px 0 #0007}input::placeholder,textarea::placeholder{color:#657779;opacity:1}textarea{resize:vertical;line-height:1.6;min-height:120px}select{appearance:none;padding-right:2.6rem;background-image:linear-gradient(45deg,transparent 50%,var(--cyan) 50%),linear-gradient(135deg,var(--cyan) 50%,transparent 50%);background-position:calc(100% - 17px) 20px,calc(100% - 11px) 20px;background-size:6px 6px,6px 6px;background-repeat:no-repeat}input[type="checkbox"]{appearance:none;display:inline-grid;place-items:center;width:22px;height:22px;min-width:22px;margin:.35rem .5rem .35rem 0;border:1px solid #52707a;background:#05090d;vertical-align:middle;cursor:pointer;transition:.15s}input[type="checkbox"]:checked{border-color:var(--cyan);background:var(--cyan);box-shadow:inset 0 0 0 5px #082019,0 0 10px #79ffe155}input[type="checkbox"]:focus-visible{outline:2px solid var(--pink);outline-offset:3px}.emotion input[type="checkbox"],.scale input[type="radio"]{position:absolute;width:1px;height:1px;margin:0;opacity:0}.checkbox-control{display:flex;align-items:center;gap:.65rem;padding:.8rem;border:1px solid #29404b;background:#081016;color:var(--ink);cursor:pointer}.checkbox-control input{margin:0}.checkbox-control span{display:grid;gap:.15rem}.checkbox-control b{font-size:.72rem}.checkbox-control small{font-size:.62rem;font-weight:400;letter-spacing:0;text-transform:none}.form-stack .checkbox-control{margin:.5rem 0 1rem}input[type="file"]{padding:.55rem;min-height:58px;color:var(--muted);cursor:pointer}input[type="file"]::file-selector-button{margin-right:1rem;border:1px solid var(--cyan);background:#0a201c;color:var(--cyan);padding:.7rem .9rem;font:700 .65rem 'JetBrains Mono';letter-spacing:.08em;cursor:pointer}input[type="color"]{width:100%;height:54px;padding:.45rem;cursor:pointer}input[type="date"],input[type="time"]{color-scheme:dark}input:-webkit-autofill{-webkit-text-fill-color:var(--ink);-webkit-box-shadow:0 0 0 1000px #071016 inset}input:user-invalid,textarea:user-invalid,select:user-invalid{border-color:var(--red)}button:not(.link){letter-spacing:.08em;transition:transform .12s,background-color .12s,box-shadow .12s}button:not(.link):hover{background:#79ffe112;box-shadow:4px 4px 0 #79ffe12b;transform:translate(-1px,-1px)}button.primary:hover{background:#a0ffeb;box-shadow:4px 4px 0 #ff4fa355}button:not(.link):active{transform:translate(1px,1px);box-shadow:none}.helptext{display:block;color:var(--muted);font-size:.65rem;margin-top:.4rem}.errorlist{list-style:none;padding:0;color:var(--red);font-size:.7rem}details{border-top:1px solid #29404b;padding:.75rem 0}details summary{color:var(--cyan);cursor:pointer;font-size:.78rem;letter-spacing:.05em}details[open] summary{margin-bottom:1rem}
input[type="hidden"]{display:none!important}.review-state label:not(.checkbox-control){display:block;padding:0;border:0;background:none}.review-state label:not(.checkbox-control) textarea{margin-top:.55rem}.login form{display:grid;gap:.2rem}.login form button{justify-self:start;margin-top:1rem}

/* Emotional weather range */
.weather-range{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:1.5rem;margin:0 0 1.5rem;padding:1.35rem clamp(1rem,3vw,2rem);border:1px solid #35505b;border-left:4px solid var(--pink);background:linear-gradient(100deg,#ff4fa30c,#79ffe108 60%,transparent);box-shadow:6px 6px 0 #0007;overflow:hidden}.weather-range:after{content:"";position:absolute;right:8%;top:-80px;width:180px;height:180px;border:1px solid #79ffe112;border-radius:50%;box-shadow:0 0 45px #79ffe10d;pointer-events:none}.weather-range label{display:flex;align-items:center;gap:clamp(1rem,3vw,2.5rem);margin:0;color:var(--muted);z-index:1}.weather-range label>span{font-size:.67rem;letter-spacing:.15em;white-space:nowrap}.weather-range select{display:inline-block;width:auto;min-width:min(100%,340px);margin:0;padding:.25rem 3.2rem .25rem .15rem;min-height:54px;border:0;border-bottom:2px solid var(--cyan);background-color:transparent;background-position:calc(100% - 22px) 52%,calc(100% - 14px) 52%;background-size:8px 8px,8px 8px;box-shadow:none;color:var(--ink);font:800 clamp(1.6rem,4vw,3rem) 'Space Grotesk';letter-spacing:-.04em;text-transform:uppercase}.weather-range select:hover,.weather-range select:focus{border-color:var(--pink);background-color:#071016;box-shadow:0 8px 20px #0005}.weather-range button{z-index:1;white-space:nowrap}@media(max-width:700px){.weather-range{grid-template-columns:1fr}.weather-range label{align-items:flex-start;flex-direction:column;gap:.45rem}.weather-range select{width:100%;font-size:1.65rem}.weather-range button{justify-self:start}}

/* Therapist calendar */
.view-tabs{display:flex;gap:0;border-bottom:1px solid #29404b;margin-bottom:1.5rem}.view-tabs a{padding:.85rem 1.35rem;color:var(--muted);border:1px solid transparent;border-bottom:3px solid transparent;font-size:.68rem;letter-spacing:.11em}.view-tabs a[aria-current="page"]{color:var(--cyan);border-color:#29404b;border-bottom-color:var(--cyan);background:#79ffe108}.card-calendar{border:1px solid #29404b;border-left:3px solid var(--pink);background:linear-gradient(145deg,#0c141a,#070c10);box-shadow:8px 8px 0 #0008;padding:clamp(1rem,3vw,2rem);overflow-x:auto}.calendar-header{position:static;height:auto;min-width:700px;padding:0 0 1.5rem;background:none;border:0;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;text-align:center}.calendar-header h2{font:700 clamp(1.8rem,4vw,3rem) 'Space Grotesk';margin:.2rem 0 0;text-transform:uppercase}.calendar-header a{display:grid;place-items:center;width:44px;height:44px;border:1px solid #35505b;color:var(--cyan);text-decoration:none;font-size:1.2rem}.calendar-header a:hover{border-color:var(--cyan);background:#79ffe110}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(96px,1fr));min-width:700px;border-top:1px solid #29404b;border-left:1px solid #29404b}.calendar-weekday{padding:.65rem;text-align:center;border-right:1px solid #29404b;border-bottom:1px solid #29404b;color:var(--muted);font-size:.62rem;letter-spacing:.1em}.calendar-day{position:relative;min-height:128px;padding:.6rem;border-right:1px solid #29404b;border-bottom:1px solid #29404b;background:#071016}.calendar-day>time{font-size:.65rem;color:var(--muted)}.calendar-day.is-outside{background:#05080b;opacity:.35}.calendar-day.is-today>time{display:grid;place-items:center;width:24px;height:24px;margin:-.25rem;border:1px solid var(--cyan);color:var(--cyan)}.emotion-stamp{--emotion:var(--cyan);position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-44%) rotate(-2deg);display:flex;flex-direction:column;align-items:center;gap:.25rem;color:var(--ink);text-decoration:none}.emotion-stamp>span{display:grid;place-items:center;width:58px;height:58px;border:2px solid var(--emotion);border-radius:50%;background:color-mix(in srgb,var(--emotion),#071016 70%);box-shadow:inset 0 0 0 4px #071016,inset 0 0 0 5px color-mix(in srgb,var(--emotion),transparent 30%);color:var(--emotion);font-size:1.4rem}.emotion-stamp>b{max-width:84px;overflow:hidden;text-overflow:ellipsis;color:var(--emotion);font-size:.6rem;letter-spacing:.04em}.emotion-stamp:hover{transform:translate(-50%,-48%) rotate(0);filter:brightness(1.2)}.emotion-stamp.is-unread>span{box-shadow:inset 0 0 0 4px #071016,inset 0 0 0 5px var(--emotion),0 0 16px color-mix(in srgb,var(--emotion),transparent 35%)}.emotion-stamp.is-unread:after{content:"";position:absolute;right:2px;top:0;width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan)}.calendar-note{min-width:700px;display:flex;align-items:center;gap:.5rem;margin:1rem 0 0;color:var(--muted);font-size:.62rem}.calendar-note i{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 7px var(--cyan)}.calendar-note span{margin-left:auto}
/* Host update workspace */
.update-workspace { background:#050505; border:2px solid #666; box-shadow:8px 8px 0 #151515; color:#f5f5f0; }
.update-workspace > header { align-items:center; background:#0b0b0b; border-bottom:1px solid #3b3b3b; display:flex; justify-content:space-between; padding:.8rem 1rem; }
.update-workspace > header div { align-items:center; display:flex; gap:.65rem; }
.update-workspace > header i { background:#777; border-radius:50%; box-shadow:0 0 10px #777; height:.55rem; width:.55rem; }
.update-workspace.is-connected { border-color:#e6ff3f; }
.update-workspace.is-connected > header i { animation:update-pulse 1.8s infinite; background:#e6ff3f; box-shadow:0 0 12px #e6ff3f; }
.update-workspace > header span,.update-workspace > header b,.update-workspace footer { font-family:var(--mono,ui-monospace,monospace); font-size:.72rem; letter-spacing:.12em; }
.update-workspace > header b { color:#e6ff3f; }
.update-release-grid { align-items:stretch; display:grid; grid-template-columns:1fr auto 1fr; margin:clamp(1rem,4vw,3rem); }
.update-release-grid > article { background:#000; border:1px solid #555; display:flex; flex-direction:column; min-height:11rem; padding:1.2rem; }
.update-release-grid > article span,.update-release-grid > article small { color:#999; font-family:var(--mono,ui-monospace,monospace); font-size:.7rem; letter-spacing:.14em; }
.update-release-grid > article strong { font-family:var(--display,Arial,sans-serif); font-size:clamp(2rem,6vw,5rem); line-height:1; margin:auto 0; overflow-wrap:anywhere; text-transform:uppercase; }
.update-release-grid > article:last-child strong { color:#e6ff3f; text-shadow:0 0 18px rgb(230 255 63 / .35); }
.update-release-grid > i { align-items:center; color:#e6ff3f; display:flex; font-size:2rem; padding:0 1rem; }
.update-status-line { align-items:center; background:#111; border-block:1px solid #333; display:grid; gap:1rem; grid-template-columns:auto 1fr auto; padding:.85rem 1rem; }
.update-status-line span { background:#262626; border:1px solid #555; font-family:var(--mono,ui-monospace,monospace); font-size:.7rem; letter-spacing:.1em; padding:.4rem .55rem; }
.update-status-line p { margin:0; }
.update-status-line time { color:#888; font-family:var(--mono,ui-monospace,monospace); font-size:.7rem; }
.update-actions { align-items:center; display:flex; flex-wrap:wrap; gap:.65rem; justify-content:flex-end; padding:1rem; }
.update-actions a { color:#aaa; font-family:var(--mono,ui-monospace,monospace); font-size:.72rem; margin-right:auto; }
.update-workspace footer { background:#0b0b0b; border-top:1px solid #333; display:grid; gap:.5rem 1rem; grid-template-columns:auto 1fr auto 1fr; padding:.8rem 1rem; }
.update-workspace footer span { color:#777; }
.update-boundary { background:#050505; border:1px solid #444; display:grid; gap:1rem; grid-template-columns:auto 1fr; margin-top:1rem; padding:1rem; }
.update-boundary b { color:#e6ff3f; font-family:var(--mono,ui-monospace,monospace); font-size:.72rem; letter-spacing:.12em; }
.update-boundary p { margin:0; }
.update-modal-feedback { color:#ff6464; font-family:var(--mono,ui-monospace,monospace); font-size:.75rem; min-height:1.2rem; }
@keyframes update-pulse { 50% { opacity:.35; transform:scale(.75); } }
@media (max-width:700px) {
  .update-release-grid { grid-template-columns:1fr; }
  .update-release-grid > i { justify-content:center; padding:.5rem; transform:rotate(90deg); }
  .update-status-line,.update-workspace footer,.update-boundary { grid-template-columns:1fr; }
}
