:root{--bg:#111b29;--panel:#192536;--line:#344354;--ink:#f4efe6;--muted:#b2b9c1;--gold:#dcc296;--dark:#0d1520}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.7 system-ui,-apple-system,'Segoe UI',sans-serif}header{height:94px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5vw;gap:20px}.brand{display:flex;gap:14px;align-items:center;color:var(--ink);letter-spacing:3px;font-size:18px;text-decoration:none}.brand small{display:block;font-size:8px;letter-spacing:2.5px;color:var(--gold)}.brand-mark{font-size:40px;color:var(--gold)}nav{display:flex;gap:22px;align-items:center}a{color:var(--gold);text-decoration:none}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer;border:1px solid var(--line);border-radius:5px;padding:10px 18px;background:transparent;color:var(--ink)}button:hover{border-color:var(--gold);background:#ffffff08}button:disabled{opacity:.4;cursor:wait}button.primary,.primary{background:var(--gold);color:var(--dark);border-color:var(--gold);font-weight:650}button.danger{color:#ffb6a9}main{max-width:1250px;margin:auto;padding:40px 36px 70px;min-height:70vh}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Noto Serif SC',serif;font-weight:400;line-height:1.3}h1{font-size:clamp(36px,4vw,64px);letter-spacing:2px}h2{font-size:32px}h3{font-size:19px;font-weight:500}.eyebrow{color:var(--gold);font-size:11px;letter-spacing:3px;text-transform:uppercase;margin-bottom:24px}.muted,small{color:var(--muted)}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;min-height:510px;gap:50px}.hero p{max-width:480px;font-size:16px;color:var(--muted);line-height:1.9}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.hero-art{position:relative;min-height:430px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse,#d5b98812,transparent 68%)}.orbit{width:365px;height:365px;border:1px solid #d5b98838;border-radius:50%;position:absolute}.orbit:after{content:'';position:absolute;inset:24px;border:1px dashed #d5b98829;border-radius:50%}.art-card{width:170px;height:276px;border:1px solid #ac9264;border-radius:80px 80px 7px 7px;background:linear-gradient(150deg,#253444,#101823);position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 24px 55px #0008;color:var(--gold);outline:1px solid #b49b6033;outline-offset:-9px}.art-card:first-of-type{transform:translateX(-90px) rotate(-17deg)}.art-card:last-of-type{transform:translateX(90px) rotate(17deg)}.art-card.center{z-index:2;transform:translateY(-15px)}.art-card b{font:70px Georgia;font-weight:400}.art-card small{letter-spacing:3px;color:var(--gold);font-size:9px;margin-top:30px}.strip{display:flex;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 0;color:var(--muted);gap:15px}.section-head{display:flex;justify-content:space-between;align-items:end;margin:50px 0 22px;gap:20px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:24px}.panel:hover{border-color:#766952}.num{font:32px Georgia;color:var(--gold);margin-bottom:15px}.panel p{color:var(--muted);font-size:14px}.panel button{margin-top:14px}.stack{display:grid;gap:16px}.two{display:grid;grid-template-columns:1fr 1fr;gap:22px}.narrow{max-width:650px;margin:20px auto}.wide{max-width:950px;margin:auto}.back{display:inline-block;margin-bottom:22px}.steps{color:var(--gold);font-size:12px;letter-spacing:2px;margin-bottom:24px}label{display:block;color:var(--muted);font-size:13px;margin:15px 0 6px}input,select,textarea{font:inherit;width:100%;color:var(--ink);background:var(--dark);border:1px solid var(--line);padding:12px;border-radius:5px}input[type=checkbox]{width:auto;margin-right:8px;accent-color:var(--gold)}textarea{min-height:100px;resize:vertical}input:focus,textarea:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}option{background:var(--dark)}.note{padding:14px 18px;border-left:2px solid var(--gold);background:#dcc29608;color:var(--muted);font-size:13px;margin:18px 0}.badge{display:inline-block;border:1px solid var(--line);border-radius:20px;padding:3px 10px;font-size:11px;color:var(--gold)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:16px;margin:25px 0}.tarot{min-height:215px;border:1px solid #ad9566;padding:16px 10px;text-align:center;border-radius:5px;background:linear-gradient(145deg,#2c3945,#121b29);display:flex;align-items:center;justify-content:space-between;flex-direction:column}.tarot .symbol{font:52px Georgia;color:var(--gold)}.tarot .label{font-size:13px}.tarot small{font-size:10px}.reversed .symbol{transform:rotate(180deg)}.deck{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.deck button{width:58px;height:90px;background:repeating-linear-gradient(45deg,#dcc29608,#dcc29608 1px,transparent 1px,transparent 8px);color:var(--gold);font-size:24px;border-color:#7d6e55}.report{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.95}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}.tabs button.active{color:var(--dark);background:var(--gold)}.record{padding:20px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.record p{margin-bottom:8px}footer{border-top:1px solid var(--line);padding:35px 5vw;color:var(--muted);font-size:12px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90vw;padding:14px 22px;border-radius:8px;background:var(--gold);color:var(--dark);box-shadow:0 8px 30px #0006;display:none;z-index:50}.contact-list{display:flex;gap:15px;flex-wrap:wrap}.qr{max-width:180px;max-height:180px}.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.admin-grid .panel{padding:16px}.admin-grid b{font:30px Georgia;color:var(--gold);display:block}details{border-bottom:1px solid var(--line);padding:12px 0}summary{cursor:pointer;color:var(--gold)}.error{color:#ffbaab}.inline{display:flex;align-items:center;gap:12px}.check label{margin:0}.empty{text-align:center;padding:55px 20px;color:var(--muted)}@media(max-width:760px){header{height:auto;min-height:85px;flex-wrap:wrap;padding:16px 20px;gap:15px}nav{gap:13px;font-size:12px;flex-wrap:wrap}nav button{padding:5px 10px}main{padding:28px 20px 50px}.hero{grid-template-columns:1fr;gap:0}.hero-art{min-height:340px;order:2}.orbit{width:295px;height:295px}.art-card{width:140px;height:230px}.hero h1{font-size:38px}.grid,.two{grid-template-columns:1fr}.strip{font-size:11px;flex-wrap:wrap}.section-head{margin-top:32px}.cards{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:repeat(2,1fr)}h2{font-size:26px}.panel{padding:20px}}@media print{header,footer,button,.deck,.actions{display:none}body{background:white;color:black}.panel{background:white;border:1px solid #ccc}.muted,.report,small{color:black}.tarot{background:white;color:black}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* v0.2: supplied artwork, rule previews and course layouts */
.spread-tile h3{margin-top:18px}.layout-diagram{width:100%;height:auto;max-height:340px}.layout-diagram rect{fill:#172534;stroke-width:2}.layout-diagram .major-slot{stroke:var(--gold)}.layout-diagram .minor-slot{stroke:#81b8b5}.layout-diagram text{fill:var(--ink);font:15px system-ui}.layout-diagram .position-caption{font-size:10px}.card-face{display:block;width:100%;height:100%;object-fit:contain;border-radius:5px}.face-frame{width:100%;aspect-ratio:276/428;max-width:190px;margin:10px auto}.reversed .card-face{transform:rotate(180deg)}.tarot{min-height:0;justify-content:flex-start;padding:12px 8px;background:#182433}.card-position{min-height:32px;color:var(--gold)}.cards.card-list{grid-template-columns:repeat(auto-fill,minmax(155px,1fr))}.empty-position{opacity:.4}.board-scroll{overflow-x:auto;margin:20px 0;border:1px solid var(--line);border-radius:8px}.spread-board{position:relative;margin:0 auto;background:radial-gradient(ellipse,#dcc29608,transparent)}.spread-board .tarot{position:absolute;width:130px;border:0;background:transparent;padding:0}.spread-board .face-frame{width:105px;margin:4px auto;aspect-ratio:276/428}.spread-board .card-position{font-size:10px;line-height:1.4;min-height:28px}.spread-board .label{font-size:11px;line-height:1.3}.spread-board .label small{font-size:9px}.spread-celtic .slot-2{z-index:2}.spread-celtic .slot-2 .face-frame{transform:rotate(90deg)}.spread-celtic .slot-2 .card-position{background:var(--bg)}.deck{justify-content:flex-start;max-height:335px;overflow-y:auto;padding:10px;border:1px solid var(--line);border-radius:6px;margin:18px 0}.deck button{position:relative;flex:0 0 54px;height:84px;padding:0;border:0;background:none}.deck img{width:100%;height:100%;object-fit:contain}.deck button span{position:absolute;bottom:2px;left:0;right:0;background:#111b29cf;font-size:10px;line-height:1.5}.deck button:hover{transform:translateY(-4px);filter:brightness(1.2)}.library-card{display:flex;gap:16px;align-items:flex-start}.library-card>img{width:100px;height:auto;object-fit:contain;border-radius:5px}.library-card h3{margin:8px 0}.library-card p{font-size:12px}.library-card b{color:var(--gold);font-size:12px}.library-card small{overflow-wrap:anywhere}.art-card{overflow:hidden}.art-card img{width:100%;height:100%;object-fit:contain}.card-list .crossed .face-frame{transform:none}@media(max-width:760px){.cards.card-list{grid-template-columns:repeat(2,minmax(0,1fr))}.library-card>img{width:115px}.layout-diagram{max-height:270px}.deck button{flex-basis:46px;height:73px}.spread-board{margin:0}.card-position{font-size:11px}}

.spread-cross{width:650px;height:750px;}
.spread-cross .slot-1{left:270px;top:260px;}
.spread-cross .slot-2{left:270px;top:20px;}
.spread-cross .slot-3{left:90px;top:260px;}
.spread-cross .slot-4{left:450px;top:260px;}
.spread-cross .slot-5{left:270px;top:500px;}
.spread-line{width:960px;height:270px;}
.spread-line .slot-1{left:90px;top:20px;}
.spread-line .slot-2{left:270px;top:20px;}
.spread-line .slot-3{left:450px;top:20px;}
.spread-line .slot-4{left:630px;top:20px;}
.spread-line .slot-5{left:810px;top:20px;}
.spread-line{width:960px;height:270px;}
.spread-line .slot-1{left:90px;top:20px;}
.spread-line .slot-2{left:270px;top:20px;}
.spread-line .slot-3{left:450px;top:20px;}
.spread-line .slot-4{left:630px;top:20px;}
.spread-line .slot-5{left:810px;top:20px;}
.spread-pairs{width:650px;height:750px;}
.spread-pairs .slot-1{left:90px;top:20px;}
.spread-pairs .slot-2{left:270px;top:20px;}
.spread-pairs .slot-3{left:90px;top:260px;}
.spread-pairs .slot-4{left:270px;top:260px;}
.spread-pairs .slot-5{left:90px;top:500px;}
.spread-pairs .slot-6{left:270px;top:500px;}
.spread-choice{width:650px;height:990px;}
.spread-choice .slot-1{left:270px;top:20px;}
.spread-choice .slot-2{left:90px;top:260px;}
.spread-choice .slot-3{left:90px;top:500px;}
.spread-choice .slot-4{left:90px;top:740px;}
.spread-choice .slot-5{left:450px;top:260px;}
.spread-choice .slot-6{left:450px;top:500px;}
.spread-choice .slot-7{left:450px;top:740px;}
.spread-horseshoe{width:1005px;height:870px;}
.spread-horseshoe .slot-1{left:68px;top:20px;}
.spread-horseshoe .slot-2{left:202px;top:230px;}
.spread-horseshoe .slot-3{left:338px;top:440px;}
.spread-horseshoe .slot-4{left:472px;top:650px;}
.spread-horseshoe .slot-5{left:608px;top:440px;}
.spread-horseshoe .slot-6{left:742px;top:230px;}
.spread-horseshoe .slot-7{left:878px;top:20px;}
.spread-grid{width:650px;height:750px;}
.spread-grid .slot-1{left:90px;top:20px;}
.spread-grid .slot-2{left:270px;top:20px;}
.spread-grid .slot-3{left:450px;top:20px;}
.spread-grid .slot-4{left:90px;top:260px;}
.spread-grid .slot-5{left:270px;top:260px;}
.spread-grid .slot-6{left:450px;top:260px;}
.spread-grid .slot-7{left:90px;top:500px;}
.spread-grid .slot-8{left:270px;top:500px;}
.spread-grid .slot-9{left:450px;top:500px;}
.spread-celtic{width:780px;height:990px;}
.spread-celtic .slot-1{left:270px;top:260px;}
.spread-celtic .slot-2{left:270px;top:380px;}
.spread-celtic .slot-3{left:90px;top:260px;}
.spread-celtic .slot-4{left:450px;top:260px;}
.spread-celtic .slot-5{left:270px;top:20px;}
.spread-celtic .slot-6{left:270px;top:740px;}
.spread-celtic .slot-7{left:630px;top:740px;}
.spread-celtic .slot-8{left:630px;top:500px;}
.spread-celtic .slot-9{left:630px;top:260px;}
.spread-celtic .slot-10{left:630px;top:20px;}
.spread-annual{width:780px;height:990px;}
.spread-annual .slot-1{left:90px;top:260px;}
.spread-annual .slot-2{left:270px;top:260px;}
.spread-annual .slot-3{left:450px;top:260px;}
.spread-annual .slot-4{left:630px;top:260px;}
.spread-annual .slot-5{left:90px;top:500px;}
.spread-annual .slot-6{left:270px;top:500px;}
.spread-annual .slot-7{left:450px;top:500px;}
.spread-annual .slot-8{left:630px;top:500px;}
.spread-annual .slot-9{left:90px;top:740px;}
.spread-annual .slot-10{left:270px;top:740px;}
.spread-annual .slot-11{left:450px;top:740px;}
.spread-annual .slot-12{left:630px;top:740px;}
.spread-annual .slot-13{left:360px;top:20px;}
.spread-houses{width:990px;height:990px;}
.spread-houses .slot-1{left:465px;top:20px;}
.spread-houses .slot-2{left:659px;top:74px;}
.spread-houses .slot-3{left:801px;top:220px;}
.spread-houses .slot-4{left:852px;top:420px;}
.spread-houses .slot-5{left:801px;top:620px;}
.spread-houses .slot-6{left:659px;top:766px;}
.spread-houses .slot-7{left:465px;top:820px;}
.spread-houses .slot-8{left:271px;top:766px;}
.spread-houses .slot-9{left:129px;top:620px;}
.spread-houses .slot-10{left:78px;top:420px;}
.spread-houses .slot-11{left:129px;top:220px;}
.spread-houses .slot-12{left:271px;top:74px;}
.spread-three_paths{width:650px;height:1230px;}
.spread-three_paths .slot-1{left:270px;top:20px;}
.spread-three_paths .slot-2{left:90px;top:260px;}
.spread-three_paths .slot-3{left:90px;top:500px;}
.spread-three_paths .slot-4{left:90px;top:740px;}
.spread-three_paths .slot-5{left:90px;top:980px;}
.spread-three_paths .slot-6{left:270px;top:260px;}
.spread-three_paths .slot-7{left:270px;top:500px;}
.spread-three_paths .slot-8{left:270px;top:740px;}
.spread-three_paths .slot-9{left:270px;top:980px;}
.spread-three_paths .slot-10{left:450px;top:260px;}
.spread-three_paths .slot-11{left:450px;top:500px;}
.spread-three_paths .slot-12{left:450px;top:740px;}
.spread-three_paths .slot-13{left:450px;top:980px;}
.spread-quarters{width:650px;height:990px;}
.spread-quarters .slot-1{left:90px;top:20px;}
.spread-quarters .slot-2{left:270px;top:20px;}
.spread-quarters .slot-3{left:450px;top:20px;}
.spread-quarters .slot-4{left:90px;top:260px;}
.spread-quarters .slot-5{left:270px;top:260px;}
.spread-quarters .slot-6{left:450px;top:260px;}
.spread-quarters .slot-7{left:90px;top:500px;}
.spread-quarters .slot-8{left:270px;top:500px;}
.spread-quarters .slot-9{left:450px;top:500px;}
.spread-quarters .slot-10{left:90px;top:740px;}
.spread-quarters .slot-11{left:270px;top:740px;}
.spread-quarters .slot-12{left:450px;top:740px;}

/* v0.3: conversion-first pages and compact study library */
html{scroll-behavior:smooth}body{background:radial-gradient(900px 520px at 77% -8%,#33496342,transparent 65%),var(--bg)}header{position:sticky;top:0;z-index:20;background:#111b29eF;backdrop-filter:blur(14px);height:82px}header:after{content:'';position:absolute;bottom:-1px;left:5vw;right:5vw;border-bottom:1px solid #52637966}nav a{font-weight:650;letter-spacing:.2px;position:relative;padding:8px 0}nav a:after{content:'';position:absolute;left:0;right:0;bottom:1px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}nav a:hover:after{transform:scaleX(1)}main{max-width:1180px;padding-top:50px}.hero{min-height:470px}.hero h1{max-width:600px;text-wrap:balance}.hero-art{min-height:390px}.strip{margin-top:4px}.panel{box-shadow:0 12px 34px #060b1220;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.panel:hover{transform:translateY(-2px);box-shadow:0 18px 42px #060b1238}.spread-tile{display:flex;min-height:290px;flex-direction:column}.spread-tile button{margin-top:auto;align-self:flex-start}.spread-tile .note{padding:9px 11px;margin:12px 0}.section-head{margin-top:70px}#recommend-form{max-width:980px;padding:28px 30px;background:linear-gradient(120deg,#1d2b3d,#172332);border-color:#8e795252;box-shadow:0 18px 50px #050a1126}#recommend-form textarea{min-height:116px}.library-hero{display:flex;align-items:end;justify-content:space-between;gap:35px;margin:35px 0 22px}.library-hero h1{margin-bottom:15px}.library-hero p{max-width:720px;margin-bottom:0}.library-count{flex:0 0 155px;border:1px solid #b99f6a75;border-radius:10px;padding:18px 22px;background:#dcc2960c;color:var(--gold);display:flex;align-items:baseline;gap:10px}.library-count b{font:42px Georgia;font-weight:400}.library-count span{font-size:11px;letter-spacing:1px;text-transform:uppercase}.library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin-bottom:24px}.library-toolbar .tabs{margin:0}.search{display:flex;align-items:center;gap:8px;margin:0;color:var(--gold);border:1px solid var(--line);background:var(--dark);border-radius:6px;padding:0 11px;width:min(330px,100%)}.search input{padding:9px 0;border:0;background:transparent;outline:0}.search:focus-within{border-color:var(--gold)}#card-library{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.library-card{height:100%;gap:14px;padding:18px}.library-card>img{width:88px}.library-card h3{font-size:17px;margin:4px 0}.library-card p{line-height:1.55;margin:5px 0 10px}.library-card .meaning{border-top:1px solid #ffffff12;padding-top:9px}.library-card .meaning p{font-size:12px}.library-card b{display:inline-block;margin-top:2px}@media(max-width:900px){#card-library{grid-template-columns:repeat(2,minmax(0,1fr))}.library-toolbar{align-items:flex-start;flex-direction:column}.search{width:100%}}@media(max-width:760px){header{position:relative;height:auto}.hero{min-height:0}.hero-art{display:none}.hero{padding:18px 0 32px}.hero h1{font-size:42px}.section-head{margin-top:46px}#recommend-form{padding:20px}.library-hero{align-items:flex-start;flex-direction:column;margin-top:10px}.library-count{width:100%}.library-toolbar{gap:12px}.library-toolbar .tabs{overflow-x:auto;flex-wrap:nowrap;width:100%;padding-bottom:2px}.library-toolbar .tabs button{white-space:nowrap}.library-card{padding:13px;gap:10px;flex-direction:column}.library-card>img{width:100%;max-width:145px;align-self:center}.library-card h3{font-size:16px}.library-card .meaning p{font-size:11px}.panel:hover{transform:none}}
