:root{--bg:#f6f7fb;--card:#fff;--text:#172033;--muted:#6b7280;--line:#e5e7eb;--brand:#5b65f2;--brand2:#7c4dff;--danger:#d33b4b;--shadow:0 14px 40px rgba(29,35,61,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}.topbar{height:64px;padding:0 max(18px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.topbar nav{display:flex;gap:20px;color:var(--muted)}.logo{font-size:17px;font-weight:850;letter-spacing:.2px;display:flex;align-items:center;gap:9px}.logo span,.brand-mark{color:var(--brand);font-size:26px}.shell{max-width:1180px;margin:0 auto;padding:34px 18px 70px}.hero{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:28px}.hero h1{font-size:42px;line-height:1.08;margin:5px 0 10px;letter-spacing:-1.5px}.hero p{color:var(--muted);max-width:680px}.eyebrow{font-size:11px!important;font-weight:850;letter-spacing:1.7px;color:var(--brand)!important;margin:0}.stats{display:flex;gap:10px}.stats div{min-width:110px;padding:14px 18px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.stats b{display:block;font-size:19px}.stats span{color:var(--muted);font-size:12px}.upload-card,.api-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.dropzone{min-height:230px;border:2px dashed #cad0db;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;cursor:pointer;background:linear-gradient(180deg,#fbfbff,#f7f8ff)}.dropzone:hover{border-color:var(--brand)}.dropzone input{display:none}.drop-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#eef0ff;color:var(--brand);font-size:27px;margin-bottom:12px}.dropzone strong{font-size:18px}.dropzone small{color:var(--muted);margin-top:4px}.dropzone #fileNames{margin-top:10px;color:var(--brand);font-size:12px;max-width:720px}.btn,.copy{border:0;border-radius:10px;padding:10px 14px;font-weight:750;cursor:pointer}.btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff}.btn.wide{width:100%;margin-top:12px;min-height:46px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin:34px 2px 14px}.section-head h2,.api-card h2{margin:3px 0 0;font-size:24px}.section-head>span{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.image-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;padding-bottom:13px;box-shadow:0 6px 22px rgba(30,35,60,.05)}.thumb{display:block;aspect-ratio:16/10;background:#eef0f5;overflow:hidden}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.image-meta{padding:12px 13px 7px;display:flex;justify-content:space-between;gap:10px}.image-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-meta small{color:var(--muted);white-space:nowrap}.link-row{display:flex;gap:7px;padding:0 13px}.link-row input,.api-key input{min-width:0;flex:1;border:1px solid var(--line);border-radius:9px;background:#f9fafb;padding:9px 10px;color:#4b5563}.copy{background:#eef0ff;color:var(--brand);white-space:nowrap}.image-card details{margin:10px 13px;border-top:1px solid var(--line);padding-top:8px}.image-card summary{cursor:pointer;color:var(--brand);font-weight:700}.image-card details label{display:block;color:var(--muted);font-size:12px;margin-top:8px}.image-card details .link-row{padding:4px 0 0}.delete-btn{margin:8px 13px 0;border:0;background:transparent;color:var(--danger);font-weight:750;cursor:pointer;padding:0}.api-card{margin-top:34px}.api-card{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}.api-card p{color:var(--muted)}.api-key{display:flex;gap:8px}.api-card pre{grid-column:1/-1;background:#111827;color:#d1d5db;padding:14px;border-radius:12px;overflow:auto}.empty{background:#fff;border:1px dashed #ccd1da;border-radius:16px;text-align:center;padding:50px 20px;color:var(--muted)}.empty div{font-size:38px;color:#adb4c0}.auth-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,#eef0ff,transparent 30%),var(--bg);padding:20px}.auth-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:var(--shadow)}.auth-card h1{font-size:30px;margin:8px 0}.auth-card>p{color:var(--muted);margin-top:0}.stack{display:grid;gap:14px}.stack label{font-weight:700}.stack input{width:100%;margin-top:5px;padding:12px;border:1px solid var(--line);border-radius:10px}.alert{padding:10px 12px;border-radius:10px;margin:12px 0}.alert.error{background:#fff0f2;color:#a82434}.alert.success{background:#effaf4;color:#24784a}.viewer main{max-width:1100px;margin:30px auto;padding:0 18px;text-align:center}.viewer-image{max-width:100%;max-height:72vh;object-fit:contain;border-radius:14px;box-shadow:var(--shadow);background:#fff}.viewer h1{font-size:18px}.viewer-link{max-width:760px;margin:0 auto;padding:0}@media(max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{align-items:flex-start;flex-direction:column}.stats{width:100%}.stats div{flex:1}.api-card{grid-template-columns:1fr}}@media(max-width:560px){.grid{grid-template-columns:1fr}.hero h1{font-size:34px}.topbar nav a:first-child{display:none}.image-meta{flex-direction:column}.stats{gap:7px}.stats div{min-width:0;padding:12px}.api-key{flex-direction:column}}
