:root{--background-primary:#3b2d26;--background-secondary:#443329;--surface:#4c3a30;--surface-elevated:#594437;--text-primary:#f4e8d7;--text-secondary:#dfceb9;--text-muted:#c9b49d;--text-hero:#f8ebd6;--border:#7d6552;--border-emphasis:#c6a882;--accent:#d4b68c;--accent-soft:#e7d0ac;--glow:#c5a373;--shadow:#281e19;--button-text:#382a23}
/* Consolidated functional components. Color values come only from theme.js. */
:root{font-family:"Segoe UI","Microsoft JhengHei","Yu Gothic",sans-serif;font-synthesis:none;--serif:"Palatino Linotype",Georgia,"Noto Serif TC","Yu Mincho",serif;--sans:"Segoe UI","Microsoft JhengHei","Yu Gothic",sans-serif}
body{--background:var(--background-primary);--text:var(--text-primary);--muted:var(--text-muted);--gold:var(--accent);--line:var(--border);--halo:color-mix(in srgb,var(--glow) 12%,transparent);--vignette:color-mix(in srgb,var(--shadow) 12%,transparent)}

*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--text);font-size:14px;line-height:1.65}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button:disabled{cursor:default;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button{border:0;background:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.35}h1{font-size:36px;letter-spacing:-.7px;margin-bottom:12px}h2{font-size:24px;margin-bottom:18px}h3{font-size:19px;margin-bottom:10px}p{line-height:1.9}img{max-width:100%;display:block}small{font-size:11px}.muted{color:var(--muted);font-size:13px}.eyebrow{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);font-weight:600}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:-100px;z-index:100;padding:12px;background:var(--surface)}.skip:focus{top:0}
.sidebar{width:236px;position:fixed;inset:0 auto 0 0;padding:38px 23px 22px;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:12px;align-items:center;margin-bottom:52px}.brand img{width:47px;height:62px;object-fit:cover;border-radius:25px}.brand>span{font:25px/1.07 var(--serif);letter-spacing:-.8px}.brand small{display:block;font:8px/1.4 "Segoe UI",sans-serif;letter-spacing:2px;margin-top:12px;color:var(--muted)}.nav-label{font-size:8px;letter-spacing:2px;color:var(--muted);margin:0 14px 15px}nav{display:grid;gap:7px}.nav-item{display:flex;align-items:center;gap:13px;padding:11px 13px;font-size:13px;border:1px solid transparent;border-radius:5px;color:var(--muted);transition:background .2s}.nav-item>span{font-size:21px;width:22px;text-align:center;line-height:1}.nav-item small{margin-left:auto;font-family:var(--serif);font-size:14px}.nav-item:hover{background:color-mix(in srgb,var(--surface) 8%,transparent)}.nav-item.active{background:var(--surface);color:var(--text-primary);border-color:var(--border);box-shadow:0 3px 12px color-mix(in srgb,var(--shadow) 2%,transparent)}.sidebar-foot{margin-top:auto;padding-top:38px}.tiny-star{text-align:center;font-size:28px;color:var(--text-primary)}.sidebar-foot>p{font:italic 13px/1.8 var(--serif);text-align:center;color:var(--muted);margin:12px 13px 25px}.sidebar-foot .nav-item{font-size:11px;padding-left:8px}.private-indicator{margin:20px 8px 0;font-size:9px;color:var(--muted);display:flex;gap:8px;align-items:center}.private-indicator i{height:5px;width:5px;border-radius:50%;background:var(--surface)}.workspace{margin-left:236px;min-height:100vh}.topbar{height:80px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 44px;gap:20px}.breadcrumb{font-size:10px;letter-spacing:1px;color:var(--muted)}.breadcrumb span{padding:0 16px;color:var(--text-primary)}.top-tools{display:flex;align-items:center;gap:24px}.date-label{font-size:11px;color:var(--muted)}.language-label select{font-size:11px;padding:7px 28px 7px 12px;background:transparent;border-color:var(--line)}main{max-width:1520px;padding:36px 44px 60px;margin:auto;min-height:calc(100vh - 150px)}.page-footer{display:flex;justify-content:space-between;gap:20px;padding:20px 44px;border-top:1px solid var(--line);font-size:9px;letter-spacing:1px;color:var(--muted)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:8px 0 32px}.page-heading .eyebrow{display:block;margin-bottom:12px}.page-heading p{font-size:13px;color:var(--muted);margin-bottom:0;max-width:650px}.page-heading h1{font-size:32px}.button-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.primary,.outline,.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:43px;padding:10px 22px;border-radius:4px;border:1px solid var(--border);font-size:12px;letter-spacing:.5px;position:relative;text-align:center;transition:background .2s,transform .2s}.primary{background:var(--surface);color:var(--text-primary);border-color:var(--border);box-shadow:0 4px 15px color-mix(in srgb,var(--shadow) 4%,transparent)}.primary:hover{background:var(--surface);transform:translateY(-1px)}.outline{background:transparent;color:var(--text);border-color:var(--line)}.outline:hover{background:color-mix(in srgb,var(--surface) 6%,transparent);border-color:var(--gold)}.text-button{font-size:12px;padding:8px 3px;color:var(--gold);text-align:left}.text-button:hover{text-decoration:underline;text-underline-offset:5px}.glow:after{content:"";position:absolute;width:3px;height:3px;background:var(--surface);border-radius:50%;box-shadow:0 0 7px 2px color-mix(in srgb,var(--shadow) 67%,transparent);offset-path:inset(0 round 4px);animation:edge-light 9s linear infinite;pointer-events:none}.glow{isolation:isolate}@keyframes edge-light{to{offset-distance:100%}}.icon-button{font-size:24px;min-width:35px;min-height:35px;line-height:1;border:1px solid var(--line);border-radius:50%}
.hero{position:relative;overflow:hidden;min-height:398px;background:var(--surface);color:var(--text-primary);display:grid;grid-template-columns:1.13fr 1fr;border-radius:6px;border:1px solid var(--border);box-shadow:0 10px 32px color-mix(in srgb,var(--shadow) 7%,transparent)}.hero:before{content:"";position:absolute;inset:10px;border:1px solid color-mix(in srgb,var(--border) 20%,transparent);pointer-events:none;border-radius:3px}.hero:after{content:"";position:absolute;inset:0;opacity:.24;pointer-events:none;background:radial-gradient(ellipse at 88% 40%,color-mix(in srgb,var(--accent-soft) 27%,transparent),transparent 60%),repeating-linear-gradient(35deg,color-mix(in srgb,var(--accent-soft) 2%,transparent) 0 1px,transparent 1px 4px)}.hero-copy{padding:46px 0 36px 40px;z-index:2}.hero-copy .eyebrow{color:var(--text-primary);letter-spacing:2.4px;font-size:9px}.line-star{font-size:19px;margin-right:10px;vertical-align:middle}.hero h1{font-size:clamp(30px,3.1vw,49px);line-height:1.38;margin:24px 0 16px;color:var(--text-primary);letter-spacing:-1.3px}.hero-copy>p{color:var(--text-primary);font-size:12px;max-width:320px;line-height:1.9}.hero-actions{display:flex;align-items:center;gap:21px;margin-top:28px;flex-wrap:wrap}.hero .primary{background:var(--surface);color:var(--text-primary);border-color:var(--border)}.hero .text-button{color:var(--text-primary);font-size:11px}.hero-foot{font-size:8px;letter-spacing:2px;color:var(--text-primary);margin-top:38px}.hero-foot span{padding-left:20px;color:var(--text-primary)}.hero-art{position:relative;min-height:390px;z-index:1;display:flex;align-items:center;justify-content:center}.fan{position:absolute;width:clamp(116px,12.3vw,198px);height:auto;border-radius:8px;box-shadow:0 15px 30px color-mix(in srgb,var(--shadow) 33%,transparent);top:60px;border:1px solid color-mix(in srgb,var(--border) 47%,transparent)}.fan-main{transform:rotate(6deg);z-index:3;top:46px}.fan-left{transform:translateX(-75px) rotate(-14deg) scale(.91);z-index:1;top:81px}.fan-right{transform:translateX(84px) rotate(22deg) scale(.9);z-index:2;top:83px}.orbit{position:absolute;width:310px;height:310px;border:1px solid color-mix(in srgb,var(--border) 21%,transparent);border-radius:50%;top:40px;left:50%;transform:translateX(-50%)}.orbit-two{width:348px;height:348px;top:22px;border-style:dashed;opacity:.5}.orbit-symbol{position:absolute;color:var(--text-primary);font-size:26px}.s1{left:8%;top:24px}.s2{right:10%;top:25px;font-size:34px}.s3{right:7%;bottom:55px;font-size:15px}.art-caption{position:absolute;bottom:21px;font-size:8px;letter-spacing:3px;color:var(--text-primary)}.particles{pointer-events:none;position:absolute;inset:0;z-index:3}.particles i{position:absolute;width:2px;height:2px;background:var(--surface);border-radius:50%;box-shadow:0 0 6px 2px color-mix(in srgb,var(--shadow) 20%,transparent);animation:drift calc(8s + var(--i)*.5s) ease-in-out infinite;animation-delay:calc(var(--i)*-.8s)}@keyframes drift{0%,100%{transform:translate(0,0);opacity:.2}50%{transform:translate(8px,-20px);opacity:.8}}
.home-columns{display:grid;grid-template-columns:1.15fr 1fr;gap:22px;margin-top:25px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:27px;box-shadow:0 3px 10px color-mix(in srgb,var(--shadow) 1%,transparent)}.section-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.section-title>span:last-child{color:var(--gold)}.section-title h2{margin:0}.section-title a{font-size:11px;color:var(--gold)}.daily-body{display:flex;gap:23px;align-items:center}.daily-back{width:88px;height:146px;object-fit:cover;border-radius:5px;box-shadow:0 5px 14px color-mix(in srgb,var(--shadow) 13%,transparent);transform:rotate(-5deg)}.daily-back.reversed{transform:rotate(175deg)}.daily-body h2{font-size:21px;max-width:270px;line-height:1.65;margin:0 0 6px}.daily-body p{font-size:11px;color:var(--muted);margin-bottom:14px}.daily-body .outline{font-size:11px;padding:7px 16px;min-height:35px}.constellation-panel{display:flex;flex-direction:column}.constellation-panel .muted{font-size:11px;max-width:330px}.stats{display:flex;justify-content:space-between;gap:18px;margin-top:auto}.stats>div{flex:1;text-align:center;border-right:1px solid var(--line);padding-right:16px}.stats>div:last-child{border:0;padding:0}.stats strong{display:block;font:36px/1.3 var(--serif);color:var(--gold)}.stats span{font-size:10px;color:var(--muted)}.recent{margin-top:34px}.recent h2{font-size:24px}.empty{text-align:center;border:1px dashed var(--line);border-radius:5px;padding:30px 24px}.empty-star{display:block;color:var(--gold);font-size:30px;margin-bottom:12px}.empty h3{font-size:20px}.empty p{max-width:500px;margin:0 auto 10px;font-size:12px;color:var(--muted)}.reading-row{display:flex;gap:22px;align-items:center;text-align:left;width:100%;padding:20px 14px;border-bottom:1px solid var(--line);transition:background .2s}.reading-row:hover{background:color-mix(in srgb,var(--surface) 5%,transparent)}.row-date{min-width:66px;display:grid;text-align:center;border-right:1px solid var(--line);padding-right:18px}.row-date strong{font:25px var(--serif);color:var(--gold)}.row-date>span{font-size:9px;color:var(--muted);margin-top:5px}.mini-cards{display:flex;padding-left:8px;min-width:63px}.mini-cards .card-art{width:35px;height:58px;object-fit:cover;box-shadow:0 2px 5px color-mix(in srgb,var(--shadow) 13%,transparent);border-radius:3px;margin-left:-8px}.row-copy{display:grid;gap:4px;min-width:0;flex:1}.row-title{font-family:var(--serif);font-size:17px;overflow-wrap:anywhere}.row-meta{color:var(--gold);font-size:10px}.row-notes{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px}.row-arrow{margin-left:auto;color:var(--gold);font-size:20px}.pill{display:inline-flex;background:color-mix(in srgb,var(--surface) 13%,transparent);border:1px solid color-mix(in srgb,var(--border) 20%,transparent);color:var(--gold);font-size:10px;border-radius:20px;padding:3px 11px;max-width:100%;overflow-wrap:anywhere}.reading-tags{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:26px}
label{display:grid;gap:7px;font-size:12px;color:var(--muted);margin-bottom:18px}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:4px;padding:11px 12px;background:var(--background);color:var(--text);min-width:0}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}textarea{min-height:118px;resize:vertical;line-height:1.8}select{padding-right:26px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.reading-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:30px}.form-panel .eyebrow{display:block;margin-bottom:24px}.reading-aside{padding:5px 20px;text-align:center;color:var(--muted)}.ornament{font-size:32px;color:var(--gold);margin-bottom:24px}.aside-back{max-width:135px;transform:rotate(5deg);border-radius:5px;margin:0 auto 28px;box-shadow:0 10px 28px color-mix(in srgb,var(--shadow) 15%,transparent)}.reading-aside h3{font-size:18px}.reading-aside p{font-size:11px}.check{display:flex;align-items:center;gap:10px}.check input{width:16px;height:16px;accent-color:var(--gold)}fieldset{padding:0;border:0;margin:0 0 20px}legend{font-size:12px;color:var(--muted);margin-bottom:8px}.segmented{display:flex;gap:10px}.segmented label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:4px;padding:12px 16px;flex:1;margin-bottom:0;cursor:pointer}.segmented label.selected{background:color-mix(in srgb,var(--surface) 9%,transparent);border-color:var(--gold);color:var(--text)}.segmented input{width:14px;accent-color:var(--gold)}.drawn-section{margin-top:40px;scroll-margin-top:20px}.drawn-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:26px;margin-bottom:30px}.drawn-card{border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:24px;text-align:center;min-width:0}.drawn-card:only-child{max-width:650px;width:100%;margin:auto}.position-label{font-size:11px;letter-spacing:1px;color:var(--gold);min-height:28px;margin-bottom:17px}.position-label>span{font-family:var(--serif);padding-right:12px}.card-stage{display:flex;justify-content:center;align-items:center;padding:12px 0 24px;min-height:300px;width:100%}.card-stage .card-art{max-width:180px;width:100%;border-radius:7px;box-shadow:0 9px 22px color-mix(in srgb,var(--shadow) 15%,transparent)}.card-stage .card-placeholder{width:170px;height:280px}.card-art.reversed{transform:rotate(180deg)}.drawn-card h3{margin-top:17px;font-size:22px}.drawn-card>p{font-size:13px;text-align:left;line-height:2}.drawn-card .prompt{font-size:12px;text-align:left}.orientation-control{max-width:145px;margin:0 auto}.orientation-control select{font-size:11px;padding:6px 12px;background:transparent}.prompt{border-top:1px solid var(--line);padding-top:15px;margin-top:18px;color:var(--gold);line-height:1.9}.prompt p{margin-top:8px;margin-bottom:0}.save-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:8px}.save-bar label{margin:0;max-width:250px;flex:1}.reflection-panel{margin-bottom:26px}.prose{white-space:pre-wrap;overflow-wrap:anywhere}.followup-panel h2{margin-bottom:24px}.followup{border-left:2px solid var(--gold);padding-left:20px;margin:24px 0}.followup small{color:var(--gold)}.reference-note{font-size:11px;color:var(--muted);text-align:center;margin-top:25px}.search-panel{margin-bottom:20px;padding:20px 24px}.searchbox{display:flex;align-items:center;gap:12px;margin:0;background:var(--background);border:1px solid var(--line);border-radius:5px;padding-left:15px;flex:1}.searchbox>span{font-size:22px;color:var(--gold)}.searchbox input{border:0;background:none;padding:12px}.filters{display:flex;align-items:flex-end;gap:18px;margin-top:16px}.filters>label{flex:1;margin:0}.filters .text-button{white-space:nowrap;margin-bottom:6px}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr);gap:25px}.calendar-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px}.calendar-top h2{margin:0;font-size:25px}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;font-size:10px;color:var(--muted);margin-bottom:12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.calendar-day{min-height:75px;text-align:center;padding:8px 2px;border:1px solid transparent;border-radius:4px;font-family:var(--serif);font-size:18px;position:relative}.calendar-day:hover{background:color-mix(in srgb,var(--surface) 8%,transparent)}.calendar-day.selected{background:color-mix(in srgb,var(--surface) 13%,transparent);border-color:var(--gold)}.calendar-day.is-today>span{border-bottom:1px solid var(--gold)}.day-markers{height:12px;display:flex;justify-content:center;align-items:center;gap:4px;color:var(--gold)}.day-markers i{width:4px;height:4px;background:var(--gold);border-radius:50%}.day-markers b{font-size:11px}.calendar-day small{font:8px "Segoe UI",sans-serif;color:var(--muted)}.day-panel h2{font-size:24px;margin-top:10px}.day-panel .reading-row{gap:10px;padding:15px 0}.day-panel .row-date{display:none}.day-panel .mini-cards{min-width:40px}.day-panel .row-title{font-size:15px}.day-panel .row-notes{max-width:155px}.day-panel>.outline{margin-top:25px;width:100%;font-size:11px}.day-panel>.text-button{display:block;margin:10px auto}.day-empty{text-align:center;padding:38px 0;color:var(--gold);font-size:26px}.day-empty p{font-size:11px;color:var(--muted);margin-top:10px}.event-row{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}.event-row small{color:var(--muted)}.event-row h3{font-size:17px;margin:5px 0}.event-row p{font-size:12px;margin:0}.event-row .text-button{font-size:10px;margin-right:15px}.event-glyph{font-size:22px;color:var(--gold)}.insight-stats{margin:0 0 28px;padding:25px 30px}.insight-stats strong{font-size:42px}.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.insight-grid .panel h2{font-size:22px;margin-bottom:24px}.insight-grid .panel h2:not(:first-child){margin-top:30px}.frequency-row{display:flex;align-items:center;gap:20px;width:100%;padding:12px 0;border-bottom:1px solid var(--line);text-align:left}.frequency-row img{height:66px;width:40px;object-fit:cover;border-radius:3px}.frequency-row strong{margin-left:auto;font:25px var(--serif);color:var(--gold)}.frequency-row span{font-family:var(--serif);font-size:18px}.bar-row{margin:17px 0}.bar-row>div:first-child{display:flex;justify-content:space-between;gap:15px;font-size:12px;margin-bottom:8px}.bar-row strong{font-weight:400;color:var(--gold)}.bar-track{height:5px;background:color-mix(in srgb,var(--surface) 11%,transparent);border-radius:3px;overflow:hidden}.bar-track i{display:block;height:100%;background:linear-gradient(90deg,var(--accent-soft),var(--accent-soft));border-radius:3px}
.collection-banner{min-height:225px;border:1px solid var(--border);background:var(--surface);color:var(--text-primary);padding:34px 38px;display:flex;justify-content:space-between;gap:24px;overflow:hidden;border-radius:5px;margin-bottom:35px}.collection-banner .eyebrow{color:var(--text-primary)}.collection-banner h2{font-size:33px;max-width:420px;margin:15px 0 10px}.collection-banner p{font-size:11px;color:var(--text-primary)}.collection-banner .pill{color:var(--text-primary);border-color:color-mix(in srgb,var(--border) 33%,transparent)}.collection-art{display:flex;align-items:center;justify-content:center;gap:14px;flex-shrink:0;padding:0 15px}.collection-art img{width:90px;border-radius:4px;transform:rotate(-8deg)}.collection-art img:nth-child(2){transform:translateY(-8px);width:100px}.collection-art img:nth-child(3){transform:rotate(8deg)}.library-controls{display:flex;gap:20px;margin:20px 0 25px}.library-controls>select{width:180px}.section-title>select{max-width:290px;font-size:12px}.card-gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:27px 20px}.gallery-card{padding:0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.gallery-card img{width:100%;border-radius:6px;box-shadow:0 4px 12px color-mix(in srgb,var(--shadow) 9%,transparent);transition:transform .3s,box-shadow .3s}.gallery-card:hover img{transform:translateY(-5px);box-shadow:0 9px 25px color-mix(in srgb,var(--shadow) 15%,transparent)}.gallery-card>span{font-family:var(--serif);font-size:13px;line-height:1.5}.card-placeholder{background:var(--surface);color:var(--text-primary);border:1px solid var(--border);aspect-ratio:3/5;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:6px;font-size:35px;width:100%}.card-placeholder span{font-size:13px;padding:10px}.pack-section{border-top:1px solid var(--line);margin-top:42px;padding-top:30px}.pack-section>h2{margin-top:30px}.pack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.pack-tile{padding:26px;border:1px solid var(--line);background:var(--surface);border-radius:5px}.pack-symbol{display:block;color:var(--gold);font-size:35px;margin-bottom:16px}.pack-tile p{font-size:11px;color:var(--muted);margin-top:16px;margin-bottom:0}.future{border-style:dashed}.theme-swatch{height:70px;display:flex;justify-content:center;align-items:center;font-size:29px;background:var(--surface);color:var(--text-primary);border-radius:5px;margin-bottom:20px}.night-tile .theme-swatch{background:var(--surface);color:var(--text-primary)}.theme-tile .outline{font-size:11px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.settings-grid .panel h2{font-size:23px}.settings-grid .panel h2:not(:first-child){margin-top:30px}.settings-grid p{font-size:12px}.settings-grid select{max-width:300px}.status-line{color:var(--gold)}.file-label{cursor:pointer;position:relative;overflow:hidden;margin:0;color:var(--text)}.file-label input{position:absolute;opacity:0;inset:0;cursor:pointer;width:100%;height:100%;padding:0}.file-label:focus-within{outline:2px solid var(--gold);outline-offset:3px}
dialog{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:9px;width:min(870px,calc(100vw - 40px));max-height:90vh;padding:40px;box-shadow:0 30px 90px color-mix(in srgb,var(--shadow) 40%,transparent)}dialog::backdrop{background:color-mix(in srgb,var(--surface) 67%,transparent);backdrop-filter:blur(5px)}.modal-close{position:absolute;right:15px;top:9px;font-size:29px;color:var(--muted);padding:0 10px}.card-detail{display:grid;grid-template-columns:210px 1fr;gap:35px}.card-detail-art img{border-radius:8px;box-shadow:0 8px 25px color-mix(in srgb,var(--shadow) 15%,transparent)}.card-detail h2{font-size:31px;margin:12px 0 20px}.card-detail h3{font-size:18px;color:var(--gold);margin-top:20px}.card-detail p{font-size:13px;line-height:2}.card-history{margin-top:35px;padding-top:24px;border-top:1px solid var(--line)}.card-history .row-notes{max-width:350px}#toast{position:fixed;left:calc(50% + 100px);bottom:24px;transform:translate(-50%,20px);padding:12px 25px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--text-primary);z-index:100;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:calc(100vw - 40px);font-size:12px;box-shadow:0 8px 28px color-mix(in srgb,var(--shadow) 19%,transparent)}#toast.visible{opacity:1;transform:translate(-50%,0)}.boot{padding:80px;text-align:center;font:30px var(--serif)}.fatal{max-width:600px;margin:70px auto}.still *{animation:none!important;scroll-behavior:auto!important}.still .particles{display:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.particles{display:none}}
@media(min-width:1600px){.hero{min-height:435px}.hero-copy{padding-left:48px;padding-top:48px}.fan{top:65px}.fan-main{top:40px}.hero-art{min-height:435px}.orbit{top:55px}.orbit-two{top:35px}}
@media(max-width:1180px){.sidebar{width:205px;padding-left:17px;padding-right:17px}.brand>span{font-size:22px}.workspace{margin-left:205px}main{padding:28px}.topbar{padding:0 28px}.hero-copy{padding-left:29px}.hero h1{font-size:34px}.hero-art .fan{width:135px}.hero-art .fan-left{transform:translateX(-53px) rotate(-14deg) scale(.9)}.hero-art .fan-right{transform:translateX(55px) rotate(22deg) scale(.9)}.hero-art .orbit{width:235px;height:235px;top:60px}.hero-art .orbit-two{width:270px;height:270px;top:40px}.hero{min-height:385px}.hero-art{min-height:385px}.hero-foot{font-size:7px;letter-spacing:1.3px}.hero-actions{gap:12px}.home-columns{gap:18px}.panel{padding:22px}.daily-body{gap:17px}.daily-back{width:70px;height:116px}.daily-body h2{font-size:18px}.stats{gap:10px}.stats>div{padding-right:10px}.stats strong{font-size:30px}.card-gallery{grid-template-columns:repeat(5,minmax(0,1fr))}.collection-art img{width:65px}.collection-art img:nth-child(2){width:75px}.collection-banner h2{font-size:28px}.calendar-layout{grid-template-columns:1fr}.calendar-day{min-height:90px}.reading-layout{grid-template-columns:minmax(0,1fr) 170px}.reading-aside{padding:5px}.date-label{display:none}}
@media(max-width:860px){.sidebar{width:76px;padding:24px 10px}.brand{justify-content:center;margin-bottom:35px}.brand img{width:42px;height:50px}.brand>span,.nav-label,.sidebar-foot>p,.tiny-star,.private-indicator{display:none}.nav-item{font-size:0;justify-content:center;padding:12px 0}.nav-item>span{font-size:23px}.nav-item small{display:none}.sidebar-foot .nav-item{font-size:0}.workspace{margin-left:76px}.topbar{height:65px;padding:0 25px}.hero{grid-template-columns:1.2fr 1fr}.hero h1{font-size:29px}.hero-copy{padding-left:25px}.hero-art .fan{width:115px;top:100px}.hero-art .fan-main{top:75px}.hero-art .fan-left{transform:translateX(-42px) rotate(-14deg) scale(.9)}.hero-art .fan-right{transform:translateX(45px) rotate(22deg) scale(.9)}.hero-art .orbit{width:210px;height:210px;top:75px}.hero-art .orbit-two{width:240px;height:240px;top:60px}.home-columns{grid-template-columns:1fr}.constellation-panel .stats{margin-top:15px}.constellation-panel .muted{max-width:none}.daily-body{gap:24px}.daily-back{width:85px;height:141px}.daily-body h2{font-size:22px;max-width:none}.card-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.collection-art{gap:6px;padding:0}.collection-art img:first-child{display:none}.collection-banner{padding:27px}.collection-banner h2{font-size:25px}.settings-grid{grid-template-columns:1fr}.pack-grid{grid-template-columns:1fr 1fr}.page-heading{align-items:flex-start}.page-heading h1{font-size:29px}.reading-layout{grid-template-columns:1fr}.reading-aside{display:none}.card-detail{grid-template-columns:150px 1fr;gap:25px}.insight-grid{grid-template-columns:1fr 1fr}.page-footer{padding:20px 28px}.page-footer>span:last-child{display:none}#toast{left:calc(50% + 38px)}}
@media(max-width:600px){.sidebar{inset:auto 0 0;width:auto;height:70px;padding:0 5px calc(env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(12px)}.brand,.sidebar-foot{display:none}.sidebar nav{display:flex;justify-content:space-around;gap:0;height:100%}.nav-item{display:flex;flex-direction:column;gap:3px;font-size:9px;padding:10px 3px 6px;border-radius:0;border:0;min-width:56px;flex:1}.nav-item>span{font-size:21px}.nav-item.active{box-shadow:none;background:color-mix(in srgb,var(--surface) 8%,transparent)}.workspace{margin-left:0;padding-bottom:70px}.topbar{height:61px;padding:0 19px}.breadcrumb{font-size:9px;letter-spacing:.5px}.breadcrumb span{padding:0 8px}.top-tools{gap:8px}.language-label{margin:0}.language-label select{font-size:10px;padding:6px;width:93px}.topbar:after{content:none}main{padding:20px 17px 35px;min-height:calc(100vh - 190px)}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:30px 27px 8px}.hero h1{font-size:34px;line-height:1.5;letter-spacing:-.8px;margin:20px 0 12px}.hero-copy>p{font-size:12px}.hero-actions{margin-top:20px;gap:18px}.hero-foot{display:none}.hero-art{height:310px;min-height:310px;margin-top:3px}.hero-art .fan{width:136px;top:39px}.hero-art .fan-main{top:22px}.hero-art .fan-left{transform:translateX(-68px) rotate(-14deg) scale(.9)}.hero-art .fan-right{transform:translateX(70px) rotate(22deg) scale(.9)}.hero-art .orbit{width:240px;height:240px;top:14px}.hero-art .orbit-two{width:280px;height:280px;top:-6px}.s1{left:11%;top:16px}.s2{right:13%;top:12px}.s3{bottom:50px;right:12%}.art-caption{bottom:16px;font-size:7px}.home-columns{margin-top:18px;gap:17px}.panel{padding:21px}.section-title{margin-bottom:19px}.daily-body{gap:22px}.daily-back{width:76px;height:126px}.daily-body h2{font-size:20px;line-height:1.6}.daily-body p{font-size:10px}.stats strong{font-size:32px}.recent{margin-top:28px}.recent h2{font-size:22px}.empty{padding:26px 18px}.empty p{font-size:11px}.page-heading{flex-wrap:wrap;gap:15px;margin:8px 0 24px}.page-heading h1{font-size:29px;overflow-wrap:anywhere}.page-heading .eyebrow{font-size:9px}.page-heading p{font-size:12px}.page-heading>.primary{padding:9px 16px;min-height:39px}.page-footer{padding:18px}.page-footer>span{font-size:8px}.row-date{min-width:49px;padding-right:12px}.reading-row{gap:12px;padding:17px 3px}.row-title{font-size:16px}.row-meta{font-size:9px}.row-notes{max-width:180px;font-size:10px}.mini-cards .card-art{width:30px;height:50px}.mini-cards{min-width:42px}.row-arrow{font-size:17px}.form-grid{grid-template-columns:1fr}.segmented{gap:8px}.segmented label{font-size:11px;padding:11px 9px}.form-panel{padding:20px}.form-panel>.primary{width:100%}.drawn-grid{grid-template-columns:1fr;gap:20px}.drawn-card{padding:25px}.card-stage .card-art{max-width:190px}.drawn-card>p{font-size:13px}.save-bar{flex-wrap:wrap;gap:16px}.save-bar>.primary{width:100%}.filters{flex-wrap:wrap;gap:12px}.filters>label{flex:1 1 40%}.filters .text-button{flex:1;font-size:11px}.search-panel{padding:17px}.searchbox input{font-size:12px}.calendar-panel{padding:16px 10px}.calendar-top{padding:0 6px;margin-bottom:20px}.calendar-top h2{font-size:21px}.calendar-top .button-row{gap:8px}.calendar-day{min-height:65px;font-size:17px}.calendar-day small{font-size:7px}.calendar-week{font-size:9px}.insight-grid{grid-template-columns:1fr}.insight-stats{padding:20px 15px}.collection-banner{padding:26px;min-height:auto}.collection-banner h2{font-size:27px;max-width:230px}.collection-art{display:none}.library-controls{gap:10px}.library-controls>select{width:120px;font-size:11px}.section-title{flex-wrap:wrap}.section-title>select{max-width:100%;font-size:11px}.card-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 12px}.gallery-card{gap:9px}.gallery-card>span{font-size:12px}.pack-grid{grid-template-columns:1fr 1fr;gap:12px}.pack-tile{padding:19px}.pack-tile h3{font-size:17px}.pack-tile p{font-size:10px}.pack-tile .outline{padding:8px 10px;font-size:10px}.pack-tile .pill{font-size:9px}.settings-grid .button-row>*{flex:1}.settings-grid .button-row{gap:10px}.card-detail{grid-template-columns:1fr;gap:24px}.card-detail-art{max-width:155px;margin:auto}.card-detail h2{font-size:27px}dialog{width:calc(100vw - 24px);padding:35px 24px 25px;max-height:88vh}.card-history .mini-cards{display:none}.card-history .row-date{min-width:47px}.card-history .row-notes{max-width:160px}#toast{left:50%;bottom:88px;width:max-content;max-width:calc(100vw - 32px)}.workspace:has(.settings-grid) .page-heading h1{font-size:27px}}





.ambient-dust{position:fixed;inset:0;pointer-events:none;z-index:-1}.ambient-dust i{position:absolute;width:2px;height:2px;border-radius:50%;background:var(--particle);box-shadow:0 0 8px var(--particle);animation:drift 18s infinite;animation-delay:calc(var(--i)*-2s);opacity:.18}.ambient-dust i:nth-child(n+5){display:none}.still .ambient-dust{display:none}.brand img{mix-blend-mode:normal!important}.meaning-copy p{font-size:14px}.fan-choice:after,.reveal-button:after{content:'';position:absolute;inset:5px;border:1px solid color-mix(in srgb,var(--border) 20%,transparent);border-radius:6px;pointer-events:none}.reveal-button{position:relative}.reveal-button:after{inset:10px calc(50% - 83px) 55px}.transition-in[data-transition=line]:after{content:'✧';position:absolute;top:0;left:50%;color:var(--gold);pointer-events:none;animation:line-traveller .65s ease-out both}@keyframes line-traveller{0%{opacity:0;translate:-70px 0}35%{opacity:.7}100%{opacity:0;translate:70px 0}}@media(prefers-reduced-motion:reduce){.ambient-dust{display:none}}
body{background-image:radial-gradient(ellipse at 50% 0,var(--halo),transparent 65%),repeating-linear-gradient(30deg,color-mix(in srgb,var(--accent-soft) 1%,transparent) 0 1px,transparent 1px 5px);transition:background-color .65s,color .65s}
.workspace{margin-left:0}.sanctuary-header{max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:16px 44px;border-bottom:1px solid var(--line);min-height:108px}.sanctuary-header .brand{display:block;margin:0;padding:0}.brand img{width:85px;height:85px;object-fit:contain;mix-blend-mode:multiply}.sanctuary-header nav{display:flex;gap:26px;align-items:center;font-size:12px;color:var(--muted)}.sanctuary-header nav a{padding:10px 0;white-space:nowrap}.sanctuary-header nav [aria-current]{color:var(--gold);border-bottom:1px solid var(--gold)}.top-tools{gap:16px}.language-label{margin:0}.sound-toggle{font-size:20px;color:var(--gold);min-width:30px}.sanctuary-header .top-tools>a{font-size:18px;color:var(--gold)}.brand img{border-radius:8px}
main{max-width:1250px;padding:38px 44px 60px}.page-footer{max-width:1250px;margin:auto}.hero{min-height:440px;background:radial-gradient(ellipse at 80% 40%,var(--halo),transparent 70%),var(--accent-soft);border-radius:2px}.hero-copy{padding:65px 0 46px 54px}.hero-art{min-height:440px}.hero h1{font-size:clamp(32px,3.8vw,53px)}.hero-copy>p{font-size:13px;max-width:360px}.hero-art .fan{width:170px;top:82px}.hero-art .fan-main{top:62px}.hero-art .orbit{top:57px}.hero-art .orbit-two{top:38px}.sanctuary-note{text-align:center;margin:32px 0 24px;color:var(--muted);font:italic 15px var(--serif)}.recent{max-width:960px;margin:30px auto}.recent:has(.section-title:only-child){display:none}
.primary,.outline,.button{border-radius:40px;min-height:46px;padding:12px 29px;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--shadow) 20%,transparent),0 4px 14px color-mix(in srgb,var(--shadow) 9%,transparent);transition:transform .18s,filter .18s,box-shadow .18s}.primary{background:linear-gradient(160deg,var(--accent-soft),var(--accent-soft));color:var(--text-primary);text-shadow:0 1px color-mix(in srgb,var(--shadow) 13%,transparent)}.primary:hover,.outline:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:inset 0 1px color-mix(in srgb,var(--shadow) 20%,transparent),0 4px 24px var(--halo)}.primary:active,.outline:active,.ritual-choice:active{transform:scale(.98)}.glow:after{animation:none;opacity:0;offset-path:inset(0 round 40px)}.glow:hover:after{animation:border-glint .8s ease-out;opacity:1}@keyframes border-glint{from{offset-distance:10%;opacity:0}40%{opacity:1}to{offset-distance:55%;opacity:0}}.text-button{letter-spacing:.4px}.panel{border-radius:2px;box-shadow:inset 0 1px 12px color-mix(in srgb,var(--shadow) 2%,transparent);background-image:radial-gradient(ellipse at 50% 0,var(--halo),transparent 75%)}
.celestial-divider{display:flex;align-items:center;justify-content:center;gap:17px;color:var(--gold);width:min(420px,90%);margin:18px auto 28px}.celestial-divider i{height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--gold));opacity:.45}.celestial-divider i:last-child{transform:rotate(180deg)}.celestial-divider span{font-size:21px}.ritual-page{max-width:1060px;margin:auto}.ritual-utility{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:35px}.ritual-utility .eyebrow{font-size:9px;text-align:right}.ritual-title{text-align:center;margin:24px auto 38px;max-width:720px}.ritual-title h1{font-size:clamp(28px,3.4vw,42px);line-height:1.5;margin:20px 0 12px}.ritual-title h2{font-size:32px}.ritual-title>p{font-size:13px;color:var(--muted)}.intention-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;max-width:800px;margin:0 auto 60px}.ritual-choice{min-height:77px;display:flex;align-items:center;gap:18px;text-align:left;padding:18px 26px;border:1px solid var(--line);border-radius:50px;background:radial-gradient(ellipse at 15% 30%,var(--halo),transparent 65%);transition:transform .2s,border-color .2s,background .2s;color:var(--text);font-family:var(--serif);font-size:18px;box-shadow:inset 0 1px color-mix(in srgb,var(--shadow) 5%,transparent)}.ritual-choice:hover,.ritual-choice:focus-visible{border-color:var(--gold);transform:translateY(-2px);background-color:var(--surface)}.ritual-choice>span:last-child{margin-left:auto;color:var(--gold);font-size:15px}.choice-glyph{font-size:25px;color:var(--gold);min-width:26px;text-align:center}.ritual-narrow{max-width:620px;margin:0 auto 60px}.ritual-narrow textarea{min-height:150px}.ritual-narrow .button-row{justify-content:flex-end}.spread-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:35px}.spread-grid .ritual-choice{flex-direction:column;align-items:center;border-radius:4px;text-align:center;font-size:17px;min-height:150px;justify-content:center;padding:22px}.spread-grid .ritual-choice>span:last-child{display:none}.spread-grid .choice-glyph{font-size:30px;letter-spacing:5px}.deck-companion{display:flex;align-items:center;justify-content:center;gap:30px;margin:35px auto 45px;max-width:660px}.deck-companion img{width:95px;border-radius:7px;transform:rotate(-5deg);box-shadow:0 8px 24px color-mix(in srgb,var(--shadow) 15%,transparent)}.deck-companion h2{font-size:25px;margin:12px 0}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:800px;margin:0 auto 30px}.ritual-check{justify-content:center;margin:25px}.journal-details{max-width:800px;margin:24px auto;border-top:1px solid var(--line);padding:18px 0;color:var(--muted)}summary{cursor:pointer;font-size:12px;color:var(--gold);padding:8px 0;list-style-position:inside}.journal-details[open]>.form-grid{margin-top:20px}.journal-details textarea{margin-top:8px}
.ritual-deck{height:325px;position:relative;max-width:700px;margin:20px auto 25px;perspective:900px}.fan-choice{position:absolute;left:calc(50% - 70px);top:20px;width:140px;padding:0;transform:translateX(calc(var(--slot)*55px)) translateY(calc(var(--slot)*var(--slot)*5px)) rotate(calc(var(--slot)*8deg));transform-origin:50% 95%;transition:transform .35s,filter .2s;animation:deck-enter .55s ease-out both;animation-delay:calc((var(--slot) + 3)*.04s)}.fan-choice img{width:100%;border-radius:9px;box-shadow:0 8px 25px color-mix(in srgb,var(--shadow) 25%,transparent);border:1px solid var(--gold)}.fan-choice:hover,.fan-choice:focus-visible{transform:translateX(calc(var(--slot)*55px)) translateY(calc(var(--slot)*var(--slot)*5px - 24px)) rotate(calc(var(--slot)*8deg));z-index:10;filter:brightness(1.12)}.fan-choice.picked{transform:translateX(0) translateY(-30px) rotate(0) scale(1.08);z-index:11;filter:brightness(1.3)}.selected-slots{display:flex;justify-content:center;gap:12px;margin:10px 0 40px}.selected-slot{height:40px;width:28px;border:1px dotted var(--line);border-radius:4px;display:grid;place-items:center;color:var(--gold)}.selected-slot.filled{border-style:solid;box-shadow:0 0 18px var(--halo);animation:reveal-light .5s}@keyframes deck-enter{from{opacity:0;translate:0 25px}to{opacity:1;translate:0 0}}
.ritual-result,.saved-cards .drawn-card{background:transparent;border:0;border-radius:0;box-shadow:none;padding:10px 24px 30px}.ritual-result+.ritual-result,.saved-cards .drawn-card+.drawn-card{border-left:1px solid var(--line)}.ritual-result:only-child{max-width:730px}.ritual-result h3,.saved-cards h3{font-size:28px;line-height:1.5;margin:20px 0 16px}.ritual-result .card-stage{min-height:310px}.reveal-button{display:grid;justify-items:center;gap:20px;color:var(--gold);font-size:12px;width:100%;padding:0}.reveal-button img{transition:transform .25s;box-shadow:0 15px 35px color-mix(in srgb,var(--shadow) 20%,transparent)}.reveal-button:hover img{transform:translateY(-5px) rotate(2deg)}.reveal-art{animation:card-reveal .65s ease-out, reveal-light .7s ease-out}.meaning-copy{text-align:left;animation:meaning-settle .45s ease-out}.meaning-copy p{font-size:13px;line-height:1.95}.meaning-copy h4{font:12px/1.5 var(--serif);letter-spacing:1px;color:var(--gold);margin:20px 0 8px}.keywords{text-align:center;font-size:11px;letter-spacing:.8px;color:var(--gold);line-height:1.8}.meaning-more{border-top:1px solid var(--line);padding:10px 0;margin-top:18px}.meaning-more details{margin-top:15px}.prompt>span{font-size:11px}.prompt p{font-size:13px}.result-actions{display:flex;justify-content:center;gap:25px;align-items:center;margin:25px 0}.ritual-results .save-bar{max-width:800px;margin:30px auto}.is-veiled{min-height:425px}.drawn-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
@keyframes card-reveal{from{opacity:.1;scale:.93;rotate:y 80deg}to{opacity:1;scale:1;rotate:y 0deg}}@keyframes reveal-light{40%{filter:drop-shadow(0 0 18px var(--gold))}}@keyframes meaning-settle{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
.transition-in{animation:meaning-settle .6s ease-out;position:relative}.transition-in:before{content:'✧';position:absolute;top:10px;left:calc(50% - 50px);width:100px;text-align:center;color:var(--gold);pointer-events:none;animation:celestial-line .65s ease-out both;z-index:5;border-top:1px solid var(--gold)}.transition-in[data-transition=sigil]:before{border:1px solid var(--gold);border-bottom-color:transparent;border-radius:50%;height:75px;width:75px;left:calc(50% - 38px);font-size:26px;line-height:70px}.transition-in[data-transition=journal]{transform-origin:0 50%;animation:journal-open .55s ease-out}.transition-in[data-transition=curtain]:before{content:'▯ ▯ ▯';font-size:27px;letter-spacing:12px;border:0;animation:curtain .55s ease-out both}@keyframes celestial-line{0%{opacity:0;scale:.15 1}40%{opacity:.8;scale:1.2 1}100%{opacity:0;scale:2 1}}@keyframes journal-open{from{opacity:.2;transform:perspective(900px) rotateY(3deg)}to{opacity:1;transform:none}}@keyframes curtain{0%{opacity:0;translate:-70px 0}45%{opacity:.7}100%{opacity:0;translate:70px 0}}
.search-panel{background:transparent;border:0;padding:0;margin-bottom:22px}.compact-filters{margin-top:8px}.compact-filters>summary{text-align:right}.filters{margin:14px 0 25px}.calendar-day.selected{border-radius:50%;box-shadow:0 0 20px var(--halo);background:radial-gradient(circle,var(--halo),transparent);outline:1px dotted var(--line);outline-offset:3px}.day-markers{height:18px;gap:5px}.day-markers img{height:16px;width:10px;object-fit:cover;border-radius:2px}.calendar-panel{animation:meaning-settle .4s}.theme-swatch{position:relative;overflow:hidden;min-height:110px;background:radial-gradient(ellipse,color-mix(in srgb,var(--accent-soft) 33%,transparent),transparent),var(--accent-soft);border:1px solid color-mix(in srgb,var(--border) 27%,transparent)}.theme-swatch[data-atmosphere=night]{background:radial-gradient(ellipse,color-mix(in srgb,var(--accent-soft) 18%,transparent),transparent),var(--accent-soft);color:var(--text-primary)}.theme-swatch[data-atmosphere=aquarium]{background:radial-gradient(ellipse,color-mix(in srgb,var(--accent-soft) 20%,transparent),transparent),var(--accent-soft);color:var(--text-primary)}.theme-swatch i{position:absolute;background:currentColor;width:3px;height:3px;border-radius:50%;opacity:.5;animation:drift 7s infinite}.theme-swatch i:nth-child(2){left:25%;top:35%}.theme-swatch i:nth-child(3){left:70%;top:65%;animation-delay:-3s}.theme-swatch i:nth-child(4){left:55%;top:20%;animation-delay:-5s}.theme-tile{transition:border-color .3s,box-shadow .3s}.theme-tile:hover,.theme-tile:focus-within{border-color:var(--gold);box-shadow:0 0 35px var(--halo)}.particles i{background:var(--particle)}
input,textarea,select{border-radius:2px;background:color-mix(in srgb,var(--surface) 65%,var(--background));transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--halo)}select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 12px) 50%;background-size:4px 4px;background-repeat:no-repeat}.check input{appearance:none;border:1px solid var(--gold);border-radius:50%;width:18px;height:18px;padding:0;flex-shrink:0;background:transparent}.check input:checked{background:radial-gradient(circle,var(--gold) 0 4px,transparent 5px)}#toast{left:50%;border-radius:30px}.still *,.still *:before,.still *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.still .particles{display:none}
@media(max-width:1000px){.sanctuary-header{padding:14px 26px;gap:18px}.sanctuary-header nav{gap:17px;font-size:11px}main{padding:30px 26px 50px}.hero-copy{padding:46px 0 40px 35px}.hero-art .fan{width:140px}.hero-art .orbit{width:260px;height:260px}.hero-art .orbit-two{width:300px;height:300px}.hero h1{font-size:35px}}
@media(max-width:760px){.sanctuary-header{padding:12px 20px;flex-wrap:wrap;gap:7px}.sanctuary-header .brand img{width:64px;height:64px}.sanctuary-header nav{order:3;width:100%;justify-content:space-between;gap:10px;overflow:auto;padding:0 2px}.top-tools{gap:14px}.workspace{margin-left:0;padding-bottom:0}main{padding:25px 20px 45px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:35px 27px 20px}.hero h1{font-size:34px;margin-top:20px}.hero-art{min-height:300px}.hero-art .fan{width:135px;top:25px}.hero-art .fan-main{top:10px}.hero-art .orbit{top:0;width:240px;height:240px}.hero-art .orbit-two{top:-15px;width:270px;height:270px}.hero-foot{margin-top:25px}.hero-art .s1{top:20px;left:15%}.hero-art .s2{top:20px;right:15%}.art-caption{bottom:18px}.intention-grid{gap:12px}.ritual-choice{font-size:16px;padding:14px 18px;gap:10px}.spread-grid{grid-template-columns:1fr 1fr}.ritual-utility{margin-bottom:22px}.ritual-title{margin-top:10px}.ritual-result+.ritual-result,.saved-cards .drawn-card+.drawn-card{border-left:0;border-top:1px solid var(--line);padding-top:28px}.ritual-result{padding:10px 5px 25px}.method-grid{gap:14px}.deck-companion{gap:20px}.deck-companion h2{font-size:22px}.ritual-deck{height:280px}.fan-choice{width:110px;left:calc(50% - 55px);transform:translateX(calc(var(--slot)*34px)) translateY(calc(var(--slot)*var(--slot)*4px)) rotate(calc(var(--slot)*7deg))}.fan-choice:hover,.fan-choice:focus-visible{transform:translateX(calc(var(--slot)*34px)) translateY(calc(var(--slot)*var(--slot)*4px - 15px)) rotate(calc(var(--slot)*7deg))}.fan-choice.picked{transform:translateY(-20px) scale(1.05)}.result-actions{gap:15px;flex-wrap:wrap}.page-footer{padding:18px 20px;flex-wrap:wrap}.pack-grid{grid-template-columns:1fr 1fr}.save-bar{align-items:center}.ritual-results .save-bar .primary{padding:12px 20px}.ritual-title h1{font-size:28px}}
@media(max-width:430px){.intention-grid{grid-template-columns:1fr}.intention-grid .ritual-choice{min-height:64px}.method-grid{grid-template-columns:1fr}.ritual-title h1{font-size:26px}.pack-grid{grid-template-columns:1fr}.ritual-utility .eyebrow{max-width:180px;line-height:1.8}.sanctuary-header nav{font-size:10px}.sanctuary-header .language-label select{max-width:120px}.hero-copy{padding-left:24px;padding-right:24px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.particles{display:none}}
.meaning-copy p{font-size:14px}.pack-section{margin:28px 0 40px}.theme-tile{min-width:0}.theme-tile h3{overflow-wrap:anywhere}
@media(min-width:761px) and (max-width:1050px){.sanctuary-header{flex-wrap:wrap;gap:8px}.sanctuary-header nav{order:3;width:100%;justify-content:center;gap:30px}.top-tools{margin-left:auto}.sanctuary-header .brand img{width:64px;height:64px}}
.still .transition-in:before,.still .transition-in:after{display:none}
@media(prefers-reduced-motion:reduce){.transition-in:before,.transition-in:after{display:none}}
@media(max-width:430px){.fan-choice{width:100px;left:calc(50% - 50px);transform:translateX(calc(var(--slot)*25px)) translateY(calc(var(--slot)*var(--slot)*4px)) rotate(calc(var(--slot)*7deg))}.fan-choice:hover,.fan-choice:focus-visible{transform:translateX(calc(var(--slot)*25px)) translateY(calc(var(--slot)*var(--slot)*4px - 15px)) rotate(calc(var(--slot)*7deg))}.fan-choice.picked{transform:translateY(-15px) scale(1.05)}}
