:root{--bg: #07080b;--surface: #0d0f14;--surface-2: #12141a;--elevated: #171a22;--border: rgba(255, 255, 255, .06);--border-2: rgba(255, 255, 255, .12);--text: #e9ebee;--dim: #868d99;--mute: #525863;--accent: #3d8bf5;--accent-press: #2f72d6;--accent-weak: rgba(61, 139, 245, .15);--ink: #fff;--green: #47b183;--green-weak: rgba(71, 177, 131, .14);--amber: #cf9f45;--amber-weak: rgba(207, 159, 69, .14);--red: #df5a53;--red-weak: rgba(223, 90, 83, .14);--font: "Manrope", system-ui, -apple-system, sans-serif;--num: "Space Grotesk", "Manrope", sans-serif;--radius: 14px;--radius-sm: 10px;--gap: 10px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overflow-x:hidden}body{margin:0;color:var(--text);background:var(--bg);font-family:var(--font);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}.app{max-width:560px;margin:0 auto;padding-bottom:78px}.screen{padding:16px;animation:fade-up .24s ease}.center{min-height:100dvh;display:grid;place-items:center}.hint{color:var(--dim)}.mute{color:var(--mute)}h1{font-size:21px;font-weight:700;letter-spacing:-.01em;margin:6px 0 16px}h2{font-size:15px;font-weight:650;margin:20px 0 10px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:15px;margin-bottom:var(--gap)}.card.glow{border-color:var(--border-2)}.row{display:flex;justify-content:space-between;align-items:center;gap:10px}.title{font-weight:700}.amount{font-family:var(--num);font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.01em}.amount-hero{font-family:var(--num);font-size:26px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.deal-card{display:block;text-decoration:none;color:inherit;position:relative;transition:border-color .15s,background .15s}.deal-card:active{background:var(--surface-2)}.deal-card .code{font-family:var(--num);color:var(--mute);font-size:12px;margin-top:3px}.badge{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px;font-weight:600;padding:4px 10px;border-radius:8px;background:var(--surface-2);color:var(--dim)}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge.created{color:var(--dim)}.badge.accepted{color:var(--accent);background:var(--accent-weak)}.badge.funded,.badge.in_progress{color:var(--green);background:var(--green-weak)}.badge.dispute{color:var(--amber);background:var(--amber-weak)}.badge.completed,.badge.resolved{color:var(--green);background:var(--green-weak)}.badge.cancelled{color:var(--mute)}button{font-family:inherit}.primary,.ghost,.danger{width:100%;border:1px solid transparent;border-radius:12px;padding:13px;font-size:15px;font-weight:600;margin-top:12px;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s,transform .05s}.primary{background:var(--accent);color:var(--ink)}.primary:not(:disabled):active{background:var(--accent-press);transform:translateY(1px)}.primary.ok{background:var(--green)}.primary.ok:not(:disabled):active{background:#3d9d72}.primary:disabled{opacity:.45}.ghost{background:transparent;color:var(--text);border-color:var(--border-2)}.ghost:active{background:var(--surface)}.danger{background:transparent;color:var(--red);border-color:#df5a5366}.danger:active{background:var(--red-weak)}input,textarea,select{width:100%;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;font-size:15px;margin-top:6px;outline:none;transition:border-color .15s}input:focus,textarea:focus,select:focus{border-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--mute)}label{display:block;margin-top:15px;color:var(--dim);font-size:13px}.seg{display:flex;gap:4px;margin-top:6px;background:var(--surface-2);padding:4px;border-radius:var(--radius-sm);border:1px solid var(--border)}.seg button{flex:1;border:0;background:transparent;color:var(--dim);padding:10px;border-radius:7px;font-weight:600;font-size:14px;cursor:pointer;transition:.15s}.seg button.on{color:var(--text);background:var(--elevated)}.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}.chip{border:1px solid var(--border);background:transparent;color:var(--dim);font-family:var(--num);padding:7px 13px;border-radius:8px;font-weight:600;font-size:13px;cursor:pointer;transition:.15s}.chip.on{color:var(--accent);border-color:var(--accent);background:var(--accent-weak)}.chat{display:flex;flex-direction:column;gap:6px;padding:8px 16px 16px}.msg{max-width:82%;padding:9px 12px;border-radius:14px;font-size:14.5px;line-height:1.4;animation:fade-up .16s ease}.msg.mine{align-self:flex-end;background:var(--accent);color:var(--ink);border-bottom-right-radius:4px}.msg.theirs{align-self:flex-start;background:var(--surface-2);border:1px solid var(--border);border-bottom-left-radius:4px}.msg.system{align-self:center;color:var(--mute);font-size:12.5px;padding:3px 6px}.msg.admin{align-self:center;max-width:92%;text-align:center;background:var(--amber-weak);border:1px solid var(--amber);color:var(--text);border-radius:12px}.msg.admin .msg-role{display:block;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--amber);margin-bottom:3px}.chat-closed{text-align:center;color:var(--mute);font-size:12.5px;padding:12px 16px}.composer{position:sticky;bottom:78px;display:flex;gap:8px;padding:8px 16px;background:linear-gradient(transparent,var(--bg) 40%)}.composer input{margin:0}.composer button{background:var(--accent);color:var(--ink);border:0;border-radius:var(--radius-sm);padding:0 16px;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center}.composer button:active{background:var(--accent-press)}.composer button.attach{background:var(--surface-2);color:var(--dim);border:1px solid var(--border);padding:0 12px}.msg.img{padding:4px;background:none;border:0}.chat-img{display:block;max-width:220px;max-height:260px;border-radius:10px;object-fit:cover;cursor:pointer}.chat-img.skel{width:180px;height:180px;background:var(--surface-2);border:1px solid var(--border)}.ann-media{display:block;width:100%;max-height:220px;object-fit:cover;border-radius:var(--radius);margin-bottom:10px}.ann-media.skel{height:160px;background:var(--surface-2);border:1px solid var(--border)}.badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.badge-chip{font-size:12px;font-weight:600;padding:5px 10px;border-radius:999px;background:var(--accent-weak);color:var(--accent);border:1px solid var(--accent)}.tabbar{position:fixed;bottom:0;left:0;right:0;max-width:560px;margin:0 auto;display:flex;background:#12161bf0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);z-index:40}.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 0 8px;color:var(--mute);text-decoration:none;font-size:11px;font-weight:500}.tabbar a svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tabbar a.active{color:var(--accent)}.fab{position:fixed;bottom:80px;right:max(16px,calc(50% - 264px));width:50px;height:50px;border-radius:16px;background:var(--accent);color:var(--ink);border:0;font-size:26px;font-weight:300;cursor:pointer;z-index:39;box-shadow:0 6px 18px #0006;display:grid;place-items:center}.fab:active{background:var(--accent-press)}.stepper{display:flex}.step{flex:1;display:flex;flex-direction:column;align-items:center;position:relative}.step-ic{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;font-family:var(--num);background:var(--surface-2);border:1px solid var(--border-2);color:var(--mute);z-index:1}.step.done .step-ic{background:var(--accent);border-color:var(--accent);color:var(--ink)}.step.active .step-ic{background:transparent;border-color:var(--accent);color:var(--accent)}.step-lb{font-size:10.5px;margin-top:6px;color:var(--mute);text-align:center}.step.done .step-lb,.step.active .step-lb{color:var(--text)}.step-line{position:absolute;top:13px;left:-50%;width:100%;height:2px;background:var(--border-2);z-index:0}.step.done .step-line{background:var(--accent)}.step:first-child .step-line{display:none}.freeze-banner{display:flex;align-items:center;gap:8px;padding:11px 13px;border-radius:var(--radius-sm);background:var(--amber-weak);color:var(--amber);font-size:13.5px;font-weight:600;margin-top:12px}.notice{display:flex;gap:10px;padding:12px 13px;border-radius:var(--radius-sm);margin-top:12px;font-size:13px;line-height:1.4;border:1px solid var(--border);background:var(--surface)}.notice .ic{flex:none;width:18px;height:18px;margin-top:1px}.notice .ic svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.notice b{font-weight:700}.notice.warn{border-color:#cf9f4552;background:#cf9f4512}.notice.warn .ic{color:var(--amber)}.notice.danger{border-color:#df5a5357;background:#df5a5312}.notice.danger .ic{color:var(--red)}.notice.info{border-color:#3d8bf54d;background:var(--accent-weak)}.notice.info .ic{color:var(--accent)}.notice.tip{border-color:#47b1834d;background:var(--green-weak)}.notice.tip .ic{color:var(--green)}.notice-body{color:var(--text)}.notice-body .hint{color:var(--dim)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;background:#0000008c;animation:fade .16s ease}.modal{width:100%;max-width:560px;background:var(--surface);border:1px solid var(--border);border-bottom:0;border-radius:20px 20px 0 0;padding:8px 16px calc(20px + env(safe-area-inset-bottom));animation:sheet .24s cubic-bezier(.2,.8,.2,1)}.modal .grab{width:36px;height:4px;border-radius:999px;background:var(--border-2);margin:4px auto 10px}.modal-x{background:transparent;border:0;color:var(--mute);font-size:15px;cursor:pointer;padding:4px}.toaster{position:fixed;top:calc(10px + env(safe-area-inset-top));left:0;right:0;z-index:90;display:flex;flex-direction:column;align-items:center;gap:7px;pointer-events:none}.toast{display:flex;align-items:center;gap:9px;max-width:min(92%,420px);padding:11px 14px;border-radius:12px;font-size:13.5px;font-weight:500;color:var(--text);background:var(--elevated);border:1px solid var(--border-2);box-shadow:0 8px 24px #00000080;animation:toast-in .22s ease}.toast .dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--accent)}.toast.success .dot{background:var(--green)}.toast.warn .dot{background:var(--amber)}.toast.error .dot{background:var(--red)}.skel{border-radius:var(--radius-sm);background:var(--surface);position:relative;overflow:hidden}.skel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);transform:translate(-100%);animation:shimmer 1.4s infinite}.skel-line{height:13px;margin:8px 0}.skel-card{height:72px;margin-bottom:var(--gap);border-radius:var(--radius);border:1px solid var(--border)}.profile-hero{display:flex;align-items:center;gap:14px;padding:4px 0 8px}.avatar{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;font-size:24px;font-weight:700;color:var(--ink);background:var(--accent);flex:none}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:13px}.stat .k{color:var(--dim);font-size:12.5px}.stat .v{font-family:var(--num);font-size:18px;font-weight:700;margin-top:4px}.stars{display:inline-flex;gap:3px;line-height:1}.star{background:none;border:0;padding:0 1px;color:var(--border-2);font-size:inherit}.star.on{color:var(--amber)}.review{border:1px solid var(--border);border-radius:var(--radius);padding:13px;margin-bottom:8px;background:var(--surface)}.review .rv-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.review .rv-author{font-weight:600;font-size:14px}.review .rv-comment{color:var(--dim);font-size:13.5px;margin-top:6px}.gate-ic{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;margin:0 auto 12px;color:var(--accent);background:var(--accent-weak);border:1px solid rgba(61,139,245,.3)}.lang-list{display:flex;flex-direction:column;gap:6px}.lang{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;color:var(--text);font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s}.lang:active{background:var(--surface-2)}.lang.on{border-color:var(--accent);background:var(--accent-weak)}.lang-flag{font-size:20px;line-height:1}.lang-name{flex:1}.lang-check{color:var(--accent);flex:none}.empty{text-align:center;padding:56px 20px}.empty svg{width:44px;height:44px;stroke:var(--mute);fill:none;stroke-width:1.5;margin-bottom:6px}.spinner{width:26px;height:26px;border-radius:50%;border:2.5px solid var(--border-2);border-top-color:var(--accent);animation:spin .7s linear infinite}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes sheet{0%{transform:translateY(100%)}to{transform:none}}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important}}
