:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#293834;background:#f6f7f9;font-synthesis:none;font-size:13px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #e1e5e3;background:#fff;color:#4b5956;padding:8px 12px;border-radius:7px;cursor:pointer;transition:background .18s,box-shadow .18s}button:hover{background:#f0f4f2}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible{outline:2px solid #368e7c;outline-offset:3px}.primary{background:#227367;color:#fff;border-color:#227367;box-shadow:0 3px 6px #1b6b5c15}.primary:hover{background:#195e54}.icon-button{border:0;background:transparent;padding:6px;border-radius:5px;flex-shrink:0}.quiet{background:transparent;border:0;font-size:12px}.topbar{height:70px;background:#fff;border-bottom:1px solid #e7ebe8;display:flex;align-items:center;justify-content:space-between;padding:0 26px;gap:20px}.brand{display:flex;align-items:center;text-decoration:none;color:#253a32;font-size:22px;font-weight:700;letter-spacing:-.9px;gap:0}.brand>span:not(.brand-icon){font-weight:400}.brand-icon{width:32px;height:34px;display:grid;place-items:center;background:#23786b;color:#fff;border-radius:10px;margin-right:10px;transform:rotate(-4deg)}.brand b{font-size:8px;letter-spacing:1px;color:#7b8b84;background:#f0f4f1;border:1px solid #e1e9e3;padding:3px 5px;border-radius:4px;margin-left:10px;font-weight:500}.document-name{font-size:12px;display:flex;align-items:center;gap:9px;color:#6d7873;margin-left:70px}.file-tag{color:#b7bfba}.status-dot{width:6px;height:6px;border-radius:50%;background:#519985;display:inline-block;flex-shrink:0}.top-actions{display:flex;gap:9px;align-items:center}.top-actions button{font-size:12px}.workspace{display:grid;grid-template-columns:218px minmax(450px,1fr) 282px;height:calc(100vh - 70px);min-height:650px}.sidebar{background:#fcfcfc;border-right:1px solid #e3e7e4;display:flex;flex-direction:column;min-height:0}.sidebar-top{height:63px;display:flex;align-items:center;gap:8px;padding:0 20px;font-size:12px;font-weight:600}.sidebar-top .count{font-size:10px;color:#8d9891;font-weight:400}.sidebar-top button{margin-left:auto}.slide-list{overflow:auto;flex:1;padding:0 11px 15px;scrollbar-width:thin}.slide-item{position:relative;display:block;width:100%;border:1px solid transparent;background:transparent;padding:8px 9px 7px 25px;margin-bottom:7px;border-radius:9px;text-align:left}.slide-item:hover{background:#f1f5f2}.slide-item.selected{background:#eaf2ee;border-color:#cde0d5}.slide-number{position:absolute;left:6px;top:12px;font-size:9px;color:#a6b0a9}.selected .slide-number{color:#2a7c66}.thumb{overflow:hidden;border:1px solid #e4e8e3;border-radius:4px;pointer-events:none;box-shadow:0 2px 5px #23372b06}.selected .thumb{border-color:#6e9e88}.slide-frame{width:100%;aspect-ratio:16/9;overflow:hidden;position:relative}.slide-canvas{position:absolute;width:1280px;height:720px;transform-origin:top left}.slide-label{font-size:10px;color:#5c6a61;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:7px}.slide-label small{float:right;color:#9aa69d;font-size:9px;margin-left:4px}.add-slide{margin:7px 18px 19px;font-size:11px;border:1px dashed #ccd8cf;background:transparent;justify-content:flex-start;padding:10px}.add-slide span{margin-left:auto;color:#a4afa7}.sidebar-bottom{border-top:1px solid #e6ebe6;padding:17px;font-size:10px;display:flex;align-items:center;gap:8px;color:#86928a}.main{min-width:0;display:flex;flex-direction:column;background:#f5f6f8}.workspace-toolbar{height:63px;display:flex;align-items:center;justify-content:space-between;padding:0 31px;border-bottom:1px solid #e8ebe9;flex-shrink:0}.breadcrumbs{display:flex;align-items:center;gap:10px;color:#a1aaa4;font-size:11px}.breadcrumbs strong{color:#68796d;font-weight:400}.canvas-area{flex:1;padding:29px 34px 15px;overflow:auto;display:flex;flex-direction:column}.canvas-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.overline{font-size:9px;letter-spacing:1.5px;color:#8d9a91;font-weight:600}.canvas-heading h1{font-size:23px;font-weight:500;letter-spacing:-.5px;margin:9px 0 0;color:#35453c}.canvas-heading h1 span{color:#2e7f68}.local-badge{display:flex;align-items:center;gap:7px;font-size:10px;background:#eef3f0;color:#7b8c80;padding:6px 9px;border:1px solid #e2e9e4;border-radius:5px;margin-top:18px}.preview-wrap{width:100%;margin:auto 0 0}.preview-wrap>.slide-frame{border-radius:8px;box-shadow:0 12px 34px #23372b0c,0 1px 5px #23372b12;border:1px solid #dfe5df}.preview-under{display:flex;align-items:center;justify-content:space-between;color:#839087;font-size:10px;padding:14px 1px}.preview-under>span,.preview-under>div{display:flex;align-items:center;gap:8px}.preview-under>span{color:#738379}.slash{color:#c4cec6}.preview-under i{height:10px;width:1px;background:#dce3de;margin:0 8px}.divider{width:1px;height:13px;background:#d9e2dc;margin:0 6px}.notes-panel{background:#fafbfb;border:1px solid #e3e8e4;border-radius:8px;padding:15px 17px;margin-top:6px}.notes-panel>div{display:flex;align-items:center;gap:8px;font-size:11px;color:#76847a}.notes-panel small{color:#adb7ae;font-size:10px;margin-left:auto}.notes-panel textarea{border:0;background:transparent;resize:vertical;width:100%;color:#7a897f;font-size:11px;min-height:48px;padding:13px 0 0;outline:none;line-height:1.7}.notes-panel textarea::placeholder{color:#acb7ae}.canvas-tip{margin:18px 0 10px;font-size:9px;color:#a0aba3;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.canvas-tip i{width:3px;height:3px;border-radius:50%;background:#bec8c0;margin:0 4px}.autosave{display:flex;align-items:center;gap:4px;margin-left:auto;color:#8b9c90}footer{display:flex;justify-content:space-between;align-items:center;padding:16px 32px;border-top:1px solid #e5eae6;font-size:9px;color:#adb7b0;flex-shrink:0}footer span:last-child{font-size:8px;letter-spacing:1px}footer b{font-weight:400;color:#819a88;padding:0 5px}.inspector{border-left:1px solid #e3e7e4;background:#fff;display:flex;flex-direction:column;min-height:0}.tabs{display:flex;border-bottom:1px solid #e5ebe6;padding:0 15px;gap:9px;height:63px;flex-shrink:0}.tabs button{flex:1;border:0;border-radius:0;background:transparent;font-size:11px;color:#99a59d;position:relative;padding:0}.tabs button.active{color:#29725c}.tabs button.active:after{position:absolute;bottom:0;left:9px;right:9px;height:2px;background:#398069;content:""}.inspector-content{padding:22px 20px;overflow:auto;flex:1;scrollbar-width:thin}.section-heading{display:flex;justify-content:space-between;font-size:11px;font-weight:600;margin-bottom:17px;color:#68786e}.section-heading span:last-child{color:#b0b9b2;font-size:8px;letter-spacing:1px;font-weight:400}.layout-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px 7px}.layout-option{position:relative;padding:7px 5px 5px;display:flex;flex-direction:column;font-size:9px;gap:6px;border-color:transparent;border-radius:5px;color:#8d9b91}.layout-option.chosen{background:#f0f6f2;border-color:#a1bcac;color:#3c7760}.layout-option>svg{position:absolute;right:3px;top:2px}.layout-mini{width:35px;height:23px;background:#f8faf8;border:1px solid #cad5cc;border-radius:2px;position:relative;display:flex;gap:3px;padding:5px}.layout-mini i{display:block;height:3px;background:#bacabf;width:100%}.layout-mini i:nth-child(2){height:8px}.layout-mini i:nth-child(3){display:none}.layout-mini.cover{flex-direction:column;gap:3px;align-items:center}.layout-mini.cover i:first-child{width:17px;height:4px}.layout-mini.cover i:nth-child(2){width:12px;height:2px}.layout-mini.section{justify-content:center;align-items:center}.layout-mini.section i{width:22px;height:5px}.layout-mini.section i:nth-child(2){display:none}.layout-mini.content{flex-direction:column;gap:2px}.layout-mini.content i:nth-child(2){height:4px}.layout-mini.grid i:nth-child(3){display:block;height:11px}.layout-mini.grid i,.layout-mini.compare i{height:11px}.layout-mini.timeline{align-items:center}.layout-mini.timeline i{width:6px;height:6px;border-radius:50%}.layout-mini.timeline i:nth-child(3){display:block}.layout-mini.image i:first-child{height:12px;width:17px}.separated{border-top:1px solid #edf0ed;padding-top:22px;margin-top:23px}label{display:block;color:#8a988e;font-size:10px;margin-top:13px}input:not([type=color]):not([type=range]),select,textarea{width:100%;border:1px solid #e0e6e1;border-radius:6px;background:#fbfcfb;color:#55695b;padding:9px 10px;outline:none;transition:border-color .15s}label textarea,label input,label select{margin-top:8px;font-size:11px}textarea:focus,input:focus,select:focus{border-color:#77a98e}textarea{resize:vertical;line-height:1.65}.edit-dsl{display:flex;width:100%;text-align:left;justify-content:flex-start;font-size:10px;border:1px solid #e6ece7;background:#f7faf8;margin-top:16px;padding:12px 10px;gap:9px}.edit-dsl div{flex:1}.edit-dsl small{display:block;font-size:9px;color:#9ba99f;margin-top:5px}.range-label{display:flex;flex-wrap:wrap;justify-content:space-between}.range-label span{color:#7c9485}.range-label input{width:100%;margin:14px 0 0;accent-color:#387d63;height:3px}.theme-row{display:flex;gap:20px}.theme-row label{display:flex;align-items:center;gap:8px;margin:0}.theme-row input{width:27px;height:27px;padding:3px;border:1px solid #e1e7e2;border-radius:5px;background:#fff;cursor:pointer}.slide-operations{display:flex;justify-content:space-between;margin-top:24px;border-top:1px solid #edf0ed;padding-top:15px}.slide-operations button{font-size:10px;border:0;padding:7px;background:transparent}.inspector-bottom{display:flex;align-items:center;gap:11px;color:#8ba292;background:#f8faf8;border-top:1px solid #e9eee9;padding:19px;font-size:10px}.inspector-bottom small{display:block;font-size:9px;color:#a8b3ab;margin-top:6px}.dsl-panel{display:flex;flex:1;flex-direction:column;min-height:0}.dsl-heading{display:flex;justify-content:space-between;align-items:center;padding:13px 17px 0;color:#627e6b;font:12px monospace}.dsl-panel p{padding:0 17px;font-size:10px;color:#9aa89e}.dsl-panel>textarea{flex:1;resize:none;border:0;border-radius:0;background:#f8faf8;font:11px/1.8 SFMono-Regular,Consolas,monospace;color:#3d6d56;padding:16px;tab-size:2;white-space:pre;overflow:auto}.dsl-validation{padding:13px;font-size:10px;color:#7a9984;display:flex;gap:7px;align-items:center;border-top:1px solid #e6ece7;max-height:130px;overflow:auto}.dsl-validation.invalid{color:#b76a50;background:#fff5ed}.invalid .status-dot{background:#b76a50}.upload-zone{width:100%;display:flex;flex-direction:column;gap:12px;border-style:dashed;border-color:#cadbd0;padding:30px 10px;background:#f8fbf9;color:#6e9580}.upload-zone strong{font-size:12px;font-weight:500}.upload-zone small{font-size:9px;color:#a1b2a6}.asset-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:20px 0}.asset-list button{display:block;padding:5px;min-width:0}.asset-list img{width:100%;height:70px;object-fit:contain}.asset-list small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:8px}.wide-button{width:100%;margin-top:12px;font-size:11px}.muted{font-size:11px;color:#98a69c;line-height:1.9}.missing-image{display:grid;place-items:center;border:2px dashed #afc8bb;color:#799d87;font-size:22px;background:#edf5ef}.animate.fade{animation:fade var(--duration) ease both}.animate.slide{animation:slide var(--duration) cubic-bezier(.22,1,.36,1) both}.animate.zoom{animation:zoom var(--duration) cubic-bezier(.22,1,.36,1) both}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slide{0%{opacity:0;translate:4% 0}to{opacity:1;translate:0 0}}@keyframes zoom{0%{opacity:0;scale:.96}to{opacity:1;scale:1}}.modal-backdrop{position:fixed;inset:0;background:#182c2470;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;z-index:100;padding:30px}.modal{position:relative;background:#fcfefc;border:1px solid #ffffff80;border-radius:18px;padding:42px;width:540px;max-height:90vh;overflow:auto;box-shadow:0 30px 100px #132b2430}.modal-close{position:absolute;top:17px;right:17px}.modal h2{font-size:25px;font-weight:500;letter-spacing:-.8px;margin:13px 0 10px}.modal>p{font-size:12px;color:#8a9b8e;line-height:1.9}.export-option{display:flex;gap:16px;width:100%;text-align:left;padding:20px 16px;border:1px solid #dde8df;margin-top:13px;border-radius:9px}.export-option>svg:first-child{color:#42836b}.export-option div{flex:1;color:#476653;font-size:13px}.export-option b{color:#a4b4a8;font-size:10px;font-weight:400}.export-option small{display:block;color:#a4b2a8;font-size:10px;margin-top:7px}.modal .export-note{font-size:10px;margin:20px 3px 0}.template-card{border:1px solid #dbe7de;border-radius:10px;padding:20px;display:flex;align-items:center;gap:20px;margin-top:15px;background:#f2f7f3;color:#3c7a5c;cursor:pointer}.template-card>span{font-size:37px;width:35px}.template-card div{flex:1}.template-card h3{font-size:16px;font-weight:500;margin:0}.template-card p{font-size:11px;color:#8caa96;margin:8px 0 0}.template-card.blue{background:#f1f5fb;color:#5b7bb4;border-color:#dce4ef}.help-modal{width:690px}.help-modal pre{background:#edf4ee;color:#487155;padding:20px;border-radius:8px;font:12px/1.8 monospace;overflow:auto}.help-modal h3{font-size:13px;margin-top:24px;font-weight:600;color:#5b7b64}.help-actions,.confirm-actions{display:flex;gap:10px;margin-top:23px;justify-content:flex-end}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:#274f3f;color:#eff9f2;display:flex;align-items:center;gap:10px;padding:14px 20px;border-radius:9px;box-shadow:0 5px 25px #1a33232b;z-index:200;font-size:12px;max-width:80vw}.error-banner{position:fixed;bottom:0;left:218px;right:282px;background:#fff0dc;color:#a56432;padding:10px;text-align:center;font-size:11px;cursor:pointer}.presentation{position:fixed;inset:0;background:#101714;z-index:90;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px 32px 70px}.presentation-slide{width:min(100%,calc((100vh - 110px) * 16 / 9));box-shadow:0 20px 80px #0005}.presentation-controls{position:absolute;bottom:16px;display:flex;align-items:center;gap:13px;color:#a1b6a9;font-size:11px}.presentation-controls button{background:#253c30;border-color:#344b3d;color:#c1d7c8}.presentation-controls>span:nth-of-type(2){margin:0 15px;color:#748b7c;font-size:10px}@media(min-width:1600px){.workspace{grid-template-columns:240px minmax(450px,1fr) 300px}.canvas-area{padding:40px 55px 20px}.canvas-heading{margin-bottom:35px}.preview-wrap{max-width:1200px;align-self:center}.notes-panel{margin-top:10px}.canvas-heading h1{font-size:27px}}@media(max-width:1150px){.workspace{grid-template-columns:170px minmax(390px,1fr) 248px}.canvas-area{padding:25px 22px 12px}.topbar{padding:0 18px}.document-name{margin-left:0}.brand{font-size:19px}.inspector-content{padding:20px 15px}.local-badge{display:none}.canvas-heading h1{font-size:21px}.canvas-tip{font-size:8px}.autosave{width:100%;margin-left:0}.sidebar-top{padding:0 14px}.workspace-toolbar{padding:0 20px}.sidebar-bottom{font-size:8px;padding:14px}.error-banner{left:170px;right:248px}}@media(max-width:850px){.workspace{grid-template-columns:135px minmax(330px,1fr);height:auto;min-height:calc(100vh - 70px)}.inspector{grid-column:1/-1;max-height:650px;border-top:1px solid #e1e8e2;min-height:400px}.sidebar{max-height:800px}.main{min-height:650px}.document-name{display:none}.top-actions{gap:4px}.top-actions button{padding:7px}.brand b{display:none}.slide-item{padding-left:18px}.slide-number{font-size:8px;left:3px}.slide-label{font-size:8px}.slide-label small{display:none}.layout-grid{grid-template-columns:repeat(8,1fr)}.error-banner{left:0;right:0}.sidebar-top{font-size:10px;padding:0 9px}.sidebar-bottom{font-size:7px;padding:12px 6px}.add-slide{margin:7px;font-size:9px;padding:8px}.add-slide span{display:none}.dsl-panel>textarea{min-height:400px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.code-editor-host{flex:1;min-height:0;overflow:hidden}.code-editor-panel .dsl-heading>div{display:flex}.editor-diagnostic{padding:14px 15px;background:#fff7ef;border-top:1px solid #eedcc9;display:flex;flex-direction:column;gap:8px;font-size:11px;max-height:210px;overflow:auto}.editor-diagnostic button{align-self:flex-start;font-size:10px;border:0;background:#f7e7d7;color:#976343;padding:5px 7px}.editor-diagnostic strong{color:#9d553c;font-weight:500;line-height:1.7}.editor-diagnostic span{color:#ae8566;line-height:1.7}.editor-diagnostic small{color:#b7a496;font-size:9px}.cm-tooltip{z-index:120!important}.cm-tooltip-autocomplete>ul{max-height:240px!important}.cm-tooltip-autocomplete li[aria-selected]{background:#e3f1e9!important;color:#275c43!important}.cm-completionIcon{color:#618a73}.cm-tooltip-lint{max-width:350px}.animate.slide,.animate.fade,.animate.zoom{animation-timing-function:var(--easing)}@keyframes slide{0%{opacity:0;translate:var(--slide-offset, 4% 0)}to{opacity:1;translate:0 0}}@media(max-width:850px){.code-editor-host{min-height:380px}}.bottom-tabs{display:flex;gap:16px;margin:5px 0 0;border-bottom:1px solid #e2e9e3}.bottom-tabs button{border:0;background:transparent;border-radius:0;font-size:10px;color:#98a79d;padding:10px 2px}.bottom-tabs button.active{color:#3e8064;border-bottom:2px solid #5a9378}.bottom-tabs button span{font-size:9px;background:#e7efe9;border-radius:8px;padding:1px 5px}.notes-panel{margin-top:11px}.motion-panel{background:#fafcfb;border:1px solid #e1e9e3;border-radius:8px;padding:14px 15px;margin-top:11px}.motion-toolbar{display:flex;gap:7px;align-items:center}.motion-toolbar>div{flex:1;display:flex;align-items:center;gap:12px}.motion-toolbar strong{font-size:11px;color:#5b7766;font-weight:500}.motion-toolbar span{font-size:9px;color:#a6b3aa}.motion-toolbar button{font-size:9px;padding:5px 7px;background:transparent}.stage-chips{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.stage-chips button{font-size:9px;padding:4px 7px;border:1px solid #dfebe2;background:#f6f9f7}.stage-chips button.selected{color:#347254;background:#e4f0e8;border-color:#aecaba}.stage-chips .edit-motion{margin-left:auto;background:transparent;border:0}.cue-list{max-height:190px;overflow:auto}.cue-row{display:flex;width:100%;border:0;background:transparent;border-radius:4px;padding:7px 0;gap:8px;font-size:9px;text-align:left}.cue-row.playing{background:#eef5f0}.cue-stage{border:1px solid #cbded0;border-radius:3px;color:#69967a;padding:1px 4px;min-width:23px;text-align:center}.cue-label{width:110px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#718b79}.cue-effect{color:#9eafa3;width:50px}.cue-track{flex:1;height:7px;border-radius:5px;background:#e7efe9;position:relative;min-width:30px;overflow:hidden}.cue-track i{position:absolute;height:100%;border-radius:5px;background:#83ae95}.cue-time{font:8px monospace;color:#9bac9f;width:88px;text-align:right}.motion-caption,.empty-motion{font-size:9px;color:#a7b6ac;margin-top:13px}.motion-settings{display:flex;gap:8px}.motion-settings label{flex:1;min-width:0}.motion-settings select{font-size:10px;padding:8px 4px}.cm-editor.cm-focused{outline:none}.cm-scroller:focus{outline:none}@media(min-width:1100px){.workspace.editing{grid-template-columns:180px minmax(340px,1fr) minmax(470px,43vw)}.workspace.editing .canvas-area{padding:25px 24px 15px}.workspace.editing .local-badge{display:none}.workspace.editing .canvas-heading h1{font-size:20px}.workspace.editing .canvas-tip{font-size:8px}.workspace.editing .autosave{margin-left:0}.workspace.editing .error-banner{left:180px;right:43vw}}@media(min-width:851px)and (max-width:1099px){.workspace.editing{grid-template-columns:140px minmax(250px,1fr) 400px}.workspace.editing .local-badge{display:none}.workspace.editing .canvas-heading h1{font-size:18px}.workspace.editing .canvas-area{padding:20px 15px}.workspace.editing .error-banner{left:140px;right:400px}}@media(max-width:1100px){.cue-effect{display:none}.cue-label{width:80px}.motion-toolbar>div>span{display:none}}.canvas-area{justify-content:center}.preview-wrap{margin:0}.dsl-validation{color:#9ca9a1;font-size:10px}.latex-completion-preview{max-width:340px;padding:10px 12px;color:#6c8375;font-size:11px;line-height:1.7}.latex-completion-preview img{display:block;max-width:300px;min-width:50px;max-height:100px;margin:12px auto 4px}
