@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700&display=swap";*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}:root{--bg: #0a0a0f;--bg2: #111118;--bg3: #1a1a24;--card: #14141e;--hover: #1e1e2a;--text: #f0f0f5;--text2: #8a8a9a;--muted: #555566;--accent: #3e6ae1;--red: #e94560;--green: #2ecc71;--gold: #f0c040;--border: rgba(255,255,255,.06);--borderL: rgba(255,255,255,.1);--r: 12px;--rs: 8px;--font: "DM Sans", -apple-system, sans-serif}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior:none}.app{max-width:480px;margin:0 auto;min-height:100vh;position:relative}::-webkit-scrollbar{width:0}input,textarea,select{font-family:var(--font);color:var(--text)}button{cursor:pointer;font-family:var(--font)}.header{padding:14px 20px 10px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:50;background:#0a0a0feb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}.header h1{font-size:18px;font-weight:600;letter-spacing:-.3px}.header-sub{font-size:11px;color:var(--muted);letter-spacing:.3px}.pts-badge{display:flex;align-items:center;gap:5px;background:var(--bg3);padding:5px 11px;border-radius:20px;font-size:13px;font-weight:600;color:var(--gold);border:1px solid rgba(240,192,64,.15)}.nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;background:#0a0a0ff0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--border);display:flex;z-index:100;padding-bottom:env(safe-area-inset-bottom,6px)}.nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 0 5px;color:var(--muted);background:none;border:none;transition:color .2s;font-size:10px;font-weight:500;letter-spacing:.4px;text-transform:uppercase}.nav button.on{color:var(--text)}.nav button.on span{color:var(--accent)}.content{padding:0 16px 90px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:14px 16px;transition:border-color .2s}.card:hover{border-color:var(--borderL)}.sg{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.sl{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.7px;font-weight:500;margin-bottom:4px}.sv{font-size:26px;font-weight:700;letter-spacing:-1px;line-height:1.1}.ss{font-size:12px;color:var(--text2);margin-top:3px}.st{font-size:12px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.7px;margin:22px 0 10px;display:flex;align-items:center;gap:8px}.st .cnt{background:var(--accent);color:#fff;font-size:10px;padding:1px 7px;border-radius:10px}.tier-bar{width:100%;height:4px;background:var(--bg3);border-radius:2px;overflow:hidden;margin-top:10px}.tier-fill{height:100%;border-radius:2px;transition:width 1s ease}.tier-row{display:flex;justify-content:space-between;margin-top:6px;font-size:11px;color:var(--muted)}.nb-list{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.nb-list::-webkit-scrollbar{display:none}.nb-card{min-width:120px;background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:12px 10px;text-align:center;flex-shrink:0;cursor:pointer;transition:all .2s}.nb-card:hover{border-color:var(--accent)}.nb-av{width:36px;height:36px;border-radius:50%;background:var(--bg3);margin:0 auto 6px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;color:var(--text2)}.nb-name{font-size:12px;font-weight:600}.nb-model{font-size:10px;color:var(--muted);margin-top:1px}.nb-dist{font-size:10px;color:var(--text2);margin-top:5px}.room-header{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:12px 16px;margin-top:14px;display:flex;justify-content:space-between;align-items:center}.room-dot{width:8px;height:8px;border-radius:50%;background:var(--green);display:inline-block;margin-right:8px;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.msgs{margin-top:10px;display:flex;flex-direction:column;gap:8px}.msg{display:flex;gap:9px;align-items:flex-start}.msg.me{flex-direction:row-reverse}.msg-av{width:30px;height:30px;border-radius:50%;background:var(--bg3);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--text2);flex-shrink:0}.msg-bub{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:9px 13px;max-width:280px}.msg.me .msg-bub{background:var(--accent);border-color:var(--accent);color:#fff}.msg-name{font-size:11px;font-weight:600;color:var(--text2);margin-bottom:2px}.msg-name small{font-weight:400;color:var(--muted);font-size:10px}.msg-txt{font-size:14px;line-height:1.4}.msg-time{font-size:10px;color:var(--muted);margin-top:3px}.msg.me .msg-time{color:#ffffff80}.chat-in{margin-top:14px;display:flex;gap:8px;align-items:center}.chat-in input{flex:1;background:var(--card);border:1px solid var(--border);border-radius:24px;padding:11px 16px;font-size:14px;outline:none;transition:border-color .2s}.chat-in input:focus{border-color:var(--accent)}.chat-in input::placeholder{color:var(--muted)}.send-btn{width:38px;height:38px;border-radius:50%;background:var(--accent);border:none;color:#fff;display:flex;align-items:center;justify-content:center;transition:transform .15s;flex-shrink:0}.send-btn:active{transform:scale(.93)}.pts-hint{text-align:center;font-size:11px;color:var(--muted);margin-top:6px}.pts-hint b{color:var(--gold);font-weight:600}.post{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:14px 16px;margin-top:10px}.post-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.post-av{width:34px;height:34px;border-radius:50%;background:var(--bg3);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--text2)}.post-info{flex:1}.post-name{font-size:13px;font-weight:600}.post-model,.post-time{font-size:10px;color:var(--muted)}.post-text{font-size:14px;line-height:1.45;margin-bottom:10px}.milestone-badge{background:linear-gradient(135deg,#f0c04014,#3e6ae114);border:1px solid rgba(240,192,64,.2);border-radius:var(--rs);padding:8px 12px;margin-bottom:10px;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600}.milestone-badge .mi{color:var(--gold)}.post-actions{display:flex;gap:18px;padding-top:9px;border-top:1px solid var(--border)}.post-act{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--text2);background:none;border:none;font-family:var(--font);transition:color .2s;padding:0}.post-act:hover{color:var(--text)}.post-act.liked{color:var(--red)}.compose{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:14px;margin-top:14px}.compose textarea{width:100%;background:transparent;border:none;resize:none;font-size:14px;outline:none;min-height:60px;color:var(--text)}.compose textarea::placeholder{color:var(--muted)}.compose-actions{display:flex;justify-content:flex-end;margin-top:8px}.compose-btn{background:var(--accent);color:#fff;border:none;border-radius:20px;padding:7px 18px;font-size:13px;font-weight:600;transition:opacity .2s}.compose-btn:disabled{opacity:.4}.prof-hero{text-align:center;padding:20px 0 14px}.prof-av{width:64px;height:64px;border-radius:50%;background:var(--bg3);margin:0 auto 10px;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700;color:var(--text2);border:2px solid var(--borderL)}.prof-name{font-size:20px;font-weight:700}.prof-car{font-size:13px;color:var(--text2);margin-top:3px}.prof-tier{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:3px 11px;border-radius:16px;font-size:12px;font-weight:600}.prof-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;margin-top:18px;background:var(--border);border-radius:var(--r);overflow:hidden}.prof-stat{background:var(--card);padding:14px 8px;text-align:center}.prof-stat .v{font-size:20px;font-weight:700}.prof-stat .l{font-size:10px;color:var(--muted);margin-top:2px;text-transform:uppercase;letter-spacing:.4px}.act-item{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}.act-icon{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.act-text{flex:1;font-size:13px;color:var(--text2)}.act-text b{color:var(--text);font-weight:600}.act-pts{font-size:13px;font-weight:600;color:var(--gold)}.auth-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:24px}.auth-title{font-size:28px;font-weight:700;margin-bottom:6px;letter-spacing:-.5px}.auth-sub{color:var(--text2);font-size:14px;margin-bottom:28px}.auth-form{width:100%;max-width:340px;display:flex;flex-direction:column;gap:10px}.auth-input{width:100%;background:var(--card);border:1px solid var(--border);border-radius:var(--rs);padding:12px 16px;font-size:14px;outline:none;transition:border-color .2s}.auth-input:focus{border-color:var(--accent)}.auth-input::placeholder{color:var(--muted)}.auth-btn{width:100%;background:var(--accent);color:#fff;border:none;border-radius:var(--rs);padding:13px;font-size:15px;font-weight:600;margin-top:6px;transition:opacity .2s}.auth-btn:disabled{opacity:.5}.auth-switch{margin-top:16px;font-size:13px;color:var(--text2);background:none;border:none}.auth-switch b{color:var(--accent);font-weight:600;cursor:pointer}.auth-err{color:var(--red);font-size:13px;margin-top:6px;text-align:center}.ob-page{padding:24px;max-width:400px;margin:0 auto}.ob-title{font-size:22px;font-weight:700;margin:30px 0 6px}.ob-sub{color:var(--text2);font-size:14px;margin-bottom:24px}.ob-label{font-size:12px;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;margin-top:14px}.model-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.model-opt{background:var(--card);border:1px solid var(--border);border-radius:var(--rs);padding:14px 12px;text-align:center;cursor:pointer;transition:all .2s;font-size:13px;font-weight:500}.model-opt:hover{border-color:var(--borderL)}.model-opt.sel{border-color:var(--accent);background:#3e6ae114}.color-row{display:flex;gap:8px;flex-wrap:wrap}.color-opt{width:36px;height:36px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:border-color .2s}.color-opt.sel{border-color:var(--accent)}.toast{position:fixed;top:65px;left:50%;transform:translate(-50%);background:#f0c04026;border:1px solid rgba(240,192,64,.3);color:var(--gold);padding:7px 16px;border-radius:20px;font-size:13px;font-weight:600;z-index:200;animation:tin .3s ease,tout .3s ease 1.5s forwards;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes tin{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes tout{to{opacity:0;transform:translate(-50%) translateY(-10px)}}.miles-input-section{margin-top:14px}.miles-input-row{display:flex;gap:8px;align-items:center}.miles-input-row input{flex:1;background:var(--card);border:1px solid var(--border);border-radius:var(--rs);padding:11px 14px;font-size:15px;font-weight:600;outline:none}.miles-input-row input:focus{border-color:var(--accent)}.miles-btn{background:var(--green);color:#fff;border:none;border-radius:var(--rs);padding:11px 16px;font-size:13px;font-weight:600;white-space:nowrap}.miles-note{font-size:11px;color:var(--muted);margin-top:6px}.room-item{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:12px 14px;margin-top:8px;cursor:pointer;transition:all .2s;display:flex;justify-content:space-between;align-items:center}.room-item:hover{border-color:var(--accent)}.room-name{font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.room-type{font-size:10px;color:var(--muted)}.room-count{font-size:12px;color:var(--text2)}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fu{animation:fadeUp .35s ease both}.fu1{animation-delay:.04s}.fu2{animation-delay:.08s}.fu3{animation-delay:.12s}.fu4{animation-delay:.16s}.fu5{animation-delay:.2s}.empty{text-align:center;padding:40px 20px;color:var(--muted)}.empty h3{color:var(--text2);margin-bottom:6px;font-size:16px}.empty p{font-size:13px;line-height:1.5}.loading{text-align:center;padding:60px 20px;color:var(--text2)}.spinner{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 12px}@keyframes spin{to{transform:rotate(360deg)}}
