:root{--color-bg:#0a0a0a;--color-white:#fafafa;--color-grey:#e6e6e6;--grid-margin:30px;--grid-gutter:16px;--ease-spring:linear(0, .0014, .0055 1.03%, .0239, .053 3.44%, .0961 4.81%, .1957 7.39%, .4354 12.88%, .5484, .6494, .7362, .8083 23.88%, .8696, .9168 29.72%, .9368, .9536 32.81%, .9793 35.9%, .997 39.17%, 1.0084 42.77%, 1.0142 47.07%, 1.0144 53.43%, 1.0054 68.37%, 1.0019 77.3%, .9998 99.98%);color:var(--color-white);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{overscroll-behavior:none;margin:0}button,input,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus,button:focus-visible{outline:none}img{display:block}@media (width<=760px){:root{--grid-margin:18px}}.app-shell{background:var(--color-bg);min-height:100svh;color:var(--color-white);overflow:hidden}.background-grid{z-index:0;background:linear-gradient(#ffffff09 1px,#0000 1px) 0 0/76px 76px,linear-gradient(90deg,#ffffff09 1px,#0000 1px) 0 0/76px 76px,radial-gradient(circle at 48% 40%,#d6f35f24,#0000 28%) 0 0/cover,#0a0a0a 0 0/cover;position:fixed;inset:0}.vignette{background:radial-gradient(#0000 0 40%,#0a0a0abf 76%),linear-gradient(#0a0a0a33,#0a0a0a 96%);position:absolute;inset:0}.home{z-index:1;opacity:0;height:100svh;transition:opacity .7s ease, transform 1s var(--ease-spring);position:relative;transform:scale(1.04)}.home.entered{opacity:1;transform:scale(1)}.spiral-stage,.list-stage{opacity:0;pointer-events:none;transition:opacity .72s ease, transform .95s var(--ease-spring), filter .72s ease;position:absolute;inset:0}.spiral-stage{filter:blur(10px);transform:translateY(-26px)scale(.965)}.list-stage{padding:130px var(--grid-margin) 90px;filter:blur(10px);display:block;overflow:hidden auto;transform:translateY(52px)scale(.94)}.spiral-stage.active,.list-stage.active{filter:blur();opacity:1;pointer-events:auto;transform:none}.canvas-loading{color:var(--color-white);white-space:nowrap;font-weight:700;display:inline-flex}.loader{color:var(--color-white);z-index:100;background:#0a0a0a;flex-direction:column;justify-content:center;align-items:center;animation:.55s both loader-in;display:flex;position:fixed;inset:0}.loader-brand{margin-bottom:28px;font-size:clamp(44px,9vw,112px)}.loader-line{text-align:center;max-width:min(680px,100vw - 40px);font-size:clamp(20px,3vw,30px);font-weight:700}.enter-button{color:#0a0a0a;cursor:pointer;opacity:0;transition:opacity .3s ease, transform .55s var(--ease-spring);background:#fafafa;border:0;border-radius:999px;margin-top:32px;padding:15px 21px;font-size:18px;font-weight:800;transform:translateY(16px)}.enter-button.show,.no-sound.show{opacity:1;transform:translateY(0)}.no-sound{bottom:var(--grid-margin);color:#fafafab8;cursor:pointer;opacity:0;background:0 0;border:0;font-size:14px;position:absolute;transform:translateY(16px)}.no-sound small{color:#0a0a0a;background:#d6f35f;border-radius:999px;margin-left:0;padding:4px 9px;font-size:11px;font-weight:950;display:inline-flex;transform:rotate(-7deg)translateY(-2px)}.loader-percent{bottom:var(--grid-margin);font-variant-numeric:tabular-nums;left:var(--grid-margin);font-weight:800;position:absolute}.brand-button,.menu-trigger,.mode-switch,.draw-sticker,.sound-button{z-index:30;position:fixed}.brand-button{color:#fafafa;cursor:pointer;left:var(--grid-margin);top:var(--grid-margin);background:0 0;border:0;padding:0;display:inline-flex}.brand-mark{color:#fafafa;letter-spacing:0;text-shadow:0 10px 34px #d6f35f38;white-space:nowrap;font-size:22px;font-weight:950;line-height:1;display:inline-flex}.brand-hot{color:#d6f35f}.brand-mark em{color:#fafafa9e;margin-left:.32em;font-size:.7em;font-style:normal;transform:translateY(.12em)}.mode-switch{left:50%;top:calc(var(--grid-margin) + 16px);align-items:center;gap:18px;display:flex;transform:translate(-50%)}.mode-switch button{color:#fafafa6b;cursor:pointer;background:0 0;border:0;font-size:18px;font-weight:800;transition:color .2s,transform .2s}.mode-switch button.active{color:#fafafa}.mode-switch button:hover{transform:translateY(-2px)}.mode-switch i{background:#fafafa;border-radius:50%;width:8px;height:8px}.menu-trigger{color:#0a0a0a;cursor:pointer;min-width:118px;height:56px;right:var(--grid-margin);transform-origin:100%;top:var(--grid-margin);will-change:transform, border-radius;background:#fafafa;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:16px 20px;font-size:18px;font-weight:850;display:inline-flex;overflow:hidden}.menu-trigger:before{content:"";opacity:0;height:120%;transition:opacity .3s ease, transform .62s var(--ease-spring);background:radial-gradient(circle,#d6f35f3d,#0000 62%);width:70%;position:absolute;top:-10%;left:-30%;transform:translate(-45%)scale(.8)}.menu-trigger:hover:before{opacity:1;transform:translate(140%)scale(1.2)}.menu-label{z-index:1;gap:.01em;display:inline-flex;position:relative;overflow:hidden}.menu-letter{will-change:transform, opacity;display:inline-block}.menu-dot{transform-origin:50%;z-index:1;background:#0a0a0a;border-radius:50%;width:6px;height:6px;position:relative}.menu-trigger.open .menu-label{opacity:.28}.menu-panel{color:#0a0a0a;height:calc(100svh - var(--grid-margin) * 2);opacity:0;pointer-events:none;right:var(--grid-margin);top:var(--grid-margin);transform-origin:100% 0;transition:transform .85s var(--ease-spring), opacity .25s ease;width:min(465px, calc(100vw - var(--grid-margin) * 2));z-index:50;background:#fafafa;border-radius:24px;flex-direction:column;justify-content:center;padding:48px;display:flex;position:fixed;overflow:hidden;transform:scale(.14)}.menu-backdrop{cursor:default;opacity:0;pointer-events:none;z-index:45;background:#00000094;border:0;transition:opacity .35s;position:fixed;inset:0}.menu-backdrop.open{opacity:1;pointer-events:auto}.menu-panel.open{opacity:1;pointer-events:auto;transform:scale(1)}.menu-close{color:#0a0a0a;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;font-size:18px;font-weight:850;display:flex;position:absolute;top:20px;right:20px}.menu-close span{color:#fafafa;background:#0a0a0a;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.menu-panel nav{flex-direction:column;gap:18px;display:flex}.menu-panel nav button{color:#0a0a0a;cursor:pointer;text-align:left;transition:padding-left .45s var(--ease-spring);background:0 0;border:0;padding:0;font-size:clamp(58px,7vw,82px);font-weight:950;line-height:.9;position:relative}.menu-panel nav button:before{content:"";opacity:0;height:20px;transition:opacity .35s ease, transform .45s var(--ease-spring);background:#0a0a0a;border-radius:50%;width:20px;position:absolute;top:50%;left:0;transform:translateY(-50%)scale(0)}.menu-panel nav button:hover{padding-left:36px}.menu-panel nav button:hover:before{opacity:1;transform:translateY(-50%)scale(1)}.menu-panel footer{position:absolute;bottom:34px;left:48px;right:48px}.menu-panel footer p{margin-bottom:18px;font-weight:800}.menu-panel footer div{flex-wrap:wrap;gap:10px;display:flex}.menu-panel footer span{color:#fafafa;background:#0a0a0a;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:800}.draw-sticker{cursor:pointer;height:248px;transition:transform .35s var(--ease-spring);background:0 0;border:0;width:302px;padding:0;bottom:-82px;left:-62px;transform:rotate(-15deg)}.draw-sticker:hover{transform:rotate(-10deg)translateY(-10px)scale(1.04)}.draw-sticker img{object-fit:cover;border-radius:16px;width:141px;height:188px;position:absolute;top:82px;left:52px;transform:rotate(2deg);box-shadow:0 12px 24px #00000057}.draw-sticker-ring{color:#fafafa;width:302px;height:248px;display:block;position:absolute;top:0;left:0}.draw-sticker-ring text{fill:#fafafa;letter-spacing:.045em;text-shadow:0 2px 8px #0009;font-size:17px;font-weight:850}.sound-button{bottom:var(--grid-margin);color:#0a0a0a;cursor:pointer;height:48px;right:var(--grid-margin);background:#fafafa;border:0;border-radius:50%;justify-content:center;align-items:center;width:48px;transition:transform .2s,background .2s;display:flex}.sound-button:hover{transform:scale(.9)}.sound-button.active{background:#d6f35f}.hover-card-label{bottom:calc(var(--grid-margin) + 12px);color:#0a0a0a;opacity:0;pointer-events:none;transition:opacity .18s ease, transform .42s var(--ease-spring);white-space:nowrap;z-index:25;background:#fafafaf5;border-radius:999px;align-items:center;gap:12px;padding:12px 18px;display:flex;position:fixed;left:50%;transform:translate(-50%,14px)scale(.96);box-shadow:0 16px 40px #00000047}.hover-card-label.show{opacity:1;transform:translate(-50%)scale(1)}.hover-card-label span{color:#0a0a0a7a;font-size:13px;font-weight:900}.hover-card-label strong{font-size:17px;font-weight:950}.card-list-wrap{flex-direction:column;gap:8px;width:100%;max-width:none;min-height:180svh;margin-inline:auto;padding-block:16vh;display:flex}.list-card-preview{filter:drop-shadow(0 28px 56px #0000008a);opacity:0;pointer-events:none;transition:opacity .18s ease, transform .42s var(--ease-spring);z-index:24;position:fixed;transform:translate(28px,-50%)rotate(2deg)scale(.92)}.list-card-preview.show{opacity:1;transform:translate(34px,-50%)rotate(0)scale(1)}.list-card-preview.pull-left.show{transform:translate(calc(-100% - 34px),-50%)rotate(0)scale(1)}.list-card-preview img{aspect-ratio:3/4;object-fit:contain;border-radius:16px;width:min(285px,28vw);max-height:min(360px,42svh)}.list-card-title{--list-x:0px;color:#fafafa5c;cursor:pointer;letter-spacing:0;opacity:0;text-align:center;transition:color .24s ease, opacity .24s ease, transform .42s var(--ease-spring);transform:translate(var(--list-x), 32px);white-space:nowrap;z-index:22;background:0 0;border:0;align-self:center;width:max-content;padding:0;font-size:clamp(52px,7.6vw,118px);font-weight:950;line-height:.94;position:relative}.list-stage.active .list-card-title{animation:list-title-in .82s var(--ease-spring) both}.list-card-title:nth-child(3n+2){--list-x:-3.5vw}.list-card-title:nth-child(3n){--list-x:3vw}.card-list-wrap:has(.list-card-title:hover) .list-card-title:not(:hover){color:#fafafa38}.list-card-title:hover{color:#fafafa;transform:translate(var(--list-x), 0) scale(1.035)}.detail-page,.info-page{min-height:100svh;padding:110px var(--grid-margin) 70px;z-index:5;grid-template-columns:minmax(280px,42vw) minmax(320px,650px);gap:44px;animation:1s cubic-bezier(.16,1,.3,1) both page-reveal;display:grid;position:relative;overflow:auto}.detail-page:before,.info-page:before{content:"";pointer-events:none;transform-origin:top;z-index:80;background:radial-gradient(at 50% 42%,#d6f35f1a,#0000 32%),#050505;animation:1.05s cubic-bezier(.76,0,.24,1) both route-curtain;position:fixed;inset:-12vh 0}.detail-card-art,.detail-copy,.info-page>section,.back-link{animation:1.05s cubic-bezier(.16,1,.3,1) both layered-content-in}.detail-copy,.info-page>section{animation-delay:.12s}.back-link{animation-delay:.22s}.card-flight{pointer-events:none;z-index:120;place-items:center;display:grid;position:fixed;inset:0}.card-flight:before{content:"";opacity:0;background:#0000006b;animation:.82s both flight-dim;position:absolute;inset:0}.card-flight img{aspect-ratio:3/4;filter:drop-shadow(0 42px 80px #0009);transform-origin:50%;width:min(390px,72vw);max-height:min(78svh,720px);animation:card-flight .82s var(--ease-spring) both;border-radius:18px;position:relative}.detail-card-art{perspective:1600px;justify-content:center;align-self:center;display:flex}.detail-card-art img{aspect-ratio:3/4;filter:drop-shadow(0 30px 58px #0000008c);object-fit:contain;max-width:min(470px,100%);max-height:calc(100svh - 180px);transition:transform .72s var(--ease-spring), filter .42s ease;width:100%;transform:rotate(-3deg)rotateY(8deg)}.detail-card-art:hover img{filter:drop-shadow(0 42px 76px #000000b8);transform:rotate(-1deg)rotateY(-10deg)translateY(-10px)}.detail-copy{color:#0a0a0a;background:#fafafaf0;border-radius:24px;align-self:center;max-height:calc(100svh - 160px);padding:clamp(24px,4vw,48px);overflow:auto}.back-link{color:#0a0a0a;cursor:pointer;left:var(--grid-margin);top:var(--grid-margin);z-index:30;background:#fafafaf2;border:0;border-radius:999px;align-items:center;gap:8px;padding:12px 16px;font-size:16px;font-weight:850;display:inline-flex;position:fixed}.eyebrow{letter-spacing:.06em;text-transform:uppercase;margin:0 0 12px;font-size:14px;font-weight:950}.detail-copy h1,.info-page h1{letter-spacing:0;margin:0;font-size:clamp(46px,7vw,88px);font-weight:950;line-height:.94}.code-tag{color:#fafafa;background:#0a0a0a;border-radius:999px;margin:18px 0 0;padding:8px 12px;font-size:14px;font-weight:900;display:inline-flex}.summary{border-left:4px solid #0a0a0a;margin:24px 0;padding-left:16px;font-size:18px;font-weight:800;line-height:1.55}.tab-row{flex-wrap:wrap;gap:8px;margin:0 0 22px;display:flex}.tab-row button,.detail-actions button{color:#0a0a0a;cursor:pointer;background:#e8e8e8;border:0;border-radius:999px;padding:10px 14px;font-weight:850}.tab-row button.active{color:#fafafa;background:#0a0a0a}.detail-copy article,.info-page article{flex-direction:column;gap:20px;display:flex}.detail-copy article p,.info-page article p{margin:0;font-size:16px;line-height:1.9}.detail-actions{justify-content:space-between;gap:10px;margin-top:28px;display:flex}.info-page{grid-template-columns:minmax(0,1120px);justify-content:center;display:grid}.info-page section{color:#fafafa;background:0 0;border-radius:24px;align-self:start;max-width:1120px;padding:0}.info-page .info-document-section{box-shadow:none;color:#fafafa;max-width:min(1120px, calc(100vw - var(--grid-margin) * 2));background:0 0;border:0;padding:0;overflow:visible}.info-document-section>svg,.info-document-section>.eyebrow,.info-document-section>h1{display:none}.document-article{scroll-behavior:smooth;background:0 0;border-radius:0;gap:clamp(34px,6vw,86px);max-height:calc(100svh - 44px);padding:clamp(24px,5vw,54px) clamp(24px,13vw,210px) 80px;overflow:auto}.document-article h1{color:#fafafa;margin:0;font-size:clamp(23px,2.45vw,34px);font-weight:720;line-height:1.12}.document-article h2{color:#fafafa75;border-top:0;margin:20px 0 -18px;padding-top:0;font-size:clamp(20px,2.15vw,29px);font-weight:620;line-height:1.08}.document-article h3{color:#fafafa94;margin:8px 0 0;font-size:clamp(17px,1.8vw,24px);font-weight:680;line-height:1.16}.document-article h4{color:#fafafa8a;margin:0;font-size:20px;font-weight:950;line-height:1.4}.document-article p{color:#fafafa;transform-origin:0;will-change:opacity, filter, letter-spacing, word-spacing;max-width:860px;margin:0;font-size:clamp(16px,1.75vw,25px);font-weight:560;line-height:1.34}.document-article blockquote{border-left:0;flex-direction:column;gap:4px;margin:0;padding:0;display:flex}.document-article blockquote p{font-style:italic;font-weight:750;line-height:1.5}.document-article ul,.document-article ol{color:#fafafa;flex-direction:column;gap:9px;max-width:860px;margin:0;padding-left:1.25em;font-size:clamp(15px,1.6vw,23px);font-weight:560;line-height:1.36;display:flex}.document-article hr{background:#fafafa1f;border:0;width:100%;height:1px;margin:6px 0}.markdown-table-wrap{width:100%;max-width:100%;overflow-x:auto}.markdown-table-wrap table{border-collapse:collapse;color:#fafafa;width:100%;min-width:720px;font-size:15px;line-height:1.5}.markdown-table-wrap th,.markdown-table-wrap td{text-align:left;vertical-align:top;border-bottom:1px solid #fafafa29;padding:13px 12px}.markdown-table-wrap th{color:#d6f35f;font-weight:950}.document-article code{background:#fafafa1a;border-radius:6px;padding:0 5px;font-family:inherit;font-weight:850}.info-page .document-article h1{color:#fafafa;margin:0;font-size:clamp(23px,2.45vw,34px);font-weight:720;line-height:1.12}.info-page .document-article h2{color:#fafafa75;margin:48px 0 8px;font-size:clamp(20px,2.15vw,29px);font-weight:620;line-height:1.08}.info-page .document-article h3{color:#fafafa94;margin:8px 0 0;font-size:clamp(17px,1.8vw,24px);font-weight:680;line-height:1.16}.info-page .document-article p{color:#fafafa;max-width:860px;margin:0;font-size:clamp(16px,1.75vw,25px);font-weight:560;line-height:1.34}.info-page .document-article li{font-size:clamp(15px,1.6vw,23px);line-height:1.36}.info-page .document-article blockquote p{font-size:clamp(16px,1.75vw,25px);line-height:1.36}.info-page svg{margin-bottom:14px}.draw-page{grid-template-columns:minmax(0, min(1280px, calc(100vw - var(--grid-margin) * 2)));align-items:center;height:100svh;min-height:100svh;overflow:hidden auto}.draw-page section{max-width:min(1280px, calc(100vw - var(--grid-margin) * 2));text-align:center;width:100%}.ritual-draw{align-items:start;padding-block:70px 34px;overflow:hidden auto}.ritual-draw section{color:#fafafa;background:0 0;padding:0}.ritual-draw h1{letter-spacing:0;white-space:normal;max-width:980px;margin:0 auto;font-size:clamp(40px,5.9vw,88px);font-weight:950;line-height:.92}.divination-hub,.three-spread-page{align-items:center;gap:14px;min-height:calc(100svh - 122px);display:grid;position:relative}.table-scene{isolation:isolate;width:100%;height:clamp(330px,46svh,450px);position:relative;overflow:visible}.table-scene:before,.spread-table:before{content:"";filter:saturate(.96)contrast(1.04);-webkit-mask-composite:source-in;opacity:.96;pointer-events:none;transform-origin:50%;z-index:0;background:url(/ritual/table-scene.png) 50%/contain no-repeat;animation:1.15s cubic-bezier(.16,1,.3,1) both table-scene-in;position:absolute;inset:-11% 0 -7%;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#0003 16%,#000 34% 66%,#0003 84%,#0000 100%),radial-gradient(#000 30%,#0000009e 48%,#0000 70%);mask-image:linear-gradient(90deg,#0000 0%,#0003 16%,#000 34% 66%,#0003 84%,#0000 100%),radial-gradient(#000 30%,#0000009e 48%,#0000 70%);-webkit-mask-composite:source-in;mask-composite:intersect}.table-scene:after,.spread-table:after{content:"";pointer-events:none;z-index:1;background:radial-gradient(at 50% 58%,#d6f35f29,#0000 34%),linear-gradient(90deg,#0000 0 8%,#0a0a0a8a,#0000 92%),linear-gradient(#0a0a0ad6,#0000 24% 74%,#0a0a0af5);position:absolute;inset:-12% 0}.shuffle-deck img{filter:drop-shadow(0 18px 24px #00000061);object-fit:cover;height:196px;transform:translate(calc(var(--i) * 2px), calc(var(--i) * -2px));border-radius:13px;width:147px;position:absolute;top:0;left:0}.ritual-copy{z-index:8;max-width:980px;margin-inline:auto;position:relative}.draw-mode-actions{justify-content:center;gap:12px;margin-top:0;display:flex}.draw-mode-actions button,.spread-control button{color:#0a0a0a;cursor:pointer;text-align:left;min-width:210px;transition:transform .52s var(--ease-spring), background .2s ease, filter .28s ease;background:#fafafa;border:0;border-radius:999px;flex-direction:column;padding:17px 22px;font-weight:900;display:flex}.draw-mode-actions button:hover,.spread-control button:hover{filter:drop-shadow(0 16px 26px #d6f35f2e);background:#d6f35f;transform:translateY(-6px)scale(1.02)}.draw-mode-actions span{font-size:18px}.draw-mode-actions small{color:#0a0a0a94;margin-top:6px;font-size:12px;font-weight:800;line-height:1.35}.draw-page .eyebrow{letter-spacing:.03em;text-transform:none;margin-bottom:16px;font-size:13px}.draw-page h1{white-space:nowrap;max-width:none;margin-inline:auto;font-size:clamp(40px,6.2vw,92px);line-height:.92}.ritual-draw h1{white-space:normal;max-width:980px;font-size:clamp(40px,5.9vw,88px)}.draw-card{cursor:pointer;perspective:1600px;background:0 0;border:0;place-items:center;margin-top:32px;display:inline-grid;position:relative}.draw-card:disabled{cursor:wait}.draw-card-frame{aspect-ratio:3/4;max-width:min(330px,72vw);transform-style:preserve-3d;width:min(330px,72vw);transition:transform .92s cubic-bezier(.16,1,.3,1);position:relative}.draw-face{backface-visibility:hidden;filter:drop-shadow(0 32px 54px #0000006b);object-fit:contain;height:100%;transform-style:preserve-3d;border-radius:20px;width:100%;transition:filter .35s;position:absolute;inset:0}.draw-front,.draw-card.revealed .draw-card-frame{transform:rotateY(180deg)}.draw-card.flipping .draw-card-frame{animation:.9s cubic-bezier(.2,.8,.16,1) both daily-card-flip}.draw-card.reversed .draw-front{transform:rotateY(180deg)rotate(180deg)}.draw-card:hover .draw-card-frame{transform:rotateY(14deg)rotate(-4deg)translateY(-12px)}.draw-card.revealed:hover .draw-card-frame{transform:rotateY(180deg)rotate(2deg)translateY(-10px)}.draw-card.revealed.reversed:hover .draw-card-frame{transform:rotateY(180deg)rotate(-2deg)translateY(-10px)}.draw-card span{color:#fafafa;z-index:2;background:#0a0a0a;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:900;position:absolute;top:8px;right:10px}.draw-reading{color:#fafafa;text-align:left;background:#0a0a0a;border-radius:18px;max-width:720px;margin:30px auto 0;padding:24px}.draw-reading p{margin:0 0 14px;line-height:1.72}.draw-reading .reading-badge{color:#d6f35f;letter-spacing:.06em;font-size:14px;font-weight:950}.draw-reading button{color:#0a0a0a;cursor:pointer;background:#fafafa;border:0;border-radius:999px;margin-top:10px;padding:12px 16px;font-weight:900}.three-spread-page{grid-template-rows:minmax(500px,62svh) auto;padding-top:16px}.spread-table{isolation:isolate;width:100%;height:clamp(500px,62svh,660px);position:relative;overflow:visible}.spread-table:before{background-position:top;inset:-7% 0 -4%}.table-glow{filter:blur(18px);opacity:.8;z-index:1;background:radial-gradient(circle,#d6f35f2e,#0000 42%);border-radius:50%;width:480px;height:260px;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.shuffle-deck{z-index:7;width:147px;height:196px;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)rotate(-8deg)}.spread-table.shuffling .shuffle-deck img{animation:shuffle-card 1.05s var(--ease-spring) both;animation-delay:calc(var(--i) * 18ms)}.spread-table.ready .shuffle-deck{opacity:.28;transition:opacity .5s ease, transform .8s var(--ease-spring);transform:translate(-50%,-54%)rotate(-8deg)scale(.82)}.spread-slots{z-index:9;grid-template-columns:repeat(3,minmax(140px,220px));justify-content:center;gap:clamp(18px,4vw,54px);width:min(860px,100%);display:grid;position:absolute;top:54%;left:50%;transform:translate(-50%,-50%)}.spread-card{color:#fafafa;cursor:pointer;opacity:0;perspective:1400px;height:272px;transform:translateY(70px) rotateZ(calc((1 - var(--i,1)) * 4deg));transition:opacity .45s ease, transform .65s var(--ease-spring);background:0 0;border:0;width:204px;padding:0;position:relative}.spread-table.ready .spread-card{opacity:1;transform:translateY(0)rotate(0)}.spread-card:disabled{cursor:default}.spread-card span{white-space:nowrap;background:#0a0a0ad1;border:1px solid #fafafa33;border-radius:999px;padding:7px 11px;font-size:13px;font-weight:950;position:absolute;top:-36px;left:50%;transform:translate(-50%)}.spread-card-frame,.spread-card-inner{height:100%;transform-style:preserve-3d;width:100%;transition:transform .92s cubic-bezier(.2,.8,.16,1);position:relative}.spread-face{aspect-ratio:3/4;backface-visibility:hidden;filter:drop-shadow(0 26px 40px #0000008c);object-fit:contain;border-radius:18px;width:100%;height:100%;transition:filter .35s;position:absolute;inset:0}.spread-front{transform:rotateY(180deg)}.spread-card:not(:disabled):hover .spread-card-frame{filter:drop-shadow(0 36px 58px #000000b8);transform:translateY(-18px)rotateY(14deg)}.spread-card.revealed .spread-card-inner{transform:rotateY(180deg)}.spread-card.revealed .spread-card-frame{transform:translateY(-16px)scale(1.04)}.spread-card.revealed.reversed .spread-front{transform:rotateY(180deg)rotate(180deg)}.spread-card strong{animation:label-pop .55s var(--ease-spring) .28s both;color:#0a0a0a;white-space:nowrap;background:#fafafaf0;border-radius:999px;padding:8px 11px;font-size:13px;font-weight:950;position:absolute;bottom:-50px;left:50%;transform:translate(-50%)}.spread-control{z-index:14;max-width:760px;margin:-16px auto 0;position:relative}.spread-control h1{font-size:clamp(38px,5.6vw,78px)}.spread-control button{text-align:center;min-width:0;margin-top:20px;display:inline-flex}.spread-control p:not(.eyebrow){color:#fafafaad;margin:16px 0 0;font-weight:800}.spread-reading{color:#0a0a0a;text-align:left;z-index:18;background:#fafafaf0;border-radius:24px;grid-template-columns:1fr;gap:24px;max-width:960px;margin:10px auto 0;padding:clamp(22px,4vw,40px);display:grid;position:relative}.spread-reading section{color:#0a0a0a;text-align:left;background:0 0;border-bottom:1px solid #0a0a0a1f;padding:0 0 22px}.spread-reading section:last-child{border-bottom:0;padding-bottom:0}.spread-reading h2{margin:8px 0 12px;font-size:24px;line-height:1.08}.spread-reading p{margin:0 0 14px;line-height:1.7}.spread-reading p:last-child{margin-bottom:0}.fan-spread-page{grid-template-rows:minmax(520px,68svh) auto;gap:0;min-height:calc(100svh - 104px);padding-top:0;display:grid;overflow:hidden}.fan-spread-stage{isolation:isolate;border-radius:20px;width:100%;height:clamp(520px,68svh,720px);position:relative;overflow:hidden}.spread-ambient{opacity:.95;pointer-events:none;z-index:0;background:radial-gradient(at 50% 52%,#d6f35f2e,#0000 26%),radial-gradient(at 50% 100%,#fafafa1a,#0000 38%),linear-gradient(#0000 0 62%,#0a0a0adb);transition:filter .58s,opacity .58s;position:absolute;inset:0}.fan-spread-page.phase-center .spread-ambient,.fan-spread-page.is-revealed .spread-ambient{filter:blur(12px);opacity:.46}.spread-center-deck{z-index:3;width:164px;height:218px;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.spread-deck-card{aspect-ratio:3/4;filter:drop-shadow(0 24px 34px #00000094);object-fit:contain;height:218px;transform:translate(calc(var(--i) * 1.4px), calc(var(--i) * -2.4px)) rotate(calc((var(--i) - 5) * 1.4deg));border-radius:14px;position:absolute;top:0;left:0}.fan-deck{z-index:5;position:absolute;inset:0}.fan-card{aspect-ratio:3/4;cursor:pointer;opacity:0;transform-origin:50% 128%;will-change:transform, opacity;background:0 0;border:0;width:auto;height:clamp(86px,12vh,126px);padding:0;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.fan-card-flight{aspect-ratio:3/4;pointer-events:none;transform-origin:50%;will-change:transform, opacity;z-index:140;background:0 0;border:0;width:auto;padding:0;position:fixed;top:0;left:0}.fan-card img{filter:drop-shadow(0 12px 16px #00000085);object-fit:contain;pointer-events:none;border-radius:9px;width:100%;height:100%;transition:transform .18s,filter .18s}.fan-card:not(.picked):hover img{filter:drop-shadow(0 18px 24px #000000a3);transform:translateY(-10px)}.fan-card-flight img{filter:drop-shadow(0 24px 36px #000000ad);object-fit:contain;border-radius:9px;width:100%;height:100%}.fan-card.picked{pointer-events:none}.spread-position-row{z-index:9;grid-template-columns:repeat(3,minmax(130px,180px));justify-content:center;gap:clamp(14px,4vw,62px);width:min(780px,100% - 24px);display:grid;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.spread-position-slot{color:#fafafa8f;opacity:0;border:1px solid #fafafa2e;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:9px;height:136px;padding:12px;transition:border-color .28s,color .28s,background .28s;display:flex}.spread-position-slot.active{color:#fafafa;background:#d6f35f14;border-color:#d6f35fb8}.spread-position-slot p{margin:0;font-size:14px;font-weight:950}.spread-slot-card{aspect-ratio:3/4;border-radius:8px;height:82px;position:relative}.spread-slot-card img{filter:drop-shadow(0 12px 18px #0000008c);object-fit:contain;border-radius:8px;width:100%;height:100%}.center-reading{pointer-events:none;z-index:12;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.center-card-row{perspective:1600px;pointer-events:auto;grid-template-columns:repeat(3,minmax(150px,210px));justify-content:center;gap:clamp(20px,4vw,58px);width:min(820px,100% - 24px);display:grid}.center-reading-card{color:#fafafa;cursor:pointer;opacity:0;perspective:1400px;height:clamp(238px,34vh,310px);transform-style:preserve-3d;background:0 0;border:0;padding:0;position:relative}.center-reading-card>span{white-space:nowrap;z-index:3;background:#0a0a0ac7;border:1px solid #fafafa2e;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:950;position:absolute;top:-38px;left:50%;transform:translate(-50%)}.center-card-inner{height:100%;transform-style:preserve-3d;will-change:transform;width:100%;position:relative}.center-face{backface-visibility:hidden;filter:drop-shadow(0 26px 42px #0000009e);object-fit:contain;border-radius:16px;width:100%;height:100%;position:absolute;inset:0}.center-front{transform:rotateY(180deg)}.center-reading-card.reversed .center-front{transform:rotateY(180deg)rotate(180deg)}.center-reading-card strong{color:#0a0a0a;white-space:nowrap;z-index:4;background:#fafafa;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:950;animation:.48s cubic-bezier(.16,1,.3,1) both label-pop;position:absolute;bottom:-48px;left:50%;transform:translate(-50%)}.center-reading-note{color:#fafafaad;pointer-events:none;margin:72px 0 0;font-weight:850}.fan-control{margin-top:-24px}.fan-control h1{font-size:clamp(40px,6.8vw,104px)}.fan-control button{align-items:center;margin-top:18px}.fan-spread-page .spread-reading{animation:.78s cubic-bezier(.16,1,.3,1) both reading-in}@keyframes spin{to{transform:rotate(360deg)}}@keyframes orbit-roll{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes table-orbit-in{0%{opacity:0;transform:rotateX(18deg)translateY(60px)scale(.82)}to{opacity:1;transform:rotateX(0)translateY(0)scale(1)}}@keyframes shuffle-card{0%{transform:translate(calc(var(--i) * 2px), calc(var(--i) * -2px)) rotateZ(0deg)}34%{transform:translate(calc(-220px + var(--i) * 18px), calc(-34px + var(--i) * 2px)) rotateZ(calc(-18deg + var(--i) * 2deg))}68%{transform:translate(calc(180px - var(--i) * 14px), calc(24px - var(--i) * 2px)) rotateZ(calc(16deg - var(--i) * 2deg))}to{transform:translate(calc(var(--i) * 2px), calc(var(--i) * -2px)) rotateZ(0deg)}}@keyframes loader-in{0%{opacity:0}}@keyframes card-flight{0%{opacity:0;transform:translateY(20px)scale(.45)rotate(-10deg)}45%{opacity:1;transform:translateY(0)scale(1)rotate(-2deg)}to{opacity:0;transform:translateY(-18px)scale(1.22)rotate(0)}}@keyframes flight-dim{0%,to{opacity:0}45%,70%{opacity:1}}@keyframes page-reveal{0%{filter:blur(12px);opacity:0;transform:translateY(54px)scale(.965)}to{filter:blur();opacity:1;transform:translateY(0)scale(1)}}@keyframes route-curtain{0%{opacity:1;transform:translateY(0)scaleY(1)}54%{opacity:1;transform:translateY(0)scaleY(1)}to{opacity:0;transform:translateY(100%)scaleY(.08)}}@keyframes layered-content-in{0%{filter:blur(10px);opacity:0;transform:translateY(46px)scale(.96)}to{filter:blur();opacity:1;transform:translateY(0)scale(1)}}@keyframes table-scene-in{0%{filter:blur(16px)saturate(.8);opacity:0;transform:translateY(34px)scale(1.08)}to{filter:blur()saturate(.96)contrast(1.04);opacity:.96;transform:translateY(0)scale(1)}}@keyframes ritual-copy-in{0%{filter:blur(8px);opacity:0;transform:translateY(42px)scale(.96)}to{filter:blur();opacity:1;transform:translateY(0)scale(1)}}@keyframes ritual-mode-in{0%{opacity:0;transform:translateY(38px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes action-pill-in{0%{opacity:0;transform:translateY(24px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes daily-card-flip{0%{transform:translateY(0)rotateY(0)rotate(0)scale(1)}42%{transform:translateY(-36px)rotateY(92deg)rotate(-6deg)scale(1.06)}to{transform:translateY(0)rotateY(180deg)rotate(0)scale(1)}}@keyframes spread-card-land{0%{filter:blur(8px);opacity:0;transform:translateY(84px) rotateZ(calc((1 - var(--i,1)) * 7deg)) scale(.9)}to{filter:blur();opacity:1;transform:translateY(0)rotate(0)scale(1)}}@keyframes label-pop{0%{opacity:0;transform:translate(-50%)translateY(10px)scale(.82)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@keyframes reading-in{0%{opacity:0;transform:translateY(30px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes list-group-in{0%{opacity:0;transform:translateY(38px)scale(.965)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes list-title-in{0%{opacity:0;transform:translate(var(--list-x), 38px) scale(.965)}to{opacity:1;transform:translate(var(--list-x), 0) scale(1)}}@media (width<=900px){.mode-switch{top:94px}.menu-panel{padding:30px}.menu-panel nav button{font-size:52px}.draw-sticker{display:none}.detail-page{flex-direction:column;gap:24px;padding-top:104px;display:flex;overflow:auto}.detail-card-art img{width:min(78vw,330px);max-height:56svh}.detail-copy{max-height:none}}
