#nightritual{--nr-bg:#0f1320;--nr-ink:#f5eddb;--nr-soft:#b8c2c8;--nr-dim:#8796a7;--nr-line:#3a465b;--nr-accent:#d6bc83;--nr-threshold:rgba(222,174,152,.62);--nr-threshold-lit:rgba(240,204,184,.92);--nr-threshold-warm:rgba(214,152,124,.1);--nr-serif:var(--v-serif,'Spectral',Georgia,serif);--nr-sans:var(--v-sans,'Inter',Arial,sans-serif);--nr-breath-progress:.5;--nr-voice-level:0;background:var(--nr-bg);color:var(--nr-ink);overflow-y:auto;-webkit-overflow-scrolling:touch}
#nightritual[data-light="red"]{--nr-bg:#170f0e;--nr-ink:#d8aea4;--nr-soft:#b99289;--nr-dim:#967870;--nr-line:rgba(169,108,96,.45);--nr-accent:#c28b7d;--nr-threshold:rgba(194,139,125,.6);--nr-threshold-lit:rgba(222,168,152,.9);--nr-threshold-warm:rgba(170,96,82,.1)}
#nightritual *{box-sizing:border-box}
#nightritual .nr-shell{width:min(100%,540px);min-height:100svh;min-height:100dvh;margin:0 auto;padding:calc(env(safe-area-inset-top) + 14px) 25px calc(env(safe-area-inset-bottom) + 20px);display:grid;grid-template-rows:auto minmax(0,1fr)}
#nightritual .nr-top{min-height:110px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:5px;border-bottom:1px solid var(--nr-line)}
#nightritual button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
#nightritual .nr-back{width:42px;height:42px;padding:0;border:0;background:transparent;color:var(--nr-accent);font:29px/1 var(--nr-sans)}
#nightritual .nr-brand{justify-self:center;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:108px}
#nightritual .nr-moon{display:block;width:60px;height:60px}
#nightritual .nr-moon svg{display:block;width:100%;height:100%}
#nightritual[data-light="red"] .nr-moon{filter:grayscale(1) sepia(1) hue-rotate(-28deg) saturate(1.5) brightness(.72)}
#nightritual .nr-wordmark{font:10px/1 var(--nr-sans);letter-spacing:.23em;color:var(--nr-ink)}
#nightritual .nr-top-start{justify-self:start}
#nightritual .nr-top-end{justify-self:end;position:relative;display:flex;align-items:center;margin-right:-11px}
#nightritual .nr-light,#nightritual .nr-close{width:44px;height:44px;padding:0;border:0;background:transparent;display:flex;align-items:center;justify-content:center}
#nightritual .nr-light-track{position:relative;display:block;width:30px;height:16px;border:1px solid var(--nr-line);border-radius:8px;transition:border-color .3s ease}
#nightritual .nr-light-knob{position:absolute;top:3px;left:3px;width:8px;height:8px;border-radius:50%;background:var(--nr-dim);opacity:.8;transition:transform .3s ease,background-color .3s ease,box-shadow .3s ease,opacity .3s ease}
#nightritual .nr-light[aria-checked="true"] .nr-light-track{border-color:rgba(214,92,76,.5)}
#nightritual .nr-light[aria-checked="true"] .nr-light-knob{transform:translateX(14px);background:#e0594a;opacity:1;box-shadow:0 0 5px 1px rgba(224,89,74,.7),0 0 12px 2px rgba(224,89,74,.28)}
#nightritual .nr-close svg{width:20px;height:20px;fill:none;stroke:var(--nr-soft);stroke-width:1.4;stroke-linecap:round}
#nightritual .nr-light-label{position:absolute;top:44px;left:0;width:44px;display:flex;justify-content:center;white-space:nowrap;color:var(--nr-soft);font:400 12px/1 var(--nr-sans);letter-spacing:.05em;opacity:0;pointer-events:none;transition:opacity .6s ease}
#nightritual .nr-light-label.is-shown{animation:nr-light-label 2.6s ease forwards}
@keyframes nr-light-label{0%{opacity:0}14%{opacity:.92}72%{opacity:.92}100%{opacity:0}}
#nightritual .nr-main{min-height:0;display:flex;align-items:center;justify-content:center}
#nightritual .nr-content{width:100%;max-width:440px;padding:30px 0;display:flex;flex-direction:column;align-items:center;text-align:center}
#nightritual .nr-eyebrow{order:1;margin:0 0 18px;font:11px/1.4 var(--nr-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--nr-accent)}
#nightritual h1{order:2;margin:0;max-width:430px;font:400 clamp(28px,7vw,34px)/1.2 var(--nr-serif);color:var(--nr-ink)}
#nightritual .nr-body{order:3;max-width:360px;margin:20px auto 0;color:var(--nr-soft);font:400 18px/1.48 var(--nr-serif)}
#nightritual .nr-mark{display:none}
#nightritual .nr-completed{order:5;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin:31px auto 0;padding:15px 0;border-top:1px solid var(--nr-line);border-bottom:1px solid var(--nr-line);color:var(--nr-soft);font:16px/1.2 var(--nr-serif)}
#nightritual .nr-completed[hidden]{display:none}
#nightritual #nr-completed-value{color:var(--nr-accent);font:21px/1 var(--nr-sans)}
#nightritual .nr-phase-name{order:2;margin:0 0 18px;color:var(--nr-accent);font:14px/1.3 var(--nr-sans);letter-spacing:.08em;text-align:center;text-transform:uppercase}
#nightritual .nr-visual{order:4;width:100%;height:245px;display:flex;align-items:center;justify-content:center;margin:10px auto 0}
#nightritual[data-stage="welcome"] .nr-visual,#nightritual[data-stage="end"] .nr-visual{display:none}
#nightritual .nr-moon-stage{position:relative;width:240px;height:240px;display:flex;align-items:center;justify-content:center;isolation:isolate}
#nightritual .nr-breath-halo{position:absolute;inset:6px;border:1px solid rgba(214,191,140,.72);border-radius:50%;box-shadow:0 0 17px rgba(214,191,140,.16),inset 0 0 10px rgba(214,191,140,.08);transform:scale(calc(.74 + var(--nr-breath-progress)*.26));will-change:transform}
#nightritual .nr-phase-face{position:relative;width:200px;height:200px;filter:drop-shadow(0 0 var(--nr-moon-glow,6px) rgba(220,195,139,.34)) brightness(var(--nr-moon-brightness,1))}
#nightritual .nr-phase-face svg{display:block;width:100%;height:100%}
#nightritual .nr-voice-rim{display:none;position:absolute;width:162px;height:162px;border-radius:50%;border:1px solid rgba(214,191,140,.5);box-shadow:0 0 var(--nr-moon-glow,6px) rgba(214,191,140,.26);opacity:calc(.25 + var(--nr-voice-level)*.25)}
#nightritual[data-stage="meditation"] .nr-breath-halo{display:none}
#nightritual[data-stage="meditation"][data-new-moon="true"] .nr-voice-rim{display:block}
#nightritual[data-light="red"] .nr-moon-stage{filter:grayscale(1) sepia(1) hue-rotate(-27deg) saturate(1.5) brightness(.68)}
#nightritual .nr-breath{order:5;min-height:62px;margin:0 auto}
#nightritual .nr-breath[hidden]{display:none}
#nightritual #nr-breath-label{min-height:30px;margin:0;color:var(--nr-accent);font:400 20px/1.35 var(--nr-serif);opacity:var(--nr-breath-cue-opacity,1)}
#nightritual .nr-breath-note{margin:10px 0 0;color:var(--nr-dim);font:400 14px/1.4 var(--nr-sans)}
#nightritual .nr-meditation{order:5;width:min(66vw,250px);margin:-16px auto 0}
#nightritual .nr-meditation[hidden]{display:none}
#nightritual #nr-remaining{display:block;color:var(--nr-accent);font:16px/1 var(--nr-sans);letter-spacing:.06em;font-variant-numeric:tabular-nums}
#nightritual .nr-progress{height:1px;margin:13px auto 0;background:var(--nr-line);overflow:hidden}
#nightritual #nr-progress-fill{display:block;width:0;height:2px;background:var(--nr-accent)}
#nightritual[data-stage="meditation"] .nr-visual{order:4;height:225px;margin-top:0}
#nightritual[data-stage="meditation"] .nr-body{min-height:3.6em;display:flex;align-items:center;justify-content:center;font-size:clamp(19px,5vw,22px)}
#nightritual .nr-primary{order:7;display:block;width:100%;min-height:56px;margin:35px auto 0;padding:13px 20px;border:1px solid var(--nr-threshold);border-radius:0;background:radial-gradient(ellipse 70% 120% at 50% 100%,var(--nr-threshold-warm),transparent 72%);background-color:transparent;box-shadow:inset 0 0 18px rgba(222,170,146,.05);color:var(--nr-ink);font:400 14px/1.2 var(--nr-sans);letter-spacing:.09em;transition:border-color .25s ease,background-color .25s ease}
#nightritual .nr-primary:active{border-color:var(--nr-threshold-lit);background-color:rgba(5,7,13,.5)}
#nightritual[data-stage="welcome"] .nr-primary{animation:nr-threshold-breathe 6s ease-in-out infinite}
@keyframes nr-threshold-breathe{0%,100%{box-shadow:inset 0 0 18px rgba(222,170,146,.05),0 0 0 rgba(222,170,146,0)}50%{box-shadow:inset 0 0 18px rgba(222,170,146,.08),0 0 14px rgba(222,170,146,.09)}}
#nightritual .nr-secondary{order:8;display:block;min-height:38px;margin:12px auto 0;padding:6px 18px;border:0;background:none;color:var(--nr-dim);font:400 15px var(--nr-sans)}
#nightritual .nr-secondary[hidden]{display:none}
#nightritual :is(.nr-back,.nr-light,.nr-close,.nr-primary,.nr-secondary):focus-visible{outline:2px solid var(--nr-accent);outline-offset:4px}
#nightritual [hidden],.nr-unread-dot[hidden]{display:none!important}
#nightritual .nr-latest{order:5;width:100%;margin:34px 0 0;padding:17px 3px 15px;background:transparent;border:0;border-top:1px solid var(--nr-line);border-bottom:1px solid var(--nr-line);color:var(--nr-ink);text-align:left;position:relative}
#nightritual .nr-latest-label{display:block;font:10px/1.5 var(--nr-sans);letter-spacing:.13em;color:var(--nr-accent);text-transform:uppercase}
#nightritual .nr-latest-symbol{display:block;margin-top:7px;font:400 20px/1.2 var(--nr-serif);letter-spacing:0;text-transform:uppercase}
#nightritual .nr-latest-arrow{position:absolute;right:4px;top:26px;font:23px/1 var(--nr-sans);color:var(--nr-accent)}
#nightritual .nr-archive-link{order:6;margin:14px auto 0;padding:8px 4px;border:0;background:transparent;color:var(--nr-soft);font:400 15px/1.2 var(--nr-sans)}
#nightritual[data-stage="welcome"] .nr-completed{order:7;margin-top:18px}
#nightritual[data-stage="welcome"] .nr-primary{order:8}
#nightritual[data-stage="welcome"] .nr-secondary{order:9}
#nightritual .nr-archive{width:100%;max-width:440px;min-height:0;margin:auto;padding:36px 0 20px}
#nightritual .nr-archive>.nr-eyebrow{text-align:center}
#nightritual .nr-archive h1{margin:0;text-align:center}
#nightritual #nr-archive-intro{margin:18px auto 30px;max-width:360px;text-align:center;color:var(--nr-soft);font:400 17px/1.45 var(--nr-serif)}
#nightritual #nr-archive-feedback{min-height:0;color:var(--nr-accent);font:15px var(--nr-sans)}
#nightritual .nr-archive-card{padding:20px 2px;border-top:1px solid var(--nr-line)}
#nightritual .nr-archive-index{margin:0;color:var(--nr-accent);font:11px var(--nr-sans);letter-spacing:.14em;text-transform:uppercase}
#nightritual .nr-archive-symbol{margin:8px 0 3px;color:var(--nr-ink);font:400 23px/1.2 var(--nr-serif);letter-spacing:0;text-transform:uppercase}
#nightritual .nr-archive-date{color:var(--nr-soft);font:14px var(--nr-sans)}
#nightritual .nr-archive-actions{display:flex;flex-wrap:wrap;column-gap:17px;row-gap:4px;margin-top:12px}
#nightritual .nr-text-button{padding:7px 0;background:transparent;border:0;border-bottom:1px solid var(--nr-line);color:var(--nr-accent);font:14px var(--nr-sans)}
#nightritual .nr-archive-empty{margin:45px 0;text-align:center;color:var(--nr-soft);font:17px/1.5 var(--nr-serif)}
#nightritual .nr-edit-area{margin:15px 0;padding:14px;border:1px solid var(--nr-line);display:grid;gap:12px}
#nightritual .nr-edit-area label{display:grid;gap:5px;color:var(--nr-soft);font:13px var(--nr-sans)}
#nightritual .nr-edit-area select{width:100%;min-height:42px;background:var(--nr-bg);color:var(--nr-ink);border:1px solid var(--nr-line);padding:7px;font:15px var(--nr-sans)}
#nightritual .nr-edit-save{min-height:42px;background:transparent;border:1px solid var(--nr-accent);color:var(--nr-ink);font:13px var(--nr-sans)}
.nr-unread-dot{display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;background:#c9a84c}
.nr-keepsake-notice{--nr-serif:var(--v-serif,'Spectral',Georgia,serif);--nr-sans:var(--v-sans,'Inter',Arial,sans-serif);position:fixed;z-index:100000;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100% - 36px),420px);padding:14px 17px;text-align:left;background:#192335;border:1px solid #3a465b;color:#f5eddb;box-shadow:0 10px 35px #0008;display:grid;gap:3px;cursor:pointer}
.nr-keepsake-notice-title{font:11px var(--nr-sans);letter-spacing:.1em;text-transform:uppercase;color:#d6bc83}
.nr-keepsake-notice-subject{font:400 17px var(--nr-serif)}
.nr-keepsake-notice-action{font:13px var(--nr-sans);color:#b8c2c8}
#night-ritual-invite{position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top) + 16px) 24px calc(env(safe-area-inset-bottom) + 16px);background:rgba(3,10,19,.72)}
#night-ritual-invite[hidden]{display:none!important}
#night-ritual-invite .nr-invite-panel{position:relative;width:min(100%,420px);max-height:100%;overflow-y:auto;padding:14px 25px 8px;border:1px solid rgba(217,185,113,.5);border-radius:15px;background:linear-gradient(145deg,#20364b,#192c41);box-shadow:0 22px 48px rgba(0,0,0,.35);text-align:center}
#night-ritual-invite .nr-invite-panel::before{content:'';position:absolute;top:0;left:31%;right:31%;height:2px;background:linear-gradient(90deg,transparent,#e1bd6f,transparent)}
#night-ritual-invite .nr-invite-kicker{margin:0;color:#d6bb81;font:400 11px/1.4 'Cinzel',Georgia,serif;letter-spacing:.2em;text-transform:uppercase}
#night-ritual-invite h2{margin:10px 0 6px;color:#f5eddd;font:400 clamp(25px,7vw,31px)/1.2 var(--v-serif,'Spectral',Georgia,serif)}
#night-ritual-invite .nr-invite-body{max-width:300px;margin:0 auto;color:#c5d0d3;font:400 16px/1.5 var(--v-serif,'Spectral',Georgia,serif)}
#night-ritual-invite button{width:100%;min-height:48px;cursor:pointer;-webkit-tap-highlight-color:transparent}
#night-ritual-invite .nr-invite-begin{display:inline-flex;align-items:center;justify-content:center;width:auto;margin-top:12px;padding:0 36px;border:1px solid #dfbf77;border-radius:0;background:rgba(221,184,113,.1);color:#f3e7cf;font:400 15px var(--v-sans,'Inter',Arial,sans-serif)}
#night-ritual-invite .nr-invite-dismiss{margin-top:0;border:0;background:transparent;color:#aebdc9;font:400 15px var(--v-sans,'Inter',Arial,sans-serif)}
@media(max-width:350px){#night-ritual-invite{padding-left:17px;padding-right:17px}#night-ritual-invite .nr-invite-panel{padding-left:18px;padding-right:18px}}
@media(max-height:720px){#nightritual .nr-shell{padding-top:8px;padding-bottom:11px}#nightritual .nr-top{min-height:78px}#nightritual .nr-moon{width:48px;height:48px}#nightritual .nr-content{padding:10px 0}#nightritual .nr-visual{height:175px;margin-top:0}#nightritual .nr-moon-stage{transform:scale(.75)}#nightritual .nr-breath{margin-top:0}#nightritual .nr-primary{margin-top:16px;min-height:49px}#nightritual .nr-body{margin-top:10px}#nightritual .nr-completed{margin-top:16px;padding:9px 0}}
@media(prefers-reduced-motion:reduce){#nightritual .nr-breath-halo{transform:scale(.9)!important;transition:none!important}#nightritual[data-stage="welcome"] .nr-primary{animation:none}#nightritual .nr-light-label.is-shown{animation:nr-light-label-still 2.6s step-end forwards}}
@keyframes nr-light-label-still{0%{opacity:.92}100%{opacity:0}}
#nightritual .nr-shell,#nightritual .nr-main,#nightritual .nr-content{min-width:0;max-width:100%}#nightritual h1{width:100%;max-width:100%;overflow-wrap:normal}#nightritual .nr-body{max-width:100%}
#nightritual .nr-phase-name{order:2}#nightritual h1{order:3}#nightritual .nr-body{order:4}#nightritual .nr-visual{order:5}#nightritual .nr-breath,#nightritual .nr-meditation{order:6}#nightritual .nr-latest{order:7}#nightritual .nr-archive-link{order:8}#nightritual[data-stage="welcome"] .nr-completed{order:9}#nightritual .nr-primary,#nightritual[data-stage="welcome"] .nr-primary{order:10}#nightritual .nr-secondary,#nightritual[data-stage="welcome"] .nr-secondary{order:11}#nightritual[data-stage="welcome"] .nr-eyebrow{margin-bottom:8px}
#nightritual[data-stage="welcome"] :is(.nr-eyebrow,.nr-phase-name){transform:translateY(var(--nr-phase-shift,0px))}

html[data-design="folio"] #profile .nr-door-count{display:block;margin-top:5px;color:var(--v-muted);font:400 12px/1.4 var(--v-sans);opacity:.82}
