/* One override per tradition. Components consume these tokens, not palette literals. */
:root{--accent:#705389;--accent-2:#b79559;--bg:#f7f5ef;--surface:rgba(255,253,249,.86);--border:#d9d1de;--focus-ink:#293630;--focus-muted:#66706c;--warning:#b13d4c;--paper:var(--bg);--line:var(--border);--ink:var(--focus-ink);--muted:var(--focus-muted);--method-accent:var(--accent)}
[data-tradition="ziwei"]{--accent:#795995;--accent-2:#b79a62;--bg:#f5f1f7;--border:#d8cde1}
[data-tradition="bazi"]{--accent:#3f7056;--accent-2:#a58d55;--bg:#f1f4ed;--border:#cdd9cb}
[data-tradition="chenggu"]{--accent:#96593f;--accent-2:#b09560;--bg:#f8f1e8;--border:#e2cebf}
[data-tradition="huangji"]{--accent:#366c7b;--accent-2:#b49d65;--bg:#eff4f4;--border:#c6d9dc}
[data-tradition="tarot"]{--accent:#78618e;--accent-2:#c3a76c;--bg:#f5f1ea;--border:#d9ccdd}
[data-tradition="omikuji"]{--accent:#a14337;--accent-2:#b09b62;--bg:#faf0ea;--border:#e4c9bf}
[data-tradition="runes"]{--accent:#2c7469;--accent-2:#a89860;--bg:#eef5f1;--border:#c8dcd4}
[data-tradition="vedic"]{--accent:#936123;--accent-2:#b78556;--bg:#f9f0e4;--border:#dfc9af}
[data-tradition="mbti"],[data-tradition="compare"]{--accent:#506c9c;--accent-2:#9882a2;--bg:#f1f3f8;--border:#ced6e6}
[data-tradition="china"]{--accent:#3f7056;--bg:#f1f4ed;--border:#cdd9cb}
[data-tradition="europe"]{--accent:#78618e;--bg:#f5f1ea;--border:#d9ccdd}
[data-tradition="japan"]{--accent:#a14337;--bg:#faf0ea;--border:#e4c9bf}
[data-tradition="nordic"]{--accent:#2c7469;--bg:#eef5f1;--border:#c8dcd4}
[data-tradition="india"]{--accent:#936123;--bg:#f9f0e4;--border:#dfc9af}
.culture-workspace{--method-accent:var(--accent)}
.culture-workspace .work-nav a.active{color:var(--accent)}
.tarot-sky-stage{--accent:#e6c683;--accent-2:#b59ae7;--surface:rgba(13,18,43,.82);--border:#8f7eae;--focus-ink:#f0effb;--focus-muted:#c6cbe4;--warning:#ffadb9;--bg:#070b20}
.focus-window{width:100%;max-width:760px;margin:24px auto 30px;padding:32px;position:relative;isolation:isolate;border:1px solid var(--border);border-top:4px solid var(--accent);border-radius:24px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 90%,var(--accent-2) 10%),var(--surface));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 22px 60px color-mix(in srgb,var(--accent) 15%,transparent),0 4px 14px #1421230c;color:var(--focus-ink);box-sizing:border-box}
.focus-window [data-focus-form]{margin:0;min-width:0}.focus-window form.panel{padding:0;background:transparent;border:0;box-shadow:none;overflow:visible}.focus-window .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px}.focus-window .field{min-width:0;color:var(--accent);font-size:13px;font-weight:600;gap:9px;text-align:left;writing-mode:horizontal-tb}.focus-window .field.full,.focus-window .form-full{grid-column:1/-1}.focus-window .field input:not([type=checkbox]),.focus-window .field select,.focus-window .field textarea{padding:16px 18px;font-size:17px;line-height:1.45;font-weight:400;border-radius:14px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 90%,white 10%);color:var(--focus-ink);min-height:58px;min-width:0;max-width:100%;width:100%;box-sizing:border-box;box-shadow:inset 0 1px 2px #00000004;transition:border-color .16s,box-shadow .16s}
.focus-window .field input:not([type=checkbox]):focus,.focus-window .field select:focus,.focus-window .field textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 24%,transparent),0 4px 18px color-mix(in srgb,var(--accent) 13%,transparent)}
.focus-window .field input[type=checkbox],.focus-window .check input{width:20px;height:20px;min-height:20px;margin:0 8px 0 0;accent-color:var(--accent);flex:none}.focus-window .check{font-size:13px;color:var(--focus-ink);line-height:1.7;min-height:36px;align-items:flex-start}.focus-window .field small,.focus-window .field .hint,.focus-window .micro-note{font-size:12px;font-weight:400;line-height:1.7;color:var(--focus-muted)}.focus-window .field input::placeholder,.focus-window .field textarea::placeholder{color:var(--focus-muted);opacity:.85}.focus-window h2,.focus-window h3{font-size:23px;line-height:1.4;color:var(--focus-ink);margin:0 0 22px}.focus-window p{line-height:1.8}.focus-window fieldset{padding:18px;margin:22px 0;border:1px solid var(--border);border-radius:18px;min-width:0}.focus-window legend{padding:0 10px;font-size:13px;font-weight:600;color:var(--accent)}.focus-window [hidden]{display:none!important}.focus-window .focus-actions{display:flex;align-items:center;gap:14px;margin-top:28px;padding-top:22px;border-top:1px solid var(--border)}.focus-window .focus-actions .button{background:var(--accent);color:white;border:1px solid var(--accent);font-size:16px;font-weight:600;padding:17px 28px;min-height:58px;min-width:190px;border-radius:14px;line-height:1.4;box-shadow:0 5px 16px color-mix(in srgb,var(--accent) 19%,transparent)}.focus-window .focus-actions .button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.focus-window .focus-actions .button:focus-visible{outline:3px solid var(--accent-2);outline-offset:4px}.focus-window .focus-validation{padding:16px 18px;margin:0 0 24px;border:1px solid var(--warning);border-radius:14px;color:var(--warning);background:color-mix(in srgb,var(--warning) 7%,var(--surface));font-size:14px;font-weight:600}.focus-window .field .is-invalid{border-color:var(--warning);box-shadow:0 0 0 3px color-mix(in srgb,var(--warning) 15%,transparent)}.focus-window .check .is-invalid{outline:2px solid var(--warning);outline-offset:3px}.focus-window .has-error{color:var(--warning)}.focus-window [data-focus-field-error]{color:var(--warning);font-size:12px;font-weight:500}.focus-window .error{color:var(--warning);font-size:14px;margin-top:14px;line-height:1.7}.focus-window .error:empty{display:none}.tarot-sky-content .focus-window .focus-actions .button{color:#151529}.tarot-sky-content .focus-window .field input,.tarot-sky-content .focus-window .field select,.tarot-sky-content .focus-window .field textarea{background:#10172f}.focus-window .mode-toggle{margin-bottom:22px;display:flex;flex-wrap:wrap;gap:10px}.focus-window .mode-toggle button{padding:12px 18px;min-height:46px;border-radius:12px}.focus-window .mode-toggle .active{background:var(--accent);color:white}.focus-window .access-hint{color:var(--focus-muted);font-size:13px;margin-top:12px}.access-action-locked{cursor:not-allowed}.access-hint{display:block;color:var(--muted);font-size:12px;line-height:1.65;margin-top:8px}
@media(max-width:599px){.focus-window{padding:24px 18px;border-radius:20px;margin:18px auto 24px}.focus-window .form-grid{grid-template-columns:minmax(0,1fr);gap:20px}.focus-window fieldset{padding:14px}.focus-window .focus-actions .button{width:100%;min-width:0}.focus-window .field input:not([type=checkbox]),.focus-window .field select,.focus-window .field textarea{font-size:16px;padding:16px}.focus-window h2,.focus-window h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){.focus-window *{transition:none!important;scroll-behavior:auto!important}}
@media print{.focus-window{max-width:none;background:white;border:0;box-shadow:none;backdrop-filter:none;padding:0}.focus-validation,.access-hint{display:none}}

#info-dialog{width:calc(100% - 32px);max-width:780px;padding:32px;border:1px solid var(--border);border-radius:24px;background:var(--surface);backdrop-filter:blur(18px);box-shadow:0 24px 80px #13203544;color:var(--focus-ink)}#info-dialog::backdrop{background:#11182c66;backdrop-filter:blur(5px)}#info-dialog .dialog-close{min-width:44px;min-height:44px;font-size:22px}

.focus-window .field :is(input,select,textarea).is-invalid,.focus-window .field :is(input,select,textarea).is-invalid:focus{border-color:var(--warning);box-shadow:0 0 0 3px color-mix(in srgb,var(--warning) 18%,transparent)}.focus-window .has-error [data-focus-field-error]{color:var(--warning)}.focus-window .check.has-error{flex-wrap:wrap}.focus-window .check [data-focus-field-error]{flex-basis:100%;margin-left:28px}
