/* Structural scene system. Every UI color is a semantic theme token. */
html{background:var(--background-primary)}body{margin:0;background:var(--background-primary);color:var(--text-primary);transition:background-color .7s ease,color .5s ease}
.workspace{margin:0;isolation:isolate;min-height:100dvh;background:radial-gradient(ellipse at 80% 4%,var(--halo),transparent 55%),var(--background-primary)}
.workspace:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='170' height='170'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.25' d='M0 0h170v170H0z'/%3E%3C/svg%3E")}
.sanctuary-header{position:relative;z-index:10;max-width:1440px;min-height:86px;padding:10px 36px;gap:22px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--background-secondary) 60%,transparent)}.sanctuary-header .brand img{width:63px;height:63px;mix-blend-mode:normal}.sanctuary-header nav{font-size:12px;gap:24px;color:var(--text-secondary)}.sanctuary-header nav a{padding:12px 0}.sanctuary-header nav [aria-current]{color:var(--text-primary);border-color:var(--border-emphasis)}.top-tools{gap:12px}.top-tools button,.top-tools>a{color:var(--accent)}.language-label select{background:var(--surface);color:var(--text-primary)}
main{max-width:1440px;padding:38px 48px 50px;margin:auto}main:has(.illustrated-scene){max-width:1440px;padding:0}.page-footer{max-width:1440px;margin:auto;border-color:var(--border);color:var(--text-muted);padding:20px 36px}
.primary,.outline,.button,.icon-button{border-radius:999px;min-height:44px;padding:11px 24px;box-shadow:none;text-shadow:none;transition:transform .35s ease,background-color .45s ease,border-color .4s ease,box-shadow .5s ease}.primary{background:var(--accent);color:var(--button-text);border:1px solid var(--accent);font-size:13px}.primary:hover{filter:none;transform:translateY(-2px);box-shadow:0 6px 24px var(--halo);background:color-mix(in srgb,var(--accent) 90%,var(--surface-elevated))}.outline{background:color-mix(in srgb,var(--surface) 60%,transparent);color:var(--text-primary);border:1px solid var(--border)}.outline:hover{background:var(--surface-elevated);border-color:var(--border-emphasis);filter:none;box-shadow:none;transform:translateY(-2px)}button:disabled{opacity:.65}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--border-emphasis);outline-offset:4px}.text-button{color:var(--text-secondary)}.text-button:hover{color:var(--text-primary)}.glow:after{display:none}
.panel,.pack-tile,.collection-banner,.empty,.journal-details,dialog{border-radius:18px;background:var(--surface);border-color:var(--border);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--surface-elevated) 30%,transparent)}.muted,.eyebrow,.row-meta,.row-notes{color:var(--text-muted)}.eyebrow{letter-spacing:1.6px}.prose,.meaning-copy p{font:14px/1.95 var(--sans);color:var(--text-primary)}.meaning-copy h4{color:var(--text-secondary);font:12px/1.8 var(--sans)}.meaning-copy{max-width:560px;margin:auto}.meaning-keywords{color:var(--text-secondary)}
input,textarea,select,.searchbox{border-radius:12px;background:var(--surface-elevated);color:var(--text-primary);border-color:var(--border)}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:1}input:focus,textarea:focus,select:focus{border-color:var(--border-emphasis);box-shadow:0 0 0 3px var(--halo)}input[type=checkbox]{accent-color:var(--accent)}input[type=range]{accent-color:var(--accent);min-height:26px;width:100%;cursor:pointer}.check input{border-radius:5px;border-color:var(--border-emphasis)}.check input:checked{background:var(--accent);box-shadow:inset 0 0 0 3px var(--surface)}.check{color:var(--text-secondary)}
.illustrated-scene{position:relative;isolation:isolate;overflow:hidden;background:var(--background-primary);border:0}
.sanctuary-scene{min-height:760px;display:grid;grid-template-columns:minmax(270px,1fr) minmax(320px,1.22fr) minmax(190px,.65fr);grid-template-rows:1fr auto;gap:30px;padding:76px 55px 34px;align-items:center}.sanctuary-opening{align-self:start;padding-top:35px;z-index:2}.sanctuary-opening h1{color:var(--text-hero);font:clamp(32px,3.5vw,48px)/1.6 var(--serif);margin:24px 0 23px;letter-spacing:0}.sanctuary-opening p{color:var(--text-secondary);font:14px/2 var(--sans);max-width:310px}.sanctuary-altar{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:center;padding-top:42px;min-height:550px;grid-column:2;grid-row:1/3;z-index:1}.featured-card{width:195px;max-width:55%;border-radius:8px;rotate:-6deg;box-shadow:0 22px 55px color-mix(in srgb,var(--shadow) 48%,transparent),0 0 65px var(--halo);animation:room-breath 9s ease-in-out infinite}.card-halo{position:absolute;width:325px;height:325px;border:1px solid color-mix(in srgb,var(--border-emphasis) 35%,transparent);border-radius:50%;top:70px;transform:rotateX(12deg);pointer-events:none}.card-halo:after{content:'';position:absolute;inset:-17px;border-radius:50%;border:1px dashed color-mix(in srgb,var(--border-emphasis) 20%,transparent)}.altar-caption{font:8px/1.8 var(--sans);letter-spacing:2px;color:var(--text-secondary);margin:36px 0 22px;text-align:center;background:color-mix(in srgb,var(--background-primary) 82%,transparent);border-radius:20px;padding:5px 14px}.altar-action .primary{min-width:218px;box-shadow:0 6px 35px var(--halo)}.sanctuary-whisper{grid-column:1;grid-row:2;max-width:280px;padding-bottom:20px}.sanctuary-whisper p{color:var(--text-secondary);font:italic 15px/2 var(--serif);margin:16px 0}.whisper-line{display:flex;align-items:center;gap:14px;color:var(--accent)}.whisper-line:before,.whisper-line:after{content:'';height:1px;width:55px;background:var(--border)}.memory-shelf{grid-column:3;grid-row:1/3;align-self:end;z-index:2;background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid var(--border);border-radius:18px;padding:24px 20px;margin-bottom:35px;box-shadow:0 10px 35px color-mix(in srgb,var(--shadow) 12%,transparent)}.memory-shelf .section-title{display:block}.memory-shelf h2{font-size:22px;margin-bottom:12px}.memory-shelf .section-title>a,.shelf-link{font-size:11px;color:var(--text-secondary)}.memory-shelf>p{font:italic 14px/2 var(--serif);color:var(--text-secondary);padding:18px 0}.memory-shelf .reading-row{display:block;padding:18px 0}.memory-shelf .row-date{display:flex;gap:7px;align-items:center;border:0;padding:0;text-align:left}.memory-shelf .row-date strong{font-size:19px}.memory-shelf .mini-cards{display:none}.memory-shelf .row-copy{margin-top:10px}.memory-shelf .row-title{font-size:16px;line-height:1.6}.memory-shelf .row-notes,.memory-shelf .row-arrow{display:none}.scene-signature{position:absolute;bottom:23px;left:55px;font-size:9px;letter-spacing:2px;color:var(--text-muted)}
@keyframes room-breath{50%{translate:0 -7px;rotate:-5deg}}
.ritual-page{max-width:none;min-height:740px;padding:26px 50px 60px}.ritual-utility{position:relative;z-index:2;margin-bottom:28px;align-items:center}.ritual-utility .eyebrow{font-size:9px}.ritual-title h1{color:var(--text-hero);font-size:35px;line-height:1.55;margin-top:15px}.ritual-title>p{color:var(--text-secondary);font-size:14px}.celestial-divider{color:var(--accent);width:180px;margin:0 0 24px;gap:12px}.celestial-divider i{background:var(--border-emphasis);opacity:.5}.celestial-divider span{font-size:18px}.ritual-choice{border:1px solid var(--border);color:var(--text-primary);background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:none;border-radius:999px;transition:translate .35s ease,border-color .4s ease,background .4s ease,box-shadow .5s ease}.ritual-choice:hover{translate:0 -3px;filter:none;background:var(--surface-elevated);border-color:var(--border-emphasis);box-shadow:0 8px 25px var(--halo)}.choice-glyph{color:var(--accent)}.choice-arrow{color:var(--text-secondary);margin-left:auto}.scene-sigil{width:36px;height:36px}.choice-glyph .scene-sigil{width:32px;height:32px}.ritual-choice.selected,.ritual-choice[aria-pressed=true]{border-color:var(--border-emphasis);background:var(--surface-elevated)}.ritual-intention #reading-form{display:grid;grid-template-columns:.7fr 1.3fr;gap:15px 55px}.ritual-intention .ritual-title{grid-column:2;text-align:left;margin:20px 0 15px;max-width:none}.intention-scene{display:contents}.intention-emblem{grid-column:1;grid-row:1/3;align-self:end;text-align:left;max-width:260px;margin:0 0 45px 10px}.path-light .scene-sigil{width:70px;height:70px;color:var(--accent);opacity:.65}.intention-emblem p{font:italic 17px/1.9 var(--serif);color:var(--text-secondary);padding:18px 22px;background:color-mix(in srgb,var(--surface) 94%,transparent);border-radius:16px;margin-top:20px}.intention-grid{grid-column:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;margin:0}.intention-grid .ritual-choice{min-height:66px;padding:13px 22px;font-size:15px;gap:12px;text-align:left}.intention-grid .ritual-choice:first-child{grid-column:1/-1;max-width:400px;width:100%;justify-self:center;font-size:18px;margin-bottom:5px;min-height:72px}.ritual-spread #reading-form{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px 45px;align-items:start}.ritual-spread .ritual-title{grid-column:1;grid-row:1/3;text-align:left;margin:35px 0 0;position:sticky;top:30px}.ritual-spread .ritual-title h1{font-size:32px}.spread-workspace-label{grid-column:2;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding:18px 6px;font-size:10px;letter-spacing:1px;color:var(--text-secondary)}.spread-grid{grid-column:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:0;max-width:none}.spread-grid .ritual-choice{display:flex;flex-direction:column;min-height:159px;padding:20px 12px 17px;border-radius:17px;gap:16px;text-align:center;font-size:14px;background:var(--surface)}.spread-grid .choice-glyph{width:100%}.spread-pattern{display:block;width:120px;height:73px;color:var(--accent);margin:auto}.spread-grid .ritual-choice:hover .spread-pattern{translate:0 -3px;transition:translate .4s}.ritual-spread #reading-form>.text-button{grid-column:1;align-self:end}.ritual-spread .ritual-narrow{grid-column:2}.ritual-question .ritual-title{text-align:left;max-width:620px;margin:45px auto 30px}.ritual-narrow{max-width:620px}.ritual-narrow textarea{min-height:180px;padding:22px;font:16px/1.9 var(--serif)}.ritual-method .ritual-title{text-align:center;margin:30px auto 45px}.ritual-method .celestial-divider{margin-left:auto;margin-right:auto}.deck-companion{max-width:620px;margin:0 auto 35px;border-bottom:1px solid var(--border);padding-bottom:28px}.method-grid{max-width:740px;margin:auto}.method-grid .ritual-choice{min-height:78px}.ritual-method .ritual-check{max-width:740px;margin:25px auto}.ritual-method .journal-details{max-width:740px;margin:25px auto}
.workspace[data-phase=draw] .sanctuary-header nav,.workspace[data-phase=draw] .sound-toggle,.workspace[data-phase=draw] .top-tools>a,.workspace[data-phase=draw] .language-label{display:none}.workspace[data-phase=draw] .sanctuary-header{min-height:67px;background:transparent;border-bottom:0}.workspace[data-phase=draw] .brand img{width:48px;height:48px}.workspace[data-phase=draw] .page-footer{display:none}.ritual-draw{min-height:calc(100dvh - 67px);padding-top:12px;display:flex;flex-direction:column}.ritual-draw #reading-form{flex:1;display:flex;flex-direction:column;align-items:center}.ritual-draw .ritual-utility .eyebrow{display:none}.ritual-draw .ritual-title{text-align:center;margin:10px auto 30px;max-width:650px}.ritual-draw .celestial-divider{margin:auto auto 22px}.ritual-draw h1{font-size:30px;margin:14px 0}.draw-counter{font:11px var(--sans);letter-spacing:3px}.draw-breath{color:var(--text-secondary);font:italic 14px var(--serif)}.ritual-deck{position:relative;width:100%;height:340px;max-width:730px;margin:10px auto 0}.ritual-deck:before{content:'';position:absolute;inset:0 40px;border-radius:50%;border:1px solid color-mix(in srgb,var(--border-emphasis) 30%,transparent);transform:rotateX(45deg);pointer-events:none}.fan-choice{box-shadow:none}.fan-choice img{border:1px solid var(--border-emphasis);border-radius:9px;box-shadow:0 12px 35px color-mix(in srgb,var(--shadow) 35%,transparent)}.fan-choice:hover img,.fan-choice:focus-visible img{box-shadow:0 15px 35px color-mix(in srgb,var(--shadow) 35%,transparent),0 0 28px var(--halo)}.selected-slots{margin-top:18px}.selected-slot{color:var(--text-secondary);border-color:var(--border)}.selected-slot.filled{background:var(--surface-elevated);border-color:var(--border-emphasis);color:var(--accent)}
.ritual-result .meaning-copy{padding:0 8px}.ritual-result .reveal-art{--turn:0deg;animation:gentle-reveal .7s cubic-bezier(.2,.65,.3,1) both}.ritual-result .reveal-art.reversed{--turn:180deg}.ritual-result.is-revealed{animation:scene-settle .6s ease both}.ritual-result{background:none}.ritual-result h3{font-size:27px}.ritual-result .card-stage img{box-shadow:0 12px 32px color-mix(in srgb,var(--shadow) 25%,transparent)}.ritual-result .card-stage{margin:25px auto}.ritual-result .card-stage .reveal-button{background:none}.ritual-results>.ritual-title p{max-width:640px;margin:15px auto;line-height:1.9}.ritual-result .prompt,.saved-cards .prompt{border:0;border-left:1px solid var(--border);padding-left:16px;margin:23px 0}.prompt summary{color:var(--text-secondary);font-size:12px}.reference-details{border-color:var(--border)}.original-intention{background:var(--surface);border-left:2px solid var(--border-emphasis);border-radius:0 16px 16px 0;padding:20px 24px;max-width:800px;margin:26px 0}.original-intention p{margin:12px 0 0;color:var(--text-primary);line-height:1.95}.page-heading h1{font-size:32px;line-height:1.5;max-width:850px;overflow-wrap:anywhere}.saved-cards .drawn-card{border-radius:16px;background:var(--surface);padding:30px}.journal-spread-ornament{display:flex;justify-content:flex-end;border-top:1px solid var(--border);height:40px;margin:26px 0}.journal-spread-ornament .scene-sigil{width:48px;height:48px;color:var(--accent);background:var(--background-primary);padding:8px;translate:0 -24px;border-radius:50%}
.calendar-day{border-radius:12px;color:var(--text-primary)}.calendar-day.selected{border-radius:12px;outline:0;background:var(--surface-elevated);border:1px solid var(--border-emphasis);box-shadow:none}.calendar-day:hover{background:var(--surface-elevated)}.day-markers{color:var(--accent)}.calendar-day small,.calendar-week,.bar-row{color:var(--text-secondary)}.collection-banner{background:var(--background-secondary);color:var(--text-primary)}.collection-banner .eyebrow,.collection-banner .pill{color:var(--text-secondary)}.collection-banner p{color:var(--text-muted)}.theme-swatch{border-radius:12px;border:1px solid var(--border);background:var(--background-secondary)}.theme-tile:hover{border-color:var(--border-emphasis);box-shadow:none}.reading-row:hover{background:var(--surface)}.reading-row{border-color:var(--border);border-radius:12px}.row-title{line-height:1.6}.gallery-card:hover img{box-shadow:0 8px 25px var(--halo)}.bar-track{background:var(--background-secondary)}.bar-track i{background:var(--accent)}.pack-tile .pill{color:var(--text-secondary)}
.music-toggle{font-size:15px;border:1px solid var(--border);border-radius:999px;padding:6px 12px;min-height:35px}.music-toggle span{font:9px var(--sans);letter-spacing:1px}.music-toggle.is-playing{background:var(--surface-elevated)}.ambient-player{position:fixed;z-index:90;right:28px;top:87px;width:320px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 108px);overflow:auto;padding:22px;background:var(--surface-elevated);color:var(--text-primary);border:1px solid var(--border-emphasis);border-radius:20px;box-shadow:0 16px 50px color-mix(in srgb,var(--shadow) 26%,transparent);animation:scene-settle .35s ease}.player-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.player-heading button{min-height:30px;padding:0 10px;font-size:23px}.ambient-player h3{font-size:23px;margin-bottom:6px}.room-name{font-size:12px;color:var(--text-secondary)}.player-controls{display:flex;align-items:center;gap:10px;padding:12px 0 20px;border-bottom:1px solid var(--border);margin-bottom:17px}.player-controls button{padding:7px 12px}.player-play{flex:1}.player-controls time{font-size:10px;color:var(--text-muted);font-variant-numeric:tabular-nums}.ambient-player label{font-size:12px;color:var(--text-secondary)}.player-options{display:grid;gap:11px;border-top:1px solid var(--border);padding-top:15px;margin-top:12px}.player-options .check{margin:0;display:flex;gap:9px;align-items:center}.ambient-player select{width:100%;margin-top:8px}.ambient-player>label{display:block}dialog.music-consent{width:min(420px,calc(100vw - 32px));padding:36px 30px;text-align:center;border-radius:22px}.consent-star{display:block;color:var(--accent);font-size:30px;margin-bottom:20px}.music-consent h2{font-size:25px;line-height:1.6;color:var(--text-primary)}.music-consent p{font-size:13px;color:var(--text-secondary)}.music-consent .button-row{justify-content:center;margin-top:25px;gap:12px}dialog::backdrop{background:color-mix(in srgb,var(--shadow) 65%,transparent);backdrop-filter:blur(4px)}#toast{background:var(--surface-elevated);color:var(--text-primary);border-color:var(--border-emphasis);box-shadow:0 8px 30px color-mix(in srgb,var(--shadow) 20%,transparent)}
.ambient-dust{z-index:0;opacity:.55}.ambient-dust i{background:var(--accent-soft);box-shadow:none;animation-duration:28s;opacity:.18}.transition-in{animation:scene-settle .5s ease both}.transition-in:before,.transition-in:after{display:none!important}.still .ambient-dust{display:none}body[data-particles=none] .ambient-dust{display:none}
@keyframes scene-settle{from{opacity:.2;translate:0 7px}to{opacity:1;translate:0 0}}@keyframes gentle-reveal{from{opacity:0;transform:rotate(var(--turn)) rotateY(80deg)}to{opacity:1;transform:rotate(var(--turn)) rotateY(0)}}
@media(max-width:1100px){.sanctuary-scene{grid-template-columns:1fr 1.2fr;min-height:790px;padding:40px 40px 45px;gap:20px}.sanctuary-altar{grid-column:2;grid-row:1/3;align-self:start;padding-top:60px}.memory-shelf{grid-column:1;grid-row:2;align-self:end;margin:10px 0 0;max-width:340px}.sanctuary-whisper{grid-column:2;grid-row:3;max-width:320px;margin:0 auto;padding:0}.scene-signature{left:40px}.sanctuary-opening h1{font-size:38px}.sanctuary-opening{padding-top:12px}.ritual-spread #reading-form{grid-template-columns:200px 1fr;gap:20px}.spread-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ritual-spread .ritual-title h1{font-size:27px}.sanctuary-header{padding:10px 25px}.sanctuary-header nav{gap:17px;font-size:11px}.ritual-intention #reading-form{gap:10px 30px;grid-template-columns:.5fr 1fr}.ritual-title h1{font-size:30px}}
@media(max-width:760px){.sanctuary-header{padding:10px 20px;gap:8px;flex-wrap:wrap;min-height:90px}.sanctuary-header .brand img{width:55px;height:55px}.sanctuary-header nav{order:3;width:100%;justify-content:space-between;gap:12px;overflow:auto;font-size:11px}.top-tools{gap:10px}.sanctuary-header .language-label select{max-width:108px}.music-toggle span{display:none}main{padding:30px 20px 40px}.sanctuary-scene{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto auto;min-height:0;padding:38px 24px 48px;gap:20px}.sanctuary-opening{grid-row:1;grid-column:1;padding:0;max-width:350px}.sanctuary-opening h1{font-size:33px;margin:15px 0;line-height:1.5}.sanctuary-opening p{font-size:13px}.sanctuary-altar{grid-column:1;grid-row:2;min-height:460px;padding-top:30px;margin-top:0}.featured-card{width:175px;max-width:60%}.card-halo{width:280px;height:280px;top:45px}.altar-caption{margin:29px 0 18px}.altar-action .primary{min-width:230px}.sanctuary-whisper{grid-column:1;grid-row:3;max-width:none;width:100%;padding:0;margin:0}.sanctuary-whisper p{font-size:14px;margin:12px 0}.memory-shelf{grid-column:1;grid-row:4;max-width:none;margin:0;padding:23px}.memory-shelf .section-title{display:flex;align-items:center}.memory-shelf h2{margin:0;font-size:22px}.memory-shelf .reading-row{display:flex;gap:16px}.memory-shelf .row-copy{margin:0}.memory-shelf .row-date{display:grid;min-width:55px}.scene-signature{display:none}.ritual-page{padding:24px 20px 40px;min-height:780px}.ritual-utility{margin-bottom:25px}.ritual-title h1{font-size:29px}.ritual-intention #reading-form{display:block}.ritual-intention .ritual-title{margin:22px 0 30px}.intention-emblem{display:none}.intention-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.intention-grid .ritual-choice{padding:12px 15px;font-size:14px;min-height:68px;gap:10px}.intention-grid .ritual-choice:first-child{max-width:none;font-size:18px}.ritual-spread #reading-form{display:block}.ritual-spread .ritual-title{position:static;margin:20px 0 28px;text-align:left;max-width:none}.spread-workspace-label{margin-bottom:18px}.spread-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.spread-grid .ritual-choice{min-height:155px;font-size:13px;padding:17px 9px}.spread-pattern{width:100px;height:74px}.ritual-spread #reading-form>.text-button{margin-top:30px}.ritual-draw{min-height:calc(100dvh - 67px);padding:10px 20px 30px}.workspace[data-phase=draw] .sanctuary-header{justify-content:space-between;flex-wrap:nowrap}.ritual-draw .ritual-title{margin-top:35px;margin-bottom:30px}.ritual-draw h1{font-size:27px}.ritual-deck{height:305px;max-width:100%;margin-top:30px}.fan-choice{width:105px;left:calc(50% - 52px);transform:translateX(calc(var(--slot)*29px)) translateY(calc(var(--slot)*var(--slot)*4px)) rotate(calc(var(--slot)*7deg))}.fan-choice:hover,.fan-choice:focus-visible{transform:translateX(calc(var(--slot)*29px)) translateY(calc(var(--slot)*var(--slot)*4px - 12px)) rotate(calc(var(--slot)*7deg))}.fan-choice.picked{transform:translateY(-15px) scale(1.05)}.ritual-deck:before{inset:0 -8px}.ritual-question .ritual-title{margin:30px 0}.ritual-narrow textarea{min-height:200px}.deck-companion h2{font-size:21px}.ritual-result h3{font-size:26px}.saved-cards .drawn-card{padding:25px 20px}.page-heading h1{font-size:28px}.ambient-player{right:16px;top:84px}.calendar-panel{padding:18px 10px}.calendar-day.selected{border-radius:10px}.card-gallery{gap:22px 13px}.original-intention{padding:20px}.player-options{gap:13px}}
@media(max-width:430px){.intention-grid{grid-template-columns:1fr}.intention-grid .ritual-choice:first-child{grid-column:auto}.intention-grid .ritual-choice{min-height:62px}.sanctuary-header nav{font-size:10px;gap:8px}.ritual-utility .eyebrow{max-width:170px;font-size:8px}.method-grid{grid-template-columns:1fr}.music-consent .button-row{flex-wrap:wrap}.pack-grid{grid-template-columns:1fr}.ritual-title h1{font-size:27px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.ambient-dust{display:none}}

@media(min-width:1101px){.sanctuary-scene{min-height:calc(100dvh - 86px);padding:38px 55px 30px;gap:24px}.sanctuary-altar{min-height:500px;padding-top:0}.featured-card{width:183px}.card-halo{top:42px;width:305px;height:305px}.altar-caption{margin:27px 0 16px}.sanctuary-opening{padding-top:35px}.memory-shelf{margin-bottom:25px}}@media(max-width:760px){}
@media(min-width:761px){.ritual-intention .ritual-utility{margin-bottom:10px}.ritual-intention .ritual-title{margin:8px 0}.ritual-intention .celestial-divider{margin-bottom:12px;line-height:1}.ritual-intention .ritual-title h1{font-size:30px;margin:10px 0}.ritual-intention .ritual-title p{margin:10px 0}.intention-grid{gap:9px}.intention-grid .ritual-choice{min-height:54px;padding:8px 20px}.intention-grid .ritual-choice:first-child{min-height:60px;margin-bottom:0}}
@media(min-width:761px){.intention-grid{gap:7px}.intention-grid .ritual-choice{min-height:50px;padding:6px 20px}.intention-grid .ritual-choice:first-child{min-height:54px}}
/* Wide screens keep the room at a composed height, independent of monitor height. */
@media(min-width:1101px){
 .sanctuary-scene{min-height:clamp(620px,calc(100dvh - 86px),760px);grid-template-rows:minmax(350px,1fr) auto;align-content:center}
 .sanctuary-altar{align-self:center;min-height:500px}
 .featured-card{width:clamp(183px,15.5vw,220px)}
 .card-halo{width:330px;height:330px;top:30px}
 .ambient-player{right:max(28px,calc((100vw - 1440px)/2 + 28px))}
}
@media(min-width:1101px){.workspace[data-route=home] main{flex:none}.workspace[data-route=home]{min-height:0}}
@media(min-width:1101px){.workspace[data-route=home] main{min-height:0}}
/* V3: framed ritual room, comfortable type, sequential reading spreads. */
.workspace{width:calc(100% - 48px);max-width:1440px;margin:24px auto;border:1px solid var(--border-emphasis);border-radius:22px;box-shadow:0 0 0 4px var(--background-primary),0 0 0 5px var(--border),0 20px 70px color-mix(in srgb,var(--shadow) 25%,transparent)}
.sanctuary-header{border-radius:22px 22px 0 0}.illustrated-scene:after{content:'';position:absolute;inset:10px;border:1px solid color-mix(in srgb,var(--border-emphasis) 40%,transparent);border-radius:16px;pointer-events:none;z-index:0}.illustrated-scene #reading-form,.ritual-utility{position:relative;z-index:1}.sanctuary-scene{border-radius:0 0 20px 20px}
.sanctuary-header nav{font-size:14px}.eyebrow,.position-label,.row-meta,.scene-signature,.altar-caption,.ritual-utility .eyebrow,.music-toggle span{font-size:12px;letter-spacing:1px}.sanctuary-opening p,.sanctuary-whisper p,.memory-shelf>p{font-size:16px}.primary,.outline,.text-button,.shelf-link,.memory-shelf .section-title>a{font-size:14px}.prose,.meaning-copy p{font-size:17px;line-height:1.9}.meaning-copy h4,label,summary,.reference-note,.room-name,.ambient-player label{font-size:14px}.page-heading h1{font-size:38px}.ritual-title>p,.ritual-title .draw-counter,.draw-breath{font-size:16px}.orientation-control select,.reading-tags,.pill,.row-date span{font-size:13px}.ritual-choice{font-size:17px}.intention-grid .ritual-choice{font-size:17px}.player-controls time{font-size:12px}.choice-glyph .scene-sigil{opacity:1}.scene-sigil{opacity:1}
.card-halo{border-color:color-mix(in srgb,var(--border-emphasis) 55%,transparent);box-shadow:0 0 75px color-mix(in srgb,var(--glow) 18%,transparent);animation:halo-breathe 7s ease-in-out infinite}.card-halo:after{animation:orbit-travel 80s linear infinite}.featured-card{box-shadow:0 20px 45px color-mix(in srgb,var(--shadow) 40%,transparent),0 0 60px color-mix(in srgb,var(--glow) 24%,transparent)}.primary{position:relative;overflow:hidden;box-shadow:0 0 25px var(--halo)}.primary:after{content:'';position:absolute;inset:-50% -80%;background:linear-gradient(110deg,transparent 40%,color-mix(in srgb,var(--accent-soft) 23%,transparent) 50%,transparent 60%);translate:-60% 0;animation:quiet-shimmer 9s ease-in-out infinite;pointer-events:none}.ritual-choice:hover,.ritual-choice:focus-visible{box-shadow:0 0 26px color-mix(in srgb,var(--glow) 20%,transparent)}.ambient-dust{z-index:2;opacity:.8;pointer-events:none}.ambient-dust i{width:3px;height:3px;opacity:.5;background:var(--accent);box-shadow:0 0 8px var(--glow)}.fan-choice:hover,.fan-choice:focus-visible{z-index:12;filter:drop-shadow(0 0 14px var(--glow))}.ritual-deck:before{box-shadow:0 0 65px color-mix(in srgb,var(--glow) 20%,transparent)}
@keyframes halo-breathe{50%{box-shadow:0 0 95px color-mix(in srgb,var(--glow) 28%,transparent);opacity:.8}}@keyframes orbit-travel{to{rotate:360deg}}@keyframes quiet-shimmer{0%,65%{translate:-60% 0}100%{translate:60% 0}}
/* The page phase and card component have separate classes; never narrow long prose into parallel columns. */
.ritual-page.ritual-result{width:100%;max-width:none;min-height:0;padding:28px 44px 50px}.ritual-results{max-width:1060px;margin:0 auto}.ritual-results>.ritual-title{max-width:800px;margin:20px auto 35px}.ritual-results .ritual-title h2{font-size:34px;line-height:1.5;margin:16px 0}.result-intention{font-size:17px;line-height:1.9;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;margin:22px 0 0;padding:18px 24px;border-left:2px solid var(--border-emphasis);border-radius:0 14px 14px 0;background:var(--surface)}.result-metadata{color:var(--text-secondary)}
.ritual-results>.drawn-grid,.drawn-grid.saved-cards{display:flex;flex-direction:column;gap:26px;max-width:1060px;margin:0 auto 35px}.drawn-grid>.reading-card{display:grid;grid-template-columns:240px minmax(0,1fr);gap:36px;width:100%;max-width:none;margin:0;padding:30px;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--surface) 96%,transparent);text-align:left}.reading-visual{text-align:center;min-width:0}.reading-visual .card-stage{min-height:0;padding:8px 0 20px}.reading-visual .card-art{width:180px}.reading-visual h3{font:28px/1.5 var(--serif);margin:18px 0 0}.reading-visual .position-label{font-size:14px;line-height:1.6;min-height:0;margin:0 0 18px}.reading-interpretation{align-self:center;min-width:0}.reading-interpretation .meaning-copy{max-width:none;margin:0;text-align:left}.reading-interpretation .keywords{text-align:left;font-size:15px;line-height:1.8;margin:0 0 22px;color:var(--accent)}.reading-interpretation h4{font-size:15px;margin:20px 0 10px}.reading-interpretation p{margin:0 0 18px}.reading-interpretation summary{font-size:14px}.reveal-invitation{font:italic 20px/1.9 var(--serif);color:var(--text-secondary);text-align:center}.reading-card.is-revealed .reading-interpretation{animation:scene-settle .65s ease both}.reading-card.is-veiled{background:color-mix(in srgb,var(--surface) 60%,transparent)}.saved-cards .drawn-card{padding:30px}.reading-card .reveal-button span{font-size:14px}.original-intention{max-width:1060px;margin-left:auto;margin-right:auto}
@media(max-width:1100px){.sanctuary-header nav{font-size:13px;gap:16px}.sanctuary-opening h1{font-size:36px}.altar-caption{font-size:11px}.ritual-title h1{font-size:32px}}
@media(max-width:760px){.workspace{width:calc(100% - 16px);margin:8px auto;border-radius:18px}.sanctuary-header{padding:10px 15px}.sanctuary-header nav{font-size:12px;gap:14px;justify-content:flex-start}.ritual-utility .eyebrow{font-size:11px;max-width:190px}.sanctuary-opening h1{font-size:32px}.sanctuary-opening p{font-size:15px}.intention-grid .ritual-choice{font-size:16px}.ritual-page.ritual-result{padding:24px 18px 36px}.ritual-results .ritual-title h2{font-size:28px}.drawn-grid>.reading-card,.saved-cards .drawn-card{grid-template-columns:1fr;gap:22px;padding:24px 20px}.reading-interpretation .meaning-copy p{font-size:16px}.result-intention{padding:18px;font-size:16px}.reading-visual .card-art{width:175px}.ambient-player{top:85px}.page-heading h1{font-size:30px}.scene-signature{display:none}.illustrated-scene:after{inset:7px}}
.still .card-halo,.still .card-halo:after,.still .primary:after{animation:none}.still .primary:after{display:none}
@media(prefers-reduced-motion:reduce){.card-halo,.card-halo:after,.primary:after{animation:none!important}.ambient-dust{display:none}}
.spread-grid .ritual-choice{font-size:16px}.spread-workspace-label{font-size:12px}.page-heading>p,.collection-banner p,.pack-tile p,.calendar-week{font-size:14px}.gallery-card>span{font-size:15px}.row-title{font-size:18px}.saved-cards .reading-visual .card-stage{min-height:0}.ritual-results .reading-card .card-stage{min-height:0}
.reading-card .card-stage{margin:0}.reading-card.is-revealed .reading-visual{border-radius:14px;animation:reveal-warmth .9s ease}.reading-visual .reveal-button{border:0;background:none}.reading-card .meaning-copy{padding:0}
@keyframes reveal-warmth{40%{box-shadow:0 0 45px color-mix(in srgb,var(--glow) 18%,transparent)}}

/* Live light belongs behind content; particles never capture interaction. */
.ambient-dust i:nth-child(n){display:block;animation:room-dust 22s ease-in-out infinite;animation-delay:calc(var(--i)*-1.7s);opacity:.55}.ambient-dust i:nth-child(3n){width:2px;height:2px;animation-duration:29s}.ambient-dust i:nth-child(7n){width:5px;height:5px;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%)}
.ritual-choice:focus-visible,.ritual-choice.selected,.ritual-choice[aria-pressed=true]{border-color:var(--border-emphasis);box-shadow:inset 0 0 22px color-mix(in srgb,var(--glow) 10%,transparent),0 0 28px color-mix(in srgb,var(--glow) 24%,transparent)}.ritual-choice:active{box-shadow:0 0 38px color-mix(in srgb,var(--glow) 32%,transparent);transition:box-shadow .25s ease}
.fan-choice.picked{z-index:15;filter:drop-shadow(0 0 22px var(--glow))}.fan-choice.picked:after{inset:0;border-color:var(--accent-soft);box-shadow:0 0 30px color-mix(in srgb,var(--glow) 38%,transparent);animation:chosen-bloom .42s ease-out both}.selected-slot.filled{box-shadow:0 0 18px color-mix(in srgb,var(--glow) 22%,transparent)}
@keyframes room-dust{0%,100%{translate:0 12px;opacity:.15}40%{opacity:.65}60%{translate:16px -32px;opacity:.5}}
@keyframes study-light{50%{translate:-3% 2%;opacity:.45}}
@keyframes chosen-bloom{from{opacity:.15}50%{opacity:1}to{opacity:.45}}.still .fan-choice.picked:after{animation:none}.still .ambient-dust{display:none}
@media(max-width:760px){.ambient-dust i:nth-child(n+15){display:none}}
@media(prefers-reduced-motion:reduce){.ambient-dust{display:none}}
.page-footer{font-size:12px;line-height:1.7}.calendar-day small{font-size:12px}
