*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{background:var(--bg);background-attachment:fixed;background-color:var(--bg-solid);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background 1.2s ease,color .6s ease}#root{min-height:100vh}button{font-family:inherit;color:inherit;cursor:pointer}::selection{background:var(--accent);color:var(--bg)}:root,[data-theme=midnight]{--bg: radial-gradient(120% 100% at 50% -10%, #241a47 0%, #150f30 38%, #0a0718 100%);--bg-solid: #0a0718;--ink: #efe6cf;--ink-dim: #ab9fc8;--accent: #e7c46a;--accent-2: #9a7bff;--line: rgba(231,196,106,.32);--line-soft: rgba(231,196,106,.16);--card-bg: linear-gradient(155deg, #1c1640 0%, #120d2c 100%);--card-edge: rgba(231,196,106,.55);--card-glow: rgba(154,123,255,.55);--panel: rgba(16,11,34,.82);--reversed-tint: #c98aa0;--font-display: "Cinzel", serif;--font-deco: "Cinzel Decorative", "Cinzel", serif;--font-body: "Cormorant Garamond", Georgia, serif;--foil-strength: 1;--grain: .05}[data-theme=holo]{--bg: radial-gradient(120% 100% at 50% 0%, #0c1430 0%, #07090f 60%, #04050a 100%);--bg-solid: #04050a;--ink: #f4f7ff;--ink-dim: #9fb3d6;--accent: #57e0ff;--accent-2: #ff5ed1;--line: rgba(120,220,255,.34);--line-soft: rgba(120,220,255,.14);--card-bg: linear-gradient(155deg, #0d1330 0%, #07101f 100%);--card-edge: rgba(150,230,255,.6);--card-glow: rgba(120,200,255,.6);--panel: rgba(8,12,26,.82);--reversed-tint: #ff8ad4;--font-display: "Cinzel", serif;--font-deco: "Cinzel Decorative", "Cinzel", serif;--font-body: "Cormorant Garamond", Georgia, serif;--foil-strength: 2.1;--grain: .04}[data-theme=dmg]{--bg: linear-gradient(170deg, #0f380f 0%, #0b2a0b 100%);--bg-solid: #0b2a0b;--ink: #9bbc0f;--ink-dim: #6a8a0a;--accent: #cfe86a;--accent-2: #8bac0f;--line: rgba(155,188,15,.4);--line-soft: rgba(155,188,15,.18);--card-bg: linear-gradient(155deg, #244d24 0%, #143614 100%);--card-edge: #9bbc0f;--card-glow: rgba(155,188,15,.5);--panel: rgba(11,42,11,.9);--reversed-tint: #cfe86a;--font-display: "VT323", monospace;--font-deco: "VT323", monospace;--font-body: "VT323", monospace;--foil-strength: .35;--grain: .12}[data-theme=vapor]{--bg: linear-gradient(180deg, #2b0b50 0%, #5a1b6e 32%, #b3417a 62%, #ff7a59 100%);--bg-solid: #2b0b50;--ink: #fdf3ff;--ink-dim: #d6a8ff;--accent: #00f0ff;--accent-2: #ff4ecd;--line: rgba(0,240,255,.4);--line-soft: rgba(255,78,205,.2);--card-bg: linear-gradient(160deg, #2a1158 0%, #4a1564 60%, #7d1e63 100%);--card-edge: #00f0ff;--card-glow: rgba(255,78,205,.7);--panel: rgba(28,8,60,.74);--reversed-tint: #ff4ecd;--font-display: "Cinzel", serif;--font-deco: "Cinzel Decorative", "Cinzel", serif;--font-body: "Cormorant Garamond", Georgia, serif;--foil-strength: 1.6;--grain: .05}.stage:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:60;opacity:var(--grain);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:overlay}[data-theme=dmg] .stage:after{mix-blend-mode:multiply}[data-theme=dmg] .stage:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:61;background:repeating-linear-gradient(0deg,rgba(0,0,0,.22) 0 1px,transparent 1px 3px);mix-blend-mode:multiply}.stage{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;--topbar-h: 76px}.stage:not(:has(.spread-stage.stage-out)){height:100dvh;min-height:0;overflow:hidden}.starfield{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.starfield .star{position:absolute;border-radius:50%;background:var(--ink);opacity:0;animation:twinkle var(--tw,6s) ease-in-out infinite}@keyframes twinkle{0%,to{opacity:.05}50%{opacity:var(--tw-max,.5)}}[data-theme=dmg] .starfield{display:none}.constellation-field{position:fixed;left:0;right:0;top:var(--topbar-h, 0);height:calc(100dvh - var(--topbar-h, 0px));z-index:1;pointer-events:none;overflow:hidden}[data-theme=dmg] .constellation-field{display:none}.constellation-slot{position:absolute;transform:translate(-50%,-50%);opacity:var(--brightness, .22);transition:left 1.4s cubic-bezier(.4,0,.3,1),top 1.4s cubic-bezier(.4,0,.3,1),opacity .9s ease;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--accent) 60%,transparent))}.constellation-slot.selected{filter:drop-shadow(0 0 14px color-mix(in srgb,var(--accent) 75%,transparent))}.constellation circle.star{fill:var(--accent);animation:constTwinkle var(--dur, 6s) ease-in-out infinite;transform-box:fill-box;transform-origin:center}.constellation circle.star.no-twinkle{animation:none;opacity:1}.constellation line.constellation-line{stroke:var(--accent);stroke-width:.25;stroke-linecap:round;opacity:.22}.constellation-slot.selected line.constellation-line{opacity:.45}@keyframes constTwinkle{0%,to{opacity:.6}50%{opacity:.85}}.topbar{position:relative;z-index:40;width:100%;max-width:1280px;display:flex;align-items:center;justify-content:space-between;padding:22px 30px 10px}.topbar-right{display:flex;align-items:center;gap:14px;position:relative}.topbar-heading{font-style:italic;font-size:clamp(16px,1.8vw,22px);color:var(--ink);line-height:1.1;padding:0 4px}.brand{display:flex;align-items:baseline;gap:12px}.brand-btn{background:transparent;border:none;padding:0;cursor:pointer;font:inherit;color:inherit;text-align:left}.brand-btn:hover .mark{filter:brightness(1.15)}.brand .mark{font-family:var(--font-deco);font-size:22px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}.brand .sub{font-size:15px;letter-spacing:.35em;text-transform:uppercase;color:var(--ink-dim)}.theme-picker{display:flex;gap:8px;align-items:center}.theme-picker .tp-label{font-size:13px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-dim);margin-right:4px}.tp-swatch{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line);padding:0;position:relative;transition:transform .25s ease,box-shadow .25s ease,border-color .25s;overflow:hidden}.tp-swatch:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.tp-swatch[data-k=midnight]:after{background:radial-gradient(circle at 50% 30%,#2a1f57,#0a0718)}.tp-swatch[data-k=midnight]{box-shadow:inset 0 0 0 6px transparent}.tp-swatch[data-k=holo]:after{background:conic-gradient(from 0deg,#57e0ff,#ff5ed1,#ffe45e,#57ff9e,#57e0ff)}.tp-swatch[data-k=dmg]:after{background:linear-gradient(135deg,#9bbc0f,#0f380f)}.tp-swatch[data-k=vapor]:after{background:linear-gradient(135deg,#00f0ff,#ff4ecd,#ff7a59)}.tp-swatch:hover{transform:translateY(-2px) scale(1.08)}.tp-swatch.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--bg-solid),0 0 14px var(--card-glow);transform:scale(1.12)}.universe-picker{display:flex;gap:8px;align-items:center}.universe-picker .tp-label{font-size:13px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-dim);margin-right:4px}.up-chip{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;font-size:12px;padding:6px 12px;border-radius:999px;background:transparent;color:var(--ink-dim);border:1px solid var(--line);transition:color .25s,border-color .25s,background .25s,transform .2s}[data-theme=dmg] .up-chip{border-radius:0}.up-chip:hover:not([aria-disabled=true]){color:var(--ink);border-color:var(--accent);transform:translateY(-1px)}.up-chip.active{color:var(--bg-solid);background:var(--accent);border-color:var(--accent)}.up-chip[aria-disabled=true]{opacity:.45;cursor:not-allowed}.gear{display:grid;place-items:center;width:34px;height:34px;padding:0;background:transparent;color:var(--ink-dim);border:1px solid var(--line);border-radius:50%;transition:color .25s,border-color .25s,transform .3s,box-shadow .25s}[data-theme=dmg] .gear{border-radius:0}.gear:hover{color:var(--accent);border-color:var(--accent);transform:rotate(35deg);box-shadow:0 0 14px -2px var(--card-glow)}.gear[aria-expanded=true]{color:var(--accent);border-color:var(--accent)}.set-panel{position:absolute;top:calc(100% + 12px);right:0;z-index:80;width:280px;max-height:calc(100vh - 90px);overflow:hidden;display:flex;flex-direction:column;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 50px -16px #000000b3;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);animation:setIn .22s cubic-bezier(.2,.8,.2,1) both}[data-theme=dmg] .set-panel{border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none}@keyframes setIn{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}.set-hd{display:flex;align-items:center;justify-content:space-between;padding:14px 12px 10px 18px}.set-hd b{font-family:var(--font-display);font-size:14px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:600}.set-x{width:26px;height:26px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--ink-dim);font-size:14px;line-height:1;transition:background .2s,color .2s}.set-x:hover{background:var(--line-soft);color:var(--ink)}.set-body{padding:4px 18px 18px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}.set-sect{font-family:var(--font-display);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim);opacity:.8;padding-top:4px}.set-row{display:flex;flex-direction:column;gap:8px}.set-row-h{flex-direction:row;align-items:center;justify-content:space-between}.set-lbl{display:flex;justify-content:space-between;align-items:baseline;font-size:16px;color:var(--ink)}.set-val{font-size:14px;color:var(--ink-dim);font-variant-numeric:tabular-nums;font-family:var(--font-display);letter-spacing:.04em}.set-row-h>span{font-size:16px;color:var(--ink)}.set-slider{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;height:3px;border-radius:999px;background:var(--line);outline:none}.set-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:15px;height:15px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px -1px var(--card-glow);cursor:pointer}.set-slider::-moz-range-thumb{width:15px;height:15px;border:0;border-radius:50%;background:var(--accent);box-shadow:0 0 8px -1px var(--card-glow);cursor:pointer}.set-toggle{position:relative;width:38px;height:22px;padding:0;border:1px solid var(--line);border-radius:999px;background:var(--line-soft);transition:background .2s,border-color .2s}[data-theme=dmg] .set-toggle{border-radius:0}.set-toggle[data-on="1"]{background:linear-gradient(120deg,var(--accent),var(--accent-2));border-color:transparent}.set-toggle i{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--bg-solid);transition:transform .2s}[data-theme=dmg] .set-toggle i{border-radius:0}.set-toggle[data-on="1"] i{transform:translate(16px)}.intro{position:relative;z-index:20;text-align:center;width:100%;max-width:880px;padding:4vh 24px 8vh;margin:auto 0;display:flex;flex-direction:column;align-items:center}.intro .eyebrow{font-family:var(--font-display);letter-spacing:.5em;text-transform:uppercase;font-size:14px;color:var(--accent);opacity:.9;margin-bottom:18px}.intro h1{font-family:var(--font-deco);font-weight:700;font-size:clamp(48px,9vw,116px);line-height:.92;margin:0 0 6px;letter-spacing:.02em;background:linear-gradient(180deg,var(--ink) 0%,var(--accent) 130%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 30px var(--card-glow))}[data-theme=dmg] .intro h1{-webkit-text-fill-color:var(--ink);filter:none}.intro .lede{font-size:clamp(18px,2.4vw,25px);line-height:1.5;color:var(--ink-dim);max-width:30em;margin:14px auto 0;font-style:italic}.intro .lede-em{color:var(--accent);font-style:normal;font-weight:600}.deck-emblem{margin:30px auto 8px;width:150px;height:210px;position:relative}.ask{margin-top:30px;width:min(560px,92%)}.ask-label{display:block;font-family:var(--font-display);letter-spacing:.28em;text-transform:uppercase;font-size:12.5px;color:var(--ink-dim);margin-bottom:12px}.ask-field{width:100%;background:var(--line-soft);border:1px solid var(--line);border-radius:4px;color:var(--ink);padding:14px 18px;font-family:var(--font-body);font-size:20px;text-align:center;outline:none;transition:border-color .3s,box-shadow .3s,background .3s}[data-theme=dmg] .ask-field{border-radius:0}.ask-field::placeholder{color:var(--ink-dim);opacity:.6;font-style:italic}.ask-field:focus{border-color:var(--accent);box-shadow:0 0 22px -6px var(--card-glow);background:transparent}.consult{margin-top:26px;position:relative;font-family:var(--font-display);letter-spacing:.26em;text-transform:uppercase;font-size:16px;padding:17px 42px;color:var(--bg-solid);background:linear-gradient(120deg,var(--accent),var(--accent-2));border:none;border-radius:4px;overflow:hidden;box-shadow:0 8px 30px -8px var(--card-glow),inset 0 0 0 1px #fff3;transition:transform .2s ease,box-shadow .3s ease,letter-spacing .3s}[data-theme=dmg] .consult{color:#0b2a0b;border-radius:0;box-shadow:4px 4px #0f380f}.consult:hover{transform:translateY(-3px);letter-spacing:.32em;box-shadow:0 16px 42px -10px var(--card-glow)}.consult:active{transform:translateY(0)}.consult .ch{position:relative;z-index:2}.consult:after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.7),transparent);transform:skew(-18deg);animation:sheen 3.4s ease-in-out infinite}@keyframes sheen{0%,60%{left:-60%}to{left:130%}}.fineprint{margin-top:22px;font-size:14px;letter-spacing:.06em;color:var(--ink-dim);opacity:.6}.reading-stage{position:relative;z-index:20;width:100%;max-width:1180px;padding:1vh 20px 6vh;flex:1;display:flex;flex-direction:column;align-items:center}.spread-head{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;margin:10px 0 2px}.spread-head .q{font-style:italic;font-size:clamp(19px,2.4vw,27px);color:var(--ink);line-height:1.2;max-width:24em}.spread-head .hint{font-family:var(--font-display);letter-spacing:.26em;text-transform:uppercase;font-size:13px;color:var(--ink-dim);transition:opacity .4s}.spread{display:grid;grid-template-columns:repeat(var(--cols, 3),minmax(0,1fr));gap:clamp(12px,2.4vw,56px);width:100%;max-width:min(1200px,96vw);margin:clamp(14px,3vh,40px) auto 0;perspective:1600px}.spread.cross{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto auto;row-gap:clamp(16px,2.6vh,36px);max-width:min(900px,96vw);align-items:end}.spread.cross .slot:nth-child(1){grid-column:1;grid-row:2}.spread.cross .slot:nth-child(2){grid-column:2;grid-row:2}.spread.cross .slot:nth-child(3){grid-column:3;grid-row:2}.spread.cross .slot:nth-child(4){grid-column:2;grid-row:3}.spread.cross .slot:nth-child(5){grid-column:2;grid-row:1}.slot{display:flex;flex-direction:column;align-items:center}.slot-label{font-family:var(--font-display);letter-spacing:.24em;text-transform:uppercase;font-size:14px;color:var(--accent);margin-bottom:4px;white-space:nowrap;opacity:0;transform:translateY(8px);transition:opacity .6s,transform .6s}.slot-sub{font-size:14px;font-style:italic;color:var(--ink-dim);margin-bottom:30px;white-space:nowrap;opacity:0;transition:opacity .6s .1s}.slot.in .slot-label,.slot.in .slot-sub{opacity:1;transform:none}.empty-slot{width:100%;aspect-ratio:5 / 7;border-radius:14px;border:1.5px dashed color-mix(in srgb,var(--card-edge) 55%,transparent);background:color-mix(in srgb,var(--card-bg) 28%,transparent)}[data-theme=dmg] .empty-slot{border-radius:4px}.spread .card-outer,.spread .empty-slot{width:clamp(140px,14vw,190px)}.spread .slot-sub{margin-bottom:clamp(8px,1.4vh,18px)}.spread.cross{row-gap:clamp(10px,1.8vh,22px);margin-top:clamp(8px,1.6vh,22px)}.deal-area{display:flex;flex-direction:column;align-items:center;gap:8px;margin:clamp(10px,2vh,22px) auto 0}.deal-area-top{margin:0 auto clamp(8px,1.8vh,22px)}.deal-deck{position:relative;width:clamp(76px,10vh,110px);aspect-ratio:5 / 7;background:transparent;border:none;padding:0;cursor:pointer;transition:transform .25s ease,filter .25s ease}.deal-deck:hover{transform:translateY(-4px);filter:drop-shadow(0 6px 18px rgba(0,0,0,.45))}.deal-deck:active{transform:translateY(-1px) scale(.98)}.deal-deck-stack{position:relative;width:100%;height:100%}.deal-deck-card{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;background:var(--card-bg);border:1.5px solid var(--card-edge);box-shadow:0 14px 30px -14px #000000b3;transform:translate(calc(var(--k) * -3px),calc(var(--k) * -2px)) rotate(calc(var(--k) * -1.5deg));overflow:hidden}[data-theme=dmg] .deal-deck-card{border-radius:4px}.deal-hint{font-family:var(--font-display);letter-spacing:.26em;text-transform:uppercase;font-size:12px;color:var(--ink-dim)}.deal-skip{font-size:12px}.spread-stage{position:relative;flex:1;width:100%;opacity:1;transition:opacity .55s ease,transform .55s ease}.spread-stage.stage-out{opacity:0;transform:scale(.96);pointer-events:none}.deck-modal{position:fixed;top:0;left:0;right:0;height:100dvh;z-index:30;display:flex;align-items:center;justify-content:center;pointer-events:none}.deck-modal>*{pointer-events:auto}.center-deck{width:clamp(160px,28dvh,300px);aspect-ratio:5 / 7;background:transparent;border:none;padding:0;cursor:pointer;transition:transform .25s ease,filter .25s ease}.center-deck:hover{transform:translateY(-6px);filter:drop-shadow(0 8px 22px rgba(0,0,0,.55))}.center-deck:active{transform:translateY(-1px) scale(.98)}.center-deck-stack{position:relative;width:100%;height:100%}.center-deck-card{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;background:var(--card-bg);border:1.5px solid var(--card-edge);box-shadow:0 14px 30px -12px #000000b3;transform:translate(calc(var(--k) * -3px),calc(var(--k) * -2px)) rotate(calc(var(--k) * -1.5deg));overflow:hidden}[data-theme=dmg] .center-deck-card{border-radius:4px}.center-deck-exit{width:clamp(160px,28dvh,300px);aspect-ratio:5 / 7;pointer-events:none}.center-deck-exit .center-deck-card{animation:centerDeckFan .9s cubic-bezier(.3,0,.4,1) calc(var(--k) * .06s) forwards}@keyframes centerDeckFan{0%{transform:translate(calc(var(--k) * -3px),calc(var(--k) * -2px)) rotate(calc(var(--k) * -1.5deg));opacity:1}to{transform:translate(calc((var(--k) - 2) * 220px),calc((var(--k) - 2) * -160px)) rotate(calc((var(--k) - 2) * 18deg)) scale(.6);opacity:0}}.card-positions{position:fixed;left:0;right:0;top:var(--topbar-h, 0);height:calc(100dvh - var(--topbar-h, 0px));z-index:28;pointer-events:none}.card-position{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:auto}.card-position-label{font-family:var(--font-display);letter-spacing:.26em;text-transform:uppercase;font-size:11px;color:var(--accent);opacity:0;transition:opacity .6s ease .4s}.card-position.is-ready .card-position-label{opacity:1}.card-materialize{width:clamp(135px,19.5dvh,225px);opacity:0;transform:scale(.85);transition:opacity .7s ease,transform .7s ease}.card-materialize.is-ready{opacity:1;transform:scale(1)}.card-materialize .card-outer{width:100%}.see-reading-btn{position:absolute;left:50%;top:42%;transform:translate(-50%,calc(-50% + 6px));font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;font-size:13px;padding:11px 22px;color:var(--ink);background:color-mix(in srgb,var(--card-bg) 80%,transparent);border:1px solid var(--accent);border-radius:999px;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:5;opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease,color .2s ease,box-shadow .25s ease}.card-positions:has(.card-position:hover) .see-reading-btn,.card-positions:focus-within .see-reading-btn,.see-reading-btn:hover{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}.see-reading-btn:hover{color:var(--accent);box-shadow:0 10px 22px -10px var(--card-glow)}@media(hover:none){.see-reading-btn{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}}.spread-wrap{width:100%;display:flex;flex-direction:column;align-items:center;opacity:1;max-height:1400px;transform:none;transition:opacity .45s ease,max-height .55s ease,transform .45s ease;overflow:hidden}.spread-wrap.spread-out{opacity:0;max-height:0;transform:scale(.94);pointer-events:none}.card-outer{width:clamp(120px,calc(72vw / var(--cols, 3)),248px);aspect-ratio:5 / 7;position:relative}.card{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.2,.7,.2,1.05);cursor:pointer;will-change:transform}.card-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:14px;overflow:hidden;border:1.5px solid var(--card-edge);box-shadow:0 22px 50px -18px #000c,inset 0 0 0 1px #ffffff0f}[data-theme=dmg] .card-face{border-radius:4px}.card-back{background:var(--card-bg);transform:rotateY(0)}.back-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.bk-frame{fill:none;stroke:var(--card-edge);stroke-width:1.4;opacity:.8}.bk-frame2{opacity:.4}.bk-orb{fill:none;stroke:var(--accent);stroke-width:2.4}.bk-line{stroke:var(--accent);stroke-width:2.4}.bk-orb-core{fill:none;stroke:var(--accent);stroke-width:2}.bk-orb-pip{fill:var(--accent)}.bk-rays line{stroke:var(--accent-2);stroke-width:1.4;opacity:.7}.bk-word{fill:var(--accent);font-family:var(--font-display);font-size:13px;letter-spacing:.24em;opacity:.85}.card-front{transform:rotateY(180deg);background:radial-gradient(118% 78% at 50% 24%,color-mix(in srgb,var(--type, transparent) 26%,transparent),transparent 66%),linear-gradient(165deg,transparent 38%,color-mix(in srgb,var(--type-2, transparent) 18%,transparent)),var(--card-bg);border-color:color-mix(in srgb,var(--type, var(--card-edge)) 42%,var(--card-edge));display:flex;flex-direction:column;align-items:center;padding:14px 12px 12px}[data-theme=dmg] .card-front{background:var(--card-bg);border-color:var(--card-edge)}.cf-top{display:flex;justify-content:space-between;width:100%;align-items:baseline;padding:2px 4px}.cf-roman{font-family:var(--font-display);font-size:17px;letter-spacing:.1em;color:var(--accent)}.cf-type{font-family:var(--font-display);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb,var(--type, var(--ink-dim)) 65%,var(--ink-dim))}[data-theme=dmg] .cf-type{color:var(--ink-dim)}.cf-sigil{flex:1;width:100%;display:grid;place-items:center;position:relative}.sigil-stack{position:relative;width:86%;aspect-ratio:1;display:grid;place-items:center}.sigil-svg{width:100%;aspect-ratio:1;filter:drop-shadow(0 0 6px var(--card-glow))}.sigil-mon{position:absolute;top:16%;right:16%;bottom:16%;left:16%;pointer-events:none;isolation:isolate;filter:drop-shadow(0 0 6px color-mix(in srgb,currentColor 55%,transparent))}.sigil-mon-fill,.sigil-mon-detail{position:absolute;top:0;right:0;bottom:0;left:0}.sigil-mon-fill{background:linear-gradient(155deg,currentColor,var(--type-2, currentColor));-webkit-mask:var(--mon) center / contain no-repeat;mask:var(--mon) center / contain no-repeat}.sigil-mon-detail{background:var(--mon) center / contain no-repeat;filter:grayscale(1) contrast(1.55) brightness(1.18);mix-blend-mode:multiply;opacity:.5}[data-theme=dmg] .sigil-mon-fill{background:var(--accent)}[data-theme=dmg] .sigil-mon-detail{opacity:.42}.cf-name{font-family:var(--font-deco);font-size:clamp(17px,2.2vw,22px);letter-spacing:.04em;color:var(--ink);margin-top:2px}.cf-arcana{font-family:var(--font-display);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-top:1px;text-align:center}.cf-rev-tag{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--reversed-tint);margin-top:4px;font-family:var(--font-display)}.sg-ring{fill:none;stroke:var(--accent)}.sg-ring-out{stroke-width:1.1;opacity:.85}.sg-ring-in{stroke-width:.7;opacity:.45}.sg-ring-core{stroke-width:.6;opacity:.3;stroke-dasharray:2 5}.sg-ticks line{stroke:var(--accent);stroke-width:1;opacity:.6}.sg-rune{fill:var(--accent);opacity:.3}.sg-rune.on{fill:var(--accent);opacity:.85}.sg-glyph{fill:currentColor;stroke:currentColor;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}.sg-glyph path[fill=none],.sg-glyph line,.sg-glyph circle[fill=none]{fill:none}.sg-glyph-primary{filter:drop-shadow(0 0 5px currentColor)}.sg-dex{fill:var(--ink-dim);font-family:var(--font-display);font-size:13px;letter-spacing:.14em}.card-front.reversed .cf-sigil{transform:rotate(180deg)}.cf-sigil{min-height:0}.sigil-svg{max-height:100%}[data-theme=dmg] .card-front{padding:10px 8px 18px}[data-theme=dmg] .cf-name{font-size:18px;margin-top:0;line-height:1}[data-theme=dmg] .cf-arcana{font-size:11px;line-height:1;white-space:nowrap;margin-top:3px}[data-theme=dmg] .cf-rev-tag{font-size:12px;margin-top:4px}[data-theme=dmg] .cf-type{letter-spacing:.1em}[data-theme=dmg] .sigil-stack{width:62%}[data-theme=dmg] .slot-label{letter-spacing:.1em}[data-theme=dmg] .slot-sub{letter-spacing:0}.foil{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;pointer-events:none;mix-blend-mode:color-dodge;opacity:0;transition:opacity .4s;background:linear-gradient(calc(var(--mx,50%) * 1.6 + 60deg),transparent 0%,rgba(255,0,128,.25) 18%,rgba(0,225,255,.22) 33%,rgba(120,255,140,.22) 48%,rgba(255,225,80,.25) 63%,transparent 82%);background-size:180% 180%;background-position:var(--mx,50%) var(--my,50%)}[data-theme=dmg] .foil{border-radius:4px}.foil-glint{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;pointer-events:none;mix-blend-mode:soft-light;opacity:0;transition:opacity .4s;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.85),rgba(255,255,255,0) 38%)}.card.revealed .foil{opacity:calc(.55 * var(--foil-strength))}.card.revealed .foil-glint{opacity:.9}.card.revealed .card-front{box-shadow:0 0 34px -6px color-mix(in srgb,var(--type, var(--card-glow)) 50%,var(--card-glow)),inset 0 0 30px -16px color-mix(in srgb,var(--type, var(--accent)) 60%,var(--accent))}[data-theme=dmg] .card.revealed .card-front{box-shadow:0 0 34px -6px var(--card-glow),inset 0 0 30px -16px var(--accent)}.lev-wrap{width:100%;height:100%}.levitate{animation:levitate var(--lev,5.5s) ease-in-out infinite}@keyframes levitate{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.card-outer .halo{position:absolute;top:-12%;right:-10%;bottom:-16%;left:-10%;z-index:-1;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--type, var(--card-glow)) 45%,var(--card-glow)),transparent 72%);opacity:0;transition:opacity .6s;filter:blur(6px)}[data-theme=dmg] .card-outer .halo{background:radial-gradient(closest-side,var(--card-glow),transparent 72%)}.card-outer.lit .halo{opacity:.7}.card.just-revealed{z-index:6;animation:cardReveal 1.25s cubic-bezier(.3,.72,.3,1) both,revealPop .85s cubic-bezier(.2,.8,.2,1)}@keyframes cardReveal{0%{transform:perspective(1200px) translateZ(0) rotateY(0) rotate(0) scale(1)}15%{transform:perspective(1200px) translateZ(120px) rotateY(0) rotate(0) scale(1.05)}46%{transform:perspective(1200px) translateZ(120px) rotateY(180deg) rotate(0) scale(1.05)}to{transform:perspective(1200px) translateZ(0) rotateY(180deg) rotate(360deg) scale(1)}}@keyframes revealPop{0%{filter:brightness(2.4) saturate(1.6)}to{filter:none}}.reading-out{width:100%;max-width:1080px;margin:clamp(20px,4vh,46px) auto 0;opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}.reading-out.show{opacity:1;transform:none}.spread-question{text-align:center;font-style:italic;font-size:clamp(20px,2.8vw,30px);line-height:1.3;color:var(--ink);max-width:24em;margin:clamp(14px,2.4vh,24px) auto clamp(18px,3vh,32px)}.reading-out .ro-title{text-align:center;font-family:var(--font-deco);font-size:clamp(26px,3.4vw,40px);color:var(--ink);margin-bottom:4px}.reading-out .ro-rule{width:120px;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);margin:10px auto 26px}.ro-rows{display:grid;gap:18px}.ro-row{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;background:var(--panel);border:1px solid var(--line-soft);border-left:3px solid color-mix(in srgb,var(--type, var(--accent)) 60%,var(--accent));border-radius:8px;padding:18px 22px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}[data-theme=dmg] .ro-row{border-radius:0;-webkit-backdrop-filter:none;backdrop-filter:none;border-left-color:var(--accent)}.ro-card-slot{width:clamp(140px,17vw,200px)}.ro-card-slot .card-outer{width:100%;height:auto}.ro-kicker{font-family:var(--font-display);font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:color-mix(in srgb,var(--type, var(--accent)) 70%,var(--accent));margin-bottom:6px}[data-theme=dmg] .ro-kicker{color:var(--accent)}.ro-card-name{font-family:var(--font-deco);font-size:23px;color:var(--ink)}.ro-card-meta{font-family:var(--font-display);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);margin:2px 0 14px}.ro-card-meta .or{color:var(--reversed-tint)}.ro-lead{font-family:var(--font-deco);font-size:clamp(18px,2.1vw,21px);line-height:1.45;color:var(--ink);margin:0 0 10px;font-weight:500}.ro-text{font-size:16px;line-height:1.6;color:var(--ink-dim);margin:0}.ro-shadow{font-style:italic;font-size:15.5px;line-height:1.55;color:color-mix(in srgb,var(--ink-dim) 80%,var(--reversed-tint));margin:8px 0 0;padding-left:12px;border-left:2px solid color-mix(in srgb,var(--type, var(--accent)) 40%,transparent)}[data-theme=dmg] .ro-shadow{border-left-color:var(--accent)}.ro-keys{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.ro-key{font-family:var(--font-display);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);border:1px solid var(--line);border-radius:20px;padding:4px 12px}[data-theme=dmg] .ro-key{border-radius:0}.ro-headline{text-align:center;color:var(--ink);margin:clamp(20px,3.4vh,34px) auto 0;max-width:32em;padding:18px 24px;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.ro-headline-prose{font-style:italic;font-size:clamp(19px,2.4vw,24px);line-height:1.55;margin:0}.ro-headline-prose+.ro-headline-prose{margin-top:10px}.ro-balance{margin:14px 0 0;font-size:clamp(14px,1.6vw,16px);line-height:1.45;font-style:italic;color:var(--ink-dim);letter-spacing:.01em}.ro-balance .em,.ro-headline .em{color:var(--accent);font-style:normal;font-weight:600}[data-theme=dmg] .ro-headline{border-color:var(--accent)}.ro-verdict{display:block;font-family:var(--font-deco);font-style:normal;font-weight:600;font-size:clamp(20px,2.7vw,26px);line-height:1.3;letter-spacing:.01em;margin-bottom:12px}.ro-verdict.good{color:var(--accent)}.ro-verdict.warn{color:var(--reversed-tint)}.ro-actions{display:flex;gap:16px;justify-content:center;margin-top:34px;flex-wrap:wrap}.btn-ghost{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;font-size:13.5px;padding:13px 28px;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:4px;transition:border-color .25s,color .25s,transform .2s,box-shadow .25s}[data-theme=dmg] .btn-ghost{border-radius:0}.btn-ghost:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 22px -10px var(--card-glow)}.btn-ghost.primary{background:linear-gradient(120deg,var(--accent),var(--accent-2));color:var(--bg-solid);border:none}.btn-ghost.primary:hover{color:var(--bg-solid)}.ro-share{display:inline-flex;align-items:center;gap:9px}.ro-share svg{display:block}.fade-in{animation:fadeIn .9s ease both}@keyframes fadeIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media(max-width:720px){.spread{gap:26px;grid-template-columns:1fr;max-width:320px}.spread.cross{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:360px}.slot{margin-bottom:6px}.ro-row{grid-template-columns:auto 1fr;gap:14px;padding:14px}.topbar{flex-direction:column;gap:12px;padding:16px 14px 8px}.brand{flex-wrap:wrap;justify-content:center;gap:4px 9px;max-width:100%}.brand .mark{font-size:clamp(15px,5.4vw,22px);letter-spacing:.1em}.brand .sub{font-size:clamp(10px,3.4vw,14px);letter-spacing:.2em}.topbar-right{flex-wrap:wrap;justify-content:center;gap:10px}.theme-picker,.universe-picker{flex-wrap:wrap;justify-content:center;gap:8px}.set-panel{right:50%;transform:translate(50%);width:min(280px,92vw)}@keyframes setIn{0%{opacity:0;transform:translate(50%) translateY(-8px)}to{opacity:1;transform:translate(50%)}}}[data-reduce-motion="1"] *{animation-duration:1ms!important;transition-duration:.12s!important}[data-reduce-motion="1"] .levitate{animation:none!important}
