/* Neutral product surfaces, restrained accent, shared loading motion. */
:root{--bg:#101114;--surface:#18191e;--raised:#23242b;--line:#ffffff16;--text:#ededef;--muted:#a5a5b1;--accent:#1593ff;--focus:#1593ff;font-family:var(--chi-font-ui)}
body>header{background:#16171b;border-color:var(--line)}body>header>strong{letter-spacing:-.04em;font-weight:600}.lane-scroll{background-image:radial-gradient(#ffffff17 1px,transparent 1px)}.lane{border-color:var(--line)}
button,.button,.action-link{border-color:var(--line);background:#ffffff06;border-radius:8px;font-weight:500;box-shadow:0 1px 2px #0002;transition:background .15s,border-color .15s,color .15s}button:hover,.button:hover,.action-link:hover{background:#ffffff0d;border-color:#ffffff26}button.primary{background:var(--accent);color:#fff;box-shadow:inset 0 1px #ffffff40,0 2px 8px #0002}button.primary:hover{background:#087ee6}button:active{background:#ffffff14}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
input,select,textarea,.select-trigger{background:#121317;border-color:#ffffff18;border-radius:8px;box-shadow:inset 0 1px 2px #0001}input:hover,select:hover,textarea:hover{border-color:#ffffff2d}textarea{line-height:1.75}#inspector{background:var(--surface);border-color:#ffffff1c;box-shadow:0 24px 100px #0006}#inspector .editable-title{letter-spacing:-.035em;font-size:21px}#inspector .editable-title:focus{background:#121317}.inspector-header{background:var(--surface);border-color:var(--line)}#inspector label{font-weight:450}.inspector-section .action-link{color:#d1ccea;border-color:var(--line);font-weight:450}.publication-badge{color:#9ec9b3;font-weight:450}.card{background:#1b1c22;border-color:#ffffff25;box-shadow:0 4px 12px #0003}.card>img{background:#1b1c22}.card h3{background:#15161dde;border-color:#ffffff1c;backdrop-filter:blur(12px);font-weight:500}.card>small{background:#191a23e8}.card.selected{outline:2px solid var(--focus);outline-offset:3px}.scene-members button{border-color:#9990b4;background:#24232e}.scene-text-button{background:#25242e}input[type=checkbox]{background:#17181e;border-color:#676773}
.generation-state,.generation-state.running,.generation-state.done,.generation-state.failed{position:relative;border:1px solid var(--line);background:#ffffff05;border-radius:9px;padding:12px 14px;box-shadow:none}.generation-state.running{background:#c3b7ff06}.generation-state strong{font-weight:450;font-size:12px;line-height:1.6;padding-left:16px}.generation-state strong::before{content:"";position:absolute;left:14px;top:19px;width:5px;height:5px;border-radius:50%;background:#aaa5bd}.generation-state.running strong::before{background:#b7a5ff;animation:status-breathe 1.8s ease-in-out infinite}.generation-state.done{background:transparent;border-color:transparent;padding-left:0}.generation-state.done strong::before{left:0;background:#8abfa3}.generation-state.failed{background:#eb8b8108;border-color:#eb8b8125}.generation-state.failed strong::before{background:#eb8b81}.generation-state details{font-size:11px;margin-top:9px}.generation-state summary{font-weight:400}.generation-activity{height:2px;border-radius:2px;background:#ffffff09;overflow:hidden;margin:11px 42px 7px 0;position:relative}.generation-activity i{display:block;width:35%;height:100%;border-radius:inherit;background:linear-gradient(90deg,transparent,#c3b7ff,transparent);animation:activity-sweep 1.7s ease-in-out infinite}.generation-elapsed{position:absolute;right:14px;bottom:11px;color:var(--muted);font:11px/1.4 ui-monospace,monospace}.generation-state:has(details) .generation-elapsed{bottom:34px}
.preview-frame{position:relative;isolation:isolate;width:100%;aspect-ratio:3/2;overflow:hidden;border-radius:12px;margin-bottom:12px;background:#202127;border:1px solid #ffffff12}.preview-frame>.inspector-preview{position:absolute;inset:0;width:100%!important;height:100%!important;max-height:none!important;margin:0!important;border:0!important;border-radius:0!important;object-fit:contain;background:transparent!important;z-index:1}.resource-skeleton{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:#25262f;z-index:0;transition:opacity .5s}.resource-label{position:absolute;bottom:20px;left:20px;display:flex;align-items:center;gap:8px;font-size:11px;color:#b0acbf;letter-spacing:.01em}.resource-label i{width:5px;height:5px;border-radius:50%;background:#b9ace7;animation:status-breathe 2s ease-in-out infinite}.skeleton-composition{position:absolute;inset:24% 24% 27%;opacity:.7}.skeleton-composition span{position:absolute;bottom:0;border:1px solid #ffffff0a;border-radius:12px;background:#ffffff05;transform:rotate(-8deg)}.skeleton-composition span:nth-child(1){inset:12% 20% 4% 0}.skeleton-composition span:nth-child(2){inset:0 0 12% 22%;transform:rotate(8deg)}.skeleton-composition span:nth-child(3){width:22px;height:22px;left:42%;top:32%;border-radius:50%;background:#c3b7ff09}.resource-settled{opacity:0}.resource-error{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--muted);font-size:12px;pointer-events:auto;z-index:2}.resource-error::after{display:none}.resource-error button{font-size:12px}.resource-error+img{display:none}
@keyframes activity-sweep{0%{transform:translateX(-100%)}100%{transform:translateX(390%)}}@keyframes status-breathe{0%,100%{opacity:.35}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){.resource-label i,.generation-state.running strong::before,.generation-activity i{animation:none}.resource-skeleton{transition:none}.generation-activity i{width:100%;opacity:.6}}
.resource-skeleton::after,.resource-skeleton .resource-label i{animation-play-state:paused}.resource-skeleton.in-view::after,.resource-skeleton.in-view .resource-label i{animation-play-state:running}
.reference-badges{position:absolute;left:12px;bottom:12px;right:12px;display:flex;gap:7px;flex-wrap:wrap;z-index:4;pointer-events:none}.reference-badges button{pointer-events:auto;width:42px;height:42px;min-height:42px;padding:0;border:2px solid #dbd1f5b3;background:#27232f;border-radius:11px;overflow:hidden;box-shadow:0 3px 10px #0006}.reference-badges img{width:100%;height:100%;object-fit:cover}.reference-badges button:hover{transform:translateY(-3px);border-color:var(--accent)}.asset-picker-overlay{position:fixed;inset:0;z-index:110;background:#08090dbd;backdrop-filter:blur(8px);display:grid;place-items:center;padding:24px}.asset-picker{width:min(1060px,100%);height:min(760px,90vh);background:var(--surface);border:1px solid #ffffff24;border-radius:16px;box-shadow:0 28px 100px #0009;padding:20px;display:flex;flex-direction:column;gap:16px}.asset-picker-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.asset-picker-header h2{font-size:18px;letter-spacing:-.03em;margin:0}.asset-picker>input{width:100%;flex:none}.asset-picker-body{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr);gap:20px;min-height:0;flex:1}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));align-content:start;gap:12px;overflow:auto;padding:3px;scrollbar-width:thin}.asset-option{position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-width:0;padding:7px;gap:8px;white-space:normal;text-align:left;border-radius:11px}.asset-option img,.asset-no-image{display:flex;align-items:center;justify-content:center;width:100%;height:150px;object-fit:contain;border-radius:7px;background:#232329;color:var(--muted);font-size:12px}.asset-option>span:last-child{padding:0 4px 3px;font-size:12px}.asset-option[aria-checked=true]{border-color:var(--accent);background:#c3b7ff12}.asset-option::after{content:"";position:absolute;top:14px;right:14px;width:20px;height:20px;border-radius:6px;border:1px solid #ffffff70;background:#16151fcc}.asset-option[role=radio]::after{border-radius:50%}.asset-option[aria-checked=true]::after{content:"✓";display:grid;place-items:center;background:var(--accent);color:#211831;border-color:var(--accent);font-weight:700}.asset-detail{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;border:1px solid var(--line);border-radius:12px;padding:14px;background:#111216}.asset-detail img{max-width:100%;max-height:calc(100% - 60px);object-fit:contain;min-height:0}.asset-detail h3{font-size:14px;font-weight:500;text-align:center;margin:14px 0 0}.asset-detail p{color:var(--muted);text-align:center}.asset-picker img:not(.image-ready),.reference-badges img:not(.image-ready){visibility:hidden}.asset-picker img.image-ready{animation:resource-reveal .3s ease-out both}.asset-picker img.image-reused{animation:none}@media (max-width:700px){.asset-picker-overlay{padding:10px}.asset-picker{height:90vh;padding:14px}.asset-picker-body{grid-template-columns:1fr}.asset-detail{display:none}.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-option img,.asset-no-image{height:140px}}@media (prefers-reduced-motion:reduce){.asset-picker img.image-ready{animation:none}.reference-badges button:hover{transform:none}}
.asset-grid{grid-auto-rows:206px}.asset-option{height:206px;overflow:hidden}.asset-option img,.asset-option .asset-no-image{flex:0 0 150px;min-height:150px}.asset-option>span:last-child{flex:none;min-height:28px;line-height:1.3}.asset-detail img{width:100%;height:calc(100% - 55px);flex:1;min-height:0;object-fit:contain}@media (max-width:700px){.asset-grid{grid-auto-rows:196px}.asset-option{height:196px}.asset-option img,.asset-option .asset-no-image{flex-basis:140px;min-height:140px}}
.asset-option:has(img:not(.image-ready))::before{content:"";position:absolute;inset:7px 7px 46px;border-radius:7px;background:linear-gradient(110deg,#ffffff02 20%,#c3b7ff0c 45%,#ffffff02 70%);background-size:240% 100%;animation:asset-loading 2s ease-in-out infinite}.asset-detail:has(img:not(.image-ready)){background:linear-gradient(110deg,#111216,#22212c,#111216);background-size:240% 100%;animation:asset-loading 2s ease-in-out infinite}@keyframes asset-loading{from{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.asset-option::before,.asset-detail{animation:none!important}}
/* Same overview for scenes, characters, places and worlds. */
#inspector.entity-sheet .inspector-section>h3{display:none}#inspector.entity-sheet .inspector-section{border:0;padding:0 0 16px}.expanded-editor.entity-sheet#inspector{grid-template-columns:minmax(290px,.85fr) minmax(400px,1.5fr);grid-template-rows:auto auto auto 1fr;gap:0 28px}.expanded-editor.entity-sheet .inspector-section[data-section="Результат"]{grid-column:1;grid-row:2}.expanded-editor.entity-sheet .inspector-section[data-section="Отношения"],.expanded-editor.entity-sheet .inspector-section[data-section="Состав сцены"]{grid-column:1;grid-row:3}.expanded-editor.entity-sheet .inspector-section[data-section="Текст"]{grid-column:2;grid-row:2 / span 3}.expanded-editor.entity-sheet #entityDescription,.expanded-editor.entity-sheet #bookText{height:calc(100vh - 170px);min-height:400px}.entity-actions{font-size:12px;min-height:34px;background:transparent}.add-relation-trigger,.world-binding{margin:8px 0 12px;font-size:12px}.entity-sheet .inspector-section[data-section="Отношения"]>p{padding:10px 0;margin:0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.6}.entity-empty{color:var(--muted)}.entity-art-empty{aspect-ratio:3/2;display:grid;place-items:center;padding:25px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:12px}.entity-dialog-overlay{position:fixed;inset:0;z-index:50;background:#08090dbd;backdrop-filter:blur(6px);display:grid;place-items:center;padding:20px}.entity-dialog{width:min(520px,100%);max-height:85vh;overflow:auto;padding:22px;border-radius:14px;border:1px solid #ffffff22;background:var(--surface);box-shadow:0 24px 80px #0008}.entity-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.entity-dialog-header h2{font-size:16px;margin:0}.entity-dialog-header button{font-size:22px;min-height:34px}.entity-dialog>button{display:flex;width:100%;margin:0 0 12px}.entity-dialog>label{margin:16px 0!important}.entity-dialog details{margin:16px 0}.entity-dialog .select-trigger{width:100%}@media (max-width:800px){.expanded-editor.entity-sheet#inspector{display:block}.expanded-editor.entity-sheet #entityDescription,.expanded-editor.entity-sheet #bookText{height:55vh;min-height:280px}}@media (max-width:600px){.inspector-header .entity-actions{font-size:11px;padding:5px}#expandEditor{font-size:0}#expandEditor::first-letter{font-size:16px}}
/* Shared popup entrance, no layout movement or animation on field edits. */
@keyframes popup-veil-in{from{opacity:0}to{opacity:1}}@keyframes popup-panel-in{from{opacity:0;transform:translateY(10px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes popup-menu-in{from{opacity:0;transform:translateY(-4px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.entity-dialog-overlay:not([hidden]),.asset-picker-overlay{animation:popup-veil-in 160ms ease-out both}.entity-dialog-overlay:not([hidden])>.entity-dialog,.asset-picker{animation:popup-panel-in 240ms cubic-bezier(.2,.8,.2,1) both;transform-origin:50% 45%}.entity-dialog>label{display:block;margin:16px 0;font-size:12px;color:var(--muted)}.entity-dialog>label>input{display:block;width:100%;margin-top:6px}.entity-dialog-overlay:has(.entity-dialog){z-index:80}@media (prefers-reduced-motion:reduce){.entity-dialog-overlay,.asset-picker-overlay,.entity-dialog,.asset-picker{animation:none!important}}
.entity-art-empty{position:relative}#inspector .creative-text{position:relative;margin:0}#inspector .creative-text>textarea{background:var(--surface);border-color:transparent;box-shadow:none;margin:0;padding:12px 14px 62px;resize:vertical}#inspector .creative-text>textarea:hover{border-color:#ffffff10}#inspector .creative-text>textarea:focus{border-color:#c3b7ff40;outline-offset:-1px}.wind-create{position:absolute;right:12px;bottom:12px;z-index:6;display:inline-flex!important;width:auto!important;margin:0!important;gap:7px;padding:9px 13px;min-height:38px;border-radius:24px;color:#f0edf9;background:linear-gradient(130deg,#b4b1d321,#20212acf);border:1px solid #ded7f548;box-shadow:inset 0 1px #ffffff15,0 3px 15px #0003;backdrop-filter:blur(12px);font-weight:450;font-size:12px}.wind-create svg{width:22px;height:20px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;opacity:.85}.wind-create:hover{background:linear-gradient(130deg,#d0c9ec39,#242530ef);border-color:#ece6ff8c;box-shadow:0 0 20px #c3b7ff18}.preview-frame>.wind-create{bottom:12px;right:12px}.reference-badges{right:145px}.art-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:7}.art-play-trigger{height:54px;width:54px;min-height:54px;padding:0 0 0 3px;border-radius:50%;font-size:18px;color:#fff;background:#13141b80;border:1px solid #ffffff55;backdrop-filter:blur(12px);box-shadow:0 3px 24px #0004}.expanded-editor.entity-sheet .creative-text>textarea{height:calc(100vh - 135px)!important}.preview-frame:has(.art-play){overflow:visible}.preview-frame:has(.art-play)>.inspector-preview,.preview-frame:has(.art-play)>.resource-skeleton{border-radius:12px!important}.creative-text .wind-create{bottom:14px;right:14px}
