:root{--bg:#edf3fa;--panel:#f8fbff;--ink:#13212f;--muted:#55687f;--accent:#22784c;--line:#ccd8e6}*{box-sizing:border-box}body,html{margin:0;padding:0;width:100%;min-height:100%;font-family:Avenir Next,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(circle at top right,#d4e7ff,var(--bg) 45%)}a{color:inherit;text-decoration:none}.page-shell,main{min-height:100vh}.page-shell{display:grid;grid-template-rows:auto 1fr}.page-shell.editor-page{height:100vh;overflow:hidden}.top-nav{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #1e3146;padding:10px 14px;background:linear-gradient(180deg,#20344a,#172839);color:#f7fbff;position:-webkit-sticky;position:sticky;top:0;z-index:20}.nav-links{display:flex;gap:10px}.nav-link{padding:8px 10px;border-radius:10px;border:1px solid #37506a;background:#24384d;color:#f7fbff;cursor:pointer;font:inherit}.nav-link.active{background:#2f4e6e;border-color:#5d83a8}.editor-layout{display:grid;grid-template-columns:320px 1fr;grid-gap:10px;gap:10px;padding:10px;min-height:0;align-items:stretch}.step-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:8px;gap:8px;padding:8px 10px 0}.step-item{border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:12px;text-align:center;color:var(--muted);background:#f8fbff}.step-item.done{color:#1a7a4c;border-color:#8fcfa8;background:#ebf8f0}.step-item.next{border-color:#5d83a8;color:#173753}.editor-page .editor-layout{height:calc(100vh - 58px);overflow:hidden}.editor-page .editor-main{grid-template-rows:minmax(0,1fr) auto;grid-gap:10px}.editor-page .editor-main,.editor-sidebar{display:grid;gap:10px;height:100%;min-height:0}.editor-sidebar{overflow:auto;grid-template-rows:auto auto 1fr;grid-gap:10px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:10px;box-shadow:0 8px 18px rgba(24,43,67,.08)}.inspector,.toolbar{display:flex;flex-direction:column;gap:8px}.editor-page .toolbar{overflow:visible}.editor-page .inspector{min-height:0;overflow:auto}.inspector button,.panel button,.panel input,.panel select,.panel textarea,.toolbar button{width:100%;border-radius:10px;border:1px solid var(--line);padding:8px;font:inherit;background:#fff;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.8)}.panel button.active,.toolbar button.active{border-color:var(--accent);background:#e8f7ef}.canvas-wrap{min-height:66vh;height:72vh;width:100%;border:1px solid var(--line);border-radius:14px;overflow:hidden;touch-action:none;background:linear-gradient(180deg,#87abd3,#c7d9ee)}.editor-page .canvas-wrap{min-height:0;height:100%;min-height:420px}.scene-controls{display:grid;grid-gap:8px;gap:8px}.scene-controls h3{margin:0}.scene-quick-row{display:grid;grid-template-columns:1fr auto auto;grid-gap:6px;gap:6px}.scene-command{min-width:0}.scene-advanced{border:1px solid var(--line);border-radius:10px;padding:6px;background:#fff}.scene-advanced summary{cursor:pointer;font-weight:600;margin-bottom:6px}.scene-advanced[open]{overflow:auto;max-height:22vh}.timeline{margin-top:10px;display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));grid-gap:8px;gap:8px}.frame-card{border:1px solid var(--line);border-radius:10px;background:#fff;padding:8px;text-align:center;cursor:pointer}.frame-card.active{border-color:var(--accent);background:#e8f7ef}.frame-markers{margin-top:6px;display:flex;gap:4px;justify-content:center}.mk{width:8px;height:8px;border-radius:999px;display:inline-block}.mk.move{background:#2b7fff}.mk.pass{background:#17a2b8}.mk.run{background:#f4b000}.mk.callout{background:#6f42c1}.script-lines{border:1px solid var(--line);border-radius:10px;background:#fff;max-height:130px;overflow:auto;font-size:12px}.script-line{display:grid;grid-template-columns:32px 1fr;grid-gap:8px;gap:8px;padding:2px 8px}.script-line .ln{color:var(--muted);text-align:right}.script-line.error{background:#ffeceb}.script-error{margin-top:6px;font-size:12px;color:#a63b32}.coach-hints{border:1px solid var(--line);border-radius:10px;background:#f4f9ff;padding:8px;display:grid;grid-gap:4px;gap:4px;font-size:12px}.coach-hints code{background:#fff;border:1px solid #d3dfeb;border-radius:8px;padding:4px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.script-mode-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.palette-backdrop{position:fixed;inset:0;background:rgba(7,16,10,.3);z-index:60;display:grid;place-items:start center;padding-top:10vh}.palette{width:min(680px,92vw);background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;display:grid;grid-gap:8px;gap:8px}.palette-list{display:grid;grid-gap:6px;gap:6px;max-height:46vh;overflow:auto}.palette-list button{text-align:left;display:flex;justify-content:space-between;align-items:center}.library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:12px;gap:12px;padding:16px}.library-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;display:grid;grid-gap:8px;gap:8px}.muted{color:var(--muted);font-size:.9rem}@media (max-width:1020px){.page-shell.editor-page{height:auto;overflow:visible}.editor-layout{grid-template-columns:1fr}.editor-page .editor-layout{height:auto;overflow:visible}.editor-page .editor-main{display:block}.editor-sidebar{display:block;overflow:visible}.canvas-wrap{height:62vh}.scene-controls{overflow:visible}}