/* T2V / I2V only. Shared EDIT ROOM tokens, no Bootstrap or legacy global rewrite. */
.aijou-site.aijou-generator-page { margin: 0; padding: 0; background: var(--aijou-color-background); color: var(--aijou-color-text); font-family: var(--aijou-font-sans); }
.aijou-site.aijou-generator-page::before { content: none; }
.aijou-generator-page > .container-fluid { padding: 0; }
.aijou-generator-page #main { padding: 0; margin: 0; background: transparent; }
.aijou-generator-page #container { padding: 0; margin: 0; }
.aijou-generator-page #container > .aijou-site-definition { display: none; }
.aijou-generator-page #container > section:first-child { padding: 0; margin: 0; }
.aijou-generator-page .aijou-language { margin: 0; padding: .2rem 0; }
.aijou-generator-page #main .aijou-generator { padding: 2rem 0 3rem; margin: 0; background: transparent; }
.aijou-generator-page #main .aijou-generator > .container { width: 100%; max-width: 68rem; margin-inline: auto; padding-inline: 2rem; }
.aijou-generator-page #main .aijou-generator .wrap { margin: 0; padding: 0; width: 100%; max-width: none; }
.aijou-generator-page #main .aijou-generator :is(h1, h2, h3, h4, p, label, input, select, textarea, button) { font-family: var(--aijou-font-sans) !important; }
.aijou-generator-page .aijou-generator :where(div, ul, ol)::after { content: none; }
.aijou-generator-page .aijou-generator-intro { padding: 0 0 1.5rem; margin: 0; border-bottom: 1px solid var(--aijou-color-border); background: none; }
.aijou-generator-page #main .aijou-generator h1 { display: block; margin: 0 0 1.25rem; padding: 0; border: 0; background: none; text-align: left; line-height: 1.2; font-family: var(--aijou-font-sans); color: var(--aijou-color-text); }
.aijou-generator-page #main .aijou-generator h1::before,
.aijou-generator-page #main .aijou-generator h1::after { content: none; }
.aijou-generator-page #main .aijou-generator h1 div { display: block; height: auto; text-align: left; text-shadow: none; padding: 0; margin: 0; background: none; min-height: 0; font-family: var(--aijou-font-sans) !important; font-size: 2.75rem; font-weight: 700; letter-spacing: -.05em; }
.aijou-generator-page #main .aijou-generator h1 span { display: block; margin-top: .4rem; font-family: var(--aijou-font-sans) !important; font-size: .875rem; font-weight: 400; letter-spacing: .02em; }
.aijou-generator-page #main .aijou-generator h2 { margin: 0 0 .8rem; padding: 0; border: 0; background: none; font-size: 1.35rem; font-weight: 600; line-height: 1.5; text-align: left; color: var(--aijou-color-text); }
.aijou-generator-page #main .aijou-generator h2::after { content: none; }
.aijou-generator-page .aijou-generator-account { float: none; text-align: left; margin: 0 0 .8rem; padding: 0; color: var(--aijou-color-text-muted); font-size: .75rem; }
.aijou-generator-page .aijou-generator p { font-family: var(--aijou-font-sans); font-size: .875rem; line-height: 1.85; }
.aijou-generator-page .aijou-generator-lead { max-width: 46rem; margin: 0 0 .65rem; }
.aijou-generator-page .aijou-generator-routes { margin: 0 0 .6rem; color: var(--aijou-color-text-muted); }
.aijou-generator-page .aijou-generator-peer { margin: 0; }
.aijou-generator-page .aijou-generator a { color: var(--aijou-color-text); text-decoration: underline; text-underline-offset: .25em; }
.aijou-generator-page .aijou-generator-peer a { display: inline-flex; align-items: center; min-height: 44px; font-size: .8rem; color: var(--aijou-color-text-muted); }
.aijou-generator-page .aijou-consultation-link { padding: 0; margin: .2rem 0 0; background: none; }
/* The same guidance is already visible in the short lead; retain the Manual link. */
.aijou-generator-page .aijou-consultation-link { font-size: .75rem; line-height: 1.7; color: var(--aijou-color-text-muted); }
.aijou-generator-page .aijou-consultation-summary { display: none; }
.aijou-generator-page .aijou-consultation-link a { min-height: 44px; display: inline-flex; align-items: center; }
.aijou-generator-page .aijou-generator-help { margin: 1rem 0; font-size: .75rem; color: var(--aijou-color-text-muted); }
.aijou-generator-page #prompt-form { padding: 0; margin: 0; width: 100%; text-align: left; }
.aijou-generator-page #prompt-form > h3 { display: block; margin: 2rem 0 1rem; padding: .85rem 2.2rem .85rem 0; border: 0; border-top: 1px solid var(--aijou-color-border); border-bottom: 1px solid var(--aijou-color-border); border-radius: 0; background: none; color: var(--aijou-color-text); font-family: var(--aijou-font-sans); font-size: 1rem; font-weight: 600; line-height: 1.6; text-align: left; }
.aijou-generator-page #prompt-form > h3::before { content: none; }
.aijou-generator-page #prompt-form > h3.accordion-trigger::after { color: var(--aijou-color-text-muted); }
.aijou-generator-page #prompt-form .accordion-content { padding-inline: .25rem; background: none; border: 0; }
.aijou-generator-page #prompt-form label { color: var(--aijou-color-text); font-family: var(--aijou-font-sans); font-size: .875rem; line-height: 1.6; }
.aijou-generator-page #prompt-form .input-group { display: block; margin-bottom: 1.25rem; min-width: 0; }
.aijou-generator-page #prompt-form .input-group > :is(input:not([type="checkbox"]):not([type="radio"]), textarea, select) { width: 100%; }
.aijou-generator-page #prompt-form :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { max-width: 100%; min-width: 0; box-sizing: border-box; border-color: var(--aijou-color-control-border); border-radius: var(--aijou-radius-sm); background-color: var(--aijou-color-surface); color: var(--aijou-color-text); font-family: var(--aijou-font-sans); font-size: 16px; padding: .65rem .75rem; box-shadow: none; }
.aijou-generator-page #prompt-form :is(input:not([type="checkbox"]):not([type="radio"]), select) { min-height: 44px; }
.aijou-generator-page #prompt-form textarea { resize: vertical; }
.aijou-generator-page #prompt-form :is(button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--aijou-color-accent); outline-offset: 3px; }
.aijou-generator-page #prompt-form button { min-height: 44px; max-width: 100%; margin: .25rem .35rem .5rem 0; padding: .65rem .9rem; border: 1px solid var(--aijou-color-control-border); border-radius: var(--aijou-radius-sm); background: var(--aijou-color-surface) !important; color: var(--aijou-color-text) !important; font-family: var(--aijou-font-sans); font-size: .875rem; line-height: 1.5; white-space: normal; box-shadow: none; }
.aijou-generator-page #prompt-form button:hover { background: var(--aijou-color-surface-muted) !important; }
.aijou-generator-page #prompt-form :is(#generate-button, #generate-btn, .aijou-ai-continue-trigger) { background: var(--aijou-color-primary) !important; border-color: var(--aijou-color-primary); color: var(--aijou-color-on-primary) !important; font-weight: 600; }
.aijou-generator-page #prompt-form :is(#generate-button, #generate-btn, .aijou-ai-continue-trigger):hover { background: var(--aijou-color-primary-hover) !important; }
.aijou-generator-page #prompt-form :is(#clear-all-prompts-button, .remove-scene-button, .remove-serif-button, .delete-prompt-button, button[onclick^="deleteLocal"], .remove-character, .remove-subject-button) { color: var(--aijou-color-danger) !important; border-color: var(--aijou-color-danger); }
.aijou-generator-page #prompt-form :is(#reset-btn, #reset-button-container button) { background: transparent !important; color: var(--aijou-color-text-muted) !important; font-size: .75rem; }
.aijou-generator-page .aijou-generator-form-tools { text-align: right; margin: .5rem 0; }
.aijou-generator-page #prompt-form .generate-btn-group { gap: .5rem; margin-block: 1.5rem 1rem; }
.aijou-generator-page #prompt-form .generate-btn-group button { flex: 1 1 10rem; min-width: 0; margin: 0; order: 0; }
.aijou-generator-page #prompt-form .scene-block { border: 1px solid var(--aijou-color-border); background: var(--aijou-color-surface); border-radius: var(--aijou-radius-sm); padding: 1.25rem; margin-bottom: 1.5rem; }
.aijou-generator-page #prompt-form .scene-block h4 { margin: 0 0 1rem; background: none; border: 0; color: var(--aijou-color-text); font-family: var(--aijou-font-sans); }
.aijou-generator-page #prompt-form .serif-block { border-color: var(--aijou-color-border); background: var(--aijou-color-surface); padding: .75rem; }
.aijou-generator-page #prompt-form .checkbox-group label { border-color: var(--aijou-color-border); border-radius: var(--aijou-radius-sm); background: var(--aijou-color-surface); min-height: 44px; padding: .45rem .65rem; line-height: 1.6; }
.aijou-generator-page #prompt-form :is(.checkbox-group, .radio-group) label:has(input:checked) { background: var(--aijou-color-primary); border-color: var(--aijou-color-primary); color: var(--aijou-color-on-primary); }
.aijou-generator-page #prompt-form .target-model-selector { border-color: var(--aijou-color-border) !important; background: var(--aijou-color-surface-muted) !important; border-radius: var(--aijou-radius-sm) !important; }
.aijou-generator-page #prompt-form .result-area { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--aijou-color-border); }
.aijou-generator-page #prompt-form :is(#result-prompt, #result-negative) { width: 100%; line-height: 1.8; font-family: var(--aijou-font-mono); background: var(--aijou-color-surface); }
.aijou-generator-page #prompt-form #copy-button { position: static; display: inline-block; margin-top: .65rem; }
.aijou-generator-page #prompt-form .aijou-ai-continue { margin-top: .65rem; }
.aijou-generator-page #prompt-form .aijou-ai-continue-panel { background: var(--aijou-color-surface); border-color: var(--aijou-color-border); }
.aijou-generator-page #prompt-form hr { border-color: var(--aijou-color-border); }
@media (max-width: 600px) {
  .aijou-generator-page #main .aijou-generator { padding-top: 1.25rem; }
  .aijou-generator-page #main .aijou-generator > .container { padding-inline: 1rem; }
  .aijou-generator-page #main .aijou-generator h1 div { font-size: 2.1rem; }
  .aijou-generator-page #main .aijou-generator h2 { font-size: 1.15rem; }
  .aijou-generator-page #prompt-form .scene-block { padding: .75rem; }
  .aijou-generator-page #prompt-form .serif-block > label { min-width: 0; flex-basis: 100%; }
  .aijou-generator-page #prompt-form .serif-block select.serif-speaker { min-width: 0; }
  .aijou-generator-page #prompt-form .generate-btn-group { flex-direction: row; }
  .aijou-generator-page #prompt-form .generate-btn-group button { flex-basis: 100%; }
}
