body.editor-body{background:var(--bg);flex-direction:column;height:100vh;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--line);background:var(--bg-soft);z-index:30;flex:none;align-items:center;gap:8px;height:54px;padding:0 14px;display:flex}.topbar .logo{margin-right:6px;font-size:16px}.topbar .logo-mark{border-radius:6px;width:24px;height:24px}.tb-group{align-items:center;gap:4px;display:flex}.tb-sep{background:var(--line-strong);width:1px;height:22px;margin:0 8px}.tb-btn{border-radius:var(--radius);width:34px;height:34px;color:var(--text-dim);place-items:center;transition:background .15s ease-out,color .15s ease-out;display:grid;position:relative}.tb-btn:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.tb-btn:disabled{opacity:.35;cursor:default}.tb-btn.active{background:var(--accent-dim);color:var(--accent)}.tb-spacer{flex:1}.btn-sm{border-radius:var(--radius);gap:6px;padding:7px 14px;font-size:13px}.export-wrap{position:relative}.export-menu,.zoom-menu,.ctx-menu{background:var(--surface-2);border:1px solid var(--line-strong);border-radius:10px;padding:6px;box-shadow:0 16px 40px #0000008c}.export-menu{z-index:60;min-width:190px;position:absolute;top:calc(100% + 8px);right:0}.export-menu button{text-align:left;width:100%;color:var(--text-dim);border-radius:7px;align-items:center;gap:10px;padding:9px 12px;font-size:13.5px;transition:background .15s ease-out,color .15s ease-out;display:flex}.export-menu button:hover{background:var(--surface-3);color:var(--text)}.export-menu svg{color:var(--accent)}.export-menu-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);padding:6px 12px 4px;font-size:10px;font-weight:700}.export-sizes{gap:4px;padding:0 6px 8px;display:flex}.size-chip{color:var(--text-dim);border:1px solid var(--line-strong);background:var(--surface-2);border-radius:7px;flex:1;padding:6px 8px;font-size:12px;font-weight:600;transition:background .15s ease-out,color .15s ease-out}.size-chip:hover{color:var(--text);background:var(--surface-3)}.size-chip.active{color:var(--accent);background:var(--accent-dim);border-color:#ff1f3d73}.size-chip.locked{opacity:.55}.size-chip.locked:after{content:"🔒";margin-left:4px;font-size:10px}.save-dot{color:var(--text-faint);letter-spacing:.04em;text-align:right;opacity:.9;min-width:46px;font-size:11.5px}.editor-main{flex:1;min-height:0;display:flex}.rail{border-right:1px solid var(--line);background:var(--bg-soft);z-index:20;flex-direction:column;flex:none;align-items:center;gap:6px;width:64px;padding:14px 0;display:flex}.rail-btn{width:44px;height:44px;color:var(--text-dim);border-radius:10px;place-items:center;transition:background .15s ease-out,color .15s ease-out;display:grid;position:relative}.rail-btn:hover{background:var(--surface-3);color:var(--text)}.rail-btn.active{background:var(--accent-dim);color:var(--accent)}.rail-btn:after{content:attr(data-tip);background:var(--surface-3);border:1px solid var(--line-strong);white-space:nowrap;opacity:0;pointer-events:none;z-index:40;border-radius:7px;padding:5px 10px;font-size:12px;font-weight:600;transition:opacity .15s ease-out;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)}.rail-btn:hover:after{opacity:1;opacity:1}.rail hr{border:none;border-top:1px solid var(--line);width:32px;margin:6px 0}.workspace{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.canvas-area{background:radial-gradient(ellipse 70% 55% at 50% 40%, #101016, var(--bg) 75%);flex:1;min-height:0;padding:28px;display:flex;position:relative;overflow:auto}.stage-holder{background:#000;border-radius:6px;outline:1px solid #ffffff29;margin:auto;position:relative;box-shadow:0 0 0 1px #0006,0 24px 80px #0000008c}.stage-holder canvas{border-radius:6px;width:100%;height:100%;position:absolute;inset:0}#stageCanvas{position:relative!important}.statusbar{border-top:1px solid var(--line);height:40px;color:var(--text-faint);background:var(--bg-soft);flex:none;align-items:center;gap:16px;padding:0 14px 0 18px;font-size:12px;display:flex}.statusbar strong{color:var(--text-dim);font-weight:600}.hint{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.zoom-ctl{flex:none;align-items:center;gap:3px;display:flex;position:relative}.zoom-btn,.zoom-label{height:28px;color:var(--text-dim);border:1px solid #0000;border-radius:7px;place-items:center;transition:background .15s ease-out,color .15s ease-out;display:grid}.zoom-btn{width:28px}.zoom-label{font-variant-numeric:tabular-nums;min-width:64px;padding:0 10px;font-size:12px;font-weight:700}.zoom-btn:hover,.zoom-label:hover{background:var(--surface-3);color:var(--text)}.zoom-menu{z-index:80;min-width:160px;position:absolute;bottom:calc(100% + 10px);right:0}.zoom-menu button{text-align:left;width:100%;color:var(--text-dim);border-radius:7px;padding:8px 12px;font-size:13px;font-weight:600;transition:background .15s ease-out,color .15s ease-out;display:block}.zoom-menu button:hover{background:var(--surface-3);color:var(--text)}.zoom-menu button.on{background:var(--accent-dim);color:var(--accent)}.panel{border-left:1px solid var(--line);background:var(--bg-soft);overscroll-behavior:contain;z-index:20;flex:none;width:316px;overflow-y:auto}.panel-section{border-bottom:1px solid var(--line);padding:16px 18px 18px}.panel-title{letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);justify-content:space-between;align-items:center;margin-bottom:14px;font-size:11px;font-weight:700;display:flex}.panel-empty{text-align:center;color:var(--text-faint);padding:40px 24px;font-size:13.5px;line-height:1.7}.panel-empty svg{opacity:.5;margin:0 auto 14px}.ctrl-row{margin-bottom:12px}.ctrl-row:last-child{margin-bottom:0}.ctrl-label{color:var(--text-dim);justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:12px;font-weight:600;display:flex}.ctrl-label output{color:var(--text);font-variant-numeric:tabular-nums;background:var(--surface-3);border-radius:5px;padding:1px 7px;font-size:11.5px;font-weight:600}input[type=range]{appearance:none;background:linear-gradient(to right, var(--accent) var(--fill,50%), var(--surface-3) var(--fill,50%));border-radius:99px;outline:none;width:100%;height:4px}input[type=range]::-webkit-slider-thumb{appearance:none;cursor:grab;background:#fff;border:none;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 4px #00000080}input[type=range]::-moz-range-thumb{cursor:grab;background:#fff;border:none;border-radius:50%;width:10px;height:10px}input[type=color]{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-2);cursor:pointer;width:100%;height:34px;padding:3px}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:none;border-radius:5px}select,input[type=text],textarea,input[type=number]{background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--radius);outline:none;width:100%;padding:8px 10px;font-size:13.5px;transition:border-color .15s ease-out}select:focus,input:focus,textarea:focus{border-color:#ffffff47}textarea{resize:vertical;min-height:74px;line-height:1.45}.ctrl-grid-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.seg{background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--radius);gap:3px;padding:3px;display:flex}.seg button{color:var(--text-dim);border-radius:6px;flex:1;place-items:center;padding:6px 4px;font-size:12px;font-weight:600;transition:background .15s ease-out,color .15s ease-out;display:grid}.seg button:hover{color:var(--text);background:var(--surface-3)}.seg button.on{background:var(--surface-3);color:var(--text);box-shadow:inset 0 0 0 1px var(--line-strong)}.swatch-row{flex-wrap:wrap;gap:8px;margin-bottom:13px;display:flex}.swatch{border-radius:var(--radius);border:1px solid var(--line-strong);cursor:pointer;width:32px;height:32px;padding:0;transition:transform .15s ease-out,border-color .15s ease-out}.swatch:hover{border-color:#fff6;transform:scale(1.1)}.swatch.active{border-color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent)}.upload-zone{border:1.5px dashed var(--line-strong);text-align:center;color:var(--text-dim);cursor:pointer;border-radius:10px;padding:22px 14px;font-size:13px;transition:border-color .15s ease-out,background .15s ease-out,color .15s ease-out;display:block}.upload-zone:hover{background:var(--surface-2);color:var(--text);border-color:#ffffff59}.upload-zone svg{color:var(--accent);margin:0 auto 8px}.mini-actions{flex-wrap:wrap;gap:6px;display:flex}.mini-btn{border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text-dim);align-items:center;gap:6px;padding:7px 11px;font-size:12px;font-weight:600;transition:background .15s ease-out,color .15s ease-out,border-color .15s ease-out;display:inline-flex}.mini-btn:hover{color:var(--text);background:var(--surface-3)}.mini-btn.danger:hover{color:#ff6b81;background:var(--accent-dim);border-color:#ff1f3d80}.palette{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px;max-height:250px;padding-right:2px;display:grid;overflow-y:auto}.palette button{aspect-ratio:1;border-radius:var(--radius);border:1px solid #0000;place-items:center;font-size:23px;transition:background .15s ease-out,border-color .15s ease-out;display:grid}.palette button:hover{background:var(--surface-3);border-color:var(--line-strong)}.shape-palette button svg{color:var(--text-dim)}.shape-palette button:hover svg{color:var(--text)}.layer-item{border-radius:var(--radius);cursor:pointer;user-select:none;border:1px solid #0000;align-items:center;gap:9px;margin-bottom:5px;padding:8px 10px;transition:background .15s ease-out,border-color .15s ease-out;display:flex}.layer-item:hover{background:var(--surface-2)}.layer-item.selected{background:var(--surface-3);border-color:var(--line-strong)}.layer-item.selected .layer-icon{color:var(--accent)}.layer-icon{background:var(--surface-3);width:28px;height:28px;color:var(--text-dim);border-radius:7px;flex:none;place-items:center;display:grid}.layer-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12.5px;font-weight:600;overflow:hidden}.layer-rename{background:var(--surface-3);border:1px solid var(--accent);border-radius:6px;outline:none;flex:1;min-width:0;padding:3px 6px;font-size:12.5px;font-weight:600}.layer-item.selected .layer-name{color:var(--text)}.layer-item.hidden-layer .layer-name{opacity:.4}.icon-btn{width:25px;height:25px;color:var(--text-faint);border-radius:6px;flex:none;place-items:center;transition:background .15s ease-out,color .15s ease-out;display:grid}.icon-btn:hover{color:var(--text);background:#ffffff14}.icon-btn.on{color:var(--accent);background:var(--accent-dim)}.icon-btn.red-hover:hover{color:var(--accent)}.modal-overlay{z-index:200;backdrop-filter:blur(8px);background:#040406b8;place-items:center;padding:24px;animation:.15s ease-out fadeIn;display:grid;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}}.modal{background:var(--surface);border:1px solid var(--line-strong);border-radius:14px;width:min(860px,100%);max-height:86vh;padding:26px;animation:.16s ease-out popIn;overflow-y:auto;box-shadow:0 40px 120px #000000a6}.modal.modal-sm{width:min(420px,100%)}@keyframes popIn{0%{opacity:0;transform:scale(.97)translateY(8px)}}.modal-head{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-head h3{letter-spacing:-.01em;font-size:19px;font-weight:800}.tpl-modal-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;display:grid}.tpl-mini{border:1px solid var(--line);cursor:pointer;background:var(--bg-soft);border-radius:12px;width:100%;padding:0;transition:border-color .15s ease-out,transform .15s ease-out,box-shadow .15s ease-out;display:block;overflow:hidden}.tpl-mini:hover{border-color:var(--line-strong);transform:translateY(-2px);box-shadow:0 12px 32px #00000080}.tpl-mini .thumb{aspect-ratio:9/16}.tpl-mini .thumb canvas{width:100%;height:100%}.tpl-mini figcaption{text-align:left;justify-content:space-between;align-items:center;padding:10px 12px;font-size:12.5px;font-weight:700;display:flex}.tpl-mini figcaption span:last-child{color:var(--accent);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.toasts{z-index:300;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:52px;left:50%;transform:translate(-50%)}.toast{background:var(--surface-3);border:1px solid var(--line-strong);border-left:3px solid var(--accent);color:var(--text);border-radius:10px;padding:11px 18px;font-size:13px;font-weight:600;animation:.16s ease-out toastIn;box-shadow:0 16px 44px #0000008c}.toast.out{animation:.2s ease-out forwards toastOut}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}}@keyframes toastOut{to{opacity:0;transform:translateY(8px)}}@media (width<=900px){.panel{position:absolute;top:0;bottom:0;right:0;box-shadow:-20px 0 60px #0000008c}}@media (width<=820px),(pointer:coarse) and (width<=1024px){body.editor-body{height:100dvh}.topbar{gap:4px;height:48px;padding:0 10px}.topbar .logo{font-size:14px}.topbar .logo-mark{width:20px;height:20px}.topbar .save-dot{display:none}.tb-btn{width:38px;height:38px}.tb-sep{margin:0 4px}.btn-sm{padding:8px 12px;font-size:13px}.editor-main{flex-direction:column-reverse;position:relative}.rail{border-right:none;border-top:1px solid var(--line);scrollbar-width:none;flex-direction:row;order:3;justify-content:flex-start;gap:4px;width:100%;height:64px;padding:6px 10px;overflow-x:auto}.rail::-webkit-scrollbar{display:none}.rail-btn{border-radius:12px;flex:none;width:52px;height:52px}.rail hr{display:none}.rail-btn:after{top:auto;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.workspace{flex:1;order:2;min-height:0}.panel{border-left:none;border-top:1px solid var(--line-strong);z-index:90;backdrop-filter:blur(14px);background:#0d0d12f5;border-radius:18px 18px 0 0;width:100%;max-height:62dvh;transition:transform .28s cubic-bezier(.2,.9,.3,1);position:absolute;inset:auto 0 64px;transform:translateY(calc(100% + 64px));box-shadow:0 -18px 60px #0009}.panel.open{transform:translateY(0)}.panel:before{content:"";background:var(--line-strong);pointer-events:none;border-radius:99px;width:44px;height:4.5px;position:absolute;top:7px;left:50%;transform:translate(-50%)}.panel-tabbar{border-bottom:1px solid var(--line);background:0 0;padding-top:12px}.panel:after{content:"";cursor:pointer;z-index:20;width:120px;height:26px;position:absolute;top:0;left:50%;transform:translate(-50%)}.ruler-row,.ruler-v{display:none}.canvas-area{padding:12px}.statusbar{gap:8px;height:44px;padding:0 8px 0 10px}.statusbar .hint{display:none}.statusbar strong{font-size:11px}.sel-toolbar{z-index:130}.modal{border-radius:14px;max-height:92dvh}.layer-item{padding:12px}.icon-btn{width:34px;height:34px}.mini-btn{padding:10px 14px}.palette button{min-height:48px}.swatch{width:38px;height:38px}.zoom-btn,.zoom-label{width:36px;height:36px}.zoom-label{min-width:60px}}#overlayCanvas,#stageCanvas{touch-action:none}.canvas-area{touch-action:pan-x pan-y}.auth-heading{margin:2px 0 8px;font-size:15px;font-weight:800}.google-btn-wrap{justify-content:center;margin:6px 0 2px;display:flex}.auth-divider{color:var(--text-faint);align-items:center;gap:12px;margin:14px 0;font-size:12px;font-weight:600;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line-strong);flex:1;height:1px}.auth-email{gap:10px;display:grid}.auth-input{background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--radius);outline:none;width:100%;padding:11px 12px;font-size:14.5px;transition:border-color .15s ease-out}.auth-input:focus{border-color:#ffffff47}.auth-user{align-items:center;gap:14px;margin:4px 0 10px;display:flex}.auth-avatar{background:var(--accent-dim);width:46px;height:46px;color:var(--accent);object-fit:cover;border-radius:50%;place-items:center;font-size:19px;font-weight:800;display:grid}.auth-user-meta{gap:2px;min-width:0;display:grid}.auth-user-meta span{text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.pricing-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:6px;display:grid}@media (width<=600px){.pricing-grid{grid-template-columns:1fr}}.pricing-card{border:1px solid var(--line-strong);background:var(--surface-2);border-radius:14px;flex-direction:column;gap:8px;padding:22px 18px;display:flex}.pricing-card.featured{background:linear-gradient(180deg, #ff1f3d12, var(--surface-2));border-color:#ff1f3d80;position:relative;box-shadow:0 0 0 1px #ff1f3d26,0 18px 44px #00000059}.pricing-card.featured:before{content:"MOST POPULAR";background:var(--accent);color:#fff;letter-spacing:.1em;border-radius:99px;padding:3px 10px;font-size:9.5px;font-weight:800;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.pricing-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);font-size:12px;font-weight:800}.pricing-card.featured .pricing-label{color:var(--accent)}.pricing-price{justify-content:center;align-items:baseline;gap:6px;display:flex}.pricing-amount{letter-spacing:-.02em;font-size:34px;font-weight:900}.pricing-period{color:var(--text-faint);font-size:13px}.pricing-list{flex:1;gap:8px;margin:10px 0 14px;list-style:none;display:grid}.pricing-list li{color:var(--text-dim);gap:8px;font-size:13px;line-height:1.45;display:flex}.pricing-check{color:var(--accent);flex:none;font-weight:800}.mini-btn.active{color:var(--accent);background:var(--accent-dim);border-color:#ff1f3d73}.mini-btn.active:hover{color:var(--accent);background:#ff1f3d2e}.swatch-row.small .swatch{border-radius:7px;width:24px;height:24px}.swatch-row.recents{align-items:center;margin-bottom:8px}.recent-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);margin-right:6px;font-size:10px;font-weight:700}.swatch.wide{width:44px;height:26px}.chip-row{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.preset-chip{color:var(--text-dim);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:11.5px;font-weight:700;transition:background .15s ease-out,color .15s ease-out,border-color .15s ease-out;display:inline-flex}.preset-chip:hover{color:var(--text);background:var(--surface-3);border-color:#ffffff4d}.preset-chip .dot{border-radius:50%;width:12px;height:12px;display:inline-block}.slider-num{align-items:center;gap:8px;display:flex}.slider-num input[type=range]{flex:1;min-width:0}.slider-num input[type=number]{text-align:right;font-variant-numeric:tabular-nums;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:7px;flex:none;width:62px;padding:5px 6px;font-size:12px}.slider-num input[type=number]:focus{border-color:#ffffff47;outline:none}.field-grid{grid-template-columns:46px 1fr;align-items:stretch;gap:8px;display:grid}.field-grid input[type=color]{height:34px}.hex-in{letter-spacing:.04em;font-family:Cascadia Code,Consolas,monospace;font-size:12.5px}.align-grid{gap:6px;margin-bottom:12px;display:flex}.align-btn{border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface-2);height:32px;color:var(--text-dim);flex:1;place-items:center;transition:background .15s ease-out,color .15s ease-out;display:grid}.align-btn:hover{color:var(--text);background:var(--surface-3)}.drag-hud{z-index:400;background:var(--surface-3);border:1px solid var(--line-strong);color:#fff;pointer-events:none;font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:7px;padding:4px 10px;font-size:11.5px;font-weight:700;position:fixed;box-shadow:0 8px 24px #0000008c}.ctx-menu{z-index:350;min-width:200px;position:fixed}.ctx-menu button{text-align:left;width:100%;color:var(--text-dim);border-radius:7px;align-items:center;gap:10px;padding:9px 12px;font-size:13px;font-weight:600;transition:background .15s ease-out,color .15s ease-out;display:flex}.ctx-menu button:hover{background:var(--surface-3);color:var(--text)}.ctx-menu button.danger:hover{color:#ff6b81}.shortcuts{flex-direction:column;gap:22px;display:flex}.sc-group h4{letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-bottom:10px;font-size:11px;font-weight:700}.sc-row{color:var(--text-dim);border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;gap:18px;padding:6px 0;font-size:13.5px;display:flex}.sc-row:last-child{border-bottom:none}.sc-keys{flex:none;align-items:center;gap:4px;font-size:12px;display:inline-flex}.kbd{background:var(--surface-3);border:1px solid var(--line-strong);color:var(--text);border-bottom-width:2.5px;border-radius:6px;padding:2px 8px;font-family:Cascadia Code,Consolas,monospace;font-size:11px;display:inline-block}.ruler-row{flex:none;height:20px;display:flex}.ruler-corner{background:var(--bg-soft);border-bottom:1px solid var(--line);border-right:1px solid var(--line);flex:none;width:20px}.ruler-h{cursor:row-resize;flex:1;min-width:0;height:20px;display:block}.ruler-v{cursor:col-resize;flex:none;width:20px;height:100%;display:block}.canvas-body{flex:1;min-height:0;display:flex}.workspace.rulers-off .ruler-row,.workspace.rulers-off .ruler-v{display:none}.layer-item.dragging{opacity:.35}.layer-item.drop-above{box-shadow:inset 0 2px 0 var(--red)}.layer-item.drop-below{box-shadow:inset 0 -2px 0 var(--red)}.panel-hint{color:var(--text-faint);margin-bottom:10px;font-size:11.5px;line-height:1.5}.style-chip{padding-right:24px;position:relative}.style-chip .style-x{opacity:0;color:var(--text-faint);transition:opacity .15s;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.style-chip:hover .style-x{opacity:1;color:#ff6b81}.sel-toolbar{z-index:120;background:var(--surface-3);border:1px solid var(--line-strong);border-radius:10px;gap:2px;padding:3px;display:flex;position:fixed;transform:translate(-50%,-100%);box-shadow:0 12px 34px #0000008c}.st-btn{width:28px;height:28px;color:var(--text-dim);border-radius:7px;place-items:center;transition:background .15s ease-out,color .15s ease-out;display:grid}.st-btn:hover{color:var(--text);background:#ffffff17}.st-btn.active{color:var(--accent);background:var(--accent-dim)}.st-btn.danger:hover{color:#ff6b81}.crop-overlay{z-index:500;background:#050508f7;flex-direction:column;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.crop-stage{flex:1;min-height:0;position:relative}.crop-canvas{touch-action:none;width:100%;height:100%;position:absolute;inset:0}.crop-bar{border-top:1px solid var(--line-strong);background:var(--bg-soft);flex-wrap:wrap;flex:none;align-items:center;gap:14px;padding:14px 20px;display:flex}.crop-hint{color:var(--text-faint);white-space:nowrap;font-size:12px}.crop-bar .chip-row{margin:0}.coach-overlay{z-index:600;pointer-events:none;background:#0404068c;position:fixed;inset:0}.coach-spot{box-shadow:0 0 0 4px var(--accent), 0 0 0 4000px #0404068c;pointer-events:none;border-radius:14px;transition:all .25s ease-out;position:fixed}.coach-card{z-index:610;pointer-events:auto;background:var(--surface);border:1px solid var(--line-strong);border-radius:14px;padding:20px;animation:.18s ease-out popIn;position:fixed;box-shadow:0 24px 60px #0009}.coach-card h3{letter-spacing:-.01em;font-size:17px;font-weight:800}.coach-dots{gap:5px;margin-right:auto;display:inline-flex}.coach-dot{background:var(--surface-3);border-radius:50%;width:7px;height:7px;transition:background .15s ease-out}.coach-dot.on{background:var(--accent)}.oncanvas-text{z-index:450;caret-color:var(--accent);white-space:pre-wrap;word-break:break-word;min-width:80px;text-shadow:none;cursor:text;background:0 0;border:1.5px dashed #ff1f3dd9;border-radius:6px;outline:none;margin:0;padding:10px 12px;transition:border-color .15s ease-out;position:fixed;box-shadow:0 0 0 3px #ff1f3d14}.oncanvas-text:focus{border-color:var(--accent);background:#08080b59}.oncanvas-text:empty:before{content:"Type…";opacity:.4}.drop-hint{z-index:590;pointer-events:none;border:3px dashed var(--accent);color:var(--accent);letter-spacing:.02em;background:#ff1f3d0f;border-radius:18px;place-items:center;margin:90px 24px 70px 90px;font-size:22px;font-weight:800;display:grid;position:fixed;inset:0}.panel-tabbar{border-bottom:1px solid var(--line);background:var(--bg-soft);z-index:5;flex:none;display:flex;position:sticky;top:0}.panel-tab-btn{letter-spacing:.04em;color:var(--text-faint);border-bottom:2px solid #0000;flex:1;padding:11px 8px;font-size:12.5px;font-weight:700;transition:color .15s ease-out,border-color .15s ease-out}.panel-tab-btn:hover{color:var(--text-dim)}.panel-tab-btn.on{color:var(--accent);border-bottom-color:var(--accent)}.quickadd-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.quickadd-tile{border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text-dim);border-radius:10px;flex-direction:column;align-items:center;gap:8px;padding:16px 6px 12px;font-size:12px;font-weight:600;transition:background .15s ease-out,color .15s ease-out,border-color .15s ease-out;display:flex}.quickadd-tile:hover{background:var(--surface-3);color:var(--text);border-color:#ffffff4d}.quickadd-tile svg{opacity:.9}.palette-search{margin-bottom:12px}
