@font-face{font-family:Galmuri11;src:url(/fonts/Galmuri11.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Galmuri11;src:url(/fonts/Galmuri11-Bold.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Galmuri9;src:url(/fonts/Galmuri9.woff2) format("woff2");font-weight:400;font-display:swap}*{box-sizing:border-box;margin:0;padding:0}:root{--bg: #101014;--panel: #1a1c24;--panel-2: #242732;--line: #3a3e4f;--ink: #000;--text: #e9eaf0;--muted: #8f95a8;--accent: #ffd23f;--accent-ink: #1a1400;--accent-2: #59e0a2;--up: #ff5a66;--down: #4d9bff;--shadow: 4px 4px 0 rgba(0, 0, 0, .55);--shadow-sm: 3px 3px 0 rgba(0, 0, 0, .55)}html,body,#root{height:100%}body{background:radial-gradient(ellipse at 50% -20%,#1c2030 0%,var(--bg) 55%);color:var(--text);font-family:Galmuri11,Pretendard,Malgun Gothic,sans-serif;font-size:14px;line-height:1.65;image-rendering:pixelated}.crt{position:relative;min-height:100%}.crt:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:900;background:repeating-linear-gradient(to bottom,transparent 0 2px,rgba(0,0,0,.07) 2px 4px)}button{font:inherit;cursor:pointer;border:none;border-radius:0}input,select{font:inherit}input[type=text],input[type=password],input[type=number],input[type=datetime-local],input:not([type]){background:#12141a;border:2px solid var(--line);color:var(--text);padding:8px 12px;width:100%;outline:none;border-radius:0}input:focus{border-color:var(--accent);box-shadow:3px 3px #ffd23f2e}input[type=datetime-local]{cursor:pointer}input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(.75);cursor:pointer}::placeholder{color:#5b6172}.app-shell{min-height:100%;display:flex;flex-direction:column}.conn-banner{background:#8a5a00;color:#ffe9b0;text-align:center;padding:6px;font-size:13px;border-bottom:2px solid #000}.boot-screen{flex:1;display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:700;letter-spacing:4px;color:var(--accent);text-shadow:4px 4px 0 #000}.blink{animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);padding:12px 20px;z-index:1000;max-width:90vw;border:2px solid #000;box-shadow:var(--shadow);animation:pop .12s steps(3);pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast-error{background:#93262c;color:#ffd7d9}.toast-info{background:#1d6b46;color:#c8ffe3}@keyframes pop{0%{opacity:0;transform:translate(-50%,8px)}}.retro-card{background:var(--panel);border:2px solid var(--line);box-shadow:var(--shadow);padding:22px}.primary{background:var(--accent);color:var(--accent-ink);font-weight:700;padding:9px 18px;border:2px solid #000;box-shadow:var(--shadow-sm)}.primary:hover:not(:disabled){filter:brightness(1.06)}.primary:active:not(:disabled){transform:translate(3px,3px);box-shadow:none}.primary.big{width:100%;padding:13px;font-size:16px;margin-top:10px}.primary:disabled,button:disabled{opacity:.45;cursor:not-allowed}.ghost{background:transparent;border:2px solid var(--line);color:var(--muted);padding:7px 14px}.ghost:hover:not(:disabled){color:var(--text);border-color:var(--muted)}.ghost:active:not(:disabled){transform:translate(2px,2px)}.ghost.big{width:100%;padding:12px;margin-top:8px}.small{padding:3px 10px;font-size:12px}.qty-row button,.settings-list b,.ghost.small{white-space:nowrap;flex-shrink:0}.ghost.dim{opacity:.5;border-style:dashed}.ghost.dim:hover{opacity:1}.seg{display:flex;gap:0;border:2px solid var(--line);margin:14px 0;background:#12141a}.seg button{flex:1;padding:9px;background:transparent;color:var(--muted);font-weight:700;border-right:2px solid var(--line)}.seg button:last-child{border-right:none}.seg button.on{background:var(--accent);color:var(--accent-ink)}.seg button.on.long{background:#1fa15e;color:#eafff3}.seg button.on.short{background:#c43a45;color:#ffe9ea}.pixel-logo{text-align:center;-webkit-user-select:none;user-select:none}.pixel-logo .logo-line1,.pixel-logo .logo-line2{font-size:52px;font-weight:700;letter-spacing:6px;line-height:1.15;text-shadow:4px 4px 0 #000,8px 8px 0 rgba(255,210,63,.15)}.pixel-logo .logo-line1{color:#fff}.pixel-logo .logo-line2{color:var(--accent)}.pixel-logo .logo-sub{color:var(--muted);margin-top:10px;letter-spacing:2px}.pixel-logo.small .logo-line1,.pixel-logo.small .logo-line2{font-size:30px;display:inline}.login-screen{max-width:420px;margin:0 auto;padding:64px 20px;width:100%}.login-card{margin-top:32px}.account-line{margin-top:10px;display:flex;gap:10px;justify-content:center;align-items:center;color:var(--muted)}.server-line{margin-top:14px;display:flex;gap:8px;justify-content:center;align-items:center;color:var(--muted);font-size:12px;flex-wrap:wrap}.lobby{max-width:560px;margin:0 auto;padding:40px 20px;width:100%}.lobby-hero{text-align:center;margin-bottom:24px}.lobby-hero p{color:var(--muted);margin-top:8px}.field{display:block;margin-bottom:16px}.field>span{display:block;font-size:12px;color:var(--muted);margin-bottom:6px;font-weight:700;letter-spacing:1px}.field.checkbox{display:flex;align-items:center;gap:8px}.field.checkbox span{margin:0;font-size:13px;color:var(--text)}.preset-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}.preset-row button{background:#12141a;border:2px solid var(--line);color:var(--muted);padding:7px 14px}.preset-row button.on{border-color:var(--accent);color:var(--accent);background:#ffd23f14;font-weight:700;box-shadow:var(--shadow-sm)}.code-input{text-transform:uppercase;letter-spacing:8px;font-size:22px;text-align:center}.job-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.job-card{background:#12141a;border:2px solid var(--line);color:var(--text);padding:12px 10px;text-align:left;display:flex;flex-direction:column;gap:6px}.job-card:hover{border-color:var(--muted)}.job-card.on{border-color:var(--accent);box-shadow:var(--shadow-sm);background:#ffd23f12}.job-card .job-name{font-size:15px;color:var(--accent)}.job-card.on .job-name{color:var(--accent)}.job-card .job-tagline{font-size:12px;color:var(--text)}.job-card .job-desc{font-size:13px;color:var(--muted);font-family:Galmuri9,Galmuri11,sans-serif;white-space:pre-line;line-height:1.8}@media (max-width: 620px){.job-grid{grid-template-columns:1fr}}.job-tag{display:inline-block;margin-left:8px;padding:2px 7px;font-size:12px;border:1px solid var(--line);color:var(--muted);vertical-align:1px;font-family:Galmuri9,sans-serif}.host-tag{display:inline-block;margin-right:6px;padding:2px 7px;font-size:12px;background:var(--accent);color:var(--accent-ink);font-weight:700;border:1px solid #000}.cloak-tag{display:inline-block;margin-left:8px;padding:2px 7px;font-size:12px;background:#2d2f45;color:#a9b0d8;border:1px solid #000}.presence{display:inline-block;width:8px;height:8px;margin-right:7px;background:#565b6e;vertical-align:1px}.presence.on{background:#35e08b;box-shadow:0 0 5px #35e08bcc}.myrooms-card{margin-bottom:18px;padding:16px 18px}.myrooms-card h3{color:var(--accent);margin-bottom:10px;font-size:14px;letter-spacing:1px}.myroom-wrap{display:flex;gap:8px;margin-bottom:8px;align-items:stretch}.myroom-wrap .myroom-row{margin-bottom:0;flex:1}.myroom-cancel{white-space:nowrap}.myroom-row{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:#12141a;border:2px solid var(--line);color:var(--text);padding:11px 14px;margin-bottom:8px}.myroom-row:hover{border-color:var(--accent)}.myroom-row .myroom-name{flex:1;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.myroom-row .live-text{color:var(--accent-2);font-weight:700}.myroom-row .resume{color:var(--accent);font-size:12px}.mchip{display:inline-block;padding:2px 6px;font-size:12px;font-weight:700;border:1px solid #000;margin-right:4px;letter-spacing:1px;vertical-align:1px}.mchip-us{background:#17335c;color:#9cc5ff}.mchip-kr{background:#5c1720;color:#ffb3ba}.mchip-crypto{background:#574400;color:#ffd96b}.room{display:flex;flex-direction:column;min-height:100vh}.room-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:12px 20px;background:var(--panel);border-bottom:2px solid var(--line);position:sticky;top:0;z-index:50}.room-title{display:flex;align-items:center;gap:10px}.room-title h2{font-size:17px}.mode-badge{padding:4px 10px;font-size:12px;font-weight:700;letter-spacing:2px;background:#2d2f45;color:#a9b0d8;border:2px solid #000}.mode-badge.ranked{background:var(--accent);color:var(--accent-ink)}.tier-tag{display:inline-block;margin-left:7px;padding:2px 7px;font-size:12px;font-weight:700;letter-spacing:1px;border:1px solid #000;vertical-align:1px}.tier-BRONZE{background:#4a3020;color:#d8a06a}.tier-SILVER{background:#3a3f4a;color:#c9d1e3}.tier-GOLD{background:#574400;color:#ffd96b}.tier-PLATINUM{background:#0f4a44;color:#6be5d5}.tier-DIAMOND{background:#1b3a6b;color:#8ec3ff}.tier-LEGEND{background:linear-gradient(90deg,#6b1b5e,#6b4a00);color:#ffd2f2}.honor-tag{display:inline-block;margin-left:7px;padding:2px 7px;font-size:12px;font-weight:700;background:linear-gradient(180deg,#6b5300,#4a3900);color:#ffd96b;border:1px solid #000;vertical-align:1px}.room-code{background:#000;padding:3px 12px;letter-spacing:4px;color:var(--accent);font-weight:700;border:2px solid var(--line)}.room-status{color:var(--muted);font-size:13px}.room-status .live{color:var(--accent-2);font-weight:700}.live-dot{display:inline-block;width:9px;height:9px;background:var(--accent-2);margin-right:7px;animation:blink 1.2s steps(2) infinite}.ended-badge{color:var(--accent)}.room-me{margin-left:auto;display:flex;align-items:center;gap:10px;font-weight:700}.me-equity{font-size:16px}.me-rank{background:#000;padding:3px 10px;color:var(--accent);border:2px solid var(--line);font-size:12px;letter-spacing:1px}.waiting{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:26px;max-width:900px;margin:0 auto;width:100%}.waiting-card h3{margin-bottom:12px;color:var(--accent);letter-spacing:1px}.settings-list{list-style:none}.settings-list li{padding:8px 0;border-bottom:1px dashed var(--line);display:flex;justify-content:space-between;gap:12px}.settings-list li:last-child{border:none}.settings-list b{color:var(--muted);font-weight:700}.player-list{list-style:none}.player-list li{padding:8px 12px;background:var(--panel-2);border:1px solid var(--line);margin-bottom:6px}.hint{color:var(--muted);font-size:13px;margin-top:10px}@media (max-width: 700px){.waiting{grid-template-columns:1fr}}.waiting-jobs{grid-column:1 / -1}.hint-inline{font-size:12px;color:var(--muted);font-weight:400}.tab-bar{display:flex;gap:6px;padding:12px 20px 0;background:var(--panel);border-bottom:2px solid var(--line);overflow-x:auto}.tab-bar button{background:#12141a;color:var(--muted);padding:9px 16px;font-weight:700;border:2px solid var(--line);border-bottom:none;white-space:nowrap}.tab-bar button.on{color:var(--text);background:var(--bg);border-color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}.sub-tab-bar{padding-top:8px;background:#14161d;border-bottom:1px solid var(--line)}.sub-tab-bar button{padding:7px 14px;font-size:13px}.tab-body{flex:1;padding:22px 20px;max-width:1100px;margin:0 auto;width:100%}.market-tab{border:2px solid var(--line);box-shadow:var(--shadow);padding:18px}.market-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:14px;font-size:13px}.market-hours{opacity:.6;margin-left:10px;font-size:12px}.market-dot{display:inline-block;width:9px;height:9px;margin-right:7px}.market-dot.open{background:#35e08b;animation:blink 1.6s steps(2) infinite}.market-dot.closed{background:#6b7280}.market-grid{display:grid;grid-template-columns:1fr 320px;gap:16px;align-items:start}@media (max-width: 800px){.market-grid{grid-template-columns:1fr}.quote-table td{padding:13px 10px}.order-box{position:static}.tab-body{padding:14px 10px}.market-tab{padding:12px}}.symbol-search{margin-bottom:10px}.my-holdings{margin-bottom:12px;border:1px dashed rgba(128,128,128,.4)}.my-holdings th:first-child{opacity:1;font-weight:700}.quote-table{width:100%;border-collapse:collapse}.quote-table th{text-align:left;font-size:12px;color:var(--muted);padding:6px 10px}.quote-table td{padding:9px 10px;border-top:1px dashed rgba(128,128,128,.25)}.quote-table tbody tr{cursor:pointer}.quote-table .ticker{color:var(--muted);font-size:12px;margin-left:8px}.num{text-align:right}.chg{font-weight:700}.mid-ink{color:var(--muted)}.order-box{border:2px solid;padding:16px;position:sticky;top:74px}.order-box h3{margin-bottom:10px}.order-box h3 small{font-weight:400;opacity:.75;margin-left:6px;font-size:12px}.order-box .held{font-size:13px;margin-bottom:10px;opacity:.95}.order-box .cash-line{font-size:13px;color:var(--muted);margin-bottom:8px;border-bottom:1px dashed rgba(128,128,128,.35);padding-bottom:8px}.qty-row{display:flex;gap:6px;margin:10px 0}.est{font-size:13px;color:var(--text);opacity:.92;margin-bottom:10px}.order-actions{display:flex;gap:8px}.order-actions button{flex:1;padding:11px;font-weight:700;font-size:15px;color:#fff;border:2px solid #000;box-shadow:var(--shadow-sm)}.order-actions button:active:not(:disabled){transform:translate(3px,3px);box-shadow:none}.order-actions button.confirming{animation:blink 1s steps(2) infinite;outline:2px solid #fff}.closed-note{font-size:13px;color:var(--muted);margin-top:10px}.side-long{color:#35e08b;font-weight:700}.side-short{color:#ff6b74;font-weight:700}.liq-price{color:#ffae3d}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.stat{background:var(--panel);border:2px solid var(--line);box-shadow:var(--shadow-sm);padding:13px 16px}.stat span{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.stat b{font-size:17px}@media (max-width: 900px){.stat-row{grid-template-columns:1fr 1fr}}@media (max-width: 520px){.stat-row{grid-template-columns:1fr}}.job-info{background:var(--panel);border:2px solid var(--line);box-shadow:var(--shadow-sm);padding:13px 16px;margin-bottom:16px}.job-info-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.job-info-label{background:var(--accent);color:var(--accent-ink);font-size:12px;font-weight:700;padding:2px 8px;border:1px solid #000}.job-info-head b{font-size:15px;color:var(--accent)}.job-info-head .job-tagline{color:var(--muted);font-size:13px}.job-info-desc{font-size:14px;margin-top:6px;white-space:pre-line;line-height:1.8}.job-info-facts{display:flex;gap:16px;flex-wrap:wrap;margin-top:6px;font-size:12px;color:var(--muted)}.job-info-facts span:before{content:"·";margin-right:6px;color:var(--accent)}.job-info-btn{margin-left:auto}.job-card.static{cursor:default}.modal.modal-wide{max-width:640px}.account-tab section{margin-bottom:26px}.account-tab h3,.ranking-tab h3{margin-bottom:10px;font-size:15px;color:var(--accent);letter-spacing:1px}.data-table{width:100%;border-collapse:collapse;background:var(--panel);border:2px solid var(--line)}.data-table .num{white-space:nowrap}@media (max-width: 800px){.data-table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table th,.data-table td{white-space:nowrap}.settings-list li{flex-direction:column;align-items:flex-start;gap:2px}.ranking-table{overflow-x:visible}.ranking-table thead{display:none}.ranking-table,.ranking-table tbody{display:block;width:100%}.ranking-table tr{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:8px;row-gap:3px;padding:10px 12px;border-top:1px dashed rgba(128,128,128,.25)}.ranking-table td{display:block;padding:0;border:none;white-space:normal}.ranking-table td:nth-child(1){order:1}.ranking-table td:nth-child(2){order:2;flex:1 1 auto;min-width:0;text-align:left}.ranking-table td:nth-child(4){order:3;font-size:15px;font-weight:700}.ranking-table td:nth-child(3){order:4;flex-basis:100%;font-size:12px;color:var(--muted);text-align:left}.ranking-table td:nth-child(3):before{content:"평가자산 "}.ranking-table td:nth-child(5){order:5;font-size:12px;color:var(--muted)}.ranking-table td:nth-child(6){order:6;flex-basis:100%;text-align:left}.ranking-table td:nth-child(6):empty{display:none}}.data-table th{text-align:left;font-size:12px;color:var(--muted);padding:9px 12px;background:#12141a;border-bottom:2px solid var(--line)}.data-table th.num{text-align:right}.data-table td{padding:9px 12px;border-top:1px dashed rgba(128,128,128,.2)}.data-table tr.sel{background:#ffd23f0f;box-shadow:inset 3px 0 0 var(--accent)}.data-table tr.jump{cursor:pointer}.data-table tr.jump:hover{background:#ffd23f0d;box-shadow:inset 3px 0 0 var(--accent)}.pnl-up{color:var(--up)}.pnl-down{color:var(--down)}.pnl-flat{color:var(--muted)}.rank-chip{display:inline-block;min-width:26px;text-align:center;padding:1px 6px;font-weight:700;border:2px solid #000;background:var(--panel-2);color:var(--muted)}.rank-chip.rank-1{background:var(--accent);color:var(--accent-ink)}.rank-chip.rank-2{background:#c9d1e3;color:#22252e}.rank-chip.rank-3{background:#c98d5a;color:#2e1d10}.item-bar{display:flex;align-items:center;gap:10px;background:var(--panel);border:2px solid var(--line);box-shadow:var(--shadow-sm);padding:10px 14px;margin-bottom:18px;flex-wrap:wrap}.item-title{color:var(--accent);font-weight:700;font-size:12px;letter-spacing:1px}.item-chip{background:#12141a;border:1px solid var(--line);padding:3px 12px;font-size:12px}.item-chip.used{opacity:.45;text-decoration:line-through}.confirm-buy{border-color:var(--accent)!important;color:var(--accent)!important;animation:blink 1s steps(2) infinite}.liq-badge{margin-left:8px;font-size:12px;color:#ffae3d;border:1px solid #5c3a00;padding:1px 6px}.event-log{margin-top:26px}.event-log ul{list-style:none}.event-log li{padding:6px 0;border-bottom:1px dashed var(--line);font-size:13px}.event-log .ts{color:var(--muted);margin-right:8px;font-size:12px}.podium{display:flex;gap:16px;justify-content:center;margin:10px 0 30px;flex-wrap:wrap}.podium-card{background:var(--panel);border:2px solid var(--line);box-shadow:var(--shadow);padding:20px 28px;text-align:center;display:flex;flex-direction:column;gap:4px;min-width:160px}.podium-card.rank-1{border-color:var(--accent);order:2;transform:scale(1.07)}.podium-card.rank-2{order:1}.podium-card.rank-3{order:3}.podium-card .medal{font-size:26px;font-weight:700;letter-spacing:2px;color:var(--muted)}.podium-card.rank-1 .medal{color:var(--accent)}.podium-card.rank-2 .medal{color:#c9d1e3}.podium-card.rank-3 .medal{color:#c98d5a}.taunt{text-align:center;font-size:17px;font-weight:700;margin:4px 0 12px;letter-spacing:1px}.taunt.lose{color:var(--up)}.taunt.win{color:var(--accent)}.rematch-btn.pulse{animation:blink 1.2s steps(2) infinite}.result-actions{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.result-actions button{flex:1;min-width:220px;margin-top:0}.result-row{margin-bottom:10px}.result-head{width:100%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 12px;align-items:center;background:var(--panel);border:2px solid var(--line);box-shadow:var(--shadow-sm);color:var(--text);padding:12px 16px}.result-head:active{transform:translate(2px,2px);box-shadow:none}.result-detail{padding:12px 4px}.results-tab>h3{margin:8px 0 12px;color:var(--accent);letter-spacing:1px}.chat-dock{position:fixed;right:12px;bottom:20px;z-index:950;display:flex;flex-direction:column;align-items:flex-end}.chat-toggle{background:var(--accent);color:var(--accent-ink);padding:9px 18px;font-weight:700;border:2px solid #000;box-shadow:var(--shadow)}.chat-toggle:active{transform:translate(3px,3px);box-shadow:none}.chat-panel{width:min(320px,calc(100vw - 24px));height:380px;background:var(--panel);border:2px solid var(--line);box-shadow:var(--shadow);margin-bottom:10px;display:flex;flex-direction:column;overflow:hidden;order:-1}.chat-body{flex:1;overflow-y:auto;padding:12px}.chat-msg{margin-bottom:6px;font-size:13px;word-break:break-word}.chat-msg b{color:var(--accent);margin-right:6px}.chat-input{display:flex;gap:6px;padding:10px;border-top:2px solid var(--line)}.chat-input input{flex:1;min-width:0;width:auto}.chat-input button{flex-shrink:0;white-space:nowrap}.chart-block{margin-bottom:16px}.tf-row{display:flex;gap:4px;margin-bottom:8px;flex-wrap:wrap}.tf-row button{background:transparent;border:1px solid rgba(128,128,128,.45);color:inherit;opacity:.55;padding:2px 10px;font-size:12px}.tf-row button.on{opacity:1;border-color:currentColor;font-weight:700}.chart-title{display:flex;align-items:baseline;gap:12px;margin-bottom:6px}.chart-title .chart-note{font-size:12px;color:var(--muted);margin-left:auto}.candle-chart,.equity-chart{width:100%}.candle-chart.empty,.equity-chart.empty{display:flex;align-items:center;justify-content:center;font-size:13px;opacity:.55;border:2px dashed rgba(128,128,128,.4)}.candle-chart svg,.equity-chart svg{display:block}.grid-line{stroke:currentColor;opacity:.1}.zero-line{stroke:currentColor;opacity:.35;stroke-dasharray:4 3}.crosshair{stroke:currentColor;opacity:.4;stroke-dasharray:2 2}.axis-label{fill:var(--muted);font-size:11px;font-family:Galmuri9,sans-serif}.series-label{font-size:11px;font-weight:700;fill:currentColor;opacity:.9;font-family:Galmuri9,sans-serif}.candle-up rect{fill:var(--candle-up)}.candle-up line{stroke:var(--candle-up)}.candle-down rect{fill:var(--candle-down)}.candle-down line{stroke:var(--candle-down)}.vol-bar{opacity:.4}.chart-tooltip{position:absolute;pointer-events:none;z-index:10;background:#08090cf2;color:#e9eaf0;border:2px solid var(--line);padding:8px 12px;font-size:12px;line-height:1.6;min-width:150px;box-shadow:var(--shadow-sm)}.chart-tooltip .tt-title{font-weight:700;margin-bottom:2px;opacity:.8}.tt-chip{display:inline-block;width:9px;height:9px;margin-right:4px;border:1px solid rgba(0,0,0,.4)}.chart-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--muted);padding:8px 4px 0}.chart-card{background:var(--panel);border:2px solid var(--line);box-shadow:var(--shadow);padding:16px;margin-bottom:20px;color:var(--text)}.chart-card h3{margin-bottom:10px}.shop-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px;margin-bottom:4px}.shop-head h3{color:var(--accent);letter-spacing:1px}.shop-cash{font-weight:700}.shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:14px}.shop-card{background:var(--panel);border:2px solid var(--line);box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column;gap:10px}.shop-card-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px}.shop-card-head b{font-size:16px;color:var(--accent)}.shop-price{font-weight:700}.shop-desc{font-size:13px;color:var(--muted);flex:1;line-height:1.7}.target-list{list-style:none;margin:12px 0}.blackout{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;z-index:2000;display:flex;align-items:center;justify-content:center}.blackout-msg{color:#333;font-size:44px;font-weight:700;letter-spacing:6px;text-align:center;animation:blink 1.4s steps(2) infinite}.blackout-msg small{display:block;font-size:14px;letter-spacing:1px;margin-top:14px}.job-banner{max-width:1100px;margin:14px auto 0;width:calc(100% - 40px);display:flex;align-items:center;justify-content:space-between;gap:12px;background:#ffd23f14;border:2px dashed var(--accent);padding:9px 14px;font-size:13px}.golden-key-card{border-color:var(--accent)!important;text-align:center;animation:gk-pop .35s steps(5)}@keyframes gk-pop{0%{transform:scale(.3) rotate(-6deg);opacity:0}60%{transform:scale(1.08)}to{transform:scale(1)}}.gk-label{display:inline-block;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:12px;letter-spacing:3px;padding:2px 12px;border:1px solid #000;margin-bottom:12px}.golden-key-card h3{font-size:22px;margin-bottom:8px}.gk-text{color:var(--muted);font-size:13px}.gk-amount{font-size:26px;font-weight:700;margin-top:12px}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:980;padding:20px}.modal{background:var(--panel);border:2px solid var(--accent);box-shadow:6px 6px #0009;padding:24px;max-width:460px;width:100%;max-height:80vh;overflow-y:auto}.modal h3{margin-bottom:10px;color:var(--accent)}.modal h4{margin:14px 0 6px;font-size:13px;color:var(--muted)}.spy-list{list-style:none}.spy-list li{padding:5px 0;border-bottom:1px dashed var(--line);font-size:13px}.modal .primary{margin-top:16px;width:100%}@media (max-width: 800px){.room-header{position:static;padding:10px 12px;gap:8px 10px}.room-title h2{font-size:15px}.room-code{padding:4px 10px;letter-spacing:2px;font-size:13px}.room-title .ghost.small{display:none}.room-status{font-size:13px;width:100%;order:3}.room-me{gap:7px}.me-equity{font-size:15px}.me-rank{padding:4px 8px;font-size:12px}.room-header>.ghost.small:last-child{padding:8px 12px;font-size:13px;min-height:36px}.tab-bar{padding:8px 10px 0;gap:3px}.tab-bar button{padding:9px 12px;font-size:14px;min-height:40px}.sub-tab-bar{padding-top:6px}.sub-tab-bar button{padding:7px 10px;font-size:13px;min-height:36px}.job-banner{margin:8px auto 0;padding:8px 10px;font-size:13px;width:calc(100% - 20px)}.job-banner button{white-space:nowrap;min-height:36px}.tf-row{gap:4px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}.tf-row button{padding:8px 12px;font-size:13px;min-height:36px;white-space:nowrap;flex-shrink:0}.toast{top:calc(env(safe-area-inset-top,0px) + 10px);bottom:auto;font-size:14px;max-width:calc(100vw - 24px)}.chart-block{margin-bottom:10px}.market-head{font-size:13px}}.theme-us{background:#0d1b2a;border-color:#2b4a76;color:#d9e6f5;--candle-up: #16a34a;--candle-down: #ef4444}.theme-us .chg-up,.theme-us .pnl-up{color:#35d071}.theme-us .chg-down,.theme-us .pnl-down{color:#ff6b62}.theme-us .quote-table tbody tr:hover{background:#2b4a7659}.theme-us .quote-table tr.sel{background:#3b82f624;box-shadow:inset 3px 0 #5598e7}.theme-us .order-box{background:#0a1626;border-color:#2b4a76}.theme-us .order-actions .buy{background:#16a34a}.theme-us .order-actions .sell{background:#c43a45}.theme-us input{background:#0a1626;border-color:#2b4a76;color:#d9e6f5}.theme-us input:focus{border-color:#5598e7;box-shadow:3px 3px #5598e733}.theme-us .seg{background:#0a1626;border-color:#2b4a76}.theme-us .seg button{border-color:#2b4a76}.theme-us .fx{color:#7ea8d8}.theme-us .ghost{border-color:#2b4a76;color:#7ea8d8}.theme-us .market-head .market-hours{color:#7ea8d8}.theme-kr{background:#f7f2e6;border-color:#b9ac8e;color:#262118;box-shadow:4px 4px #00000080;--candle-up: #f04452;--candle-down: #3182f6}.theme-kr .chg-up,.theme-kr .pnl-up{color:#d92533}.theme-kr .chg-down,.theme-kr .pnl-down{color:#1f66d6}.theme-kr .quote-table th{color:#857a63;opacity:1}.theme-kr .quote-table td{border-top-color:#857a6359}.theme-kr .quote-table tbody tr:hover{background:#efe7d3}.theme-kr .quote-table tr.sel{background:#ece1c6;box-shadow:inset 3px 0 #d92533}.theme-kr .ticker{color:#a2957a}.theme-kr .order-box{background:#fffbef;border-color:#b9ac8e}.theme-kr .order-actions .buy{background:#d92533}.theme-kr .order-actions .sell{background:#1f66d6}.theme-kr input{background:#fffbef;border-color:#b9ac8e;color:#262118}.theme-kr input:focus{border-color:#d92533;box-shadow:3px 3px #d9253326}.theme-kr ::placeholder{color:#a2957a}.theme-kr .seg{background:#efe7d3;border-color:#b9ac8e}.theme-kr .seg button{color:#857a63;border-color:#b9ac8e}.theme-kr .seg button.on{background:#d92533;color:#fff}.theme-kr .ghost{border-color:#b9ac8e;color:#857a63}.theme-kr .ghost:hover:not(:disabled){color:#262118;border-color:#6f6449}.theme-kr .field>span{color:#857a63}.theme-kr .chart-tooltip{background:#262118f2;border-color:#b9ac8e}.theme-kr .liq-price{color:#a3520a}.theme-kr .side-long{color:#d92533}.theme-kr .side-short{color:#1f66d6}.theme-crypto{background:#0b0e11;border-color:#4a3f14;color:#eaecef;--candle-up: #0aa974;--candle-down: #f6465d}.theme-crypto .market-head{color:#f0b90b}.theme-crypto .chg-up,.theme-crypto .pnl-up{color:#0ecb81}.theme-crypto .chg-down,.theme-crypto .pnl-down{color:#f6465d}.theme-crypto .quote-table tbody tr:hover{background:#181c22}.theme-crypto .quote-table tr.sel{background:#f0b90b14;box-shadow:inset 3px 0 #f0b90b}.theme-crypto .order-box{background:#14181e;border-color:#4a3f14}.theme-crypto .order-actions .buy{background:#0aa974;color:#04130d}.theme-crypto .order-actions .sell{background:#c43a45}.theme-crypto input{background:#14181e;border-color:#4a3f14;color:#eaecef}.theme-crypto input:focus{border-color:#f0b90b;box-shadow:3px 3px #f0b90b2e}.theme-crypto input[type=range]{accent-color:#f0b90b}.theme-crypto .seg{background:#14181e;border-color:#4a3f14}.theme-crypto .seg button{border-color:#4a3f14}.theme-crypto .est{color:#f0b90b;opacity:.9}.theme-crypto .ghost{border-color:#4a3f14;color:#b39b45}
