:root{--bg:#f5f2ef;--paper:#fff;--ink:#2a211d;--muted:#7c7069;--line:#e7ddd7;--accent:#cc6657;--accent2:#8d4e45;--soft:#f9ece7;--green:#397b63;--shadow:0 16px 45px rgba(58,37,29,.10);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}.muted{color:var(--muted)}.small{font-size:12px}.btn{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:11px;padding:10px 15px;font-weight:700;cursor:pointer;transition:.18s}.btn:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(50,32,25,.09)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.ghost{background:#fff}.btn.wide{width:100%}.logo-mark{width:52px;height:52px;border-radius:15px;background:linear-gradient(145deg,#d87564,#a64b3e);display:grid;place-items:center;color:#fff;font-weight:900;letter-spacing:-1px;box-shadow:0 10px 24px rgba(167,76,63,.25)}.logo-mark.small{width:40px;height:40px;border-radius:12px;font-size:13px}.login-body{min-height:100vh;background:radial-gradient(circle at 16% 18%,#fff1eb 0,transparent 35%),linear-gradient(135deg,#f8f4f1,#efe9e4)}.login-wrap{min-height:100vh;max-width:1180px;margin:auto;padding:70px 34px;display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:center}.brand-pill{display:inline-block;padding:8px 12px;border-radius:99px;background:#fff;border:1px solid var(--line);font-size:12px;font-weight:900;letter-spacing:.16em}.login-copy h1{font-size:clamp(44px,6vw,78px);line-height:.97;letter-spacing:-.055em;margin:24px 0;max-width:760px}.login-copy p{font-size:20px;line-height:1.6;color:var(--muted);max-width:690px}.login-proof{display:flex;gap:22px;flex-wrap:wrap;margin-top:30px;font-weight:800;color:#644b42}.login-card{background:rgba(255,255,255,.94);padding:34px;border:1px solid rgba(231,221,215,.9);border-radius:24px;box-shadow:var(--shadow)}.login-card h2{font-size:30px;margin:22px 0 4px;letter-spacing:-.03em}.login-card form{display:grid;gap:16px;margin-top:24px}.login-card label,.tool-panel label,.right-panel label,.dialog-card label{display:grid;gap:7px;font-size:12px;color:var(--muted);font-weight:800}.login-card input,.tool-panel input,.tool-panel select,.right-panel input,.dialog-card select,.form-grid input,.form-grid textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:11px 12px;color:var(--ink);outline:none}.login-card input:focus,.tool-panel input:focus,.tool-panel select:focus,.right-panel input:focus,.form-grid input:focus,.form-grid textarea:focus{border-color:#d8998f;box-shadow:0 0 0 3px #faece8}.alert{padding:11px 13px;border-radius:10px;margin-top:18px}.alert.danger{background:#fff0ed;color:#9a3d32;border:1px solid #f2c8c0}.app-shell{min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr)}.sidebar{height:100vh;position:sticky;top:0;background:#2d2522;color:#f8f2ef;padding:22px 16px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:2px 6px 24px}.brand strong{display:block;font-size:17px}.brand span{display:block;color:#b9aba5;font-size:12px;margin-top:2px}.sidebar nav{display:grid;gap:7px}.nav-item{appearance:none;border:0;background:transparent;color:#cfc2bc;text-align:left;border-radius:12px;padding:12px 13px;display:flex;gap:11px;align-items:center;font-weight:750;cursor:pointer}.nav-item:hover,.nav-item.active{background:#413632;color:#fff}.sidebar-foot{margin-top:auto;border-top:1px solid #493c37;padding:18px 6px 0;display:grid;gap:13px}.user-chip{display:flex;gap:10px;align-items:center}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#d16959;color:#fff;font-weight:900}.user-chip strong,.user-chip span{display:block}.user-chip span{font-size:11px;color:#ab9d97;margin-top:2px}.logout{font-size:12px;color:#cabcb6;text-decoration:none}.workspace{min-width:0}.topbar{height:88px;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:16px 26px;position:sticky;top:0;z-index:12}.topbar h1{font-size:22px;margin:0;letter-spacing:-.03em}.topbar p{font-size:12px;margin:4px 0 0;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:9px}.status-dot{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:7px;margin-right:6px}.status-dot span{width:8px;height:8px;border-radius:50%;background:#55a583;box-shadow:0 0 0 4px #e4f4ee}.panel-view{display:none}.panel-view.active{display:block}.editor-grid{height:calc(100vh - 88px);display:grid;grid-template-columns:250px minmax(0,1fr) 250px}.tool-panel,.right-panel{background:#fff;border-right:1px solid var(--line);overflow:auto;padding:18px}.right-panel{border-right:0;border-left:1px solid var(--line);background:#faf8f6}.section{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}.section:last-child{border:0}.section-title{text-transform:uppercase;font-size:10px;letter-spacing:.14em;font-weight:900;color:#8c7a72;margin-bottom:12px}.tool-panel label{margin-bottom:12px}.row2{display:grid;grid-template-columns:1fr 1fr;gap:9px}.switch-row{display:flex!important;align-items:center;justify-content:space-between}.switch-row input{width:auto}.upload-drop{border:1.5px dashed #d7c7c0;border-radius:14px;background:#fcf7f4;padding:18px!important;text-align:center;cursor:pointer}.upload-drop b,.upload-drop span{display:block}.upload-drop span{font-size:10px;color:var(--muted);margin-top:5px}.tool-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}.tool-btn{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px;font-size:12px;font-weight:800;cursor:pointer}.danger-text{color:#a54437}.stage-wrap{min-width:0;display:grid;grid-template-rows:48px minmax(0,1fr) 28px;background:#ece7e3}.stage-toolbar{display:flex;justify-content:space-between;align-items:center;background:#f7f4f1;border-bottom:1px solid #ddd4cf;padding:6px 14px}.side-tabs{background:#e9e2dd;border-radius:10px;padding:3px;display:flex}.side-tab{border:0;background:transparent;border-radius:8px;padding:7px 13px;font-weight:800;color:#786b65;cursor:pointer}.side-tab.active{background:#fff;color:#2d2420;box-shadow:0 2px 8px rgba(52,35,28,.08)}.zoom-tools{display:flex;align-items:center;gap:4px}.zoom-tools button{border:1px solid #ded5d0;background:#fff;border-radius:8px;padding:5px 9px;cursor:pointer}.zoom-tools span{font-size:11px;min-width:44px;text-align:center}.canvas-shell{position:relative;overflow:auto;display:grid;place-items:center;padding:36px;min-height:0}.canvas-shell>div{margin:auto}.canvas-shell #canvasFrame{position:relative;transform-origin:center center;box-shadow:0 18px 48px rgba(49,34,28,.18);background:#fff}.cut-guide-overlay{position:absolute;border:1px dashed #d85d51;pointer-events:none;z-index:9}.stage-hint{text-align:center;color:#8c7e78;font-size:10px}.inspector-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:12px}.meta-list{display:grid;gap:8px;margin-top:13px}.meta-list div{display:flex;justify-content:space-between;font-size:11px}.meta-list span{color:var(--muted)}.quality-ring{display:flex;align-items:flex-end;gap:2px}.quality-ring strong{font-size:38px;letter-spacing:-.06em}.quality-ring span{color:var(--muted);padding-bottom:6px}.quality-notes{font-size:11px;color:#9b5f52;display:grid;gap:5px}.quality-notes .good{color:var(--green)}.shortcut{display:flex;align-items:center;gap:6px;font-size:11px;margin:8px 0;color:var(--muted)}.shortcut span{margin-left:auto}kbd{background:#f2efed;border:1px solid #ddd5d1;border-bottom-width:2px;border-radius:5px;padding:2px 5px;color:#665852}.content-page{padding:26px}.page-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 5px 18px rgba(55,36,28,.04)}.page-card h2{margin:0 0 5px}.page-card p{margin-top:3px}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.asset-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.asset-card img,.file-icon{width:100%;aspect-ratio:4/3;object-fit:cover;background:#f3efec}.file-icon{display:grid;place-items:center;font-size:26px;font-weight:900;color:#9a5f54}.asset-card>div:not(.file-icon){padding:10px 11px}.asset-card strong,.asset-card span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-card strong{font-size:12px}.asset-card span{font-size:10px;color:var(--muted);margin-top:4px}.asset-card button{width:100%;border:0;border-top:1px solid var(--line);background:#faf7f5;padding:9px;font-weight:800;cursor:pointer}.design-list{display:grid;gap:9px}.design-row{border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px 15px;display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer}.design-row:hover{border-color:#d59b90;background:#fffaf8}.design-row strong,.design-row span{display:block}.design-row span{font-size:11px;color:var(--muted);margin-top:4px}.design-row b{font-size:11px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid,.data-stack{display:grid;gap:11px;margin-top:14px}.form-grid textarea{min-height:88px;resize:vertical}.data-stack>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:8px 0;font-size:12px}.data-stack span{color:var(--muted)}.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.tag-list span{background:#f7efeb;border:1px solid #ead8d1;color:#6d4a40;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:750}.empty{padding:40px;border:1px dashed var(--line);border-radius:14px;text-align:center;color:var(--muted)}dialog{border:0;border-radius:20px;padding:0;box-shadow:0 30px 80px rgba(35,23,18,.3);width:min(520px,calc(100vw - 32px))}dialog::backdrop{background:rgba(41,31,27,.48);backdrop-filter:blur(4px)}.dialog-card{padding:24px;position:relative;display:grid;gap:15px}.dialog-card h2{margin:0}.dialog-close{position:absolute;right:13px;top:12px;border:0;background:#f3efed;border-radius:50%;width:30px;height:30px;cursor:pointer}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.process-status{font-size:11px;color:var(--muted);min-height:16px}#toast{position:fixed;right:22px;bottom:22px;background:#2f2926;color:#fff;padding:12px 15px;border-radius:11px;box-shadow:var(--shadow);transform:translateY(20px);opacity:0;pointer-events:none;transition:.2s;z-index:99;font-size:12px;font-weight:700}#toast.show{opacity:1;transform:none}#toast.bad{background:#a1463b}@media(max-width:1100px){.editor-grid{grid-template-columns:220px minmax(0,1fr)}.right-panel{display:none}.app-shell{grid-template-columns:76px minmax(0,1fr)}.sidebar .brand>div:last-child,.nav-item span,.user-chip>div:last-child,.logout{display:none}.sidebar{padding-inline:10px}.brand{justify-content:center}.nav-item{justify-content:center;font-size:18px}}@media(max-width:760px){.login-wrap{grid-template-columns:1fr;padding:34px 18px;gap:26px}.login-copy h1{font-size:48px}.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:fixed;z-index:40;left:10px;right:10px;bottom:10px;top:auto;border-radius:16px;padding:7px;flex-direction:row}.sidebar .brand,.sidebar-foot{display:none}.sidebar nav{width:100%;display:grid;grid-template-columns:repeat(4,1fr)}.nav-item{padding:10px}.topbar{height:auto;padding:12px 14px}.topbar p,.status-dot{display:none}.editor-grid{height:calc(100vh - 70px);grid-template-columns:1fr}.tool-panel{display:none}.content-page{padding:14px 14px 86px}.settings-grid{grid-template-columns:1fr}.canvas-shell{padding:20px}.top-actions .btn{padding:8px 10px}.workspace{padding-bottom:72px}.stage-wrap{height:calc(100vh - 142px)}}
/* CakePrint measurement system */
#canvasFrame{overflow:visible}
.measurement-grid,.composition-guides,.ruler{position:absolute;pointer-events:none}
.measurement-grid{inset:0;z-index:6;background-image:linear-gradient(to right,rgba(75,98,118,.12) 1px,transparent 1px),linear-gradient(to bottom,rgba(75,98,118,.12) 1px,transparent 1px)}
.composition-guides{inset:0;z-index:8}
.guide-line{position:absolute;display:block;background:#20a0ff;box-shadow:0 0 0 1px rgba(255,255,255,.72)}
.guide-v{top:0;bottom:0;width:1px}.guide-h{left:0;right:0;height:1px}
.ruler{z-index:10;color:#5f534d;font-size:8px;font-weight:800;background:#f7f3f0;border:1px solid #d9d0cb}
.ruler-top{height:20px;left:0;right:0;top:-22px;border-radius:5px 5px 0 0}
.ruler-left{width:24px;top:0;bottom:0;left:-26px;border-radius:5px 0 0 5px}
.ruler-top span{position:absolute;top:4px;transform:translateX(-1px);padding-left:2px;border-left:1px solid #92847c;height:7px}
.ruler-left span{position:absolute;left:3px;transform:translateY(-1px);padding-top:2px;border-top:1px solid #92847c;width:7px;writing-mode:vertical-rl}
.guide-presets{grid-template-columns:repeat(3,1fr)}
#maskSelect{margin-bottom:8px}