*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;color:#333;background:#f5f5f5;margin:0;padding:0;overflow-x:hidden}#app{min-height:100vh;width:100%}.password-gate{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top,#f5f7ff,#e6ecf6 60%,#dde5f3);padding:24px}.password-gate__card{width:min(420px,100%);background:#fff;border-radius:16px;padding:28px;box-shadow:0 20px 60px #0f172a1f;display:flex;flex-direction:column;gap:16px}.password-gate__header h1{font-size:22px;font-weight:600;color:#1f2937;margin-bottom:6px}.password-gate__header p{color:#6b7280;font-size:14px}.password-gate__form{display:flex;flex-direction:column;gap:12px}.password-gate__form input{border:1px solid #e5e7eb;border-radius:10px;padding:12px 14px;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.password-gate__form input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633;outline:none}.password-gate__error{color:#dc2626;font-size:13px}.password-gate__hint{color:#94a3b8;font-size:12px}.btn{display:inline-block;padding:8px 16px;border:none;border-radius:4px;cursor:pointer;text-decoration:none;font-size:14px;font-weight:500;text-align:center;transition:all .3s ease;-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background:#0056b3}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background:#545b62}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover:not(:disabled){background:#c82333}.btn-sm{padding:6px 12px;font-size:12px}@media(max-width:768px){.container{padding:0 15px}}.wallpaper-background[data-v-9ddd03ec]{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1;overflow:hidden}.default-background[data-v-9ddd03ec]{width:100%;height:100%;background:linear-gradient(135deg,#667eea,#764ba2);background-size:400% 400%;animation:gradientShift-9ddd03ec 15s ease infinite}.user-wallpaper[data-v-9ddd03ec]{width:100%;height:100%;background-size:100% 100%;background-position:center;background-repeat:no-repeat;background-attachment:fixed}.background-overlay[data-v-9ddd03ec]{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#0000001a,#0000004d);pointer-events:none}@keyframes gradientShift-9ddd03ec{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@media(max-width:768px){.user-wallpaper[data-v-9ddd03ec]{background-attachment:scroll;background-size:100% 100%}}@media(orientation:portrait){.user-wallpaper[data-v-9ddd03ec]{background-size:100% 100%}}@media(orientation:landscape){.user-wallpaper[data-v-9ddd03ec]{background-size:100% 100%}}.ctx-root[data-v-3514182c]{position:fixed;inset:0;z-index:2000}.ctx-menu[data-v-3514182c]{position:fixed;min-width:160px;background:#1e1e1ef2;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:8px;box-shadow:0 6px 24px #00000059;padding:6px 0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ctx-item[data-v-3514182c]{padding:8px 14px;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.ctx-item[data-v-3514182c]:hover{background:#ffffff1f}.ctx-item.disabled[data-v-3514182c]{opacity:.5;cursor:not-allowed}.ctx-item.danger[data-v-3514182c]:hover{background:#dc262640;color:#fecaca}.desktop-icons[data-v-85d745eb]{position:absolute;top:20px;left:20px;display:grid;grid-template-columns:repeat(auto-fill,72px);gap:16px;z-index:10}.icon-item[data-v-85d745eb]{width:72px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:default;-webkit-user-select:none;user-select:none}.icon-item.selected .label[data-v-85d745eb]{background:#fff3;border-radius:6px;padding:2px 4px}.icon[data-v-85d745eb]{width:48px;height:48px;object-fit:contain;-webkit-user-drag:none}.label[data-v-85d745eb]{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);font-size:12px;text-align:center}.backdrop[data-v-638f3034]{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:2100}.dialog[data-v-638f3034]{width:360px;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 10px 30px #0003}.title[data-v-638f3034]{font-weight:600;padding:12px 16px;border-bottom:1px solid #eee}.content[data-v-638f3034]{padding:16px;color:#333}.actions[data-v-638f3034]{display:flex;justify-content:flex-end;gap:10px;padding:10px 16px;border-top:1px solid #eee}button[data-v-638f3034]{padding:6px 12px;border:1px solid #ddd;background:#f9f9f9;border-radius:6px;cursor:pointer}.danger[data-v-638f3034]{background:#dc2626;color:#fff;border-color:#dc2626}.desktop-icons[data-v-04e20382]{position:absolute;top:20px;left:120px;display:grid;grid-template-columns:repeat(auto-fill,72px);gap:16px;z-index:5}.icon-item[data-v-04e20382]{width:72px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:default;-webkit-user-select:none;user-select:none}.icon-item.selected .label[data-v-04e20382]{background:#fff3;border-radius:6px;padding:2px 4px}.icon[data-v-04e20382]{width:48px;height:48px;object-fit:contain;-webkit-user-drag:none}.label[data-v-04e20382]{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);font-size:12px;text-align:center}.window-header[data-v-1f7c5294]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:1px solid #dee2e6;cursor:move;-webkit-user-select:none;user-select:none}.window-header.active[data-v-1f7c5294]{background:linear-gradient(135deg,#007acc,#005a9e);color:#fff}.window-title[data-v-1f7c5294]{font-weight:600;font-size:14px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.window-controls[data-v-1f7c5294]{display:flex;gap:4px}.control-btn[data-v-1f7c5294]{width:24px;height:24px;border:none;background:#0000001a;border-radius:4px;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease}.control-btn[data-v-1f7c5294]:hover{background:#0003}.control-btn.close[data-v-1f7c5294]:hover{background:#e74c3c;color:#fff}.control-btn.minimize[data-v-1f7c5294]:hover{background:#f39c12;color:#fff}.control-btn.maximize[data-v-1f7c5294]:hover{background:#27ae60;color:#fff}.window-header.active .control-btn[data-v-1f7c5294]{background:#fff3;color:#fff}.window-header.active .control-btn[data-v-1f7c5294]:hover{background:#ffffff4d}.app-window[data-v-a495fdf2]{position:fixed;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 4px 20px #00000026;border:1px solid #e0e0e0;transition:box-shadow .2s ease}.app-window.active[data-v-a495fdf2]{box-shadow:0 8px 30px #00000040;border-color:#007acc}.app-window.maximized[data-v-a495fdf2]{border-radius:0}.window-body[data-v-a495fdf2]{padding:12px;height:calc(100% - 67px);overflow:auto}.window-footer-drag[data-v-a495fdf2]{position:absolute;left:0;right:0;bottom:0;height:22px;cursor:move;background:transparent;z-index:15}.app-window.active .window-footer-drag[data-v-a495fdf2]{background:linear-gradient(135deg,#007acc,#005a9e);opacity:.95}.resize-handle[data-v-a495fdf2]{position:absolute;width:14px;height:14px;z-index:20;opacity:.6}.resize-handle.tl[data-v-a495fdf2]{left:6px;top:6px;cursor:nwse-resize}.resize-handle.tr[data-v-a495fdf2]{right:6px;top:6px;cursor:nesw-resize}.resize-handle.bl[data-v-a495fdf2]{left:6px;bottom:6px;cursor:nesw-resize}.resize-handle.br[data-v-a495fdf2]{right:6px;bottom:6px;cursor:nwse-resize}.resize-corner[data-v-a495fdf2]{width:100%;height:100%;background:transparent}.empty[data-v-a495fdf2]{color:#888;text-align:center;padding:40px 0}.app-window.minimized[data-v-a495fdf2]{transform:scale(0);opacity:0;transition:all .3s ease}.window-manager[data-v-783f2df3]{position:relative;z-index:100}.taskbar[data-v-783f2df3]{position:fixed;bottom:0;left:0;right:0;height:48px;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.1);z-index:1000}.taskbar-items[data-v-783f2df3]{display:flex;align-items:center;height:100%;padding:0 12px;gap:8px;overflow-x:auto}.taskbar-item[data-v-783f2df3]{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#ffffff1a;border-radius:6px;cursor:pointer;transition:all .2s ease;min-width:120px;max-width:200px;color:#fff;font-size:14px}.taskbar-item[data-v-783f2df3]:hover{background:#fff3}.taskbar-item.active[data-v-783f2df3]{background:#007bff99}.taskbar-item.minimized[data-v-783f2df3]{opacity:.6}.taskbar-icon[data-v-783f2df3]{font-size:16px;flex-shrink:0}.taskbar-title[data-v-783f2df3]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.taskbar-items[data-v-783f2df3]::-webkit-scrollbar{height:4px}.taskbar-items[data-v-783f2df3]::-webkit-scrollbar-track{background:transparent}.taskbar-items[data-v-783f2df3]::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}.upload-progress-panel[data-v-76aee1af]{position:fixed;left:16px;bottom:16px;width:340px;background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;overflow:hidden;z-index:1000;border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #00000026;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.panel-header[data-v-76aee1af]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.header-left[data-v-76aee1af]{display:flex;flex-direction:column;gap:2px}.title[data-v-76aee1af]{font-size:14px;font-weight:600}.subtitle[data-v-76aee1af]{font-size:11px;opacity:.85}.header-actions[data-v-76aee1af]{display:flex;align-items:center;gap:4px}.minimize-btn[data-v-76aee1af],.close-btn[data-v-76aee1af]{background:none;border:none;color:#fff;font-size:14px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.minimize-btn[data-v-76aee1af]:hover,.close-btn[data-v-76aee1af]:hover{background:#fff3}.close-btn[data-v-76aee1af]{font-size:18px}.progress-container[data-v-76aee1af]{padding:16px}.file-info[data-v-76aee1af]{margin-bottom:12px}.file-name[data-v-76aee1af]{font-size:13px;font-weight:500;color:#333;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:6px}.file-icon[data-v-76aee1af]{font-size:16px;flex-shrink:0}.file-size[data-v-76aee1af]{font-size:11px;color:#666}.progress-bar[data-v-76aee1af]{width:100%;height:6px;background:#f0f0f0;border-radius:3px;overflow:hidden;margin-bottom:8px}.progress-bar.complete[data-v-76aee1af]{background:#d1fae5}.progress-bar.error[data-v-76aee1af]{background:#fee2e2}.progress-fill[data-v-76aee1af]{height:100%;background:linear-gradient(90deg,#4ade80,#22c55e);transition:width .3s ease;border-radius:3px}.progress-fill.animate-pulse[data-v-76aee1af]{animation:pulse-76aee1af 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse-76aee1af{0%,to{opacity:1}50%{opacity:.8}}.progress-details[data-v-76aee1af]{display:flex;justify-content:space-between;align-items:center}.progress-text[data-v-76aee1af]{font-size:12px;font-weight:600;color:#333}.progress-text.complete[data-v-76aee1af]{color:#22c55e}.speed-info[data-v-76aee1af]{display:flex;align-items:center;gap:8px}.speed-text[data-v-76aee1af]{font-size:11px;color:#666}.time-remaining[data-v-76aee1af]{font-size:11px;color:#999}.upload-list[data-v-76aee1af]{border-top:1px solid #f0f0f0;padding:12px 16px;background:#fafafa}.list-header[data-v-76aee1af]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.list-title[data-v-76aee1af]{font-size:11px;color:#666;font-weight:500}.list-count[data-v-76aee1af]{font-size:10px;color:#999}.queue-scroll[data-v-76aee1af]{max-height:150px;overflow-y:auto}.queue-scroll.show-scroll[data-v-76aee1af]{padding-right:4px}.queue-scroll[data-v-76aee1af]::-webkit-scrollbar{width:4px}.queue-scroll[data-v-76aee1af]::-webkit-scrollbar-track{background:#f1f1f1;border-radius:2px}.queue-scroll[data-v-76aee1af]::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.queue-item[data-v-76aee1af]{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:6px 8px;border-radius:6px;background:#fff;transition:all .2s ease}.queue-item[data-v-76aee1af]:last-child{margin-bottom:0}.queue-item.current[data-v-76aee1af]{background:#eff6ff;border:1px solid #bfdbfe}.queue-item.completed[data-v-76aee1af]{background:#f0fdf4}.queue-item.waiting[data-v-76aee1af]{opacity:.6}.item-status[data-v-76aee1af]{font-size:12px;width:16px;text-align:center;flex-shrink:0}.item-name[data-v-76aee1af]{font-size:11px;color:#333;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-progress[data-v-76aee1af]{display:flex;align-items:center;gap:6px;flex-shrink:0}.item-bar[data-v-76aee1af]{width:50px;height:3px;background:#e0e0e0;border-radius:2px;overflow:hidden}.item-fill[data-v-76aee1af]{height:100%;background:linear-gradient(90deg,#3b82f6,#1d4ed8);transition:width .2s ease;border-radius:2px}.queue-item.completed .item-fill[data-v-76aee1af]{background:linear-gradient(90deg,#4ade80,#22c55e)}.item-text[data-v-76aee1af]{font-size:10px;color:#666;min-width:28px;text-align:right}.slide-up-enter-active[data-v-76aee1af],.slide-up-leave-active[data-v-76aee1af]{transition:all .3s ease}.slide-up-enter-from[data-v-76aee1af],.slide-up-leave-to[data-v-76aee1af]{opacity:0;transform:translateY(20px)}.collapse-enter-active[data-v-76aee1af],.collapse-leave-active[data-v-76aee1af]{transition:all .2s ease;overflow:hidden}.collapse-enter-from[data-v-76aee1af],.collapse-leave-to[data-v-76aee1af]{opacity:0;max-height:0}.collapse-enter-to[data-v-76aee1af],.collapse-leave-from[data-v-76aee1af]{max-height:400px}.backdrop[data-v-2513d9ef]{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.dialog[data-v-2513d9ef]{width:360px;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 10px 30px #0003}.title[data-v-2513d9ef]{font-weight:600;padding:12px 16px;border-bottom:1px solid #eee;cursor:move;-webkit-user-select:none;user-select:none}.content[data-v-2513d9ef]{padding:16px;color:#333}.actions[data-v-2513d9ef]{display:flex;justify-content:flex-end;gap:10px;padding:10px 16px;border-top:1px solid #eee}button[data-v-2513d9ef],.primary[data-v-2513d9ef]{padding:6px 12px;border:1px solid #ddd;background:#f9f9f9;border-radius:6px;cursor:pointer;text-decoration:none;color:#333}.secondary[data-v-2513d9ef]{background:#2563eb;color:#fff;border-color:#2563eb}.primary[data-v-2513d9ef]{background:#16a34a;color:#fff;border-color:#16a34a}.backdrop[data-v-e0869fc0]{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2001}.viewer[data-v-e0869fc0]{width:min(92vw,1200px);height:min(92vh,800px);background:#111;color:#fff;border-radius:12px;overflow:hidden;box-shadow:0 20px 60px #00000073;display:flex;flex-direction:column}.header[data-v-e0869fc0]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#ffffff0f;cursor:move;-webkit-user-select:none;user-select:none}.title[data-v-e0869fc0]{font-weight:600}.close[data-v-e0869fc0]{border:none;background:transparent;color:#fff;font-size:18px;cursor:pointer}.content[data-v-e0869fc0]{flex:1;display:flex;align-items:center;justify-content:center;padding:10px;overflow:hidden}.doc-wrap[data-v-e0869fc0]{width:100%;height:100%;display:flex;flex-direction:column;position:relative}.doc-frame[data-v-e0869fc0]{width:100%;height:100%;border:none;background:#fff;border-radius:8px;flex-grow:1}.media[data-v-e0869fc0]{max-width:100%;max-height:100%;object-fit:contain;background:#000;border-radius:8px}.text-preview[data-v-e0869fc0]{width:100%;height:100%;background:#0b0f19;color:#e5e7eb;padding:16px;overflow:auto;border-radius:8px;border:1px solid rgba(255,255,255,.08);white-space:pre-wrap}.markdown-preview[data-v-e0869fc0]{width:100%;height:100%;background:#1a1f2e;color:#e5e7eb;padding:24px 32px;overflow:auto;border-radius:8px;border:1px solid rgba(255,255,255,.08);line-height:1.7;font-size:15px}.markdown-preview[data-v-e0869fc0] h1,.markdown-preview[data-v-e0869fc0] h2,.markdown-preview[data-v-e0869fc0] h3,.markdown-preview[data-v-e0869fc0] h4,.markdown-preview[data-v-e0869fc0] h5,.markdown-preview[data-v-e0869fc0] h6{color:#fff;margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.3}.markdown-preview[data-v-e0869fc0] h1{font-size:2em;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.3em}.markdown-preview[data-v-e0869fc0] h2{font-size:1.5em;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:.3em}.markdown-preview[data-v-e0869fc0] h3{font-size:1.25em}.markdown-preview[data-v-e0869fc0] p{margin:1em 0}.markdown-preview[data-v-e0869fc0] code{background:#ffffff1a;padding:2px 6px;border-radius:4px;font-family:Fira Code,Consolas,Monaco,monospace;font-size:.9em}.markdown-preview[data-v-e0869fc0] pre{background:#0d1117;padding:16px;border-radius:8px;overflow-x:auto;margin:1em 0}.markdown-preview[data-v-e0869fc0] pre code{background:transparent;padding:0}.markdown-preview[data-v-e0869fc0] blockquote{border-left:4px solid #3b82f6;margin:1em 0;padding:.5em 1em;background:#3b82f61a;color:#93c5fd}.markdown-preview[data-v-e0869fc0] ul,.markdown-preview[data-v-e0869fc0] ol{padding-left:2em;margin:1em 0}.markdown-preview[data-v-e0869fc0] li{margin:.5em 0}.markdown-preview[data-v-e0869fc0] a{color:#60a5fa;text-decoration:none}.markdown-preview[data-v-e0869fc0] a:hover{text-decoration:underline}.markdown-preview[data-v-e0869fc0] table{width:100%;border-collapse:collapse;margin:1em 0}.markdown-preview[data-v-e0869fc0] th,.markdown-preview[data-v-e0869fc0] td{border:1px solid rgba(255,255,255,.15);padding:8px 12px;text-align:left}.markdown-preview[data-v-e0869fc0] th{background:#ffffff0d;font-weight:600}.markdown-preview[data-v-e0869fc0] hr{border:none;border-top:1px solid rgba(255,255,255,.1);margin:2em 0}.markdown-preview[data-v-e0869fc0] img{max-width:100%;border-radius:8px}.fallback[data-v-e0869fc0]{color:#ddd}.doc-actions[data-v-e0869fc0]{position:absolute;top:12px;right:20px;z-index:10;display:flex;align-items:center;gap:12px}.doc-tip[data-v-e0869fc0]{font-size:13px;color:#555}.btn[data-v-e0869fc0]{border:1px solid rgba(150,150,150,.4);background:#ffffffe6;color:#333;border-radius:6px;padding:6px 10px;cursor:pointer;text-decoration:none;font-size:13px}.viewer[data-v-ed248ce8]{width:100%;height:100%;background:#111;color:#fff;display:flex;flex-direction:column;height:calc(100% - 45px)}.header[data-v-ed248ce8]{padding:8px 12px;background:#ffffff0f}.content[data-v-ed248ce8]{flex:1;display:flex;align-items:center;justify-content:center;padding:10px;overflow:hidden}.doc-frame[data-v-ed248ce8]{width:100%;height:100%;border:none;background:#fff;border-radius:8px}.media[data-v-ed248ce8]{max-width:100%;max-height:100%;object-fit:contain;background:#000;border-radius:8px}.text-preview[data-v-ed248ce8]{width:100%;height:100%;background:#0b0f19;color:#e5e7eb;padding:16px;overflow:auto;border-radius:8px;border:1px solid rgba(255,255,255,.08);white-space:pre-wrap}.doc-actions[data-v-ed248ce8]{position:absolute;top:12px;right:20px;z-index:10}.doc-tip[data-v-ed248ce8]{font-size:13px;color:#555}.btn[data-v-ed248ce8]{border:1px solid rgba(150,150,150,.4);background:#ffffffe6;color:#333;border-radius:6px;padding:6px 10px;text-decoration:none}.floating-controls[data-v-d89d3b84]{position:fixed;bottom:30px;right:30px;display:flex;flex-direction:column;gap:15px;z-index:15}.control-btn[data-v-d89d3b84]{width:60px;height:60px;border-radius:50%;border:none;background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-size:24px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid rgba(255,255,255,.1)}.floating-controls[data-v-d89d3b84],.control-btn[data-v-d89d3b84]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;caret-color:transparent}.control-btn[data-v-d89d3b84]:hover{background:#000000e6;transform:scale(1.1);box-shadow:0 8px 25px #0000004d}@media(max-width:768px){.floating-controls[data-v-d89d3b84]{bottom:20px;right:20px}.control-btn[data-v-d89d3b84]{width:50px;height:50px;font-size:20px}}.home[data-v-9883dde1]{position:relative;min-height:100vh;width:100%}.home.dragover[data-v-9883dde1]{outline:2px dashed rgba(255,255,255,.7)}.desktop-files[data-v-9883dde1]{position:absolute;top:20px;left:120px;display:grid;grid-template-columns:repeat(auto-fill,72px);gap:16px;z-index:2}.floating-controls[data-v-9883dde1]{position:fixed;bottom:30px;right:30px;display:flex;flex-direction:column;gap:15px;z-index:15}.control-btn[data-v-9883dde1]{width:60px;height:60px;border-radius:50%;border:none;background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-size:24px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid rgba(255,255,255,.1)}.control-btn[data-v-9883dde1]:hover{background:#000000e6;transform:scale(1.1);box-shadow:0 8px 25px #0000004d}.floating-controls[data-v-9883dde1],.control-btn[data-v-9883dde1]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;caret-color:transparent}.selection-rect[data-v-9883dde1]{position:fixed;border:1px solid rgba(0,123,255,.8);background:#007bff1a;z-index:20;pointer-events:none}@media(max-width:768px){.floating-controls[data-v-9883dde1]{bottom:20px;right:20px}.control-btn[data-v-9883dde1]{width:50px;height:50px;font-size:20px}}.pagination-controls[data-v-1b171785]{display:flex;align-items:center;gap:10px}.pagination-controls .info[data-v-1b171785]{min-width:140px;text-align:center}.module-sider[data-v-dc6b1eef]{background:#fff;border-right:1px solid #e5e7eb;padding:16px}.module-header-row[data-v-dc6b1eef]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.module-title[data-v-dc6b1eef]{font-weight:600;color:#111827}.group-list[data-v-dc6b1eef]{display:flex;flex-direction:column;gap:6px}.group-item[data-v-dc6b1eef]{padding:8px 10px;border-radius:6px;cursor:pointer;color:#111827}.group-item[data-v-dc6b1eef]:hover{background:#f3f4f6}.group-item.active[data-v-dc6b1eef]{background:#e0e7ff;color:#1d4ed8}.btn[data-v-dc6b1eef]{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .3s ease}.btn-secondary[data-v-dc6b1eef]{background:#6c757d;color:#fff}.btn-secondary[data-v-dc6b1eef]:hover{background:#545b62}.btn-sm[data-v-dc6b1eef]{padding:6px 12px;font-size:12px}.btn-danger[data-v-dc6b1eef]{background:#dc3545;color:#fff}.btn-danger[data-v-dc6b1eef]:hover{background:#b02a37}.btn[data-v-dc6b1eef]:disabled,.btn[disabled][data-v-dc6b1eef]{opacity:.6;cursor:not-allowed}.header-actions[data-v-dc6b1eef]{display:flex;gap:8px;align-items:center}.apply-current[data-v-dc6b1eef]{margin-top:12px}.full-width[data-v-dc6b1eef]{width:100%}.tip[data-v-dc6b1eef]{margin-top:8px;color:#6b7280;font-size:12px}.page-header[data-v-f7d49a63]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.page-header h1[data-v-f7d49a63]{margin:0;color:#111827;font-size:20px}.action-buttons[data-v-f7d49a63]{display:flex;gap:10px;align-items:center}.upload-group[data-v-f7d49a63]{display:flex;gap:6px}.upload-group .small[data-v-f7d49a63]{padding:6px 10px;font-size:13px}.btn[data-v-f7d49a63]{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .3s ease}.btn[data-v-f7d49a63]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-f7d49a63]{background:#007bff;color:#fff}.btn-primary[data-v-f7d49a63]:hover:not(:disabled){background:#0056b3}.btn-secondary[data-v-f7d49a63]{background:#6c757d;color:#fff}.btn-secondary[data-v-f7d49a63]:hover:not(:disabled){background:#545b62}.btn-accent[data-v-f7d49a63]{background:#28a745;color:#fff}.btn-accent[data-v-f7d49a63]:hover:not(:disabled){background:#1e7e34}.btn-danger[data-v-f7d49a63]{background:#dc3545;color:#fff}.btn-danger[data-v-f7d49a63]:hover:not(:disabled){background:#c82333}.btn-success[data-v-f7d49a63]{background:#28a745;color:#fff}.btn-success[data-v-f7d49a63]:hover:not(:disabled){background:#218838}.btn-info[data-v-f7d49a63]{background:#17a2b8;color:#fff}.btn-info[data-v-f7d49a63]:hover:not(:disabled){background:#138496}.toolbar[data-v-c7ef550c]{display:flex;align-items:center;gap:12px;margin-bottom:10px}.search-input[data-v-c7ef550c]{flex:1;padding:8px 12px;border:1px solid #e5e7eb;border-radius:6px;background:#fff}.toolbar-actions[data-v-c7ef550c]{display:flex;gap:8px}.btn[data-v-c7ef550c]{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .3s ease}.btn-secondary[data-v-c7ef550c]{background:#6c757d;color:#fff}.btn-secondary[data-v-c7ef550c]:hover{background:#545b62}.btn-sm[data-v-c7ef550c]{padding:6px 12px;font-size:12px}.wallpaper-list table[data-v-6b378a9e]{width:100%;border-collapse:collapse;margin-top:16px}.wallpaper-list th[data-v-6b378a9e],.wallpaper-list td[data-v-6b378a9e]{padding:12px 16px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:middle}.wallpaper-list th[data-v-6b378a9e]{background-color:#f9fafb;font-weight:600;color:#374151}.wallpaper-list tr.active[data-v-6b378a9e]{background-color:#eff6ff}.name-cell[data-v-6b378a9e]{max-width:250px;overflow:hidden}.name-truncate[data-v-6b378a9e]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.thumbnail[data-v-6b378a9e]{width:100px;height:56.25px;object-fit:cover;border-radius:4px}.wallpaper-list td .btn[data-v-6b378a9e]{margin-right:8px}.btn[data-v-6b378a9e]{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .3s ease}.btn-primary[data-v-6b378a9e]{background:#007bff;color:#fff}.btn-primary[data-v-6b378a9e]:hover{background:#0056b3}.btn-danger[data-v-6b378a9e]{background:#dc3545;color:#fff}.btn-danger[data-v-6b378a9e]:hover{background:#c82333}.btn-sm[data-v-6b378a9e]{padding:6px 12px;font-size:12px}.modal-overlay[data-v-6ff9fe1b]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-6ff9fe1b]{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:80vh;overflow-y:auto}.modal-header[data-v-6ff9fe1b]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee;cursor:move;-webkit-user-select:none;user-select:none}.modal-header h3[data-v-6ff9fe1b]{margin:0;color:#333;font-size:18px}.close-btn[data-v-6ff9fe1b]{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-btn[data-v-6ff9fe1b]:hover{color:#333}.modal-body[data-v-6ff9fe1b]{padding:20px}.modal-footer[data-v-6ff9fe1b]{padding:0 20px 20px}.modal-content[data-v-6ff9fe1b] .modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.modal-content[data-v-6ff9fe1b] .btn{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .3s ease;box-shadow:0 2px 6px #1018280f}.modal-content[data-v-6ff9fe1b] .btn:disabled{opacity:.6;cursor:not-allowed}.modal-content[data-v-6ff9fe1b] .btn-primary{background:#007bff;color:#fff}.modal-content[data-v-6ff9fe1b] .btn-primary:hover:not(:disabled){background:#0056b3}.modal-content[data-v-6ff9fe1b] .btn-secondary{background:#6c757d;color:#fff}.modal-content[data-v-6ff9fe1b] .btn-secondary:hover{background:#545b62}.file-input-wrapper[data-v-bc5d1c29]{position:relative}.file-input[data-v-bc5d1c29]{position:absolute;opacity:0;pointer-events:none}.file-input-display[data-v-bc5d1c29]{border:2px dashed #ddd;border-radius:4px;padding:40px 20px;text-align:center;cursor:pointer;transition:border-color .3s ease}.file-input-display.drag-over[data-v-bc5d1c29]{border-color:#007bff;background:#007bff0a}.file-input-display[data-v-bc5d1c29]:hover{border-color:#007bff}.file-input-display small[data-v-bc5d1c29]{color:#666;font-size:12px;margin-top:8px;display:block}.file-preview[data-v-d04d5930]{margin-top:20px}.preview-item[data-v-d04d5930]{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid #eee;border-radius:4px;margin-bottom:10px}.preview-item img[data-v-d04d5930]{width:60px;height:60px;object-fit:cover;border-radius:4px}.preview-info[data-v-d04d5930]{flex:1}.file-name[data-v-d04d5930]{margin:0 0 4px;font-weight:500;color:#333}.file-size[data-v-d04d5930]{margin:0;font-size:12px;color:#666}.file-resolution[data-v-d04d5930]{margin:0;font-size:12px;color:#007bff;font-weight:500}.compressed-info[data-v-d04d5930]{color:#666;font-weight:400}.compression-notice[data-v-d04d5930]{margin:0;font-size:11px;color:#28a745;font-weight:500}.progress-wrapper[data-v-d04d5930]{margin-top:6px;display:flex;align-items:center;gap:8px}.progress-track[data-v-d04d5930]{flex:1;height:6px;background:#e6ebf0;border-radius:999px;overflow:hidden}.progress-value[data-v-d04d5930]{height:100%;background:#007bff;transition:width .2s ease}.progress-label[data-v-d04d5930]{font-size:12px;color:#6c7a89;min-width:32px;text-align:right}.remove-btn[data-v-d04d5930]{background:#dc3545;color:#fff;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px}.remove-btn[data-v-d04d5930]:hover{background:#c82333}.form-group[data-v-30d6baf9]{margin-bottom:20px}.form-group label[data-v-30d6baf9]{display:block;margin-bottom:8px;font-weight:500;color:#333}.form-group select[data-v-30d6baf9],.form-group input[type=text][data-v-30d6baf9]{width:100%;padding:10px 12px;border:1px solid #e3e7ea;border-radius:6px;background:#fff;box-shadow:inset 0 1px #00000005;font-size:14px}.dropzone[data-v-30d6baf9]{display:block;border:2px dashed #d0d7de;background:linear-gradient(180deg,#fbfcfd,#fff);padding:18px;border-radius:8px;text-align:center;color:#55606a;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.dropzone[data-v-30d6baf9]:hover{border-color:#9fb0c7;box-shadow:0 6px 18px #1018280f}.dropzone small[data-v-30d6baf9]{display:block;color:#6c7a89;margin-top:6px}.error-message[data-v-30d6baf9]{background:#fee;color:#c33;padding:10px;border-radius:4px;margin-bottom:20px}.upload-progress[data-v-30d6baf9]{margin-bottom:20px}.progress-bar[data-v-30d6baf9]{width:100%;height:8px;background:#eee;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill[data-v-30d6baf9]{height:100%;background:#007bff;transition:width .3s ease}.form-group[data-v-66a89e30]{margin-bottom:20px}.form-group label[data-v-66a89e30]{display:block;margin-bottom:8px;font-weight:500;color:#333}.form-group select[data-v-66a89e30]{width:100%;padding:10px 12px;border:1px solid #e3e7ea;border-radius:6px;background:#fff;box-shadow:inset 0 1px #00000005;font-size:14px}.dropzone[data-v-66a89e30]{display:block;border:2px dashed #d0d7de;background:linear-gradient(180deg,#fbfcfd,#fff);padding:18px;border-radius:8px;text-align:center;color:#55606a;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.dropzone[data-v-66a89e30]:hover{border-color:#9fb0c7;box-shadow:0 6px 18px #1018280f}.dropzone small[data-v-66a89e30]{display:block;color:#6c7a89;margin-top:6px}.error-message[data-v-66a89e30]{background:#fee;color:#c33;padding:10px;border-radius:4px;margin-bottom:20px}.upload-progress[data-v-66a89e30]{margin-bottom:20px}.progress-bar[data-v-66a89e30]{width:100%;height:8px;background:#eee;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill[data-v-66a89e30]{height:100%;background:#007bff;transition:width .3s ease}.modal-overlay[data-v-ed4dc334]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-ed4dc334]{background:#fff;border-radius:8px;width:90%;max-width:480px}.modal-header[data-v-ed4dc334]{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #eee;cursor:move;-webkit-user-select:none;user-select:none}.modal-body[data-v-ed4dc334]{padding:16px}.form-group[data-v-ed4dc334]{margin-bottom:16px}.form-group label[data-v-ed4dc334]{display:block;margin-bottom:8px;font-weight:500}.form-group input[data-v-ed4dc334]{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.error-message[data-v-ed4dc334]{background:#fee;color:#c33;padding:8px 12px;border-radius:4px;margin-bottom:16px}.modal-actions[data-v-ed4dc334]{display:flex;justify-content:flex-end;gap:8px}.btn[data-v-ed4dc334]{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px}.btn[data-v-ed4dc334]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-ed4dc334]{background:#007bff;color:#fff}.btn-primary[data-v-ed4dc334]:hover:not(:disabled){background:#0056b3}.btn-secondary[data-v-ed4dc334]{background:#6c757d;color:#fff}.btn-secondary[data-v-ed4dc334]:hover{background:#545b62}.modal-overlay[data-v-b3013059]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-b3013059]{background:#fff;border-radius:8px;width:90%;max-width:500px}.modal-header[data-v-b3013059]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee;cursor:move;-webkit-user-select:none;user-select:none}.modal-header h3[data-v-b3013059]{margin:0;color:#333}.close-btn[data-v-b3013059]{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-btn[data-v-b3013059]:hover{color:#333}.modal-body[data-v-b3013059]{padding:20px}.form-group[data-v-b3013059]{margin-bottom:20px}.form-group label[data-v-b3013059]{display:block;margin-bottom:8px;font-weight:500;color:#333}.form-group input[data-v-b3013059],.form-group textarea[data-v-b3013059]{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.form-group input[data-v-b3013059]:focus,.form-group textarea[data-v-b3013059]:focus{outline:none;border-color:#007bff}.form-group textarea[data-v-b3013059]{resize:vertical;min-height:80px}.error-message[data-v-b3013059]{background:#fee;color:#c33;padding:10px;border-radius:4px;margin-bottom:20px}.modal-actions[data-v-b3013059]{display:flex;justify-content:flex-end;gap:10px}.btn[data-v-b3013059]{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .3s ease}.btn[data-v-b3013059]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-b3013059]{background:#007bff;color:#fff}.btn-primary[data-v-b3013059]:hover:not(:disabled){background:#0056b3}.btn-secondary[data-v-b3013059]{background:#6c757d;color:#fff}.btn-secondary[data-v-b3013059]:hover{background:#545b62}.modal-overlay[data-v-0010f6f2]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-0010f6f2]{background:#fff;border-radius:8px;width:90%;max-width:400px;overflow:hidden}.modal-header[data-v-0010f6f2]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee;cursor:move;-webkit-user-select:none;user-select:none}.modal-header h3[data-v-0010f6f2]{margin:0}.close-btn[data-v-0010f6f2]{background:none;border:none;font-size:24px;cursor:pointer}.modal-body[data-v-0010f6f2]{padding:20px}.form-group[data-v-0010f6f2]{margin-bottom:16px}.form-group label[data-v-0010f6f2]{display:block;margin-bottom:8px;font-weight:500}.form-group select[data-v-0010f6f2]{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px}.modal-actions[data-v-0010f6f2]{display:flex;justify-content:flex-end;gap:10px;padding:20px;border-top:1px solid #eee}.btn[data-v-0010f6f2]{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px}.btn[data-v-0010f6f2]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-0010f6f2]{background:#007bff;color:#fff}.btn-primary[data-v-0010f6f2]:hover:not(:disabled){background:#0056b3}.btn-secondary[data-v-0010f6f2]{background:#6c757d;color:#fff}.btn-secondary[data-v-0010f6f2]:hover{background:#545b62}.toast[data-v-5aeb368b]{position:fixed;right:20px;top:80px;padding:10px 14px;border-radius:6px;font-weight:600;z-index:1200}.toast-success[data-v-5aeb368b]{color:#065f46;background:#10b98114;border:1px solid rgba(16,185,129,.16)}.fade-enter-active[data-v-5aeb368b],.fade-leave-active[data-v-5aeb368b]{transition:opacity .3s ease}.fade-enter-from[data-v-5aeb368b],.fade-leave-to[data-v-5aeb368b]{opacity:0}.module-sider[data-v-aac71926]{background:#fff;border-right:1px solid #e5e7eb;padding:16px}.module-header-row[data-v-aac71926]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.module-title[data-v-aac71926]{font-weight:600}.group-list[data-v-aac71926]{display:flex;flex-direction:column;gap:6px}.group-item[data-v-aac71926]{padding:8px 10px;cursor:pointer;border-radius:6px}.group-item[data-v-aac71926]:hover{background:#f9fafb}.group-item.active[data-v-aac71926]{background:#eef2ff;color:#4f46e5;font-weight:500}.app-list[data-v-da2976f0]{overflow-x:auto}table[data-v-da2976f0]{width:100%;border-collapse:collapse}th[data-v-da2976f0],td[data-v-da2976f0]{padding:8px 12px;border-bottom:1px solid #eee;text-align:left;white-space:nowrap}thead[data-v-da2976f0]{background-color:#f9fafb}.icon[data-v-da2976f0]{width:32px;height:32px;object-fit:contain}.icon.placeholder[data-v-da2976f0]{display:inline-block;text-align:center;color:#888}.switch[data-v-da2976f0]{position:relative;display:inline-block;width:34px;height:20px}.switch input[data-v-da2976f0]{opacity:0;width:0;height:0}.slider[data-v-da2976f0]{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:20px}.slider[data-v-da2976f0]:before{position:absolute;content:"";height:12px;width:12px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider[data-v-da2976f0]{background-color:#2563eb}input:checked+.slider[data-v-da2976f0]:before{transform:translate(14px)}.icon-selector[data-v-76e04e78]{border:1px solid #ddd;border-radius:8px;overflow:hidden}.selector-tabs[data-v-76e04e78]{display:flex;background:#f5f5f5;border-bottom:1px solid #ddd}.tab[data-v-76e04e78]{flex:1;padding:8px 16px;border:none;background:none;cursor:pointer;font-size:14px;transition:all .2s}.tab[data-v-76e04e78]:hover{background:#e9e9e9}.tab.active[data-v-76e04e78]{background:#fff;color:#007bff;font-weight:500}.preset-icons[data-v-76e04e78]{padding:12px;max-height:300px;overflow-y:auto}.icon-grid[data-v-76e04e78]{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}.icon-item[data-v-76e04e78]{display:flex;flex-direction:column;align-items:center;padding:8px;border:2px solid transparent;border-radius:6px;cursor:pointer;transition:all .2s}.icon-item[data-v-76e04e78]:hover{background:#f8f9fa;border-color:#dee2e6}.icon-item.selected[data-v-76e04e78]{background:#e3f2fd;border-color:#2196f3}.icon-item img[data-v-76e04e78]{width:32px;height:32px;object-fit:contain;margin-bottom:4px}.icon-name[data-v-76e04e78]{font-size:11px;text-align:center;color:#666;line-height:1.2}.upload-section[data-v-76e04e78]{padding:20px;text-align:center}.file-input[data-v-76e04e78]{width:100%;padding:8px;border:2px dashed #ddd;border-radius:6px;background:#fafafa;cursor:pointer}.upload-preview[data-v-76e04e78]{margin-top:12px;display:flex;flex-direction:column;align-items:center;gap:8px}.upload-preview img[data-v-76e04e78]{width:48px;height:48px;object-fit:contain;border:1px solid #ddd;border-radius:4px;padding:4px}.selected-preview[data-v-76e04e78]{padding:12px;border-top:1px solid #ddd;background:#f8f9fa;display:flex;align-items:center;gap:8px}.preview-label[data-v-76e04e78]{font-size:12px;color:#666}.preview-icon[data-v-76e04e78]{width:24px;height:24px;object-fit:contain}.modal-backdrop[data-v-e7f2aaa2]{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-e7f2aaa2]{background:#fff;width:520px;border-radius:10px;overflow:hidden;box-shadow:0 10px 40px #0003}.modal-header[data-v-e7f2aaa2]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #eee}.modal-body[data-v-e7f2aaa2]{padding:12px}.title[data-v-e7f2aaa2]{font-weight:600}.close[data-v-e7f2aaa2]{background:none;border:none;cursor:pointer}.form-row[data-v-e7f2aaa2]{display:flex;gap:8px;align-items:center;margin-bottom:10px}.form-row label[data-v-e7f2aaa2]{width:72px;text-align:right;color:#555}.form-row input[data-v-e7f2aaa2]{flex:1;padding:6px 8px;border:1px solid #ddd;border-radius:6px}.icon-row[data-v-e7f2aaa2]{align-items:flex-start}.icon-selector-container[data-v-e7f2aaa2]{flex:1}.actions[data-v-e7f2aaa2]{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.modal-backdrop[data-v-f85b0230]{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-f85b0230]{background:#fff;width:520px;border-radius:10px;overflow:hidden;box-shadow:0 10px 40px #0003}.modal-header[data-v-f85b0230]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #eee}.modal-body[data-v-f85b0230]{padding:12px}.title[data-v-f85b0230]{font-weight:600}.close[data-v-f85b0230]{background:none;border:none;cursor:pointer}.form-row[data-v-f85b0230]{display:flex;gap:8px;align-items:center;margin-bottom:10px}.form-row label[data-v-f85b0230]{width:72px;text-align:right;color:#555}.form-row input[data-v-f85b0230]{flex:1;padding:6px 8px;border:1px solid #ddd;border-radius:6px}.icon-row[data-v-f85b0230]{align-items:flex-start}.icon-selector-container[data-v-f85b0230]{flex:1}.actions[data-v-f85b0230]{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.modal-backdrop[data-v-282b32d5]{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-282b32d5]{background:#fff;width:520px;border-radius:10px;overflow:hidden;box-shadow:0 10px 40px #0003}.modal-header[data-v-282b32d5]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #eee}.modal-body[data-v-282b32d5]{padding:12px}.title[data-v-282b32d5]{font-weight:600}.close[data-v-282b32d5]{background:none;border:none;cursor:pointer}.form-row[data-v-282b32d5]{display:flex;gap:8px;align-items:center;margin-bottom:10px}.form-row label[data-v-282b32d5]{width:72px;text-align:right;color:#555}.form-row input[data-v-282b32d5]{flex:1;padding:6px 8px;border:1px solid #ddd;border-radius:6px}.actions[data-v-282b32d5]{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.modal-backdrop[data-v-c1cd326e]{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-c1cd326e]{background:#fff;width:520px;border-radius:10px;overflow:hidden;box-shadow:0 10px 40px #0003}.modal-header[data-v-c1cd326e]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #eee}.modal-body[data-v-c1cd326e]{padding:12px}.title[data-v-c1cd326e]{font-weight:600}.close[data-v-c1cd326e]{background:none;border:none;cursor:pointer}.form-row[data-v-c1cd326e]{display:flex;gap:8px;align-items:center;margin-bottom:10px}.form-row label[data-v-c1cd326e]{width:72px;text-align:right;color:#555}.form-row select[data-v-c1cd326e]{flex:1;padding:6px 8px;border:1px solid #ddd;border-radius:6px;background-color:#fff}.actions[data-v-c1cd326e]{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.btn-space[data-v-2e40ff9d]{margin-left:8px}.btn-move[data-v-2e40ff9d]{background:#6b21a8;color:#fff;border:none;padding:6px 12px;border-radius:6px}.btn-move[data-v-2e40ff9d]:disabled{opacity:.5;cursor:not-allowed}.file-table-wrapper[data-v-aeab1ba5]{position:relative}.list-title[data-v-aeab1ba5]{margin:0}.content-area[data-v-aeab1ba5]{position:relative}.status-banner[data-v-aeab1ba5]{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.status-success[data-v-aeab1ba5]{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.status-error[data-v-aeab1ba5]{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.close-status[data-v-aeab1ba5]{background:transparent;border:none;font-size:18px;cursor:pointer;color:inherit}.loading-overlay[data-v-aeab1ba5]{position:absolute;inset:0;background:#ffffffbf;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:14px;color:#444}.loading-spinner[data-v-aeab1ba5]{width:32px;height:32px;border:3px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;animation:spin-aeab1ba5 1s linear infinite}@keyframes spin-aeab1ba5{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.gomoku-test-page[data-v-1158eb60]{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:20px}.page-header[data-v-1158eb60]{text-align:center;margin-bottom:30px}.page-header h1[data-v-1158eb60]{font-size:2.5rem;color:#333;margin-bottom:10px;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.page-header p[data-v-1158eb60]{color:#666;font-size:1.1rem}.game-wrapper[data-v-1158eb60]{display:flex;justify-content:center;margin-bottom:40px}.instructions[data-v-1158eb60]{max-width:1200px;margin:0 auto 40px;background:#fff;border-radius:16px;padding:30px;box-shadow:0 4px 20px #0000001a}.instructions h3[data-v-1158eb60]{text-align:center;color:#333;margin-bottom:30px;font-size:1.5rem}.instruction-grid[data-v-1158eb60]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.instruction-card[data-v-1158eb60]{text-align:center;padding:20px;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transition:transform .3s ease}.instruction-card[data-v-1158eb60]:hover{transform:translateY(-5px)}.instruction-icon[data-v-1158eb60]{font-size:2rem;margin-bottom:15px;display:block}.instruction-card h4[data-v-1158eb60]{margin:0 0 10px;font-size:1.1rem}.instruction-card p[data-v-1158eb60]{margin:0;font-size:.9rem;opacity:.9;line-height:1.4}.features[data-v-1158eb60]{max-width:1200px;margin:0 auto;background:#fff;border-radius:16px;padding:30px;box-shadow:0 4px 20px #0000001a}.features h3[data-v-1158eb60]{text-align:center;color:#333;margin-bottom:30px;font-size:1.5rem}.feature-list[data-v-1158eb60]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:25px}.feature-item[data-v-1158eb60]{display:flex;align-items:flex-start;gap:15px;padding:20px;border-radius:12px;background:#f8f9fa;transition:all .3s ease}.feature-item[data-v-1158eb60]:hover{background:#e9ecef;transform:translateY(-2px)}.feature-icon[data-v-1158eb60]{font-size:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.feature-content h4[data-v-1158eb60]{margin:0 0 8px;color:#333;font-size:1.1rem}.feature-content p[data-v-1158eb60]{margin:0;color:#666;font-size:.9rem;line-height:1.4}@media(max-width:768px){.gomoku-test-page[data-v-1158eb60]{padding:15px}.page-header h1[data-v-1158eb60]{font-size:2rem}.instructions[data-v-1158eb60],.features[data-v-1158eb60]{padding:20px}.instruction-grid[data-v-1158eb60],.feature-list[data-v-1158eb60]{grid-template-columns:1fr}.feature-item[data-v-1158eb60]{flex-direction:column;text-align:center}}.controls[data-v-6b1084fe]{display:flex;gap:10px}.controls button[data-v-6b1084fe]{padding:8px 16px;border:1px solid #ddd;background:#f5f5f5;cursor:pointer;border-radius:4px;transition:background-color .2s ease}.controls button[data-v-6b1084fe]:hover{background:#e0e0e0}.controls button.danger[data-v-6b1084fe]{background:#f44;color:#fff;border-color:#c00}.controls button.danger[data-v-6b1084fe]:hover{background:#c00}.controls button[data-v-6b1084fe]:disabled{opacity:.6;cursor:not-allowed}.stats[data-v-c39f66d1]{display:flex;gap:20px;margin-bottom:20px;padding:15px;background:#f9f9f9;border-radius:6px}.stat-item[data-v-c39f66d1]{display:flex;flex-direction:column;align-items:center}.stat-item label[data-v-c39f66d1]{font-weight:700;margin-bottom:5px}.filters[data-v-381b6827]{display:flex;gap:15px;margin-bottom:20px;align-items:center}.search-input[data-v-381b6827]{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.filters select[data-v-381b6827]{padding:8px 12px;border:1px solid #ddd;border-radius:4px;background:#fff}@media(max-width:768px){.filters[data-v-381b6827]{flex-direction:column;align-items:stretch}}.log-entry[data-v-8a92a368]{border-bottom:1px solid #eee;padding:15px;margin:0}.log-entry[data-v-8a92a368]:last-child{border-bottom:none}.log-entry.player-1[data-v-8a92a368]{border-left:4px solid #333;background:#fafafa}.log-entry.player-2[data-v-8a92a368]{border-left:4px solid #666;background:#f5f5f5}.log-header[data-v-8a92a368]{display:flex;justify-content:space-between;margin-bottom:10px;font-size:12px;color:#666}.timestamp[data-v-8a92a368]{font-weight:700}.model[data-v-8a92a368]{color:#007acc}.player[data-v-8a92a368]{color:#c60}.log-content[data-v-8a92a368]{display:grid;grid-template-columns:1fr 1fr;gap:20px}.request[data-v-8a92a368],.response[data-v-8a92a368]{background:#fff;border:1px solid #ddd;border-radius:4px;padding:10px}.request h4[data-v-8a92a368],.response h4[data-v-8a92a368]{margin:0 0 8px;font-size:13px;color:#333}.request h4[data-v-8a92a368]{color:#060}.response h4[data-v-8a92a368]{color:#06c}.request pre[data-v-8a92a368],.response pre[data-v-8a92a368]{margin:0;white-space:pre-wrap;word-wrap:break-word;font-size:12px;line-height:1.4;max-height:200px;overflow-y:auto}@media(max-width:768px){.log-content[data-v-8a92a368]{grid-template-columns:1fr}}.logs-container[data-v-4606fc0b]{max-height:600px;overflow-y:auto;border:1px solid #ddd;border-radius:6px}.loading[data-v-4606fc0b],.empty[data-v-4606fc0b]{text-align:center;padding:40px;color:#666}.logs-list[data-v-4606fc0b]{padding:0}.disabled-tip[data-v-0b5edeb5]{background:#fffbe6;border:1px solid #ffe58f;color:#ad8b00;padding:12px 16px;border-radius:4px;margin-bottom:12px;font-size:14px}.ai-logs-viewer[data-v-c0c24190]{max-width:1200px;margin:0 auto;padding:20px}.header[data-v-c0c24190]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.ai-logs-page[data-v-8464ab34]{min-height:100vh;background:#f0f0f0;padding:20px 0}.admin-layout{display:grid;grid-template-columns:260px 1fr;grid-template-rows:1fr;min-height:100vh;position:relative}.admin-layout.sider-visible{grid-template-columns:200px 260px 1fr}.global-sider{background:#0f172a;color:#e2e8f0;padding:16px 12px;position:fixed;left:0;top:0;height:100vh;width:200px;overflow-y:auto;transform:translate(-100%);transition:transform .3s ease;z-index:1000}.admin-layout.sider-visible .global-sider{position:static;transform:translate(0);height:auto;width:auto;overflow-y:visible}.global-sider-toggle{position:fixed;left:16px;top:16px;z-index:999;background:#0f172a;color:#e2e8f0;border:none;border-radius:6px;width:40px;height:40px;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:all .3s ease}.global-sider-toggle:hover{background:#1e293b;color:#fff}.admin-layout.sider-visible .global-sider-toggle{display:none}.brand{font-weight:700;font-size:18px;margin-bottom:20px}.global-menu{display:flex;flex-direction:column;gap:6px}.menu-item{display:block;padding:10px 12px;color:#cbd5e1;text-decoration:none;border-radius:6px;transition:all .2s ease}.menu-item:hover,.menu-item.active{background:#1e293b;color:#fff}.menu-item.disabled{opacity:.6;cursor:not-allowed}.content-area{padding:20px}.module-sider{background:#fff;border-right:1px solid #e2e8f0;padding:20px;box-shadow:0 1px 3px #0000001a}.module-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.module-title{font-weight:600;font-size:16px;color:#1e293b}.toolbar,.toolbar-row{display:flex;justify-content:space-between;align-items:center}.toolbar{margin-bottom:24px;padding:20px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.toolbar-row{margin-bottom:12px}.toolbar-left,.toolbar-right{display:flex;align-items:center}.search,.search-input,input[type=text],input[type=search],select,textarea{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.search-input{width:200px}.search-input:focus,.search:focus,input[type=text]:focus,input[type=search]:focus,select:focus,textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.filter-section{margin-bottom:16px}.filter-label{display:block;font-size:14px;font-weight:500;color:#64748b;margin-bottom:8px}.filter-select{background:#fff}.filters-row{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0 16px;color:#374151}.filter-chip{padding:4px 10px;background:#f3f4f6;border-radius:999px;font-size:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border-radius:6px;border:1px solid transparent;background:#f3f4f6;color:#111827;font-size:14px;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.btn:hover{background:#e5e7eb}.btn-primary{background:#3b82f6;color:#fff;border-color:#3b82f6}.btn-primary:hover{background:#2563eb;border-color:#2563eb}.btn-secondary{background:#f1f5f9;color:#1f2937;border-color:#cbd5e1}.btn-secondary:hover{background:#e2e8f0}.btn-danger{background:#ef4444;color:#fff;border-color:#ef4444}.btn-danger:hover{background:#dc2626;border-color:#dc2626}.btn-sm{padding:6px 10px;font-size:12px}.card,.panel,.file-list-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}table,.file-table,.app-list table{width:100%;border-collapse:collapse}.file-table th,.app-list th{padding:12px 16px;text-align:left;font-weight:600;font-size:14px;color:#374151;background:#f9fafb;border-bottom:1px solid #e5e7eb}.file-table td,.app-list td{padding:12px 16px;border-bottom:1px solid #f3f4f6;vertical-align:middle}.file-row:hover,.app-list tbody tr:hover{background:#f8fafc}.file-name{display:flex;align-items:center;gap:8px;font-weight:500}.file-icon{font-size:16px}.name-text{color:#1f2937;word-break:break-all}.file-size{color:#6b7280;font-size:14px}.file-type{text-align:center}.type-badge{display:inline-block;padding:4px 8px;background:#e0e7ff;color:#3730a3;border-radius:4px;font-size:12px;font-weight:500}.file-actions{display:flex;gap:8px;align-items:center}.action-link{display:flex;align-items:center;gap:4px;padding:6px 10px;color:#3b82f6;text-decoration:none;border-radius:4px;font-size:12px;transition:background-color .2s ease}.action-link:hover{background:#eff6ff}.action-icon{font-size:12px}.error-message{background:#fee;color:#c33;padding:10px;border-radius:4px;margin-bottom:20px}.loading{text-align:center;padding:40px;color:#666}.empty-state{text-align:center;padding:60px 20px;color:#666}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-text{font-size:16px;font-weight:500;color:#6b7280;margin-bottom:8px}.empty-hint{font-size:14px;color:#9ca3af}.pagination-placeholder{padding:16px 0 4px;color:#6b7280;text-align:center}.pagination-wrapper{display:flex;justify-content:center;padding:20px 0}.pagination-controls{display:flex;align-items:center;gap:16px;padding:12px 20px;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.pagination-info{font-size:14px;color:#6b7280;min-width:120px;text-align:center}.pagination-icon{font-size:12px}.switch{position:relative;display:inline-block;width:46px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.2s;border-radius:24px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.2s;border-radius:50%}.switch input:checked+.slider{background-color:#4caf50}.switch input:checked+.slider:before{transform:translate(22px)}@media(max-width:1024px){.admin-layout{grid-template-columns:220px 1fr}.admin-layout.sider-visible{grid-template-columns:160px 220px 1fr}}@media(max-width:768px){.admin-layout,.admin-layout.sider-visible{grid-template-columns:1fr}.global-sider{width:80vw;max-width:250px}.module-sider{display:none}.toolbar{flex-direction:column;gap:16px;align-items:stretch}.search-section,.search-input{width:100%}}:root{--btn-radius-sm: 4px;--btn-radius-md: 6px;--color-primary: #667eea;--color-primary-hover: #5a6fd8;--color-success: #28a745;--color-success-hover: #218838;--color-info: #17a2b8;--color-info-hover: #138496;--color-muted: #6c757d;--color-muted-hover: #5a6268;--transition-fast: .2s;--shadow-focus: 0 0 0 2px rgba(102, 126, 234, .2)}.btn{cursor:pointer;font-weight:500;display:inline-flex;align-items:center;justify-content:center;line-height:1.2}.btn-sm{padding:6px 12px;font-size:14px;border-radius:var(--btn-radius-sm)}.btn-md{padding:12px 24px;font-size:16px;border-radius:var(--btn-radius-md)}.btn-primary{background:var(--color-primary);color:#fff;border:none;transition:background var(--transition-fast)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-success{background:var(--color-success);color:#fff;border:none;transition:background var(--transition-fast)}.btn-success:hover{background:var(--color-success-hover)}.btn-info{background:var(--color-info);color:#fff;border:none;transition:background var(--transition-fast)}.btn-info:hover:not(:disabled){background:var(--color-info-hover)}.btn-muted{background:var(--color-muted);color:#fff;border:none;transition:background var(--transition-fast)}.btn-muted:hover{background:var(--color-muted-hover)}.btn:disabled{background:var(--color-muted);cursor:not-allowed;opacity:.85}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:5px;font-weight:500;color:#555}.input,.form-group input,.form-group select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color var(--transition-fast)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.result-message{padding:8px 12px;border-radius:4px;font-size:14px}.result-message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.result-message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.flex-col{display:flex;flex-direction:column}.flex-row{display:flex}.gap-sm{gap:8px}.gap-md{gap:15px}.center{justify-content:center}@media(max-width:768px){.stack-sm{flex-direction:column}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slideLeft{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideRight{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes zoomIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes zoomOut{0%{transform:scale(1.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes rotateIn{0%{transform:rotate(-180deg) scale(.5);opacity:0}to{transform:rotate(0) scale(1);opacity:1}}@keyframes flipHorizontal{0%{transform:perspective(1000px) rotateY(-90deg);opacity:0}to{transform:perspective(1000px) rotateY(0);opacity:1}}@keyframes flipVertical{0%{transform:perspective(1000px) rotateX(-90deg);opacity:0}to{transform:perspective(1000px) rotateX(0);opacity:1}}@keyframes blurFade{0%{filter:blur(20px);opacity:0}to{filter:blur(0px);opacity:1}}@keyframes scaleFade{0%{transform:scale(.95);opacity:0}50%{transform:scale(1.02)}to{transform:scale(1);opacity:1}}
