:root{font-family:-apple-system,BlinkMacSystemFont,'Hiragino Sans','Yu Gothic',sans-serif;color:#24312f;background:#edf1f0;font-size:14px;--green:#183f38;--line:#dce4e1;--muted:#6e7e78}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;border-radius:7px;padding:8px 12px;color:#263d35;white-space:nowrap}button:hover{background:#eaf4ef;border-color:#99b4a8}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #65a6e2;outline-offset:2px}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#285b4e;color:white}header{height:76px;background:#fff;display:flex;align-items:center;padding:0 22px;gap:24px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-weight:700;white-space:nowrap;font-size:17px}.brand small{display:block;font-size:10px;letter-spacing:.19em;color:#648075;margin-top:4px}.mark{background:var(--green);color:white;width:39px;height:39px;border-radius:50%;display:grid;place-items:center;font-size:22px;font-family:serif}#projectTitle{font-size:18px;border:0;min-width:120px;max-width:330px;width:28vw;border-left:1px solid var(--line);padding:10px 20px;outline-offset:0}.status{margin-left:auto;font-size:12px;color:var(--muted);max-width:280px}.toolbar{display:flex;justify-content:space-between;gap:10px;padding:10px 18px;background:#f8faf9;border-bottom:1px solid var(--line);height:57px}.tools{display:flex;gap:6px;align-items:center}.tools button{padding:7px 10px;font-size:13px}main{display:grid;grid-template-columns:190px minmax(350px,1fr) 270px;height:calc(100dvh - 133px)}.slides-panel,.inspector{background:#fff;display:flex;flex-direction:column;min-height:0}.slides-panel{border-right:1px solid var(--line)}.panel-head{height:48px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--line)}.panel-head span{color:var(--muted);font-size:12px}.panel-head button{font-size:11px;padding:5px 7px}.slide-tools{display:flex;gap:6px;padding:10px 12px}.slide-tools button{flex:1;font-size:12px}.slides-list{overflow-y:auto;flex:1;padding:2px 12px 24px}.slide-item{display:block;width:100%;padding:8px;text-align:left;margin:0 0 9px;border:1px solid var(--line);background:#fafcfb;border-radius:8px}.slide-item.active{border:2px solid #28745b;background:#edf6f1;padding:7px}.slide-item .thumb{aspect-ratio:16/9;position:relative;overflow:hidden;background:white;pointer-events:none;border:1px solid #e5e9e7}.thumb-stage{position:absolute;transform-origin:top left}.slide-caption{display:flex;gap:8px;font-size:11px;padding:8px 0 1px;line-height:1.4;align-items:baseline}.slide-caption b{color:#35735d;min-width:12px}.slide-caption span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace{display:flex;flex-direction:column;min-width:0;min-height:0}.canvas-tools{height:59px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 18px}.canvas-tools>span{font-weight:600;max-width:35%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.canvas-tools button{font-size:12px;padding:7px 9px}.canvas-tools button.active{background:#d7ebe1;border-color:#4b8c71}#canvasWrap{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:20px;overflow:hidden;touch-action:none}#stage{position:relative;background:white;transform-origin:center;box-shadow:0 10px 45px #1b39301b;overflow:hidden;flex:none}.object{position:absolute;transform-origin:center;user-select:none}.object svg{width:100%;height:100%;display:block;overflow:visible}.object .text-content{white-space:pre-wrap;overflow:visible;width:100%;height:100%;line-height:1.15;word-break:normal;overflow-wrap:break-word}.object img,.object video{width:100%;height:100%;object-fit:fill;display:block}.object.selected::after{content:'';position:absolute;inset:-2px;border:2px solid #257aeb;pointer-events:none;z-index:50}.object.selected{z-index:auto}.selection-box{position:absolute;border:2px solid #277ce8;background:#277ce826;pointer-events:none;z-index:99999}.handle{position:absolute;right:-6px;bottom:-6px;width:13px;height:13px;background:white;border:2px solid #257aeb;cursor:nwse-resize;z-index:100}.video-placeholder{height:100%;display:grid;place-items:center;background:#111;color:white;text-align:center;font-size:24px;position:relative}.video-placeholder img{position:absolute;inset:0;opacity:.5}.video-placeholder span{position:relative;background:#0009;padding:10px 20px;border-radius:10px}.empty{height:100%;width:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px}.empty>span{font-size:28px;color:var(--green);font-weight:600}.empty p{line-height:1.9;font-size:15px;color:#718078}.bottom-bar{font-size:11px;color:var(--muted);padding:10px 18px;display:flex;justify-content:space-between;gap:12px;border-top:1px solid #dce4e180}.inspector{border-left:1px solid var(--line)}#properties{padding:16px;overflow:auto;flex:1}#properties h3{font-size:13px;margin:0 0 14px}label{display:block;font-size:12px;color:#5a6d65;margin-bottom:12px}label>input,label>textarea,label>select{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:8px;color:#1c3027}textarea{resize:vertical;min-height:110px;line-height:1.6}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.fields input{min-width:0}.action-stack{display:flex;flex-direction:column;gap:8px;margin:14px 0}.action-stack button{white-space:normal}.muted{color:var(--muted);font-size:12px;line-height:1.8}.inspector-footer{padding:12px;border-top:1px solid var(--line);display:grid;gap:7px}.inspector-footer button{font-size:12px}.danger{color:#a34343}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#183f38;color:#fff;padding:13px 22px;border-radius:8px;box-shadow:0 4px 30px #0002;z-index:100000;display:none;max-width:85vw}dialog{width:650px;max-width:90vw;max-height:85vh;border:0;border-radius:13px;padding:24px;box-shadow:0 20px 100px #0003}dialog::backdrop{background:#17342b66}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.dialog-head h2{margin:0;font-size:20px}#modalBody{font-size:14px;line-height:1.85}#modalBody .row{border-bottom:1px solid var(--line);padding:9px 0;display:flex;justify-content:space-between;gap:15px}#modalBody .row span{overflow-wrap:anywhere}.missing{color:#a0542c}#show{position:fixed;inset:0;background:#111;z-index:10000;display:flex;align-items:center;justify-content:center}#show[hidden]{display:none}#showCanvas{position:relative;flex:none;transform-origin:center;overflow:hidden}.show-controls{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:8px;align-items:center;padding:8px;background:#182d28df;border-radius:12px;color:white;opacity:0;transition:opacity .2s}#show:hover .show-controls,.show-controls:focus-within{opacity:1}.show-controls button{background:transparent;border-color:#ffffff44;color:#fff}.show-controls span{font-size:12px;min-width:44px;text-align:center}@media(max-width:1150px){main{grid-template-columns:145px minmax(300px,1fr) 235px}header{gap:12px;padding:0 14px}.brand{font-size:14px}.status{max-width:190px}.toolbar{height:auto;flex-wrap:wrap;padding:8px}.tools{flex-wrap:wrap}.canvas-tools{height:auto;flex-wrap:wrap}.canvas-tools>span{max-width:100%}}@media(max-width:800px){body{overflow:auto}main{grid-template-columns:100px minmax(260px,1fr);height:calc(100dvh - 160px)}.inspector{position:fixed;bottom:0;left:100px;right:0;height:230px;z-index:200;border-top:1px solid var(--line)}#properties{padding:10px}.inspector-footer{display:none}.workspace{padding-bottom:230px}header{height:64px;gap:8px}.brand small,.mark,.status{display:none}#projectTitle{font-size:14px;width:34vw;padding:8px}.canvas-tools button{padding:5px;font-size:11px}#canvasWrap{padding:7px}.bottom-bar{display:none}.slide-tools{padding:5px;flex-direction:column}.slides-list{padding:4px}.toolbar .tools button{font-size:11px;padding:6px}}

.object .text-content{position:relative}

.object .text-reference{position:relative}.object .text-paragraph{overflow-wrap:break-word}
