@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--primary: #6366f1;--primary-hover: #4f46e5;--primary-light: rgba(99, 102, 241, .12);--accent: #10b981;--danger: #ef4444;--warning: #f59e0b;--bg-app: #0f172a;--bg-toolbar: #1e293b;--bg-sidebar: #0f172a;--bg-canvas: #1e293b;--text: #f8fafc;--text-muted: #94a3b8;--text-inv: #1e293b;--border: rgba(255, 255, 255, .1);--shadow: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 12px 48px rgba(0, 0, 0, .5);--radius: 8px;--ribbon-h: 110px;--topbar-h: 52px}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-5px)}to{transform:translateY(0)}}@keyframes pulse-glow{0%{box-shadow:0 0 5px var(--primary)}50%{box-shadow:0 0 20px var(--primary)}to{box-shadow:0 0 5px var(--primary)}}.logo-mark svg{animation:float 3s ease-in-out infinite}.ai-btn{position:relative;overflow:hidden;border:1px solid transparent;background:linear-gradient(90deg,#6366f1,#a855f7)!important;color:#fff!important}.ai-btn:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.3),transparent);transform:rotate(45deg);animation:shine 3s infinite}@keyframes shine{0%{left:-100%}to{left:100%}}#main-canvas{transition:transform .3s cubic-bezier(.4,0,.2,1)}#upload-screen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;background:radial-gradient(ellipse at 20% 30%,#1e1b4b,#020617 40%),radial-gradient(ellipse at 80% 70%,#064e3b 0%,transparent 50%);z-index:1000}.glow{position:absolute;inset:0;background:radial-gradient(circle at 10% 20%,rgba(99,102,241,.2) 0%,transparent 50%),radial-gradient(circle at 90% 80%,rgba(16,185,129,.15) 0%,transparent 50%);pointer-events:none}.upload-brand{text-align:center;color:#fff}.logo-mark{margin-bottom:.75rem;display:flex;justify-content:center}.upload-brand h1{font-size:2.5rem;font-weight:900;margin-bottom:.5rem}.upload-brand h1 span{background:linear-gradient(135deg,#818cf8,#34d399);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.upload-brand p{color:#94a3b8;font-size:1rem}.upload-card{background:#ffffff0a;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px dashed rgba(255,255,255,.2);border-radius:2rem;padding:3rem 4rem;display:flex;flex-direction:column;align-items:center;gap:1.25rem;cursor:pointer;transition:all .3s;min-width:480px}.upload-card:hover{border-color:var(--primary);background:#6366f114;transform:scale(1.01)}.upload-icon-wrap{padding:1.5rem;background:#6366f11a;border-radius:1.5rem}.upload-card h2{color:#fff;font-size:1.5rem;font-weight:700}.upload-sub{color:#94a3b8;font-size:.9rem}.btn-upload{background:var(--primary);color:#fff;border:none;padding:.75rem 2rem;border-radius:999px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-upload:hover{background:var(--primary-hover);transform:translateY(-1px)}.upload-features{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.feat-tag{background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:.25rem .75rem;color:#94a3b8;font-size:.75rem}#file-input{display:none}#editor-app{display:flex;flex-direction:column;height:100vh;background:var(--bg-app)}#top-bar{height:var(--topbar-h);background:var(--bg-toolbar);border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;padding:0 1rem;gap:1rem;flex-shrink:0;z-index:100}.topbar-left{display:flex;align-items:center;gap:.75rem;flex:1}.topbar-center{flex:2;display:flex;justify-content:center}.topbar-right{display:flex;align-items:center;gap:.5rem;flex:1;justify-content:flex-end}.logo-sm{font-size:1.1rem;font-weight:900;color:#fff;white-space:nowrap}.logo-sm span{background:linear-gradient(90deg,#818cf8,#34d399);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.file-name{color:#94a3b8;font-size:.85rem;font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:#cbd5e1;padding:.3rem .7rem;border-radius:var(--radius);font-size:.8rem;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:.3rem;font-family:inherit;white-space:nowrap}.tb-btn:hover{background:#ffffff1f;color:#fff}.tb-btn.primary-btn{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.tb-btn.primary-btn:hover{background:var(--primary-hover)}.tb-btn.danger-btn{background:#ef444426;border-color:#ef44444d;color:#f87171}.tb-btn.danger-btn:hover{background:#ef444440;border-color:#ef4444}.tb-btn.xs-btn{padding:.15rem .5rem;font-size:.75rem}.tb-btn.active-toggle{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.zoom-label{color:#94a3b8;font-size:.8rem;min-width:45px;text-align:center;font-weight:600}.tb-divider{width:1px;height:22px;background:#ffffff14;margin:0 .25rem}#menu-bar{height:var(--menubar-h);background:#1a2332;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;padding:0 .75rem;gap:.25rem;flex-shrink:0;z-index:99}.menu-group{display:flex;align-items:center;gap:2px;flex:1}.menu-tab,.tab-btn{background:none;border:none;color:#94a3b8;padding:.3rem .85rem;border-radius:5px;font-size:.8rem;cursor:pointer;font-family:inherit;font-weight:500;transition:all .15s;white-space:nowrap}.menu-tab:hover,.tab-btn:hover{background:#ffffff0f;color:#e2e8f0}.menu-tab.active-tab,.tab-btn.active-tab,.menu-tab.active,.tab-btn.active{background:var(--primary-light);color:#818cf8;font-weight:600}.doc-stats{display:flex;align-items:center;gap:.75rem;font-size:.72rem;color:#475569;padding-right:.5rem;margin-left:auto}.doc-stats strong{color:#818cf8}#ribbon{background:#f1f5f9;border-bottom:1px solid var(--border);flex-shrink:0;overflow-x:auto;z-index:98}.panel{display:none;align-items:center;gap:0;padding:.5rem .75rem;min-height:var(--ribbon-h);overflow:hidden}.panel.active-panel,.panel.active{display:flex}.ribbon-group{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;padding:.35rem .75rem;border-right:1px solid var(--border);position:relative;min-width:fit-content}.ribbon-group:last-child{border-right:none}.rg-label{position:absolute;bottom:.2rem;left:50%;transform:translate(-50%);font-size:.6rem;color:#94a3b8;white-space:nowrap;letter-spacing:.05em;text-transform:uppercase}.tool-btn{background:#fff;border:1px solid var(--border);color:var(--text);padding:.35rem .6rem;border-radius:5px;font-size:.78rem;cursor:pointer;font-family:inherit;white-space:nowrap;transition:all .15s;display:inline-flex;align-items:center;gap:.3rem}.tool-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.tool-btn.active-tool{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.fmt-btn{background:#fff;border:1px solid var(--border);color:var(--text);width:30px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;font-size:.85rem;transition:all .15s;font-family:inherit}.fmt-btn:hover,.fmt-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.ri-select,.ri-input,.ri-input-sm{background:#fff;border:1px solid var(--border);color:var(--text);padding:.3rem .5rem;border-radius:4px;font-size:.78rem;font-family:inherit;outline:none}.ri-select{min-width:130px}.ri-input{min-width:150px}.ri-input-sm{width:60px}.ri-select:focus,.ri-input:focus{border-color:var(--primary)}label{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--text-muted);white-space:nowrap}label input[type=range]{width:90px;accent-color:var(--primary)}label input[type=color]{width:28px;height:26px;border:1px solid var(--border);border-radius:4px;cursor:pointer;padding:0}label input[type=checkbox]{accent-color:var(--primary)}.filter-preset-btn{background:#fff;border:1px solid var(--border);color:var(--text);padding:.3rem .55rem;border-radius:5px;font-size:.75rem;cursor:pointer;transition:all .15s;font-family:inherit;white-space:nowrap}.filter-preset-btn:hover{border-color:var(--primary);color:var(--primary)}.filter-preset-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}#editor-body{display:flex;flex:1;overflow:hidden}#panel-thumbnails{width:var(--thumb-w);background:#f8fafc;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0}#panel-thumbnails.hidden,#panel-properties.hidden{display:none}.side-header{padding:.5rem .75rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);background:#f1f5f9;border-bottom:1px solid var(--border)}#thumbnail-list{padding:.75rem;display:flex;flex-direction:column;gap:.6rem}.thumb-item{background:#fff;border:2px solid var(--border);border-radius:6px;cursor:pointer;overflow:hidden;transition:all .2s;position:relative}.thumb-item:hover{border-color:#94a3b8}.thumb-item.active-thumb{border-color:var(--primary);box-shadow:0 0 0 3px #6366f133}.thumb-item img{width:100%;display:block}.thumb-num{position:absolute;bottom:4px;right:6px;font-size:.65rem;font-weight:700;color:#fff;background:#00000080;padding:1px 5px;border-radius:3px}#canvas-area{flex:1;background:var(--bg-canvas);overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:2rem;position:relative}#canvas-wrapper{position:relative;box-shadow:0 4px 40px #00000040,0 1px 3px #0000001a;background:#fff;display:inline-block}canvas#main-canvas{display:block;background:#fff}.ruler{position:absolute;background:#f1f5f9;border-color:#e2e8f0;display:none}#panel-properties{width:var(--props-w);background:#f8fafc;border-left:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0}#obj-props{padding:.75rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.no-sel{font-size:.78rem;color:var(--text-muted);text-align:center;padding:1rem 0}.prop-row{display:flex;flex-direction:column;gap:.25rem}.prop-label{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.prop-input{background:#fff;border:1px solid var(--border);border-radius:4px;padding:.3rem .5rem;font-size:.78rem;font-family:inherit;color:var(--text);width:100%}.activity-log{padding:.5rem;display:flex;flex-direction:column;gap:.3rem;max-height:150px;overflow-y:auto}.audit-item{font-size:.68rem;color:var(--text-muted);padding:.25rem 0;border-bottom:1px solid var(--border)}#layers-list,#history-list{overflow-y:auto;max-height:200px}.layer-item,.history-item{padding:.4rem .75rem;font-size:.75rem;cursor:pointer;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.5rem;transition:background .15s}.layer-item:hover,.history-item:hover{background:var(--primary-light)}.layer-item.active-layer{background:var(--primary-light);font-weight:600;color:var(--primary)}#status-bar{height:var(--statusbar-h);background:#1e293b;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;padding:0 1rem;gap:1rem;flex-shrink:0;z-index:100}#status-msg{font-size:.75rem;color:#64748b;flex:1}.status-right{display:flex;align-items:center;gap:.75rem}#cursor-coords,#sel-info{font-size:.7rem;color:#475569}.glass-dialog{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);z-index:9999;min-width:360px}.glass-dialog.open{display:block}.dlg-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border);font-weight:700;color:var(--text)}.dlg-close{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:1rem;padding:.2rem;border-radius:4px;transition:all .15s}.dlg-close:hover{background:#f1f5f9;color:var(--text)}.dlg-body{padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.dlg-input{width:100%;border:1px solid var(--border);border-radius:6px;padding:.5rem .75rem;font-size:.85rem;font-family:inherit;outline:none;color:var(--text)}.dlg-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.dlg-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.dlg-btn{flex:1;background:#f1f5f9;border:1px solid var(--border);color:var(--text);padding:.5rem;border-radius:6px;cursor:pointer;font-family:inherit;font-weight:600;font-size:.85rem;transition:all .15s}.dlg-btn:hover{background:#e2e8f0}.dlg-btn.primary-btn{background:var(--primary);border-color:var(--primary);color:#fff}.dlg-btn.primary-btn:hover{background:var(--primary-hover)}.dlg-select{width:100%;padding:.4rem .5rem;border:1px solid var(--border);border-radius:6px;font-family:inherit;font-size:.85rem;color:var(--text);background:#fff;outline:none}.dlg-info{font-size:.78rem;color:var(--text-muted)}.ctx-menu{display:none;position:fixed;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-lg);z-index:9998;min-width:180px;padding:.3rem 0}.ctx-menu.open{display:block}.ctx-item{padding:.5rem 1rem;font-size:.8rem;cursor:pointer;color:var(--text);display:flex;align-items:center;gap:.5rem;transition:background .1s}.ctx-item:hover{background:var(--primary-light);color:var(--primary)}.ctx-sep{height:1px;background:var(--border);margin:.2rem 0}.toast{position:fixed;bottom:3rem;left:50%;transform:translate(-50%) translateY(20px);background:#1e293b;color:#f8fafc;padding:.6rem 1.5rem;border-radius:999px;font-size:.82rem;font-weight:500;opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.175,.885,.32,1.275);z-index:99999;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.canvas-container{position:relative}.upper-canvas{cursor:default}.upload-card.drag-over{border-color:var(--primary);background:#6366f114}.prop-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.prop-color{width:100%;height:30px;border:1px solid var(--border);border-radius:4px;cursor:pointer}.prop-range{width:100%;accent-color:var(--primary)}.dlg-backdrop{display:none;position:fixed;inset:0;background:#0000004d;z-index:9990}.dlg-backdrop.open{display:block}.spinner{width:24px;height:24px;border:3px solid rgba(99,102,241,.2);border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}.highlight-flash{animation:hflash .6s ease}@keyframes hflash{0%{box-shadow:0 0 #6366f199}to{box-shadow:0 0 0 12px #6366f100}}.shortcuts-table{width:100%;border-collapse:collapse;font-size:.8rem}.shortcuts-table th{background:var(--primary);color:#fff;padding:.4rem .75rem;text-align:left}.shortcuts-table td{padding:.35rem .75rem;border-bottom:1px solid var(--border);color:var(--text)}.shortcuts-table tr:nth-child(2n) td{background:#f8fafc}.autosave-badge{position:fixed;bottom:2.2rem;right:1rem;background:#ecfdf5;border:1px solid #6ee7b7;color:#065f46;font-size:.72rem;font-weight:600;padding:.25rem .75rem;border-radius:999px;opacity:0;transition:opacity .4s;pointer-events:none;z-index:9000}.autosave-badge.show{opacity:1}body.dark-mode{--bg-app: #0f172a;--bg-canvas: #1e293b;--bg-sidebar: #1a2332;--border: #334155;--text: #f1f5f9;--text-muted: #94a3b8}body.dark-mode #ribbon{background:#1a2332;border-color:#334155}body.dark-mode .tool-btn,body.dark-mode .fmt-btn,body.dark-mode .filter-preset-btn{background:#1e293b;border-color:#334155;color:#e2e8f0}body.dark-mode .ri-select,body.dark-mode .ri-input,body.dark-mode .ri-input-sm{background:#0f172a;border-color:#334155;color:#e2e8f0}body.dark-mode #panel-thumbnails,body.dark-mode #panel-properties{background:#1a2332;border-color:#334155}body.dark-mode .glass-dialog{background:#1e293b;border-color:#334155;color:#e2e8f0}body.dark-mode .dlg-input,body.dark-mode .dlg-select{background:#0f172a;border-color:#334155;color:#e2e8f0}body.dark-mode .dlg-btn{background:#334155;border-color:#475569;color:#e2e8f0}body.dark-mode .dlg-header{color:#e2e8f0;border-color:#334155}body.dark-mode .ctx-menu{background:#1e293b;border-color:#334155}body.dark-mode .ctx-item{color:#e2e8f0}body.dark-mode .layer-item,body.dark-mode .history-item,body.dark-mode .audit-item{color:#94a3b8;border-color:#334155}body.dark-mode #canvas-area{background:#0f172a}body.dark-mode label{color:#94a3b8}body.dark-mode .shortcuts-table td{color:#e2e8f0}body.dark-mode .shortcuts-table tr:nth-child(2n) td{background:#0f172a}body.dark-mode .side-header{background:#0f172a;border-color:#334155}@media(max-width:900px){:root{--thumb-w: 110px;--props-w: 180px}.rg-label{display:none}.ribbon-group{padding:.25rem .4rem}}@keyframes stripe{0%{background-position:0 0}to{background-position:40px 40px}}.upload-card.drag-over{animation:stripe .5s linear infinite;background-image:repeating-linear-gradient(45deg,rgba(99,102,241,.08) 0,rgba(99,102,241,.08) 10px,transparent 10px,transparent 20px)}.collapsible-drawer{position:fixed;right:-320px;top:100px;bottom:0;width:300px;background:#fff;border-left:1px solid var(--border);box-shadow:-4px 0 15px #0000001a;display:flex;flex-direction:column;z-index:8000;transition:right .3s cubic-bezier(.4,0,.2,1)}.collapsible-drawer.open{right:0}.drawer-header{padding:1rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-weight:700;color:var(--text)}.drawer-header button{background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--text-muted)}.chat-body{flex:1;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;background:#f8fafc}.msg{padding:.6rem .8rem;border-radius:10px;font-size:.85rem;max-width:85%;line-height:1.4}.msg.guest{background:#fff;align-self:flex-start;border:1px solid var(--border)}.msg.user{background:var(--primary);color:#fff;align-self:flex-end}.drawer-footer{padding:.75rem;border-top:1px solid var(--border);display:flex;gap:.5rem}#chat-input{flex:1;padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;font-size:.85rem}#send-chat{background:var(--primary);color:#fff;border:none;padding:0 .75rem;border-radius:6px;cursor:pointer}.badge{background:#f43f5e;color:#fff;font-size:9px;padding:1px 4px;border-radius:10px;font-weight:900;margin-left:4px}.dlg-textarea{width:100%;height:250px;border:1px solid var(--border);border-radius:6px;padding:1rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.85rem;background:#0f172a;color:#38bdf8;resize:none;margin-bottom:1rem}body.dark-mode .collapsible-drawer{background:#1e293b;border-color:#334155}body.dark-mode .chat-body{background:#0f172a}body.dark-mode .msg.guest{background:#1e293b;border-color:#334155;color:#e2e8f0}body.dark-mode .drawer-header{color:#e2e8f0;border-color:#334155}body.dark-mode .drawer-footer{border-color:#334155}body.dark-mode #chat-input{background:#0f172a;border-color:#334155;color:#e2e8f0}.floating-hud{position:absolute;display:none;background:#1e293be6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.5rem;border-radius:8px;box-shadow:0 4px 12px #0003;z-index:9000;gap:.4rem;border:1px solid rgba(255,255,255,.1);color:#fff;align-items:center}.hud-btn{background:transparent;border:none;color:#fff;padding:4px 8px;cursor:pointer;border-radius:4px;font-size:.9rem;transition:background .2s}.hud-btn:hover{background:#ffffff1a}.hud-divider{width:1px;height:16px;background:#fff3;margin:0 4px}#editor-footer{height:32px;background:#fff;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:0 1rem;font-size:.75rem;color:var(--text-muted);z-index:1000}.footer-left,.footer-right{display:flex;align-items:center;gap:1rem}body.dark-mode #editor-footer{background:#0f172a;border-color:#334155}
