/* Shared layout and components; the selected tradition supplies its own palette. */
:root[data-tradition]{--accent:#55634c;--accent-2:#a18c61;--bg:#f8f7f2;--surface:#fffefa;--border:#dddccf;--focus-ink:#2f362d;--focus-muted:#6c7266;--ink:var(--focus-ink);--muted:var(--focus-muted);--paper:var(--bg);--line:var(--border);--green:var(--accent);--purple:var(--accent);--warm-paper:var(--bg);--warm-ink:var(--ink);--warm-muted:var(--muted);--warm-line:var(--border);--method-accent:var(--accent)}
body{background:var(--bg);color:var(--ink)}
a,button,summary,input,select,textarea{outline-color:var(--accent)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.site-header{height:88px;max-width:1360px;padding-inline:40px;position:relative;z-index:40;background:var(--bg)}
.site-header nav{align-items:center;gap:30px}.site-header .brand-symbol{color:var(--accent)}.site-header nav>a,.directory-menu>summary{font-size:14px;color:var(--ink)}
.directory-menu{position:static}.directory-menu>summary{display:flex;gap:12px;align-items:center;padding:14px 0;cursor:pointer;list-style:none}.directory-menu>summary::-webkit-details-marker{display:none}.directory-menu>summary>span{font-size:18px;transition:transform .15s}.directory-menu[open]>summary>span{transform:rotate(180deg)}.directory-menu[open]>summary{color:var(--accent)}
.directory-popover{position:absolute;z-index:50;left:50%;top:calc(100% - 8px);transform:translateX(-50%);width:min(920px,calc(100vw - 64px));padding:24px 28px 18px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 20px 60px #31392824;color:var(--ink)}
.directory-menu-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--border);font-size:13px}.directory-menu-heading>span{font-weight:600}.site-header .directory-menu-heading>a{font-size:12px;color:var(--muted);padding:0}
.directory-menu-groups{display:grid;grid-template-columns:1.45fr 1.15fr 1fr 1fr 1fr;gap:22px;padding-block:20px}.directory-menu-groups>section{min-width:0}.site-header .directory-menu-groups a{display:block;padding:8px 6px;font-size:13px;line-height:1.55;border-radius:5px}.site-header .directory-menu-groups .directory-region{font-size:12px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:12px;margin-bottom:8px;border-radius:0}.directory-region>span{float:right}.directory-menu-groups a:hover,.directory-menu-bottom a:hover{background:#f0f1e9;color:var(--accent)}.directory-menu-groups [aria-current=page]{background:#e9eddf;color:var(--accent);font-weight:600}.directory-menu-bottom{display:flex;flex-wrap:wrap;gap:22px;border-top:1px solid var(--border);padding-top:15px}.site-header .directory-menu-bottom a{font-size:12px;padding:4px 0;color:var(--muted)}
#workspace.unified-workspace{max-width:1240px;margin:auto;padding:30px 40px 80px}.unified-workspace .workspace-heading{margin:0 0 22px;border:0;padding:0;display:flex;justify-content:space-between;gap:20px}.page-breadcrumb{font-size:12px;color:var(--muted)}.page-return{font-size:12px;color:var(--muted)}
.unified-workspace .work-layout{display:block!important;margin:0}.unified-workspace .page-reading-column{min-width:0;max-width:none}.method-page-header{border-bottom:1px solid var(--border);padding:16px 0 30px;margin-bottom:28px;max-width:none}.method-page-label{font-size:11px;color:var(--accent);display:flex;align-items:center;gap:10px;letter-spacing:.06em}.method-page-label>span:first-child{font-size:20px}.method-page-header h1{font-size:clamp(32px,3.2vw,44px);line-height:1.4;margin:12px 0;font-weight:500;letter-spacing:-.02em;color:var(--ink)}.method-page-header p{max-width:760px;font-size:15px;line-height:1.9;color:var(--muted)}
.unified-workspace .panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:none;color:var(--ink)}.unified-workspace .panel>h2{font-size:25px}.unified-workspace .subtitle,.unified-workspace .hint{color:var(--muted)}.unified-workspace .button.dark,.unified-workspace .button:not(.outline){background:var(--accent);color:#fffefa;border-radius:8px}.unified-workspace .button.outline{border-color:var(--border);border-radius:8px}.unified-workspace .rule-profile{margin:0 0 24px;border:1px solid var(--border);border-radius:8px;background:#eeefe7;padding:14px 20px;font-size:13px}.rule-profile summary{cursor:pointer}.rule-profile summary span{color:var(--muted);font-size:11px}.unified-workspace .focus-window{border-top:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:0 12px 40px #39442f0b;margin:28px auto 36px;padding:34px 38px}.unified-workspace .focus-window form.panel{border:0;background:transparent}.focus-window .mode-toggle .active{background:var(--accent)}
.warm-directory .method-card{background:var(--surface);border-radius:12px;min-height:248px}.warm-directory .method-card p{font-size:14px;line-height:1.8}.warm-directory .method-icon{color:var(--accent)}.warm-directory .method-status{background:#edf0e4;color:#56634e}.warm-directory .method-link{font-size:14px;color:var(--accent)}.warm-directory .method-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.warm-directory .guide-grid{margin:20px 0;padding:22px 0}.warm-directory .guide-grid p{font-size:13px}.warm-directory>.subtitle{font-size:14px}
.warm-hero{min-height:360px;padding-top:30px;padding-bottom:20px}.warm-hero h1{font-size:clamp(40px,4vw,58px);line-height:1.35}.warm-hero h1 span{color:var(--accent)}.warm-hero .hero-description{font-size:15px;line-height:2}.warm-hero-art{min-height:310px;background:radial-gradient(ellipse,#e5e7d870,transparent 66%)}.warm-hero-art>img{width:280px;filter:grayscale(.45);opacity:.7}.warm-hero-art p{font-size:14px;letter-spacing:.05em;color:var(--muted)}.warm-seal{display:none}.warm-hero-note{font-size:12px;color:var(--muted)}
.warm-paths>.warm-path,.warm-paths>.warm-path-night{background:var(--surface);border:1px solid var(--border);color:var(--ink);border-radius:12px;min-height:255px;padding:28px}.warm-path-top,.warm-path-night .warm-path-top{color:var(--muted)}.warm-path-top small{font-size:11px}.warm-path p,.warm-path-night p{color:var(--muted);font-size:14px}.warm-path h2{font-size:28px}.warm-path .button,.warm-path-night .button{background:var(--accent);color:#fffefa;border-radius:7px;padding:12px 18px;font-size:14px}.warm-trigram{color:var(--accent);background:#edf0e4;border-color:#b6c1a8}.warm-fan span{background:#e7ecdf!important;color:var(--accent);border-color:#abb69c;box-shadow:none}.warm-fan span:nth-child(2){background:#f1f4eb!important}
html[data-page=home] .tool-card,html[data-page=home] .plan-grid article,html[data-page=home] .preview-paper{background:var(--surface)!important;border-radius:12px;border-color:var(--border)}html[data-page=home] .tarot-feature,html[data-page=home] .closing{background:#edf0e5;border-radius:12px}html[data-page=home] .button.dark{background:var(--accent);border-radius:8px}.warm-region-link strong{font-family:inherit}.warm-library-strip{border-radius:12px;background:var(--surface)}
/* The night sky belongs to the card activity, within the common page shell. */
.unified-workspace .tarot-sky-stage{border-radius:16px;overflow:hidden}.unified-workspace .tarot-sky-content .panel{background:rgba(13,18,43,.82);color:#f0effb;border-color:#8f7eae}.unified-workspace .tarot-sky-content :is(.hint,.subtitle){color:#c6cbe4}.unified-workspace .tarot-sky-content .button{background:#e6c683;color:#151529}.unified-workspace .tarot-sky-content .focus-window{background:rgba(13,18,43,.9);border-color:#8f7eae}
.simple-footer{max-width:1280px;margin:0 auto;padding:32px 40px 22px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--border);background:transparent}.simple-footer .footer-brand{display:flex;gap:22px;align-items:center}.simple-footer .footer-brand p{font-size:12px;margin:0;color:var(--muted)}.simple-footer nav{display:flex;gap:24px;font-size:12px}.simple-footer .footer-bottom{width:100%;padding:18px 0 0;margin:0;border-top:1px solid var(--border);font-size:11px}.simple-footer .operator-footer{width:100%;font-size:11px;color:var(--muted);padding:0;margin:0}
@media(max-width:1000px){.site-header nav{gap:20px}.site-header{padding-inline:26px}.header-actions{gap:8px}.site-header .brand{font-size:20px}.account-link{display:none}.directory-menu-groups{gap:14px}}
@media(max-width:760px){.site-header{height:auto;min-height:88px;padding:18px 22px}.site-header nav{overflow:visible;gap:18px;justify-content:flex-start}.directory-popover{width:calc(100vw - 28px);padding:20px;max-height:75vh;overflow:auto}.directory-menu-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.directory-menu-bottom{gap:16px}#workspace.unified-workspace{padding:22px 22px 50px}.unified-workspace .workspace-heading{flex-wrap:wrap}.method-page-header{padding:10px 0 24px}.method-page-header h1{font-size:30px}.warm-directory .method-catalog-grid{grid-template-columns:1fr}.warm-hero-art{min-height:250px}.warm-hero-art>img{width:230px}.warm-paths>.warm-path{padding:24px}.unified-workspace .focus-window{padding:26px 22px}.simple-footer{margin-inline:22px;padding:28px 0}.simple-footer .footer-brand{flex-wrap:wrap}.simple-footer .footer-bottom{gap:10px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.directory-menu>summary>span{transition:none}}

/* Restore the earlier tradition colours while keeping the dropdown-only directory. */
:root[data-tradition="ziwei"]{--accent:#795995;--accent-2:#b79a62;--bg:#f5f1f7;--border:#d8cde1}
:root[data-tradition="bazi"],:root[data-tradition="china"]{--accent:#3f7056;--accent-2:#a58d55;--bg:#f1f4ed;--border:#cdd9cb}
:root[data-tradition="chenggu"]{--accent:#96593f;--accent-2:#b09560;--bg:#f8f1e8;--border:#e2cebf}
:root[data-tradition="huangji"]{--accent:#366c7b;--accent-2:#b49d65;--bg:#eff4f4;--border:#c6d9dc}
:root[data-tradition="tarot"],:root[data-tradition="europe"]{--accent:#78618e;--accent-2:#c3a76c;--bg:#f5f1ea;--border:#d9ccdd}
:root[data-tradition="omikuji"],:root[data-tradition="japan"]{--accent:#a14337;--accent-2:#b09b62;--bg:#faf0ea;--border:#e4c9bf}
:root[data-tradition="runes"],:root[data-tradition="nordic"]{--accent:#2c7469;--accent-2:#a89860;--bg:#eef5f1;--border:#c8dcd4}
:root[data-tradition="vedic"],:root[data-tradition="india"]{--accent:#936123;--accent-2:#b78556;--bg:#f9f0e4;--border:#dfc9af}
:root[data-tradition="mbti"],:root[data-tradition="compare"]{--accent:#506c9c;--accent-2:#9882a2;--bg:#f1f3f8;--border:#ced6e6}
.method-page-header{border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:12px;padding:24px 28px 28px;background:linear-gradient(115deg,color-mix(in srgb,var(--accent) 7%,var(--surface)),var(--surface))}.method-page-header h1{color:var(--accent)}
.unified-workspace .rule-profile{background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.directory-menu-groups a:hover,.directory-menu-bottom a:hover{background:color-mix(in srgb,var(--accent) 7%,var(--surface))}.directory-menu-groups [aria-current=page]{background:color-mix(in srgb,var(--accent) 12%,var(--surface))}
.warm-directory .method-card{border-color:var(--border);background:color-mix(in srgb,var(--accent) 4%,var(--surface));border-top:3px solid var(--accent)}.warm-directory .method-card h3,.warm-directory .method-card .method-icon{color:var(--accent)}.warm-directory .method-status{background:color-mix(in srgb,var(--accent) 9%,var(--surface));color:var(--accent)}
.warm-paths>.warm-path-night{background:radial-gradient(ellipse at 95% 30%,#4a425d50,transparent 65%),#212b3b;color:#f5edda;border-color:#45505a}.warm-path-night .warm-path-top{color:#cec2a5}.warm-path-night p{color:#c7cccf}.warm-path-night .button{background:#e8dec5;color:#303947}.warm-path-night .warm-fan span{background:#293747!important;color:#c7b386;border-color:#c6b17a}.warm-path-night .warm-fan span:nth-child(2){background:#263548!important}.warm-paths>.warm-path-china{background:#ece8db}.warm-trigram{border-color:#bcae88;color:#948565;background:#e2dece55}
.warm-region-link[data-tradition] .warm-region-symbol{color:var(--accent)}
@media(max-width:760px){.method-page-header{padding:22px}}

.warm-hero h1[data-copy]{white-space:pre-line}.plans-availability{border:1px solid var(--border);border-left:3px solid var(--accent);padding:16px 20px;border-radius:8px;background:var(--surface);margin-bottom:16px}.plan-grid [data-copy="cta_plan"]{margin-top:22px}.warm-path-top [data-copy="tarot_quota"]{max-width:64%;text-align:right;line-height:1.6}
