:root{color:#1f2328;font-synthesis:none;text-rendering:optimizelegibility;background:#f3f0ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.app-shell{min-height:100vh;padding:18px}.topbar{justify-content:space-between;align-items:center;gap:18px;max-width:1680px;margin:0 auto 14px;display:flex}.eyebrow{color:#866036;letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:.76rem;font-weight:800}h1,h2,p{margin:0}h1{color:#151719;font-size:clamp(1.35rem,2vw,2.1rem);line-height:1.08}h2{color:#26292d;align-items:center;gap:7px;margin-bottom:10px;font-size:.95rem;display:flex}.topbar-actions,.icon-actions{align-items:center;gap:8px;display:flex}.cloud-status{color:#6f6760;align-items:center;gap:6px;margin-top:7px;font-size:.83rem;display:inline-flex}.cloud-status.online{color:#0f766e;font-weight:760}.primary-button,.ghost-button,.file-button,.asset-list button,.icon-actions button,.mask-button,.url-import button{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;transition:border-color .14s,background .14s,transform .14s;display:inline-flex}.primary-button{color:#fff;background:#0f766e;padding:0 14px;font-weight:760}.primary-button.export{background:#243f6b}.ghost-button{color:#2d3035;background:#fff;border-color:#d8d1c7;padding:0 13px}.ghost-button.full,.mask-button,.full-width{width:100%}.workspace{grid-template-columns:300px minmax(520px,1fr) 310px;gap:14px;max-width:1680px;margin:0 auto;display:grid}.panel{background:#fffdf8;border:1px solid #ded8cf;border-radius:8px;align-self:start;padding:14px}.right-panel{max-height:calc(100vh - 104px);overflow:auto}.tool-section+.tool-section{border-top:1px solid #e9e2d8;margin-top:14px;padding-top:14px}.file-button{color:#145b56;background:#eef8f6;border-color:#bcded9;width:100%;padding:0 12px;font-weight:760}.file-button.subtle{color:#6b4824;background:#f6f2ec;border-color:#ddcab2}.file-button input{display:none}.url-import{grid-template-columns:minmax(0,1fr) 42px;gap:8px;margin-top:9px;display:grid}.url-import input{background:#fff;border:1px solid #dcd5ca;border-radius:8px;width:100%;min-height:40px;padding:0 10px}.url-import button,.icon-actions button{color:#30343a;background:#f4f1eb;border-color:#d9d1c6;width:40px;height:40px;padding:0}.asset-list{gap:7px;margin-top:10px;display:grid}.ready-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.ready-grid.objects{max-height:330px;padding-right:2px;overflow:auto}.ready-card{color:#25292e;text-align:left;background:#fff;border:1px solid #ded7ce;border-radius:8px;gap:5px;padding:0 0 7px;display:grid;overflow:hidden}.ready-card img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;display:block}.ready-card span,.ready-card small,.ready-card em{padding:0 8px;line-height:1.2;display:block}.ready-card span{font-size:.82rem;font-weight:750}.ready-card small{color:#746c63;font-size:.72rem}.ready-card em{color:#0f766e;font-size:.68rem;font-style:normal;font-weight:750}.asset-list span,.hint{color:#6f6760;font-size:.84rem;line-height:1.35}.auth-form{gap:9px;display:grid}.auth-form label{color:#363a3f;gap:5px;font-size:.82rem;font-weight:720;display:grid}.auth-form input{background:#fff;border:1px solid #dcd5ca;border-radius:8px;width:100%;min-height:40px;padding:0 10px}.sync-box{color:#145b56;background:#eef8f6;border:1px solid #c6e2dd;border-radius:8px;gap:4px;margin:9px 0;padding:10px;display:grid}.sync-box strong,.sync-box span{font-size:.82rem;line-height:1.25;display:block}.remote-list,.lesson-list{gap:7px;margin-top:9px;display:grid}.remote-list button,.lesson{color:#282c31;text-align:left;background:#fff;border:1px solid #ded7ce;border-radius:8px;gap:4px;padding:9px 10px;display:grid}.remote-list span,.lesson span{font-size:.83rem;font-weight:760}.remote-list small,.lesson small{color:#746c63;font-size:.74rem;line-height:1.3}.lesson.done{background:#edf8f5;border-color:#94d1c4}.asset-list button{color:#2f3338;overflow-wrap:anywhere;text-align:left;background:#fff;border-color:#e1dbd2;justify-content:flex-start;padding:8px 10px}.hint{margin-top:8px}.primary-button:hover,.ghost-button:hover,.file-button:hover,.asset-list button:hover,.icon-actions button:hover:not(:disabled),.mask-button:hover,.url-import button:hover{transform:translateY(-1px)}.stage-column{min-width:0}.stage-toolbar{background:#fffdf8;border:1px solid #ded8cf;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;padding:10px 12px;display:flex}.photo-edit-strip{background:#f7fbff;border:1px solid #c7d9f0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:10px 12px;display:flex}.photo-edit-strip strong{font-size:.95rem;display:block}.photo-edit-strip span{color:#4d5d70;margin-top:2px;font-size:.84rem;line-height:1.35;display:block}.photo-edit-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.compact{width:auto;min-height:36px;padding:0 10px}.stage-toolbar strong{font-size:.98rem;display:block}.stage-toolbar span{color:#625e59;margin-top:2px;font-size:.86rem;display:block}.stage-frame{background-color:#0000;background-image:linear-gradient(45deg,#00000009 25%,#0000 25%),linear-gradient(-45deg,#00000009 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#00000009 75%),linear-gradient(-45deg,#0000 75%,#00000009 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-repeat:repeat,repeat,repeat,repeat;background-size:20px 20px;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;border:1px solid #d8d0c5;border-radius:8px;padding:12px;overflow:auto}.canvas-stage{aspect-ratio:1000/660;background:#ece8df;border-radius:6px;width:min(100%,1000px);max-width:1000px;min-height:360px;max-height:calc(100vh - 190px);margin:0 auto;position:relative;overflow:hidden}.canvas-stage canvas,.canvas-stage .canvas-container,.fabric-host,.background-image,.before-layer,.empty-state{width:100%;height:100%;position:absolute;top:0;left:0}.canvas-stage .canvas-container{z-index:2;width:100%!important;height:100%!important;position:absolute!important}.fabric-host{z-index:2}.background-image,.before-layer img{object-fit:cover}.canvas-stage canvas{z-index:2;width:100%!important;height:100%!important}.empty-state{color:#66615b;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:28px;display:flex}.before-layer{pointer-events:none;z-index:4;border-right:3px solid #fff;overflow:hidden;box-shadow:8px 0 18px #00000038}.before-layer img{width:1000px;max-width:none;height:100%}.compare-controls{color:#5f5a54;justify-content:space-between;align-items:center;gap:16px;margin-top:10px;display:flex}.compare-controls label{flex:1;align-items:center;gap:12px;display:flex}.compare-controls input,.slider-row input{accent-color:#0f766e}.compare-controls input{width:min(360px,100%)}.slider-row{gap:6px;margin:10px 0;display:grid}.slider-row span{color:#35383d;justify-content:space-between;align-items:center;font-size:.86rem;display:flex}.slider-row strong{color:#0f766e;font-size:.82rem}.slider-row input{width:100%}.toggle-row{color:#34383d;align-items:center;gap:8px;margin:8px 0 4px;font-size:.9rem;display:flex}.mask-button{color:#24426f;background:#eef5ff;border-color:#bfd2f1;padding:0 12px;font-weight:740}.mask-button.active{color:#fff;background:#0f766e;border-color:#0f766e}@media (width<=1180px){.workspace{grid-template-columns:280px minmax(0,1fr)}.right-panel{grid-column:1/-1;max-height:none}}@media (width<=840px){.app-shell{padding:12px}.topbar,.stage-toolbar,.photo-edit-strip,.compare-controls{flex-direction:column;align-items:stretch}.photo-edit-actions{justify-content:stretch}.photo-edit-actions button{flex:140px}.topbar-actions{flex-wrap:wrap}.workspace{grid-template-columns:1fr}.canvas-stage{min-height:280px}}
