:root{font-family:'DM Sans','Noto Sans SC',sans-serif;color:#2E2A27;background:#E8E4DF;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}.hidden{display:none!important}.muted{color:#6B6560}.topbar{height:72px;background:#FAF9F6;border-bottom:1px solid #E8E4DF;display:flex;align-items:center;justify-content:space-between;padding:0 25px;gap:20px}.brand{display:flex;align-items:center;gap:10px;min-width:250px}.brand-mark{width:38px;height:38px;background:#2E2A27;color:#FAF9F6;border-radius:11px;display:grid;place-items:center;font-size:23px;font-weight:700}.brand strong{font-size:17px;letter-spacing:.04em;display:block;line-height:1.1}.brand small{display:block;font-size:9px;letter-spacing:.2em;color:#6B6560;margin-top:5px}.top-center{font-size:12px;display:flex;align-items:center;gap:8px}.status-dot{width:7px;height:7px;display:inline-block;background:#6B6560;border-radius:50%;margin-right:3px}.top-actions{display:flex;gap:8px}.top-actions button{border:1px solid #E8E4DF;background:transparent;border-radius:8px;padding:9px 13px;font-size:12px;font-weight:700;color:#2E2A27}.top-actions .primary{background:#6B6560;border-color:#6B6560;color:white;padding:9px 17px}.primary span{margin-left:10px}.workspace{height:calc(100vh - 72px);min-height:620px;display:grid;grid-template-columns:272px minmax(350px,1fr) 290px}.sidebar{background:#FAF9F6;overflow:auto}.left-panel{border-right:1px solid #E8E4DF}.right-panel{border-left:1px solid #E8E4DF;display:flex;flex-direction:column}.sidebar-head{padding:27px 22px 21px}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:700;color:#6B6560}.sidebar h2{font-size:20px;letter-spacing:-.03em;margin:10px 0 5px}.sidebar p{font-size:12px;line-height:1.65;color:#6B6560;margin:0}.panel-tabs{display:flex;padding:0 14px;border-bottom:1px solid #E8E4DF}.tab{flex:1;padding:13px 4px;background:none;border:0;border-bottom:2px solid transparent;color:#6B6560;font-size:12px;font-weight:700}.tab.active{color:#2E2A27;border-color:#6B6560}.tab-body{padding:20px 18px}.section-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;margin-bottom:14px}.section-label span{color:#E8E4DF;font-size:9px;letter-spacing:.12em}.component-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.component-card{background:white;border:1px solid #E8E4DF;border-radius:11px;text-align:left;padding:15px 13px;height:107px;display:flex;flex-direction:column;align-items:flex-start;transition:.18s}.component-card:hover{border-color:#6B6560;transform:translateY(-2px);box-shadow:0 5px 15px #2E2A2710}.component-icon{height:27px;color:#6B6560;font-size:26px;line-height:1}.component-icon.serif{font-family:Georgia,serif;font-weight:bold}.component-icon.button-demo{font-size:9px;color:white;background:#6B6560;border-radius:4px;height:22px;line-height:22px;padding:0 10px}.component-card strong{font-size:12px;margin-top:9px}.component-card small{font-size:10px;color:#6B6560;margin-top:1px}.tip{display:flex;gap:11px;margin-top:23px;padding:14px;background:#FAF9F6;border:1px solid #E8E4DF;border-radius:10px}.tip>span{color:#6B6560}.tip strong{font-size:12px}.tip p{font-size:11px;margin-top:4px}.upload-zone{height:150px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px dashed #E8E4DF;border-radius:12px;background:#FFFFFF;cursor:pointer;text-align:center;padding:10px}.upload-zone>span{font-size:28px;color:#6B6560}.upload-zone strong{font-size:12px;margin:5px}.upload-zone small{font-size:10px;color:#6B6560}.asset-list{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:14px}.asset-item{border:1px solid #E8E4DF;border-radius:8px;background:#FFFFFF;padding:5px;text-align:left;overflow:hidden}.asset-item img{width:100%;height:70px;object-fit:cover;border-radius:4px}.asset-item span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;padding:4px}.hint{margin-top:15px!important}.lesson-card{background:white;border:1px solid #E8E4DF;border-radius:12px;padding:18px}.lesson-tag{display:inline-block;background:#FAF9F6;color:#6B6560;font-size:10px;padding:5px 8px;border-radius:4px;font-weight:700}.lesson-card h3{font-size:17px;margin:13px 0 6px}.lesson-card p{margin-bottom:16px}.lesson-card ol{list-style:none;padding:0;margin:0}.lesson-card li{font-size:11px;padding:10px 0;border-top:1px solid #FAF9F6;color:#6B6560}.lesson-card li:before{content:'○';font-size:15px;margin-right:8px;color:#6B6560}.lesson-card li.done{color:#6B6560}.lesson-card li.done:before{content:'✓';color:#6B6560}.progress-text{font-size:10px;color:#6B6560;margin:16px 0 7px}.progress-bar{height:5px;background:#FAF9F6;border-radius:9px}.progress-bar span{display:block;height:100%;width:0;background:#6B6560;border-radius:9px;transition:.2s}.concept{margin-top:14px;padding:14px;border-radius:10px;background:#FAF9F6}.concept strong{font-size:11px}.concept p{margin-top:5px}.stage{display:flex;flex-direction:column;min-width:0}.stage-toolbar{height:63px;flex:none;background:#FAF9F6;border-bottom:1px solid #E8E4DF;display:flex;justify-content:space-between;align-items:center;padding:0 24px}.stage-toolbar>div:first-child{display:flex;align-items:center;gap:13px}.stage-toolbar strong{font-size:13px}.stage-controls{display:flex;align-items:center;gap:7px}.stage-controls button{border:0;background:transparent;color:#6B6560;border-radius:5px;height:28px;min-width:28px}.stage-controls button:hover,.stage-controls button.active{background:#E8E4DF;color:#2E2A27}.toolbar-rule{height:19px;border-left:1px solid #E8E4DF;margin:0 7px}.stage-controls .preview-btn{font-size:11px;border:1px solid #E8E4DF;padding:0 10px;margin-left:7px;color:#6B6560}.canvas-area{background-color:#FAF9F6;background-image:radial-gradient(#E8E4DF 1px,transparent 1px);background-size:20px 20px;flex:1;overflow:auto;padding:36px;display:flex;align-items:flex-start;justify-content:center}.canvas-frame{width:min(100%,740px);min-height:530px;background:white;box-shadow:0 15px 40px #2E2A2726;border-radius:4px;transition:width .25s;flex:none}.canvas-frame.mobile{width:375px}.canvas-page{padding:46px 52px;min-height:530px}.canvas-frame.mobile .canvas-page{padding:30px 24px}.empty-canvas{height:420px;display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column;color:#6B6560}.empty-canvas .empty-symbol{font-size:40px;color:#6B6560;margin-bottom:10px}.empty-canvas strong{color:#6B6560;font-size:15px}.empty-canvas p{font-size:12px}.canvas-element{position:relative;cursor:pointer;border:1px solid transparent;margin:0 0 16px;padding:3px;word-break:break-word}.canvas-element:hover{border-color:#E8E4DF}.canvas-element.selected{border:1px solid #6B6560}.canvas-element.selected:before{content:attr(data-label);position:absolute;left:-1px;top:-21px;background:#6B6560;color:white;font-size:9px;padding:3px 7px;border-radius:3px 3px 0 0}.canvas-element h1,.canvas-element p{margin:0}.canvas-element img{display:block;max-width:100%;object-fit:cover}.canvas-element a{display:inline-block;text-decoration:none;pointer-events:none}.canvas-element .card-content{padding:22px;background:#FFFFFF;border:1px solid #E8E4DF;box-shadow:0 6px 15px #2E2A2712}.canvas-element hr{border:0;border-top:1px solid #E8E4DF}.previewing .canvas-element{border-color:transparent!important;cursor:default}.previewing .canvas-element:before{display:none}.stage-footer{height:34px;display:flex;justify-content:space-between;align-items:center;padding:0 20px;font-size:10px;color:#6B6560;background:#FAF9F6;border-top:1px solid #E8E4DF}.properties-head{padding-bottom:22px;border-bottom:1px solid #E8E4DF}.inspector{padding:18px 20px;flex:1;overflow:auto}.inspector-empty{text-align:center;color:#6B6560;padding:55px 10px;font-size:12px;line-height:1.6}.inspector-empty span{display:block;font-size:30px;margin-bottom:12px}.field{margin-bottom:15px}.field label{display:block;font-size:11px;font-weight:700;color:#6B6560;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;background:white;border:1px solid #E8E4DF;border-radius:6px;padding:9px 10px;font-size:12px;outline:none;color:#2E2A27}.field textarea{min-height:74px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:#6B6560}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.field input[type=color]{height:35px;padding:3px}.inspector-section{font-size:10px;font-weight:700;letter-spacing:.12em;color:#6B6560;margin:22px 0 13px;border-top:1px solid #FAF9F6;padding-top:18px}.element-actions{display:flex;gap:6px;margin:14px 0}.element-actions button{flex:1;border:1px solid #E8E4DF;background:white;border-radius:6px;padding:8px;color:#6B6560;font-size:11px}.element-actions button:hover{border-color:#6B6560}.element-actions .delete{color:#6B6560}.code-pane{background:#2E2A27;color:#E8E4DF;min-height:140px;max-height:200px;overflow:auto}.code-title{display:flex;align-items:center;justify-content:space-between;padding:12px 17px 0;font-size:10px;color:#6B6560;letter-spacing:.07em}.code-title button{border:0;background:none;color:#6B6560;font-size:10px}.code-pane pre{font-size:10px;line-height:1.6;padding:6px 17px 15px;margin:0;white-space:pre-wrap}.canvas-placeholder{display:grid;place-items:center;background:#FAF9F6;color:#6B6560;min-height:150px;font-size:12px}.previewing .canvas-page a{pointer-events:auto}#toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,15px);opacity:0;background:#2E2A27;color:#FFFFFF;padding:11px 16px;border-radius:8px;font-size:12px;box-shadow:0 8px 20px #2E2A2730;transition:.2s;pointer-events:none;z-index:10}#toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:1050px){.workspace{grid-template-columns:220px minmax(320px,1fr) 250px}.top-center{display:none}.canvas-area{padding:24px}.canvas-page{padding:35px}}@media(max-width:760px){.topbar{height:auto;min-height:66px;flex-wrap:wrap;padding:10px 14px}.brand{min-width:unset}.top-actions{width:100%;overflow:auto}.top-actions button{white-space:nowrap}.workspace{height:auto;min-height:0;display:flex;flex-direction:column}.left-panel,.right-panel{border:0}.left-panel{order:1}.stage{order:2;min-height:620px}.right-panel{order:3}.sidebar-head{padding:18px}.component-grid{grid-template-columns:repeat(3,1fr)}.tab-body{padding:14px}.canvas-area{padding:18px}.canvas-frame{min-height:480px}.canvas-page{min-height:480px;padding:25px}.stage-toolbar{padding:0 12px}.stage-toolbar .eyebrow{display:none}.right-panel .inspector{min-height:180px}.code-pane{max-height:none}}
