:root{color-scheme:dark;--bg:#07090f;--panel:rgba(16,20,31,.78);--line:rgba(174,189,222,.14);--muted:#79839b;--text:#ecf2ff;--soft:#b3bdd1;--happy:#ffd36a;--unhappy:#8c82da;--teal:#67d8c4;--danger:#e98a9a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 50% 0,rgba(48,55,95,.14),transparent 38%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.01em}.noise{position:fixed;inset:0;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}.app-shell{max-width:1320px;margin:auto;padding:0 42px}.topbar{height:82px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:48px}.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-size:19px;font-weight:800;letter-spacing:.1em}.brand-symbol{width:30px;height:30px;border:1px solid rgba(255,211,106,.55);border-radius:8px;display:grid;place-items:center;color:var(--happy);font-size:14px}.brand small{font-size:8px;color:var(--muted);font-weight:500;letter-spacing:.13em;margin-left:4px}.topbar nav{display:flex;gap:28px;margin-left:auto}.topbar nav a,.top-actions button{font-size:11px;color:var(--muted);text-decoration:none;background:none;border:0;cursor:pointer}.topbar nav a:hover,.top-actions button:hover{color:var(--text)}.top-actions{display:flex;gap:18px;align-items:center}.live,.live-count{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:9px;letter-spacing:.1em}.live i,.live-count i,.signal-live i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 12px var(--teal)}main{padding:70px 0 40px}.index-hero{min-height:510px;display:grid;grid-template-columns:1.08fr 1fr .65fr;gap:34px;align-items:center;position:relative}.hero-left{padding-bottom:15px}.kicker,.section-index{font-size:9px;color:var(--muted);letter-spacing:.2em;font-weight:700}.hero-context{display:flex;align-items:center;gap:9px;color:#9aa5bd;font-size:11px;margin-top:20px}.signal-line{width:30px;height:1px;background:linear-gradient(90deg,var(--happy),transparent)}.hero-left h1{font-size:clamp(39px,4.1vw,66px);line-height:1.02;font-weight:500;letter-spacing:-.07em;margin:25px 0 15px}.hero-left h1 em{color:var(--happy);font-style:normal}.hero-copy{font-size:13px;color:var(--muted);margin:0;max-width:330px;line-height:1.65}.hero-facts{display:flex;gap:40px;border-top:1px solid var(--line);margin-top:43px;padding-top:15px}.hero-facts div{display:flex;flex-direction:column;gap:8px}.mini-label{font-size:8px;color:var(--muted);letter-spacing:.15em}.hero-facts b{font-size:11px;font-weight:500;color:var(--soft);letter-spacing:.1em}.index-stage{height:360px;position:relative;display:grid;place-items:center}.stage-aura{position:absolute;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,211,106,.11),rgba(255,211,106,.02) 42%,transparent 70%);filter:blur(5px);transition:all .5s}.stage-ring{position:absolute;border:1px solid rgba(255,211,106,.18);border-radius:50%;transform:rotate(-15deg)}.ring-outer{inset:25px;border-right-color:rgba(255,211,106,.8);border-bottom-color:rgba(255,211,106,.4);animation:spin 28s linear infinite}.ring-inner{inset:67px;border-left-color:rgba(140,130,218,.85);border-top-color:rgba(140,130,218,.2);animation:spin-reverse 20s linear infinite}.index-number{display:flex;align-items:baseline;gap:7px;z-index:1}.index-number span{font-size:clamp(94px,10vw,142px);line-height:.8;letter-spacing:-.12em;font-weight:650;background:linear-gradient(125deg,#fff 22%,#a3aed3 80%);-webkit-background-clip:text;background-clip:text;color:transparent}.index-number small{font-size:13px;color:var(--muted)}.index-caption{position:absolute;bottom:38px;display:flex;flex-direction:column;align-items:center;gap:8px}.index-caption span{font-size:10px;letter-spacing:.25em;color:var(--soft)}.index-caption b{font-size:9px;letter-spacing:.12em;color:var(--teal);font-weight:500}.stage-tick{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--happy);box-shadow:0 0 14px var(--happy)}.tick-a{top:56px;right:62px}.tick-b{bottom:83px;left:70px;background:var(--unhappy);box-shadow:0 0 14px var(--unhappy)}.character-panel{height:390px;border:1px solid var(--line);background:linear-gradient(170deg,rgba(30,32,52,.83),rgba(11,14,23,.8));padding:19px;position:relative;overflow:hidden}.character-panel:after{content:"";position:absolute;inset:auto -25% -55% -25%;height:250px;background:radial-gradient(ellipse,rgba(255,211,106,.13),transparent 68%);pointer-events:none}.character-top{display:flex;justify-content:space-between;position:relative;z-index:1}.character-top>span:last-child{font-size:9px;color:var(--happy);letter-spacing:.18em}.character-scene{height:270px;position:relative;display:grid;place-items:center}.character-glow{position:absolute;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(255,211,106,.32),rgba(255,211,106,.04) 50%,transparent 70%);filter:blur(9px)}.mascot-hair{position:absolute;width:119px;height:142px;border-radius:60% 42% 46% 53%;background:linear-gradient(140deg,#d5c9ff,#6553a7 58%,#272744);transform:translateY(-15px) rotate(-11deg);box-shadow:-22px 18px 0 -11px #4e4389,16px 4px 0 -18px #aba1df}.mascot-face{position:absolute;width:91px;height:111px;border-radius:46% 49% 50% 50%;background:linear-gradient(135deg,#ffe9ca,#d4a578);transform:translate(4px,-3px) rotate(-3deg);box-shadow:inset -11px -13px 19px rgba(100,51,55,.18)}.mascot-eye{position:absolute;width:7px;height:13px;border-radius:50%;background:#302442;top:51px}.eye-left{left:24px}.eye-right{right:24px}.mascot-blush{position:absolute;width:15px;height:6px;border-radius:50%;background:rgba(237,122,116,.3);top:75px}.blush-left{left:13px}.blush-right{right:13px}.mascot-mouth{position:absolute;width:18px;height:9px;border-bottom:2px solid #513446;border-radius:0 0 20px 20px;bottom:24px;left:36px}.mascot-body{position:absolute;width:130px;height:74px;border-radius:65px 65px 0 0;background:linear-gradient(145deg,#d4cbff,#7169b6);bottom:0;box-shadow:inset -18px -13px 24px rgba(35,27,78,.5)}.character-caption{position:relative;z-index:1;display:flex;flex-direction:column;gap:5px}.character-caption strong{font-size:12px;font-weight:500;color:var(--text)}.character-caption span{font-size:10px;color:var(--muted)}.emotion-split{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(255,211,106,.035),transparent 50%,rgba(140,130,218,.05))}.emotion-state{padding:22px 0 25px}.emotion-state+.emotion-state{border-left:1px solid var(--line);padding-left:42px}.state-top{display:flex;align-items:center;gap:10px}.state-icon{font-size:21px}.state-name{font-size:10px;letter-spacing:.22em;color:var(--soft)}.state-top strong{font-size:22px;margin-left:auto;font-weight:500}.happy-state .state-top strong{color:var(--happy)}.unhappy-state .state-top strong{color:var(--unhappy)}.state-bar{height:2px;background:rgba(255,255,255,.08);margin-top:16px}.state-bar span{display:block;width:50%;height:100%;transition:width .4s}.happy-state .state-bar span{background:var(--happy);box-shadow:0 0 15px var(--happy)}.unhappy-state .state-bar span{background:var(--unhappy);box-shadow:0 0 15px var(--unhappy)}.emotion-trigger{margin-top:21px;width:100%;background:none;border:0;padding:0;display:flex;align-items:center;justify-content:space-between;color:var(--text);cursor:pointer;text-align:left}.emotion-trigger>span{font-size:13px}.emotion-trigger small{font-size:9px;letter-spacing:.14em;color:var(--muted)}.happy-trigger:hover>span{color:var(--happy)}.unhappy-trigger:hover>span{color:var(--unhappy)}.market-section{padding:72px 0 46px}.section-head{display:flex;align-items:end;justify-content:space-between}.section-head h2{font-size:21px;font-weight:500;letter-spacing:.02em;margin:9px 0 0}.asset-tag,.virtual-tag{font-size:8px;color:var(--muted);letter-spacing:.15em;border:1px solid var(--line);padding:5px 7px;border-radius:4px;margin-left:11px;vertical-align:middle}.market-quote{text-align:right;display:flex;flex-direction:column;gap:6px}.quote-price{font-size:25px;font-weight:500;letter-spacing:-.04em}.chart-toolbar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:26px;padding:15px 0 9px}.timeframes{display:flex;gap:4px}.timeframes button{color:var(--muted);background:transparent;border:0;padding:7px 10px;font-size:10px;border-radius:4px;cursor:pointer}.timeframes button.active,.timeframes button:hover{background:rgba(255,255,255,.08);color:var(--text)}.ohlc{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px;color:var(--muted)}.chart-frame{height:400px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(17,22,36,.62),rgba(7,9,15,.18));position:relative}.chart-frame>div:first-child{width:100%;height:100%}.chart-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:var(--muted);pointer-events:none}.chart-empty strong{font-size:13px;font-weight:500;color:var(--soft)}.chart-empty small{font-size:10px}.ghost-candles{width:270px;height:115px;display:flex;align-items:center;justify-content:center;gap:18px;opacity:.25;margin-bottom:2px}.ghost-candles i{display:block;width:8px;background:var(--happy);position:relative;height:44px}.ghost-candles i:before,.ghost-candles i:after{content:"";position:absolute;left:3px;width:1px;background:currentColor;height:18px}.ghost-candles i:before{top:-18px}.ghost-candles i:after{bottom:-15px}.ghost-candles i:nth-child(2),.ghost-candles i:nth-child(5){height:70px;background:var(--unhappy)}.ghost-candles i:nth-child(3){height:30px}.ghost-candles i:nth-child(4){height:88px}.ghost-candles i:nth-child(6){height:53px}.chart-foot{display:flex;gap:25px;align-items:center;color:var(--muted);font-size:9px;letter-spacing:.08em;padding-top:13px}.chart-foot b{color:var(--soft);font-weight:500}.chart-note{margin-left:auto;color:#515a70}.legend-candle{display:inline-block;width:8px;height:8px;background:var(--happy);margin-right:7px}.lower-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.panel{border:1px solid var(--line);background:var(--panel);padding:27px 28px;min-height:350px}.compact{align-items:center}.compact h2{font-size:18px}.world-score{margin:32px 0 22px;display:flex;align-items:baseline;gap:6px}.world-score>span{font-size:66px;letter-spacing:-.08em;font-weight:600}.world-score small{color:var(--muted)}.world-score p{color:var(--teal);font-size:11px;margin:0 0 0 12px}.world-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.world-breakdown div{display:flex;flex-direction:column;gap:8px}.world-breakdown b{font-size:18px;font-weight:500}.activity-head{display:flex;justify-content:space-between;align-items:center;margin-top:19px}.signal-live{font-size:8px;color:var(--teal);letter-spacing:.12em;display:flex;align-items:center;gap:6px}.activity-list{margin-top:12px;display:grid;gap:9px}.activity-row{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted)}.activity-row .side{color:var(--happy)}.activity-row.sell .side,.activity-row.emotion-unhappy .side{color:var(--unhappy)}.activity-row .signal-type{color:var(--soft)}.portfolio-total{padding:31px 0 23px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:6px}.portfolio-total strong{font-size:42px;letter-spacing:-.06em;font-weight:600}.portfolio-total .mini-label{grid-column:1/-1}.portfolio-assets{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.portfolio-assets div,.portfolio-meta{display:flex;flex-direction:column;gap:6px}.portfolio-assets span,.portfolio-meta span{font-size:10px;color:var(--muted)}.portfolio-assets b{font-size:20px;font-weight:500}.portfolio-meta{display:grid;grid-template-columns:1fr auto;gap:10px;padding-top:18px}.portfolio-meta b{font-size:12px;font-weight:500;text-align:right}.portfolio-note{font-size:10px;color:var(--muted);line-height:1.6;margin-top:26px}.boundary{display:flex;gap:18px;margin-top:16px;padding:20px 23px;border:1px solid rgba(255,211,106,.18);background:rgba(255,211,106,.035)}.boundary-mark{color:var(--happy);font-size:20px}.boundary strong{font-size:12px;font-weight:500}.boundary p{margin:6px 0 0;color:var(--muted);font-size:10px;line-height:1.6}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(13px);display:none;align-items:center;justify-content:center;padding:20px;z-index:5}.modal-backdrop.open{display:flex}.trade-modal{width:min(420px,100%);background:#111624;border:1px solid rgba(255,255,255,.15);padding:31px;position:relative;box-shadow:0 30px 90px rgba(0,0,0,.5)}.modal-close{position:absolute;right:18px;top:13px;background:none;border:0;color:var(--muted);font-size:25px;cursor:pointer}.modal-symbol{font-size:37px;margin-bottom:17px}.trade-modal .kicker{color:var(--happy)}.trade-modal h3{font-size:25px;font-weight:500;margin:10px 0 25px}.amount-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.amount-option{border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--soft);padding:13px 8px;text-align:left;cursor:pointer}.amount-option:hover,.amount-option.selected{border-color:var(--happy);color:var(--happy);background:rgba(255,211,106,.06)}.amount-option strong,.amount-option small{display:block}.amount-option strong{font-size:16px;font-weight:500}.amount-option small{font-size:9px;color:var(--muted);margin-top:4px}.custom-amount{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:18px 0 10px;font-size:9px;color:var(--muted);letter-spacing:.1em}.custom-amount input{width:125px;border:0;outline:0;background:none;color:var(--text);text-align:right;font-size:16px}.modal-balance{display:flex;justify-content:space-between;padding:18px 0;color:var(--muted);font-size:10px}.modal-balance b{color:var(--soft);font-weight:500}.confirm-action{width:100%;border:0;background:var(--happy);color:#171717;padding:14px;font-size:11px;font-weight:700;letter-spacing:.1em;cursor:pointer}.confirm-action span{float:right}.modal-error{height:17px;color:var(--danger);font-size:10px;margin-top:10px}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:27px 0 35px;color:#566077;font-size:9px;letter-spacing:.12em}@keyframes spin{to{transform:rotate(345deg)}}@keyframes spin-reverse{to{transform:rotate(-320deg)}}@media(max-width:980px){.index-hero{grid-template-columns:1fr 1fr}.character-panel{grid-column:1/-1;height:220px}.character-scene{height:140px}.mascot-body{bottom:-24px}.mascot-hair{transform:translateY(-20px) scale(.8) rotate(-11deg)}.mascot-face{transform:translate(4px,-18px) scale(.8) rotate(-3deg)}.character-caption{position:absolute;left:180px;bottom:22px}.index-stage{height:360px}}@media(max-width:800px){.app-shell{padding:0 18px}.topbar{height:70px;gap:18px}.brand small,.topbar nav{display:none}.top-actions{margin-left:auto}.top-actions .live{font-size:8px}main{padding-top:45px}.index-hero{min-height:770px;display:flex;flex-direction:column;align-items:stretch;gap:14px}.hero-left{padding-top:15px}.hero-left h1{font-size:44px}.hero-facts{margin-top:28px}.index-stage{height:295px;order:2}.stage-ring.ring-outer{inset:21px}.stage-ring.ring-inner{inset:60px}.character-panel{order:3;height:215px}.character-scene{height:140px}.character-caption{left:52%;bottom:22px}.emotion-split{display:block}.emotion-state{padding:20px 0}.emotion-state+.emotion-state{border-left:0;border-top:1px solid var(--line);padding-left:0}.market-section{padding-top:53px}.section-head{align-items:flex-start}.chart-toolbar{display:block}.ohlc{margin-top:12px}.chart-frame{height:340px}.chart-foot{flex-wrap:wrap;gap:12px}.chart-note{width:100%;margin-left:0}.lower-grid{grid-template-columns:1fr}.panel{padding:23px 19px}.world-score>span{font-size:54px}.boundary{padding:17px}.boundary p{font-size:9px}footer{gap:10px;line-height:1.5;flex-wrap:wrap}}
 .auth-input{width:100%;margin:6px 0;padding:13px 12px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);outline:0}.auth-links{display:flex;justify-content:space-between;gap:8px;margin:14px 0}.auth-links button{border:0;background:none;color:var(--muted);font-size:10px;cursor:pointer}.auth-links button:hover{color:var(--happy)}.auth-note{display:block;color:var(--muted);font-size:9px;line-height:1.5;margin-top:14px}
 .indicator-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 0 2px;color:var(--muted);font-size:9px}.indicator-label{letter-spacing:.15em;color:var(--soft);margin-right:4px}.indicator-toggle{border:1px solid var(--line);background:transparent;color:var(--muted);padding:6px 9px;font-size:9px;cursor:pointer}.indicator-toggle.active{color:var(--text);border-color:rgba(255,211,106,.45);background:rgba(255,211,106,.06)}#indicatorReadout{margin-left:auto;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--muted)}.chart-actions{margin-top:16px}
 .orderbook-panel{margin-top:16px;border:1px solid var(--line);background:rgba(11,15,25,.62);padding:18px 20px}.orderbook-head{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid var(--line);padding-bottom:12px}.orderbook-head strong{display:block;font-size:14px;font-weight:500;margin-top:5px}.orderbook-head>span{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--muted);font-size:9px}.book-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding-top:12px}.book-label{display:flex;justify-content:space-between;color:var(--muted);font-size:8px;letter-spacing:.12em;margin-bottom:7px}.book-row{display:grid;grid-template-columns:1fr 1fr 1fr;padding:4px 0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;text-align:right}.book-row span:first-child{text-align:left}.book-row.ask span:first-child{color:var(--unhappy)}.book-row.bid span:first-child{color:var(--teal)}.book-note{display:block;color:var(--muted);font-size:9px;margin-top:10px}
 .recent-trades-panel{margin-top:12px;border:1px solid var(--line);background:rgba(11,15,25,.45);padding:16px 20px}.system-legend{color:var(--happy);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:8px;letter-spacing:.08em}.recent-trade{display:grid;grid-template-columns:1fr .8fr 1fr 1fr;gap:10px;padding:7px 0;border-bottom:1px solid rgba(174,189,222,.07);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;color:var(--soft)}.recent-trade:last-child{border-bottom:0}.recent-trade strong{color:var(--teal);font-weight:500}.recent-trade.system-trade strong{color:var(--happy)}.recent-time{color:var(--muted)}.recent-empty{color:var(--muted);font-size:10px;padding:14px 0}
 .chart-actions .state-top strong,.chart-actions .state-bar{display:none}.chart-actions .state-top{margin-bottom:8px}
 .chart-actions .emotion-trigger{margin-top:18px;min-height:78px;padding:17px 19px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.035);transition:transform .18s ease,border-color .18s ease,background .18s ease}.chart-actions .emotion-trigger>span{font-size:15px;font-weight:500}.chart-actions .emotion-trigger small{font-size:16px;font-weight:800;letter-spacing:.12em}.chart-actions .happy-trigger small{color:var(--happy)}.chart-actions .unhappy-trigger small{color:var(--unhappy)}.chart-actions .happy-trigger:hover{border-color:rgba(255,211,106,.7);background:rgba(255,211,106,.09);transform:translateY(-2px)}.chart-actions .unhappy-trigger:hover{border-color:rgba(140,130,218,.75);background:rgba(140,130,218,.1);transform:translateY(-2px)}.chart-actions .emotion-state{padding-bottom:27px}
.remember-row{display:flex;align-items:center;gap:8px;margin:12px 0;color:var(--muted);font-size:12px}.remember-row input{accent-color:var(--happy)}
.app-shell{max-width:1440px}.topbar{position:sticky;top:0;z-index:20;background:rgba(7,9,15,.84);backdrop-filter:blur(18px)}main{padding-top:24px}.index-hero,.market-section,.lower-grid .panel,.boundary{border-radius:22px}.index-hero{min-height:440px;padding:28px;background:linear-gradient(135deg,rgba(20,27,48,.72),rgba(10,13,22,.62));border:1px solid var(--line)}.market-section{padding:28px;margin-top:18px;background:rgba(11,15,25,.5);border:1px solid var(--line)}.chart-frame{height:480px;border-radius:15px;overflow:hidden}.chart-toolbar{overflow-x:auto;scrollbar-width:none}.chart-toolbar::-webkit-scrollbar{display:none}.chart-actions{position:sticky;bottom:14px;z-index:12;padding:12px 18px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:rgba(12,16,27,.9);backdrop-filter:blur(18px);box-shadow:0 18px 50px rgba(0,0,0,.32)}.chart-actions .emotion-state{padding:8px 0 10px}.chart-actions .emotion-trigger{margin-top:7px;min-height:64px}.orderbook-panel,.recent-trades-panel{border-radius:15px}.chart-section{scroll-margin-top:90px}@media(max-width:800px){.app-shell{padding:0 12px}.topbar{margin:0 -12px;padding:0 14px}.top-actions{gap:10px}.index-hero{min-height:0;padding:20px;border-radius:18px}.market-section{padding:17px 12px;margin-top:12px;border-radius:18px}.chart-frame{height:400px;border-radius:12px}.chart-actions{bottom:8px;padding:8px 10px;border-radius:15px}.chart-actions .emotion-state{padding:4px 0}.chart-actions .emotion-trigger{min-height:58px;padding:12px 13px}.chart-actions .emotion-trigger>span{font-size:13px}.chart-actions .emotion-trigger small{font-size:12px}.orderbook-panel,.recent-trades-panel{padding:14px 12px}.lower-grid .panel{border-radius:18px}}
[data-page]{display:none!important}[data-page].is-page-active{display:block!important}.index-hero.is-page-active{display:grid!important}.emotion-split.is-page-active{display:grid!important}.lower-grid.is-page-active{display:grid!important}.boundary.is-page-active{display:flex!important}.bottom-nav{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:30;display:flex;align-items:center;justify-content:center;gap:4px;padding:8px 10px;border:1px solid rgba(174,189,222,.18);border-radius:20px;background:rgba(12,16,27,.9);backdrop-filter:blur(22px);box-shadow:0 18px 55px rgba(0,0,0,.45)}.bottom-nav-item{width:74px;height:55px;border:0;border-radius:14px;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer}.bottom-nav-item span{font-size:19px;line-height:1}.bottom-nav-item small{font-size:9px;letter-spacing:.08em}.bottom-nav-item.active{color:var(--text);background:rgba(255,211,106,.1)}.bottom-nav-item.active span{color:var(--happy)}.bottom-nav-item.rank-nav{background:var(--happy);color:#171717;border-radius:17px;transform:translateY(-10px);height:64px;box-shadow:0 8px 22px rgba(255,211,106,.22)}.bottom-nav-item.rank-nav span{font-size:27px}.bottom-nav-item.rank-nav small{font-weight:800}@media(max-width:800px){body{padding-bottom:88px}.bottom-nav{left:10px;right:10px;bottom:10px;transform:none;width:auto;justify-content:space-around;padding:7px 5px;border-radius:18px}.bottom-nav-item{flex:1;width:auto;height:54px}.bottom-nav-item.rank-nav{height:62px;transform:translateY(-7px)}main{padding-top:16px}.chart-actions{position:relative;bottom:auto;box-shadow:none}.index-hero.is-page-active{display:flex!important}.emotion-split.is-page-active{display:block!important}.lower-grid.is-page-active{display:grid!important}}
.market-section.is-page-active{border-radius:22px 22px 0 0;margin-bottom:0}.market-section.is-page-active + .market-trade-panel.is-page-active{margin-top:0;border-top:0;border-radius:0 0 22px 22px;padding:18px 28px 28px}.market-section.is-page-active + .market-trade-panel.is-page-active .emotion-state{padding-top:10px}@keyframes mood-page-in{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}[data-page].is-page-active{animation:mood-page-in .18s ease-out both}
.position-close{width:100%;margin-top:7px;padding:8px;border:1px solid rgba(174,189,222,.18);background:transparent;color:var(--muted);border-radius:7px;font-size:10px;cursor:pointer}.position-close:not(:disabled):hover{color:var(--text);border-color:rgba(255,211,106,.5)}.position-close:disabled{opacity:.35;cursor:not-allowed}
.chart-actions .state-top strong{display:block;font-size:10px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
body.modal-open{overflow:hidden}.modal-backdrop{z-index:60}.modal-backdrop.open{display:flex}
footer{display:none}.topbar nav{display:none}
.market-trade-panel{margin-top:12px;max-width:100%;border-top:1px solid rgba(255,255,255,.12)}

/* Mobile trading shell: compact, connected and safe on short screens. */
@media(max-width:800px){
  html,body{overflow-x:hidden}
  body{background:#07090f;padding-bottom:86px}
  .app-shell{padding:0 10px}
  .topbar{height:62px;margin:0 -10px;padding:0 13px;gap:10px;position:sticky;top:0;background:rgba(7,9,15,.96);border-bottom:1px solid rgba(174,189,222,.16)}
  .brand{font-size:16px;gap:8px}.brand-symbol{width:27px;height:27px}.top-actions{gap:8px}.top-actions .live{max-width:78px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:8px}.top-actions button{font-size:10px}
  main{padding:0 0 18px}
  .market-section.is-page-active{padding:13px 10px 0;margin:0 -1px;border-radius:0;background:rgba(11,15,25,.82);border-left:0;border-right:0}
  .market-section.is-page-active + .market-trade-panel.is-page-active{padding:10px 10px 14px;margin:0 -1px;border-radius:0 0 16px 16px;background:rgba(11,15,25,.82);border-left:0;border-right:0}
  .market-section .section-head{gap:10px;align-items:flex-start}.market-section .section-head h2{font-size:15px}.market-quote{gap:3px}.quote-price{font-size:19px}.market-quote .trend{font-size:9px}
  .chart-toolbar{display:block;margin-top:12px;padding:9px 0 6px}.timeframes{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:3px;padding-bottom:2px;scrollbar-width:none}.timeframes::-webkit-scrollbar{display:none}.timeframes button{flex:0 0 auto;padding:7px 9px;font-size:9px}.ohlc{margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .chart-frame{height:min(53dvh,390px);min-height:270px;border-radius:10px}.chart-foot{gap:8px;padding-top:9px;font-size:8px}.chart-note{width:auto;margin-left:auto}.indicator-toolbar{gap:5px;overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;padding:9px 0 0;scrollbar-width:none}.indicator-toolbar::-webkit-scrollbar{display:none}.indicator-toggle{flex:0 0 auto;padding:6px 7px;font-size:8px}#indicatorReadout{margin-left:0;font-size:8px}
  .orderbook-panel,.recent-trades-panel{margin-top:10px;padding:12px 10px;border-radius:10px}.book-columns{gap:10px}.book-row{font-size:9px}.recent-trade{grid-template-columns:.8fr .7fr 1fr 1fr;gap:5px;font-size:9px}
  .chart-actions.is-page-active{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;position:relative;bottom:auto;box-shadow:none}
  .chart-actions .emotion-state,.chart-actions .emotion-state+.emotion-state{padding:0;border:0;min-width:0}.chart-actions .state-top{margin:0 0 6px}.chart-actions .state-icon{font-size:18px}.chart-actions .state-name{font-size:8px}.chart-actions .emotion-trigger{margin:0;min-height:67px;padding:12px;border-radius:10px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px}.chart-actions .emotion-trigger>span{font-size:12px}.chart-actions .emotion-trigger small{font-size:11px;letter-spacing:.08em}.chart-actions .happy-trigger{border-color:rgba(255,211,106,.32);background:rgba(255,211,106,.07)}.chart-actions .unhappy-trigger{border-color:rgba(140,130,218,.38);background:rgba(140,130,218,.09)}
  .modal-backdrop{align-items:flex-end;padding:0;overflow-y:auto}.trade-modal{width:100%;max-height:calc(100dvh - 8px);overflow-y:auto;border-radius:20px 20px 0 0;padding:22px 18px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -18px 60px rgba(0,0,0,.55);animation:mood-sheet-in .2s ease-out both}.modal-close{right:15px;top:10px}.modal-symbol{font-size:31px;margin-bottom:10px}.trade-modal h3{font-size:23px;margin:8px 0 18px}.amount-options{gap:6px}.amount-option{padding:11px 7px}.amount-option strong{font-size:14px}.custom-amount{padding:15px 0 9px}.modal-balance{padding:14px 0}.confirm-action{padding:14px}.auth-modal{max-height:calc(100dvh - 8px)}
  .bottom-nav{bottom:8px;box-shadow:0 10px 32px rgba(0,0,0,.5)}
}

/* Keep the action ticket in normal document flow so it never covers the chart. */
.chart-actions{position:relative;bottom:auto}
@media(min-width:801px){.chart-frame{height:min(480px,calc(100dvh - 390px));min-height:300px}}
@media(min-width:801px){.bottom-nav-item.trade-nav.active{background:rgba(255,211,106,.1);color:var(--text)}.bottom-nav-item.trade-nav.active span{color:var(--happy)}}
@keyframes mood-sheet-in{from{transform:translateY(18px);opacity:.4}to{transform:none;opacity:1}}

@media(max-width:800px){
  main:has(.market-section.is-page-active){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"head head" "toolbar toolbar" "chart chart" "indicators indicators" "foot foot" "ticket book" "recent recent";column-gap:8px;row-gap:8px;padding:0}
  main:has(.market-section.is-page-active) .market-section.is-page-active{display:contents!important}
  main:has(.market-section.is-page-active) .market-section>.section-head{grid-area:head}
  main:has(.market-section.is-page-active) .market-section>.chart-toolbar{grid-area:toolbar}
  main:has(.market-section.is-page-active) .market-section>.chart-frame{grid-area:chart}
  main:has(.market-section.is-page-active) .market-section>.indicator-toolbar{grid-area:indicators}
  main:has(.market-section.is-page-active) .market-section>.chart-foot{grid-area:foot}
  main:has(.market-section.is-page-active) .market-section>.orderbook-panel{grid-area:book;min-width:0;margin-top:0;height:100%;overflow:hidden}
  main:has(.market-section.is-page-active) .market-section>.recent-trades-panel{grid-area:recent}
  main:has(.market-section.is-page-active) .market-trade-panel.is-page-active{grid-area:ticket;min-width:0;margin:0;padding:12px 10px!important;border:1px solid rgba(174,189,222,.14);border-radius:10px;background:rgba(16,20,31,.78);display:grid!important;grid-template-columns:1fr;gap:10px}
  main:has(.market-section.is-page-active) .market-trade-panel .emotion-state{display:block}
  main:has(.market-section.is-page-active) .market-trade-panel .emotion-state+.emotion-state{border-top:1px solid rgba(174,189,222,.12);padding-top:10px}
  .mobile-market-tabs{grid-area:tabs;display:flex;align-items:center;gap:20px;overflow-x:auto;white-space:nowrap;padding:11px 5px 9px;border-bottom:1px solid rgba(174,189,222,.14);scrollbar-width:none}
  .mobile-market-tabs::-webkit-scrollbar{display:none}.mobile-market-tabs button{border:0;background:none;color:var(--muted);padding:0;font-size:13px;font-weight:500;cursor:pointer}.mobile-market-tabs button.active,.mobile-market-tabs button:hover{color:var(--text)}.mobile-market-tabs button:first-child{color:var(--happy);font-size:16px}
  .market-section.is-page-active .section-head{padding:0 5px}.market-section.is-page-active .chart-toolbar{padding-left:5px;padding-right:5px}.market-section.is-page-active .chart-foot{padding-left:5px;padding-right:5px}
  .market-section.is-page-active .orderbook-panel{border-radius:10px;padding:10px 8px}.market-section.is-page-active .orderbook-head strong{font-size:11px}.market-section.is-page-active .book-columns{grid-template-columns:1fr;gap:4px}.market-section.is-page-active .book-label{font-size:7px}.market-section.is-page-active .book-row{font-size:8px;grid-template-columns:1fr 1fr 1fr;padding:3px 0}.market-section.is-page-active .book-columns>div+div{border-top:1px solid rgba(174,189,222,.12);padding-top:6px;margin-top:4px}
  .bottom-nav-item.trade-nav.active{background:rgba(255,211,106,.1);color:var(--text)}.bottom-nav-item.trade-nav.active span{color:var(--happy)}.bottom-nav-item.rank-nav{background:transparent;color:var(--muted);height:54px;transform:none;box-shadow:none}
}
.leaderboard-section,.forum-section{padding:24px;background:rgba(11,15,25,.5);border:1px solid var(--line);border-radius:22px;margin-top:18px}
.leaderboard-head,.forum-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.leaderboard-head h2,.forum-head h2{margin:8px 0 5px;font-size:26px;font-weight:500}
.muted-line,.forum-head p{margin:0;color:var(--muted);font-size:11px}
.leaderboard-head button,.forum-head button{border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--soft);padding:8px 12px;border-radius:9px;cursor:pointer}
.leaderboard-head button:hover,.forum-head button:hover{border-color:rgba(255,211,106,.45);color:var(--text)}
.leaderboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.rank-card{padding:18px;border:1px solid var(--line);border-radius:15px;background:rgba(16,20,31,.6)}
.rank-card h3{margin:0 0 13px;font-size:14px;font-weight:500}
.ranking-list{display:grid;gap:6px;min-height:44px}
.ranking-row{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(174,189,222,.08);font-size:11px}
.ranking-row:last-child{border-bottom:0}
.rank-no{color:var(--happy);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.ranking-row strong{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ranking-row span:last-child{color:var(--soft);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.happy-rank h3{color:var(--happy)}.unhappy-rank h3{color:var(--unhappy)}
.ranking-empty{color:var(--muted);font-size:11px;padding:12px 0}
.ranking-note{display:block;color:var(--muted);font-size:10px;margin-top:15px}
.forum-compose{margin-top:22px;padding:16px;border:1px solid var(--line);border-radius:15px;background:rgba(16,20,31,.6)}
.forum-compose input,.forum-compose textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);background:rgba(0,0,0,.16);color:var(--text);padding:11px;border-radius:9px;outline:0;font:inherit}
.forum-compose input:focus,.forum-compose textarea:focus{border-color:rgba(255,211,106,.5)}
.forum-compose textarea{min-height:100px;resize:vertical;margin-top:9px}
.forum-compose-foot{display:flex;justify-content:space-between;align-items:center;margin-top:10px}
.forum-compose-foot small{color:var(--muted)}
.forum-compose-foot button{border:0;background:var(--happy);color:#171717;padding:10px 14px;border-radius:9px;font-weight:700;cursor:pointer}
.forum-compose-foot button:disabled{opacity:.55;cursor:wait}
.forum-posts{display:grid;gap:10px;margin-top:15px}
.forum-post{padding:16px;border:1px solid var(--line);border-radius:14px;background:rgba(16,20,31,.5)}
.forum-post-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}
.forum-post-meta strong{color:var(--soft);font-weight:500}
.forum-post h3{margin:9px 0 5px;font-size:15px;font-weight:500}
.forum-post p{white-space:pre-wrap;margin:0;color:var(--muted);font-size:12px;line-height:1.7}
@media(max-width:800px){.leaderboard-section,.forum-section{padding:17px 12px;border-radius:18px}.leaderboard-grid{grid-template-columns:1fr;gap:10px}.leaderboard-head h2,.forum-head h2{font-size:22px}.forum-compose-foot{align-items:flex-end;gap:10px;flex-direction:column}.forum-compose-foot button{width:100%}}
