/* New application only; each site's established theme supplies its palette. */
html #dc-app.dc-app{--dc-ink:var(--px-text,#f4ecdf);--dc-muted:var(--px-muted,#c3bac7);--dc-accent:var(--px-accent,#e1bc72);--dc-surface:var(--px-surface,#151120);color:var(--dc-ink);background:var(--px-bg,#111426);box-sizing:border-box;width:100%;max-width:1160px;min-height:0;margin:28px auto;padding:clamp(16px,4vw,48px);border-radius:22px;font-family:var(--px-body,system-ui,sans-serif);line-height:1.65;overflow-wrap:anywhere}
html #dc-app *,html .dc-promo *{box-sizing:border-box}html #dc-app [hidden]{display:none!important}
html #dc-app :is(h2,input,textarea){scroll-margin-top:110px}
html #dc-app :is(h1,h2,h3,p,figure){margin:0}html #dc-app h1{font-family:var(--px-heading,Georgia,serif);font-size:clamp(30px,4vw,54px);line-height:1.12;letter-spacing:-.025em;font-weight:500;color:var(--dc-ink);text-align:left;margin:18px 0}
html #dc-app h2{font:500 clamp(24px,3vw,34px)/1.25 var(--px-heading,Georgia,serif);color:var(--dc-ink);text-align:left;margin-bottom:16px}
html #dc-app h3{font:600 20px/1.35 var(--px-heading,Georgia,serif);color:var(--dc-accent);text-align:left}
html #dc-app p{font-size:16px;line-height:1.7;color:var(--dc-ink);text-align:left}html #dc-app .dc-eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:600;color:var(--dc-accent)}
html #dc-app .dc-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(20px,4vw,48px);align-items:center;margin-bottom:32px}
html #dc-app .dc-hero-art{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:180px 180px 12px 12px;border:1px solid color-mix(in srgb,var(--dc-accent) 45%,transparent)}
html #dc-app .dc-intro{max-width:39ch;color:var(--dc-muted);font-size:18px}html #dc-app .dc-hero-rule{color:var(--dc-accent);margin-top:20px;display:flex;gap:12px;align-items:center}html #dc-app .dc-hero-rule:after{content:'';width:130px;height:1px;background:var(--dc-accent);opacity:.35}
html #dc-app .dc-panel{background:var(--dc-surface);border:1px solid color-mix(in srgb,var(--dc-accent) 30%,transparent);padding:clamp(18px,3vw,30px);border-radius:16px}
html #dc-app #dc-form{max-width:860px;margin:auto}html #dc-app label{display:flex;align-items:center;gap:10px;color:var(--dc-ink);font-weight:600;font-size:15px;margin:0 0 10px;text-transform:none}
html #dc-app :is(input,textarea){display:block;min-width:0;width:100%;color:var(--dc-ink);background:color-mix(in srgb,var(--dc-surface) 85%,black);border:1px solid color-mix(in srgb,var(--dc-accent) 35%,transparent);border-radius:8px;font:400 16px/1.5 var(--px-body,system-ui,sans-serif);padding:14px;box-shadow:none;min-height:52px}
html #dc-app textarea{resize:vertical;min-height:112px}html #dc-app :is(input,textarea)::placeholder{color:var(--dc-muted);opacity:.75}
html #dc-app :is(input,textarea,button,summary,a):focus-visible{outline:2px solid var(--dc-accent);outline-offset:4px}
html #dc-app .dc-options{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}html #dc-app .dc-options>div{min-width:0}
html #dc-app .dc-letter{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--dc-accent);border-radius:50%;font:500 16px Georgia,serif;flex:none;color:var(--dc-accent)}
html #dc-app button{border:1px solid color-mix(in srgb,var(--dc-accent) 45%,transparent);border-radius:8px;background:transparent;color:var(--dc-accent);font:600 15px/1.4 var(--px-body,system-ui,sans-serif);padding:12px 20px;min-height:46px;max-width:100%;white-space:normal;cursor:pointer;box-shadow:none;text-transform:none;letter-spacing:0;margin:0;transition:background .2s,transform .2s}
html #dc-app button:hover:not(:disabled){background:color-mix(in srgb,var(--dc-accent) 12%,transparent)}html #dc-app button:disabled{opacity:.45;cursor:default}html #dc-app button.dc-primary{background:var(--dc-accent);color:#201923;border-color:var(--dc-accent)}html #dc-app button.dc-primary:hover:not(:disabled){background:color-mix(in srgb,var(--dc-accent) 85%,white);transform:translateY(-1px)}html #dc-app #dc-start{width:100%}
html #dc-app details{border:0;border-top:1px solid color-mix(in srgb,var(--dc-accent) 25%,transparent);border-radius:0;padding:16px 0;background:none}html #dc-app details p{padding:16px 0 0;color:var(--dc-muted);max-width:78ch}html #dc-app summary{cursor:pointer;color:var(--dc-accent);font-size:15px;font-weight:500;padding:0}html #dc-app .dc-method{margin-top:24px;padding-bottom:0}
html #dc-app .dc-validation{color:#f1b7a8;margin:12px 0}html #dc-app .dc-explain{max-width:65ch;color:var(--dc-muted);margin-bottom:18px}
html #dc-app #dc-progress{font-weight:700;color:var(--dc-accent)}html #dc-app #dc-next{font-size:14px;color:var(--dc-muted);min-height:24px}
html #dc-app .dc-selected{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;max-width:630px;margin:20px auto 28px}
html #dc-app .dc-slot{display:flex;align-items:center;justify-content:center;min-width:0;aspect-ratio:3/5;border:1px dashed color-mix(in srgb,var(--dc-accent) 35%,transparent);border-radius:5px;color:var(--dc-muted);overflow:hidden;font-size:14px}
html #dc-app .dc-slot img{display:block;width:100%;height:100%;object-fit:contain}html #dc-app .dc-deck{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(8px,2vw,20px);max-width:850px;margin:auto}
html #dc-app .dc-deck button{position:relative;aspect-ratio:3/5;min-height:0;padding:0;overflow:hidden;border-color:var(--dc-accent);background:linear-gradient(140deg,#231c35,#111523);border-radius:7px}
html #dc-app .dc-deck button:before{content:'';position:absolute;inset:5px;border:1px solid #a5895580;border-radius:3px}html #dc-app .dc-deck button:after{content:'✦';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:clamp(20px,4vw,40px);color:var(--dc-accent)}html #dc-app .dc-deck button[aria-pressed=true]{opacity:.32;transform:translateY(-4px)}
html #dc-app .dc-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:24px 0}html #dc-app .dc-wait{max-width:780px;margin:auto;text-align:center}html #dc-app .dc-wait :is(h2,p){text-align:center}html #dc-app .dc-constellation{font:24px/1.7 Georgia,serif;letter-spacing:10px;color:var(--dc-accent);margin:12px 0 26px;animation:dc-pulse 2.4s ease-in-out infinite}
html #dc-app .dc-query{border-left:2px solid var(--dc-accent);padding:6px 0 6px 20px;margin:20px 0 28px}html #dc-app .dc-query h3{font-size:16px;margin-bottom:8px}html #dc-app .dc-query p{white-space:pre-wrap}
html #dc-app .dc-central{display:grid;grid-template-columns:130px 1fr;gap:28px;align-items:center;max-width:780px;margin:0 auto 32px}html #dc-app .dc-card-image{display:block;width:100%;height:auto;aspect-ratio:250/419;object-fit:contain;border-radius:5px}
html #dc-app .dc-card-role{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--dc-accent);margin-bottom:6px}html #dc-app .dc-card-name{font:500 20px/1.3 var(--px-heading,Georgia,serif);color:var(--dc-ink);margin-bottom:12px}
html #dc-app .dc-branches{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:24px}html #dc-app .dc-branch{min-width:0;border-top:1px solid var(--dc-accent);padding-top:22px}html #dc-app .dc-branch>header{position:relative;padding:0 0 22px 44px;min-height:90px}html #dc-app .dc-branch>header>.dc-letter{position:absolute;top:0;left:0}html #dc-app .dc-branch>header>p{margin-top:8px;white-space:pre-wrap;font-size:17px}
html #dc-app .dc-result-cards{display:grid;gap:16px}html #dc-app .dc-card-reading{display:grid;grid-template-columns:80px 1fr;gap:18px;align-items:start;padding:20px 16px;background:var(--dc-surface);border:1px solid color-mix(in srgb,var(--dc-accent) 20%,transparent);border-radius:10px;min-width:0}html #dc-app .dc-card-reading .dc-card-name{font-size:19px}html #dc-app .dc-card-reading p{font-size:15px;line-height:1.75}
html #dc-app .dc-comparison{margin:28px auto 0;max-width:900px}html #dc-app .dc-comparison h3{margin-bottom:12px}html #dc-app .dc-comparison p+h3{margin-top:24px}html #dc-app #dc-reflection{font-family:var(--px-heading,Georgia,serif);font-size:23px;color:var(--dc-accent)}html #dc-app .dc-note{color:var(--dc-muted);font-size:13px;max-width:80ch;margin:22px auto 0;text-align:center}html #dc-app .dc-guide{max-width:860px;margin:44px auto 0}html #dc-app .dc-guide h2{font-size:23px}
.dc-promo{display:grid!important;grid-template-columns:200px 1fr;gap:28px;align-items:center;max-width:1100px;margin:32px auto;padding:24px;border:1px solid var(--px-accent,#bfa269);border-radius:16px;background:var(--px-surface,#151120);color:var(--px-text,#f4ecdf)!important;text-decoration:none!important}.dc-promo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px}.dc-promo h2{font:500 28px/1.2 var(--px-heading,Georgia,serif);color:var(--px-accent,#e1bc72);margin:0 0 12px}.dc-promo p{font-size:16px;line-height:1.6;margin:0;color:var(--px-text,#f4ecdf)}.dc-promo:hover{box-shadow:0 0 0 2px var(--px-accent,#e1bc72)}
@keyframes dc-pulse{50%{opacity:.35}}
@media(max-width:760px){html #dc-app .dc-branches{grid-template-columns:1fr;gap:30px}html #dc-app .dc-card-reading{grid-template-columns:88px 1fr}html #dc-app .dc-hero{gap:24px}html #dc-app .dc-intro{font-size:16px}}
@media(max-width:540px){html #dc-app.dc-app{margin:16px auto;border-radius:14px}html #dc-app .dc-hero{grid-template-columns:1fr}html #dc-app .dc-hero-art{max-width:360px;margin:0 auto;max-height:200px;object-fit:cover;border-radius:100px 100px 10px 10px}html #dc-app .dc-hero-rule{display:none}html #dc-app .dc-options{grid-template-columns:1fr;gap:18px}html #dc-app .dc-selected{gap:5px}html #dc-app .dc-central{grid-template-columns:86px 1fr;gap:16px;padding:18px 12px}html #dc-app .dc-card-reading{grid-template-columns:72px 1fr;gap:14px;padding:18px 12px}html #dc-app .dc-card-name{font-size:18px}html #dc-app .dc-deck{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}html #dc-app .dc-deck button{min-height:52px}html #dc-app .dc-deck button:before{inset:3px}html #dc-app .dc-actions button{flex:1 1 170px}.dc-promo{grid-template-columns:1fr;padding:18px;gap:18px;margin:24px 12px}.dc-promo img{max-height:220px}.dc-promo h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){html #dc-app .dc-constellation{animation:none}html #dc-app button{transition:none}}

html #dc-app .dc-answer{margin:0 0 22px;font-size:17px;line-height:1.65}
