*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #ffffff;--bg2: #fafafa;--bg3: #f3f3f1;--text: #0a0a0a;--text2: #6b6b6b;--text3: #b0b0b0;--border: rgba(0,0,0,.08);--border2: rgba(0,0,0,.14);--accent: #111111;--accent2: #444444;--green: #16a34a;--green-bg: #f0fdf4;--red: #dc2626;--red-bg: #fef2f2;--radius: 10px;--radius-lg: 16px;--radius-xl: 22px;--font: "Plus Jakarta Sans", sans-serif;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow: 0 4px 16px rgba(0,0,0,.08);--shadow-lg: 0 8px 32px rgba(0,0,0,.12)}@media (prefers-color-scheme: dark){:root{--bg: #0a0a0a;--bg2: #111111;--bg3: #1a1a1a;--text: #f5f5f5;--text2: #909090;--text3: #505050;--border: rgba(255,255,255,.08);--border2: rgba(255,255,255,.14);--accent: #f5f5f5;--accent2: #c0c0c0;--green-bg: #052e16;--red-bg: #1c0a0a}}body{font-family:var(--font);background:var(--bg2);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,textarea,select{font-family:var(--font)}a{text-decoration:none;color:inherit}.app-shell{max-width:430px;margin:0 auto;background:var(--bg);min-height:100dvh;position:relative}.auth-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}.auth-box{width:100%;max-width:360px}.auth-logo{font-size:22px;font-weight:700;letter-spacing:-.5px;margin-bottom:32px;color:var(--text)}.auth-logo span{display:inline-block;width:32px;height:32px;background:var(--text);color:var(--bg);border-radius:8px;font-size:16px;text-align:center;line-height:32px;margin-right:8px}.auth-title{font-size:24px;font-weight:700;margin-bottom:6px;letter-spacing:-.5px}.auth-sub{font-size:14px;color:var(--text2);margin-bottom:28px}.role-toggle{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--bg3);border-radius:var(--radius);padding:3px;margin-bottom:20px}.role-btn{padding:8px;border:none;border-radius:8px;background:none;font-size:13px;font-weight:500;color:var(--text2);cursor:pointer;transition:all .15s}.role-btn.active{background:var(--bg);color:var(--text);box-shadow:var(--shadow-sm)}.field{margin-bottom:14px}.field label{font-size:12px;font-weight:600;color:var(--text2);display:block;margin-bottom:6px;letter-spacing:.3px;text-transform:uppercase}.field input,.field textarea,.field select{width:100%;font-size:14px;color:var(--text);background:var(--bg2);border:1px solid var(--border2);border-radius:var(--radius);padding:11px 14px;outline:none;transition:border-color .15s,box-shadow .15s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--text);box-shadow:0 0 0 3px #0000000f}.field textarea{resize:none;height:80px;line-height:1.5}.btn-primary{width:100%;padding:12px;background:var(--text);border:none;border-radius:var(--radius);color:var(--bg);font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s;margin-top:4px}.btn-primary:hover{opacity:.85}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{padding:11px 16px;background:none;border:1px solid var(--border2);border-radius:var(--radius);font-size:14px;font-weight:500;color:var(--text2);cursor:pointer;transition:background .15s}.btn-secondary:hover{background:var(--bg2)}.btn-danger{padding:11px 14px;background:none;border:1px solid #fca5a5;border-radius:var(--radius);font-size:14px;color:var(--red);cursor:pointer}.auth-switch{text-align:center;margin-top:20px;font-size:13px;color:var(--text2)}.auth-switch button{background:none;border:none;font-size:13px;font-weight:600;color:var(--text);cursor:pointer;margin-left:4px}.err-msg{font-size:12px;color:var(--red);background:var(--red-bg);padding:8px 12px;border-radius:8px;margin-bottom:14px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar-name{font-size:16px;font-weight:700;letter-spacing:-.3px}.topbar-right{display:flex;align-items:center;gap:8px}.icon-btn{width:36px;height:36px;border:none;background:none;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--text2);cursor:pointer;transition:background .15s}.icon-btn:hover{background:var(--bg3)}.seller-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg3);border-radius:99px;font-size:12px;font-weight:600;color:var(--text2)}.logout-btn{display:flex;align-items:center;gap:5px;padding:7px 13px;border:1px solid var(--border2);border-radius:99px;background:none;font-size:12px;font-weight:600;color:var(--text2);cursor:pointer;transition:all .15s}.logout-btn:hover{background:var(--bg3);color:var(--text)}.profile-section{padding:20px 16px 0}.profile-row{display:flex;align-items:flex-start;gap:16px;margin-bottom:14px}.avatar{width:72px;height:72px;border-radius:50%;background:var(--bg3);border:1px solid var(--border);overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--text3)}.avatar img{width:100%;height:100%;object-fit:cover}.profile-info{flex:1;padding-top:4px}.profile-name{font-size:17px;font-weight:700;letter-spacing:-.3px;margin-bottom:4px}.profile-bio{font-size:13px;color:var(--text2);line-height:1.5}.profile-maps{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--green);margin-top:6px;background:var(--green-bg);padding:4px 10px;border-radius:99px}.edit-profile-btn{width:100%;padding:9px;border:1px solid var(--border2);border-radius:var(--radius);background:none;font-size:13px;font-weight:600;color:var(--text);cursor:pointer;margin-top:14px;transition:background .15s}.edit-profile-btn:hover{background:var(--bg2)}.section-label{padding:16px 16px 10px;font-size:11px;font-weight:700;color:var(--text3);letter-spacing:.8px;text-transform:uppercase}.stories-row{display:flex;gap:12px;padding:0 16px 16px;overflow-x:auto;scrollbar-width:none}.stories-row::-webkit-scrollbar{display:none}.story-bubble{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;flex-shrink:0}.story-ring{width:62px;height:62px;border-radius:50%;padding:2.5px;background:linear-gradient(135deg,#f59e0b,#ef4444,#8b5cf6)}.story-ring.add{background:none;border:1.5px dashed var(--border2);padding:0;display:flex;align-items:center;justify-content:center}.story-inner{width:100%;height:100%;border-radius:50%;background:var(--bg);overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--text3);border:2px solid var(--bg)}.story-ring.add .story-inner{border:none;background:var(--bg3)}.story-inner img{width:100%;height:100%;object-fit:cover}.story-lbl{font-size:11px;font-weight:500;color:var(--text2);max-width:62px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.divider{height:1px;background:var(--border)}.cat-row{display:flex;gap:8px;padding:14px 16px;overflow-x:auto;scrollbar-width:none}.cat-row::-webkit-scrollbar{display:none}.cat-chip{padding:6px 16px;border-radius:99px;font-size:13px;font-weight:500;border:1px solid var(--border2);background:none;color:var(--text2);white-space:nowrap;flex-shrink:0;cursor:pointer;transition:all .15s}.cat-chip.active{background:var(--text);color:var(--bg);border-color:var(--text)}.prod-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:0 12px 24px}.prod-card{background:var(--bg);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;border:1px solid var(--border);transition:transform .15s,box-shadow .15s;position:relative}.prod-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.prod-thumb{width:100%;aspect-ratio:1;background:var(--bg3);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--text3)}.prod-thumb svg{width:32px;height:32px;stroke:currentColor}.prod-thumb img{width:100%;height:100%;object-fit:cover}.prod-info{padding:10px 12px 12px}.prod-cat{font-size:10px;font-weight:700;color:var(--green);letter-spacing:.5px;text-transform:uppercase;margin-bottom:3px}.prod-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prod-desc{font-size:11px;color:var(--text2);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.prod-edit-tag{position:absolute;top:8px;right:8px;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:10px;font-weight:600;padding:4px 9px;border-radius:99px;display:flex;align-items:center;gap:3px}.add-card{background:var(--bg2);border:1.5px dashed var(--border2);border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:180px;color:var(--text3);font-size:12px;font-weight:500;transition:background .15s}.add-card:hover{background:var(--bg3)}.add-card svg{width:28px;height:28px;stroke:currentColor}.empty{grid-column:1/-1;padding:48px 20px;text-align:center;color:var(--text3);font-size:13px}.empty svg{width:40px;height:40px;stroke:currentColor;display:block;margin:0 auto 10px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:50;display:flex;align-items:flex-end;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .18s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sheet{background:var(--bg);border-radius:22px 22px 0 0;width:100%;max-width:430px;max-height:92dvh;overflow-y:auto;animation:slideUp .22s cubic-bezier(.32,.72,0,1)}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.sheet-handle{width:40px;height:4px;background:var(--border2);border-radius:2px;margin:14px auto 0}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px}.sheet-head h3{font-size:16px;font-weight:700;letter-spacing:-.3px}.sheet-close{width:32px;height:32px;border-radius:50%;border:1px solid var(--border2);background:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text2)}.sheet-body{padding:0 20px 8px}.upload-box{width:100%;aspect-ratio:16/9;background:var(--bg2);border:1.5px dashed var(--border2);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;color:var(--text2);font-size:12px;font-weight:500;position:relative;transition:background .15s}.upload-box:hover{background:var(--bg3)}.upload-box img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.upload-box svg{width:22px;height:22px;stroke:currentColor;position:relative}.upload-box span{position:relative;background:var(--bg);padding:3px 10px;border-radius:6px;font-size:11px;font-weight:600}.upload-sq{aspect-ratio:1}.btn-row{display:flex;gap:8px;margin-top:20px;padding-bottom:12px}.btn-row .btn-primary{margin-top:0}.detail-sheet{background:var(--bg);border-radius:22px 22px 0 0;width:100%;max-width:430px;max-height:92dvh;overflow-y:auto;position:relative;animation:slideUp .22s cubic-bezier(.32,.72,0,1)}.detail-hero{width:100%;aspect-ratio:1;background:var(--bg3);overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--text3)}.detail-hero svg{width:48px;height:48px;stroke:currentColor}.detail-hero img{width:100%;height:100%;object-fit:cover}.detail-body{padding:20px 20px 32px}.detail-cat{font-size:11px;font-weight:700;color:var(--green);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.detail-title{font-size:20px;font-weight:700;letter-spacing:-.5px;margin-bottom:8px}.detail-desc{font-size:14px;color:var(--text2);line-height:1.6;margin-bottom:18px}.maps-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;background:var(--green-bg);border:none;border-radius:var(--radius);color:var(--green);font-size:13px;font-weight:600;cursor:pointer;text-decoration:none}.close-float{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;color:#fff;font-size:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:5}.story-viewer{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;z-index:90;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease}.story-viewer-inner{max-width:430px;width:100%;position:relative}.sv-img{width:100%;aspect-ratio:9/16;background:#111;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#444}.sv-img svg{width:48px;height:48px;stroke:currentColor}.sv-img img{width:100%;height:100%;object-fit:cover}.sv-top{position:absolute;top:0;left:0;right:0;padding:16px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(rgba(0,0,0,.5),transparent)}.sv-name{font-size:14px;font-weight:600;color:#fff;display:flex;align-items:center;gap:8px}.sv-close{background:none;border:none;color:#fff;font-size:22px;cursor:pointer;line-height:1}.sv-del{background:#ffffff26;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;color:#fff;font-size:11px;font-weight:600;padding:4px 10px;border-radius:99px;cursor:pointer}.sv-caption{position:absolute;bottom:0;left:0;right:0;padding:32px 16px 24px;background:linear-gradient(transparent,#000000b3);color:#fff;font-size:14px;line-height:1.5}.modal-center{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .15s ease}.modal-box{background:var(--bg);border-radius:var(--radius-xl);padding:28px 24px;width:100%;max-width:340px;box-shadow:var(--shadow-lg)}.loading-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--bg);color:var(--text3);font-size:13px}.spinner{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--text);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);font-size:13px;font-weight:500;padding:10px 20px;border-radius:99px;z-index:200;white-space:nowrap;box-shadow:var(--shadow);animation:fadeIn .2s ease}
