:root{--bg:#121212;--panel:#121316eb;--panel-solid:#17181c;--line:#ffffff1a;--text:#f2f2f2;--muted:#9a9a9a;--amber:#ffb000;--up:#ff3b3b;--down:#2f80ff;--radius:14px;color:var(--text);font-family:Noto Sans KR,system-ui,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);overscroll-behavior:none;height:100%;margin:0;overflow:hidden}#scene{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}:where(#ui>*){pointer-events:auto}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}input{font:inherit}.up{color:var(--up)}.down{color:var(--down)}.muted{color:var(--muted)}.num{font-variant-numeric:tabular-nums}.entry{background:radial-gradient(#00000059,#000c);place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow-y:auto}.entry-card{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:20px;width:min(560px,100%);padding:28px}.entry h1{letter-spacing:-.5px;margin:0;font-size:34px;font-weight:900}.entry h1 span{color:var(--amber)}.entry .sub{color:var(--muted);margin:6px 0 22px}.entry label.title{color:#ccc;margin:18px 0 8px;font-size:14px;font-weight:700;display:block}.login{margin:-8px 0 6px}.login-btns{grid-template-columns:1fr 1fr;gap:8px;display:grid}.lbtn{white-space:nowrap;border-radius:12px;padding:11px 8px;font-size:14px;font-weight:800}.lbtn.kakao{color:#191919;background:#fee500}.lbtn.google{color:#1f1f1f;background:#fff;border:1px solid #dadce0}.login-hint{color:var(--muted);text-align:center;margin-top:6px;font-size:12px}.login-on{background:#50c8781a;border:1px solid #50c87859;border-radius:12px;justify-content:space-between;align-items:center;padding:10px 12px;font-size:14px;font-weight:700;display:flex}.linkbtn{color:var(--muted);font-size:13px;text-decoration:underline}.genders{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.gbtn{border:2px solid var(--line);color:#bbb;background:#0d0e10;border-radius:12px;padding:10px;font-size:15px;font-weight:900}.gbtn.sel{border-color:var(--amber);color:#fff;background:#ffb0001f}.charpick{grid-template-columns:1fr 170px;align-items:start;gap:10px;display:grid}.cgrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.cthumb{border:2px solid var(--line);background:#0d0e10;border-radius:10px;flex-direction:column;align-items:center;padding:3px 2px;display:flex;position:relative}.cthumb img{aspect-ratio:1;width:100%;display:block}.cthumb.sel{border-color:var(--amber);background:#ffb0001a}.cthumb.locked img{filter:grayscale()brightness(.55)}.cthumb .lock{font-size:12px;font-style:normal;line-height:1;position:absolute;top:3px;right:4px}.lock-note{color:var(--amber);margin:-2px 0 8px;font-size:12px}.lock-note[hidden]{display:none}canvas.pv{aspect-ratio:1;border:1px solid var(--line);background:radial-gradient(circle at 50% 40%,#2a2c33,#0d0e10);border-radius:14px;width:100%;display:block}.char{border:2px solid var(--line);border-radius:var(--radius);text-align:center;background:#0d0e10;padding:8px;transition:border-color .15s,transform .15s}.char canvas{aspect-ratio:1;width:100%;display:block}.char.sel{border-color:var(--amber);transform:translateY(-2px)}.char b{margin-top:4px;display:block}.nick{border:1px solid var(--line);width:100%;color:var(--text);background:#0d0e10;border-radius:10px;padding:12px 14px;font-size:16px}.nick:focus{outline:2px solid var(--amber)}.nick-err{color:#ff6b6b;min-height:0;margin-top:6px;font-size:13px;font-weight:700}.nick-err:empty{display:none}.err{color:#ff7070;min-height:18px;margin-top:6px;font-size:13px}.channels{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.ch{border:1px solid var(--line);text-align:center;background:#0d0e10;border-radius:10px;padding:8px 4px;font-size:13px}.ch b{font-size:15px;display:block}.ch.sel{border-color:var(--amber);background:#ffb0001a}.ch:disabled{opacity:.4;cursor:not-allowed}.ch .bar{background:#333;border-radius:2px;height:3px;margin-top:5px;overflow:hidden}.ch .bar i{background:var(--amber);height:100%;display:block}.enter{background:var(--amber);color:#111;border-radius:12px;width:100%;margin-top:22px;padding:14px;font-size:18px;font-weight:900}.enter:disabled{opacity:.5}.entry .foot{color:#777;text-align:center;margin-top:14px;font-size:12px;line-height:1.6}.topbar{pointer-events:none;background:linear-gradient(#000000b3,#0000);align-items:center;gap:12px;padding:10px 16px;display:flex;position:fixed;top:0;left:0;right:0}.topbar>*{pointer-events:auto}.brand{white-space:nowrap;font-size:18px;font-weight:900}.brand span{color:var(--amber)}.pill{border:1px solid var(--line);white-space:nowrap;background:#0000008c;border-radius:999px;padding:5px 10px;font-size:13px}.topbar .spacer{flex:1}.hud-left,.hud-right{bottom:calc(16px + env(safe-area-inset-bottom));align-items:flex-end;gap:8px;display:flex;position:fixed}.hud-left{left:calc(16px + env(safe-area-inset-left))}.hud-right{right:calc(16px + env(safe-area-inset-right));align-items:center}.menu{position:relative}.hud-left,.hud-right,.hud-left .menu,.act-stack,.act-icons{pointer-events:none}.hud-left .fab,.hud-left .tray.open button,.hud-right button{pointer-events:auto}.fab{background:var(--panel);border:1px solid var(--line);color:#e6e6e6;white-space:nowrap;-webkit-tap-highlight-color:transparent;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:64px;height:64px;font-size:15px;font-weight:800;display:flex}.fab.on{border-color:var(--amber);color:#fff;background:#ffb00026}.hud-left{z-index:3}.tray{background:var(--panel);border:1px solid var(--line);opacity:0;transform-origin:bottom;pointer-events:none;border-radius:18px;grid-template-columns:repeat(3,64px);gap:6px;padding:8px;transition:opacity .15s,transform .15s;display:grid;position:fixed;bottom:max(180px,28vh);left:50%;transform:translate(-50%,8px)scale(.96)}.tray.open{opacity:1;pointer-events:auto;transform:translate(-50%)}.rx{color:#ddd;-webkit-tap-highlight-color:transparent;background:#ffffff0a;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;width:64px;height:64px;font-size:12px;display:flex}.rx span{font-size:26px;line-height:1.15}.rx span.two{white-space:nowrap;letter-spacing:-2px;font-size:19px}.rx:hover,.rx:active{background:#ffffff1f}.rx:disabled{opacity:.4}.rx.face span{color:#fff;letter-spacing:-.5px;white-space:nowrap;font-size:17px;font-weight:900}.rx.face.sel{box-shadow:inset 0 0 0 2px var(--amber);background:#ffb0002e}.act{white-space:nowrap;border:1px solid var(--line);border-radius:999px;height:48px;padding:0 16px;font-size:15px;font-weight:700}.act.primary{background:var(--amber);color:#111;border-color:#0000}.act.ghost{background:var(--panel)}.act-stack{flex-direction:column;align-items:stretch;gap:8px;display:flex}.act.small{height:40px;font-size:14px}.toasts{pointer-events:none;z-index:50;flex-direction:column;align-items:center;gap:6px;display:flex;position:fixed;top:60px;left:50%;transform:translate(-50%)}.toast{border:1px solid var(--line);background:#000000d9;border-radius:10px;padding:8px 14px;font-size:14px;animation:3s forwards fade}@keyframes fade{0%{opacity:0;transform:translateY(-6px)}8%,80%{opacity:1;transform:none}to{opacity:0}}.hint{color:#bbb;pointer-events:none;background:#00000080;border-radius:8px;padding:6px 10px;font-size:12px;position:fixed;bottom:96px;left:16px}.trade{background:var(--panel);border:1px solid var(--line);border-radius:18px;flex-direction:column;width:360px;transition:transform .2s,opacity .2s;display:flex;position:fixed;top:60px;bottom:80px;right:16px;overflow:hidden}.trade.hidden{opacity:0;pointer-events:none;transform:translate(110%)}.trade header{border-bottom:1px solid var(--line);padding:16px}.trade header .row{justify-content:space-between;align-items:baseline;display:flex}.trade .eq{font-size:26px;font-weight:900}.trade .krw-field{margin-top:6px}.trade .krw-field input{font-size:15px}.trade .avail{justify-content:space-between;align-items:baseline;margin-top:12px;font-size:13px;display:flex}.trade .avail b{font-size:15px}.trade .warn{font-weight:700;color:#ff6b6b!important}.trade .eq-krw{color:#c9c9d6;margin-top:1px;font-size:14px;font-weight:700}.trade .body{flex:1;padding:14px 16px;overflow-y:auto}.trade h4{color:#bbb;margin:14px 0 8px;font-size:13px}.syms{flex-wrap:wrap;gap:6px;display:flex}.sym{background:#ffffff0f;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:700}.sym.sel{background:var(--amber);color:#111}.field{border:1px solid var(--line);background:#0d0e10;border-radius:10px;align-items:center;gap:8px;padding:8px 12px;display:flex}.field input{color:var(--text);text-align:right;background:0 0;border:0;flex:1;min-width:0;font-size:16px}.field input:focus{outline:none}.pcts{grid-template-columns:repeat(4,1fr);gap:6px;margin-top:6px;display:grid}.pcts button{background:#ffffff0f;border-radius:8px;padding:6px;font-size:12px}.lev{width:100%;accent-color:var(--amber)}.sides{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.sides button{color:#fff;border-radius:12px;padding:13px;font-size:16px;font-weight:900}.sides .long{background:var(--up)}.sides .short{background:var(--down)}.pos{border:1px solid var(--line);border-radius:12px;margin-bottom:8px;padding:10px 12px;font-size:13px}.pos .r1{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.pos .tag{color:#fff;border-radius:6px;padding:1px 6px;font-size:12px;font-weight:900}.pos .tag.long{background:var(--up)}.pos .tag.short{background:var(--down)}.pos .pnl{font-size:15px;font-weight:900}.pos .r2{color:var(--muted);justify-content:space-between;display:flex}.pos button{background:#ffffff1a;border-radius:8px;padding:4px 10px;font-size:12px}.trade footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;padding:10px 16px;font-size:12px;display:flex}.trade footer button{color:#ff8a8a;font-size:12px}.x{color:#aaa;padding:4px 8px;font-size:20px;line-height:1}.chartModal{background:#0009;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.chartModal.hidden{display:none}.chartBox{background:var(--panel-solid);border:1px solid var(--line);border-radius:18px;flex-direction:column;width:min(1100px,100%);height:min(680px,100%);display:flex;overflow:hidden}.chartBox header{border-bottom:1px solid var(--line);flex-wrap:nowrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.chartBox .tabs,.chartBox .ma-btn,.chartBox header .x{white-space:nowrap;flex-shrink:0}.chartBox .tabs{background:#ffffff0d;border-radius:10px;gap:4px;padding:3px;display:flex}.chartBox .tabs button{color:#aaa;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:700}.chartBox .tabs button.sel{color:#111;background:#fff}.chartBox .price{text-align:right;white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;margin-left:auto;font-size:20px;font-weight:900;overflow:hidden}.chartBox .chart{flex:1;min-height:0;position:relative}.ma-legend{z-index:3;pointer-events:none;text-shadow:0 0 3px #000;gap:8px;font-size:11px;font-weight:700;display:flex;position:absolute;top:6px;left:8px}.chartBox .ma-btn{color:#ccc;background:#ffffff0d;border-radius:8px;padding:5px 9px;font-size:13px;font-weight:700;font-size:15px!important}.ma-panel{z-index:4;background:var(--panel-solid);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:6px;padding:8px 10px 10px;display:flex;position:absolute;top:26px;left:8px;box-shadow:0 8px 24px #00000080}.ma-panel.hidden{display:none}.ma-head{justify-content:space-between;align-items:center;font-size:13px;display:flex}.ma-row{align-items:center;gap:8px;font-size:13px;display:flex}.ma-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--amber)}.ma-row input[type=number]{border:1px solid var(--line);width:58px;color:var(--text);text-align:right;background:#0d0e10;border-radius:8px;padding:4px 6px;font-size:14px}.ma-swatch{border:2px solid #ffffff40;border-radius:6px;width:30px;height:22px}.ma-swatch.sel{border-color:#fff}.ma-widths{gap:3px;display:flex}.ma-widths button{background:#ffffff0d;border:1px solid #0000;border-radius:6px;place-items:center;width:26px;height:22px;display:grid}.ma-widths button.sel{border-color:var(--amber);background:#ffb0001f}.ma-widths i{border-radius:2px;width:16px;display:block}.ma-palette{grid-template-columns:repeat(8,22px);gap:5px;padding:6px 0 4px 26px;display:grid}.ma-palette button{border:2px solid #0000;border-radius:50%;width:22px;height:22px}.ma-palette button.sel{border-color:#fff}.ma-reset{color:#ccc;background:#ffffff14;border-radius:8px;margin-top:2px;padding:6px;font-size:12px}.chartModal.docked{pointer-events:none;background:0 0;place-items:stretch stretch;padding:0;inset:60px 388px 80px 16px}.chartModal.docked .chartBox{pointer-events:auto;width:100%;height:100%}@media (max-width:720px){.brand{font-size:15px}.topbar{gap:6px;padding:8px 10px}.pill.hide-m{display:none}.trade{width:auto;height:58dvh;padding-bottom:env(safe-area-inset-bottom);z-index:5;border-radius:18px 18px 0 0;inset:auto 0 0}.chartModal.docked{inset:50px 6px calc(58dvh + 6px)}.trade{height:100dvh;padding-top:env(safe-area-inset-top);background:var(--panel-solid);border-radius:0;top:0}.trade.hidden{transform:translateY(100%)}body.trading .chartModal{z-index:10}body.trading .hud-left,body.trading .hud-right,body.trading .hint{display:none}.chartBox header{flex-wrap:wrap}.chartModal.docked .chartBox header{gap:6px;padding:6px 8px}.chartModal.docked .chartBox .tabs button{padding:4px 7px;font-size:12px}.chartModal.docked .chartBox .price{font-size:15px}.hud-left{left:calc(10px + env(safe-area-inset-left));bottom:calc(10px + env(safe-area-inset-bottom));gap:6px}.hud-right{right:calc(10px + env(safe-area-inset-right));bottom:calc(10px + env(safe-area-inset-bottom));gap:6px}.fab{width:58px;height:58px;font-size:14px}.act{height:46px;padding:0 13px;font-size:14px}.hide-m{display:none}.toasts{width:calc(100% - 20px);top:52px}.toast{text-align:center;font-size:13px}.hint{display:none}.entry-card{padding:20px}.channels{grid-template-columns:repeat(5,1fr)}.charpick{grid-template-columns:1fr}canvas.pv{order:-1;justify-self:center;width:150px}}.trade header .row-r{align-items:center;gap:4px;display:flex}.pnlModal{z-index:20;background:#0000008c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.pnlModal.hidden{display:none}.pnlBox{background:var(--panel-solid);border:1px solid var(--line);border-radius:18px;flex-direction:column;gap:10px;width:min(460px,100%);max-height:100%;padding:14px 16px 12px;display:flex;overflow-y:auto}.pnlBox header{justify-content:space-between;align-items:center;gap:8px;display:flex}.pnl-nav{align-items:center;gap:6px;font-size:15px;display:flex}.pnl-nav button{background:#ffffff0f;border-radius:8px;width:30px;height:30px;font-size:18px;line-height:1}.pnl-summary{background:#ffffff0a;border-radius:12px;flex-direction:column;gap:2px;padding:10px 12px;font-size:12px;display:flex}.pnl-summary>div:first-child{justify-content:space-between;align-items:baseline;font-size:13px;display:flex}.pnl-summary b{font-size:18px}.pnl-week,.pnl-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.pnl-week span{text-align:center;color:var(--muted);font-size:11px}.pnl-week .sun,.pnl-cell.sun .d{color:#ff8080}.pnl-week .sat,.pnl-cell.sat .d{color:#80aaff}.pnl-cell{aspect-ratio:1/.9;text-align:left;background:#ffffff08;border:1px solid #0000;border-radius:8px;flex-direction:column;justify-content:space-between;min-width:0;padding:4px 5px;display:flex}.pnl-cell.empty{background:0 0}.pnl-cell .d{color:#bbb;font-size:11px}.pnl-cell .v{color:#ddd;white-space:nowrap;text-overflow:ellipsis;text-align:right;font-size:10.5px;font-weight:800;overflow:hidden}.pnl-cell.has{cursor:pointer}.pnl-cell .v.up{color:var(--up)}.pnl-cell .v.down{color:var(--down)}.pnl-cell.today{border-color:#ffffff73}.pnl-cell.sel{border-color:var(--amber);box-shadow:0 0 0 1px var(--amber) inset}.pnl-detail:empty{display:none}.pnl-dtitle{margin-bottom:6px;font-size:13px;font-weight:700}.pnl-trade{border:1px solid var(--line);border-radius:10px;margin-bottom:6px;padding:8px 10px;font-size:13px}.pnl-trade .r1{justify-content:space-between;align-items:center;margin-bottom:3px;display:flex}.pnl-trade .r2{justify-content:space-between;gap:8px;font-size:11.5px;display:flex}.pnl-trade .tag{color:#fff;border-radius:6px;padding:1px 6px;font-size:12px;font-weight:900}.pnl-trade .tag.long{background:var(--up)}.pnl-trade .tag.short{background:var(--down)}.pnl-trade .liq{color:#c89bff;border:1px solid #8a5cd6;border-radius:6px;margin-left:6px;padding:0 5px;font-size:11px;font-weight:800}.pnl-foot{font-size:11px;line-height:1.5}.pill.chips{color:#ffd34d}.pill.move{flex:none;font-weight:700}.move-wrap{flex:none;position:relative}.ch-tray{max-height:60vh;left:0;right:auto;overflow-y:auto}.pill.go-room{flex:none;font-weight:700}.room-stack{flex-direction:column;flex:none;align-items:flex-end;gap:6px;display:flex}.bet-credits{color:#999;margin-top:18px;font-size:12px}.bet-credits summary{cursor:pointer;color:#aaa;list-style:none}.bet-credits summary::-webkit-details-marker{display:none}.bet-credits p{color:#bbb;margin:6px 0 0;line-height:1.6}.bet-credits a{color:#9fd0ff;text-decoration:none}.pill.ch-btn{cursor:pointer}@media (max-width:720px){.pill.go-room{padding:5px 8px;font-size:12px}.brand{font-size:14px}}.move-tray{background:var(--panel-solid);border:1px solid var(--line);opacity:0;pointer-events:none;z-index:30;border-radius:14px;flex-direction:column;gap:4px;min-width:150px;padding:6px;transition:opacity .15s,transform .15s;display:flex;position:absolute;top:calc(100% + 6px);right:0;transform:translateY(-6px);box-shadow:0 8px 24px #00000073}.move-tray.open{opacity:1;pointer-events:auto;transform:none}.move-tray button{text-align:left;color:#eee;background:#ffffff0a;border-radius:10px;padding:10px 12px;font-size:15px;font-weight:700}.move-tray button:hover:not(:disabled){background:#ffb00026}.move-tray button.here{color:var(--amber);opacity:.8}.move-tray small{color:#999;font-weight:400}.act.ghost.on{border-color:var(--amber);color:#fff;background:#ffb00033}.bet-status{background:#ffffff0d;border-radius:10px;padding:9px 12px;font-size:13px;font-weight:700}.bet-status.bet{color:#7ee2a0}.bet-status.race{color:#ffd34d}.bet-status.result{color:#9ecbff}.bet-horses{flex-direction:column;gap:6px;display:flex}.bet-horse{border:1px solid var(--line);text-align:left;background:#0d0e10;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.bet-horse:disabled{opacity:.75;cursor:default}.bet-horse.sel{border-color:var(--amber);background:#ffb0001f}.bet-horse.won{border-color:gold;box-shadow:inset 0 0 0 1px gold}.bet .no{border-radius:6px;flex:none;place-items:center;width:26px;height:26px;font-size:14px;font-weight:900;display:inline-grid}.bet-horse .nm{flex-direction:column;flex:1;min-width:0;font-size:14px;font-weight:700;display:flex}.bet-horse .nm small{color:#fc3;font-size:11px;font-weight:400}.bet-horse .nm .cond{border:1px solid;border-radius:8px;align-self:flex-start;margin-top:2px;padding:0 6px;font-weight:700;line-height:16px}.bet-horse .mine{color:#ffd34d;font-size:12px}.bet-horse .nm-t{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bet-horse .pl{color:#7fe0ff;margin-left:6px;font-size:11px;font-style:normal;font-weight:700}.act.ghost.run.on{color:#bff1ff;background:#0e3b4d;border-color:#36c6f0}@media (max-width:720px){.hud-right{position:fixed}.act.run{height:40px;padding:0 12px;font-size:13px;position:absolute;bottom:56px;right:0}}.run-join{cursor:pointer;background:#7fe0ff14;border-radius:10px;align-items:flex-start;gap:8px;margin-top:10px;padding:8px 10px;display:flex}.run-join input{accent-color:#36c6f0;flex:none;width:18px;height:18px;margin-top:1px}.run-join span{flex-direction:column;gap:2px;display:flex}.run-join b{color:#9fe8ff;font-size:13px}.run-join small{color:#999;font-size:11px}.bet-horse .od{font-size:16px}.bet-go{background:var(--amber);color:#111;border-radius:12px;width:100%;margin-top:10px;padding:13px;font-size:15px;font-weight:900}.bet-go:disabled{color:#888;background:#ffffff14}.bet-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:6px 0;font-size:13px;display:flex}.bet-result{border-radius:10px;padding:10px 12px;font-size:14px;font-weight:800}.bet-result.win{color:#ff8080;background:#ff3b3b26}.bet-result.lose{color:#aaa;background:#ffffff0d}.race-count{z-index:20;pointer-events:none;color:#fff;text-shadow:0 0 6px #000,0 6px 24px #000000b3;font:900 140px/1 Noto Sans KR,sans-serif;position:fixed;top:14vh;left:50%;transform:translate(-50%)}.race-count.hidden{display:none}.race-count.hot{color:#ff4040}.race-count.go{color:#ffd60a;font-size:120px}.race-count.pop{animation:1s ease-out forwards race-pop}@keyframes race-pop{0%{opacity:0;transform:translate(-50%)scale(1.8)}15%{opacity:1;transform:translate(-50%)scale(1)}75%{opacity:1}to{opacity:.15;transform:translate(-50%)scale(.85)}}@media (max-width:720px){.race-count{font-size:96px;top:12vh}.race-count.go{font-size:80px}}.act-icons{justify-content:flex-end;gap:8px;display:flex}.act.icon{border-radius:50%;place-items:center;width:48px;height:48px;padding:0;font-size:22px;line-height:1;display:grid}@media (max-width:720px){.act-icons{margin-bottom:62px}.act.icon{width:46px;height:46px;font-size:21px}}.friends-btn{position:relative}.fbadge{color:#fff;text-align:center;background:#ff3b3b;border-radius:10px;min-width:20px;height:20px;padding:0 5px;font-size:12px;font-weight:900;line-height:20px;position:absolute;top:-6px;right:-6px}@media (max-width:720px){.hud-right.track .act.run{bottom:calc(100% + 6px)}}.pmenu{z-index:31;background:var(--panel-solid);border:1px solid var(--line);opacity:0;pointer-events:none;border-radius:14px;flex-direction:column;gap:4px;width:170px;padding:6px;transition:opacity .12s,transform .12s;display:flex;position:fixed;transform:translateY(-6px);box-shadow:0 8px 24px #00000073}.pmenu.open{opacity:1;pointer-events:auto;transform:none}.pmenu-name{color:var(--amber);text-overflow:ellipsis;white-space:nowrap;padding:4px 8px 2px;font-size:13px;font-weight:800;overflow:hidden}.pmenu button{text-align:left;color:#eee;background:#ffffff0a;border-radius:10px;padding:10px 12px;font-size:15px;font-weight:700}.pmenu button:hover{background:#ffb00026}.social{z-index:25}.sbox{width:min(400px,100%)}.sbox .stitle{font-size:16px}.pname{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pname b{font-size:22px}.pname .tag{color:#7ee2a0;background:#2e9e4f33;border-radius:8px;padding:2px 8px;font-size:12px;font-weight:800}.online{color:var(--muted);font-size:13px}.online.on{color:#7ee2a0}.assets{flex-direction:column;gap:6px;display:flex}.asset{border:1px solid var(--line);background:#0d0e10;border-radius:12px;justify-content:space-between;align-items:baseline;gap:10px;padding:10px 12px;font-size:14px;display:flex}.asset b{text-align:right;font-size:15px}.asset small{font-size:12px;font-weight:700}.asset-r{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.asset .arank{color:var(--amber);font-size:12px;font-weight:700}.sbtn{color:#eee;background:#ffffff14;border-radius:10px;padding:10px 14px;font-size:14px;font-weight:800}.sbtn.primary{background:var(--amber);color:#111}.sbtn.small{padding:6px 10px;font-size:13px}.srow{gap:8px;display:flex}.srow .sbtn{flex:1}.small{font-size:12px}.fsec{flex-direction:column;gap:6px;display:flex}.fhead{color:var(--muted);margin-top:4px;font-size:13px;font-weight:800}.frow{border:1px solid var(--line);background:#0d0e10;border-radius:12px;align-items:center;gap:8px;padding:8px 10px;display:flex}.frow .fmain{flex-direction:column;flex:1;min-width:0;display:flex}.frow .fmain small{color:var(--muted);font-size:12px}.fname{text-align:left;color:#fff;text-overflow:ellipsis;white-space:nowrap;align-self:flex-start;max-width:100%;font-size:15px;font-weight:800;overflow:hidden}.sbtn:disabled{opacity:.55;cursor:default}.dot{background:#555;border-radius:50%;flex:none;width:10px;height:10px}.dot.on{background:#2ecc71;box-shadow:0 0 6px #2ecc71}.pmenu button.danger{color:#ff8a8a}.chat{left:calc(16px + env(safe-area-inset-left));bottom:calc(92px + env(safe-area-inset-bottom));flex-direction:column;gap:6px;width:320px;display:flex;position:fixed}#ui>.chat,.chat-bar{pointer-events:none}.chat-bar>*{pointer-events:auto}.chat-log{pointer-events:none;flex-direction:column;gap:3px;display:flex}.chat-line{word-break:break-all;background:#0000008c;border-radius:10px;align-self:flex-start;max-width:100%;padding:4px 10px;font-size:14px;line-height:1.35;animation:.15s chatin}.chat-line b{color:var(--amber);pointer-events:auto;cursor:pointer;font-weight:800}.chat-line b:hover{text-decoration:underline}.chat-line.me b{color:#7fe0ff}@keyframes chatin{0%{opacity:0;transform:translateY(4px)}}.chat-bar{align-items:center;gap:6px;display:flex}.chat-toggle{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex:none;width:44px;height:44px;font-size:20px;display:none}.chat-in{border:1px solid var(--line);min-width:0;height:40px;color:var(--text);background:#0d0e10d9;border-radius:12px;flex:1;padding:0 12px;font-size:15px}.chat-in:focus{outline:2px solid var(--amber)}.chat-send{background:var(--amber);color:#111;border-radius:12px;flex:none;height:40px;padding:0 12px;font-size:14px;font-weight:800}.chat-opt-wrap{flex:none;position:relative}.chat-opt-btn{background:var(--panel);border:1px solid var(--line);border-radius:12px;width:40px;height:40px;font-size:17px}.chat-opts{background:var(--panel-solid);border:1px solid var(--line);opacity:0;pointer-events:none;z-index:30;border-radius:14px;flex-direction:column;gap:4px;width:190px;padding:6px;transition:opacity .12s,transform .12s;display:flex;position:fixed;bottom:max(180px,28vh);left:50%;transform:translate(-50%,6px);box-shadow:0 8px 24px #00000073}.chat-opts.open{opacity:1;pointer-events:auto;transform:translate(-50%)}.chat-sw{color:#eee;background:#ffffff0a;border-radius:10px;justify-content:space-between;align-items:center;padding:10px 12px;font-size:14px;font-weight:700;display:flex}.chat-sw i{color:#999;background:#ffffff1a;border-radius:8px;padding:2px 8px;font-size:12px;font-style:normal;font-weight:800}.chat-sw.on i{color:#7ee2a0;background:#2e9e4f40}@media (max-width:720px){.chat-opt-btn{border-radius:14px;width:44px;height:44px}.chat{left:calc(10px + env(safe-area-inset-left));bottom:calc(76px + env(safe-area-inset-bottom));width:calc(100% - 20px)}.chat-log{max-width:75%}.chat-line{font-size:13px}.chat-toggle{display:block}.chat:not(.open) .chat-in,.chat:not(.open) .chat-send,body.trading .chat{display:none}}
