@import "https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700;800&display=swap";:root{--bg:#000;--accent:#ff004f;--muted:#ababab;--card-bg:#252323;--thumb-border-active:2.5px solid #ff004f}html{scrollbar-color:#ababab #101010;scrollbar-width:thin}.app-root{background:var(--bg);color:#fff;min-height:100vh;font-family:Poppins,sans-serif}.app-header{background:var(--card-bg);color:#fff;justify-content:space-between;align-items:center;height:60px;padding:0 32px;display:flex}.app-header a{text-decoration:none}.app-main{max-width:1200px;margin:0 auto;padding:32px 24px}.drop-zone{text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:2px dashed #444;border-radius:16px;width:100%;max-width:100%;min-height:170px;padding:42px 28px;transition:all .2s;display:block}.drop-zone.dragging{border-color:var(--accent);background:#ff004f0f}.thumbs-aside{background:var(--card-bg);border-radius:14px;flex-shrink:0;width:180px;max-height:calc(100vh - 120px);padding:12px;overflow-y:auto}.thumbs-aside .title{color:#fff;letter-spacing:1px;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:700}.brand{font-size:30px;font-weight:600}.thumbnail{cursor:pointer;background:#fff;border:2px solid #0000;border-radius:8px;margin-bottom:10px;transition:border-color .15s,box-shadow .15s,transform .12s;overflow:hidden;box-shadow:0 1px 4px #0000001a}.thumbnail:hover{transform:scale(1.03);box-shadow:0 0 0 2px #ff004f2e}.thumbnail.active{border:var(--thumb-border-active);box-shadow:0 0 0 3px #ff004f0f}.thumbnail canvas{max-width:100%;display:block}.main-viewer{background:#111;border:.5px solid #ffffff0a;border-radius:12px;justify-content:center;padding:24px;display:flex;overflow-x:auto}.action-sidebar{background:var(--card-bg);border:1px solid #ffffff08;border-radius:16px;flex-shrink:0;width:240px;padding:20px;box-shadow:0 12px 36px #0009}.action-sidebar .active-meta{margin-bottom:24px}.action-sidebar .actions{gap:12px;display:grid}.btn{cursor:pointer;color:#fff;background:0 0;border:1px solid #ff004f;border-radius:14px;padding:14px 16px;font-weight:700;transition:all .5s}.btn:hover{background:#ff004f}.btn:disabled{opacity:.6;cursor:not-allowed}.download-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;padding:12px 16px;font-weight:700}.operation-modal-overlay{z-index:2000;background:#1e1e1e73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.operation-modal{background:#252323;border-radius:16px;width:100%;max-width:600px;overflow:hidden;box-shadow:0 24px 64px #00000038}.operation-modal .header{justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.module-wrapper{text-align:center;background-color:#111;flex-direction:column;align-items:center;gap:14px;padding:28px 28px 24px;display:flex}.module-icon-wrap{background:#faece7;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;display:flex}.module-title{color:#fff;margin:0;font-size:20px;font-weight:700}.module-description{color:#fff;max-width:340px;margin:0;font-size:14px;line-height:1.6}.module-actions{justify-content:flex-end;gap:10px;width:100%;margin-top:4px;display:flex}.btn-cancel{cursor:pointer;cursor:pointer;border-radius:8px;padding:8px 20px;font-family:inherit;font-size:14px}.btn-delete{color:#fff;cursor:pointer;background:#ff004f;border:none;border-radius:8px;padding:8px 20px;font-family:inherit;font-size:14px}.btn-confirm{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 20px;font-family:inherit;font-size:14px}.module-warning{text-align:left;background:#fff8f0;border:1px solid #fac775;border-radius:8px;align-items:flex-start;gap:10px;width:100%;padding:12px 16px;display:flex}.module-warning-icon{color:#ba7517;flex-shrink:0;font-size:16px}.module-warning-text{color:#854f0b;margin:0;font-size:13px;line-height:1.5}.module-preview{text-align:left;background:#252323;border:1px solid #f09595;border-radius:10px;align-items:center;gap:16px;width:100%;padding:14px 18px;display:flex}.module-page-icon{flex-shrink:0}.module-preview-label{color:#fff;margin:0 0 2px;font-size:14px;font-weight:600}.module-preview-sub{color:#fff;margin:0;font-size:12px}.reorder-selector{background:#252323;border:1px solid #f09595;border-radius:10px;width:100%;margin-top:10px;padding:12px 14px}.reorder-label{color:#fff;text-align:left;margin-bottom:8px;font-size:13px;display:block}.reorder-select{color:#fff;appearance:none;background:#252323;border:1px solid #fff;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-size:14px}.reorder-select option{color:#fff;background:#252323}.reorder-hint{color:var(--accent);margin-top:8px;font-size:13px}.reorder-controls{align-items:center;gap:8px;display:flex}.arrow-btn{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:inline-flex}.arrow-btn:disabled{opacity:.45;cursor:not-allowed}.reorder-select{flex:1}.crop-preview-row{flex-direction:column;gap:16px;width:100%;margin-top:18px;display:flex}.crop-canvas-wrapper{background:#f7fcf7;border:1px solid #d5eee1;border-radius:0;width:100%;min-height:320px;overflow:hidden}.crop-canvas{background:0 0;border-radius:0;width:100%;height:auto;display:block}.crop-form{background:#252323;border:1px solid #cfe9e3;border-radius:16px;gap:10px;width:100%;padding:14px 16px;display:grid}.crop-field-row{grid-template-columns:1fr auto auto;align-items:center;gap:10px;display:grid}.crop-field-label{color:#fff;text-align:left;font-size:13px}.crop-field-input{border:1px solid #b9ddd0;border-radius:10px;outline:none;width:100%;padding:10px 12px;font-size:14px}.crop-field-suffix{color:#fff;font-size:13px}.crop-help-text{color:#b94e3d;margin:0;font-size:12px;line-height:1.4}@media (width>=720px){.crop-preview-row{flex-direction:row;align-items:flex-start}.crop-canvas-wrapper{width:68%}.crop-form{width:32%}}.crop-overlay{pointer-events:none;position:absolute;inset:0}.crop-overlay .crop-mask{background:#00000059;position:absolute}.crop-overlay .crop-mask-top{top:0;left:0;right:0}.crop-overlay .crop-mask-bottom{bottom:0;left:0;right:0}.crop-overlay .crop-mask-left{left:0}.crop-overlay .crop-mask-right{right:0}.crop-overlay .crop-area{background:0 0;border:2px dashed #ff004f;position:absolute;box-shadow:inset 0 0 0 2px #ff004f}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.operation-modal-overlay{animation:.15s fadeIn}.operation-modal{max-height:calc(100vh - 80px);animation:.18s slideUp;overflow-y:auto}.modal-close-btn{cursor:pointer;color:#999;background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:20px;line-height:1}.action-sidebar .meta-label{text-transform:uppercase;color:#fff;letter-spacing:1.2px;margin-bottom:6px;font-size:12px;font-weight:700}.action-sidebar .meta-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.action-sidebar .meta-number{color:#ff004f;font-size:28px;font-weight:700}.action-sidebar .meta-sub{color:var(--muted);font-size:12px}.action-sidebar .page-badge{color:var(--accent);background:0 0;border-radius:12px;padding:8px 12px;font-size:11px;font-weight:700}.sidebar-footer{border-top:1px solid #f0f2f8;margin-top:28px;padding-top:18px}.sidebar-footer .footer-label{color:#999;margin-bottom:10px;font-size:12px}.sidebar-footer .footer-note{color:#777;margin-top:12px;font-size:12px;line-height:1.5}.thumbnail-loading{color:#bbb;background:#000;justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;inset:0}.thumbnail-footer{text-align:center;color:#888;background:#fafaf9;border-top:.5px solid #eee;justify-content:center;align-items:center;gap:4px;padding:4px 0 5px;font-size:11px;display:flex}.thumbnail-footer .dots{color:#ccc;letter-spacing:2px;font-size:10px}.main-viewer .main-canvas{border-radius:4px;max-width:100%;display:block;box-shadow:0 2px 16px #0000001f}.drop-emoji{margin-bottom:16px;font-size:48px}.drop-title{color:#ff004f;margin:0 0 6px;font-size:18px;font-weight:600}.drop-hint{color:#888;margin:0;font-size:14px}.merge-drop{background:0 0;border:1px dashed #aaa;border-radius:12px;padding:28px 20px}.merge-drop:hover{box-shadow:0 6px 18px #00000059}.empty-state{max-width:520px;margin:60px auto}.empty-title{text-align:center;color:#ff004f;margin-bottom:8px;font-size:28px}.empty-sub{text-align:center;color:#888;margin-bottom:32px;font-size:15px}.empty-loading{text-align:center;color:var(--accent);margin-bottom:16px;font-size:13px}.error-box{color:#a32d2d;background:#fcebeb;border:1px solid #f09595;border-radius:8px;margin-top:16px;padding:10px 16px;font-size:14px}.parsing{text-align:center;color:var(--accent);margin-top:20px}.workspace{align-items:flex-start;gap:24px;display:flex}.thumbs-hint{color:var(--muted);margin:0 0 10px;font-size:10px;line-height:1.5}.thumbs-list{flex-direction:column;gap:10px;display:flex}.file-toolbar{background:var(--card-bg);border:.5px solid #ffffff08;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:10px 16px;display:flex}.file-info{align-items:center;gap:10px;min-width:0;display:flex}.file-emoji{font-size:20px}.file-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.file-loading{color:var(--accent);background:#ff004f14;border-radius:8px;margin-left:10px;padding:4px 8px;font-size:12px}.nav-controls{flex-shrink:0;align-items:center;gap:8px;display:flex}.btn-small{cursor:pointer;color:#fff;background:0 0;border:1px solid #ccc;border-radius:6px;padding:4px 12px;font-size:16px}.btn-small:disabled{cursor:not-allowed;opacity:.4}.page-indicator{color:#fff;padding:4px 8px;font-size:13px}.viewer-hint{color:#aaa;text-align:center;margin-top:14px;font-size:12px}.btn-close-file{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:8px;padding:6px 16px;font-size:13px}.modal-title-row{align-items:center;gap:8px;display:flex}.modal-icon{display:flex}.modal-title{font-size:15px;font-weight:700}
