:root{--bg-primary: #0A0A0A;--bg-card: #1C1C1E;--bg-elevated: #2C2C2E;--divider: #2C2C2E;--text-primary: #FFFFFF;--text-secondary:#8E8E93;--text-tertiary: #636366;--up: #FF3B30;--down: #1E88E5;--toss-blue: #0064FF;--gold: #FFB800;--ink: #2A4A3A}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;overflow:hidden}body{background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,Apple SD Gothic Neo,Pretendard,sans-serif;max-width:480px;margin:0 auto;height:100dvh;display:flex;flex-direction:column}#root{display:flex;flex-direction:column;height:100%}#topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--bg-card);border-bottom:1px solid var(--divider);flex-shrink:0}#topbar .game-title{font-size:14px;font-weight:700;color:var(--text-secondary)}#cash-display{font-size:21px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--gold);text-shadow:0 0 14px rgba(255,184,0,.35);letter-spacing:-.3px;transition:color .2s,text-shadow .2s}#cash-display.debt{color:var(--up);text-shadow:0 0 14px rgba(255,59,48,.45)}#menu-btn{background:none;border:none;color:var(--text-primary);font-size:20px;cursor:pointer;padding:4px 8px}#stat-strip{display:flex;justify-content:space-around;align-items:center;background:var(--bg-card);padding:6px 12px;border-bottom:1px solid var(--divider);flex-shrink:0;font-size:11px;color:var(--text-secondary)}.stat-item{display:flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums}.stat-item .v{color:var(--text-primary);font-weight:600}.stat-item.streak .v{color:var(--gold)}#stock-tabs{display:flex;background:var(--bg-card);border-bottom:1px solid var(--divider);flex-shrink:0}.stock-tab{flex:1;padding:10px 4px;text-align:center;font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}.stock-tab.active{color:var(--text-primary);border-bottom-color:var(--toss-blue)}.vol-badge{font-size:10px;margin-left:3px;color:var(--text-tertiary)}#leverage-row{display:flex;gap:5px;padding:7px 10px;background:var(--bg-card);border-bottom:1px solid var(--divider);flex-shrink:0;overflow:hidden}.lev-chip{flex:1;min-width:0;padding:5px 2px;border-radius:10px;font-weight:600;text-align:center;background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;border:1px solid transparent;transition:all .15s;line-height:1.25}.lev-name{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lev-mult{font-size:11px}.lev-chip.active{background:var(--toss-blue);color:#fff}.lev-chip.warn{color:#ff9f0a}.lev-chip.danger{color:var(--up)}.lev-chip.disabled{opacity:.4;pointer-events:none}#chart-container{flex:1;position:relative;overflow:hidden;min-height:0;background:#0d0d0f}#chart{width:100%;height:100%;display:block}#price-overlay{position:absolute;top:8px;left:12px;pointer-events:none}#current-price{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums}#price-change{font-size:13px;font-variant-numeric:tabular-nums;margin-top:2px}#chart-container.danger:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ff3b3014;animation:dangerPulse .5s infinite;pointer-events:none}#position-bar{background:var(--bg-card);border-top:1px solid var(--divider);padding:10px 14px;flex-shrink:0;transition:background .2s}#position-bar.danger{animation:dangerPulse .5s infinite}@keyframes dangerPulse{0%,to{background:var(--bg-card)}50%{background:#ff3b3040}}.pos-row{display:flex;justify-content:space-between;margin-bottom:3px}.pos-label{font-size:12px;color:var(--text-secondary)}.pos-value{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}#pnl-pct{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}#trade-panel{background:var(--bg-card);border-top:1px solid var(--divider);padding:12px 12px 8px;flex-shrink:0}#boost-indicator{text-align:center;font-size:11px;color:var(--gold);margin-bottom:6px}#action-row{display:flex;gap:8px;margin-bottom:8px}#boost-btn,#ad-btn{flex:1;padding:8px 4px;border-radius:8px;font-size:11px;font-weight:600;cursor:pointer;transition:opacity .15s}#boost-btn{border:1px solid var(--gold);background:transparent;color:var(--gold)}#ad-btn{border:1px solid var(--text-tertiary);background:transparent;color:var(--text-secondary)}#debt-btn{border:1px solid var(--up);background:#ff3b301a;color:var(--up);flex:1;padding:8px 4px;border-radius:8px;font-size:11px;font-weight:700;cursor:pointer;animation:pulse-debt 1.4s infinite}@keyframes pulse-debt{0%,to{box-shadow:0 0 #ff3b3099}50%{box-shadow:0 0 0 6px #ff3b3000}}#boost-btn:disabled,#ad-btn:disabled{opacity:.3;cursor:not-allowed}#preset-row{display:flex;gap:6px;margin-bottom:8px}.preset-btn{flex:1;padding:8px 0;border-radius:8px;border:none;background:var(--bg-elevated);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.preset-btn.active{background:#0064ff33;color:var(--toss-blue)}#buy-btn{width:100%;padding:15px;border-radius:12px;border:none;background:var(--up);color:#fff;font-size:17px;font-weight:700;cursor:pointer;transition:opacity .15s}#buy-btn:disabled{opacity:.4;cursor:not-allowed}#buy-btn:active:not(:disabled){opacity:.8}#sell-btn{width:100%;padding:15px;border-radius:12px;border:none;background:var(--down);color:#fff;font-size:17px;font-weight:700;cursor:pointer;transition:opacity .15s}#sell-btn:active{opacity:.8}#disclaimer{text-align:center;background:var(--bg-primary);flex-shrink:0;padding:4px 12px 8px}#disclaimer .disclaimer-text{font-size:10px;color:var(--text-tertiary)}.footer-links{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:3px}.footer-links a{padding:2px 0;cursor:pointer;font-size:10px;color:var(--text-secondary);text-decoration:underline;text-underline-offset:2px}.footer-links .dot{font-size:10px;color:var(--text-tertiary)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:flex-end;justify-content:center;z-index:100}.modal-backdrop.center{align-items:center;padding:20px}.modal-sheet{background:var(--bg-card);border-radius:20px 20px 0 0;padding:24px 20px 36px;width:100%;max-width:480px}.modal-sheet.mid{border-radius:16px}.modal-title{font-size:18px;font-weight:700;margin-bottom:12px;text-align:center}.modal-body{font-size:14px;color:var(--text-secondary);line-height:1.65;margin-bottom:20px}.modal-btn{width:100%;padding:15px;border-radius:12px;border:none;background:var(--toss-blue);color:#fff;font-size:16px;font-weight:700;cursor:pointer;margin-top:8px}.modal-btn.ghost{background:var(--bg-elevated);color:var(--text-primary)}#splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:#0a0a0a;display:flex;align-items:center;justify-content:center;transition:opacity .6s ease}#splash img{width:100%;height:100%;object-fit:cover}#splash.fade{opacity:0;pointer-events:none}#liq-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:200;padding:32px 24px;text-align:center;overflow:hidden}#liq-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}#liq-tint{position:absolute;top:0;right:0;bottom:0;left:0;background:#f2e0bac7;z-index:1}#liq-scroll{font-family:Nanum Myeongjo,"Noto Serif KR",serif;color:var(--ink);animation:unroll .6s ease;position:relative;z-index:2}@keyframes unroll{0%{transform:scaleY(0) translateY(-20px);opacity:0}to{transform:scaleY(1) translateY(0);opacity:1}}#liq-poem{font-size:20px;font-weight:700;line-height:1.9;margin-bottom:16px}#liq-badge{font-size:28px;font-weight:900;color:#8b0000;margin-bottom:16px}#liq-details{font-size:14px;line-height:2;margin-bottom:28px;color:#3a2a1a}.liq-btn{padding:13px 32px;border-radius:12px;font-size:15px;font-weight:700;font-family:Nanum Myeongjo,"Noto Serif KR",serif;cursor:pointer;margin:4px;border:2px solid var(--ink);background:transparent;color:var(--ink)}#tut-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:16px}#tut-overlay.blocking{background:#000000d1}#tut-overlay.hint{background:transparent;pointer-events:none;justify-content:flex-start;padding-top:8px;padding-bottom:0}#tut-overlay.hint #tut-box{background:#141418e0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);padding:12px 16px;margin:0 12px;border-radius:14px;pointer-events:none}#tut-overlay.hint #tut-title{font-size:13px;margin-bottom:3px}#tut-overlay.hint #tut-body{font-size:12px;margin-bottom:0;line-height:1.5}#tut-overlay.hint #tut-box:after{content:"↓ 아래 버튼을 눌러주세요";display:block;margin-top:8px;font-size:11px;color:var(--toss-blue);font-weight:700}#tut-box{background:var(--bg-card);border-radius:20px;padding:22px 20px;margin:16px;max-width:440px;width:100%;pointer-events:all}#tut-title{font-size:16px;font-weight:700;margin-bottom:8px}#tut-body{font-size:14px;color:var(--text-secondary);line-height:1.6;margin-bottom:18px;white-space:pre-line}#tut-btn{width:100%;padding:13px;border-radius:12px;border:none;background:var(--toss-blue);color:#fff;font-size:15px;font-weight:700;cursor:pointer}#pct-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:flex-end;justify-content:center;z-index:120}#pct-sheet{background:var(--bg-card);border-radius:20px 20px 0 0;padding:24px 20px 40px;width:100%;max-width:480px}#pct-sheet h3{font-size:16px;font-weight:700;margin-bottom:16px;text-align:center}#pct-input{width:100%;padding:14px;border-radius:12px;border:1px solid var(--divider);background:var(--bg-elevated);color:var(--text-primary);font-size:28px;font-weight:700;text-align:center;font-variant-numeric:tabular-nums;margin-bottom:12px}#pct-ok{width:100%;padding:13px;border-radius:12px;border:none;background:var(--toss-blue);color:#fff;font-size:15px;font-weight:700;cursor:pointer}#rank-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-primary);display:flex;flex-direction:column;z-index:180}.rank-header{background:var(--bg-card);padding:14px 16px;border-bottom:1px solid var(--divider);display:flex;align-items:center;gap:12px;flex-shrink:0}.rank-back{background:none;border:none;color:var(--text-primary);font-size:18px;cursor:pointer}.rank-title{font-size:17px;font-weight:700}.rank-tabs{display:flex;background:var(--bg-card);border-bottom:1px solid var(--divider);flex-shrink:0}.rank-tab{flex:1;padding:12px 4px;text-align:center;font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}.rank-tab.active{color:var(--text-primary);border-bottom-color:var(--toss-blue)}.rank-body{flex:1;overflow-y:auto;padding:0}.rank-section{padding:16px}.rank-card{background:var(--bg-card);border-radius:12px;padding:14px 16px;margin-bottom:8px}.rank-card .lbl{font-size:12px;color:var(--text-secondary);margin-bottom:4px}.rank-card .val{font-size:18px;font-weight:700;color:var(--gold);font-variant-numeric:tabular-nums}.rank-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--divider);font-size:13px}.rank-row.me{background:#0064ff1f}.rank-row .num{width:28px;text-align:center;font-weight:700;color:var(--text-secondary);font-variant-numeric:tabular-nums}.rank-row.top1 .num{color:gold;font-size:16px}.rank-row.top2 .num{color:silver;font-size:15px}.rank-row.top3 .num{color:#cd7f32;font-size:15px}.rank-row .name{flex:1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-row .val{color:var(--gold);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.rank-my-sticky{background:var(--bg-card);border-top:2px solid var(--toss-blue);flex-shrink:0}.rank-my-sticky .rank-row{border:0}#labor-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#1a3520,#0f2415 60%,#091a0e);display:flex;flex-direction:column;z-index:180}.labor-header{background:#0006;padding:14px 16px;border-bottom:1px solid var(--divider);display:flex;align-items:center;gap:12px;flex-shrink:0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.labor-uses{margin-left:auto;font-size:12px;color:var(--gold);font-weight:600}.labor-info{text-align:center;padding:12px 16px;font-size:13px;color:#ffffffd9;line-height:1.6;background:#00000040}#labor-grid{flex:1;position:relative;overflow:hidden}.tree{position:absolute;transform:translate(-50%,-50%);width:96px;height:96px;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;transition:filter .15s}.tree.s-small{width:72px;height:72px}.tree.s-large{width:114px;height:114px}.tree .icon{font-size:84px;display:inline-block;transform-origin:bottom center;filter:drop-shadow(0 4px 8px rgba(0,0,0,.6));pointer-events:none;line-height:1}.tree.s-small .icon{font-size:64px}.tree.s-large .icon{font-size:100px}.tree.shake .icon{animation:treeShake .25s ease}@keyframes treeShake{0%,to{transform:rotate(0)}25%{transform:rotate(-7deg)}75%{transform:rotate(7deg)}}.tree.falling .icon{animation:treeFall .9s cubic-bezier(.55,.08,.68,.53) forwards}@keyframes treeFall{0%{transform:rotate(0);opacity:1}60%{transform:rotate(75deg);opacity:1}to{transform:rotate(90deg) translateY(8px);opacity:.4}}.tree.fallen{cursor:default;pointer-events:none}.tree.fallen .icon{transform:rotate(90deg) translateY(8px);opacity:.5}.tree.gold .icon{filter:drop-shadow(0 0 8px rgba(255,215,0,.7)) drop-shadow(0 2px 4px rgba(0,0,0,.5))}.tree .pct{position:absolute;bottom:2px;right:6px;font-size:10px;color:#ffffffb3;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.8);pointer-events:none}.tree.gold .pct{color:var(--gold)}.tree.fallen .pct{display:none}.labor-footer{padding:14px 16px;background:#0006;border-top:1px solid var(--divider);flex-shrink:0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#toast{position:fixed;top:16px;left:50%;transform:translate(-50%) translateY(-60px);background:var(--bg-elevated);color:var(--text-primary);padding:10px 20px;border-radius:20px;font-size:14px;font-weight:600;z-index:300;transition:transform .25s ease;white-space:nowrap;pointer-events:none}#toast.show{transform:translate(-50%) translateY(0)}@keyframes pulse-buy{0%,to{box-shadow:0 0 #ff3b3080}50%{box-shadow:0 0 0 8px #ff3b3000}}.pulse-buy{animation:pulse-buy 1.2s infinite}@keyframes pulse-sell{0%,to{box-shadow:0 0 #1e88e580}50%{box-shadow:0 0 0 8px #1e88e500}}.pulse-sell{animation:pulse-sell 1.2s infinite}
