@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Noto+Serif+SC:wght@600;700&display=swap";:root{--bg-primary:#100a0f;--bg-secondary:#181019;--bg-tertiary:#211723;--bg-glass:#181019b3;--bg-glass-hover:#211723d9;--accent-color:#e8607e;--accent-light:#f591a8;--accent-dark:#a53853;--accent-glow:#e8607e59;--text-primary:#faf6f8;--text-secondary:#d8ccd6;--text-muted:#8d7b8a;--border-color:#2c2030;--border-focus:#5d4560;--success:#10b981;--danger:#ef4444;--warning:#f59e0b;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--shadow-sm:0 2px 8px #0006;--shadow-md:0 8px 20px #0009;--shadow-lg:0 16px 40px #000c;--font-sans:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Roboto, sans-serif;--font-display:"Noto Serif SC", "Songti SC", "SimSun", serif;font-family:var(--font-sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{background:radial-gradient(circle at 50% 0,#291320 0%,#100a0f 70%) fixed;min-height:100dvh;overflow-x:hidden}:focus-visible{outline:2px solid var(--accent-light);outline-offset:2px}@media (width<=768px){body{background-attachment:scroll}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}#root{flex-direction:column;min-height:100dvh;display:flex}:is(body:has(.modal-backdrop),body:has(.lightbox-modal),body:has(.mobile-sheet-backdrop)){overflow:hidden}button,input,select,textarea{font-family:inherit}.app-container{flex-direction:column;min-height:100dvh;display:flex}.main-header{z-index:100;background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 40px;transition:all .3s;display:flex;position:sticky;top:0}.logo-section h1{font-family:var(--font-display);background:linear-gradient(135deg, var(--text-primary) 30%, var(--accent-light) 100%);-webkit-text-fill-color:transparent;cursor:pointer;letter-spacing:1px;-webkit-background-clip:text;font-size:23px;font-weight:700}.logo-section span{color:var(--text-muted);text-transform:uppercase;letter-spacing:3px;margin-top:2px;font-size:10px;display:block}.header-actions{align-items:center;gap:16px;display:flex}.user-badge{background:var(--bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--border-color);color:var(--text-secondary);align-items:center;gap:8px;padding:6px 14px;font-size:13px;display:flex}.user-badge .role{background:var(--accent-dark);color:var(--text-primary);text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary{background:var(--accent-color);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-light);box-shadow:0 0 15px var(--accent-glow);transform:translateY(-1px)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-glass-hover);border-color:var(--border-focus)}.btn-danger{color:var(--danger);background:#ef444426;border:1px solid #ef44444d}.btn-danger:hover:not(:disabled){background:var(--danger);color:var(--text-primary);box-shadow:0 0 15px #ef444466}.btn-text{color:var(--text-muted);background:0 0;padding:6px 12px}.btn-text:hover{color:var(--text-primary)}.btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn{border:1px solid var(--border-color);background:var(--bg-glass);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.icon-btn:hover{background:var(--bg-glass-hover);color:var(--text-primary);border-color:var(--accent-light);transform:scale(1.05)}.icon-btn.active{background:var(--accent-color);color:var(--bg-primary);border-color:var(--accent-color)}.main-content{flex-direction:column;flex:1;gap:24px;width:100%;max-width:1600px;margin:0 auto;padding:30px 40px 100px;display:flex}.filter-bar{grid-template-columns:minmax(170px,300px) minmax(0,1fr);grid-template-areas:"styles styles""search actions";align-items:start;gap:16px;min-width:0;display:grid}.filter-bar>.search-box{grid-area:search;align-self:center;width:100%}.filter-bar>.header-actions{flex-wrap:wrap;grid-area:actions;justify-content:flex-end;gap:8px;min-width:0}.filter-bar>.header-actions .btn{white-space:nowrap}.search-box{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);min-width:170px;height:34px;color:var(--text-muted);flex-shrink:0;align-items:center;gap:6px;padding:0 10px;display:flex}.search-box:focus-within{border-color:var(--border-focus)}.search-box input{min-width:0;color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:13px}.search-box input::placeholder{color:var(--text-muted)}.search-clear{cursor:pointer;color:var(--text-muted);background:0 0;border:none;align-items:center;padding:2px;display:flex}.search-clear:hover{color:var(--text-primary)}.style-chips-wrap{flex:1;grid-area:styles;align-items:flex-start;gap:8px;min-width:0;display:flex}.style-chips{flex-wrap:wrap;flex:1;gap:8px;min-width:0;display:flex}.style-chips.collapsed{max-height:76px;overflow:hidden}.chip{color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;white-space:nowrap;background:0 0;border-radius:50px;flex-shrink:0;align-items:center;gap:6px;max-width:100%;min-height:34px;padding:7px 14px;font-size:13px;font-weight:500;line-height:18px;transition:all .2s;display:flex}.chip-label{text-overflow:ellipsis;min-width:0;overflow:hidden}@media (width>=769px){.style-chips.collapsed .chip.active{order:-1}.style-chips.collapsed .chip-all{order:-2}}.chip:hover{border-color:var(--border-focus);color:var(--text-primary)}.chip.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color);font-weight:600}.chip-toggle{color:var(--accent-light);border-style:dashed;flex-shrink:0}.style-sheet-btn{display:none}.chip .count{color:inherit;background:#fff3;border-radius:10px;flex-shrink:0;padding:2px 6px;font-size:10px;line-height:14px}.chip.active .count{background:#00000026}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px;width:100%;display:grid}@media (width<=768px){.filter-bar{grid-template-columns:minmax(0,1fr);grid-template-areas:"search""styles""actions";gap:10px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=550px){.gallery-grid{gap:10px}}.photo-card{border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;flex-direction:column;min-width:0;transition:all .3s cubic-bezier(.25,.8,.25,1);display:flex;overflow:hidden}.photo-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-focus);transform:translateY(-4px)}.photo-card.selected{border-color:var(--accent-color);box-shadow:0 0 10px var(--accent-glow)}.card-thumb{aspect-ratio:3/4;width:100%;position:relative;overflow:hidden}.card-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.photo-card:hover .card-thumb img{transform:scale(1.03)}.select-checkbox{background:var(--bg-glass);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;z-index:2;border:2px solid #fff;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;transition:all .2s;display:flex;position:absolute;top:10px;left:10px}.photo-card.selected .select-checkbox{background:var(--accent-color);border-color:var(--accent-color)}.select-checkbox svg{color:var(--bg-primary);width:14px;height:14px}.card-info{flex-direction:column;gap:3px;min-width:0;padding:9px 12px 10px;display:flex;overflow:hidden}.photo-style{color:var(--accent-light);letter-spacing:.5px;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.photo-book{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.photo-meta{color:var(--text-secondary);flex-wrap:wrap;gap:4px 8px;font-size:11px;display:flex}.photo-stats{color:var(--text-muted);align-items:center;gap:5px;font-size:11px;display:flex}.photo-stats span{cursor:help;white-space:nowrap}.photo-stats .stat-sep{cursor:default}.card-actions{opacity:0;pointer-events:none;background:linear-gradient(#0000,#0a0509bf);justify-content:flex-end;gap:6px;padding:28px 10px 10px;transition:opacity .2s;display:flex;position:absolute;bottom:0;left:0;right:0}.photo-card:hover .card-actions{opacity:1;pointer-events:auto}@media (hover:none){.card-actions{display:none}}.card-actions .icon-btn{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#100a0fbf;width:30px;height:30px}.random-menu-wrap{position:relative}.random-menu-backdrop{z-index:900;position:fixed;inset:0}.random-menu{z-index:950;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);min-width:230px;box-shadow:var(--shadow-md);padding:6px;animation:.15s modalEnter;position:absolute;top:calc(100% + 8px);right:0}.random-menu-scope{color:var(--text-muted);padding:8px 10px 6px;font-size:11px}.random-menu-item{border-radius:var(--radius-sm);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:10px;font-size:14px;font-weight:500;transition:background .15s;display:flex}.random-menu-item:hover{background:var(--bg-tertiary)}.random-menu-item svg{color:var(--accent-light);flex-shrink:0}.random-menu-item-desc{color:var(--text-muted);margin-left:auto;font-size:12px;font-weight:400}.selection-shelf{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--accent-color);z-index:1000;background:#12141ce6;border-radius:50px;align-items:center;gap:24px;padding:16px 30px;transition:transform .4s cubic-bezier(.175,.885,.32,1.275);display:flex;position:fixed;bottom:30px;left:50%;transform:translate(-50%)translateY(100px);box-shadow:0 20px 40px #0009,0 0 20px #e8607e26}.selection-shelf.visible{transform:translate(-50%)translateY(0)}.shelf-info{color:var(--text-primary);font-size:14px;font-weight:500}.shelf-info span{color:var(--accent-light);margin-right:4px;font-weight:700}.shelf-actions{align-items:center;gap:12px;display:flex}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2500;background:#060709d9;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:1000px;max-width:95vw;max-height:90vh;box-shadow:var(--shadow-lg);flex-direction:column;animation:.3s cubic-bezier(.34,1.56,.64,1) modalEnter;display:flex;overflow:hidden}@keyframes modalEnter{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px 30px;display:flex}.modal-title{font-size:20px;font-weight:600}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;font-size:20px;transition:all .2s;display:flex}.modal-close:hover{color:var(--text-primary);background:#ffffff0d}.modal-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;padding:30px;overflow-y:auto}.collage-workspace{grid-template-columns:1fr 360px;gap:30px;height:100%;display:grid}.collage-workspace.no-preview{grid-template-columns:minmax(0,480px);justify-content:center}@media (width<=900px){.collage-workspace,.collage-workspace.no-preview{grid-template-columns:1fr}}.collage-info-bar{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);align-items:center;gap:10px;padding:12px 16px;font-size:14px;display:flex}.collage-info-bar svg{color:var(--accent-light);flex-shrink:0}.collage-info-bar strong{color:var(--text-primary)}.collage-preview-pane{background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-color);justify-content:center;align-items:center;min-height:400px;display:flex;position:relative;overflow:hidden}.collage-placeholder-text{color:var(--text-muted);text-align:center;padding:20px}.collage-result-img{object-fit:contain;max-width:100%;max-height:550px;box-shadow:var(--shadow-md);border-radius:4px}.collage-settings-pane{flex-direction:column;gap:24px;display:flex}.settings-group{flex-direction:column;gap:8px;display:flex}.settings-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:600}.settings-hint{color:var(--text-muted);font-size:13px}.input-field{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);padding:10px 14px;font-size:14px;transition:border-color .2s}.input-field:focus{border-color:var(--accent-light);outline:none;box-shadow:0 0 8px #e8607e33}.reorder-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;gap:10px;max-height:360px;padding-right:6px;display:flex;overflow-y:auto}.reorder-item{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.reorder-img-preview{object-fit:cover;border:1px solid var(--border-color);border-radius:4px;width:44px;height:44px}.reorder-info{color:var(--text-muted);flex:1;margin-left:12px;font-size:12px}.reorder-controls{gap:4px;display:flex}.reorder-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}.reorder-btn:hover:not(:disabled){color:var(--text-primary);background:#ffffff0d}.loading-overlay{flex-direction:column;align-items:center;gap:16px;display:flex}.spinner{border:3px solid #e8607e1f;border-top-color:var(--accent-color);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.upload-workspace{flex-direction:column;gap:20px;display:flex}.grid-select-buttons{flex-wrap:wrap;gap:8px;display:flex}.grid-option-btn{color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;background:0 0;border-radius:50px;padding:7px 16px;font-size:13px;font-weight:500;transition:all .2s}.grid-option-btn:hover{border-color:var(--border-focus);color:var(--text-primary)}.grid-option-btn.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color);font-weight:600}.dropzone{border:2px dashed var(--border-color);background:var(--bg-glass);border-radius:var(--radius-md);text-align:center;cursor:pointer;flex-direction:column;align-items:center;gap:16px;padding:50px 30px;transition:all .3s;display:flex}.dropzone:hover{border-color:var(--accent-light);background:var(--bg-glass-hover)}.dropzone svg{color:var(--accent-color)}.dropzone-title{color:var(--text-primary);font-size:16px;font-weight:600}.dropzone-desc{color:var(--text-muted);font-size:12px}.upload-file-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;max-height:300px;padding:10px 0;display:grid;overflow-y:auto}.upload-file-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);align-items:center;gap:12px;padding:12px;display:flex;position:relative}.file-preview{object-fit:cover;border-radius:4px;width:50px;height:50px}.file-info{flex:1;min-width:0}.file-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.file-size{color:var(--text-muted);font-size:11px}.file-remove-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;position:absolute;top:4px;right:4px}.file-remove-btn:hover{color:var(--danger)}.login-screen{flex:1;justify-content:center;align-items:center;padding:40px 20px;display:flex}.login-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:400px;box-shadow:var(--shadow-lg);flex-direction:column;gap:30px;padding:40px;display:flex}.login-header{text-align:center}.login-header h2{font-family:var(--font-display);background:linear-gradient(135deg, var(--text-primary) 30%, var(--accent-light) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:8px;font-size:28px;font-weight:700}.login-header p{color:var(--text-muted);font-size:13px}.login-form{flex-direction:column;gap:20px;display:flex}.login-error{color:var(--danger);border-radius:var(--radius-sm);background:#ef44441a;border:1px solid #ef444440;padding:10px 14px;font-size:13px}.lightbox-modal{z-index:2500;background:#050507f2;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-content{flex-direction:column;align-items:center;max-width:90vw;max-height:90vh;display:flex;position:relative}.lightbox-img{object-fit:contain;border-radius:4px;flex:0 auto;max-width:100%;min-height:0;max-height:80vh}.lightbox-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:28px;position:absolute;top:-40px;right:0}.lightbox-close:hover{color:var(--text-primary)}.lightbox-meta{text-align:center;color:var(--text-secondary);flex-shrink:0;margin-top:16px;font-size:14px}.toast-container{z-index:3000;flex-direction:column;gap:10px;display:flex;position:fixed;top:20px;right:20px}.toast{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);box-shadow:var(--shadow-md);border-left:4px solid var(--accent-color);align-items:center;gap:10px;padding:12px 20px;font-size:13px;font-weight:500;animation:.25s cubic-bezier(.175,.885,.32,1.25) toastEnter;display:flex}.toast.toast-success{border-left-color:var(--success)}.toast.toast-error{border-left-color:var(--danger)}@keyframes toastEnter{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}.pagination{justify-content:center;align-items:center;gap:16px;margin-top:40px;margin-bottom:20px;display:flex}.page-info{color:var(--text-secondary);font-size:14px}.empty-state{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:16px;padding:100px 20px;display:flex}.empty-state svg{color:var(--border-color)}@media (width<=1024px){.main-header{padding:14px 24px}.main-content{gap:20px;padding:24px}.photo-card:hover .card-thumb img{transform:none}}@media (width<=768px){.main-header{padding:12px 16px}.logo-section h1{font-size:20px}.logo-section span{letter-spacing:1px;font-size:9px}.main-content{padding:16px 16px calc(120px + env(safe-area-inset-bottom));gap:16px}.chip-toggle{display:none}.style-chips.collapsed{max-height:none}.style-chips-wrap{width:100%}.style-chips{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;flex:1;min-width:0;padding-bottom:6px;overflow-x:auto}.style-sheet-btn{color:var(--accent-light);flex-shrink:0;padding:6px 11px;display:flex}.style-sheet{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:72dvh;overflow-y:auto}.style-sheet-title{color:var(--text-primary);padding:12px 4px 10px;font-size:15px;font-weight:600}.style-sheet-list{flex-wrap:wrap;gap:9px;padding:2px 0 10px;display:flex}.style-chips::-webkit-scrollbar{display:none}.chip{flex-shrink:0;padding:6px 12px;font-size:12px}.selection-shelf{width:calc(100% - 32px);bottom:calc(16px + env(safe-area-inset-bottom));border-radius:24px;justify-content:space-between;gap:12px;padding:12px 20px}.shelf-info{font-size:13px}.shelf-actions{gap:8px}.shelf-actions .btn{padding:8px 14px;font-size:12px}.lightbox-close{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;display:flex;top:16px;right:16px}.modal-backdrop{padding:0}.modal-container{border:none;border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh}.modal-header{padding:16px}.modal-body{padding:16px 16px calc(24px + env(safe-area-inset-bottom))}.reorder-list{max-height:none;padding-right:0;overflow-y:visible}.collage-preview-pane{min-height:280px}.collage-result-img{max-height:360px}.dropzone{padding:30px 16px}}@media (width<=480px){.user-badge .role{display:none}.user-badge{padding:4px 8px;font-size:12px}.username-text{text-overflow:ellipsis;white-space:nowrap;max-width:70px;overflow:hidden}.header-actions{gap:8px}.btn{padding:8px 12px;font-size:12px}.icon-btn{width:32px;height:32px}.card-info{gap:4px;padding:10px}.photo-style{font-size:10px}.photo-meta,.photo-stats{gap:4px 6px;font-size:10px}.login-card{gap:20px;width:100%;padding:24px 20px}.login-header h2{font-size:22px}}.collage-result-wrap{flex-direction:column;align-items:center;gap:12px;padding:12px;display:flex}.save-hint{color:var(--text-muted);text-align:center;margin:0;font-size:13px}.copywriting-panel{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;gap:14px;margin-top:18px;padding:16px;display:flex}.copywriting-field{flex-direction:column;gap:6px;display:flex}.copywriting-field-head{justify-content:space-between;align-items:center;display:flex}.copywriting-label{color:var(--text-muted);letter-spacing:.04em;font-size:11px;font-weight:600}.copy-inline-btn{color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;border-radius:6px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;transition:all .15s;display:inline-flex}.copy-inline-btn:hover{color:var(--text-primary);border-color:var(--border-focus)}.copywriting-title{color:var(--text-primary);margin:0;font-size:15px;font-weight:600}.copywriting-content{color:var(--text-secondary);white-space:pre-wrap;margin:0;font-size:13px;line-height:1.7}.copywriting-tip{color:var(--text-muted);text-align:center;margin:0;font-size:12px}.copy-all-btn{color:#fff;background:var(--accent-color);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:100%;padding:9px 12px;font-size:13px;font-weight:600;transition:opacity .15s;display:inline-flex}.copy-all-btn:hover{opacity:.9}.split-preview-header{justify-content:space-between;align-items:center;display:flex}.split-preview-grid{gap:6px;margin-top:8px;display:grid}.split-piece{cursor:pointer;opacity:.55;border:2px solid #0000;border-radius:4px;transition:all .15s;position:relative;overflow:hidden}.split-piece.selected{opacity:1;border-color:var(--accent-color)}.split-piece img{object-fit:contain;width:100%;height:100%;display:block}.split-checkbox{background:var(--bg-glass);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:20px;height:20px;color:var(--bg-primary);cursor:pointer;border:2px solid #fff;border-radius:4px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:6px;left:6px}.split-piece.selected .split-checkbox{background:var(--accent-color);border-color:var(--accent-color)}.split-lightbox-img{object-fit:contain;width:auto;max-width:min(92vw,900px);max-height:72vh}.section-entries{flex-wrap:wrap;gap:10px;display:flex}.section-card{background:var(--bg-glass);border:1px solid var(--border-color);color:var(--accent-light);cursor:pointer;text-align:left;border-radius:50px;align-items:center;gap:8px;padding:9px 16px;transition:all .15s;display:flex;position:relative}.section-card:hover{border-color:var(--accent-color);background:var(--bg-glass-hover);box-shadow:0 0 15px var(--accent-glow)}.section-card-title{color:var(--text-primary);font-size:13px;font-weight:500}.section-card-dot{background:#ff4d6d;border-radius:50%;width:7px;height:7px;position:absolute;top:4px;right:8px;box-shadow:0 0 6px #ff4d6db3}.badge-new{letter-spacing:.5px;color:#fff;vertical-align:middle;background:#ff4d6d;border-radius:10px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.help-modal .modal-body{flex-direction:column;gap:18px;display:flex}.help-intro{color:var(--text-secondary);font-size:13px;line-height:1.6}.help-section{background:var(--bg-glass);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.help-section-summary{cursor:pointer;color:var(--text-primary);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:14px 16px;font-size:14px;font-weight:600;list-style:none;display:flex}.help-section-summary::-webkit-details-marker{display:none}.help-section-summary:before{content:"▸";color:var(--text-muted);font-size:11px;transition:transform .15s;display:inline-block}.help-section[open]>.help-section-summary:before{transform:rotate(90deg)}.help-section-body{color:var(--text-secondary);margin:0;padding:0 16px 14px 34px;font-size:13px;line-height:1.7}.help-section-body li{margin-bottom:4px}.help-section-body li:last-child{margin-bottom:0}.help-footer{border-top:1px dashed var(--border-color);color:var(--text-muted);text-align:center;margin-top:4px;padding-top:10px;font-size:12px}.studio-tabs{gap:8px;margin-bottom:16px;display:flex}.studio-tab{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;flex:1;padding:8px 12px;font-size:13px;transition:all .15s}.studio-tab.active{background:var(--accent-color);color:var(--bg-primary);border-color:var(--accent-color)}.studio-textarea{width:100%;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);resize:vertical;box-sizing:border-box;padding:12px;font-family:inherit;font-size:14px;line-height:1.6}.studio-textarea:focus{border-color:var(--accent-color);outline:none}.studio-image-preview{flex-direction:column;align-items:center;gap:10px;display:flex}.studio-image-preview img{border-radius:var(--radius-md);object-fit:contain;max-width:100%;max-height:320px}.codex-generate-form{flex-direction:column;gap:16px;display:flex}.codex-textarea{min-height:180px}.codex-submit{width:100%}.codex-mode-tabs{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);gap:6px;margin-bottom:16px;padding:4px;display:flex}.codex-mode-tab{border-radius:calc(var(--radius-sm) - 2px);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex:1;padding:8px 10px;font-size:13px;transition:background .2s,color .2s}.codex-mode-tab.active{background:var(--accent-color);color:#fff}.codex-mode-tab:disabled{opacity:.45;cursor:not-allowed}.codex-upload-btn{justify-content:center;width:100%}.codex-file-preview{color:var(--text-secondary);align-items:center;gap:10px;margin-top:8px;font-size:12px;display:flex}.codex-file-preview img{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border-color);width:56px;height:56px}.codex-file-grid{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.codex-file-thumb{width:64px;height:64px;position:relative}.codex-file-thumb img{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border-color);width:100%;height:100%}.codex-file-remove{background:var(--text-primary,#333);color:#fff;cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:flex;position:absolute;top:-6px;right:-6px}.codex-file-remove:disabled{opacity:.5;cursor:not-allowed}.codex-modify-hint{color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);margin:0 0 4px;padding:10px 12px;font-size:12px;line-height:1.6}.codex-source-preview{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);align-items:center;gap:12px;padding:10px;display:flex}.codex-source-preview img{object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0;width:72px;height:88px}.codex-source-preview div{color:var(--text-secondary);flex-direction:column;gap:5px;font-size:12px;display:flex}.codex-source-preview strong{color:var(--text-primary);font-size:14px}.move-style-modal{width:420px}.move-style-modal .modal-body{flex-direction:column;gap:18px;display:flex}.move-style-preview{color:var(--text-secondary);align-items:center;gap:12px;font-size:13px;display:flex}.move-style-preview img{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border-color);width:72px;height:88px}.codex-redo-panel{background:var(--bg-tertiary);border:1px dashed var(--border-color);border-radius:var(--radius-sm);margin-top:6px;padding:12px 14px}.codex-redo-title{color:var(--text-secondary);align-items:center;gap:6px;margin-bottom:10px;font-size:12px;display:flex}.codex-redo-row{gap:8px;display:flex}.codex-redo-row .input-field{flex:1}.codex-available-styles{color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);margin:0;padding:10px 12px;font-size:12px;line-height:1.6}.codex-job-status{color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.codex-job-dot{background:var(--accent-color);width:8px;height:8px;box-shadow:0 0 8px var(--accent-glow);border-radius:999px;flex-shrink:0}.codex-job-success{color:var(--success);border-color:#10b98159}.codex-job-success .codex-job-dot{background:var(--success);box-shadow:0 0 8px #10b98180}.codex-job-failure{color:var(--danger);border-color:#ef444459}.codex-job-failure .codex-job-dot{background:var(--danger);box-shadow:0 0 8px #ef444473}.history-empty{text-align:center;color:var(--text-muted);padding:30px 0;font-size:13px}.history-list{flex-direction:column;gap:14px;display:flex}.history-item{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);gap:12px;padding:12px;display:flex}.history-thumb{object-fit:cover;border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;width:88px;height:88px}.history-body{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.history-body .copywriting-field-head{align-items:flex-start;gap:10px}.history-body .copywriting-content{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.history-delete{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:6px;transition:color .15s}.history-delete:hover{color:var(--danger)}.admin-dashboard{flex-direction:column;width:min(960px,94vw);max-height:88vh;display:flex}.admin-dashboard .modal-body{flex-direction:column;gap:18px;display:flex;overflow-y:auto}.admin-header-actions{align-items:center;gap:8px;display:flex}.admin-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.admin-stat-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;gap:4px;padding:14px 16px;display:flex}.admin-stat-value{color:var(--text-primary);font-size:24px;font-weight:700}.admin-stat-label{color:var(--text-muted);font-size:12px;line-height:1.4}.admin-tabs{flex-wrap:wrap;gap:10px;display:flex}.admin-records{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;flex-shrink:0;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border-color);vertical-align:middle;padding:8px 10px}.admin-table th{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:600}.admin-time{white-space:nowrap;color:var(--text-secondary)}.admin-title{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.admin-thumb{object-fit:cover;border:1px solid var(--border-color);border-radius:6px;width:44px;height:58px;display:block}.admin-result{align-items:center;gap:8px;display:flex}.admin-error{color:var(--danger);text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-size:12px;display:inline-block;overflow:hidden}.admin-order-link{font:inherit;color:var(--accent-color);cursor:pointer;text-underline-offset:3px;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;max-width:100%;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;overflow:hidden}.admin-order-backdrop{z-index:2600}.modal-container.admin-order-popup{width:min(94vw,760px);max-width:94vw;height:auto;max-height:76dvh}.admin-order-panes{grid-template-columns:1fr 1fr;align-items:start;gap:14px;display:grid}@media (width<=640px){.admin-order-panes{grid-template-columns:1fr}}.admin-order-pane{min-width:0}.admin-order-pane-title{color:var(--text-muted);letter-spacing:.05em;margin:0 0 8px;font-size:12px;font-weight:600}.admin-order-fields{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;gap:8px;padding:10px 14px;font-size:13px;display:flex}.admin-order-field{gap:10px;line-height:1.6;display:flex}.admin-order-field-label{width:4.5em;color:var(--text-muted);flex:none}.admin-order-field-value{color:var(--text-secondary);word-break:break-word;min-width:0}.admin-order-none{color:var(--text-muted);margin:0;font-size:13px}.admin-job-actions{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.admin-modify-btn{white-space:nowrap;padding:4px 10px;font-size:12px}.admin-modify-body{flex-direction:column;gap:14px;display:flex}.admin-modify-source{gap:12px;display:flex}.admin-modify-thumb{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border-color);flex:none;width:96px;height:128px}.admin-modify-meta{flex-direction:column;gap:4px;min-width:0;font-size:13px;display:flex}.admin-modify-note{color:var(--text-muted);margin:6px 0 0;font-size:12px;line-height:1.6}.admin-order-text{white-space:pre-wrap;word-break:break-word;color:var(--text-secondary);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);margin:0;padding:14px 16px;font-family:inherit;font-size:13px;line-height:1.7;overflow-y:auto}.admin-status{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.admin-status-running{color:var(--accent-light);border-color:var(--accent-color)}.admin-status-success{color:var(--success);border-color:#10b98159}.admin-status-failure{color:var(--danger);border-color:#ef444459}.admin-row-deleted td{opacity:.55}.admin-deleted-tag{color:var(--danger);white-space:nowrap;border:1px solid #ef444459;border-radius:4px;padding:1px 6px;font-size:11px}.admin-empty{text-align:center;color:var(--text-muted);padding:30px 0;font-size:13px}.mobile-tabbar,.thumb-label{display:none}@media (width<=768px){.app-container{height:100dvh;overflow:hidden}.mobile-tabbar{z-index:2600;height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-color);background:#0c0d12eb;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar-item{color:var(--text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:10px;font-weight:500;display:flex;position:relative}.tabbar-item.active{color:var(--accent-light)}.tabbar-dot{background:#ff4d6d;border-radius:50%;width:7px;height:7px;position:absolute;top:7px;left:calc(50% + 8px);box-shadow:0 0 6px #ff4d6db3}.mobile-sheet-backdrop{z-index:2050;-webkit-backdrop-filter:blur(4px);background:#06070999;position:fixed;inset:0}.mobile-sheet{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:10px 16px calc(68px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;animation:.25s cubic-bezier(.25,.8,.25,1) sheetUp;position:absolute;bottom:0;left:0;right:0}@keyframes sheetUp{0%{opacity:0;transform:translateY(40%)}to{opacity:1;transform:translateY(0)}}.sheet-user{border-bottom:1px solid var(--border-color);align-items:center;gap:10px;margin-bottom:6px;padding:12px 4px 14px;display:flex}.sheet-username{color:var(--text-primary);font-size:15px;font-weight:600}.sheet-role{background:var(--accent-dark);color:var(--text-primary);border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700}.sheet-item{border:none;border-bottom:1px solid var(--border-color);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;align-items:center;gap:12px;padding:14px 4px;font-size:14px;display:flex}.sheet-item:last-child{border-bottom:none}.sheet-item svg{color:var(--accent-light);flex-shrink:0}.sheet-item-danger,.sheet-item-danger svg{color:var(--danger)}.section-entries,.main-header .btn-primary,.main-header .icon-btn,.card-info{display:none}.photo-card{border-radius:var(--radius-md);background:0 0;border:none}.thumb-label{color:#ffffffeb;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background:linear-gradient(#0000,#000000a6);padding:20px 80px 6px 8px;font-size:10px;font-weight:500;display:block;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.card-thumb{border-radius:var(--radius-md)}.filter-bar .search-box{order:-1;width:100%}.filter-bar .header-actions{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;gap:8px;width:100%;padding-bottom:4px;overflow-x:auto}.filter-bar .header-actions::-webkit-scrollbar{display:none}.filter-bar .header-actions .btn,.filter-bar .header-actions .random-menu-wrap{white-space:nowrap;flex-shrink:0}.random-menu{z-index:2150;min-width:0;animation:none;position:fixed;inset:50vh 12px auto;transform:translateY(-50%)}.random-menu-backdrop{z-index:2140;background:#06070980}.lightbox-content{max-width:100vw;max-height:100dvh;padding:56px 16px calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow-y:auto}.lightbox-img{flex-shrink:0;max-height:62vh}.lightbox-close{z-index:10;position:fixed}.main-content{-webkit-overflow-scrolling:touch;padding-bottom:calc(130px + env(safe-area-inset-bottom));flex:1;overflow-y:auto}.page-info{font-size:12px}.selection-shelf{bottom:calc(68px + env(safe-area-inset-bottom))}.modal-body{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.modal-container.admin-dashboard{width:100vw;max-width:100vw;max-height:100dvh}}.codex-result-wrap{flex-direction:column;align-items:center;gap:8px;display:flex}.codex-result-img{object-fit:contain;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-tertiary);width:100%;max-height:420px;display:block}.photo-stats-badge{color:#ffffffd9;-webkit-backdrop-filter:blur(4px);border-radius:var(--radius-sm);pointer-events:none;z-index:5;background:#120c10a6;padding:2px 5px;font-size:9px;font-weight:500;transition:opacity .15s;position:absolute;bottom:6px;right:6px}.photo-card:hover .photo-stats-badge{opacity:0}.codex-header-actions{align-items:center;gap:8px;display:flex}.codex-header-actions .btn{padding:6px;font-size:12px}.style-merge-modal{width:680px}.style-merge-body,.style-merge-option{flex-direction:column;gap:14px;display:flex}.style-merge-option{border-top:1px solid var(--border-color);padding-top:16px;font-size:13px}.style-merge-option .btn{align-self:flex-start}.toolbox-modal{width:min(1040px,94vw);max-height:90vh}.toolbox-modal .modal-header{gap:10px}.toolbox-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.toolbox-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:8px;padding:18px;text-decoration:none;transition:all .15s;display:flex;position:relative}.toolbox-card:hover{border-color:var(--accent-color);box-shadow:0 0 18px var(--accent-glow);transform:translateY(-2px)}.toolbox-card-icon{border-radius:var(--radius-sm);background:var(--bg-glass);width:38px;height:38px;color:var(--accent-light);justify-content:center;align-items:center;display:flex}.toolbox-card-name{align-items:center;gap:5px;font-size:15px;font-weight:600;display:flex}.toolbox-card-desc{color:var(--text-muted);font-size:12px;line-height:1.55}.toolbox-card-tag{background:var(--bg-glass);border:1px solid var(--border-color);color:var(--accent-light);border-radius:50px;padding:2px 8px;font-size:11px;position:absolute;top:14px;right:14px}.toolbox-static{color:var(--text-secondary);white-space:pre-wrap;font-size:13px;line-height:1.7}.spell-panel{flex-direction:column;gap:16px;display:flex}.spell-subheader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.spell-subtitle{color:var(--text-primary);font-size:14px;font-weight:600}.spell-intro{color:var(--text-muted);max-width:46em;font-size:12px;line-height:1.6}.spell-empty{text-align:center;color:var(--text-muted);padding:28px 0;font-size:13px}.spell-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.spell-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);gap:12px;padding:12px;display:flex}.spell-card-cover{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-glass);width:76px;height:100px;color:var(--text-muted);cursor:pointer;flex-shrink:0;padding:0;overflow:hidden}.spell-card-cover img{object-fit:cover;width:100%;height:100%;display:block}.spell-card-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.spell-card-name{font-size:14px;font-weight:600}.spell-card-desc,.spell-card-meta{color:var(--text-muted);font-size:11.5px;line-height:1.5}.spell-card-actions{gap:6px;margin-top:auto;display:flex}.spell-card-actions .btn{padding:6px 12px;font-size:12px}.spell-var-chips{flex-wrap:wrap;gap:6px;display:flex}.spell-var-chip{background:var(--bg-glass);border:1px solid var(--accent-dark);color:var(--accent-light);border-radius:50px;align-items:center;gap:4px;padding:2px 9px;font-size:11.5px;display:inline-flex}.spell-var-chip.optional{border-color:var(--border-color);color:var(--text-muted)}.spell-var-chip em{opacity:.75;font-size:10px;font-style:normal}.spell-editor{flex-direction:column;gap:16px;display:flex}.spell-editor-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.spell-editor-actions{align-items:center;gap:10px;display:flex}.spell-editor .settings-hint code{background:var(--bg-glass);color:var(--accent-light);border-radius:4px;padding:1px 5px;font-size:11px}.spell-runner{flex-direction:column;gap:16px;display:flex}.spell-runner-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);gap:12px;padding:12px;display:flex}.spell-runner-refs{flex-shrink:0;gap:6px;display:flex}.spell-runner-refs img{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border-color);width:62px;height:82px}.spell-runner-meta{flex-direction:column;gap:5px;min-width:0;display:flex}.spell-runner-meta span{color:var(--text-muted);font-size:11.5px;line-height:1.5}.spell-runner-vars{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.spell-runner-extra{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-glass);padding:10px 14px}.spell-runner-extra summary{cursor:pointer;color:var(--accent-light);font-size:12.5px}.spell-runner-extra[open] summary{margin-bottom:12px}.spell-runner-extra .settings-group+.settings-group{margin-top:12px}.spell-result-actions{gap:8px;display:flex}@media (width<=768px){.modal-container.toolbox-modal{width:100vw;max-width:100vw;max-height:100dvh}.spell-editor-row{grid-template-columns:1fr}.spell-runner-refs img{width:48px;height:64px}}@media (width>=961px){.modal-container.admin-dashboard.admin-reviewing{width:min(1480px,96vw);max-height:92vh}.admin-reviewing .admin-col-extra{display:none}.admin-reviewing .delivery-layout{grid-template-columns:minmax(0,640px) minmax(420px,1fr)}}.admin-row-reviewing td{background:#ffffff0d}.admin-delivery{min-width:120px;font-size:12px}.admin-delivery .muted{color:var(--text-muted)}button.delivery-state{font:inherit;cursor:pointer;background:0 0;font-size:12px}.delivery-tabs{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.delivery-tab{border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.delivery-tab.active{border-color:var(--primary);color:var(--text-primary);background:#ffffff0f}.delivery-tab .count{color:var(--text-muted);font-size:12px}.delivery-tab.warn .count{color:var(--danger);font-weight:600}.delivery-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.delivery-toolbar input[type=text]{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-tertiary);min-width:0;color:var(--text-primary);flex:0 360px;padding:7px 10px;font-size:13px}.delivery-batch{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.delivery-batch .btn{padding:6px 10px;font-size:12px}.delivery-layout{grid-template-columns:minmax(380px,560px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.delivery-state{border:1px solid var(--border-color);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px;display:inline-block}.delivery-state.review,.delivery-state.recheck{color:#f2c94c;border-color:#d4a017}.delivery-state.ready{color:#6fd08c;border-color:#3b9c5f}.delivery-state.sent{color:var(--text-muted)}.delivery-state.unknown,.delivery-state.failed,.delivery-state.rejected{border-color:var(--danger);color:var(--danger)}.delivery-flag{color:var(--danger);white-space:nowrap;margin-left:6px;font-size:11px}.delivery-detail{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);flex-direction:column;gap:12px;max-height:calc(92vh - 200px);padding:14px 14px 0;display:flex;position:sticky;top:0;overflow-y:auto}.delivery-detail h4{margin:0;font-size:15px}.delivery-detail .muted{color:var(--text-muted);font-size:12px}.delivery-detail .kv{grid-template-columns:72px 1fr;gap:4px 8px;font-size:13px;display:grid}.delivery-detail .kv dt{color:var(--text-muted)}.delivery-detail .kv dd{word-break:break-all;margin:0}.delivery-hero{object-fit:contain;border-radius:var(--radius-md);border:1px solid var(--border-color);background:#000;width:100%;max-height:420px;display:block}.delivery-thumbs{flex-wrap:wrap;gap:8px;display:flex}.delivery-thumbs img{object-fit:cover;border:1px solid var(--border-color);border-radius:6px;width:72px;height:96px}.delivery-pre{white-space:pre-wrap;word-break:break-word;border-radius:var(--radius-md);border:1px solid var(--border-color);background:#00000040;max-height:220px;margin:0;padding:8px 10px;font-size:12px;line-height:1.5;overflow-y:auto}.delivery-plan{grid-template-columns:1fr 1fr 1fr;gap:8px 12px;font-size:13px;display:grid}.delivery-plan label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.delivery-plan input,.delivery-plan select,.delivery-detail textarea{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);box-sizing:border-box;width:100%;padding:6px 8px;font-size:13px}.delivery-quick{flex-wrap:wrap;grid-column:1/-1;gap:6px;display:flex}.delivery-quick .btn{padding:4px 8px;font-size:12px}.delivery-actions{z-index:1;background:var(--bg-tertiary);border-top:1px solid var(--border-color);flex-wrap:wrap;gap:8px;margin:0 -14px;padding:10px 14px;display:flex;position:sticky;bottom:0}.delivery-note{resize:vertical;min-height:56px}.delivery-actions .btn{padding:7px 12px;font-size:13px}.delivery-events{color:var(--text-secondary);flex-direction:column;gap:3px;max-height:160px;font-size:12px;display:flex;overflow-y:auto}.delivery-empty{color:var(--text-muted);text-align:center;padding:24px 0;font-size:13px}.delivery-back{display:none}.delivery-head-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.delivery-flag-line{color:var(--danger);font-size:12px}.delivery-revise{border:1px dashed var(--primary);border-radius:var(--radius-md);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.delivery-revise-kinds{flex-wrap:wrap;gap:8px;display:flex}.delivery-head h4{margin-bottom:4px;font-size:15px}.delivery-top{grid-template-columns:minmax(220px,300px) minmax(0,1fr);align-items:start;gap:14px;display:grid}.delivery-hero-link{display:block}.delivery-top .delivery-hero{width:100%;max-height:400px}.delivery-hero-empty{min-height:200px;color:var(--text-muted);border:1px dashed var(--border-color);border-radius:var(--radius-md);justify-content:center;align-items:center;font-size:13px;display:flex}.delivery-side{flex-direction:column;gap:12px;min-width:0;display:flex}.delivery-summary{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#ffffff08;flex-direction:column;gap:8px;padding:10px 12px;font-size:13px;line-height:1.55;display:flex}.delivery-summary-head{color:var(--text-primary);justify-content:space-between;align-items:center;font-weight:600;display:flex}.delivery-summary-head span{align-items:center;gap:5px;display:inline-flex}.delivery-summary-head .btn{padding:2px 6px;font-size:12px}.delivery-summary-text{color:var(--text-primary);margin:0;font-size:14px}.delivery-points,.delivery-risks{flex-direction:column;gap:3px;margin:0;padding-left:18px;display:flex}.delivery-points li{color:var(--text-secondary)}.delivery-risks li{color:#f2a24c}.delivery-changes{font-size:13px}.delivery-changes-head{color:#6fd08c;margin-bottom:4px;font-weight:600}.delivery-changes-head.missed{color:var(--danger)}.delivery-changes ol,.delivery-change-list{flex-direction:column;gap:3px;margin:0;padding-left:18px;display:flex}.delivery-changes .change-missed{color:var(--danger)}.delivery-changes .change-done .change-mark{color:#6fd08c}.delivery-changes .change-unclear .change-mark{color:var(--text-muted)}.delivery-cover-check{border-radius:var(--radius-sm);border:1px solid var(--border-color);color:var(--text-secondary);padding:6px 8px;font-size:12px}.delivery-cover-check.ok{color:#6fd08c;border-color:#3b9c5f}.delivery-cover-check.mismatch{border-color:var(--danger);color:var(--danger)}.delivery-detail .kv{font-size:13px;line-height:1.5}.delivery-inflight{color:#6fd08c;font-size:12px}.delivery-toggle{align-self:flex-start;align-items:center;gap:4px;padding:4px 0;font-size:13px;display:inline-flex}.delivery-details{border-top:1px dashed var(--border-color);flex-direction:column;gap:12px;padding-top:10px;display:flex}.delivery-details section{flex-direction:column;gap:6px;display:flex}@media (width<=960px){.delivery-layout{grid-template-columns:1fr}.delivery-layout:not(.has-detail) .delivery-detail{display:none}.delivery-layout.has-detail .delivery-detail{z-index:5;background:var(--bg-secondary);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border:0;border-radius:0;gap:14px;max-height:none;padding:0 16px;position:fixed;inset:0}.delivery-close{display:none}.delivery-back{align-items:center;gap:2px;margin-bottom:6px;padding:4px 0;font-size:14px;display:inline-flex}.delivery-head{z-index:2;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);margin:0 -16px;position:sticky;top:0}.delivery-top{grid-template-columns:1fr}.delivery-top .delivery-hero{width:auto;max-width:100%;max-height:55vh;margin:0 auto}.delivery-actions{padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--bg-secondary);margin:0 -16px}}.delivery-page-settings{flex-direction:column;gap:18px;max-width:820px;font-size:13px;display:flex}.delivery-page-settings .muted{color:var(--text-muted);margin:0;font-size:12px}.delivery-page-settings code{font-size:12px}.delivery-page-settings section{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.delivery-page-settings h4{margin:0;font-size:14px}.delivery-page-settings label{color:var(--text-muted);flex-direction:column;flex:1;gap:4px;min-width:0;font-size:12px;display:flex}.delivery-page-settings label.check{flex-direction:row;flex:none;align-items:center;gap:6px;padding-bottom:7px}.delivery-page-settings input:not([type=checkbox]){border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);box-sizing:border-box;width:100%;padding:6px 8px;font-size:13px}.delivery-page-settings input[type=number]{width:80px}.delivery-page-settings .row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.delivery-page-settings .ad-row{border:1px dashed var(--border-color);border-radius:var(--radius-md);flex-direction:column;gap:6px;padding:10px;display:flex}@media (width<=768px){.modal-backdrop.delivery-takeover{z-index:2700}.delivery-tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;margin:0 -16px;padding:0 16px;overflow-x:auto}.delivery-tabs::-webkit-scrollbar{display:none}.delivery-tab{flex:none}.delivery-toolbar input[type=text]{flex:1;min-width:0}.delivery-batch{width:100%;margin-left:0}.delivery-plan{grid-template-columns:1fr}.delivery-plan input,.delivery-plan select,.delivery-detail textarea{font-size:16px}.delivery-detail .delivery-actions{scrollbar-width:none;flex-wrap:nowrap;flex-shrink:0;overflow-x:auto}.delivery-detail .delivery-actions::-webkit-scrollbar{display:none}.delivery-actions .btn{flex:none;padding:9px 14px;font-size:14px}.delivery-page-settings .row{flex-direction:column;align-items:stretch}.delivery-page-settings label.check{padding-bottom:0}.delivery-page-settings input:not([type=checkbox]){font-size:16px}.delivery-page-settings .delivery-actions{padding:10px 16px calc(10px + env(safe-area-inset-bottom));margin:0 -16px}}.prompt-config-backdrop{z-index:2700}.modal-container.prompt-config-modal{outline:none;width:min(880px,95vw)}.prompt-config-modal .modal-header{flex-shrink:0;gap:16px}.prompt-subtitle{color:var(--text-muted);margin-top:6px;font-size:12px}.prompt-config-body{min-height:0;padding-top:20px}.prompt-tabs{border-bottom:1px solid var(--border-color);gap:24px;margin-bottom:20px;display:flex}.prompt-tabs button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 0 12px;font-size:14px;transition:color .15s,border-color .15s}.prompt-tabs button.active{color:var(--accent-light);border-bottom-color:var(--accent-color)}.prompt-section,.prompt-details-body,.prompt-preview-content{flex-direction:column;gap:18px;min-width:0;display:flex}.prompt-description{color:var(--text-secondary);font-size:13px;line-height:1.7}.prompt-field{flex-direction:column;gap:8px;min-width:0;display:flex}.prompt-field-heading{justify-content:space-between;align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.prompt-field-heading .btn{flex-shrink:0;padding:4px 0 4px 8px;font-size:12px;font-weight:400}.prompt-template-input{border-radius:var(--radius-sm);font-size:13px;line-height:1.8}.prompt-template-input[aria-invalid=true]{border-color:var(--danger)}.prompt-variable-list{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:11px;display:flex}.prompt-variable-list code{color:var(--accent-light);overflow-wrap:anywhere}.prompt-field-error{color:var(--danger);overflow-wrap:anywhere;font-size:12px;line-height:1.6}.prompt-details{border-top:1px solid var(--border-color)}.prompt-details summary{cursor:pointer;color:var(--text-primary);align-items:center;gap:10px;padding:15px 0;font-size:14px;list-style:none;display:flex}.prompt-details summary::-webkit-details-marker{display:none}.prompt-details summary>svg,.prompt-preview-toggle>svg:last-child{flex-shrink:0;margin-left:auto;transition:transform .18s}.prompt-details[open]>summary>svg,.prompt-preview-toggle>svg.is-open{transform:rotate(180deg)}.prompt-detail-count{color:var(--text-muted);font-size:12px}.prompt-details-body{padding-bottom:8px}.prompt-preview-section{border-top:1px solid var(--border-color);margin-top:26px;padding-top:16px}.prompt-preview-toggle{width:100%;color:var(--accent-light);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:9px;padding:4px 0;font-size:14px;display:flex}.prompt-preview-content{padding-top:18px}.prompt-preview-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.prompt-preview-fields .settings-group,.prompt-config-modal .input-field{width:100%;min-width:0}.prompt-wide-field{grid-column:1/-1}.prompt-preview-options summary{color:var(--text-secondary);font-size:13px}.prompt-checkbox{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.prompt-checkbox input{accent-color:var(--accent-color)}.prompt-preview-action{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.prompt-preview-action span{color:var(--accent-light);font-size:12px}.prompt-preview-output{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg-primary);color:var(--text-secondary);border-radius:var(--radius-sm);padding:16px;font-family:inherit;font-size:13px;line-height:1.8}.prompt-preview-output.is-stale{opacity:.65}.prompt-config-footer{border-top:1px solid var(--border-color);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:16px 30px;display:flex}.prompt-save-status{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:12px;display:flex}.prompt-save-status small{color:var(--text-muted);font-size:11px}.prompt-save-status .is-dirty{color:var(--accent-light)}.prompt-footer-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.prompt-footer-actions .btn{white-space:nowrap}.prompt-confirm{flex-direction:column;gap:12px;width:100%;font-size:13px;line-height:1.6;display:flex}.prompt-confirm .prompt-footer-actions{justify-content:flex-end}.prompt-alert{border-left:2px solid var(--danger);background:var(--bg-tertiary);color:var(--text-secondary);flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:18px;padding:12px 14px;font-size:13px;line-height:1.7;display:flex}.prompt-empty{color:var(--text-muted);padding:24px 0;font-size:13px}@media (width<=768px){.modal-container.prompt-config-modal{width:100vw;max-width:100vw;max-height:100dvh}.prompt-config-modal .modal-body{padding-bottom:24px}.prompt-config-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.prompt-save-status,.prompt-config-footer>.prompt-footer-actions{width:100%}.prompt-config-footer>.prompt-footer-actions{justify-content:space-between}.prompt-tabs{gap:20px}}@media (prefers-reduced-motion:reduce){.prompt-config-modal{animation:none}.prompt-config-modal *{transition:none}}.modal-container.settings-center{width:min(1120px,96vw);height:88vh}.settings-center .modal-header{flex-shrink:0;gap:12px}.settings-center .settings-title{flex:1}.settings-center .settings-back,.settings-center .settings-header-title{display:none}.settings-center-body{flex:1;grid-template-columns:220px minmax(0,1fr);min-height:0;display:grid}.settings-nav{border-right:1px solid var(--border-color);padding:16px 12px;overflow-y:auto}.settings-nav-group+.settings-nav-group{margin-top:18px}.settings-nav-group-title{color:var(--text-muted);padding:0 10px 6px;font-size:12px}.settings-nav-item{border-radius:var(--radius-sm);width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;font-size:14px;display:flex}.settings-nav-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.settings-nav-item.active{background:var(--bg-tertiary);color:var(--accent-light)}.settings-nav-item svg{color:var(--text-muted);flex:none}.settings-nav-arrow{display:none}.settings-main{flex-direction:column;min-width:0;min-height:0;display:flex}.settings-page-pane{padding:24px 28px;overflow-y:auto}.settings-editor{flex-direction:column;flex:1;min-height:0;display:flex}.settings-editor-scroll{overscroll-behavior:contain;flex-direction:column;flex:1;gap:20px;min-height:0;padding:24px 28px;display:flex;overflow-y:auto}.settings-description,.settings-muted,.settings-hint{color:var(--text-muted);margin:0;font-size:13px;line-height:1.6}.settings-hint{font-size:12px}.settings-error{color:var(--danger);margin:0 0 12px;font-size:13px}.settings-alert{border-radius:var(--radius-md);background:#ef444414;border:1px solid #ef444459;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:flex}.settings-field{flex-direction:column;gap:8px;display:flex}.settings-field-head{justify-content:space-between;align-items:center;gap:8px;min-height:28px;display:flex}.settings-field-label{font-size:14px;font-weight:600}.settings-input,.settings-textarea{box-sizing:border-box;width:100%}.settings-textarea{font-size:13px}.settings-number{width:120px}.settings-check{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.settings-variables{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.settings-variables code{background:var(--bg-tertiary);color:var(--text-secondary);border-radius:6px;padding:2px 6px}.settings-list{flex-direction:column;gap:8px;display:flex}.settings-list-item{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary)}.settings-list-head{align-items:center;gap:4px;padding:4px 6px 4px 4px;display:flex}.settings-list-head .btn-text{padding:6px 8px}.settings-list-title{min-width:0;color:var(--text-primary);text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:1;align-items:center;gap:6px;padding:8px;font-size:14px;display:flex;overflow:hidden}.settings-list-caret{color:var(--text-muted);flex:none;transition:transform .15s}.settings-list-item.open .settings-list-caret{transform:rotate(90deg)}.settings-list-body{flex-direction:column;gap:12px;padding:4px 14px 14px;display:flex}.settings-list-field{color:var(--text-muted);flex-direction:column;gap:6px;font-size:12px;display:flex}.settings-list-add{align-self:flex-start}.settings-history{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);flex-direction:column;gap:4px;padding:12px 14px;font-size:13px;display:flex}.settings-history-title{margin-bottom:4px;font-weight:600}.settings-history-row{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:8px;display:flex}.settings-footer{border-top:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 28px;display:flex}.settings-status{color:var(--text-muted);font-size:12px}.settings-status.is-dirty{color:var(--accent-light)}.settings-footer-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}@media (width<=768px){.settings-center-backdrop{z-index:2700;padding:0}.modal-container.settings-center{border:0;border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh}.settings-center .modal-header{padding:12px 16px}.settings-center.has-selection .settings-title{display:none}.settings-center.has-selection .settings-back{padding:6px 4px;display:inline-flex}.settings-center.has-selection .settings-header-title{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;display:block;overflow:hidden}.settings-center-body{grid-template-columns:minmax(0,1fr)}.settings-nav{border-right:0;padding:12px 16px}.settings-nav-item{padding:13px 10px;font-size:15px}.settings-nav-arrow{display:block}.settings-center.has-selection .settings-nav,.settings-center:not(.has-selection) .settings-main{display:none}.settings-editor-scroll,.settings-page-pane{padding:16px}.settings-footer{padding:10px 16px calc(10px + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:8px}.settings-footer-actions{justify-content:space-between}.settings-footer-actions .btn-primary{margin-left:auto}}
