.page-module__4kkNlW__main{width:100vw;height:100dvh;position:relative;overflow:hidden}.page-module__4kkNlW__canvas{z-index:0;position:absolute;inset:0 0 0 340px}.page-module__4kkNlW__panel{z-index:10;background:var(--panel-bg);-webkit-backdrop-filter:blur(20px);border-right:1px solid var(--panel-border);width:340px;box-shadow:6px 0 24px var(--shadow);flex-direction:column;gap:14px;padding:20px 16px;transition:background-color .3s,border-color .3s;display:flex;position:absolute;top:0;bottom:0;left:0;overflow-y:auto}.page-module__4kkNlW__panelHeader{align-items:center;gap:10px;display:flex}.page-module__4kkNlW__backBtn{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;transition:all .15s;display:inline-flex}.page-module__4kkNlW__backBtn:hover{background:var(--surface-2);border-color:var(--accent-light)}.page-module__4kkNlW__panelTitle{background:linear-gradient(135deg, var(--accent), var(--accent-dark));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Outfit,sans-serif;font-size:16px;font-weight:700}.page-module__4kkNlW__section{flex-direction:column;flex-shrink:0;gap:8px;display:flex}.page-module__4kkNlW__sectionLabel{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);font-size:11px;font-weight:600}.page-module__4kkNlW__modeSwitcher{background:var(--surface);border-radius:8px;gap:4px;padding:3px;display:flex}.page-module__4kkNlW__modeBtn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:6px;flex:1;padding:6px 0;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s}.page-module__4kkNlW__modeBtn:hover{background:var(--surface-2)}.page-module__4kkNlW__hintText{color:var(--text-secondary);text-align:center;margin:0;font-size:10px}.page-module__4kkNlW__optionsRow{flex-wrap:wrap;gap:12px;display:flex}.page-module__4kkNlW__checkRow{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;font-size:12px;display:flex}.page-module__4kkNlW__checkRow input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer}.page-module__4kkNlW__modeBtnActive{color:#fff;box-shadow:0 2px 8px var(--accent-glow);background:var(--accent)!important}.page-module__4kkNlW__shapesGrid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.page-module__4kkNlW__shapeBtn{border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;border:2px solid #0000;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;transition:all .15s;display:flex}.page-module__4kkNlW__shapeBtn:hover{background:var(--surface-2);border-color:var(--accent-light)}.page-module__4kkNlW__shapeBtnActive{border-color:var(--accent);background:#ede9fe}.page-module__4kkNlW__shapeEmoji{font-size:20px;line-height:1}.page-module__4kkNlW__shapeName{color:var(--text-secondary);font-size:9px;font-weight:500}.page-module__4kkNlW__dimRow{align-items:center;gap:6px;display:flex}.page-module__4kkNlW__dimField{flex-direction:column;flex:1;gap:2px;display:flex}.page-module__4kkNlW__dimLabel{color:var(--text-secondary);text-transform:uppercase;font-size:10px;font-weight:600}.page-module__4kkNlW__dimInput{border:1px solid var(--border);text-align:center;background:var(--surface);width:100%;color:var(--text-primary);border-radius:6px;outline:none;padding:5px 8px;font-size:13px;font-weight:600;transition:border-color .15s}.page-module__4kkNlW__dimInput:focus{border-color:var(--accent)}.page-module__4kkNlW__colorRow{align-items:center;gap:10px;display:flex}.page-module__4kkNlW__colorSwatch{border:2px solid var(--border);cursor:pointer;border-radius:8px;flex-shrink:0;width:32px;height:32px}.page-module__4kkNlW__colorInput{border:1px solid var(--border);background:var(--surface);color:var(--text-primary);border-radius:6px;outline:none;flex:1;padding:5px 8px;font-family:monospace;font-size:13px}.page-module__4kkNlW__colorPresets{flex-wrap:wrap;gap:4px;display:flex}.page-module__4kkNlW__colorPreset{cursor:pointer;border:2px solid #0000;border-radius:6px;width:24px;height:24px;transition:all .15s}.page-module__4kkNlW__colorPreset:hover{transform:scale(1.15)}.page-module__4kkNlW__colorPresetActive{border-color:var(--text-primary)}.page-module__4kkNlW__objectList{flex-direction:column;gap:4px;display:flex}.page-module__4kkNlW__objectItem{background:var(--surface);cursor:pointer;border:2px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:12px;transition:all .15s;display:flex}.page-module__4kkNlW__objectItem:hover{background:var(--surface-2)}.page-module__4kkNlW__objectItemActive{border-color:var(--accent);background:#ede9fe}.page-module__4kkNlW__objectDot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.page-module__4kkNlW__objectName{color:var(--text-primary);flex:1;font-weight:500}.page-module__4kkNlW__objectCount{color:var(--text-secondary);font-size:10px}.page-module__4kkNlW__objectActions{gap:2px;display:flex}.page-module__4kkNlW__objActBtn{cursor:pointer;width:28px;height:28px;color:var(--text-secondary);background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;transition:all .15s;display:flex}.page-module__4kkNlW__objActBtn:hover{color:var(--text-primary);background:#0000000f}.page-module__4kkNlW__objActBtnDanger:hover{color:#dc2626;background:#fecaca}.page-module__4kkNlW__eyeBtn{border:1.5px solid var(--border);background:var(--surface);cursor:pointer;width:32px;height:32px;color:var(--text-secondary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;transition:all .15s;display:flex}.page-module__4kkNlW__eyeBtn:hover{background:var(--surface-2);border-color:var(--accent-light)}.page-module__4kkNlW__eyeBtnHidden{color:#9ca3af;background:#f3f4f6;border-color:#e5e7eb}.page-module__4kkNlW__eyeBtnSolo{background:var(--accent);color:#fff;border-color:var(--accent)}.page-module__4kkNlW__eyedropperCursor,.page-module__4kkNlW__eyedropperCursor *{cursor:crosshair!important}.page-module__4kkNlW__actions{flex-direction:column;flex-shrink:0;gap:6px;margin-top:auto;display:flex}.page-module__4kkNlW__btnPrimary{border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--accent), var(--accent-dark));color:#fff;cursor:pointer;width:100%;transition:all var(--transition);box-shadow:0 4px 14px var(--accent-glow);border:none;padding:10px;font-family:Outfit,sans-serif;font-size:13px;font-weight:600}.page-module__4kkNlW__btnPrimary:hover{filter:brightness(1.08);transform:translateY(-1px)}.page-module__4kkNlW__btnPrimary:disabled{opacity:.4;cursor:not-allowed}.page-module__4kkNlW__btnSecondary{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text-primary);cursor:pointer;padding:8px;font-family:Outfit,sans-serif;font-size:12px;font-weight:600;transition:all .15s}.page-module__4kkNlW__btnSecondary:hover{background:var(--surface-2);border-color:var(--accent)}.page-module__4kkNlW__undoBar{gap:4px;display:flex}.page-module__4kkNlW__undoBtn{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;flex:1;padding:6px;font-size:14px;transition:all .15s}.page-module__4kkNlW__undoBtn:hover{background:var(--surface-2)}.page-module__4kkNlW__undoBtn:disabled{opacity:.3;cursor:not-allowed}.page-module__4kkNlW__setupGrid{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:480px){.page-module__4kkNlW__setupGrid{grid-template-columns:1fr;gap:12px}}@media (max-width:820px){.page-module__4kkNlW__canvas{inset:0}.page-module__4kkNlW__fabSettings{display:flex}.page-module__4kkNlW__shapesGrid{grid-template-columns:repeat(4,1fr)}.page-module__4kkNlW__panel{width:100vw;height:calc(55dvh + env(safe-area-inset-bottom));max-height:calc(55dvh + env(safe-area-inset-bottom));z-index:100;opacity:0;pointer-events:none;border-right:none;border-radius:20px 20px 0 0;padding:30px 16px 0;transition:transform .4s cubic-bezier(.32,.72,0,1),opacity .3s;position:fixed;inset:auto 0 0;overflow-y:auto;transform:translateY(100%);box-shadow:0 -4px 20px #00000014}.page-module__4kkNlW__panelOpen{opacity:1!important;pointer-events:auto!important;transform:translateY(0)!important}.page-module__4kkNlW__sheetOverlay{z-index:95;opacity:0;pointer-events:none;background:#0006;transition:opacity .3s;display:block;position:fixed;inset:0}.page-module__4kkNlW__sheetOverlayOpen{opacity:1;pointer-events:auto}.page-module__4kkNlW__sheetHandle{background:var(--border);opacity:.5;border-radius:2px;width:40px;height:4px;display:block;position:absolute;top:10px;left:50%;transform:translate(-50%)}.page-module__4kkNlW__hideForMobileModal{opacity:0!important;pointer-events:none!important;transition:all .3s!important;transform:scale(.9)translateY(20px)!important}}.page-module__4kkNlW__fabContainer{z-index:101;pointer-events:none;flex-direction:column;gap:12px;display:flex;position:fixed;bottom:28px;right:28px}.page-module__4kkNlW__fabContainer>*{pointer-events:auto}.page-module__4kkNlW__fab{background:linear-gradient(135deg, var(--accent), var(--accent-dark));color:#fff;width:56px;height:56px;box-shadow:0 4px 16px var(--accent-glow);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.page-module__4kkNlW__fabSettings{display:none}.page-module__4kkNlW__fab:hover{filter:brightness(1.1);box-shadow:0 6px 20px var(--accent-glow);transform:translateY(-2px)}.page-module__4kkNlW__fab:active{transform:scale(.92)}.page-module__4kkNlW__hiddenFab{opacity:0;pointer-events:none;transform:scale(.8)}.page-module__4kkNlW__fabPrimary{background:linear-gradient(135deg, var(--accent), var(--accent-dark));color:#fff;border:none}.page-module__4kkNlW__fabPrimaryActive{background:#e63946;transform:rotate(90deg)}.page-module__4kkNlW__fabMenu{opacity:0;pointer-events:none;flex-direction:column;align-items:center;gap:10px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;bottom:68px;right:0;transform:translateY(15px)}.page-module__4kkNlW__fabMenuOpen{opacity:1;pointer-events:auto;transform:translateY(0)}.page-module__4kkNlW__fabViewWrap{justify-content:center;align-items:center;display:flex;position:relative}.page-module__4kkNlW__fabViewMenu{opacity:0;pointer-events:none;flex-direction:row;align-items:center;gap:10px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:50%;right:68px;transform:translateY(-50%)translate(15px)}.page-module__4kkNlW__fabViewMenuOpen{opacity:1;pointer-events:auto;transform:translateY(-50%)translate(0)}.page-module__4kkNlW__miniFab{background:linear-gradient(135deg, var(--accent), var(--accent-dark));color:#fff;width:52px;height:52px;box-shadow:0 4px 12px var(--accent-glow);cursor:pointer;border:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;font-family:Outfit,sans-serif;transition:all .2s;display:flex}.page-module__4kkNlW__miniFab:hover{filter:brightness(1.15);transform:scale(1.05)}.page-module__4kkNlW__mnText{letter-spacing:.05em;font-size:11px;font-weight:800}@media (max-width:768px){.page-module__4kkNlW__fabContainer{right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}.page-module__4kkNlW__fab{width:60px;height:60px}.page-module__4kkNlW__fabMenu{bottom:72px}.page-module__4kkNlW__miniFab{width:60px;height:60px}}:root.dark-theme .page-module__4kkNlW__objActBtn{color:#ffffffb3}:root.dark-theme .page-module__4kkNlW__objActBtn:hover{color:#fff;background:#ffffff1a}:root.dark-theme .page-module__4kkNlW__objActBtnDanger:hover{color:#fca5a5;background:#dc262640}:root.dark-theme .page-module__4kkNlW__objectItemActive{border-color:var(--accent-light);background:#7c3aed38}:root.dark-theme .page-module__4kkNlW__shapeBtnActive{border-color:var(--accent-light);background:#7c3aed38}:root.dark-theme .page-module__4kkNlW__eyeBtnHidden{color:#ffffff59;background:#ffffff0a;border-color:#ffffff1a}:is(:root.dark-theme .page-module__4kkNlW__undoBtn,:root.dark-theme .page-module__4kkNlW__modeBtn,:root.dark-theme .page-module__4kkNlW__btnSecondary){color:var(--text-primary)}:root.dark-theme .page-module__4kkNlW__undoBtn:disabled{color:#ffffff59}
