@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');

:root{--bg:#081013;--panel:#101c20;--panel2:#132327;--line:#2a3b3c;--text:#e9f2ed;--muted:#91a6a5;--green:#68e5c4;--gold:#d9bb7d;--purple:#b0a3f8;--red:#eb9586;--nav:76px}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;color:var(--text);font-family:'DM Sans',system-ui,sans-serif;font-size:15px;min-height:100vh}.ambient{pointer-events:none;position:fixed;inset:0;background:radial-gradient(ellipse at 80% -5%,rgba(40,139,112,.16),transparent 42%),radial-gradient(ellipse at -20% 55%,rgba(117,91,160,.07),transparent 40%);z-index:-1}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--green)}.app-shell{max-width:1100px;margin:0 auto;padding:0 20px 118px}.mast{display:flex;align-items:center;justify-content:space-between;padding:28px 0 26px;border-bottom:1px solid #233336}.brand{display:flex;align-items:center;gap:12px;font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:.17em;font-size:16px}.brand-logo{width:42px;height:42px;border:1px solid #3c6d60;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#16322f,#0b181b);box-shadow:inset 0 0 0 5px #0b1f20;color:var(--green);font-size:24px}.tag{font-size:10px;letter-spacing:.18em;font-weight:700;color:var(--green)}.top-pill{border:1px solid var(--line);border-radius:30px;color:var(--muted);padding:9px 13px;font-size:12px;white-space:nowrap}.online-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:7px;box-shadow:0 0 9px var(--green)}.content{padding:36px 0}.eyebrow{font-size:11px;letter-spacing:.23em;text-transform:uppercase;font-weight:800;color:var(--green);margin:0 0 13px}.big-title,h1,h2,h3{font-family:'Space Grotesk',system-ui,sans-serif;line-height:1.14}h1{font-size:clamp(39px,7vw,70px);letter-spacing:-.055em;margin:0 0 16px;max-width:820px}h2{font-size:27px;letter-spacing:-.035em;margin:0 0 12px}h3{font-size:18px;letter-spacing:-.02em;margin:0 0 10px}.muted{color:var(--muted)}.lead{font-size:16px;color:#a4b9b8;line-height:1.7;max-width:660px}.hero{position:relative;border:1px solid #2a4e48;border-radius:24px;padding:40px;overflow:hidden;background:linear-gradient(115deg,#12282a 0%,#0d191e 65%,#0a191b 100%);min-height:340px}.hero>.herotext{position:relative;z-index:2;max-width:580px}.radar{position:absolute;right:-80px;top:-130px;width:480px;height:480px;border:1px solid #235448;border-radius:50%;box-shadow:inset 0 0 0 50px transparent,0 0 0 52px rgba(34,92,75,.11),0 0 0 100px rgba(34,92,75,.05);opacity:.75}.radar:before,.radar:after{content:'';position:absolute;border:1px dashed #345f56;border-radius:50%;inset:72px}.radar:after{inset:145px;border-style:solid}.radar .sweep{position:absolute;inset:0;background:conic-gradient(from 270deg,transparent 0 72%,rgba(91,234,185,.23) 99%,transparent);border-radius:50%;animation:scan 11s linear infinite}@keyframes scan{to{transform:rotate(360deg)}}.actions{display:flex;gap:11px;flex-wrap:wrap;margin:24px 0 0}.btn{display:inline-flex;justify-content:center;align-items:center;gap:9px;padding:13px 18px;border-radius:12px;border:1px solid var(--line);font-weight:800;font-size:13px;color:var(--text);background:#1b2a2e;min-height:45px;transition:transform .15s,background .15s}.btn:active{transform:scale(.98)}.btn.primary{background:var(--green);border-color:var(--green);color:#082222}.btn.secondary{background:transparent}.btn.gold{background:var(--gold);border-color:var(--gold);color:#241e10}.btn:disabled{opacity:.42;cursor:not-allowed}.btn.tiny{padding:8px 12px;font-size:12px;min-height:35px}.btn.full{width:100%}.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:38px 0 18px}.section-head h2{margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#152326,#101b1e);padding:23px;min-height:195px;display:flex;flex-direction:column;align-items:flex-start;position:relative;overflow:hidden}.card.clickable{cursor:pointer}.card.clickable:hover{border-color:#589787;transform:translateY(-2px)}.card .iconbox{display:grid;place-items:center;width:46px;height:46px;background:#173c37;border:1px solid #285c51;border-radius:13px;color:var(--green);font-size:24px;margin-bottom:22px}.card .iconbox.purple{background:#28243d;color:#bcaefb;border-color:#453f68}.card .iconbox.gold{background:#382e22;color:#e8cc97;border-color:#625039}.card h3{font-size:17px;margin:0 0 6px}.card p{font-size:13px;color:var(--muted);line-height:1.6;margin:0}.arrow{margin-top:auto;padding-top:16px;color:var(--green)}.card .tinylabel{position:absolute;right:15px;top:18px;color:#9cafaa;font-size:10px;text-transform:uppercase;letter-spacing:.14em}.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.stat{border-radius:14px;border:1px solid var(--line);padding:17px;background:#0e191c}.stat .number{font-family:'Space Grotesk';font-size:26px;font-weight:700;margin:5px 0}.stat .caption{font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}.notice{padding:16px 18px;border:1px solid #365950;background:#112623;border-radius:13px;font-size:13px;color:#bcd1c9;line-height:1.6}.notice.goldnote{border-color:#564c38;background:#282418;color:#d7c4a3}.panel{padding:26px;border:1px solid var(--line);background:linear-gradient(155deg,#122024,#0d181b);border-radius:19px;margin:20px 0}.back{display:inline-flex;align-items:center;gap:7px;background:none;color:#abc5bd;border:0;padding:8px 0 24px;font-weight:700}.field{display:flex;flex-direction:column;gap:8px;margin:16px 0}.field label{font-size:12px;font-weight:800;letter-spacing:.06em;color:#c2d5d0}.field input,.field textarea,.field select{width:100%;background:#091416;border:1px solid #38504c;border-radius:11px;color:var(--text);padding:13px 14px;outline:none}.field textarea{min-height:120px;resize:vertical;line-height:1.5}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--green)}.stage{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:22px 0}.stage span{font-size:11px;padding:8px 11px;background:#132124;border:1px solid #2d4441;border-radius:30px;color:#9aaea9}.stage span.active{color:#09231e;background:var(--green);border-color:var(--green);font-weight:800}.stage span.done{color:var(--green);border-color:#376452}.target{padding:25px;text-align:center;border:1px dashed #4c7268;border-radius:17px;background:radial-gradient(circle at 50% 0%,#1a3934,#0d1b20 70%);margin:22px 0}.target .target-id{font-size:37px;font-family:'Space Grotesk';letter-spacing:.14em;color:var(--gold);margin:14px 0}.target small{display:block;color:#90a4a0;line-height:1.6}.target .lockicon{font-size:40px;color:var(--green)}.fingerprint{font-size:10px;word-break:break-all;color:#748f85;margin-top:12px}.sketch-wrap{background:#e1d8bd;border-radius:12px;overflow:hidden;border:2px solid #a19a81;touch-action:none}.sketch{width:100%;height:230px;display:block;touch-action:none;cursor:crosshair}.sketch-tools{display:flex;gap:10px;justify-content:space-between;align-items:center;margin:8px 0 20px}.revealphoto{width:100%;height:290px;object-fit:cover;border-radius:15px;border:1px solid #46625a;background:#1b3431}.photo-fallback{height:220px;border-radius:15px;display:grid;place-items:center;background:radial-gradient(circle at top,#25453e,#0e2327);color:var(--gold);font-size:80px}.choices{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:24px 0}.choice{min-height:100px;border:1px solid #39514b;background:#172629;border-radius:13px;color:#d5e4da;font-size:43px;font-family:serif}.choice:disabled{opacity:.5}.choice:hover{border-color:var(--green)}.choice.correct{background:#195042;border-color:var(--green)}.choice.wrong{background:#512b2f;border-color:var(--red)}.progress{height:11px;border-radius:99px;background:#243738;overflow:hidden}.progress>div{height:100%;background:linear-gradient(90deg,#4cc7a4,#c6f3aa);transition:width .15s}.bigresult{font-family:'Space Grotesk';font-size:62px;font-weight:700;margin:10px 0;color:var(--green)}.tarot-spread{display:flex;align-items:flex-start;justify-content:center;gap:12px;flex-wrap:wrap;margin:23px 0}.tarot{width:145px;max-width:42vw;height:240px;border:2px solid #af9871;border-radius:12px;box-shadow:inset 0 0 0 5px #16252a,0 10px 25px rgba(0,0,0,.25);background:radial-gradient(circle at 48% 27%,#253742,#0d1820 75%);text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px;padding:13px;position:relative}.tarot:before{content:'';position:absolute;inset:11px;border:1px solid #60583f;border-radius:6px;pointer-events:none}.tarot .symbol{font-size:46px;color:#dbc293}.tarot .cardname{font-family:'Space Grotesk';color:#e8dfcb;font-size:14px;font-weight:800}.tarot small{color:#9eaa9e;font-size:10px}.tarot.backcard{background:repeating-linear-gradient(45deg,#16312e,#16312e 7px,#1a3835 7px,#1a3835 10px)}.tarot.backcard .symbol{font-size:65px}.runes{display:flex;justify-content:center;gap:15px;flex-wrap:wrap;margin:26px 0}.rune{width:116px;height:141px;border-radius:38% 51% 43% 46%;background:linear-gradient(120deg,#91816e,#dfcba6 48%,#8e826f);box-shadow:inset -6px -8px 15px #756751,3px 12px 15px #040808;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#2a2420;transform:rotate(-5deg)}.rune:nth-child(2){transform:rotate(8deg)}.rune:nth-child(3){transform:rotate(-12deg)}.rune b{font-size:63px;font-weight:400}.rune small{font-size:12px;font-weight:800}.room{border:1px solid #355d50;background:#0e2220;padding:20px;border-radius:16px}.member{display:flex;align-items:center;justify-content:space-between;padding:10px 2px;border-bottom:1px solid #2a423c;font-size:13px}.member:last-child{border:0}.status{color:var(--green);font-size:12px}.journal-item{border-bottom:1px solid var(--line);padding:17px 0;display:flex;gap:14px;align-items:flex-start}.journal-item .date{color:var(--muted);font-size:12px;min-width:76px}.journal-item strong{display:block;margin-bottom:5px}.journal-item small{color:var(--muted);line-height:1.5}.meter{height:10px;background:#213637;border-radius:12px;overflow:hidden}.meter>span{display:block;height:100%;background:var(--green);width:0%;transition:width .12s}.wheel{position:relative;width:285px;height:285px;max-width:100%;margin:24px auto;border:2px solid #a59a78;border-radius:50%;background:repeating-conic-gradient(from -15deg,#192a31 0deg 30deg,#1b3433 30deg 60deg);box-shadow:0 0 0 9px #0d191b,0 0 0 10px #4f5649;display:grid;place-items:center}.wheel .inner{height:160px;width:160px;border:1px solid #746e54;border-radius:50%;display:grid;place-items:center;background:#0c1a20;flex-direction:column;font-size:55px;color:var(--gold)}.wheel .sign{position:absolute;top:50%;left:50%;font-size:23px;color:#d6cca9;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-115px) rotate(calc(-1*var(--angle)))}.nav{position:fixed;bottom:0;left:0;right:0;background:#0b1619f0;border-top:1px solid #2c423e;backdrop-filter:blur(20px);padding:10px max(16px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom));z-index:20}.nav-inner{display:flex;max-width:650px;margin:auto;justify-content:space-around;gap:5px}.nav button{background:none;border:none;color:#7b9a91;display:flex;align-items:center;flex-direction:column;gap:4px;min-width:55px;padding:5px}.nav button span{font-size:22px}.nav button small{font-size:10px;font-weight:700;letter-spacing:.01em}.nav button.active{color:var(--green)}#toast{position:fixed;top:20px;left:50%;transform:translate(-50%,-30px);opacity:0;z-index:99;padding:13px 19px;border:1px solid #4c7064;border-radius:12px;background:#19302d;color:#e2f8ec;box-shadow:0 12px 40px #0008;pointer-events:none;transition:opacity .2s,transform .2s;max-width:85vw;text-align:center}#toast.visible{opacity:1;transform:translate(-50%,0)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.divider{border:0;border-top:1px solid var(--line);margin:22px 0}.tiny-text{font-size:11px;color:#8aa19a;line-height:1.6}.flexbetween{display:flex;align-items:center;justify-content:space-between;gap:10px}.center{text-align:center}.empty{padding:36px;text-align:center;border:1px dashed #344b47;border-radius:16px;color:#8ca79f}.hidden{display:none!important}.pulse{animation:pulse 2s infinite}@keyframes pulse{50%{opacity:.45}}@media(max-width:720px){.app-shell{padding:0 16px 110px}.mast{padding:17px 0 15px}.brand{font-size:13px;gap:8px}.brand-logo{width:36px;height:36px}.top-pill{font-size:10px;padding:7px}.content{padding:24px 0}.hero{padding:28px 24px;min-height:310px}.radar{right:-240px;top:-50px;opacity:.38}.cards{grid-template-columns:1fr 1fr;gap:10px}.card{padding:15px;min-height:175px}.card .iconbox{width:40px;height:40px;font-size:22px;margin-bottom:20px}.card h3{font-size:15px}.card p{font-size:12px}.card .tinylabel{display:none}.strip{gap:7px}.stat{padding:12px}.stat .number{font-size:21px}.panel{padding:18px}.grid2{grid-template-columns:1fr;gap:10px}.choice{min-height:80px;font-size:34px}.target .target-id{font-size:30px}}@media(max-width:380px){.cards{grid-template-columns:1fr}.card{min-height:145px}.card .iconbox{margin-bottom:12px}.choices{gap:5px}.choice{min-height:70px}.tarot{width:132px;height:215px}}

/* ANOMALY LAB V2 — training, covered targets and investigator instruments */
.target-picks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:25px 0}.target-pick{border:1px solid var(--line);background:#102327;border-radius:15px;color:var(--text);text-align:left;display:flex;flex-direction:column;padding:16px 12px;gap:7px;min-height:150px}.target-pick span{font-size:30px;color:var(--green)}.target-pick strong{font-size:16px}.target-pick small{line-height:1.45;color:var(--muted)}.target-pick.on{border-color:var(--green);background:#123a33;box-shadow:inset 0 0 0 1px #70ebba}
.covered-target{aspect-ratio:5/3;max-width:800px;margin:24px auto 10px;position:relative;border:2px solid #4c776c;border-radius:17px;overflow:hidden;background:#020505;isolation:isolate}.covered-target>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.obscuring-cover{position:absolute;inset:-2px;background:#000;display:flex;align-items:center;justify-content:center;z-index:2;opacity:1;transition:opacity 1.15s ease}.covered-target.unsealed .obscuring-cover{opacity:0;pointer-events:none}.cover-lock{display:flex;align-items:center;flex-direction:column;gap:8px;font-family:'Space Grotesk';font-size:50px;color:var(--green)}.cover-lock small{color:#8b9b9c;text-align:center;letter-spacing:.17em;font-size:12px;line-height:1.6;font-weight:700}.cover-lock span{color:var(--gold);font-size:24px;letter-spacing:.25em}
.fieldlabel{display:block;color:#c2d5d0;font-size:12px;font-weight:800;letter-spacing:.08em;margin:12px 0}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.feature{display:flex;align-items:center;gap:5px;border:1px solid #2c524a;background:#0c2926;border-radius:9px;padding:7px;font-size:12px;color:#d7eae4}.feature input{accent-color:var(--green)}.rating-row{grid-template-columns:repeat(6,1fr)}
.lesson-line{border-left:2px solid #356f61;padding:6px 0 9px 17px;margin:15px 0}.lesson-line p{margin:6px 0;color:var(--muted);line-height:1.65}
.guide-backdrop{position:fixed;inset:0;z-index:100;background:rgba(1,8,8,.92);display:flex;align-items:center;justify-content:center;padding:12px;overflow-y:auto}.guide-modal{position:relative;width:min(550px,100%);max-height:95vh;overflow-y:auto;border:1px solid #427b6b;border-radius:24px;background:linear-gradient(145deg,#132b2b,#071415);padding:24px;box-shadow:0 15px 80px #000b}.meditation-orb{height:125px;display:grid;place-items:center}.meditation-orb span{font-size:76px;color:var(--green);animation:meditate 7s ease-in-out infinite alternate;text-shadow:0 0 50px #44d5bb99}@keyframes meditate{from{transform:scale(.78);opacity:.65}to{transform:scale(1.13);opacity:1}}.guide-words{line-height:1.85;min-height:76px;font-size:16px}.guide-duration{display:flex;gap:9px;justify-content:center;margin:16px 0}.ritual{background:#101f22;border:1px solid var(--line);padding:18px;border-radius:16px}.ritual-icon{font-size:68px;color:var(--gold);text-align:center}.ritual strong{font-size:18px}.ritual p{line-height:1.5;color:var(--muted)}.question-box{background:#0a1c1d;color:var(--gold);border:1px dashed #6a654d;padding:21px;font-size:18px;font-family:'Space Grotesk';border-radius:13px;line-height:1.5}.waveform{background:#061719;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:19px}.waveform canvas{display:block;width:100%;height:90px}.evidence-photo{display:block;width:100%;max-width:500px;max-height:270px;object-fit:contain;border-radius:10px;margin-top:16px;border:1px solid var(--line)}
@media(max-width:720px){.target-picks{grid-template-columns:repeat(2,minmax(0,1fr))}.target-pick{min-height:130px}.feature-grid{grid-template-columns:repeat(3,1fr)}.nav button{min-width:37px;padding:4px 2px}.nav button span{font-size:20px}.nav button small{font-size:9px}.nav-inner{gap:1px}.guide-modal{padding:17px}.meditation-orb{height:95px}}
@media(max-width:370px){.feature-grid{grid-template-columns:repeat(2,1fr)}.target-pick{padding:11px}.target-pick small{font-size:11px}}

/* Leo's Parlor — hand-finished French Quarter / occult apothecary treatment */
:root{
  --bg:#100b10;--panel:#21161c;--panel2:#26171c;--line:#5a443f;
  --text:#f2e6d4;--muted:#c1aa9c;--green:#d8b67e;
  --gold:#edcc91;--purple:#b8a0ba;--red:#c56f6a;--nav:76px;
  --velvet:#2a101d;--oxblood:#5b2632;--brass:#ae814e;--paper:#e3cda9;
}
html{background:var(--bg)}
body{background:radial-gradient(ellipse at 85% 0%,#301523 0%,transparent 52%),
radial-gradient(ellipse at 10% 70%,#211622 0%,transparent 50%),#100b10;
font-family:'DM Sans',sans-serif;letter-spacing:.003em}
.ambient{background:radial-gradient(ellipse at 70% 0%,rgba(187,118,64,.11),transparent 42%),radial-gradient(ellipse at 12% 75%,rgba(123,36,56,.13),transparent 40%);
opacity:.85}
.ambient:after{content:'';position:fixed;inset:0;opacity:.075;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='98' height='98' viewBox='0 0 98 98'%3E%3Cpath stroke='%23dcc293' stroke-width='.4' fill='none' d='M49 5v88M5 49h88M49 20l29 29-29 29-29-29z'/%3E%3C/svg%3E")}
::selection{background:#80624d;color:#fff8e7}
.app-shell{max-width:1120px}
.mast{border-bottom:1px solid #62493f;padding:20px 0 18px;position:relative}
.mast:after{position:absolute;bottom:-3px;left:0;width:90px;height:3px;background:linear-gradient(90deg,var(--gold),transparent);content:''}
.brand{font-family:'Cormorant Garamond',Georgia,serif;letter-spacing:.015em;gap:13px;color:var(--gold);font-size:27px;font-weight:700}
.brand-logo{width:55px;height:55px;border-radius:12px;border:1px solid #a88452;background:#130b11;box-shadow:0 0 20px #bc824016;padding:3px;flex-shrink:0}
.brand-logo img{width:100%;height:100%;object-fit:contain;border-radius:9px}
.brand em{font-weight:500;font-style:italic;color:#f5e8cc}
.brand-lockup{line-height:1;white-space:nowrap}
.brand .tag{font-family:'DM Sans',sans-serif;font-size:9px;line-height:1.6;letter-spacing:.25em;color:#af8d6b;margin-top:4px}
.top-pill{font-family:'DM Sans',sans-serif;letter-spacing:.13em;color:#d6b991;font-size:10px;border:1px solid #74543e;background:#251820;padding:10px 15px}
.online-dot{background:#daa96d;box-shadow:0 0 10px #c77c39}
.content{padding:26px 0 40px}
h1,h2,h3,.big-title{font-family:'Cormorant Garamond',Georgia,serif;letter-spacing:-.018em;font-weight:600}
h1{font-size:clamp(48px,6.4vw,76px);line-height:.96;margin-bottom:21px;letter-spacing:-.026em}
h2{font-size:34px;line-height:1.02}h3{font-size:24px;line-height:1.05}
.hero{border-radius:5px;padding:60px 48px 53px;min-height:510px;border:1px solid #957049;
background:linear-gradient(100deg,#1d1018 4%,#26131f 46%,#1a0e17 100%);box-shadow:inset 0 0 0 6px #1c1018,inset 0 0 0 7px #644a37,0 22px 60px rgba(0,0,0,.3)}
.hero:before{content:'';position:absolute;inset:13px;border:1px solid #b88b544d;pointer-events:none;z-index:3}
.hero:after{content:'';position:absolute;right:12%;top:-130px;width:470px;height:650px;background:radial-gradient(ellipse,rgba(215,141,78,.17),transparent 64%);z-index:0;pointer-events:none}
.hero .herotext{max-width:600px;z-index:2;position:relative}
.hero h1{max-width:490px;text-shadow:0 5px 20px #090609}
.hero h1 em{color:var(--gold);font-weight:500;font-style:italic}
.hero .lead{font-size:15px;color:#d9c0b1;max-width:470px;line-height:1.85;text-shadow:0 1px 14px #0c080e}
.hero .eyebrow{font-size:10px;letter-spacing:.21em;color:#e3bf89;max-width:460px}
.parlor-illustration{position:absolute;right:-95px;top:-102px;width:600px;height:700px;object-fit:contain;z-index:1;opacity:.72;filter:drop-shadow(0 0 48px #a665332a);pointer-events:none}
.hero-footer{position:absolute;bottom:21px;left:48px;right:42px;display:flex;justify-content:space-between;gap:12px;color:#aa8668;letter-spacing:.18em;font-size:9px;z-index:3;border-top:1px solid #805e4255;padding-top:10px}
.hero .actions{max-width:480px;margin-top:30px}
.eyebrow{font-weight:700;letter-spacing:.23em;color:#d8ad72}
.lead{color:#d0bdb2}
.btn{border-radius:4px;background:#2b1b24;border:1px solid #75543f;color:#f6e4d0;font-weight:700;letter-spacing:.025em;box-shadow:inset 0 0 0 1px #0003;transition:background .18s,border-color .18s,transform .18s}
.btn:hover,.btn:focus-visible{border-color:#edce95;box-shadow:0 0 0 2px #aa845a25}
.btn.primary{background:linear-gradient(115deg,#dec18a,#b98950);border-color:#f0d59f;color:#211219;box-shadow:inset 0 0 0 1px #744b28}
.btn.secondary{background:rgba(19,10,17,.55);border:1px solid #7c5c48}
.btn.gold{background:#dac38f;color:#23151e}
.btn:focus-visible,.card:focus-visible,.target-pick:focus-visible,button:focus-visible{outline:2px solid #f5daa5;outline-offset:3px}
.section-head{border-bottom:1px solid #644e43;padding-bottom:12px;margin-top:42px}
.section-head h2{font-size:37px}
.section-head .muted{font-size:11px;letter-spacing:.13em;text-transform:uppercase}
.cards{gap:14px}
.card{min-height:225px;border-radius:5px;padding:24px;background:linear-gradient(135deg,#2a1822,#1b141b);border:1px solid #694e3e;box-shadow:inset 0 0 0 5px #21131b,inset 0 0 0 6px #6b4c333b,0 8px 20px #0002;transition:border-color .2s,transform .2s}
.card:before{content:'✦';position:absolute;top:11px;right:14px;font-family:serif;color:#755638;opacity:.65;font-size:13px}
.card.clickable:hover{border-color:#d9b578;transform:translateY(-3px);background:linear-gradient(135deg,#341924,#25161d)}
.card .iconbox{width:46px;height:48px;margin-bottom:18px;border:1px solid #8b6848;border-radius:50% 50% 44% 44%;background:radial-gradient(circle,#5b3240,#2b1b23);color:#e6c490;font-family:'Cormorant Garamond',Georgia,serif;font-size:28px}
.card .iconbox.purple{background:#332036;border-color:#6e5068;color:#e2bee4}
.card .iconbox.gold{background:#4a3025;border-color:#9f784d;color:#f2d7a2}
.card h3{font-size:26px;margin:0 0 6px;line-height:1}
.card p{font-size:12px;color:#c0a79b;line-height:1.7}
.card .tinylabel{color:#bd9266;right:22px}
.arrow{color:#dfba83;font-size:10px;letter-spacing:.18em;font-weight:700}
.strip{gap:12px;margin:15px 0}
.stat{border-radius:4px;border:1px solid #654839;background:#1d141b;text-align:center}
.stat .number{font-family:'Cormorant Garamond',Georgia,serif;font-weight:700;font-size:34px;color:#ebd0a0}
.stat .caption{color:#c2a18a;letter-spacing:.14em}
.panel{border-radius:5px;border:1px solid #624c40;background:linear-gradient(140deg,#28181e,#171117);padding:28px;box-shadow:inset 0 0 0 4px #21161d,0 8px 28px #0002}
.notice{border:1px solid #6c5040;border-radius:4px;background:#291920;color:#e0c6b1;box-shadow:inset 0 0 0 3px #1c1317}
.back{color:#dfbc89}
.field label,.fieldlabel{color:#d3b38e}
.field input,.field textarea,.field select{border-radius:4px;background:#110d12;border:1px solid #725648;color:#eadccc}
.field input:focus,.field textarea:focus,.field select:focus{border-color:#e8c88c}
.stage span{border-radius:4px;background:#1c151b;border-color:#6e554a;color:#c6aa97}
.stage span.active{background:#d8b67e;color:#27151a}
.stage span.done{border-color:#a87e59;color:#deb688}
.target{border-radius:3px;border:1px solid #8b694e;background:radial-gradient(circle at top,#3b232a,#160f15 65%)}
.target .target-id{font-family:'Cormorant Garamond',Georgia,serif;color:#e6ba7c;font-size:43px}
.target .lockicon{color:#e6c493}
.fingerprint{color:#ae9788}
.target-pick{background:linear-gradient(155deg,#2c1922,#1b121a)!important;border:1px solid #74583e!important;border-radius:4px!important}
.target-pick span{color:#e6b980}
.target-pick.on{background:#4b2732!important;border-color:#dfb475!important;box-shadow:inset 0 0 0 2px #c294654a!important}
.feature{border-radius:4px;background:#221821;border-color:#674d3e;color:#edd3bd}
.feature input{accent-color:#dfb879}
.covered-target{border:5px solid #a78254;border-radius:3px;background:#020205;box-shadow:0 0 0 5px #241721,0 0 0 6px #73513e}
.obscuring-cover{background:radial-gradient(ellipse at center,#100d12,#000 70%);border:3px solid #060505;overflow:hidden}
.obscuring-cover:before{content:'';position:absolute;inset:14px;border:1px solid #6d533d;opacity:.75;pointer-events:none}
.obscuring-cover:after{content:'✦                     ✦';position:absolute;bottom:18px;text-align:center;left:0;right:0;color:#6d533d;letter-spacing:.1em;opacity:.75}
.cover-lock{color:#e4c18a;font-family:'Cormorant Garamond',Georgia,serif;font-size:60px}
.cover-lock small{font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:.19em;color:#c4ab8c}
.cover-lock span{color:#edc995;font-family:'Cormorant Garamond',Georgia,serif;font-size:32px}
.choice{border-radius:3px;background:#291a22;border-color:#775644;color:#ebcf9e;font-family:'Cormorant Garamond',serif}
.choice.correct{background:#463423;border-color:#debf88}
.choice.wrong{background:#53242a;border-color:#d87e7c}
.progress{background:#362729}.progress>div{background:linear-gradient(90deg,#98633f,#dfbe88)}
.bigresult{color:#ddba85;font-family:'Cormorant Garamond',serif}
.tarot{border-radius:3px;border-color:#d7b481;background:radial-gradient(circle at 50% 25%,#493042,#19131c 75%);box-shadow:inset 0 0 0 6px #261823,0 10px 24px #0008}
.tarot:before{border-color:#ac875c}.tarot .cardname{font-family:'Cormorant Garamond',Georgia,serif;font-size:20px;color:#f0d6b2}
.tarot .symbol{color:#e5c58f}
.tarot.backcard{background:repeating-linear-gradient(45deg,#32202c,#32202c 7px,#422436 7px,#422436 10px)}
.rune{filter:sepia(.15);box-shadow:inset -8px -10px 17px #715f4a,4px 10px 20px #050305}
.wheel{border-color:#cdac72;background:repeating-conic-gradient(from -15deg,#2d1b25 0deg 30deg,#351d2a 30deg 60deg);box-shadow:0 0 0 9px #180e17,0 0 0 10px #8b6b4e}
.wheel .inner{background:#21131b;color:#e9c789;border-color:#92714d}
.wheel .sign{color:#dac7ad}
.guide-backdrop{background:rgba(8,5,10,.94)}
.guide-modal{background:linear-gradient(#2d1b26,#160e17)!important;border:1px solid #bb9561!important;border-radius:6px!important;box-shadow:0 25px 85px #000b,inset 0 0 0 7px #251722}
.meditation-orb{border-color:#ab8150!important;background:radial-gradient(circle,#9d725d 0%,#3c253b 32%,#1b121d 80%)!important;box-shadow:0 0 54px #cb8a4630!important}
.lesson-line{border-color:#ad8153}
.room{border-color:#926949;background:#241720;border-radius:3px}.status{color:#ecc990}
.journal-item{border-color:#604739}.journal-item .date{color:#c09e82}
.meter{background:#2d1f24}.meter>span{background:#d9b57e}
.nav{background:rgba(22,11,18,.97);border-top:1px solid #7e5a43;box-shadow:0 -6px 22px #0008}
.nav button{color:#af9385}.nav button.active{color:#f0d098}.nav button span{font-family:'Cormorant Garamond',serif;font-size:27px}
#toast{background:#341f27;border-color:#ac8156;color:#f6e1c1;border-radius:4px}
.bar-record{margin:10px 0 15px}
.bar-title{display:flex;justify-content:space-between;font-size:12px;text-transform:capitalize;color:#d4b99d;margin:6px 0}
.bar-title b{color:#e8c68e}
.bar-track{height:9px;border-radius:99px;background:#24151a;border:1px solid #644330;overflow:hidden}
.bar-track span{display:block;height:100%;background:linear-gradient(90deg,#8c4a58,#e2b16d);border-radius:99px}
.coach-panel{margin-top:20px}
.tiny-text,.muted{color:var(--muted)}
@media (max-width:780px){
 .hero{min-height:475px;padding:50px 30px 67px}
 .parlor-illustration{width:520px;right:-270px;top:-42px;opacity:.5}
 .hero .herotext{max-width:440px}
 .hero h1{max-width:380px;font-size:clamp(51px,10vw,69px)}
 .hero .lead{max-width:390px;color:#ecd4c3}
 .hero-footer{left:30px;right:25px;font-size:8px}
 .card{padding:18px;min-height:190px}
 .card h3{font-size:24px}
 .brand{font-size:26px}
 .mast .top-pill{font-size:9px;letter-spacing:.03em}
}
@media (max-width:420px){
 .app-shell{padding:0 14px 115px}
 .brand{font-size:23px;gap:8px}
 .brand-logo{height:43px;width:43px}
 .brand .tag{font-size:8px;letter-spacing:.13em}
 .mast .top-pill{font-size:8px;padding:8px;max-width:96px;text-align:center;white-space:normal}
 .hero{padding:39px 24px 64px;min-height:490px}
 .hero h1{font-size:56px;line-height:.93}
 .hero .lead{font-size:13px;line-height:1.75}
 .hero .eyebrow{font-size:9px;letter-spacing:.14em}
 .hero-footer{left:25px;right:25px}
 .hero-footer span:last-child{display:none}
 .parlor-illustration{right:-325px;top:-40px;opacity:.39}
 .hero .actions .btn{width:100%;min-height:44px}
 .section-head h2{font-size:31px}
 .section-head .muted{font-size:9px;text-align:right;max-width:145px}
 .cards{grid-template-columns:1fr 1fr}
 .card{min-height:177px;padding:17px 14px}
 .card .iconbox{width:39px;height:39px;font-size:24px;margin-bottom:13px}
 .card h3{font-size:22px}
 .card p{font-size:11px;line-height:1.4}
 .card .tinylabel{display:none}
 .stat{padding:11px 5px}
 .stat .number{font-size:25px}
 .stat .caption{font-size:9px}
 .panel{padding:20px}
 .nav{padding:9px 5px calc(11px + env(safe-area-inset-bottom))}
 .nav-inner{gap:0}
 .nav button{padding:6px 1px;min-width:0;flex:1}
 .nav button span{font-size:23px}
 .nav button small{font-size:9px}
 .target-picks{gap:7px}
 .guide-modal{padding:21px!important}
}
@media(max-width:345px){.cards{grid-template-columns:1fr}.card{min-height:135px}.hero h1{font-size:46px}.brand{font-size:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Seven-night guided track and enhanced celestial ledger */
.apprentice-path{margin-top:28px}
.course-meter{height:9px;border-radius:99px;border:1px solid #795947;background:#27151d;overflow:hidden;margin:18px 0}
.course-meter span{display:block;height:100%;background:linear-gradient(90deg,#96586a,#ead09b)}
.course-night{padding:12px 3px;display:flex;gap:13px;align-items:center;border-bottom:1px solid #604538}
.course-night:last-child{border:0}
.course-night strong{color:#e8c591;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.course-night p{margin:3px 0 0;color:#d0b6a3;font-size:13px}
.course-check{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:50%;border:1px solid #8a6447;font-family:'Cormorant Garamond',Georgia,serif;color:#e5c58e;font-size:17px}
.course-check.is-done{background:#77523a;color:#fff4dc;border-color:#ebc895;font-family:'DM Sans',sans-serif}
.sky-triad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:24px 0 18px}
.sky-triad>div{min-height:91px;padding:13px 10px;background:#21131b;border:1px solid #77553d;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px}
.sky-triad small{font-size:11px;letter-spacing:.16em;color:#d3ad77}
.sky-triad strong{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:19px;color:#f1d5ab;line-height:1.1}
@media(max-width:425px){.sky-triad strong{font-size:15px}.sky-triad>div{padding:11px 5px}.course-night p{font-size:12px}}

/* V4: the Skywatch, guide voice, celestial plain language and lucky drawer */
.mast-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.voice-switch{font:700 10px 'DM Sans',sans-serif;color:#f0d5ac;background:#30202a;border:1px solid #957348;border-radius:999px;padding:11px 13px;letter-spacing:.08em;cursor:pointer;white-space:nowrap}
.voice-switch[aria-pressed="false"]{color:#bda7a6;border-color:#69504b;background:#1b1519}
.voice-panel{margin-top:20px}
.voice-panel select{width:100%;padding:13px 14px;background:#1a111a;color:#f7dfbd;border:1px solid #846543;border-radius:8px;font:15px 'DM Sans',sans-serif;margin:10px 0}
.sky-panel,.sky-guide{margin-top:24px}
.sky-viewport{position:relative;aspect-ratio:4/3;min-height:210px;max-height:510px;width:100%;overflow:hidden;background:radial-gradient(ellipse at 55% 20%,#241c32,#080711 70%);border:1px solid #8d7056;border-radius:9px}
.sky-viewport video{width:100%;height:100%;object-fit:cover;display:block}
.sky-no-camera{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#d3b98b;text-align:center;padding:20px;background:radial-gradient(ellipse,#241b2d,#10111a 85%)}
.sky-no-camera[hidden]{display:none}
.sky-no-camera span{font-size:70px;color:#ecd6a1}
.sky-reticle{position:absolute;pointer-events:none;inset:50% auto auto 50%;transform:translate(-50%,-50%);color:#f2daa5;font-size:58px;opacity:.42;text-shadow:0 0 18px #d8aa64}
.sky-corner{position:absolute;left:9px;bottom:12px;font-size:9px;color:#fff4de;letter-spacing:.12em;background:#120f17b8;padding:6px 8px;max-width:96%}
.sky-clock{font-variant-numeric:tabular-nums;color:#edc78e;font-weight:700;border:1px solid #8e6443;border-radius:20px;padding:7px 11px;white-space:nowrap}
.sky-stepbar{height:8px;overflow:hidden;border:1px solid #78513d;background:#1b1518;border-radius:99px;margin:18px 0 9px}
.sky-stepbar span{height:100%;display:block;background:linear-gradient(90deg,#8e526d,#ddc087);transition:width .4s}
.lucky-balls{display:flex;flex-wrap:wrap;gap:10px;margin:17px 0}
.lucky-balls span{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#ead59b,#8d513d 75%);border:2px solid #f3d49b;box-shadow:0 4px 20px #08050aa0;color:#2d0e19;font-size:21px;font-weight:800;font-family:'Cormorant Garamond',Georgia,serif}
.celestial-meaning{font-size:11px;color:#d3b6a1;line-height:1.4;max-width:150px}
.plain-glossary{border-top:1px solid #745540;padding-top:14px;margin-top:15px}
.plain-glossary p{color:#ddc7b0;font-size:13px;line-height:1.65}
@media(max-width:700px){.top-pill{display:none}.mast-actions{gap:4px}.voice-switch{font-size:9px;padding:10px}.sky-reticle{font-size:38px}.sky-viewport{min-height:245px}.sky-clock{font-size:13px}}
@media(max-width:430px){.nav-inner{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;justify-content:flex-start}.nav-inner::-webkit-scrollbar{display:none}.nav button{min-width:49px;flex:1 0 12.5%}.nav button small{font-size:9px}.sky-triad small{font-size:9px!important}.celestial-meaning{font-size:10px}.sky-guide .flexbetween{gap:9px}}


/* V5 cinematic parlor arrival experience; visually isolated from practical tools */
.parlor-stage{position:fixed;inset:0;z-index:5000;background:#08060a;color:#ffe8c0;overflow:hidden;font-family:Georgia,serif}
.parlor-scene{position:absolute;inset:0;overflow:hidden}
.parlor-scene[hidden]{display:none!important}
.parlor-scene-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:61% center;user-select:none;pointer-events:none}
.parlor-inside .parlor-scene-photo{object-position:center 47%}
.scene-nightfall{position:absolute;inset:0;background:linear-gradient(180deg,#10071488 1%,transparent 28%,#05030627 56%,#070208ec 100%);pointer-events:none}
.inside-nightfall{background:linear-gradient(180deg,#050306db,transparent 28%,transparent 55%,#070308de 100%)}
.scene-rain{position:absolute;inset:-35%;pointer-events:none;opacity:.11;background:repeating-linear-gradient(105deg,transparent 0 8px,#e9d6d8 9px,transparent 10px 25px);animation:street-rain 13s linear infinite}
@keyframes street-rain{to{transform:translate(13%,35%)}}
.parlor-entry-text{position:absolute;left:0;right:0;bottom:max(3.5vh,21px);padding:22px 15px 16px;text-align:center;text-shadow:0 2px 10px #000,0 0 30px #000;display:grid;justify-items:center;gap:8px;z-index:2}
.scene-eyebrow{font:700 10px/1.4 system-ui,sans-serif;letter-spacing:.29em;color:#edc78b;text-transform:uppercase;margin:0}
.parlor-entry-text h1{font-size:clamp(38px,6vw,76px);margin:4px 0;line-height:.94;color:#ffe5b6;letter-spacing:.08em;font-weight:500}
.parlor-entry-text em,.parlor-room-header em{color:#ecab81;font-style:italic}
.parlor-entry-text p:not(.scene-eyebrow){font-size:15px;margin:0 0 7px;color:#e6c7ca}
.enter-parlor-button{min-height:56px;padding:12px 25px;background:linear-gradient(110deg,#541e32,#28101f);border:2px solid #cf9b57;border-radius:5px;color:#ffebb9;font:700 13px system-ui,sans-serif;letter-spacing:.13em;box-shadow:0 0 34px #8d244b77,0 9px 25px #000b;cursor:pointer}
.enter-parlor-button:active{transform:scale(.97)}
.parlor-street-skip{color:#ecdaad99;font:12px system-ui,sans-serif;background:none;border:none;padding:8px;cursor:pointer}
.parlor-room-header{position:absolute;top:4vh;left:2%;right:2%;text-align:center;display:grid;gap:5px;text-shadow:0 2px 12px #000,0 2px 4px #000;pointer-events:none}
.parlor-room-header h2{font:500 clamp(35px,5vw,70px)/1.06 Georgia,serif;color:#fce1ae;margin:2px 0}
.parlor-room-header>span{font:13px system-ui,sans-serif;color:#f0d4c8}
.parlor-doorways{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));display:flex;align-items:stretch;justify-content:center;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;padding:11px 6px 5px;scrollbar-width:thin;z-index:3}
.parlor-doorways>button{background:linear-gradient(160deg,#281520e8,#0b090df2);border:1px solid #b58c5d;color:#fbe2b1;padding:9px 14px;min-width:108px;min-height:68px;flex:0 0 auto;border-radius:8px;font:28px Georgia,serif;cursor:pointer;box-shadow:0 6px 17px #000b,0 0 5px #b57e3722;display:grid;justify-items:center;gap:4px}
.parlor-doorways>button span{font:600 11px/1.15 system-ui,sans-serif;letter-spacing:.04em;text-align:center}
.parlor-doorways>button:active{background:#59283a}
.parlor-room-voice,.parlor-room-leave{position:absolute;top:12px;z-index:6;border:1px solid #bd995f;background:#160c12e8;color:#fbe1b5;border-radius:7px;padding:9px 11px;font:12px system-ui,sans-serif;cursor:pointer}
.parlor-room-voice{right:12px}.parlor-room-leave{left:12px}
.parlor-hotspots{position:absolute;inset:0;pointer-events:none}
.parlor-object{position:absolute;border:1px solid #eed6a55e;background:#10071491;border-radius:999px;color:#ffdcb0;min-width:61px;min-height:61px;font:28px Georgia,serif;cursor:pointer;pointer-events:auto;box-shadow:0 0 18px #eab77a55;text-shadow:0 0 7px #000;display:grid;place-items:center;gap:0;z-index:2;animation:object-pulse 6s ease-in-out infinite}
.parlor-object span{font:10px system-ui,sans-serif;padding:0 4px 7px}
.parlor-object-sight{left:49%;top:52%}.parlor-object-tarot{left:25%;top:76%}.parlor-object-runes{left:66%;top:75%}.parlor-object-vigil{left:48%;top:26%}
@keyframes object-pulse{50%{box-shadow:0 0 27px #dca3618b,0 0 50px #8d325337}}
.parlor-ghost{position:absolute;top:17%;left:44%;width:min(24vw,290px);height:40%;z-index:1;opacity:0;filter:grayscale(100%) sepia(15%) hue-rotate(245deg) contrast(125%) drop-shadow(0 0 23px #afbdd1);pointer-events:none;transition:opacity 2.2s ease}
.parlor-ghost img{width:100%;height:100%;object-fit:contain;mask-image:radial-gradient(ellipse at center,#000 35%,transparent 75%)}
.parlor-ghost.is-present{opacity:.5}
.parlor-ambient-orb{pointer-events:none;position:absolute;top:63%;left:45%;width:65px;height:65px;border-radius:50%;filter:blur(17px);background:#9656ad36;animation:parlor-orb 9s ease-in-out infinite alternate}
@keyframes parlor-orb{to{transform:translate(18px,-18px);opacity:.35}}
.return-to-parlor{position:fixed;z-index:1100;right:14px;bottom:max(15px,env(safe-area-inset-bottom));padding:11px 16px;border:1px solid #b7925c;background:#1e101ded;color:#f3d4a1;border-radius:99px;font:600 12px system-ui,sans-serif;box-shadow:0 5px 16px #0009;cursor:pointer}
.return-to-parlor[hidden]{display:none!important}
@media(max-width:730px){.parlor-stage{height:100dvh}.parlor-street .parlor-scene-photo{object-position:62% center}.parlor-inside .parlor-scene-photo{object-position:53% center}.parlor-room-header{top:9vh}.parlor-room-header h2{font-size:46px}.parlor-doorways{justify-content:flex-start;bottom:9px}.parlor-doorways>button{min-width:84px;min-height:62px;padding:6px 9px;font-size:22px}.parlor-doorways>button span{font-size:10px}.parlor-object{min-width:51px;min-height:51px;font-size:20px}.parlor-object span{font-size:8px}.parlor-object-sight{left:48%;top:52%}.parlor-object-tarot{left:19%;top:69%}.parlor-object-runes{left:67%;top:70%}.parlor-object-vigil{left:44%;top:30%}.parlor-ghost{left:36%;width:33vw;height:28%;top:29%}}
@media(max-height:590px){.parlor-room-header{top:5px}.parlor-doorways>button{min-height:49px}.parlor-hotspots{opacity:.7}.parlor-entry-text{bottom:0}}
@media(prefers-reduced-motion:reduce){.scene-rain,.parlor-object,.parlor-ambient-orb{animation:none!important}.parlor-ghost{transition:none!important}}

html.parlor-immersive,html.parlor-immersive body{overflow:hidden!important;overscroll-behavior:none!important}

/* Narration stays compact on small phones. */
.parlor-guide-play{border-color:#b69163;background:#36232a;color:#ffdf9d}
@media(max-width:480px){.mast-actions{gap:3px}.parlor-guide-play{font-size:9px;padding:8px 7px}.voice-switch{padding:8px 7px;font-size:9px}.brand-lockup .tag{font-size:8px}}

/* V7 — intentional two-channel sound controls, comfortable on tiny screens. */
.ambience-switch{appearance:none;border:1px solid rgba(215,175,112,.64);border-radius:24px;background:rgba(23,9,24,.84);color:#ecd5b0;padding:10px 14px;cursor:pointer;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;white-space:nowrap;min-height:42px;box-shadow:0 4px 20px rgba(0,0,0,.28)}
.ambience-switch[aria-pressed="false"]{opacity:.76;border-color:#74556f;color:#d4b6c4}
.ambience-switch:focus-visible,.soundbar-volume input:focus-visible{outline:3px solid #ffdb99;outline-offset:3px}
.scene-soundbar{position:absolute;z-index:8;left:16px;right:16px;bottom:calc(18px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;gap:12px;pointer-events:auto;flex-wrap:wrap}
.soundbar-volume{display:flex;gap:8px;align-items:center;background:rgba(21,8,21,.84);border:1px solid rgba(224,181,117,.36);border-radius:22px;color:#eddbce;font:11px/1.2 inherit;letter-spacing:.035em;padding:10px 12px;min-height:42px}
.soundbar-volume input{width:88px;accent-color:#be896d;cursor:pointer}
.room-audio-controls{position:absolute;z-index:9;right:14px;top:13px;display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end;max-width:85%}
.room-audio-controls .parlor-room-voice{position:static;transform:none;margin:0;min-height:42px}
.room-audio-controls .soundbar-volume{padding:8px 10px}
.ambience-learning{margin:18px 0;padding:15px;border:1px solid rgba(182,133,77,.28);border-radius:15px;background:rgba(22,9,23,.38)}
.ambience-learning strong{font-size:12px;letter-spacing:.1em;color:#dbc096}
.ambience-learning .actions{align-items:center}
.mast-actions .ambience-top-toggle{white-space:nowrap;border-color:rgba(212,155,104,.5)}
@media(max-width:580px){.scene-soundbar{bottom:calc(20px + env(safe-area-inset-bottom));gap:6px}.soundbar-volume{font-size:10px}.soundbar-volume input{width:67px}.room-audio-controls{left:8px;right:8px;top:8px;max-width:none;gap:5px}.room-audio-controls .parlor-room-voice,.room-audio-controls .ambience-switch{font-size:9px;padding:8px}.room-audio-controls .soundbar-volume{font-size:9px}.room-audio-controls .soundbar-volume input{width:52px}.mast-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px}.mast-actions .voice-switch{font-size:10px;min-height:36px}}
@media(prefers-reduced-motion:reduce){.ambience-switch,.soundbar-volume input{transition:none!important}}

.evidence-audio{width:min(100%,350px);display:block;margin:10px 0;color-scheme:dark}.import-file-label{cursor:pointer;display:inline-flex;align-items:center}.mast-actions .ambience-top-toggle[aria-pressed="false"]{opacity:.73}

/* Expanded sky ledger: one gentle line per planet, not a wall of symbols. */
.planetary-ledger{padding:22px 16px;margin:22px 0;border-radius:18px;background:linear-gradient(130deg,rgba(18,8,28,.82),rgba(41,16,37,.71));border:1px solid rgba(210,166,111,.3)}
.planetary-ledger h3{color:#e9c99b;margin:9px 0 13px}
.planetary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.planetary-item{display:flex;gap:9px;align-items:center;min-width:0;padding:11px;border:1px solid rgba(199,156,107,.2);border-radius:11px;background:rgba(5,5,12,.55)}
.planetary-item strong,.planetary-item small{display:block}.planetary-item strong{color:#e9d7c4;font-size:14px}.planetary-item small{font-size:11px;color:#aaa0a9;line-height:1.35}
.planet-symbol{font-size:25px;color:#be99ca;min-width:27px;text-align:center}
.planet-loc{margin-left:auto;max-width:43%;text-align:right;color:#d9b978;font-size:12px;line-height:1.4}
.planet-loc em{color:#db8c96;font-style:normal;margin-left:4px}
.astro-aspects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:8px 0 18px}
.astro-aspects div{display:flex;flex-direction:column;gap:3px;background:rgba(26,13,27,.7);border-radius:10px;padding:10px;border:1px solid rgba(177,131,98,.15)}
.astro-aspects strong{font-size:13px;color:#ebd9c5}.astro-aspects span{font-size:12px;color:#c9a77b}
@media(max-width:560px){.planetary-grid{grid-template-columns:1fr}.astro-aspects{grid-template-columns:1fr}.planetary-item{padding:10px}.planet-loc{max-width:50%}}
/* Preserve the Skip Entrance affordance above its independent sound controls. */
.parlor-street .parlor-entry-text{bottom:calc(88px + env(safe-area-inset-bottom));}
@media(max-height:640px){.parlor-street .parlor-entry-text{bottom:calc(72px + env(safe-area-inset-bottom));}}
/* V8 guided audio programs — independent from ambience and room navigation */
.guided-feature{border:1px solid rgba(201,156,92,.38);background:linear-gradient(125deg,rgba(71,22,49,.84),rgba(20,13,25,.91))}
.guided-screen{position:fixed;inset:0;z-index:5500;background:rgba(4,1,10,.92);display:flex;justify-content:center;align-items:flex-start;overflow-y:auto;padding:25px 12px max(50px,env(safe-area-inset-bottom,20px));backdrop-filter:blur(13px)}
.guided-shell{width:min(100%,850px);color:#ede0ca;border:1px solid rgba(224,173,97,.48);border-radius:18px;padding:clamp(16px,3vw,30px);background:linear-gradient(160deg,#281225,#0f0813 75%);box-shadow:0 16px 90px #000b, inset 0 0 50px rgba(112,40,70,.12)}
.guided-top{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.guided-top h2{font-family:Georgia,serif;font-weight:500;font-size:clamp(27px,5vw,42px);margin:5px 0}
.guided-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0}
.guided-item{color:#f1e5d0;display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #8c625452;background:linear-gradient(145deg,#281625,#120c17);border-radius:10px;min-height:83px;padding:13px;cursor:pointer}
.guided-item:focus-visible,.guided-item:hover,.guided-item[aria-pressed=true]{outline:2px solid #d2a36b;outline-offset:0;background:linear-gradient(145deg,#49203b,#251322)}
.guided-item strong,.guided-item small{display:block}.guided-item strong{font:17px Georgia,serif}.guided-item small{font-size:12px;line-height:1.45;color:#c2acac;margin-top:5px}.guided-item em{font-style:normal;white-space:nowrap;color:#cfa875;font-size:12px;margin-left:auto}.guided-icon{color:#d7ab73;font-size:26px}
.guided-player{border-radius:12px;background:radial-gradient(circle at 80% 0,rgba(122,65,101,.24),transparent 56%),#140b17;padding:20px;border:1px solid rgba(183,123,90,.38)}
.guided-player h3{font:26px Georgia,serif;color:#f6e3c3;margin:4px 0}.guided-time{font-variant-numeric:tabular-nums;font:42px Georgia,serif;text-align:center;padding:17px;color:#efbe79}
.guided-track{background:#4b2a36;border-radius:20px;height:7px;overflow:hidden}.guided-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,#754465,#ebbf75);transition:width .35s linear}
#guided-caption{min-height:39px;color:#d9cbb7;line-height:1.5}
@media(max-width:640px){.guided-list{grid-template-columns:1fr}.guided-top{flex-wrap:wrap}.guided-screen{padding-top:12px}.guided-item{min-height:67px}.guided-item strong{font-size:16px}.guided-shell{padding:14px}.guided-player{padding:15px}}
@media(prefers-reduced-motion:reduce){.guided-screen{backdrop-filter:none}.guided-track span{transition:none}}
/* Quiet, touch-responsive atmosphere and lightweight sharing/install controls. */
.parlor-stage{--parallax-x:0px;--parallax-y:0px}
.parlor-scene-photo{transform:scale(1.045) translate3d(var(--parallax-x),var(--parallax-y),0);transition:transform .24s ease-out}
.scene-mist{position:absolute;inset:-16%;z-index:1;pointer-events:none;overflow:hidden;opacity:.8}
.scene-mist:before,.scene-mist:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 34% 18% at 20% 66%,#d2b7d11f,transparent 95%),radial-gradient(ellipse 40% 17% at 72% 76%,#a9c3c31c,transparent 95%),radial-gradient(ellipse 38% 13% at 52% 44%,#dcb9c414,transparent 95%);animation:parlor-mist 36s ease-in-out infinite alternate;will-change:transform}
.scene-mist:after{opacity:.72;transform:scaleX(-1);animation-duration:47s;animation-direction:alternate-reverse}
.scene-mist-inside{opacity:.66}
@keyframes parlor-mist{from{transform:translate3d(-5%,2%,0)}to{transform:translate3d(7%,-4%,0)}}
.scene-fireflies{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.scene-fireflies span{position:absolute;width:5px;height:5px;border-radius:50%;background:#f6ce91;box-shadow:0 0 12px 4px #e3a85c95,0 0 28px 9px #a44b6a55;animation:parlor-spark 1.7s ease-out forwards;transform:translate(-50%,-50%);opacity:0}
@keyframes parlor-spark{12%{opacity:.9}to{opacity:0;translate:var(--spark-x) var(--spark-y);scale:.25}}
.parlor-room-header{z-index:3}
.parlor-stage-actions{position:absolute;z-index:7;right:max(14px,env(safe-area-inset-right));top:max(14px,env(safe-area-inset-top));display:flex;gap:8px}
.parlor-stage-actions button,.parlor-room-share{min-height:37px;padding:7px 11px;border:1px solid #d5ad775e;border-radius:99px;background:#190e19bd;color:#f8dfb9;font:600 11px system-ui,sans-serif;letter-spacing:.03em;backdrop-filter:blur(8px);cursor:pointer}
.parlor-room-share{min-height:40px}
.parlor-stage-actions button:hover,.parlor-room-share:hover,.utility-top-toggle:hover{border-color:#f0c78e;color:#fff1d5}
.parlor-stage-actions button:focus-visible,.parlor-room-share:focus-visible,.utility-top-toggle:focus-visible{outline:2px solid #f6d29c;outline-offset:2px}
.utility-top-toggle{font-size:11px;white-space:nowrap}
.parlor-sheet-backdrop{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;padding:18px;background:#070509c9;backdrop-filter:blur(10px)}
.parlor-sheet{width:min(100%,560px);max-height:min(88dvh,800px);overflow:auto;background:linear-gradient(165deg,#241723,#110d16);border:1px solid #b89267;border-radius:18px;color:#f4e6d5;box-shadow:0 25px 70px #000d,0 0 50px #a2674433;padding:22px;font:14px/1.55 system-ui,sans-serif}
.parlor-sheet h2{font:500 clamp(29px,5vw,42px)/1.06 Georgia,serif;color:#f7ddb2;margin:3px 0 12px}
.parlor-sheet p{color:#ddc7c1;margin:0 0 14px}
.parlor-sheet-head{display:flex;justify-content:space-between;align-items:start;gap:14px}
.parlor-sheet-close{border:0;background:transparent;color:#f3d8b1;font-size:23px;line-height:1;padding:5px 8px;cursor:pointer}
.parlor-sheet-tabs,.parlor-sheet-actions{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}
.parlor-sheet button{cursor:pointer}
.parlor-sheet-tabs button,.parlor-sheet-actions button{border:1px solid #a68363;border-radius:8px;background:#271624;color:#f5d9b4;padding:10px 13px;font:600 12px system-ui,sans-serif;min-height:42px}
.parlor-sheet-tabs button[aria-selected=true],.parlor-sheet-actions button.primary{background:#724053;border-color:#e1b37b;color:#fff4de}
.parlor-install-steps{counter-reset:install;display:grid;gap:9px;padding:0;margin:16px 0 18px;list-style:none}
.parlor-install-steps li{position:relative;padding:11px 12px 11px 44px;background:#ffffff0b;border:1px solid #b89c6e35;border-radius:9px;color:#f4e7d4}
.parlor-install-steps li:before{counter-increment:install;content:counter(install);position:absolute;left:13px;top:11px;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:#724053;color:#ffeed0;font:700 11px system-ui,sans-serif}
.parlor-sheet .parlor-sheet-note{font-size:11px;color:#bea9a7;margin:0}
.parlor-share-url{width:100%;border:1px solid #a68363;border-radius:8px;background:#100c14;color:#ffe5c7;padding:12px;font:13px system-ui,sans-serif}
.parlor-sheet button:focus-visible,.parlor-share-url:focus-visible{outline:2px solid #f6d29c;outline-offset:2px}
@media(max-width:580px){.parlor-stage-actions{top:calc(10px + env(safe-area-inset-top));right:8px}.parlor-stage-actions button{font-size:10px;padding:6px 9px}.room-audio-controls .parlor-room-share{font-size:9px;padding:8px}.utility-top-toggle{font-size:10px}.parlor-sheet{padding:18px}.parlor-sheet-backdrop{padding:11px}}
@media(prefers-reduced-motion:reduce){.parlor-scene-photo{transform:none!important;transition:none!important}.scene-mist:before,.scene-mist:after,.scene-fireflies span{animation:none!important}.scene-mist{opacity:.28}.scene-fireflies{display:none}}
.reading-voice-panel,.circle-ritual{margin-top:22px}
.reading-voice-panel{border-color:#a28257;background:radial-gradient(circle at 80% 0,rgba(204,154,94,.12),transparent 44%),linear-gradient(140deg,#28181e,#171117)}
.circle-ritual{border-color:#987452}
.circle-ritual .tarot-spread{margin:22px 0;flex-wrap:wrap}
.circle-ritual .tarot{width:155px;height:235px}
.circle-ritual .tarot small{font-size:9px;letter-spacing:.1em}
.circle-card-line{line-height:1.7;color:#d9d1c9}
.circle-candle{border:1px solid #a17b4a;border-radius:12px;padding:14px 17px;background:#3a2a20;color:#f7dfad}
.circle-whispers{border-top:1px solid #6a4b3f;margin-top:28px;padding-top:24px}
.circle-whisper{border-left:2px solid #bc9363;padding:9px 12px;margin:10px 0;background:#ffffff08;line-height:1.55}
@media(max-width:520px){.circle-ritual .tarot{width:112px;height:180px}.circle-ritual .tarot .symbol{font-size:35px}.circle-ritual .tarot .cardname{font-size:12px}}
