:root{--night:#090817;--surface:#13112a;--surface2:#1a1736;--ink:#e8e2d0;--gold:#d9b86a;--muted:#aaa48f;--line:#34305a;--shu:#b9493d;--shadow:rgba(0,0,0,.65);--serif:'Yu Mincho','Hiragino Mincho ProN',Georgia,serif;--sans:'Hiragino Sans','Yu Gothic',sans-serif}*{box-sizing:border-box}html{min-height:100%;background:var(--night);color:var(--ink)}body{margin:0;min-height:100vh;font-family:var(--serif);background:radial-gradient(900px 540px at 50% -10%,#25204d 0,transparent 70%),var(--night);line-height:1.8}.stars{position:fixed;inset:0;pointer-events:none;opacity:.22;background-image:radial-gradient(circle,#d9b86a 0 1px,transparent 1.5px);background-size:67px 67px;mask-image:linear-gradient(#000,transparent 80%)}.site-head{position:relative;z-index:2;max-width:1180px;margin:auto;padding:22px max(20px,4vw);display:flex;justify-content:space-between;align-items:center}.brand{color:var(--ink);text-decoration:none;font-weight:700;letter-spacing:.14em}.brand span{display:block;color:var(--gold);font:600 10px/1.4 var(--sans);letter-spacing:.22em;margin-bottom:3px}.quiet,.choice,.primary,.secondary{font:inherit;color:inherit;cursor:pointer}.quiet{border:0;background:none;color:var(--muted);text-decoration:underline}.primary,.secondary{min-height:52px;border-radius:999px;padding:0 28px;letter-spacing:.12em}.primary{border:1px solid var(--gold);background:var(--gold);color:#17120a;font-weight:700}.secondary{border:1px solid var(--line);background:transparent}.actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:30px}main{position:relative;z-index:1;max-width:1180px;min-height:calc(100vh - 150px);margin:auto;padding:20px max(20px,4vw) 60px;display:grid;align-items:center}.page{width:100%;animation:rise .7s ease both}.narrow{max-width:700px;margin:auto;text-align:center}.eyebrow{margin:0 0 8px;color:var(--gold);font:600 12px/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(35px,7vw,72px);font-weight:500;line-height:1.28;letter-spacing:.08em}h2{font-size:clamp(27px,4vw,44px);font-weight:500;letter-spacing:.08em}.lead{font-size:clamp(17px,2vw,21px);color:var(--muted);max-width:660px;margin-inline:auto}.moon{width:96px;height:96px;border-radius:50%;background:var(--shu);margin:10px auto 32px;box-shadow:0 0 55px rgba(185,73,61,.3);position:relative}.moon:after{content:"";position:absolute;width:82px;height:82px;border-radius:50%;background:var(--night);left:29px;top:-7px}.notice{margin:28px auto 0;padding:18px 22px;border:1px solid var(--line);border-radius:12px;background:rgba(19,17,42,.76);color:var(--muted);text-align:left}.breath{width:170px;height:170px;margin:25px auto;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;animation:breathe 8s ease-in-out infinite;color:var(--gold);letter-spacing:.18em}.field{display:block;text-align:left;margin:24px 0}.field span{display:block;color:var(--gold);font-size:13px;letter-spacing:.12em;margin-bottom:8px}textarea{width:100%;min-height:150px;resize:vertical;background:var(--surface);border:1px solid var(--line);border-radius:14px;color:var(--ink);font:18px/1.8 var(--serif);padding:18px;outline:none}textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(217,184,106,.12)}.examples{display:grid;gap:9px;text-align:left;margin:20px 0}.example{border-left:2px solid var(--shu);padding-left:13px;color:var(--muted);font-size:14px}.deck-scene{height:340px;position:relative;margin:15px auto 5px;max-width:420px}.back{position:absolute;width:150px;aspect-ratio:200/340;left:50%;top:4px;border:1px solid var(--gold);border-radius:9px;background:radial-gradient(circle at center,var(--shu) 0 17px,transparent 18px),radial-gradient(circle at center,transparent 0 35px,var(--gold) 36px 37px,transparent 38px),repeating-radial-gradient(circle at 20% 30%,#595282 0 1px,transparent 1px 13px),#11102a;box-shadow:0 16px 30px var(--shadow);transform:translateX(-50%) rotate(var(--r,0deg)) translate(var(--x,0),var(--y,0));transition:transform .8s cubic-bezier(.2,.8,.2,1)}.shuffling .back:nth-child(1){--x:-110px;--r:-15deg}.shuffling .back:nth-child(2){--x:-55px;--y:12px;--r:-7deg}.shuffling .back:nth-child(4){--x:55px;--y:12px;--r:7deg}.shuffling .back:nth-child(5){--x:110px;--r:15deg}.cuts{display:grid;grid-template-columns:repeat(3,150px);justify-content:center;gap:30px;margin:35px 0}.cut{height:255px;position:relative;background:none;border:0;cursor:pointer}.cut .back{top:0}.cut:hover .back{transform:translateX(-50%) translateY(-13px)}.cut span{position:absolute;top:265px;left:0;right:0;color:var(--muted);font-family:var(--serif)}.spread-layout{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:45px;align-items:center}.cross{height:650px;position:relative;max-width:780px}.slot{position:absolute;width:112px;aspect-ratio:200/340;transform:translate(-50%,-50%);transition:all .7s}.slot img{display:block;width:100%;height:100%;filter:drop-shadow(0 9px 12px var(--shadow));border-radius:7px}.slot.hidden-card img{filter:brightness(.2);opacity:.18}.slot.reversed img{transform:rotate(180deg)}.slot.crossing{z-index:4;transform:translate(-50%,-50%) rotate(90deg)}.slot.crossing.reversed img{transform:rotate(180deg)}.slot label{display:block;text-align:center;font:600 10px/1.3 var(--sans);color:var(--muted);margin-top:4px;white-space:nowrap}.staff{height:650px;position:relative}.reveal-copy{position:absolute;left:0;right:0;bottom:0;text-align:center}.reveal-copy strong{display:block;color:var(--gold);font-size:20px}.ritual-progress{display:flex;justify-content:center;gap:7px;margin-bottom:18px}.ritual-progress i{width:7px;height:7px;border-radius:50%;background:var(--line)}.ritual-progress i.on{background:var(--shu);box-shadow:0 0 10px var(--shu)}.reading-head{text-align:center;margin-bottom:35px}.reading-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px}.panel{background:rgba(19,17,42,.8);border:1px solid var(--line);border-radius:16px;padding:25px}.panel h3{color:var(--gold);letter-spacing:.08em}.panel p{color:var(--muted)}.position-list{display:grid;gap:11px}.position-row{display:grid;grid-template-columns:46px 1fr;gap:13px;padding:12px;border:1px solid var(--line);border-radius:10px}.position-row img{width:46px;border-radius:3px}.position-row img.rev{transform:rotate(180deg)}.position-row b{display:block}.position-row small{color:var(--muted)}.symbols{display:flex;gap:8px;flex-wrap:wrap}.pill{border:1px solid var(--line);border-radius:999px;padding:5px 12px;color:var(--gold);font:12px var(--sans)}.journal{min-height:180px}.saved{color:var(--gold);min-height:1.8em}footer{position:relative;z-index:1;text-align:center;color:var(--muted);font-size:12px;padding:20px}@keyframes breathe{0%,100%{transform:scale(.86);opacity:.5}50%{transform:scale(1.05);opacity:1}}@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:760px){.site-head{padding-top:16px}.brand{font-size:14px}main{align-items:start;padding-top:45px}h1{font-size:38px}.cuts{grid-template-columns:repeat(3,90px);gap:12px}.cut{height:165px}.cut .back{width:90px}.cut span{top:172px}.spread-layout{display:block}.cross{height:520px}.staff{height:520px;margin-top:30px}.slot{width:78px}.reading-grid{grid-template-columns:1fr}.panel{padding:18px}.reveal-copy{position:static;margin-top:25px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.head-nav{display:flex;align-items:center;gap:18px}.head-nav a{color:var(--muted);font-size:13px}.catalog-main{display:block;padding-top:45px}.catalog-head{text-align:center;margin-bottom:32px}.filters{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:30px}.filters button{border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);padding:8px 15px;cursor:pointer;font:13px var(--sans)}.filters button.on{color:#17120a;background:var(--gold);border-color:var(--gold)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:26px 18px}.catalog-card{margin:0}.catalog-card img{display:block;width:100%;filter:drop-shadow(0 8px 10px var(--shadow));border-radius:8px}.catalog-card figcaption{padding:10px 2px 0}.catalog-card b{display:block}.catalog-card small{color:var(--muted)}.catalog-card details{margin-top:8px;color:var(--muted);font-size:13px}.catalog-card summary{cursor:pointer;color:var(--gold)}
