:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;color:#f6f0ff;background:#170f28;color-scheme:dark;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 75% 12%,#57327865,transparent 50%),radial-gradient(ellipse at 0 60%,#244d6350,transparent 50%),#170f28;min-height:100svh}button,a,input{ -webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;min-height:46px;border:1px solid #ffffff35;border-radius:13px;background:#ffffff0b;padding:11px 17px;font-weight:650;transition:background .16s,transform .16s}button:hover{background:#ffffff18}button:focus-visible,a:focus-visible{outline:3px solid #f4ce83;outline-offset:4px}button:disabled{opacity:.45;cursor:default}button.primary{background:#f1d08f;color:#2b1b38;border-color:#f1d08f;box-shadow:0 6px 22px #0003}button.primary:hover{background:#ffe5b3}a{color:#dbc2fa}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.2rem,6vw,4.4rem);letter-spacing:-.05em;line-height:1.05;margin-bottom:20px}h2{font-size:1.55rem;letter-spacing:-.02em}p{line-height:1.65;color:#cbbfd8}.sitebar{height:84px;max-width:1380px;margin:auto;padding:16px 5vw;display:flex;align-items:center;gap:18px}.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-size:1.25rem;font-weight:800}.mark{display:grid;place-items:center;width:44px;height:44px;background:#8e61c530;border:1px solid #b191de75;border-radius:15px;color:#f1d08f;font-size:32px;font-family:Georgia,serif}.edition{font-size:.7rem;font-weight:750;letter-spacing:.18em;color:#baabca;flex:1}main{max-width:1320px;padding:30px 5vw 64px;margin:auto}.loading{min-height:65vh;display:grid;place-content:center;justify-items:center;text-align:center}.loading h1{font-size:2rem;margin-top:25px}.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:4vw;padding:36px 0 48px}.eyebrow{color:#e8c881;letter-spacing:.17em;font-size:.72rem;font-weight:800;text-transform:uppercase}.hero p{max-width:530px}.hero canvas{width:100%;height:330px;max-width:480px;justify-self:center}.tagline{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.tag{background:#ffffff09;border:1px solid #ffffff1c;border-radius:100px;padding:8px 12px;font-size:.78rem;color:#d7cbe2}.panel{background:#ffffff06;border:1px solid #ffffff1b;border-radius:23px;padding:25px;box-shadow:0 12px 45px #0002}.start-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:20px}.choices,.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.choices button{flex:1;text-align:left;padding:20px;min-width:140px}.choices button span{display:block;color:#beb0ce;font-size:.82rem;margin-top:5px}.help{font-size:.88rem}.preview-list{display:flex;gap:20px;overflow:auto;padding:20px 0}.preview-item{min-width:220px;max-width:220px}.composition{position:relative;width:100%;margin:0 auto}.card-zone{position:absolute;overflow:hidden;border-radius:6px}.card-zone img{display:block;width:100%;height:100%;object-fit:contain}.hud{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.hud h1{font-size:clamp(1.5rem,4vw,2.3rem);margin:4px 0}.metrics{display:flex;gap:25px}.metric strong{font-size:1.75rem;display:block;color:#f0d08d}.metric span{font-size:.73rem;color:#c4b6d0}.instruction{border:1px solid #b990e342;background:#62408f25;border-radius:14px;padding:13px 17px;color:#ede2fa;margin-bottom:18px;line-height:1.5}.board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;align-items:center}.playcard{padding:0;position:relative;border:1px solid #ad91cd5c;background:linear-gradient(145deg,#765399,#342048);border-radius:12px;overflow:hidden;aspect-ratio:3/4;display:grid;place-items:center;min-height:0;box-shadow:0 5px 14px #0004;transition:transform .18s,border-color .18s}.playcard:hover{transform:translateY(-3px)}.playcard.back::before{content:'π';font:clamp(22px,4vw,50px) Georgia,serif;color:#dfc088}.playcard.back::after{content:'';position:absolute;inset:8px;border:1px solid #dac0f345;border-radius:8px}.playcard img{width:100%;height:100%;object-fit:contain;background:#f3ede9}.playcard.selected{outline:3px solid #f4d491;outline-offset:3px;transform:translateY(-4px)}.playcard.won{opacity:.15;box-shadow:none;pointer-events:none}.playcard .sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.board-actions{position:sticky;bottom:12px;background:#251c35ee;backdrop-filter:blur(14px);border:1px solid #ffffff25;box-shadow:0 6px 25px #0004;border-radius:17px;padding:12px;margin-top:22px;display:flex;flex-wrap:wrap;gap:10px;z-index:3}.pq-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin-bottom:20px}.pq-grid .playcard{aspect-ratio:3/4}.result{text-align:center;padding:60px 15px}.result .medallion{width:95px;height:95px;border-radius:50%;display:grid;place-items:center;font:52px Georgia,serif;background:linear-gradient(135deg,#f6dfa3,#bf8d42);color:#392642;margin:0 auto 28px;box-shadow:0 0 70px #dab8752b}.result .score{font-size:5rem;font-weight:800;color:#f1d08f;line-height:1.1}.result .metrics{justify-content:center;margin:26px}.rated-question{max-width:800px;margin:20px auto}.rated-question fieldset{border:0;padding:0;margin:18px 0}.rated-question legend{color:#c8bcd5;padding:8px 0}.answer-choice{display:flex;gap:13px;align-items:center;min-height:56px;border:1px solid #ffffff2b;border-radius:12px;padding:12px 16px;margin:10px 0;cursor:pointer}.answer-choice:has(input:checked){background:#9b70c534;border-color:#c39ce8}.answer-choice input{accent-color:#c292e5;width:19px;height:19px}.rated-clock{color:#e9c786;font-weight:700}.rated-result{color:#bce6c3;font-size:1.2rem}.meta{font-size:.86rem}.error{color:#ffc8cb}#notice{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);max-width:min(700px,92vw);background:#38284b;border:1px solid #d9bddd;padding:15px 20px;border-radius:15px;z-index:8;box-shadow:0 8px 35px #0008}footer{max-width:1200px;margin:auto;border-top:1px solid #ffffff14;padding:25px 5vw;display:flex;gap:20px;justify-content:space-between;color:#a999bc;font-size:.8rem}details{color:#cbbfd8}summary{cursor:pointer;margin:10px 0}ol{line-height:1.8;padding-left:22px}.resume{margin-bottom:20px;border-color:#c29ddd65}.empty{padding:35px;text-align:center}.set-zoom{max-width:480px;margin:20px auto}.set-zoom .composition{max-width:100%!important}
@media(max-width:780px){.sitebar{height:73px;padding:12px 5vw;gap:10px}.edition{font-size:.6rem}#home{font-size:.75rem;padding:9px;min-height:40px}.hero{grid-template-columns:1fr;padding:15px 0 25px;gap:0}.hero canvas{height:230px;grid-row:2}.hero h1{font-size:2.7rem}.hero p{margin-bottom:0}.start-grid{grid-template-columns:1fr}main{padding-top:18px}.board,.pq-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.hud{align-items:flex-start}.metrics{gap:12px}.metric strong{font-size:1.35rem}.metric span{font-size:.65rem}.panel{padding:20px}.playcard{border-radius:9px}.board-actions{bottom:8px}footer{flex-wrap:wrap;gap:12px}.result .metrics{gap:17px}.result .score{font-size:4rem}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.playcard.back.has-art::before,.playcard.back.has-art::after{content:none}
/* Viewport shell: the document never scrolls; only designated content areas do. */
html,body{height:100%;overflow:hidden}body{height:100dvh;min-height:0;display:grid;grid-template-rows:76px minmax(0,1fr) 48px}.sitebar{height:100%;width:100%;max-width:1440px;padding:12px 3vw}.view-switch{display:flex;gap:3px;margin-left:auto;background:#100b1f80;border:1px solid #ffffff25;border-radius:12px;padding:3px}.view-switch a{font-size:.82rem;padding:10px 13px;text-decoration:none;color:#cbbbdc;border-radius:9px;white-space:nowrap}.view-switch a[aria-current]{background:#74509670;color:#fff;font-weight:700}main{width:100%;height:100%;min-height:0;max-width:1440px;padding:12px 3vw;overflow:hidden}.home-view{overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.match-view{display:flex;flex-direction:column;gap:10px}.match-view .hud{flex:none;margin:0}.match-view .hud h1{font-size:clamp(1rem,2.6vw,1.8rem);margin:0}.match-view .hud .eyebrow{margin-bottom:5px}.match-view .instruction{flex:none;max-height:64px;overflow:auto;font-size:.85rem;padding:8px 12px;margin:0}.match-view .board,.match-view .pq-grid{flex:1;min-height:0;margin:0;align-items:stretch;overflow:hidden}.match-view .playcard{width:100%;height:100%;aspect-ratio:auto;border-radius:8px}.match-view .playcard img{min-height:0;object-fit:contain}.match-view .playcard:hover{transform:none}.match-view .playcard.selected{transform:none;outline-offset:-3px}.match-view .board-actions{flex:none;position:static;margin:0;padding:7px;gap:7px}.board-actions button{padding:9px 12px;font-size:.8rem;min-height:42px}.question-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.rated-question{margin:0 auto}.result{overflow:auto;min-height:0;padding:25px 10px}.pq-choice{grid-template-rows:minmax(0,1fr) auto}.pq-caption{font-size:clamp(.6rem,1.2vw,.88rem);padding:3px;line-height:1.15}.pq-choice img{background:#171027}.hero-art{position:relative;min-width:0;width:100%;height:300px}.hero-art canvas{position:absolute;width:100%;height:100%;max-width:none}.hero-2d{height:100%;display:flex;align-items:center;justify-content:center;gap:4px}.hero-2d[hidden]{display:none}.hero-2d img{width:30%;max-height:85%;object-fit:contain;border-radius:10px;box-shadow:0 8px 30px #0006}.hero-2d img:first-child{transform:rotate(-8deg)}.hero-2d img:last-child{transform:rotate(8deg)}.choices .composition{margin:0 0 15px;max-width:100%!important;pointer-events:none}.choices button{min-width:200px;overflow:hidden}.deck-menu .choices{align-items:stretch}.hero{padding:20px 0 28px}.hero h1{font-size:clamp(2rem,4.5vw,3.6rem)}footer{height:100%;max-width:none;padding:10px 3vw;align-items:center;flex-wrap:nowrap;gap:10px;margin:0;white-space:nowrap}.loading{min-height:100%}
@media(max-width:780px){body{grid-template-rows:62px minmax(0,1fr) 36px}.sitebar{padding:7px 3vw;gap:7px}.brand{font-size:.95rem;gap:7px}.mark{width:32px;height:32px;font-size:25px;border-radius:11px}.view-switch a{font-size:.66rem;padding:8px 7px}.sitebar #home{font-size:0;min-height:34px;padding:7px}.sitebar #home::after{content:'Pause';font-size:.7rem}.match-view{gap:7px}.match-view .hud h1{font-size:1.05rem}.hud .eyebrow{font-size:.54rem;letter-spacing:.08em}.match-view .metrics{gap:11px}.metric strong{font-size:1.1rem}.metric span{font-size:.57rem}.match-view .instruction{max-height:54px;font-size:.72rem;padding:7px}.board-actions{justify-content:center}.board-actions button{font-size:.68rem;min-height:40px;padding:8px 9px}.board-actions button:last-child{padding:8px 5px}.hero-art{height:220px}.hero{gap:6px}.hero .tagline{gap:5px;margin:14px 0}.tag{font-size:.7rem}.choices button{min-width:160px;padding:15px}.choices .composition{margin-bottom:12px}footer{font-size:.61rem;padding:7px 3vw}.rated-question{padding:16px}.rated-question h2{font-size:1.2rem}.rated-question h3{font-size:1.05rem}.result .medallion{width:60px;height:60px;font-size:36px;margin-bottom:15px}.result .score{font-size:3rem}.result .metrics{margin:16px}}
@media(max-height:500px){body{grid-template-rows:49px minmax(0,1fr) 29px}.sitebar{padding:5px 3vw}.mark{width:30px;height:30px;font-size:23px}.brand{font-size:1rem}.view-switch a{padding:7px 10px}main{padding:6px 3vw}.match-view{gap:5px}.match-view .hud h1{font-size:1rem}.match-view .hud .eyebrow{display:none}.match-view .metric strong{font-size:1rem}.match-view .metric span{font-size:.57rem}.match-view .instruction{max-height:30px;padding:5px 9px;font-size:.7rem}.match-view .board-actions{padding:3px;gap:7px}.board-actions button{min-height:36px;padding:6px 9px}.pq-caption{font-size:.65rem}footer{font-size:.65rem;padding:4px 3vw}.hero{grid-template-columns:1fr 1fr;gap:25px}.hero-art{height:200px}.hero canvas{grid-row:auto}.hero h1{font-size:2rem}}

.playcard.back.has-art img{background:#121024}

.set-reading{min-height:0;overflow:auto;flex:1;max-width:1000px;width:100%;margin:0 auto;overscroll-behavior:contain}.set-reading .composition{max-width:760px;margin:20px auto;flex:none}.set-reading h2{font-size:clamp(1.2rem,3vw,2rem);margin-bottom:12px}.reading-facts{white-space:pre-line;max-width:780px;line-height:1.65}.reading-result{font-weight:750;color:#f1d08f}.set-reading>button{position:sticky;bottom:0;box-shadow:0 3px 18px #0008}.set-reading .card-zone{border-radius:0}
