*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#1e293b;overscroll-behavior:none;background-color:#f1f5f9;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow:hidden}button{cursor:pointer;font-family:inherit}input,button{-webkit-tap-highlight-color:transparent}.app-container{-webkit-user-select:none;user-select:none;background-color:#f1f5f9;flex-direction:column;width:100vw;height:100dvh;display:flex;overflow:hidden}.top-toolbar{box-sizing:border-box;z-index:10;background-color:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:8px;height:54px;min-height:54px;padding:0 16px;display:flex;box-shadow:0 1px 2px #00000008}.toolbar-brand{flex-shrink:0;align-items:center;gap:10px;display:flex}.brand-icon{color:#fff;letter-spacing:-.5px;background:linear-gradient(135deg,#2563eb,#3b82f6);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:flex;box-shadow:0 2px 4px #2563eb33}.app-title{color:#0f172a;letter-spacing:-.3px;white-space:nowrap;margin:0;font-size:17px;font-weight:700}.app-version{color:#64748b;white-space:nowrap;font-size:11px;font-weight:600}.toolbar-actions{align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.toolbar-divider{background-color:#e2e8f0;flex-shrink:0;width:1px;height:22px;margin:0 2px}.page-size-controls{flex-shrink:0;gap:4px;display:inline-flex}.page-size-controls select{color:#334155;max-width:92px;min-height:34px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:3px 5px;font-size:12px}.btn{cursor:pointer;touch-action:manipulation;box-sizing:border-box;white-space:nowrap;border-radius:6px;align-items:center;gap:5px;min-height:34px;padding:6px 12px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.btn-secondary{color:#475569;background-color:#fff;border:1px solid #cbd5e1}.btn-secondary:hover:not(:disabled){color:#1e293b;background-color:#f8fafc;border-color:#94a3b8}.btn-secondary:active:not(:disabled){background-color:#f1f5f9}.btn-secondary:disabled{color:#94a3b8;cursor:not-allowed;opacity:.55;background-color:#f8fafc;border-color:#e2e8f0}.btn-primary{color:#fff;background-color:#2563eb;border:1px solid #2563eb;box-shadow:0 1px 2px #2563eb33}.btn-primary:hover{background-color:#1d4ed8;border-color:#1d4ed8}.btn-primary:active{background-color:#1e40af;transform:translateY(1px)}.btn-print{color:#166534;background-color:#f0fdf4;border:1px solid #bbf7d0}.btn-print:hover:not(:disabled){color:#14532d;background-color:#dcfce7;border-color:#86efac}.btn-print:active:not(:disabled){background-color:#bbf7d0;transform:translateY(1px)}.btn-print:disabled{opacity:.6;cursor:not-allowed;color:#94a3b8;background-color:#f8fafc;border-color:#e2e8f0}.btn-danger{color:#dc2626;background-color:#fff;border:1px solid #fca5a5}.btn-danger:hover:not(:disabled){background-color:#fef2f2;border-color:#f87171}.btn-danger:active:not(:disabled){background-color:#fee2e2;transform:translateY(1px)}.btn-danger:disabled{color:#94a3b8;cursor:not-allowed;opacity:.55;background-color:#f8fafc;border-color:#e2e8f0}.properties-bar{box-sizing:border-box;z-index:9;background-color:#fff;border-bottom:1px solid #e2e8f0;justify-content:center;align-items:center;height:42px;min-height:42px;padding:0 16px;display:flex}.properties-content{color:#334155;align-items:center;gap:12px;font-size:13px;display:flex}.properties-label{color:#475569;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.input-group{background-color:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;transition:all .15s;display:inline-flex}.input-group:focus-within{background-color:#fff;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.input-prefix{color:#64748b;font-size:12px;font-weight:700}.size-input{color:#0f172a;text-align:right;background:0 0;border:none;outline:none;width:54px;padding:0;font-family:inherit;font-size:13px;font-weight:600}.size-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.size-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.size-input[type=number]{-moz-appearance:textfield}.input-suffix{color:#64748b;font-size:12px;font-weight:500}.btn-aspect-lock{cursor:pointer;touch-action:manipulation;border-radius:6px;align-items:center;gap:5px;min-height:28px;padding:4px 8px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.btn-aspect-lock.locked{color:#2563eb;background-color:#eff6ff;border:1px solid #bfdbfe}.btn-aspect-lock.locked:hover{background-color:#dbeafe}.btn-aspect-lock.unlocked{color:#64748b;background-color:#f8fafc;border:1px solid #cbd5e1}.btn-aspect-lock.unlocked:hover{color:#334155;background-color:#f1f5f9}.properties-hint{color:#64748b;align-items:center;gap:8px;font-size:12px;display:flex}.text-properties{flex-wrap:wrap}.text-properties label{color:#475569;font-size:12px;font-weight:600}.text-property-input,.text-properties select,.text-size-input{color:#0f172a;min-height:34px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:5px 8px}.text-property-input{width:min(260px,35vw)}.text-size-input{width:64px}.hint-badge{color:#2563eb;background-color:#eff6ff;border-radius:4px;padding:2px 7px;font-size:11px;font-weight:700}.hint-divider{color:#cbd5e1}.hint-sub{color:#94a3b8}.workspace{box-sizing:border-box;background-color:#f1f5f9;flex:1;justify-content:center;align-items:center;padding:20px;display:flex;position:relative;overflow:auto}.page-container{touch-action:none;background-color:#fff;border:1px solid #e2e8f0;border-radius:2px;justify-content:center;align-items:center;transition:width 50ms linear,height 50ms linear;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.page-navigation-bar{box-sizing:border-box;z-index:10;background-color:#fff;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;height:48px;min-height:48px;padding:0 16px;display:flex;box-shadow:0 -1px 2px #00000008}.page-nav-group{align-items:center;gap:8px;display:flex}.page-indicator{color:#1e293b;text-align:center;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;min-width:82px;padding:5px 10px;font-size:13px;font-weight:600}.btn-nav{color:#334155;background-color:#fff;border:1px solid #cbd5e1;min-height:32px;padding:6px 12px;font-size:13px;font-weight:600}.btn-nav:hover:not(:disabled){color:#0f172a;background-color:#f1f5f9;border-color:#94a3b8}.btn-nav:disabled{opacity:.5;cursor:not-allowed;color:#94a3b8;background-color:#f8fafc;border-color:#e2e8f0}.page-actions-group{align-items:center;gap:8px;display:flex}.btn-page-action{color:#334155;background-color:#fff;border:1px solid #cbd5e1;min-height:32px;padding:6px 12px;font-size:13px;font-weight:600}.btn-page-action:hover:not(:disabled){color:#0f172a;background-color:#f1f5f9;border-color:#94a3b8}.btn-page-action.add-page{color:#166534;background-color:#f0fdf4;border-color:#bbf7d0}.btn-page-action.add-page:hover{background-color:#dcfce7;border-color:#86efac}.btn-page-danger{color:#dc2626;background-color:#fff;border:1px solid #fca5a5;min-height:32px;padding:6px 12px;font-size:13px;font-weight:600}.btn-page-danger:hover:not(:disabled){background-color:#fef2f2;border-color:#f87171}.btn-page-danger:disabled{opacity:.5;cursor:not-allowed;color:#94a3b8;background-color:#f8fafc;border-color:#e2e8f0}.print-loading-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background-color:#0f172a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.print-loading-card{color:#1e293b;background:#fff;border-radius:8px;align-items:center;gap:12px;padding:16px 24px;font-size:14px;font-weight:600;display:flex;box-shadow:0 10px 25px -5px #0003}.print-spinner{border:2.5px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite print-spin}@keyframes print-spin{to{transform:rotate(360deg)}}.print-document{display:none}@media print{.top-toolbar,.properties-bar,.mobile-edit-controls,.workspace,.page-navigation-bar,.mobile-contextual-toolbar,.print-loading-overlay{display:none!important}html,body,#root,.app-container{background:#fff!important;height:auto!important;min-height:auto!important;margin:0!important;padding:0!important;overflow:visible!important}.print-document{margin:0!important;padding:0!important;display:block!important;overflow:hidden!important}.print-sheet{page-break-after:auto!important;break-after:auto!important;page-break-inside:avoid!important;break-inside:avoid!important;box-sizing:border-box!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background-color:#fff!important;margin:0!important;padding:0!important;display:block!important;position:relative!important;overflow:hidden!important}.print-sheet:not(:last-child){page-break-after:always!important;break-after:page!important}.print-sheet-img{object-fit:fill!important;width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;margin:0!important;padding:0!important;display:block!important}}@media (width<=680px){.top-toolbar{gap:4px;height:48px;min-height:48px;padding:0 8px}.brand-icon{display:none}.app-title{font-size:14px}.toolbar-actions{gap:4px}.btn{gap:4px;min-height:30px;padding:5px 8px;font-size:12px}.btn span.btn-text{display:none}.btn-primary span.btn-text,.btn-print span.btn-text{display:inline}.properties-bar{height:38px;min-height:38px;padding:0 8px}.properties-content{gap:6px}.text-property-input{width:min(170px,45vw)}.text-properties{justify-content:flex-start;gap:4px}.text-properties label,.properties-label{display:none}.size-input{width:44px;font-size:12px}.aspect-lock-text,.hint-sub{display:none}.workspace{padding:8px}.page-navigation-bar{height:44px;min-height:44px;padding:0 8px}.page-nav-group,.page-actions-group{gap:4px}.btn-nav,.btn-page-action,.btn-page-danger{min-height:30px;padding:5px 8px;font-size:12px}.page-indicator{min-width:64px;padding:4px 6px;font-size:12px}}@media (width<=520px){.btn-page-action.duplicate-page span.text-label,.btn-page-danger span.text-label,.btn-nav span.text-label{display:none}}@media (width<=440px){.app-title{display:none}.brand-icon{display:flex}.btn-print span.btn-text{display:none}.app-version{font-size:10px}}.top-toolbar,.properties-bar{padding-left:max(8px, env(safe-area-inset-left));padding-right:max(8px, env(safe-area-inset-right))}.page-navigation-bar{padding-left:max(8px, env(safe-area-inset-left));padding-right:max(8px, env(safe-area-inset-right));padding-bottom:env(safe-area-inset-bottom)}.zoom-controls{top:12px;right:max(12px, env(safe-area-inset-right));z-index:2;background:#fffffff0;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:4px;padding:4px;display:flex;position:absolute;box-shadow:0 2px 8px #0f172a1f}.zoom-button,.zoom-value,.zoom-fit,.btn-compact-action{color:#334155;min-width:40px;min-height:40px;font:inherit;touch-action:manipulation;background:#fff;border:1px solid #cbd5e1;border-radius:6px;font-weight:600}.zoom-button{font-size:22px;line-height:1}.zoom-value,.zoom-fit{min-width:48px;font-size:12px}.selection-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.mobile-contextual-toolbar,.mobile-edit-controls{display:none}.btn-compact-action{min-width:auto;min-height:32px;padding:4px 8px;font-size:12px}@media (width<=680px){.top-toolbar{flex:0 0 52px;height:52px;min-height:52px}.toolbar-actions{-webkit-overflow-scrolling:touch;touch-action:pan-x;scrollbar-width:none;flex-wrap:nowrap;flex:auto;justify-content:flex-start;min-width:0;overflow:auto hidden}.toolbar-actions::-webkit-scrollbar{display:none}.toolbar-actions>button{flex-shrink:0;justify-content:center;min-width:40px;min-height:44px;padding:5px}.toolbar-actions>.btn-add-image{order:1}.toolbar-actions>.btn-add-text{order:2}.toolbar-actions>.btn-print{order:3}.toolbar-actions>.history-undo{order:4}.toolbar-actions>.history-redo{order:5}.toolbar-actions>.btn-secondary:not(.history-button),.toolbar-actions>.btn-danger,.toolbar-actions>.toolbar-divider,.toolbar-actions>input{order:6}.toolbar-actions>.page-size-controls{display:none}.page-size-controls select{max-width:68px;min-height:40px;padding:3px;font-size:11px}.properties-bar{height:auto;min-height:52px;padding-top:4px;padding-bottom:4px}.mobile-edit-controls{padding:6px max(8px, env(safe-area-inset-left));background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;align-items:stretch;gap:6px;display:flex}.mobile-edit-controls label{color:#475569;flex-direction:column;flex:50%;justify-content:center;gap:2px;min-width:0;font-size:10px;font-weight:700;display:flex}.mobile-edit-controls select{color:#0f172a;width:100%;min-width:0;min-height:36px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:4px 6px;font-size:12px}.properties-content{flex-wrap:wrap;justify-content:center;width:100%}.input-group,.btn-aspect-lock{min-height:40px}.workspace{min-height:0;padding:8px;padding-bottom:max(8px, env(safe-area-inset-bottom))}.zoom-controls{top:8px;right:8px}.page-navigation-bar{flex-wrap:wrap;justify-content:center;gap:4px;height:auto;min-height:60px;padding-top:4px}.page-nav-group,.page-actions-group{gap:4px}.mobile-contextual-toolbar{min-height:60px;padding:8px max(8px, env(safe-area-inset-left)) max(8px, env(safe-area-inset-right));background-color:#fff;border-top:1px solid #e2e8f0;flex-shrink:0;justify-content:center;align-items:center;gap:8px;display:flex;box-shadow:0 -1px 2px #00000008}.btn-mobile-action{color:#1e40af;background-color:#eff6ff;border:1px solid #93c5fd;flex:1 1 0;justify-content:center;min-width:0;max-width:180px;min-height:44px;padding:8px 16px;font-size:14px}.btn-mobile-action:hover:not(:disabled){color:#1e3a8a;background-color:#dbeafe;border-color:#60a5fa}.btn-mobile-paste{color:#166534;background-color:#f0fdf4;border-color:#86efac}.btn-mobile-paste:hover:not(:disabled){color:#14532d;background-color:#dcfce7;border-color:#4ade80}.btn-nav,.btn-page-action,.btn-page-danger{min-height:44px;padding:6px 9px}}
