/* Approved expansion components; inherit each existing appearance. */
/* Semantic tokens preserved from the existing four themes. */
[data-theme="dai-sao"] {
  color-scheme: dark; --bg:#101b30; --surface:#17263e; --ink:#f9f1db; --muted:#b8c7dc;
  --action:#ecd290; --on-action:#17213a; --accent:#ecd290; --on-accent:#17213a;
  --soft:#24354f; --line:#617087; --control:#91a1b8; --focus:#a6e4ff;
  --danger:#ffb6bb; --on-danger:#421018; --radius:12px; --display:Georgia,'Times New Roman',serif; --heading-weight:400;
}
[data-theme="vuon-duyen"] {
  --bg:#f4f8ea; --surface:#ffffff; --ink:#233d2c; --muted:#52694e;
  --action:#2c6545; --on-action:#ffffff; --accent:#efce59; --on-accent:#233d2c;
  --soft:#e0edcf; --line:#98ae83; --control:#738564; --focus:#7c2a78;
  --danger:#a02d32; --on-danger:#ffffff; --radius:28px; --display:Georgia,'Times New Roman',serif; --heading-weight:400; --button-radius:28px;
}
[data-theme="tram-tin-hieu"] {
  --bg:#edf0ff; --surface:#ffffff; --ink:#151d51; --muted:#525b7e;
  --action:#263ec3; --on-action:#ffffff; --accent:#d6ed54; --on-accent:#151d51;
  --soft:#dce3ff; --line:#8791b4; --control:#6a7599; --focus:#a01c69;
  --danger:#ad2037; --on-danger:#ffffff; --radius:4px; --display:'Courier New',Courier,monospace; --button-radius:3px;
}
[data-theme="thu-gui-minh"] {
  --bg:#f9eded; --surface:#fffaf7; --ink:#502b36; --muted:#73575e;
  --action:#8b3552; --on-action:#ffffff; --accent:#edc4ba; --on-accent:#502b36;
  --soft:#f0dada; --line:#b18c96; --control:#92727b; --focus:#194e96;
  --danger:#a42135; --on-danger:#ffffff; --radius:8px; --display:Georgia,'Times New Roman',serif; --heading-weight:400; --button-radius:8px;
}
/* Choice cards: native semantics, no visible radio dots. */
.choice{position:relative;display:block;min-width:0;cursor:pointer}
.choice input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;z-index:2;cursor:pointer}
.choice-face{position:relative;display:flex;align-items:center;gap:12px;min-height:76px;padding:16px 29px 16px 16px;border:1px solid var(--control);border-radius:10px;background:var(--surface);transition:border-color .16s,background .16s,box-shadow .16s;line-height:1.4}
.choice-art{display:flex;flex:none;color:var(--muted)}.choice-art svg{width:25px;height:25px}
.choice-copy{font-size:.89rem;font-weight:600;overflow-wrap:anywhere;min-width:0}
.choice-check{position:absolute;top:7px;right:7px;display:grid;place-items:center;width:17px;height:17px;background:var(--action);color:var(--on-action);border-radius:4px;visibility:hidden}
.choice-check svg{width:14px;height:14px;stroke-width:2.4}
.choice input:checked+.choice-face{background:var(--soft);border-color:var(--action);box-shadow:inset 0 0 0 1px var(--action)}
.choice input:checked+.choice-face .choice-check{visibility:visible}
.choice input:checked+.choice-face .choice-art{color:var(--action)}
.choice input:focus-visible+.choice-face{outline:3px solid var(--focus);outline-offset:4px}
.choice:hover .choice-face{border-color:var(--action)}
.choices.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.choice-count .choice-face{flex-direction:column;justify-content:center;gap:9px;padding:18px 12px 12px;min-height:103px}
.choice-count .choice-art svg{width:34px;height:34px}
.spread-hint{margin:10px 0 0;color:var(--muted);font-size:.78rem;min-height:1.6em}
.choice-type .choice-face{min-height:66px}.choice-type .choice-art{color:var(--action)}
[data-theme=vuon-duyen] .choice-face{border-radius:14px 6px 14px 6px}
[data-theme=tram-tin-hieu] .choice-face{border-radius:3px}
[data-theme=thu-gui-minh] .choice-face{border-radius:3px 10px 3px 10px}
/* One invitation on the reading page, styled with each theme's action tokens. */
.reading-tools{display:grid;grid-template-columns:1fr;gap:14px}
.ai-invitation{display:flex;align-items:center;gap:20px;width:100%;padding:24px;text-align:left;position:relative;isolation:isolate;overflow:hidden;background:var(--action);color:var(--on-action);border:1px solid var(--action);border-radius:12px;box-shadow:0 7px 0 var(--soft);transition:transform .18s,box-shadow .18s}
.ai-invitation::before{content:'';position:absolute;right:58px;top:-35px;width:115px;height:180px;border-left:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(28deg);opacity:.12;z-index:-1;pointer-events:none}
.ai-emblem{display:grid;place-items:center;flex:none;width:64px;height:64px;background:var(--on-action);color:var(--action);border-radius:15px 15px 15px 3px;transform:rotate(-5deg)}
.ai-emblem svg{width:37px;height:37px;transform:rotate(5deg)}
.ai-invitation-copy{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}
.ai-invitation-copy strong{font-family:var(--display);font-size:1.55rem;line-height:1.25;font-weight:600;overflow-wrap:anywhere}
.ai-invitation-copy>span{font-size:.82rem;line-height:1.5}
.ai-invitation-arrow{display:grid;place-items:center;width:43px;height:43px;flex:none;border:1px solid currentColor;border-radius:8px;transition:transform .18s}
.ai-invitation-arrow svg{width:24px;height:24px}
.ai-invitation:hover{transform:translateY(-2px);box-shadow:0 9px 0 var(--soft)}
.ai-invitation:hover .ai-invitation-arrow{transform:translateX(3px)}
.ai-invitation:active{transform:translateY(1px);box-shadow:0 4px 0 var(--soft)}
[data-theme=vuon-duyen] .ai-invitation{border-radius:22px 8px 22px 8px}
[data-theme=tram-tin-hieu] .ai-invitation,[data-theme=tram-tin-hieu] .ai-invitation-arrow{border-radius:3px}
[data-theme=thu-gui-minh] .ai-invitation{border-radius:3px 12px 3px 12px}
@media(max-width:700px){.choice-face{gap:10px;padding:16px 24px 16px 12px;min-height:76px}.choice-copy{font-size:.86rem}.choice-art svg{width:23px;height:23px}.choice-count .choice-face{padding:16px 7px 10px;min-height:94px}.choice-count .choice-art svg{width:30px;height:30px}.ai-invitation{gap:14px;padding:20px 16px;flex-wrap:wrap}.ai-emblem{width:48px;height:48px;border-radius:12px 12px 12px 3px}.ai-emblem svg{width:30px;height:30px}.ai-invitation-copy{flex-basis:calc(100% - 62px)}.ai-invitation-copy strong{font-size:1.35rem}.ai-invitation-arrow{width:100%;height:32px;border:0;border-top:1px solid currentColor;border-radius:0;justify-content:end;padding-top:10px;margin-top:2px}.ai-invitation::before{right:35px}}
@media(max-width:360px){.choice-face{gap:8px;padding-left:10px}.choice-art svg{width:21px;height:21px}.choice-copy{font-size:.83rem}.choice-type .choice-face{padding-right:20px}}
@media(prefers-reduced-motion:reduce){.ai-invitation,.ai-invitation-arrow,.choice-face{transition:none}.ai-invitation:hover,.ai-invitation:active,.ai-invitation:hover .ai-invitation-arrow{transform:none}}
@media(max-width:700px){.choices.topics{grid-template-columns:repeat(auto-fit,minmax(min(100%,7rem),1fr))}}

/* Secondary continuation lives directly below the primary AI invitation. */
.reading-tools{gap:20px}
.next-invitation{display:flex;align-items:center;gap:14px;width:100%;padding:15px 20px;background:var(--surface);color:var(--ink);border:1px solid var(--control);border-radius:10px;text-align:left;min-height:76px;transition:background .16s,border-color .16s}
.next-emblem{display:grid;place-items:center;width:40px;height:40px;flex:none;background:var(--soft);color:var(--ink);border-radius:7px}
.next-emblem svg{width:25px;height:25px}
.next-copy{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;overflow-wrap:anywhere}
.next-copy strong{font-family:inherit;font-size:.93rem;font-weight:600;line-height:1.5}
.next-copy small{color:var(--muted);font-size:.76rem;line-height:1.5}
.next-arrow{display:flex;flex:none;color:var(--muted)}.next-arrow svg{width:20px;height:20px}
.next-invitation:hover{background:var(--soft);border-color:var(--action)}
[data-theme=vuon-duyen] .next-invitation{border-radius:14px 6px 14px 6px}
[data-theme=tram-tin-hieu] .next-invitation{border-radius:3px}
[data-theme=thu-gui-minh] .next-invitation{border-radius:3px 10px 3px 10px}
@media(max-width:700px){.next-invitation{padding:13px 15px;gap:12px}.next-emblem{width:36px;height:36px}.next-copy strong{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){.next-invitation{transition:none}}
.card-options{border:0;padding:0;margin:0 0 24px;min-width:0}.card-options legend{font-weight:650;margin-bottom:12px}.choices{display:grid;gap:12px}.choices.topics{grid-template-columns:repeat(2,minmax(0,1fr))}.choice>input{appearance:auto}.choice input+.choice-face{margin:0}.short-consent{margin:24px 0}.short-consent label{align-items:flex-start}.storage-details{text-align:left;white-space:normal;padding:8px 0!important;min-height:44px}.question-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.question-heading small,.field-meta{color:var(--muted)}.question-field textarea{width:100%;box-sizing:border-box;padding:12px;resize:vertical;background:var(--surface);color:var(--ink);border:1px solid var(--control);border-radius:8px;font:inherit;margin-top:8px}.field-meta{display:flex;gap:12px;justify-content:space-between;font-size:.85rem}.field-meta p{margin:5px 0}.field-meta span{white-space:nowrap}.reading-tools{margin:20px 0 32px}.ai-dialog{width:min(820px,calc(100vw - 28px));max-height:90dvh;padding:24px;overflow:auto;box-sizing:border-box}.ai-panel{min-width:0}.ai-context{border-left:3px solid var(--action);padding:0 14px}.ai-context p{margin:6px 0;color:var(--muted);font-size:.88rem}#ai-prompt{width:100%;box-sizing:border-box;min-height:230px;height:34dvh;resize:vertical;background:var(--surface);color:var(--ink);border:1px solid var(--control);padding:14px;font:inherit;font-size:.9rem;line-height:1.6;border-radius:8px}.ai-editor-tools,.ai-providers{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.ai-providers>*{flex:1;min-width:100px}.ai-open{display:block;margin:16px 0;overflow-wrap:anywhere}.ai-copy-bar{position:sticky;bottom:-24px;padding:12px 0;background:var(--surface);border-top:1px solid var(--line);margin-top:20px;z-index:4}.ai-copy-bar button{width:100%}.ai-copy-bar p{margin:0 0 10px}.ai-reset{border:1px solid var(--control);padding:14px;margin-top:12px}.ai-panel [hidden],.question-field[hidden]{display:none!important}.ai-dialog:focus-visible,.ai-panel :focus-visible{outline:3px solid var(--focus);outline-offset:3px}
@media(max-width:600px){.ai-dialog{padding:18px}.ai-copy-bar{bottom:-18px}.card-options .choice-face{min-height:78px}.ai-editor-tools>*{flex:1}.field-meta{flex-wrap:wrap}.choices.topics{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr))}.ai-providers{display:grid;grid-template-columns:1fr 1fr 1fr}.ai-providers>*{min-width:0;padding:10px 5px;font-size:.85rem}#ai-prompt{min-height:180px;height:28dvh}}

/* Long localized headings still reflow when text size is increased. */
.cards-heading h1{overflow-wrap:anywhere}
.ai-panel button{font:inherit;line-height:1.4;min-height:44px;padding:10px 14px;border:1px solid var(--control);border-radius:var(--button-radius,8px);background:var(--surface);color:var(--ink);cursor:pointer;overflow-wrap:anywhere}
.ai-panel button:hover{background:var(--soft)}.ai-panel button.primary{background:var(--action);color:var(--on-action);border-color:var(--action)}.ai-panel button:disabled{opacity:.6;cursor:default}.ai-dialog h2{padding-right:40px}.ai-reset button+button{margin-left:8px}
@media(max-width:600px){.ai-providers button{font-size:.85rem;padding:10px 5px}.ai-editor-tools button{font-size:.85rem;padding:10px 8px}}
