/* P6 naming extension; semantic tokens remain owned by the four approved themes. */
.naming-preview-note{font-size:.8125rem;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:32px}.naming-brand-mark{font-size:2.5rem;color:var(--action)}
.header-preferences select{max-width:100%;min-height:44px;background:var(--surface);color:var(--ink);border:1px solid var(--control);border-radius:8px;padding:8px}.naming-intro{max-width:740px;margin-bottom:32px}.naming-intro h1{font-size:clamp(2.3rem,4.2vw,4rem);margin-bottom:16px}.naming-intro p{color:var(--muted);max-width:60ch}.naming-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:32px;align-items:start}.naming-form{min-width:0}.naming-form .paper{padding:28px}.naming-mode{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}.naming-mode button{flex:1;min-height:48px;border:1px solid var(--control);background:var(--surface);border-radius:8px;padding:12px 18px}.naming-mode button[aria-pressed=true]{background:var(--action);color:var(--on-action);border-color:var(--action);font-weight:700}.naming-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.naming-form textarea{font:inherit;display:block;width:100%;min-height:130px;background:var(--surface);color:var(--ink);border:1px solid var(--control);border-radius:8px;padding:12px;resize:vertical}.naming-form textarea[aria-invalid=true]{border:2px solid var(--danger)}.naming-tags{display:flex;flex-wrap:wrap;gap:10px}.naming-tags label{display:flex;gap:8px;align-items:center;min-height:44px;border:1px solid var(--control);border-radius:8px;padding:8px 12px;cursor:pointer}.naming-tags label:has(:checked){background:var(--soft);border-color:var(--action)}.naming-tags input{accent-color:var(--action);width:18px;height:18px}.naming-form details{border-block-start:1px solid var(--line);padding-top:18px;margin-top:20px}.naming-form summary{min-height:44px;cursor:pointer;font-weight:600}.naming-form details .field:first-of-type{margin-top:18px}.naming-form .naming-tradition{display:flex;align-items:start;gap:10px;margin-bottom:16px}.naming-tradition input{margin-top:7px;width:18px;height:18px;flex-shrink:0}.naming-aside{padding-block:16px;border-block-start:2px solid var(--action)}.naming-aside h2{font-family:var(--display);font-size:1.55rem}.naming-aside p{color:var(--muted);font-size:.9375rem}.naming-aside ol{padding-left:20px}.naming-aside li{margin-bottom:14px}.naming-back{margin-bottom:26px}.naming-result-head{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:24px}.naming-result-head h1{font-size:clamp(2rem,3.5vw,3rem)}.naming-count{color:var(--muted);font-size:.9rem}.naming-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.naming-name{min-width:0;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:14px}.naming-name h2{font-family:var(--display);font-size:2rem;margin:0;overflow-wrap:anywhere}.naming-name .naming-full{font-weight:600;margin:0;overflow-wrap:anywhere}.naming-name .naming-reading{font-size:.875rem;color:var(--muted);margin:0;overflow-wrap:anywhere}.naming-name .naming-meaning{font-size:.9375rem;margin:0}.naming-name .naming-reason{color:var(--muted);font-size:.8125rem;margin:0}.naming-name button{margin-top:auto;align-self:start}.naming-name.selected{border:2px solid var(--action);padding:23px}.naming-shortlist{position:sticky;top:20px;background:var(--soft);padding:24px;border-radius:var(--radius)}.naming-shortlist h2{font-size:1.15rem}.naming-shortlist ul{list-style:none;padding:0;margin:12px 0}.naming-shortlist li{display:flex;gap:8px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:8px 0}.naming-shortlist li button{min-width:44px;min-height:44px;border:0;background:none}.naming-shortlist>button{width:100%;margin-top:8px}.naming-comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-top:24px}.naming-comparison article{padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0}.naming-comparison h2{font-family:var(--display);font-size:2rem;overflow-wrap:anywhere}.naming-comparison dl{margin:0}.naming-comparison dt{font-size:.8125rem;font-weight:700;color:var(--muted);margin-top:20px}.naming-comparison dd{margin:6px 0 0;overflow-wrap:anywhere}.naming-empty{padding:40px 28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.naming-context{padding:24px;border-inline-start:3px solid var(--action);background:var(--soft);margin-top:28px}.naming-context p:last-child{margin:0}.naming-result-grid .naming-empty{grid-column:1/-1}.naming-controls{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.naming-full-preview{padding:16px;background:var(--soft);border-radius:8px;font-family:var(--display);font-size:1.2rem}.naming-full-preview small{display:block;font-family:Arial,sans-serif}.naming-limit{font-size:.8125rem;color:var(--muted);margin-top:24px}.naming-live{min-height:1.5em;color:var(--danger);font-size:.875rem}.naming-form [hidden]{display:none!important}
@media(min-width:1250px){.naming-result-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1050px){.naming-layout{grid-template-columns:1fr}.naming-shortlist{position:static}.naming-aside{max-width:650px}.naming-shortlist ul{display:flex;gap:16px;flex-wrap:wrap}.naming-shortlist li{gap:12px}}
@media(max-width:540px){.naming-pair,.naming-result-grid{grid-template-columns:1fr}.naming-form .paper{padding:20px}.naming-result-head{display:block}.naming-result-head button{margin-top:8px}.naming-comparison{grid-template-columns:1fr}.naming-mode button{padding:10px}.naming-shortlist{padding:20px}.naming-name{padding:20px}.naming-name.selected{padding:19px}}
@media(prefers-reduced-motion:reduce){.naming-name,.naming-mode button{transition:none}}
/* Header foreground follows the approved theme header, including Trạm tín hiệu. */
.brand-header .header-preferences label{color:inherit}

.naming-editorial{padding:28px;margin-top:28px}.naming-fit{border-top:1px solid var(--line);padding-top:16px}.naming-score{font-family:var(--display);font-size:2rem;line-height:1.3;overflow-wrap:anywhere}.naming-score small{font:inherit;font-size:1rem}.naming-fit h3{font-size:1rem}.naming-fit ul{padding-left:20px}.naming-fit details{font-size:.875rem}.naming-comparison .naming-name{display:block}.naming-comparison .naming-name>p{margin-block:14px}.naming-comparison .naming-name>details{margin-top:20px}

/* P6.1 partial results and private research request */
.name-research-form{display:grid;gap:12px;margin-top:18px}.name-research-form label{display:grid;gap:6px}.name-research-form input:not([type=checkbox]){width:100%;max-width:100%;box-sizing:border-box}.name-research-form input[type=checkbox]{justify-self:start}.naming-fit li{margin-block:8px}.research-status{overflow-wrap:anywhere}

/* P6.1 simplified Vietnamese flow; colors inherit the four approved themes. */
.naming-v3 .naming-form textarea{min-height:130px}.naming-v3 fieldset{margin-block:28px}.naming-v3 legend small{font-size:.8em;font-weight:400}.naming-v3-card>h2{font-size:clamp(1.6rem,3vw,2.3rem);overflow-wrap:anywhere}.naming-verdict{padding:22px 0;border-block:1px solid var(--line);margin-block:20px}.naming-verdict-label{font-size:1.7rem;font-weight:700;margin:0 0 12px}.naming-level{display:flex;gap:6px;max-width:220px;margin:12px 0}.naming-level span{width:36px;height:6px;border:1px solid currentColor;border-radius:10px;opacity:.35}.naming-level .filled{background:currentColor;opacity:1}.naming-verdict>p:last-child{font-size:.9rem}.naming-calculation{margin-block:20px}.naming-letter-sum{line-height:2;overflow-wrap:anywhere}.naming-meaning-match{padding-block:14px}.naming-v3-card .naming-meaning h3{margin-top:22px}.naming-v3-card .naming-meaning p{line-height:1.8}.naming-v3 .naming-tags{gap:9px}.naming-v3-card .research-slot{max-width:100%}@media(max-width:600px){.naming-v3-card{padding:22px!important}.naming-v3 .paper{padding:22px}.naming-verdict-label{font-size:1.45rem}.naming-v3 .naming-aside{display:none}}
