html,body,#root{margin:0;width:100%;min-height:100%;font-family:Segoe UI,Inter,Helvetica Neue,Arial,sans-serif;color:#12253b;background:#ecf2fb}html,body{min-height:100vh}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--bg: #f3f5f8;--surface: #ffffff;--line: #d8dee7;--text: #152436;--muted: #5c6d81;--brand: #1768b3;--brand-strong: #0f4b82;--warn: #a33131;--ok: #1a7a44}*{box-sizing:border-box}.app{min-height:100vh;background:radial-gradient(circle at 90% 0%,#dcecff,#f3f5f8 35%);color:var(--text)}.header{display:grid;grid-template-columns:minmax(420px,1fr) auto;gap:16px;padding:16px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fbfdff,#eef5ff)}.header-text input{max-width:320px}.header h1{margin:0 0 6px;font-size:1.5rem}.header p{margin:0 0 8px;color:var(--muted)}.header-actions{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;align-content:start}.status{display:flex;justify-content:space-between;padding:8px 16px;color:var(--muted);border-bottom:1px solid var(--line);background:#f8fbff;gap:12px;flex-wrap:wrap}.layout{display:grid;grid-template-columns:320px 1fr 340px;gap:14px;padding:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;box-shadow:0 8px 24px -20px #0006}.sidebar,.validation-card,.scene-editor,.scene-list{min-height:0}.main-card{display:flex;flex-direction:column;gap:10px}.scene-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;border-bottom:1px solid var(--line);padding-bottom:8px}.scene-header h2{margin-bottom:4px}.editor-grid{display:grid;grid-template-columns:280px 1fr;gap:10px;min-height:520px}.scroll-list{overflow:auto;display:flex;flex-direction:column;gap:8px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.section-head.compact{margin-top:6px;margin-bottom:4px}.row{display:flex;gap:8px}.row input{flex:1}.search-input{margin-bottom:8px}.compact-list{max-height:220px;margin-bottom:8px}.list-item{text-align:left;border:1px solid var(--line);background:#f8fbff;border-radius:9px;padding:9px;display:flex;flex-direction:column;gap:3px}.list-item.active{border-color:#89b3df;background:#eaf4ff}.list-item small{color:var(--muted)}.list-item:hover{border-color:#9eb9d8}label{display:block;margin-top:8px;margin-bottom:3px;font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-weight:600}input,textarea,select,button{border:1px solid var(--line);border-radius:8px;padding:9px 10px;font:inherit}input,textarea,select{background:#fcfdff;color:var(--text)}textarea{min-height:90px;resize:vertical}button{background:var(--brand);border-color:transparent;color:#fff;font-weight:600;cursor:pointer}button:hover{background:var(--brand-strong)}.tab-button{background:#eef3fa;color:var(--text);border:1px solid var(--line)}.tab-button.active{background:#dceaff;border-color:#a9c3e1;color:#163b63}button.danger{background:#b44646}button.danger:hover{background:#8f2e2e}.flow-box{border:1px dashed var(--line);border-radius:9px;padding:8px;background:#f8fbff}.flow-box p{margin:4px 0}.choice-card{border:1px solid var(--line);border-radius:10px;padding:8px;background:#fbfdff}.rule-card{border:1px solid var(--line);border-radius:8px;padding:7px;background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}.advanced-choice{margin-top:8px}.hint{margin-top:0;color:var(--muted)}.ok{color:var(--ok);font-weight:600}.validation-card ul{padding-left:18px}.validation-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.validation-card li{color:var(--warn);margin-bottom:4px}.advanced{margin:0 14px 14px}.advanced-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mission-list{max-height:220px}.empty{color:var(--muted);border:1px dashed var(--line);border-radius:8px;padding:10px;background:#fafcff}.hidden-input{display:none}@media(max-width:1280px){.layout{grid-template-columns:1fr}.editor-grid{grid-template-columns:1fr;min-height:0}.advanced-grid,.header{grid-template-columns:1fr}.header-actions{grid-template-columns:repeat(2,minmax(120px,1fr))}}@media(max-width:700px){.header-actions{grid-template-columns:1fr}}
