:root{--accent:#3b82f6;--accent-rgb:59,130,246;--bg:#eef3f9;--text:#172033;--muted:#64748b;--surface:rgba(255,255,255,.68);--surface-strong:rgba(255,255,255,.88);--border:rgba(100,116,139,.18);--shadow:0 24px 80px rgba(15,23,42,.12);--danger:#dc2626;--radius:22px;font-family:Inter,"SF Pro Display","PingFang SC","Microsoft YaHei",system-ui,sans-serif;color-scheme:light}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;color:var(--text);background:radial-gradient(circle at 20% 0,rgba(var(--accent-rgb),.12),transparent 36%);font-size:16px;line-height:1.5}.background{position:fixed;inset:0;background-size:cover;background-repeat:no-repeat;z-index:-1;opacity:var(--bg-opacity,.18);transition:opacity .2s}button,input,select{font:inherit}button{color:inherit}.glass{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%)}
.topbar{position:sticky;top:16px;z-index:20;max-width:1180px;margin:16px auto 0;border-radius:18px;min-height:64px;display:flex;align-items:center;justify-content:space-between;padding:10px 14px 10px 18px}.brand{display:flex;align-items:center;gap:11px;color:var(--text);font-size:1.05rem;font-weight:720;text-decoration:none;letter-spacing:.01em}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:rgba(var(--accent-rgb),.14);color:var(--accent)}.brand-mark svg{width:22px;fill:currentColor}.nav-actions{display:flex;align-items:center;gap:6px}.button,.icon-button,.upload-tab,.admin-tab,.text-button{border:0;cursor:pointer;transition:.2s ease}.button{min-height:42px;border-radius:12px;padding:0 16px;font-weight:650;background:var(--surface-strong)}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--accent);color:#fff;box-shadow:0 8px 22px rgba(var(--accent-rgb),.24)}.button.ghost{background:transparent}.button.ghost:hover{background:rgba(var(--accent-rgb),.09)}.button.wide{width:100%}.button.more{display:block;margin:28px auto 0;border:1px solid var(--border);background:var(--surface)}.icon-button{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:transparent}.icon-button:hover{background:rgba(var(--accent-rgb),.1)}.icon-button svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.shell{width:min(1120px,calc(100% - 32px));margin:58px auto 90px}.upload-card{border-radius:30px;padding:34px}.section-heading,.section-title-row,.pane-title{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.eyebrow{margin:0 0 5px;color:var(--accent);font-size:.72rem;line-height:1;font-weight:800;letter-spacing:.18em}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.75rem,4vw,2.55rem);line-height:1.12;margin-bottom:8px;letter-spacing:-.035em}h2{font-size:1.55rem;letter-spacing:-.025em;margin-bottom:0}h3{font-size:1.12rem;margin-bottom:16px}.section-heading>div>p:last-child{color:var(--muted);margin:0}.privacy-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none}.privacy-toggle input,.switch-list input{position:absolute;opacity:0;pointer-events:none}.switch{position:relative;width:44px;height:25px;flex:none;background:rgba(100,116,139,.3);border-radius:99px;transition:.2s}.switch:after{content:"";position:absolute;width:19px;height:19px;left:3px;top:3px;background:#fff;border-radius:50%;box-shadow:0 1px 5px rgba(0,0,0,.22);transition:.2s}.privacy-toggle input:checked+.switch{background:var(--accent)}.privacy-toggle input:checked+.switch:after{transform:translateX(19px)}.privacy-toggle b,.privacy-toggle small{display:block}.privacy-toggle b{font-size:.88rem}.privacy-toggle small{font-size:.75rem;color:var(--muted)}.upload-tabs{display:flex;gap:6px;border-bottom:1px solid var(--border);margin:28px 0 22px}.upload-tab{padding:10px 14px;background:transparent;color:var(--muted);font-weight:650;border-bottom:2px solid transparent}.upload-tab.active{color:var(--accent);border-color:var(--accent)}.dropzone{min-height:270px;border:1.5px dashed rgba(var(--accent-rgb),.42);border-radius:22px;background:rgba(var(--accent-rgb),.04);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;cursor:pointer;transition:.2s}.dropzone:hover,.dropzone.dragging,.dropzone:focus-visible{background:rgba(var(--accent-rgb),.09);border-color:var(--accent);outline:0;transform:translateY(-2px)}.drop-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:var(--surface-strong);color:var(--accent);box-shadow:0 10px 35px rgba(var(--accent-rgb),.14);margin-bottom:15px}.drop-icon svg{width:29px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.dropzone strong{font-size:1.08rem;margin-bottom:4px}.dropzone>span:not(.drop-icon),.dropzone small{color:var(--muted)}.dropzone small{margin-top:14px;font-size:.78rem}.remote-form{min-height:270px;border:1px solid var(--border);background:rgba(var(--accent-rgb),.035);border-radius:22px;padding:62px clamp(20px,8vw,90px);display:flex;flex-direction:column;justify-content:center}.remote-form label,.stack-form label,.settings-grid>label{font-weight:650;font-size:.88rem}.remote-form p{color:var(--muted);font-size:.82rem;margin:10px 0 0}.field-row{display:flex;gap:10px;margin-top:8px}input,select{width:100%;min-height:44px;border:1px solid var(--border);border-radius:11px;background:var(--surface-strong);color:var(--text);padding:9px 12px;outline:0}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.13)}input[type=color]{padding:4px;height:44px}.queue{display:grid;gap:8px;margin-top:16px}.queue:empty{display:none}.queue-item{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-strong);font-size:.85rem}.queue-item .progress{grid-column:1/-1;height:4px;border-radius:99px;background:rgba(100,116,139,.15);overflow:hidden}.queue-item .progress span{display:block;height:100%;width:8%;background:var(--accent);border-radius:inherit;transition:.25s}.queue-item.done .progress span{width:100%}.queue-item.error .progress span{width:100%;background:var(--danger)}.queue-item .status{color:var(--muted)}.results-section,.gallery-section{margin-top:58px}.section-title-row{align-items:end;margin-bottom:22px}.result-list{display:grid;gap:12px}.result-card{display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:16px;align-items:center;padding:12px;border-radius:18px;background:var(--surface);border:1px solid var(--border);backdrop-filter:blur(20px)}.result-card img{width:86px;height:68px;object-fit:cover;border-radius:11px;background:rgba(100,116,139,.12)}.result-info{min-width:0}.result-info strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-info span{font-size:.78rem;color:var(--muted)}.copy-actions{display:flex;gap:6px}.copy-actions .button{font-size:.82rem;padding:0 12px;min-height:38px}.gallery{columns:4 220px;column-gap:14px}.gallery-card{position:relative;break-inside:avoid;margin-bottom:14px;border-radius:18px;overflow:hidden;background:var(--surface);border:1px solid var(--border);box-shadow:0 10px 35px rgba(15,23,42,.07)}.gallery-card img{display:block;width:100%;height:auto;min-height:120px;background:rgba(100,116,139,.1)}.gallery-meta{position:absolute;inset:auto 0 0;padding:40px 12px 11px;color:#fff;background:linear-gradient(transparent,rgba(5,10,20,.72));font-size:.78rem;opacity:0;transition:.2s}.gallery-card:hover .gallery-meta,.gallery-card:focus-within .gallery-meta{opacity:1}.empty-state{column-span:all;text-align:center;padding:56px 20px;color:var(--muted);border:1px dashed var(--border);border-radius:18px}.modal{border:1px solid var(--border);padding:0;border-radius:24px;background:var(--surface-strong);color:var(--text);box-shadow:var(--shadow);backdrop-filter:blur(28px);max-width:min(92vw,480px);width:100%}.modal::backdrop{background:rgba(15,23,42,.45);backdrop-filter:blur(8px)}.modal-close-form{position:absolute;right:12px;top:12px;z-index:2}.close{font-size:1.5rem}.modal-content{padding:34px}.auth-content h2,.modal-content h2{margin-bottom:24px}.stack-form{display:grid;gap:16px}.stack-form label{display:grid;gap:6px}.text-button{display:block;background:transparent;color:var(--accent);margin:18px auto 0}.panel-modal{max-width:min(94vw,1040px)}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.library-card{border:1px solid var(--border);border-radius:15px;overflow:hidden;background:var(--surface)}.library-card img{display:block;width:100%;aspect-ratio:1.3;object-fit:cover}.library-card div{padding:10px}.library-card strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.84rem}.library-card small{color:var(--muted)}.library-actions{display:flex;gap:5px;margin-top:8px}.library-actions button{flex:1;min-height:34px;font-size:.76rem}.admin-modal{max-width:min(96vw,1200px);height:min(90vh,850px)}.admin-layout{display:grid;grid-template-columns:220px 1fr;height:100%}.admin-nav{padding:34px 18px;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.admin-nav>div{padding:0 10px 24px}.admin-tab{text-align:left;background:transparent;padding:11px 12px;border-radius:10px;color:var(--muted);font-weight:650}.admin-tab:hover,.admin-tab.active{background:rgba(var(--accent-rgb),.1);color:var(--accent)}.admin-content{padding:36px;overflow:auto}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:30px}.stat-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:18px}.stat-card span{font-size:.8rem;color:var(--muted)}.stat-card strong{display:block;font-size:1.7rem;margin-top:4px}.storage-stats,.storage-list{display:grid;gap:10px}.storage-stat,.storage-item{padding:16px;border:1px solid var(--border);border-radius:15px;background:var(--surface)}.storage-stat-head,.storage-item-head{display:flex;justify-content:space-between;gap:14px}.storage-stat small,.storage-item small{color:var(--muted)}.meter{height:7px;background:rgba(100,116,139,.15);border-radius:99px;margin-top:12px;overflow:hidden}.meter span{display:block;height:100%;background:var(--accent);border-radius:inherit}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-grid>label{display:grid;gap:6px}.span-2{grid-column:1/-1}.settings-grid fieldset{border:1px solid var(--border);border-radius:13px;padding:12px}.settings-grid legend{font-size:.83rem;font-weight:650}.checks{display:flex;flex-wrap:wrap;gap:14px}.checks label{font-size:.84rem}.switch-list{display:flex;flex-wrap:wrap;gap:10px}.switch-list label{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:11px;padding:9px 12px;cursor:pointer;font-size:.85rem}.switch-list input{position:static;opacity:1;pointer-events:auto;width:17px;min-height:auto;accent-color:var(--accent)}.pane-title{align-items:center}.pane-title>span{color:var(--muted);font-size:.78rem}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:14px}table{border-collapse:collapse;width:100%;min-width:900px;font-size:.82rem}th,td{padding:11px;border-bottom:1px solid var(--border);text-align:left}th{color:var(--muted);font-weight:650;background:rgba(100,116,139,.05)}td input{min-height:36px;padding:5px 8px}.inline-check{width:18px;min-height:auto;accent-color:var(--accent)}.mini-actions{display:flex;gap:5px}.mini-actions button{min-height:34px;padding:0 10px;font-size:.75rem}.danger{color:var(--danger)!important}.storage-item-head{align-items:center}.storage-item .tags{display:flex;gap:6px;margin-top:5px}.tag{border-radius:99px;background:rgba(var(--accent-rgb),.1);color:var(--accent);padding:2px 8px;font-size:.7rem}.storage-item-actions{display:flex;gap:6px}.storage-item-actions .button{min-height:36px;font-size:.78rem}.toast-stack{position:fixed;right:18px;bottom:18px;z-index:100;display:grid;gap:8px}.toast{min-width:240px;max-width:380px;padding:12px 15px;border-radius:12px;color:#fff;background:#172033;box-shadow:0 10px 30px rgba(0,0,0,.18);animation:toast-in .25s}.toast.error{background:#991b1b}@keyframes toast-in{from{transform:translateY(10px);opacity:0}}[hidden]{display:none!important}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0a0f1b;--text:#e6edf7;--muted:#93a4ba;--surface:rgba(18,27,44,.66);--surface-strong:rgba(20,29,47,.9);--border:rgba(148,163,184,.16);--shadow:0 24px 80px rgba(0,0,0,.35);color-scheme:dark}}:root[data-theme=dark]{--bg:#0a0f1b;--text:#e6edf7;--muted:#93a4ba;--surface:rgba(18,27,44,.66);--surface-strong:rgba(20,29,47,.9);--border:rgba(148,163,184,.16);--shadow:0 24px 80px rgba(0,0,0,.35);color-scheme:dark}:root[data-theme=light]{color-scheme:light}
@media(max-width:760px){.topbar{top:8px;margin:8px 8px 0;padding-left:12px}.brand span:last-child{display:none}.nav-actions{gap:1px}.nav-actions .button{padding:0 10px;font-size:.8rem}.shell{width:min(100% - 20px,1120px);margin-top:30px}.upload-card{padding:22px;border-radius:23px}.section-heading{display:block}.privacy-toggle{margin-top:18px}.dropzone{min-height:230px}.field-row{display:grid}.result-card{grid-template-columns:64px minmax(0,1fr)}.result-card img{width:64px;height:58px}.copy-actions{grid-column:1/-1}.copy-actions .button{flex:1}.gallery{columns:2 140px}.admin-modal{height:94vh}.admin-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr}.admin-nav{padding:18px 52px 10px 14px;border-right:0;border-bottom:1px solid var(--border);flex-direction:row;overflow:auto}.admin-nav>div{display:none}.admin-tab{white-space:nowrap}.admin-content{padding:22px 14px}.stats-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.modal-content{padding:30px 22px}.section-title-row{align-items:center}}
@media(max-width:420px){.nav-actions #myImagesButton{display:none}.gallery{columns:1}.section-title-row .button{font-size:.75rem;padding:0 10px}.privacy-toggle small{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
