.scene-tools { margin-block: 1.5rem 2rem; padding-block: 1.25rem; border-block: 1px solid var(--color-line); }
.scene-tools [hidden] { display: none !important; }
.scene-tools h2 { font-size: clamp(1.35rem, 3vw, 1.65rem); margin: 1.5rem 0 1rem; }
.scene-tools p, .scene-tools li { line-height: 1.8; }
.scene-tools__question-fields { display: grid; gap: 1rem; margin-bottom: 1rem; }
.scene-tools label { display: grid; gap: .4rem; font-weight: 600; min-width: 0; }
.scene-tools input, .scene-tools select, .scene-tools textarea { width: 100%; box-sizing: border-box; font: inherit; font-weight: 400; padding: .65rem .8rem; border: 1px solid var(--color-line); border-radius: var(--radius-sm); background: var(--color-white); color: var(--color-ink); min-height: 44px; }
.scene-tools textarea { resize: vertical; }
.scene-tools__result:not(:empty) { border-left: 3px solid var(--color-ocean); padding: .85rem 1.1rem; margin-top: 1rem; background: var(--color-foam); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.scene-tools__result h3 { margin-top: .3rem; }
.scene-tools__editor summary { cursor: pointer; font-weight: 650; padding: .8rem; min-height: 44px; background: var(--color-foam); border-radius: var(--radius-sm); }
.scene-tools__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; border: 1px solid var(--color-line); border-radius: var(--radius-md); padding: 1rem; margin: 1rem 0; min-width: 0; background: var(--color-white); }
.scene-tools__row legend { font-weight: 700; padding-inline: .3rem; }
.scene-tools__row label:last-of-type { grid-column: 1 / -1; }
.scene-tools__actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }
.scene-tools .button { min-height: 44px; white-space: normal; }
.scene-tools__status { min-height: 1.8em; }
.scene-tools__copy { margin-block: 1rem; }
#scene-tools-print { display: none; }
@media (max-width: 680px) { .scene-tools__row { grid-template-columns: 1fr; padding: .8rem; } .scene-tools__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } .scene-tools__actions .button { padding-inline: .6rem; font-size: .9rem; } }
@media print {
	body.scene-tools-printing > :not(#scene-tools-print) { display: none !important; }
	body.scene-tools-printing { padding: 0 !important; background: white; }
	#scene-tools-print { display: block !important; color: black; font: 11pt/1.6 sans-serif; }
	#scene-tools-print h1 { font-size: 18pt; }
	#scene-tools-print pre { white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-word; font: inherit; }
}
