@font-face{font-family:Parlour;src:url('assets/italiana-400.ttf')}@font-face{font-family:DM;src:url('assets/dm-sans-400.ttf')}@font-face{font-family:DM;src:url('assets/dm-sans-600.ttf');font-weight:600}:root{--paper:#f5f1e8;--ink:#23312e;--muted:#6d746b;--line:#d4cdbd;--night:#1c263b;--gold:#c3aa72;--accent:#705846;--panel:#e9e6dc;--serif:Parlour,Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 DM,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:5px}header{max-width:1440px;margin:auto;padding:28px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:15px;text-decoration:none;line-height:1.3;font-size:10px;letter-spacing:2px}.brand b{font-size:18px;letter-spacing:4px;font-weight:400}.brand small{display:block;font-size:9px;letter-spacing:3px;margin-top:5px}.brandmark{font-size:49px;line-height:1}nav{display:flex;gap:35px}nav a{text-decoration:none;font-size:12px}.header-actions{display:flex;gap:10px}.header-actions button{background:none;border:1px solid var(--line);min-height:44px;padding:9px 17px;font-size:12px;color:var(--ink)}#menu{display:none}.hero{display:grid;grid-template-columns:1.05fr 1fr;max-width:1440px;margin:auto;min-height:680px;padding:66px 7% 70px;gap:40px;align-items:center}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.7px;margin:0 0 22px}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08}h1{font-size:clamp(52px,5.65vw,88px);letter-spacing:-2.8px;margin:20px 0 26px}h1 em{font-weight:400;color:var(--accent)}.intro{max-width:385px;color:var(--muted);font-size:14px;line-height:1.9;margin-bottom:28px}.primary{background:var(--ink);color:var(--paper);display:inline-flex;gap:42px;align-items:center;min-height:50px;padding:12px 22px;text-decoration:none;font-size:12px}.primary span:last-child{font-size:23px}.hero-note{font-size:10px;color:var(--muted);display:flex;gap:9px;align-items:center;margin-top:20px}.hero-note i{width:5px;height:5px;background:var(--accent);border-radius:50%}.hero-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:535px}.tarot-cover{width:280px;height:434px;background:var(--night);color:var(--gold);padding:13px;transform:rotate(9deg);box-shadow:16px 24px 40px #24302a20;z-index:1}.cover-inner{height:100%;border:1px solid var(--gold);outline:1px solid #c3aa7250;outline-offset:-7px;display:flex;align-items:center;flex-direction:column;padding:19px 12px}.cover-inner svg{width:100%;height:285px}.roman{font-family:Georgia;font-size:12px;letter-spacing:3px}.cover-title{font:24px var(--serif);letter-spacing:4px}.cover-sub{font-size:6px;letter-spacing:1.8px;margin-top:13px}.orbit{position:absolute;border:1px solid var(--line);width:445px;height:445px;border-radius:50%}.o2{width:480px;height:480px;border-style:dashed;opacity:.6}.star{position:absolute;color:var(--accent);z-index:2}.s1{left:2%;top:18%;font-size:44px}.s2{right:0;bottom:16%;font-size:73px}.s3{left:11%;bottom:12%;font-size:22px}.art-label,.art-bottom{position:absolute;font-size:8px;letter-spacing:3px;color:var(--muted)}.art-label{top:0;left:20%}.art-bottom{bottom:-10px;letter-spacing:2px}.ticker{display:flex;justify-content:center;align-items:center;gap:45px;background:var(--ink);color:var(--paper);padding:19px 24px;font-size:10px;letter-spacing:1px}.ticker>span:nth-child(odd){font-size:22px;color:var(--gold)}.section{max-width:1280px;margin:auto;padding:88px 5%}.section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:35px}h2{font-size:clamp(34px,3.2vw,49px);letter-spacing:-1px;margin:0}.section-head>p{font-size:12px;color:var(--muted);margin:0}.ritual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ritual{display:flex;flex-direction:column;text-align:left;border:1px solid var(--line);padding:27px 28px;background:transparent;color:var(--ink);text-decoration:none;transition:transform .2s,border-color .2s;min-width:0}.ritual:hover{transform:translateY(-5px);border-color:var(--accent)}.number{font-size:9px;letter-spacing:2px;color:var(--muted)}.ritual h3{font-size:29px;margin:15px 0 10px}.ritual p{font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 25px}.text-link{font-size:11px;border-top:1px solid var(--line);padding-top:18px;margin-top:auto;width:100%}.ritual-symbol{height:170px;display:flex;align-items:center;justify-content:center;position:relative}.cards-symbol span{display:grid;place-items:center;width:65px;height:103px;background:var(--night);border:1px solid var(--gold);outline:4px solid var(--night);color:var(--gold);font-size:30px;transform:rotate(-16deg)}.cards-symbol span:nth-child(2){transform:translateY(-10px);z-index:1}.cards-symbol span:nth-child(3){transform:rotate(16deg)}.number-symbol{font:115px var(--serif);color:#93734f}.number-symbol span{font:45px Georgia;position:absolute;right:20%;top:5%}.zodiac-symbol{font-size:95px;color:var(--accent)}.zodiac-symbol span{position:absolute;font-size:22px;letter-spacing:15px;bottom:10px}.horoscope{border-block:1px solid var(--line);display:grid;grid-template-columns:1fr 1.5fr;gap:65px;background:var(--panel)}.zodiac-intro p:not(.eyebrow){font-size:12px;color:var(--muted);max-width:280px;margin:24px 0}.zodiac-intro time{font-size:10px;letter-spacing:1px}.large-star{display:block;font-size:90px;line-height:1;margin-top:28px;color:var(--accent)}.signs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.sign{border:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:none;padding:20px 8px;color:var(--ink);display:flex;align-items:center;flex-direction:column;gap:6px}.sign:nth-child(3n){border-right:0}.sign:nth-last-child(-n+3){border-bottom:0}.sign:hover{background:#ffffff50}.sign .glyph{font-size:29px;color:var(--accent)}.sign b{font-size:12px;font-weight:400}.sign small{font-size:8px;color:var(--muted)}.more-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.more-grid button{display:flex;align-items:center;gap:25px;padding:30px 25px;border:1px solid var(--line);color:var(--ink);background:none;text-align:left}.more-grid button>span{font-size:50px;color:var(--accent)}.more-grid h3{font-size:26px;margin:0 0 8px}.more-grid p{font-size:11px;color:var(--muted);margin:0}.more-grid b{margin-left:auto;font-size:20px;font-weight:400}.style-section{text-align:center;border-top:1px solid var(--line);padding-block:60px}.style-section h2{font-size:34px;margin:20px 0 30px}.themes{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.themes button{padding:13px 20px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:11px;min-height:44px}.themes button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.about{text-align:center;max-width:850px;padding-top:35px}.about>span{font-size:45px}.about .eyebrow{margin-top:20px}.about>p:not(.eyebrow){max-width:650px;margin:22px auto;font-size:13px;color:var(--muted)}.about .privacy-note{font-size:10px!important}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;padding:30px 5%;font-size:10px;color:var(--muted)}.footer-brand{text-decoration:none;letter-spacing:1.5px}.footer-brand span{margin-left:10px;font-size:9px}.skip{position:absolute;top:-90px}.skip:focus{top:10px;z-index:10;background:white;padding:10px}dialog{width:min(880px,calc(100% - 30px));max-height:90dvh;background:var(--paper);color:var(--ink);border:1px solid var(--gold);padding:55px 40px;box-shadow:0 25px 90px #0005}dialog::backdrop{background:#101728b8;backdrop-filter:blur(5px)}.close{position:absolute;right:12px;top:8px;width:44px;height:44px;background:none;border:0;font-size:30px;color:var(--ink)}dialog h2{margin:10px 0 20px}dialog p{color:var(--muted);font-size:14px}dialog .eyebrow{margin:0}.controls{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}dialog button.action{background:var(--ink);color:var(--paper);border:0;padding:12px 20px;min-height:46px}dialog button.secondary{background:none;color:var(--ink);border:1px solid var(--line)}.drawn{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:20px}.drawn{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.drawn article{border:1px solid var(--line);padding:20px;text-align:center}.drawn h3{font-size:25px;margin:15px 0}.drawn p{font-size:12px}.card-face{background:var(--night);color:var(--gold);min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--gold);font-size:55px;gap:5px}.card-face small{font-size:9px;letter-spacing:2px}.prompt{border-left:2px solid var(--gold);padding-left:18px}.big-number{font:105px var(--serif);line-height:1.2;margin:20px 0}.reading-box{background:var(--panel);padding:25px;margin-top:22px}.reading-box h3{font-size:28px;margin:10px 0}.reading-box p:last-child{margin-bottom:0}label{display:block;margin:20px 0 5px}input{max-width:100%;min-height:46px;padding:10px 15px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}.error{color:#a83b32!important}.footnote{font-size:10px!important;border-top:1px solid var(--line);padding-top:15px;margin-top:25px!important}body[data-theme=carnival]{--paper:#f3e5c4;--ink:#52272b;--night:#632d35;--accent:#98532b;--line:#c6a374;--panel:#ead7ad;--gold:#e4c783}body[data-theme=carnival] .hero{background:repeating-linear-gradient(90deg,transparent 0 70px,#b18c4820 70px 140px)}body[data-theme=carnival] h1,body[data-theme=carnival] h2{text-shadow:2px 2px 0 #c6a37450}body[data-theme=minimal]{--paper:#f4f4f2;--ink:#26282b;--muted:#6a6b70;--night:#292b35;--accent:#75708b;--line:#d8d8df;--panel:#eae9ee;--gold:#c8c3d9}body[data-theme=minimal] .o2,body[data-theme=minimal] .star{display:none}html[lang=ja] h1{font-family:Georgia,'Yu Mincho',serif;font-size:clamp(44px,4.5vw,68px);line-height:1.4;letter-spacing:0}html[lang=ja] h2,html[lang=ja] h3{font-family:Georgia,'Yu Mincho',serif;line-height:1.5;letter-spacing:0}html[lang=ja] .ritual h3{font-size:23px}@media(min-width:1500px){.hero{padding-inline:100px}}@media(max-width:1000px){.hero{padding-inline:5%;gap:20px}.hero-art{transform:scale(.86);transform-origin:center}.orbit{width:380px;height:380px}.o2{width:410px;height:410px}nav{gap:18px}.ritual{padding:22px 20px}.ritual h3{font-size:25px}.horoscope{gap:30px}.ticker{gap:25px}}@media(max-width:700px){header{padding:18px 6%;position:relative}.brandmark{font-size:36px}.brand b{font-size:14px}.brand{font-size:8px}.brand small{font-size:8px}#menu{display:block;padding:5px 12px;font-size:20px}header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:22px 6%;border-bottom:1px solid var(--line);z-index:5}header nav.open{display:flex;flex-direction:column;gap:14px}.hero{grid-template-columns:1fr;padding:45px 7% 25px;gap:5px;min-height:0}.hero h1{font-size:59px;letter-spacing:-2px}.hero-copy{max-width:520px}.eyebrow{font-size:8px;letter-spacing:2px}.hero-art{min-height:440px;transform:scale(.82);margin-block:-10px -20px}.tarot-cover{width:260px;height:400px}.cover-inner svg{height:255px}.intro{font-size:13px}.art-label{top:-5px}.art-bottom{bottom:-15px;font-size:7px}.ticker{gap:14px;padding:13px 18px;justify-content:center}.ticker span:nth-child(n+4){display:none}.ticker{font-size:8px}.section{padding:55px 6%}.section-head{display:block}.section-head>p{margin-top:20px}.ritual-grid{grid-template-columns:1fr}.ritual{padding:24px;display:grid;grid-template-columns:1fr 110px;gap:8px 12px}.number{grid-column:1/-1}.ritual-symbol{grid-column:2;grid-row:2/5;height:130px;transform:scale(.85)}.ritual h3{grid-column:1;margin:15px 0 0;font-size:29px}.ritual p{grid-column:1;margin:0}.text-link{grid-column:1/-1;margin-top:12px}.cards-symbol span{min-width:45px;width:45px;height:78px;font-size:25px}.number-symbol{font-size:85px}.number-symbol span{right:0;font-size:32px}.zodiac-symbol{font-size:75px}.zodiac-symbol span{font-size:16px;letter-spacing:4px;bottom:10px}.horoscope{grid-template-columns:1fr;gap:25px}.zodiac-intro{position:relative}.zodiac-intro p:not(.eyebrow){max-width:80%;margin-block:17px}.large-star{position:absolute;right:5px;top:25px;font-size:65px}.sign{min-height:110px;padding:14px 5px}.more-grid{grid-template-columns:1fr;gap:15px}.more-grid button{padding:23px 18px;gap:18px}.more-grid h3{font-size:25px}.style-section h2{font-size:30px}.themes{flex-direction:column}.about h2{font-size:36px}footer{flex-wrap:wrap;padding:25px 6%}.footer-brand{width:100%}dialog{padding:52px 22px 25px}.drawn{grid-template-columns:1fr}.drawn article{display:grid;grid-template-columns:95px 1fr;gap:10px;text-align:left}.card-face{grid-row:1/5;font-size:40px;min-height:140px}.drawn article>small,.drawn article>h3,.drawn article>p{grid-column:2;margin:0}.drawn h3{font-size:22px}.big-number{font-size:85px}html[lang=ja] .hero h1{font-size:46px}html[lang=ja] .ritual h3{font-size:22px}.primary{min-height:48px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

.colour-swatch{width:100%;height:140px;border:1px solid var(--line);border-radius:4px;margin-bottom:20px}
/* Midnight editions: restrained light, deep velvet, antique gold. */
:root{color-scheme:dark;--paper:#0d101c;--ink:#eee6d8;--muted:#b1aaba;--line:#63536b;--night:#171326;--gold:#d3b77e;--accent:#dfbf86;--panel:#171725}
body{background:radial-gradient(ellipse at 83% 12%,#35244566,transparent 39%),radial-gradient(ellipse at 10% 55%,#1e2f3944,transparent 40%),var(--paper)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.42;background-image:radial-gradient(circle,#e6d5b9 0 .6px,transparent 1px),radial-gradient(circle,#d3b6e2 0 .7px,transparent 1.2px);background-size:137px 173px,251px 229px;background-position:17px 40px,73px 112px}
header{background:#0d101c66}.brandmark{color:var(--gold)}.hero{min-height:710px}.hero-art:before{content:"";position:absolute;width:95%;height:95%;border-radius:50%;background:radial-gradient(ellipse,#aa75b62b,transparent 67%);filter:blur(20px)}.tarot-cover{background:linear-gradient(145deg,#2a2036,#111420 70%);box-shadow:0 0 70px #b38bba18,20px 30px 60px #0009}.cover-inner{border-color:#b49b6b}.orbit{border-color:#8b719057}.o2{opacity:.65}.star{color:#dfc48b;text-shadow:0 0 25px #d2b78345}.primary{background:#d7ba84;color:#171323;border:1px solid #ead4aa;box-shadow:0 5px 25px #0004}.primary:hover{background:#ecd5ab}.ticker{background:#171321;color:#d7c7ac;border-block:1px solid #6a53644d}.ritual{background:linear-gradient(150deg,#29213566,#10152288);border-color:#62506b}.ritual:hover{background:linear-gradient(150deg,#43314d77,#151c2b);box-shadow:0 16px 35px #0003}.ritual h3{color:#f0e2ce}.number-symbol{color:#d6b57d}.cards-symbol span{background:#221c32;outline-color:#221c32}.horoscope{background:linear-gradient(125deg,#1e1829,#111b28)}.sign:hover{background:#c6a4cb12}.more-grid button{background:#201c2a80}.more-grid button:hover{border-color:var(--gold);background:#32263c88}.themes button[aria-pressed=true]{background:#d3b77e;color:#171323;border-color:#d3b77e}.about>span{color:var(--gold)}dialog{background:radial-gradient(ellipse at top right,#33223f,#111522 65%);border-color:#a38b66;box-shadow:0 30px 100px #000b}dialog::backdrop{background:#03050bd9;backdrop-filter:blur(8px)}dialog button.action{background:#d3b77e;color:#171323}dialog button.secondary{background:transparent;color:var(--ink)}.reading-box{background:#ffffff06;border:1px solid #62506b}.card-face{background:radial-gradient(ellipse,#35213c,#121624);box-shadow:inset 0 0 0 5px #121624}.colour-swatch{box-shadow:inset 0 0 30px #0002}.error{color:#ffb1aa!important}.skip:focus{background:#171323;color:#eee6d8}
body[data-theme=carnival]{--paper:#180c16;--ink:#f4dfbe;--night:#2a1121;--accent:#e8b878;--line:#81545d;--panel:#271522;--gold:#e1ba78;--muted:#c4aeb5;background:radial-gradient(ellipse at top,#54233166,transparent 65%),#180c16}body[data-theme=carnival] header{background:#180c1666}body[data-theme=carnival] .hero{background:repeating-linear-gradient(90deg,transparent 0 70px,#c79c4910 70px 140px)}body[data-theme=carnival] .tarot-cover{background:linear-gradient(145deg,#502033,#210e20)}body[data-theme=carnival] .horoscope{background:linear-gradient(135deg,#351b2b,#1b1020)}body[data-theme=carnival] .ritual{background:linear-gradient(150deg,#4a243377,#1b1020)}body[data-theme=carnival] h1,body[data-theme=carnival] h2{text-shadow:2px 2px 0 #ae703526}body[data-theme=carnival] dialog{background:linear-gradient(140deg,#33182b,#180c16)}
body[data-theme=minimal]{--paper:#101215;--ink:#ede9e5;--muted:#b1adb6;--night:#191b22;--accent:#d1c1df;--line:#5b5763;--panel:#19191f;--gold:#cfc1dc;background:#101215}body[data-theme=minimal]:before{display:none}body[data-theme=minimal] header{background:transparent}body[data-theme=minimal] .hero-art:before{display:none}body[data-theme=minimal] .tarot-cover{background:#191b22;box-shadow:12px 18px 35px #0006}body[data-theme=minimal] .ritual,body[data-theme=minimal] .horoscope,body[data-theme=minimal] .more-grid button{background:#19191f}body[data-theme=minimal] .primary,body[data-theme=minimal] .themes button[aria-pressed=true],body[data-theme=minimal] dialog button.action{background:#d1c1df;color:#171323}body[data-theme=minimal] dialog{background:#15171d}body[data-theme=minimal] dialog button.secondary{background:transparent;color:var(--ink)}
@media(max-width:700px){.hero{min-height:0}header nav{background:var(--paper);box-shadow:0 15px 30px #0006}.hero-art{margin-top:0}.primary{box-shadow:none}}

/* Clear entry points and compact, consistent reading hierarchy. */
html{scroll-padding-top:110px}header{position:sticky;top:0;z-index:20;max-width:none;padding:15px max(5%,calc((100vw - 1280px)/2));background:#0d101cf0;backdrop-filter:blur(18px)}header nav a{min-height:44px;display:flex;align-items:center;border-bottom:1px solid transparent}header nav a:hover{border-color:var(--gold);color:var(--gold)}.brandmark{font-size:39px}.brand b{font-size:16px}.brand small{margin-top:3px}.hero{min-height:580px;padding-top:45px;padding-bottom:40px}.hero h1{font-size:clamp(50px,5vw,74px)}.hero-art{min-height:485px}.hero-art .tarot-cover{width:245px;height:390px}.hero-art .cover-inner svg{height:245px}.hero-art .orbit{width:365px;height:365px}.hero-art .o2{width:405px;height:405px}.quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.quick-actions button,.quick-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 13px;border:1px solid var(--line);border-radius:5px;background:#ffffff04;color:var(--ink);font:11px DM,sans-serif;text-decoration:none}.quick-actions button:hover,.quick-actions a:hover{background:#d3b77e18;border-color:var(--gold)}.section{padding-block:64px}.ritual{border-radius:8px}.ritual .text-link{min-height:44px;display:flex;align-items:center;padding-block:12px}.ritual-symbol{height:145px}.ritual p{font-size:13px}.section-head>p{font-size:13px}.more{padding-top:0}.more .section-head{margin-bottom:25px}.more .section-head h2{font-size:32px}.more .eyebrow{margin-bottom:12px}.more-grid{gap:16px}.more-grid button{border-radius:8px;min-height:130px;transition:border-color .2s,background .2s}.more-grid h3{font-size:25px}.more-grid p{font-size:12px}.more-grid button>span{min-width:44px;text-align:center}.sign{border-radius:4px}.sign b{font-size:14px}.sign small{font-size:10px}.sign:hover{outline:1px solid var(--gold);outline-offset:-1px}.themes button{border-radius:5px;font-size:12px}.style-section{padding-block:45px}.about{padding-top:25px}dialog{padding-top:72px;border-radius:10px;scrollbar-gutter:stable}.close{top:12px;right:12px;display:flex;align-items:center;justify-content:center;gap:8px;width:auto;min-width:90px;height:44px;padding:4px 12px;border:1px solid var(--line);border-radius:5px;background:var(--paper);z-index:2}.close-label{font:12px DM,sans-serif}.controls{gap:12px}dialog button.action{border-radius:5px;min-height:48px}.reading-box{border-radius:6px}.drawn article{border-radius:6px}.drawn p{line-height:1.9}.card-face{border-radius:4px}body[data-theme=carnival] header{background:#180c16f2}body[data-theme=minimal] header{background:#101215f2}
@media(max-width:700px){html{scroll-padding-top:105px}header{padding:12px 5%}.brand small{display:none}.brandmark{font-size:32px}.header-actions button{padding-inline:12px}.hero{padding:32px 6% 30px;min-height:0;display:block}.hero h1{font-size:clamp(44px,11vw,59px);margin:15px 0 20px}.hero .intro{max-width:100%;margin-bottom:22px}.hero-art{display:none}.hero .eyebrow{max-width:100%;margin-bottom:15px}.primary{width:100%;justify-content:space-between;padding-inline:18px}.quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}.quick-actions button,.quick-actions a{font-size:10px;padding:8px 5px;text-align:center;line-height:1.5;min-height:48px}.hero-note{font-size:10px;margin-top:16px}.ticker{padding:10px 15px}.ticker span:nth-child(n+3){display:none}.section{padding:40px 6%}.section-head{margin-bottom:24px}.section-head>p{font-size:12px;margin-top:14px}.section h2{font-size:34px}.ritual-grid{gap:12px}.ritual{padding:20px;grid-template-columns:minmax(0,1fr) 95px;gap:7px 10px}.ritual-symbol{height:110px;transform:scale(.8)}.ritual h3{font-size:27px;line-height:1.2;margin-top:10px}.ritual p{font-size:12px;margin-top:5px}.ritual .text-link{padding-block:10px;margin-top:6px}.more{padding-top:0}.more .section-head h2{font-size:29px}.more-grid{gap:12px}.more-grid button{min-height:112px;padding:20px 16px;gap:16px}.more-grid h3{font-size:24px}.more-grid p{font-size:12px}.more-grid button>span{font-size:35px;min-width:35px}.horoscope{gap:20px}.signs{grid-template-columns:repeat(3,minmax(0,1fr))}.sign{min-height:110px}.sign b{font-size:13px}.sign small{font-size:9px}.zodiac-intro p:not(.eyebrow){max-width:85%;font-size:12px}.style-section h2{font-size:29px}.themes button{min-height:48px}.about>p:not(.eyebrow){font-size:13px}dialog{width:calc(100% - 20px);max-height:calc(100dvh - 24px);padding:70px 18px 25px}.close{right:10px;top:10px}.drawn article{grid-template-columns:78px minmax(0,1fr);padding:15px;gap:10px 14px}.card-face{min-height:130px;font-size:33px}.drawn h3{font-size:24px}.drawn p{font-size:13px}.controls>*{flex:1;min-width:120px}.reading-box{padding:20px}html[lang=ja] .hero h1{font-size:40px;line-height:1.45}html[lang=ja] .quick-actions button,html[lang=ja] .quick-actions a{font-size:10px}html[lang=ja] .more-grid h3{font-size:21px}html[lang=ja] .section h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){.more-grid button{transition:none}}
/* Keep mobile browser chrome and page headings clear of the header. */
@media(max-width:1000px){
 html{scroll-padding-top:24px}
 body>header{position:relative;top:auto;inset-block-start:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 12px;padding:14px 5%;z-index:5;backdrop-filter:none;background:var(--paper)}
 header .brand{min-width:0;gap:10px;grid-column:1;grid-row:1}header .brandmark{font-size:31px;flex-shrink:0}header .brand b{font-size:14px;letter-spacing:3px}header .brand small{display:none}header .brand>span:last-child{font-size:8px;letter-spacing:1.5px}
 header .header-actions{grid-column:2;grid-row:1;gap:8px;align-items:center}header .header-actions button{min-height:44px;padding:8px 11px;border-radius:5px}header #language{font-size:11px;white-space:nowrap}header #menu{display:block;font-size:22px;width:44px;padding:4px;line-height:1}
 header nav{display:none;position:static;inset:auto;grid-column:1/-1;grid-row:2;width:100%;padding:14px 0 0;margin-top:14px;border-top:1px solid var(--line);border-bottom:0;box-shadow:none;background:transparent}
 header nav.open{display:grid;grid-template-columns:1fr 1fr;gap:8px}header nav a{min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:5px;font-size:12px;line-height:1.5}header nav a:hover{background:#d3b77e12}
 body[data-theme=carnival]>header,body[data-theme=minimal]>header{background:var(--paper)}
}
@media(max-width:360px){header .brandmark{font-size:25px}header .brand b{font-size:12px;letter-spacing:2px}header .brand{gap:6px}header .header-actions{gap:5px}header #language{padding-inline:8px}header nav.open{grid-template-columns:1fr}}
.daily-home{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:30px;align-items:center;border-block:1px solid var(--line);background:linear-gradient(125deg,#2e203c77,#13223166);margin-top:50px;padding-block:40px}.daily-home h2{font-size:37px}.daily-date{font-size:11px;color:var(--gold)}.daily-prompt{font-size:19px;max-width:700px;line-height:1.8;color:#e5dbea}.daily-home>span{font-size:100px;color:var(--gold);text-align:center}.daily-save{min-height:46px;background:transparent;border:1px solid var(--gold);color:var(--ink);padding:10px 18px;border-radius:5px;font:12px DM,sans-serif}.daily-save:hover{background:#d3b77e18}.daily-caption{font-size:10px;color:var(--muted);margin:15px 0 0}.download-result{display:block;margin-top:22px}.library-promo{border-top:1px solid var(--line)}.library-promo>p:not(.eyebrow){max-width:600px;color:var(--muted);margin:22px 0}.library-promo h2{max-width:700px}footer{flex-wrap:wrap}footer nav{width:100%;display:flex;flex-wrap:wrap;gap:20px;font-size:11px}footer nav a{min-height:44px;display:flex;align-items:center}@media(max-width:700px){.daily-home{margin-top:24px;grid-template-columns:1fr;gap:0;padding-block:28px}.daily-home>span{display:none}.daily-home h2{font-size:29px}.daily-prompt{font-size:17px}.daily-save{width:100%;min-height:48px}.library-promo h2{font-size:31px}.daily-caption{font-size:11px}.download-result{width:100%}}
.games-section{border-top:1px solid var(--line)}.games-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.game-tile{display:flex;flex-direction:column;align-items:flex-start;background:linear-gradient(140deg,#33243f77,#171c2b);border:1px solid var(--line);border-radius:8px;padding:23px 18px;color:var(--ink);text-align:left;min-height:245px}.game-tile:hover{border-color:var(--gold);background:#3a294866}.game-icon{font-size:36px;color:var(--gold);min-height:60px}.game-tile h3{font-size:25px;line-height:1.25;margin:8px 0 12px}.game-tile p{font-size:12px;line-height:1.7;color:var(--muted);margin:0 0 20px}.game-play{font-size:11px;color:var(--gold);margin-top:auto}.game-emblem{font-size:70px;line-height:1.8;text-align:center;margin:20px 0;overflow-wrap:anywhere;color:var(--gold)}#petal-count{font-size:36px;letter-spacing:10px;line-height:2}.game-choices{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.game-choices button{flex:1;min-width:110px}.game-choices.symbols button{font-size:26px;min-width:65px}.game-choices.stones{display:grid;grid-template-columns:repeat(3,1fr)}.game-choices.stones button{min-width:0;min-height:80px;border-radius:24px 18px 28px 20px;background:#ffffff06}.game-choices.doors button{min-height:145px;border-radius:65px 65px 4px 4px;font-size:20px}.crystal-sphere{display:grid;place-items:center;width:170px;height:170px;border-radius:50%;margin:25px auto;background:radial-gradient(circle at 30% 25%,#eddbff77,#8d6b9f44 30%,#221b4088 65%,#55406a);box-shadow:0 0 50px #c4a3df22,inset -10px -12px 30px #05081399;font-size:55px;color:#e2cce9}.hidden-card{margin:20px auto;width:100px;height:135px;display:grid;place-items:center;border:1px solid var(--gold);background:#251c36;font:60px Georgia;color:var(--gold);border-radius:8px}.result-glyph{display:block;font-size:48px;color:var(--gold);line-height:1.5}.game-result h3{line-height:1.5}#game-replay{margin-top:18px}#game-controls button:disabled{opacity:.45;cursor:default}#crystal-focus{max-width:100%;min-height:48px;background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:10px 15px;border-radius:4px}html[lang=ja] .game-tile h3{font-size:20px}body[data-theme=carnival] .game-tile{background:linear-gradient(130deg,#492137,#21101d)}body[data-theme=minimal] .game-tile{background:#19191f}@media(min-width:1001px) and (max-width:1200px){header nav{gap:17px}header nav a{font-size:11px}}@media(max-width:1000px){.games-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.game-tile{min-height:225px}}@media(max-width:600px){.games-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.game-tile{padding:20px 15px;min-height:235px}.game-tile h3{font-size:25px}.game-tile p{font-size:12px}.game-icon{font-size:32px;min-height:45px}html[lang=ja] .game-tile h3{font-size:20px}.game-choices.stones{grid-template-columns:repeat(2,1fr)}.game-choices.doors{gap:8px}.game-choices.doors button{min-width:0;min-height:125px;font-size:16px;padding-inline:8px}.game-choices.symbols{gap:7px}.game-choices.symbols button{min-width:40px;padding:8px;font-size:24px}.game-emblem{font-size:60px}#petal-count{font-size:28px;letter-spacing:6px}}

/* Game-specific anticipation and gentle result reveals. */
#game-controls { perspective: 900px; }
.game-playing-status { color: var(--gold, #d2b77c); font-size: .875rem; text-align: center; min-height: 1.5em; }
.game-playing button:disabled { cursor: wait; opacity: .75; }
.game-playing .game-emblem, .game-playing .crystal-sphere, .game-playing .hidden-card, .game-playing .game-chosen { will-change: transform, opacity; }
.game-playing[data-motion="coin"] .game-emblem { animation: coin-toss 1.1s ease-in-out both; }
.game-playing[data-motion="dice"] .game-emblem { animation: dice-roll .25s ease-in-out 4; }
.game-playing[data-motion="compass"] .compass-face { animation: compass-turn 1.1s cubic-bezier(.2,.6,.2,1) both; }
.game-playing[data-motion="cookie"] .game-emblem { animation: cookie-crack 1.1s ease both; }
.game-playing[data-motion="crystal"] .crystal-sphere { animation: sphere-glow 1.1s ease both; }
.game-playing[data-motion="stone"] .game-chosen, .game-playing[data-motion="guess"] .hidden-card { animation: symbol-turn 1.1s ease both; }
.game-playing[data-motion="door"] .game-chosen { transform-origin: left center; animation: door-open 1.1s ease both; }
.game-playing[data-motion="moon"] .game-chosen { animation: sphere-glow 1.1s ease both; }
.game-playing[data-motion="petal"] .game-emblem { animation: petal-drift .42s ease both; }
.game-reveal .game-result { animation: reading-reveal .5s ease both; }
@keyframes coin-toss { 0% {transform:translateY(0) rotateY(0)} 45% {transform:translateY(-28px) rotateY(720deg)} 100% {transform:translateY(0) rotateY(1440deg)} }
@keyframes dice-roll { 0%,100% {transform:translate(0) rotate(0)} 30% {transform:translate(-8px,-8px) rotate(-12deg)} 70% {transform:translate(8px,3px) rotate(12deg)} }
@keyframes compass-turn { from {transform:rotate(0)} to {transform:rotate(1080deg)} }
@keyframes cookie-crack { 20%,40% {transform:rotate(-10deg)} 30%,50% {transform:rotate(10deg)} 80% {transform:scale(1.2);opacity:.5} 100% {transform:scale(1);opacity:1} }
@keyframes sphere-glow { 50% {transform:scale(1.05);filter:brightness(1.45);box-shadow:0 0 38px #b69bdb55} }
@keyframes symbol-turn { 50% {transform:rotateY(90deg);opacity:.4} 100% {transform:rotateY(0);opacity:1} }
@keyframes door-open { 70% {transform:rotateY(-50deg);filter:brightness(1.5)} 100% {transform:rotateY(0)} }
@keyframes petal-drift { 50% {transform:translateY(8px) rotate(4deg);opacity:.4} }
@keyframes reading-reveal { from {opacity:0;transform:translateY(10px)} to {opacity:1;transform:translateY(0)} }
@media (prefers-reduced-motion: reduce) { #game-controls *, .game-reveal .game-result {animation:none!important;transition:none!important;will-change:auto!important} }
.japanese-game .game-icon {font-family:serif;color:#e0b3a1}
.japanese-emblem {border:1px solid #d2b77c;border-radius:12px;max-width:100px;margin:1rem auto;padding:18px;background:#321e30}
.daruma-face {border-radius:48% 48% 42% 42%;background:#782f40;color:#fff4de;max-width:160px;margin:1rem auto;padding:25px 12px;font-size:2rem}
.amida-board {display:block;width:min(100%,260px);height:auto;margin:20px auto;color:#9a8ca8}
.game-playing[data-motion="omikuji"] .game-emblem {animation:dice-roll .25s ease-in-out 4}
.game-playing[data-motion="daruma"] .daruma-face {animation:sphere-glow 1.1s ease both}
.game-playing[data-motion="amida"] .amida-board {animation:sphere-glow 1.1s ease both}
#amida-trace[points]:not([points=""]) {stroke-dasharray:1000;animation:amida-route 1.2s ease both}
@keyframes amida-route {from {stroke-dashoffset:1000}to {stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){#amida-trace{animation:none!important}}
.solar-background {position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at var(--solar-x,50%) 20%,#b66f2824,transparent 60%)}
.solar-background i {position:absolute;left:var(--solar-x,50%);top:15%;width:clamp(180px,30vw,430px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#edb96722,#a376ab14 45%,transparent 70%);animation:solar-drift 32s ease-in-out infinite alternate}
.solar-background b {position:absolute;width:65vw;height:65vw;border:1px solid #d1b8750c;border-radius:50%;left:20%;top:5%;animation:solar-drift 45s ease-in-out infinite alternate-reverse}
.sky-clock {padding:22px max(24px,6vw);display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;border-bottom:1px solid #b9a6c522;background:#111220a6;text-align:center;font-size:.85rem}
.sky-clock>span {letter-spacing:.12em;color:#d2b77c;font-size:.7rem}.sky-clock time{font-variant-numeric:tabular-nums}.sky-clock small{color:#9a91a4}
.publisher-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0 36px}.publisher-card,.news-pick{border:1px solid #b9a6c533;padding:24px;background:#17152299;border-radius:12px}.publisher-card{text-decoration:none;color:inherit}.publisher-card:hover{border-color:#d2b77c}.publisher-card h3{font-size:1.2rem}.publisher-card p{font-size:.9rem}.publisher-card small,.news-pick small{color:#a89fb1}.news-pick a{color:#e5c786}
@keyframes solar-drift{from{transform:translate(-10%,0) scale(.9)}to{transform:translate(10%,12%) scale(1.15)}}
@media(max-width:700px){.publisher-grid{grid-template-columns:1fr}.sky-clock{flex-direction:column;gap:6px}.sky-clock time{line-height:1.7;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.solar-background i,.solar-background b{animation:none}}
.solar-background{z-index:0}main,footer,.sky-clock{position:relative;z-index:1}
.daily-launcher{padding:20px max(24px,6vw);text-align:center}
#daily-dialog{position:fixed;inset:0;margin:auto;width:min(560px,calc(100% - 32px));max-width:560px;max-height:calc(100dvh - 48px);overflow:auto;padding:44px 28px 28px;border:1px solid #8d739f;border-radius:20px;background:#181422;color:#f0e9db;box-shadow:0 24px 100px #0009}
#daily-dialog::backdrop{background:#060810c9;backdrop-filter:blur(6px)}
#daily-dialog .daily-home{display:block;margin:0;padding:0;border:0;width:100%;background:none}
#daily-dialog .daily-home>span{display:none}#daily-dialog h2{font-size:clamp(2rem,6vw,3rem);line-height:1.15;margin:16px 0}#daily-dialog .daily-prompt{font-size:1.15rem;line-height:1.7}#daily-dialog .daily-caption{margin-top:18px}#daily-dialog #continue-daily{width:100%;margin-top:20px}
.daily-dismiss{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;background:transparent;color:#e2d4ed;font-size:28px;border-radius:50%;cursor:pointer}.daily-dismiss:hover{background:#ffffff10}
@media(max-width:600px){#daily-dialog{padding:48px 22px 24px}#daily-dialog .daily-save{width:100%}}
#daily-title small{display:block;font-family:inherit;font-size:.55em;margin-top:10px;letter-spacing:.06em;color:#d2b77c}
#daily-prompt>span{display:block}#daily-prompt>span[lang="ja"]{margin-top:18px;padding-top:18px;border-top:1px solid #b9a6c52b;font-size:.95em;line-height:1.9;color:#d3c6de}
.ambient-controls{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;padding:14px 24px;background:#151120;border-bottom:1px solid #b9a6c522;font-size:.8rem}.ambient-controls button{min-height:44px;padding:8px 16px;border:1px solid #b39bc0;border-radius:24px;background:transparent;color:#f0e9db;cursor:pointer}.ambient-controls button[aria-pressed="true"]{background:#3e2e51}.ambient-controls input{width:100px;accent-color:#d2b77c;min-height:44px}.ambient-controls small{color:#b4a6be}@media(max-width:600px){.ambient-controls{gap:8px}.ambient-controls small{flex-basis:100%;text-align:center}}

.game-entry{display:flex;flex-direction:column;min-width:0}.game-entry .game-tile{flex:1;width:100%}.game-guide-link{display:block;text-align:center;padding:12px;color:#d2b77c;font-size:.85rem;min-height:44px}.game-guide-link:focus-visible{outline:2px solid #d2b77c;outline-offset:2px}
