:root{--tr-bg:#03080c;--tr-panel:#071117;--tr-line:#18313a;--tr-gold:#e9bd48;--tr-cyan:#30d5dc;--tr-red:#ff5067;--tr-muted:#78909a}.trade-room-page{background:var(--tr-bg);color:#eef6f7}.trade-room-page main{min-height:100vh}.trade-room-page .site-footer{margin-top:0}.tr-shell{width:min(1680px,100%);margin:auto;padding:100px 20px 44px;box-sizing:border-box;font-family:"Noto Sans JP",sans-serif}.tr-title,.tr-title>div,.tr-chart-panel>header,.tr-chat-panel>header,.tr-poll-panel>header,.tr-events-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.tr-title{margin-bottom:18px}.tr-title h1,.tr-grid h2{margin:0}.tr-title h1{font:700 clamp(28px,4vw,52px)/1 Manrope,sans-serif;letter-spacing:.08em}.tr-title small,.tr-grid header small{color:var(--tr-gold);font:700 9px/1 Manrope,sans-serif;letter-spacing:.2em}.tr-presence{font:700 11px/1 Manrope,sans-serif;color:#a9bbc1}.tr-presence i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;background:#39e6a3;box-shadow:0 0 12px #39e6a3}.tr-room-notice{margin-bottom:12px;padding:12px 16px;border:1px solid #a5782d;background:#2b210e;color:#ffe4a0}.tr-symbols{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,1fr);gap:10px;overflow-x:auto;padding:3px 2px 13px;scrollbar-color:#36505a transparent}.tr-symbol-card{min-height:105px;padding:14px;border:1px solid var(--tr-line);border-radius:10px;background:linear-gradient(150deg,#0b1920,#050b0f);color:#eff7f8;text-align:left;cursor:pointer}.tr-symbol-card.is-active{border-color:var(--tr-gold);box-shadow:0 0 22px rgba(233,189,72,.16)}.tr-symbol-card header{display:flex;justify-content:space-between}.tr-symbol-card header span{color:#6e8790;font-size:10px}.tr-symbol-card strong{display:block;margin:13px 0 3px;font:700 22px/1 Manrope,sans-serif}.tr-symbol-card em{font:normal 11px/1 Manrope,sans-serif;color:var(--tr-muted)}.tr-symbol-card em.is-up{color:#35d5b4}.tr-symbol-card em.is-down{color:var(--tr-red)}.tr-symbol-card i{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--tr-red);font:700 9px/1 Manrope,sans-serif}.tr-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(340px,.7fr);grid-template-areas:"chart chat" "poll events";gap:12px}.tr-chart-panel,.tr-chat-panel,.tr-poll-panel,.tr-events-panel{border:1px solid var(--tr-line);border-radius:10px;background:var(--tr-panel);overflow:hidden}.tr-chart-panel{grid-area:chart}.tr-chat-panel{grid-area:chat;position:relative;min-height:620px;display:flex;flex-direction:column}.tr-poll-panel{grid-area:poll}.tr-events-panel{grid-area:events}.tr-grid section>header{min-height:59px;padding:0 16px;border-bottom:1px solid var(--tr-line);background:#08151b}.tr-grid h2{margin-top:4px;font-size:16px}.tr-grid button{border:1px solid #2c4650;border-radius:6px;background:#0b1a21;color:#dfeaed;cursor:pointer}.tr-grid button:hover{border-color:var(--tr-gold)}.tr-chart-panel>header button{padding:8px 13px}.tr-chart{height:560px;background:#02070a}.tr-loading{height:100%;display:grid;place-items:center;color:var(--tr-muted)}.tr-chart-fallback{height:560px;align-content:center;justify-items:center;gap:10px;text-align:center}.tr-chart-fallback:not([hidden]){display:grid}.tr-chart-fallback b{font-size:20px}.tr-chart-fallback span{font-size:28px;color:var(--tr-gold)}.tr-chart-fallback button{padding:9px 18px}.tr-chat-tools{display:flex;gap:7px}.tr-chat-tools button{padding:7px 9px}.tr-chat-tools b{color:var(--tr-gold)}[data-chat-close]{display:none}.tr-chat-filters{display:flex;gap:5px;padding:8px;overflow:auto;border-bottom:1px solid var(--tr-line)}.tr-chat-filters button{white-space:nowrap;padding:6px 9px;font-size:10px}.tr-chat-filters button.is-active{border-color:var(--tr-gold);color:var(--tr-gold)}.tr-history{display:flex;align-items:center;justify-content:space-between;padding:6px 9px;border-bottom:1px solid var(--tr-line);font-size:10px;color:var(--tr-muted)}.tr-history input{color:#dce8eb;background:#071016;border:1px solid #29414a}.tr-history button{padding:5px 8px}.tr-messages{position:relative;flex:1;min-height:0;max-height:425px;overflow-y:auto;padding:8px 11px}.tr-load-more{display:block;margin:5px auto 12px;padding:6px 10px}.tr-message{display:grid;grid-template-columns:35px 1fr;gap:8px;padding:10px 2px;border-bottom:1px solid rgba(38,64,73,.55)}.tr-avatar{width:34px;height:34px;border-radius:50%;background:#132731;object-fit:cover}.tr-avatar-fallback{display:grid;place-items:center;color:var(--tr-gold);font-weight:700}.tr-message header{display:flex;justify-content:space-between;gap:8px}.tr-message header a{color:#e8f1f3;text-decoration:none;font-size:11px;font-weight:700}.tr-message header span{font-size:9px;color:var(--tr-muted)}.tr-message p{margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.55}.tr-message>div>img{max-width:100%;max-height:220px;border-radius:7px}.tr-message footer{display:flex;gap:6px}.tr-message footer button{border:0;background:transparent;padding:2px;color:#78909a;font-size:9px}.tr-symbol-tag{color:var(--tr-cyan)!important}.tr-ai-tag{color:var(--tr-gold)!important}.tr-quote{display:block;width:100%;padding:6px 8px!important;border-left:2px solid var(--tr-gold)!important;background:#0b1920!important;color:#9fb0b6!important;text-align:left;font-size:9px!important}.tr-new-messages{position:absolute;left:50%;bottom:118px;transform:translateX(-50%);z-index:3;padding:7px 12px!important;border-color:var(--tr-gold)!important}.tr-composer{padding:9px;border-top:1px solid var(--tr-line);background:#061016}.tr-composer textarea{width:100%;box-sizing:border-box;resize:none;border:1px solid #29424b;border-radius:6px;padding:9px;background:#03090d;color:#eff7f8;outline:0}.tr-composer>div:last-child{display:flex;align-items:center;gap:10px;margin-top:6px}.tr-composer>div:last-child span{margin-left:auto;color:var(--tr-muted);font-size:9px}.tr-composer button[type=submit]{padding:7px 18px;border-color:#b68d2c;background:linear-gradient(135deg,#6e4c08,#d6a92d);color:#100d05;font-weight:800}.tr-image-button{padding:6px 9px;border:1px solid #2c4650;border-radius:6px;font-size:10px;cursor:pointer}.tr-image-button input{display:none}.tr-reply-preview{display:flex;justify-content:space-between;padding:6px 8px;margin-bottom:6px;background:#0d2028;color:#a8bbc1;font-size:10px}.tr-login-note{padding:12px;text-align:center;color:var(--tr-muted);font-size:11px}.tr-login-note a{color:var(--tr-gold)}.tr-poll-panel,.tr-events-panel{min-height:270px}.tr-poll-panel>header>span{font-size:10px;color:var(--tr-gold)}.tr-poll-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:15px}.tr-poll-buttons button{padding:13px 5px;font-weight:800}.tr-poll-buttons button.is-selected{border-color:var(--tr-gold);color:var(--tr-gold);box-shadow:0 0 15px rgba(233,189,72,.15)}.tr-poll-bars{display:grid;gap:9px;padding:0 15px}.tr-poll-bar{display:grid;grid-template-columns:90px 1fr 45px;align-items:center;gap:8px;font-size:10px}.tr-poll-bar i{height:7px;border-radius:5px;background:#1c343d;overflow:hidden}.tr-poll-bar i b{display:block;height:100%;background:var(--tr-cyan)}.tr-poll-bar:last-child i b{background:var(--tr-red)}.tr-poll-panel>p{margin:14px 15px;color:var(--tr-muted);font-size:10px}.tr-events-panel>header label{font-size:10px}.tr-countdown{margin:13px;padding:13px;border:1px solid #2a444e;border-radius:8px;text-align:center}.tr-countdown span,.tr-countdown small{display:block;color:var(--tr-muted);font-size:9px}.tr-countdown strong{display:block;margin:7px;font:700 28px/1 Manrope,sans-serif;color:var(--tr-gold)}.tr-countdown.is-critical{border-color:#dfba50;animation:trPulse 1s infinite alternate;background:linear-gradient(120deg,rgba(80,28,120,.3),rgba(165,37,49,.25))}@keyframes trPulse{to{box-shadow:0 0 22px rgba(232,63,93,.4)}}.tr-events{max-height:200px;overflow:auto;padding:0 13px 12px}.tr-event{display:grid;grid-template-columns:55px 1fr auto;gap:8px;padding:9px 0;border-bottom:1px solid #18313a;font-size:10px}.tr-event time{color:var(--tr-gold)}.tr-event p{margin:2px 0;color:#8da0a7}.tr-event a{color:var(--tr-cyan)}.tr-chat-reopen{position:fixed;right:0;top:45%;z-index:100;padding:12px 7px;border:1px solid var(--tr-gold);border-radius:7px 0 0 7px;background:#171208;color:var(--tr-gold)}.tr-consent,.tr-notification-dialog{width:min(500px,calc(100% - 28px));border:1px solid #a78432;border-radius:12px;background:#071117;color:#eaf3f5}.tr-consent::backdrop,.tr-notification-dialog::backdrop{background:rgba(0,0,0,.78)}.tr-consent form{padding:8px}.tr-consent li{margin:10px 0;color:#a8bbc1;font-size:12px}.tr-consent form>div{display:flex;justify-content:flex-end;gap:8px}.tr-consent button,.tr-notification-dialog button{padding:9px 15px;border:1px solid #755f2a;border-radius:6px;background:#111a1d;color:#eef5f6}.tr-dialog-close{float:right}.tr-notification-dialog [data-notification-list] button{display:block;width:100%;margin:7px 0;text-align:left}.trade-room-page.tr-fullscreen{overflow:hidden}.trade-room-page.tr-fullscreen .site-header,.trade-room-page.tr-fullscreen .site-footer,.trade-room-page.tr-fullscreen .home-video-ad-rail,.trade-room-page.tr-fullscreen .tr-title,.trade-room-page.tr-fullscreen .tr-symbols,.trade-room-page.tr-fullscreen .tr-poll-panel,.trade-room-page.tr-fullscreen .tr-events-panel{display:none!important}.trade-room-page.tr-fullscreen .tr-shell{position:fixed;inset:0;z-index:9000;width:100%;padding:0}.trade-room-page.tr-fullscreen .tr-grid{height:100%;grid-template-columns:70% 30%;grid-template-areas:"chart chat"}.trade-room-page.tr-fullscreen .tr-chart-panel,.trade-room-page.tr-fullscreen .tr-chat-panel{height:100%;border-radius:0}.trade-room-page.tr-fullscreen .tr-chart{height:calc(100vh - 60px)}.trade-room-page.tr-fullscreen [data-chat-close]{display:block}.trade-room-page.tr-fullscreen.tr-chat-hidden .tr-grid{grid-template-columns:100% 0}.trade-room-page.tr-fullscreen.tr-chat-hidden .tr-chat-panel{visibility:hidden}.trade-room-page.tr-fullscreen.tr-chat-hidden .tr-chat-reopen{display:block!important}
@media(min-width:1000px){.tr-symbols{grid-auto-columns:calc((100% - 40px)/5)}}
@media(max-width:800px){.tr-shell{padding:82px 8px 30px}.tr-symbols{grid-template-columns:repeat(4,minmax(145px,1fr));grid-template-rows:repeat(2,auto);grid-auto-flow:column;grid-auto-columns:minmax(145px,1fr)}.tr-grid{grid-template-columns:1fr;grid-template-areas:"chart" "poll" "events" "chat"}.tr-chart{height:390px}.tr-chat-panel{min-height:540px}.tr-messages{max-height:390px}.tr-title h1{font-size:28px}.trade-room-page.tr-fullscreen .tr-grid{grid-template-columns:70% 30%;grid-template-areas:"chart chat"}.trade-room-page.tr-fullscreen .tr-chat-panel{min-height:0}.trade-room-page.tr-fullscreen .tr-messages{max-height:none}.trade-room-page.tr-fullscreen .tr-chat-filters,.trade-room-page.tr-fullscreen .tr-history{display:none}}
@media(orientation:portrait) and (max-width:800px){.trade-room-page.tr-fullscreen .tr-grid{grid-template-columns:1fr;grid-template-rows:60% 40%;grid-template-areas:"chart" "chat"}.trade-room-page.tr-fullscreen .tr-chart{height:calc(60vh - 60px)}}

/* TRADE ROOM visual system — dark navy / cyan / violet reference */
.trade-room-page>.site-header,.trade-room-page>.site-footer{display:none}.trade-room-page{background:radial-gradient(circle at 51% 0,rgba(18,42,102,.28),transparent 36%),linear-gradient(180deg,#030b1d,#020a15 55%,#020812);--tr-bg:#020917;--tr-panel:#041126;--tr-line:#143c65;--tr-gold:#ffd536;--tr-cyan:#14d9ff;--tr-red:#ff405a;--tr-muted:#8297c1}.trade-room-page main{background-image:linear-gradient(rgba(21,66,104,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(21,66,104,.07) 1px,transparent 1px);background-size:42px 42px}.tr-shell{width:100%;max-width:none;padding:68px 16px 18px}.tr-app-header{position:fixed;inset:0 0 auto;z-index:1100;height:64px;box-sizing:border-box;display:grid;grid-template-columns:minmax(390px,1fr) auto minmax(300px,1fr);align-items:center;padding:0 38px;border-bottom:1px solid #154b7d;background:rgba(2,10,27,.96);box-shadow:0 0 28px rgba(0,130,255,.14);backdrop-filter:blur(14px)}.tr-app-brand{display:flex;align-items:center;gap:11px;color:#f5f8ff;text-decoration:none}.tr-app-brand>b{font:800 25px/1 Manrope,sans-serif;letter-spacing:-.03em}.tr-app-brand>small{padding-left:14px;border-left:1px solid #173c67;color:#8496ba;font-size:11px}.tr-bars{height:28px;display:inline-flex;align-items:flex-end;gap:4px}.tr-bars i{display:block;width:7px;background:linear-gradient(#21e6ff,#1684ff);box-shadow:0 0 10px #13bff8}.tr-bars i:nth-child(1){height:14px}.tr-bars i:nth-child(2){height:22px}.tr-bars i:nth-child(3){height:28px}.tr-app-header nav{display:flex;gap:12px}.tr-app-header nav>a,.tr-app-header nav>span{height:42px;min-width:190px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:11px;border:1px solid #17375d;border-radius:7px;color:#bec7ea;font:800 14px/1 Manrope,sans-serif;letter-spacing:.03em;text-decoration:none}.tr-app-header nav>a.is-active{border-color:#18baff;background:linear-gradient(135deg,#0640af,#052b88);color:#f1f8ff;box-shadow:0 0 0 2px rgba(23,170,255,.22),inset 0 0 22px rgba(30,191,255,.22)}.tr-app-header nav .tr-bars{transform:scale(.68)}.tr-app-actions{justify-self:end;display:flex;align-items:center;gap:12px}.tr-app-actions button{border:0;background:transparent;color:#b8c7ee;font-size:22px}.tr-app-actions a{padding:9px 13px;border:1px solid #294262;border-radius:7px;color:#ffd439;text-decoration:none;font-size:11px}.tr-title{height:0;margin:0;overflow:visible}.tr-title>div:first-child{display:none}.tr-presence{position:fixed;z-index:1200;right:38px;top:77px;padding:6px 10px;border:1px solid #244567;border-radius:15px;background:#061328}.tr-symbols{height:145px;box-sizing:border-box;grid-auto-columns:minmax(270px,1fr);gap:14px;padding:12px 24px 16px;margin:0 -16px 0;background:linear-gradient(180deg,rgba(3,15,35,.95),rgba(2,10,23,.92));border-bottom:1px solid #12385e}.tr-symbol-card{position:relative;min-height:116px;padding:14px 17px;border-color:#173b64;border-radius:8px;background:linear-gradient(145deg,#061833,#041025);box-shadow:inset 0 0 24px rgba(5,55,101,.16)}.tr-symbol-card:hover{border-color:#2289c2}.tr-symbol-card.is-active{border:2px solid #0ce6ff;box-shadow:0 0 16px rgba(0,219,255,.42),inset 0 0 25px rgba(0,120,190,.23)}.tr-symbol-card header b{font:800 16px/1 Manrope,sans-serif;color:#f2f6ff}.tr-symbol-card header span{padding:4px 6px;border-radius:5px;background:#f12c48;color:white;font:800 9px/1 Manrope,sans-serif;box-shadow:0 0 9px rgba(255,42,72,.65)}.tr-card-market{display:grid;grid-template-columns:minmax(95px,.8fr) minmax(100px,1.2fr);align-items:end;gap:8px}.tr-symbol-card strong{margin:15px 0 5px;font-size:24px}.tr-symbol-card em{display:block}.tr-card-market svg{width:100%;height:55px;filter:drop-shadow(0 0 5px #12dff9)}.tr-card-market polyline{fill:none;stroke:#12dff9;stroke-width:2}.tr-symbol-card:nth-child(2n) .tr-card-market polyline{stroke:#ffc21c;filter:drop-shadow(0 0 4px #d99e00)}.tr-symbol-card:nth-child(4n) .tr-card-market polyline{stroke:#ad4aff;filter:drop-shadow(0 0 4px #8935df)}.tr-grid{grid-template-columns:minmax(0,1.95fr) minmax(390px,1fr);grid-template-areas:"chart chat" "poll events";gap:14px;padding-top:14px}.tr-chart-panel,.tr-chat-panel,.tr-poll-panel,.tr-events-panel{border-color:#16456e;border-radius:8px;background:linear-gradient(145deg,rgba(4,19,41,.98),rgba(2,11,25,.98));box-shadow:inset 0 0 25px rgba(12,53,89,.12)}.tr-grid section>header{min-height:62px;border-color:#174369;background:linear-gradient(90deg,#061833,#041025)}.tr-grid header small{color:#20d8ff}.tr-grid h2{color:#f1f5ff;font-size:17px}.tr-chart{height:520px}.tr-chat-panel{min-height:582px}.tr-chat-panel>header h2:before{content:"●";margin-right:7px;color:#20d8ff;text-shadow:0 0 9px #20d8ff}.tr-chat-filters{border-color:#173d61;background:#041127}.tr-chat-filters button{border:0;background:transparent;color:#8192b4}.tr-chat-filters button.is-active{border-bottom:2px solid #15d9ff;border-radius:0;color:#15d9ff}.tr-history{border-color:#173d61}.tr-messages{max-height:392px}.tr-message{border-color:rgba(31,74,111,.55)}.tr-message header a{color:#15bfff}.tr-composer{border-color:#174369;background:#05142a}.tr-composer textarea{border-color:#21476c;background:#07172f}.tr-composer button[type=submit]{border-color:#2d6fb2;background:#0b3972;color:#b9d8ff}.tr-poll-panel,.tr-events-panel{min-height:200px}.tr-poll-panel>header,.tr-events-panel>header{min-height:54px}.tr-poll-buttons{padding:12px 15px 8px}.tr-poll-buttons button{padding:9px}.tr-poll-bars{grid-template-columns:repeat(3,1fr);gap:13px}.tr-poll-bar{grid-template-columns:1fr;gap:4px;padding:8px;border-right:1px solid #183e65}.tr-poll-bar span{font-size:13px;font-weight:800}.tr-poll-bar strong{font-size:16px}.tr-poll-bar i{order:3}.tr-poll-bar:first-child span,.tr-poll-bar:first-child strong{color:#19e4a8}.tr-poll-bar:last-child span,.tr-poll-bar:last-child strong{color:#ff4861}.tr-events-panel{border-color:#853eff;background:radial-gradient(circle at 85% 20%,rgba(93,36,170,.42),transparent 36%),linear-gradient(135deg,#150b43,#35106a 60%,#101042);box-shadow:0 0 18px rgba(123,51,255,.25),inset 0 0 35px rgba(101,39,201,.25)}.tr-countdown{display:grid;grid-template-columns:1fr 2fr;align-items:center;margin:9px 13px 5px;border:0;text-align:left}.tr-countdown span,.tr-countdown small{grid-column:1}.tr-countdown strong{grid-column:2;grid-row:1/3;font-size:42px;color:#ffda35;text-shadow:0 0 13px rgba(255,203,42,.3)}.tr-events{max-height:112px}.tr-event{padding:6px 0}.tr-new-messages{bottom:103px}
@media(min-width:1000px){.tr-symbols{grid-auto-columns:calc((100% - 56px)/5)}}
@media(max-width:1100px){.tr-app-header{grid-template-columns:1fr auto;padding:0 18px}.tr-app-brand>small,.tr-app-actions{display:none}.tr-app-header nav>span{display:none}.tr-grid{grid-template-columns:minmax(0,1.6fr) minmax(340px,1fr)}}
@media(max-width:800px){.tr-shell{padding:56px 7px 20px}.tr-app-header{height:56px;padding:0 10px}.tr-app-brand>b{font-size:16px}.tr-app-brand .tr-bars{transform:scale(.7)}.tr-app-header nav>a{min-width:128px;height:36px;font-size:11px}.tr-presence{top:64px;right:10px}.tr-symbols{height:258px;grid-template-columns:repeat(4,minmax(165px,1fr));grid-template-rows:repeat(2,112px);grid-auto-columns:minmax(165px,1fr);padding-top:12px}.tr-symbol-card{min-height:108px;padding:11px}.tr-symbol-card header b{font-size:12px}.tr-symbol-card strong{font-size:18px}.tr-grid{grid-template-columns:1fr;grid-template-areas:"chart" "poll" "events" "chat"}.tr-chart{height:390px}.tr-poll-bars{grid-template-columns:1fr}.tr-countdown strong{font-size:34px}}
.trade-room-page.tr-fullscreen .tr-app-header{display:none!important}
.tr-app-header{display:none!important}.tr-shell{padding-top:0}.tr-presence{position:absolute;top:10px;right:22px}
@media(max-width:800px){.tr-shell{padding-top:0}.tr-presence{top:7px;right:10px}}

/* Keep the room itself within one viewport; only content panes scroll. */
html:has(.trade-room-page),.trade-room-page{height:100%;overflow:hidden}.trade-room-page main{height:100dvh;overflow:hidden}.trade-room-page .tr-shell{height:100dvh;overflow:hidden;display:flex;flex-direction:column}.trade-room-page .tr-symbols{flex:0 0 145px}.trade-room-page .tr-grid{height:auto;min-height:0;flex:1;grid-template-rows:minmax(0,1fr) 200px}.trade-room-page .tr-chart-panel,.trade-room-page .tr-chat-panel{min-height:0;height:auto}.trade-room-page .tr-chart{height:calc(100% - 62px);min-height:260px}.trade-room-page .tr-chat-panel{min-height:0}.trade-room-page .tr-messages{max-height:none;min-height:0}.trade-room-page .tr-poll-panel,.trade-room-page .tr-events-panel{min-height:0;height:200px}.trade-room-page .home-video-ad-rail{position:fixed}
@media(max-width:800px){.trade-room-page .tr-symbols{flex-basis:258px}.trade-room-page .tr-grid{display:grid;overflow-y:auto;grid-template-rows:none}.trade-room-page .tr-chart{height:390px}.trade-room-page .tr-chat-panel{min-height:540px}.trade-room-page .tr-poll-panel,.trade-room-page .tr-events-panel{height:auto;min-height:200px}}

/* Resizable chart/chat split. The value is restored from localStorage by room.js. */
.trade-room-page .tr-grid{--tr-left:65%;position:relative;grid-template-columns:minmax(0,var(--tr-left)) minmax(320px,1fr);grid-template-areas:"chart chat" "lower chat";grid-template-rows:minmax(0,1fr) 200px}.trade-room-page .tr-lower-panels{grid-area:lower;min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.trade-room-page .tr-lower-panels .tr-poll-panel,.trade-room-page .tr-lower-panels .tr-events-panel{grid-area:auto;height:100%;min-height:0}.trade-room-page .tr-chat-panel{grid-area:chat;height:100%;min-height:0}.tr-column-resizer{position:absolute;z-index:30;top:14px;bottom:0;left:calc(var(--tr-left) + 6px);width:8px;transform:translateX(-50%);cursor:col-resize;touch-action:none}.tr-column-resizer:before{content:"";position:absolute;inset:0 3px;border-radius:3px;background:#1b5d83;opacity:.35;transition:.15s}.tr-column-resizer:hover:before,.tr-column-resizer.is-dragging:before,.tr-column-resizer:focus-visible:before{background:#17dfff;opacity:1;box-shadow:0 0 11px rgba(23,223,255,.75)}.trade-room-page.tr-fullscreen .tr-grid{grid-template-columns:minmax(0,var(--tr-left)) minmax(320px,1fr)}.trade-room-page.tr-fullscreen .tr-lower-panels{display:none}
@media(max-width:800px){.trade-room-page .tr-grid{grid-template-columns:1fr;grid-template-areas:"chart" "lower" "chat";grid-template-rows:none}.trade-room-page .tr-lower-panels{grid-template-columns:1fr}.tr-column-resizer{display:none}.trade-room-page.tr-fullscreen .tr-grid{grid-template-columns:70% 30%;grid-template-areas:"chart chat"}.trade-room-page.tr-fullscreen .tr-lower-panels{display:none}}

/* Clip mini charts to their own market card. */
.tr-symbol-card{overflow:hidden;contain:paint}
.tr-card-market{position:relative;display:block;min-width:0;overflow:hidden;background:transparent}
.tr-card-market>div{position:relative;z-index:2;min-width:0;background:transparent;pointer-events:none}
.tr-card-market svg{position:absolute;inset:0;width:100%;height:100%;display:block;min-width:0;max-width:100%;overflow:hidden;pointer-events:none}
.tr-card-market polyline{clip-path:inset(0);vector-effect:non-scaling-stroke}
body.trade-room-page{padding-top:0!important}
.trade-room-page .tr-lower-panels .tr-poll-panel{height:152px;align-self:start;min-height:0}
.tr-grid .tr-poll-panel>header{min-height:34px;padding:4px 12px}
.tr-grid .tr-poll-panel>header h2{margin:0;font-size:14px}
.tr-poll-panel .tr-poll-buttons{padding:7px 12px;gap:6px}
.tr-poll-panel .tr-poll-buttons button{padding:5px;font-size:11px}
.tr-poll-panel .tr-poll-bars{display:block;padding:0 12px}
.tr-poll-stacked{display:flex;width:100%;height:16px;overflow:hidden;border-radius:5px;background:#22334c}
.tr-poll-stacked>span{flex-basis:0;min-width:0}
.tr-poll-stacked>.tr-share-long{background:#19dca4}
.tr-poll-stacked>.tr-share-flat{background:#9093c5}
.tr-poll-stacked>.tr-share-short{background:#ff4861}
.tr-poll-legend{display:flex;justify-content:space-between;gap:5px;margin-top:5px;font-size:9px}
.tr-poll-legend .tr-share-long{color:#19dca4}.tr-poll-legend .tr-share-flat{color:#b4b6df}.tr-poll-legend .tr-share-short{color:#ff4861}
.tr-poll-panel>p{margin:4px 12px;font-size:9px}
.trade-room-page .tr-lower-panels .tr-poll-panel,.trade-room-page .tr-lower-panels .tr-events-panel{height:138px;box-sizing:border-box;align-self:stretch}
@media(min-width:801px){.trade-room-page .tr-grid{grid-template-rows:minmax(0,1fr) 138px}.trade-room-page .tr-chart{min-height:0}}
.tr-grid .tr-poll-panel>header{min-height:36px;justify-content:flex-start;gap:10px;border:0;background:transparent}
.tr-grid .tr-poll-panel>header h2{font-size:13px;white-space:nowrap}
.tr-poll-panel>header>span{color:#aab6d3;font-size:9px;white-space:nowrap}
.tr-poll-panel .tr-poll-stacked{height:21px;border-radius:7px}
.tr-poll-panel .tr-poll-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:12px 10px 8px;gap:0}
.tr-poll-panel .tr-poll-results button{display:flex;align-items:center;justify-content:center;gap:8px;padding:0 4px;border:0;border-radius:0;background:transparent;text-align:left;color:#19dca4;font:700 12px/1.1 Manrope,sans-serif}
.tr-poll-panel .tr-poll-results button+button{border-left:1px solid #173047}
.tr-poll-panel .tr-poll-results button[data-direction=flat]{color:#b4b6df}
.tr-poll-panel .tr-poll-results button[data-direction=short]{color:#ff4861}
.tr-poll-results strong{display:block;margin-top:3px;font-size:26px;line-height:1}
.tr-poll-results .tr-vote-icon{font-size:30px}
.tr-poll-results .tr-market-animal{display:block;width:56px;height:42px;flex:0 0 56px;object-fit:contain;background:transparent}
.tr-messages .tr-message{grid-template-columns:26px minmax(0,1fr);gap:6px;padding:6px 2px}
.tr-messages .tr-avatar{width:26px;height:26px}
.tr-messages .tr-message>div{min-width:0}
.tr-messages .tr-message header{min-height:0;padding:0;line-height:16px}
.tr-messages .tr-message p{margin:2px 0;line-height:1.4}
.tr-messages .tr-message footer{align-items:center;gap:6px;min-height:0;margin:0;padding:0;font-size:9px;line-height:14px;color:var(--tr-muted)}
.tr-messages .tr-message footer button{padding:0 2px;line-height:14px}
.tr-messages .tr-message footer,.tr-messages .tr-message footer button{color:#fff}
.tr-chat-panel .tr-history{gap:8px;padding:7px 10px;background:rgba(5,18,36,.6)}
.tr-history label{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0;color:#d8e4f4;font-size:11px}
.tr-history label small{color:#91a4bf;font-size:10px}
.tr-history input[type=date]{color-scheme:dark;box-sizing:border-box;min-width:132px;height:30px;padding:4px 9px;border:1px solid #294967;border-radius:7px;background:#0a1b30;color:#f0f5fc;font-family:inherit;font-size:12px;font-weight:500;line-height:1.3;outline:none;transition:border-color .15s,box-shadow .15s}
.tr-history input[type=date]:focus-visible{border-color:#16cdeb;box-shadow:0 0 0 2px #16cdeb26}
.tr-history input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.8}
.tr-history button[data-latest]{flex-shrink:0;height:30px;padding:4px 10px;border:1px solid #294967;border-radius:7px;background:#0a1b30;color:#d8e4f4;font-size:10px}
.tr-chart-actions{display:flex;align-items:center;gap:6px}
.tr-lower-panels .tr-events-panel{display:flex;flex-direction:column;background:linear-gradient(145deg,#08182b,#040e1c);border-color:#24405b;box-shadow:none}
.tr-grid .tr-events-panel>header{flex:0 0 auto;min-height:36px;padding:0 12px;background:transparent;border-bottom:1px solid #20354c}
.tr-grid .tr-events-panel>header h2{margin:0;font-size:14px}
.tr-events-panel>header label{display:flex;align-items:center;gap:6px;color:#b6c5d6;font-size:10px}
.tr-events-panel [data-sound]{accent-color:#9eafc4;margin:0;cursor:pointer}
.tr-events-panel .tr-countdown{margin:0;padding:10px 14px;gap:3px 12px;background:transparent}
.tr-events-panel .tr-countdown[hidden]{display:none}
.tr-events-panel .tr-countdown strong{margin:0;font-size:30px;font-variant-numeric:tabular-nums;letter-spacing:.03em;text-shadow:none;color:#efd083}
.tr-events-panel .tr-countdown span{color:#a3b3c8;font-size:10px}
.tr-events-panel .tr-countdown small{color:#e4ebf5;font-size:12px;overflow-wrap:anywhere}
.tr-events-panel .tr-events{flex:1;min-height:0;max-height:none;padding:0 12px 6px}
.tr-events-panel .tr-events>p{display:grid;place-items:center;height:100%;min-height:42px;margin:0;color:#aab9cd;font-size:12px;text-align:center}
.tr-events-panel .tr-event{border-color:#20354c;padding:7px 0}
.tr-chart-panel>header .tr-chart-actions button{padding:6px 10px;color:#fff;font-size:11px;white-space:nowrap}
.tr-messages .tr-quote{box-sizing:border-box;padding:2px 5px!important;line-height:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tr-poll-panel .tr-poll-results button.is-selected{box-shadow:none;text-decoration:underline;text-underline-offset:4px}

/* Narrow windows: prioritize the main chart, not the market-card strip. */
@media(max-width:800px){
 .trade-room-page .tr-shell{padding:0 4px 6px}
 .trade-room-page .tr-symbols{flex:0 0 78px;height:78px;margin:0;grid-template-columns:none;grid-template-rows:1fr;grid-auto-flow:column;grid-auto-columns:130px;gap:6px;padding:5px 0 7px}
 .tr-symbols .tr-symbol-card{min-height:0;height:64px;padding:7px 9px}
 .tr-symbols .tr-symbol-card header b{font-size:10px}
 .tr-symbols .tr-symbol-card header span{font-size:8px;padding:2px 3px}
 .tr-symbols .tr-symbol-card strong{font-size:16px;margin:6px 0 2px}
 .tr-symbols .tr-symbol-card em{font-size:9px}
 .trade-room-page .tr-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"chart" "lower" "chat";grid-template-rows:minmax(320px,1fr) 112px minmax(190px,.55fr);gap:6px;padding-top:4px;overflow-y:auto}
 .trade-room-page .tr-chart-panel{display:flex;flex-direction:column;min-height:320px}
 .tr-grid .tr-chart-panel>header{min-height:34px;padding:0 10px;flex:0 0 34px;box-sizing:border-box}
 .tr-grid .tr-chart-panel>header h2{font-size:13px;margin:0}
 .trade-room-page .tr-chart{flex:1;height:auto;min-height:0}
 .trade-room-page .tr-lower-panels{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}
 .trade-room-page .tr-lower-panels .tr-poll-panel,.trade-room-page .tr-lower-panels .tr-events-panel{height:112px;min-height:0}
 .tr-grid .tr-poll-panel>header,.tr-grid .tr-events-panel>header{min-height:27px;padding:0 7px;gap:4px}
 .tr-grid .tr-poll-panel>header h2,.tr-grid .tr-events-panel>header h2{font-size:11px}
 .tr-poll-panel>header>span{font-size:8px;white-space:normal}
 .tr-poll-panel .tr-poll-bars{padding:0 7px}
 .tr-poll-panel .tr-poll-stacked{height:12px}
 .tr-poll-panel .tr-poll-results{padding:10px 3px 4px}
 .tr-poll-panel .tr-poll-results button{gap:3px;padding:0 2px;font-size:9px}
 .tr-poll-results strong{font-size:19px}
 .tr-poll-results .tr-market-animal{width:28px;height:26px;flex-basis:28px}
 .tr-poll-results .tr-vote-icon{font-size:20px}
 .tr-events-panel .tr-countdown{padding:5px 7px;gap:2px 5px}
 .tr-events-panel .tr-countdown strong{font-size:22px}
 .tr-events-panel .tr-countdown small,.tr-events-panel .tr-events>p{font-size:10px}
 .tr-events-panel .tr-events{padding:0 7px 4px}
 .trade-room-page .tr-chat-panel{min-height:190px}
 .tr-grid .tr-chat-panel>header{min-height:30px;padding:0 9px}
 .tr-chat-panel>header small{display:none}
 .tr-chat-panel>header h2{font-size:12px;margin:0}
 .tr-chat-tools button{padding:3px 7px}
 .tr-chat-filters{padding:3px;flex-shrink:0}
 .tr-chat-filters button{padding:3px 6px}
 .tr-chat-panel .tr-history{padding:3px 7px;flex-shrink:0}
 .tr-history input[type=date],.tr-history button[data-latest]{height:25px}
 .tr-composer{padding:4px 7px;flex-shrink:0}
 .tr-composer textarea{height:32px;min-height:32px;padding:5px 7px}
 .tr-composer>div:last-child{margin-top:3px}
 .tr-composer button[type=submit]{padding:4px 12px}
 .tr-reply-preview[hidden]{display:none}
 .trade-room-page.tr-fullscreen .tr-grid{grid-template-columns:1fr;grid-template-areas:"chart";grid-template-rows:minmax(320px,1fr)}
 .trade-room-page.tr-fullscreen .tr-chat-panel{display:none}
}
@media(max-width:420px){.tr-poll-results .tr-market-animal,.tr-poll-results .tr-vote-icon{display:none}.tr-poll-panel>header>span{display:none}.tr-events-panel .tr-countdown strong{font-size:18px}}
.tr-events-panel .tr-events[hidden]{display:none}
.tr-events-panel .tr-countdown{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:1fr auto;align-items:center;padding:6px 12px;gap:3px 10px;margin:0}
.tr-events-panel .tr-countdown small{grid-column:1;grid-row:1;font-size:12px;line-height:1.3;min-width:0;overflow-wrap:anywhere}
.tr-events-panel .tr-countdown strong{grid-column:2;grid-row:1;font-size:clamp(20px,3vw,32px);white-space:nowrap}
.tr-events-panel .tr-countdown span{grid-column:1/-1;grid-row:2;font-size:11px;line-height:1.4;color:#c0ccda}
.tr-events-panel .tr-countdown.is-critical{background:linear-gradient(110deg,#663409,#322011);animation:trFinalSeconds 1s ease-in-out infinite;border-radius:5px}
.tr-events-panel .tr-countdown.is-critical strong{color:#fff0b3;text-shadow:0 0 14px #ffb52b99}
.tr-events-panel .tr-countdown.is-ten-minute{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 70% 50%,#b97415,#573211 48%,#172536);border-radius:5px;box-shadow:inset 0 0 35px #ffd36399}
.tr-events-panel .tr-countdown.is-ten-minute:before{content:"";position:absolute;z-index:-1;inset:-100% -60%;pointer-events:none;background:linear-gradient(115deg,transparent 35%,#ffe9a033 42%,#fff4cbcc 49%,#ffe9a044 56%,transparent 63%);animation:trGoldSweep 2.4s ease-in-out infinite}
.tr-events-panel .tr-countdown.is-ten-minute:after{content:"";position:absolute;z-index:-1;inset:2px;border:2px solid #ffe8a1;border-radius:5px;pointer-events:none;box-shadow:inset 0 0 14px #ffc851,0 0 12px #ffc851;animation:trGoldRing 2s ease-in-out infinite}
.tr-events-panel .tr-countdown.is-ten-minute strong{color:#fff6ce;font-weight:900;letter-spacing:.04em;text-shadow:0 2px 3px #603500,0 0 12px #ffbd35,0 0 28px #ffdd7b;font-size:clamp(24px,3.5vw,40px)}
.tr-events-panel .tr-countdown.is-ten-minute small{color:#fff5db;font-weight:700}
.tr-events-panel .tr-countdown.is-ten-minute span{color:#fff2ba;font-weight:900;font-size:16px;letter-spacing:.12em;text-shadow:0 0 10px #ffba37}
@keyframes trGoldSweep{from{transform:translateX(-45%)}to{transform:translateX(45%)}}
@keyframes trGoldRing{0%,100%{opacity:.55}50%{opacity:1}}
.tr-events-panel .tr-countdown.is-ten-minute strong{transform-origin:right center}
.tr-events-panel .tr-countdown.is-ten-minute.is-critical{background:radial-gradient(ellipse at 70% 50%,#b86513,#683110 48%,#28160d)}
.tr-events-panel .tr-countdown.is-ten-minute.is-critical strong{padding-left:12px;font-size:clamp(22px,3vw,34px)}
@media(max-width:800px){.tr-events-panel .tr-countdown.is-ten-minute strong{font-size:22px}.tr-events-panel .tr-countdown.is-ten-minute span{font-size:12px;letter-spacing:.04em}}
@media(prefers-reduced-motion:reduce){.tr-events-panel .tr-countdown.is-ten-minute:before,.tr-events-panel .tr-countdown.is-ten-minute:after{animation:none}}
.tr-events-panel .tr-countdown.is-result{background:linear-gradient(110deg,#28301f,#11202d);border-radius:5px;animation:none}
.tr-events-panel .tr-countdown.is-result strong{color:#ffe4a0;font-size:clamp(19px,3vw,32px)}
@keyframes trFinalSeconds{0%,100%{box-shadow:inset 0 0 6px #ffba2630}50%{box-shadow:inset 0 0 30px #ffba2666}}
@media(prefers-reduced-motion:reduce){.tr-events-panel .tr-countdown.is-critical{animation:none}}
@media(max-width:800px){.tr-events-panel .tr-countdown{padding:4px 7px;gap:2px 5px}.tr-events-panel .tr-countdown small{font-size:10px}.tr-events-panel .tr-countdown strong{font-size:20px}.tr-events-panel .tr-countdown span{font-size:9px}}

/* Broadcast-style spectacle, contained inside the economic-event card. */
.tr-events-panel:has(.is-ten-minute),.tr-events-panel:has(.is-result){border-color:#ffcf60;box-shadow:0 0 16px #ffc34155,inset 0 0 16px #ffc34133}
.tr-events-panel .tr-countdown:is(.is-ten-minute,.is-result){position:relative;isolation:isolate;overflow:hidden;container-type:inline-size;background:radial-gradient(ellipse at 70% 50%,#bc831d 0,#583415 45%,#171c32 100%)}
.tr-events-panel .tr-countdown:is(.is-ten-minute,.is-result):before{content:"";position:absolute;z-index:-1;inset:-250%;pointer-events:none;background:repeating-conic-gradient(from 0deg at 50% 50%,transparent 0deg 16deg,#ffdc6944 17deg 20deg,transparent 22deg 36deg);animation:trEventRays 16s linear infinite}
.tr-events-panel .tr-countdown:is(.is-ten-minute,.is-result):after{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;border:2px solid #ffdf80;border-radius:5px;background:radial-gradient(circle at 12% 25%,#fff6cb 0 1px,transparent 3px),radial-gradient(circle at 32% 80%,#ffe382 0 2px,transparent 4px),radial-gradient(circle at 72% 18%,#fff1ab 0 1px,transparent 3px),radial-gradient(circle at 89% 68%,#ffe382 0 2px,transparent 4px),linear-gradient(115deg,transparent 30%,#fff4bf66 48%,transparent 66%);background-size:100% 100%,100% 100%,100% 100%,100% 100%,220% 100%;box-shadow:inset 0 0 22px #ffcf5f88;animation:trEventShimmer 2.5s ease-in-out infinite}
.tr-events-panel .tr-countdown:is(.is-ten-minute,.is-result) strong{position:relative;z-index:1;transform-origin:center;font-size:clamp(24px,8cqw,48px);font-weight:900;letter-spacing:.02em;color:#fff8d9;text-shadow:0 3px 0 #6a3b0b,0 0 12px #ffc83b,0 0 28px #ffbb22}
.tr-events-panel .tr-countdown.is-ten-minute.is-critical{background:radial-gradient(ellipse at center,#ce922b,#7a350d 60%,#301426);grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto;gap:0;padding:3px 12px}
.tr-events-panel .tr-countdown.is-critical small{grid-area:1/1;text-align:center;font-size:10px;line-height:1.1}
.tr-events-panel .tr-countdown.is-ten-minute.is-critical strong{grid-area:2/1;justify-self:center;align-self:center;padding:0;font-size:clamp(30px,10cqw,50px);line-height:1;transform-origin:center}
.tr-events-panel .tr-countdown.is-critical span{grid-area:3/1;text-align:center;font-size:10px;letter-spacing:0;line-height:1.1}
.tr-events-panel .tr-countdown.is-result{background:radial-gradient(ellipse at 65% 50%,#937022,#234738 65%,#112739)}
.tr-events-panel .tr-countdown.is-result:before{animation-duration:24s}
.tr-events-panel .tr-countdown.is-result span{color:#fff2c4;font-weight:700;letter-spacing:0;font-size:11px}
@keyframes trEventRays{to{transform:rotate(360deg)}}
@keyframes trEventShimmer{0%,100%{background-position:0 0,0 0,0 0,0 0,100% 0;opacity:.65}50%{background-position:0 -4px,0 5px,0 -3px,0 4px,0 0;opacity:1}}
@media(max-width:800px){.tr-events-panel .tr-countdown.is-ten-minute.is-critical strong{font-size:clamp(25px,14cqw,38px)}.tr-events-panel .tr-countdown.is-critical small,.tr-events-panel .tr-countdown.is-critical span{font-size:8px}.tr-events-panel .tr-countdown.is-result strong{font-size:clamp(18px,10cqw,30px)}}
@media(prefers-reduced-motion:reduce){.tr-events-panel .tr-countdown:is(.is-ten-minute,.is-result):before,.tr-events-panel .tr-countdown:is(.is-ten-minute,.is-result):after{animation:none}}
/* Author display:flex must never override the reply panel's hidden state. */
.tr-composer .tr-reply-preview[hidden]{display:none!important}
.tr-event-controls{display:flex;align-items:center;gap:8px}
.tr-event-controls label{display:flex;align-items:center;gap:4px;white-space:nowrap;font-size:10px}
.tr-event-controls [data-open-schedule]{padding:4px 7px;border:1px solid #8d733d;color:#f2d28e;background:#152333;font-size:10px}
.tr-schedule-dialog{box-sizing:border-box;width:min(760px,calc(100vw - 24px));max-height:85dvh;padding:0;border:1px solid #8b713b;border-radius:14px;background:linear-gradient(145deg,#0b1b30,#05101e);color:#e8eef7;box-shadow:0 24px 90px #000b}
.tr-schedule-dialog::backdrop{background:#020914aa;backdrop-filter:blur(4px)}
.tr-schedule-dialog>header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #334358}
.tr-schedule-dialog h2{margin:0;color:#f5db9f;font-size:20px}.tr-schedule-dialog header p{margin:6px 0 0;color:#9bafc6;font-size:11px}
.tr-schedule-dialog header button{border:0;background:transparent;color:#e7edf6;font-size:26px;cursor:pointer}
.tr-schedule-body{padding:8px 22px 20px;max-height:calc(85dvh - 100px);overflow:auto}
.tr-schedule-body h3{font-size:13px;color:#e8ca85;margin:20px 0 8px}
.tr-schedule-event{display:grid;grid-template-columns:55px minmax(0,1fr);gap:12px;padding:13px 0;border-bottom:1px solid #1c3349}
.tr-schedule-event time{font-size:15px;color:#f7dfaa;font-variant-numeric:tabular-nums}
.tr-schedule-name{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;font-size:13px}
.tr-schedule-name>span,.tr-schedule-event small{font-size:10px;color:#94aac3}
.tr-schedule-values{display:flex;flex-wrap:wrap;gap:8px 20px;margin:9px 0 5px;font-size:11px;color:#9aadc5}.tr-schedule-values b{color:#e8eff8;margin-left:4px}
@media(max-width:800px){.tr-event-controls{gap:3px;flex-wrap:wrap;justify-content:flex-end}.tr-event-controls [data-open-schedule]{font-size:8px;padding:3px}.tr-schedule-body{padding:6px 12px 16px}.tr-schedule-dialog>header{padding:14px 12px}.tr-schedule-dialog h2{font-size:17px}}
.tr-chart-panel{position:relative;container-type:inline-size}
.tr-chart-panel .tr-result-center{position:absolute;z-index:10;top:50%;left:50%;width:90%;max-width:440px;max-height:none;padding:8px;overflow:hidden;pointer-events:none;animation:trGoldResultExit 3s ease both}
.tr-chart-panel .tr-result-center h2{margin:0 0 8px;font-size:clamp(14px,3cqw,23px);color:#ffe3a0;line-height:1.25}
.tr-chart-panel .tr-result-center strong{font-size:clamp(25px,7cqw,56px);line-height:1.2;color:#ffd16b;background:linear-gradient(110deg,#ffd16b 35%,#fffbe5 48%,#ffd16b 61%);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 3px #000);text-shadow:none;animation:trGoldResultGlint 1.3s .35s ease-in-out both}
@keyframes trGoldResultGlint{from{background-position:100% 0}50%{filter:drop-shadow(0 0 8px #fbc74c)}to{background-position:0 0}}
@keyframes trGoldResultExit{0%{opacity:0;transform:translate(-50%,-45%) scale(.95)}15%,65%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-54%) scale(1)}}
@media(prefers-reduced-motion:reduce){.tr-chart-panel .tr-result-center,.tr-chart-panel .tr-result-center strong{animation:none}}
.tr-result-center{--result-accent:#d9dfea;position:fixed;z-index:20000;top:50%;left:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 32px));max-height:85dvh;overflow:auto;box-sizing:border-box;padding:30px 28px;border:1px solid var(--result-accent);border-radius:18px;background:radial-gradient(ellipse at top,#17354a,#071323 75%);box-shadow:0 20px 80px #000b,0 0 32px color-mix(in srgb,var(--result-accent) 30%,transparent);text-align:center;color:#fff;animation:trCenterReveal .65s cubic-bezier(.16,1,.3,1)}
.tr-result-center[hidden]{display:none!important}
.tr-result-center[data-comparison=above]{--result-accent:#67d9ff}
.tr-result-center[data-comparison=below]{--result-accent:#ffb575}
.tr-result-center[data-comparison=equal]{--result-accent:#dbd0ff}
.tr-result-center>button{position:absolute;right:12px;top:10px;border:0;background:transparent;color:#e8eef7;font-size:25px;cursor:pointer;padding:4px 8px}
.tr-result-center small{font-size:12px;letter-spacing:.16em;color:#bdcddd}
.tr-result-center h2{margin:16px 0 12px;font-size:clamp(18px,4vw,25px);overflow-wrap:anywhere}
.tr-result-center strong{display:block;font-size:clamp(36px,9vw,68px);line-height:1.25;color:var(--result-accent);text-shadow:0 0 22px color-mix(in srgb,var(--result-accent) 35%,transparent);overflow-wrap:anywhere}
.tr-result-center p{margin:18px 0 0;color:#c6d4e1;font-size:14px}
@keyframes trCenterReveal{from{opacity:0;transform:translate(-50%,-45%) scale(.75)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media(prefers-reduced-motion:reduce){.tr-result-center{animation:none}}
.tr-result-center{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;pointer-events:none;padding:16px 24px}
.tr-result-center>button{pointer-events:auto;text-shadow:0 1px 5px #000,0 0 8px #000}
.tr-result-center small,.tr-result-center h2,.tr-result-center p{text-shadow:0 2px 4px #000,0 0 10px #000,0 0 20px #000}
.tr-result-center strong{text-shadow:0 3px 5px #000,0 0 12px #000,0 0 25px color-mix(in srgb,var(--result-accent) 60%,transparent)}
.tr-event-banner{position:relative;flex:1;min-height:0;overflow:hidden;background:#061521;animation:trBannerEnter .45s ease-out}
.tr-event-banner[hidden]{display:none!important}
.tr-event-banner>img{display:block;width:100%;height:100%;object-fit:contain}
.tr-events-panel:has(.tr-event-banner:not([hidden]))>header{display:none}
.tr-events-panel:has(.tr-event-banner:not([hidden])){box-shadow:none;border-color:#24405b}
.tr-event-banner>img{object-fit:cover;object-position:center}
.tr-event-banner>small{position:absolute;right:5px;bottom:3px;padding:2px 5px;border-radius:3px;background:#061521cc;color:#d2dce7;font-size:8px}
@keyframes trBannerEnter{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.tr-event-banner{animation:none}}
.tr-messages .tr-message>div>img{max-width:49%;max-height:108px;width:auto;height:auto;object-fit:contain}
.tr-messages{cursor:grab;touch-action:pan-y}
.tr-messages.is-drag-scrolling,.tr-messages.is-drag-scrolling *{cursor:grabbing!important;user-select:none}
@media(pointer:fine){.tr-messages{user-select:none}}
.tr-messages button,.tr-messages a[href]{cursor:pointer}
.tr-attachment-preview{display:flex;align-items:center;gap:8px;padding:5px;margin-bottom:5px;border:1px solid #294967;border-radius:6px;background:#0a1b30}
.tr-attachment-preview[hidden]{display:none!important}
.tr-attachment-preview img{width:54px;height:42px;object-fit:contain}
.tr-attachment-preview span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:#d8e4f4}
.tr-attachment-preview button{padding:3px 7px}
.tr-events-panel .tr-countdown.is-result strong{display:flex;align-items:center;justify-content:flex-end;gap:10px;line-height:1}
.tr-result-arrow{font-style:normal;font-weight:400;font-size:1.4em;line-height:1}
.tr-result-arrow:empty{display:none}
.tr-events-panel .tr-countdown.is-result strong b{font:inherit;letter-spacing:-.025em}
@media(max-width:800px){.tr-events-panel .tr-countdown.is-result strong{gap:4px}}
.tr-events-panel .tr-countdown:is(.is-ten-minute,.is-result):before{display:none}
.tr-events-panel .tr-countdown:is(.is-ten-minute,.is-result):after{background:none;animation:trGoldRing 2s ease-in-out infinite}
.tr-events-panel .tr-countdown.is-result{--result-color:#d5dce8;background:radial-gradient(ellipse at 75% 50%,#263449,#101c2b);box-shadow:inset 0 0 24px color-mix(in srgb,var(--result-color) 20%,transparent)}
.tr-events-panel .tr-countdown.is-result[data-result-comparison=above]{--result-color:#67d9ff;background:radial-gradient(ellipse at 75% 50%,#16465c,#0a1b2d)}
.tr-events-panel .tr-countdown.is-result[data-result-comparison=below]{--result-color:#ffb575;background:radial-gradient(ellipse at 75% 50%,#533723,#201823)}
.tr-events-panel .tr-countdown.is-result[data-result-comparison=equal]{--result-color:#dbd0ff;background:radial-gradient(ellipse at 75% 50%,#383451,#171b2a)}
.tr-events-panel .tr-countdown.is-result:after{border-color:var(--result-color);box-shadow:inset 0 0 18px color-mix(in srgb,var(--result-color) 35%,transparent);animation:none}
.tr-events-panel .tr-countdown.is-result strong,.tr-events-panel .tr-countdown.is-result span{color:var(--result-color);text-shadow:0 0 15px color-mix(in srgb,var(--result-color) 40%,transparent)}
@media(prefers-reduced-motion:reduce){.tr-events-panel .tr-countdown:is(.is-ten-minute,.is-result):after{animation:none}}
.tr-event-details{margin-top:8px;color:#e2eaf1;font-size:12px;overflow-wrap:anywhere}
.tr-event-details summary{display:inline-block;cursor:pointer;padding:4px 12px;border:1px solid #8c7945;border-radius:5px;color:#f4d88d;background:#161e28}
.tr-event-details p{padding:10px;border-left:2px solid #a98b46;background:#071523;line-height:1.7}
.tr-event-details a{color:#f4d88d}
.tr-event-quote-context{margin:8px 0 2px;padding:8px 10px;border-left:2px solid #d5b56d;background:#101d29;color:#d3dfeb;font-size:11px;line-height:1.6}
.tr-event-quote-context cite,.tr-countdown-citation cite,.tr-result-center [data-result-center-citation] cite{font-style:normal;color:#ffe1a0}
.tr-event-quote-context a,.tr-countdown-citation a,.tr-result-center [data-result-center-citation] a{color:#ffe1a0;text-decoration:underline}
.tr-countdown .tr-countdown-citation{grid-column:1/-1;margin:0;padding:2px 5px;font-size:10px;text-align:center;line-height:1.4}
.tr-result-center [data-result-center-citation]{margin:8px 0 0;font-size:11px;line-height:1.5}
.tr-result-center [data-result-center-citation] a{pointer-events:auto}
/* The provider's calendar is embedded intact; only its surrounding panel is sized here. */
.trade-room-page .tr-grid:has([data-investing-calendar]){grid-template-rows:minmax(300px,1fr) auto;overflow-y:auto}
.trade-room-page .tr-lower-panels:has([data-investing-calendar]){align-items:start}
.trade-room-page .tr-lower-panels .tr-events-panel:has([data-investing-calendar]){height:138px;min-height:0;overflow:hidden}
.tr-investing-calendar{flex:1;min-height:0;min-width:0;width:100%;overflow:auto;background:#fff}
.tr-investing-calendar iframe{display:block;width:100%;height:360px;border:0;background:#fff}
.tr-calendar-credit{margin:0;padding:7px 9px;color:#52606d;background:#f5f7fa;font:11px/1.5 Arial,sans-serif}
.tr-calendar-credit a{color:#06529d;text-decoration:underline}
@media(max-width:800px){
 .trade-room-page .tr-lower-panels .tr-events-panel:has([data-investing-calendar]){height:112px}
 .trade-room-page .tr-grid:has([data-investing-calendar]){grid-template-rows:minmax(320px,1fr) auto minmax(190px,.55fr)}
 .trade-room-page .tr-lower-panels:has([data-investing-calendar]){grid-template-columns:minmax(0,1fr)}
}
@media(min-width:1101px){.trade-room-page .tr-lower-panels:has([data-investing-calendar]){grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr)}}
@media(max-width:1100px){.trade-room-page .tr-lower-panels:has([data-investing-calendar]){grid-template-columns:minmax(0,1fr)}}
.tr-events-panel:has([data-investing-calendar])>header{flex-wrap:wrap;flex-shrink:0}
.tr-events-panel:has([data-investing-calendar])>header h2{white-space:nowrap}
/* Reuse the shared top-page header and allocate the remaining viewport to the room. */
body.trade-room-page{display:flex;flex-direction:column;height:100dvh}
.trade-room-page>.site-header{display:flex;flex-shrink:0}
.trade-room-page>main{flex:1;min-height:0;height:auto;overflow:hidden}
.trade-room-page .tr-shell{position:relative;height:100%;min-height:0}
.trade-room-page>.site-header.site-header--menu-only{position:relative!important;inset:auto;flex:0 0 auto}
.trade-room-page .tr-presence{z-index:20}

/* Keep chart controls inside the chart instead of reserving a header row. */
.trade-room-page .tr-chart-panel{border:0;border-radius:0;background:transparent;box-shadow:none;}
.trade-room-page .tr-chart-panel .tr-chart{height:100%;min-height:0;}
.trade-room-page .tr-chart-panel .tr-chart-fullscreen{position:absolute;z-index:5;top:44px;right:8px;padding:3px 7px;min-height:26px;border:0;border-radius:3px;background:#06111db3;color:#d7e8f5;font-size:11px;line-height:20px;}
.trade-room-page .tr-chart-panel .tr-chart-fullscreen:hover{background:#18344ce6;color:#fff;}
.trade-room-page .tr-chart-panel .tr-chart-fullscreen:focus-visible{outline:2px solid #30d5dc;outline-offset:2px;}

.tr-lower-panels{position:relative}
.tr-row-resizer{position:absolute;z-index:30;left:0;right:0;top:-12px;height:12px;cursor:row-resize;touch-action:none}
.tr-row-resizer:before{content:"";position:absolute;left:calc(50% - 28px);top:4px;width:56px;height:3px;border-radius:3px;background:#38758b;opacity:.6}
.tr-row-resizer:hover:before,.tr-row-resizer:focus-visible:before,.tr-row-resizer.is-dragging:before{background:#30d5dc;opacity:1;box-shadow:0 0 8px #30d5dc88}
.trade-room-page.tr-row-dragging{cursor:row-resize;user-select:none}
.trade-room-page.tr-row-dragging iframe{pointer-events:none}
@media(min-width:801px){.trade-room-page:not(.tr-fullscreen) .tr-grid{grid-template-rows:minmax(0,1fr) var(--tr-lower-height,138px)}}
@media(max-width:800px){.trade-room-page:not(.tr-fullscreen) .tr-grid{grid-template-rows:minmax(180px,var(--tr-chart-height,320px)) 112px minmax(190px,.55fr)}.trade-room-page:not(.tr-fullscreen) .tr-chart-panel{min-height:180px}.tr-row-resizer{top:-8px;height:12px}}

/* Chart fullscreen uses the available viewport. */
.trade-room-page.tr-fullscreen .tr-grid{grid-template-rows:minmax(0,1fr);overflow:hidden}

/* Portrait phones: reserve visible space for chat while keeping the chart usable. */
@media (max-width:800px){
 .trade-room-page:not(.tr-fullscreen) .tr-symbols{flex:0 0 52px;height:52px;grid-auto-columns:116px;gap:5px;padding:4px 0 5px}
 .trade-room-page:not(.tr-fullscreen) .tr-symbol-card{height:42px;padding:4px 6px}
 .trade-room-page:not(.tr-fullscreen) .tr-symbol-card header b{font-size:10px;white-space:nowrap}
 .trade-room-page:not(.tr-fullscreen) .tr-symbol-card header>span{font-size:7px;padding:2px}
 .trade-room-page:not(.tr-fullscreen) .tr-symbol-card strong{margin:2px 0 0;font-size:13px}
 .trade-room-page:not(.tr-fullscreen) .tr-card-market svg{height:26px}
 .trade-room-page:not(.tr-fullscreen) .tr-grid{overflow:hidden;grid-template-rows:minmax(180px,var(--tr-chart-height,320px)) 82px minmax(0,1fr);gap:5px;padding-top:3px}
 .trade-room-page:not(.tr-fullscreen) .tr-lower-panels{min-height:0;gap:5px}
 .trade-room-page:not(.tr-fullscreen) .tr-lower-panels .tr-poll-panel,
 .trade-room-page:not(.tr-fullscreen) .tr-lower-panels .tr-events-panel{height:82px;min-height:0}
 .trade-room-page:not(.tr-fullscreen) .tr-poll-panel>header,
 .trade-room-page:not(.tr-fullscreen) .tr-events-panel>header{min-height:23px;height:23px;padding:0 5px}
 .trade-room-page:not(.tr-fullscreen) .tr-poll-panel>header h2,
 .trade-room-page:not(.tr-fullscreen) .tr-events-panel>header h2{font-size:10px;line-height:1.1}
 .trade-room-page:not(.tr-fullscreen) .tr-poll-bars{padding:0 6px}
 .trade-room-page:not(.tr-fullscreen) .tr-poll-stacked{height:7px}
 .trade-room-page:not(.tr-fullscreen) .tr-poll-results{padding:5px 2px 2px}
 .trade-room-page:not(.tr-fullscreen) .tr-poll-results button{font-size:9px}
 .trade-room-page:not(.tr-fullscreen) .tr-poll-results strong{font-size:17px}
 .trade-room-page:not(.tr-fullscreen) .tr-poll-results .tr-market-animal{width:23px;height:21px;flex-basis:23px}
 .trade-room-page:not(.tr-fullscreen) .tr-poll-results .tr-vote-icon{font-size:15px}
 .trade-room-page:not(.tr-fullscreen) .tr-events-panel{overflow-y:auto}
 .trade-room-page:not(.tr-fullscreen) .tr-countdown{padding:3px 5px;gap:0 4px}
 .trade-room-page:not(.tr-fullscreen) .tr-countdown small{font-size:10px;line-height:1.2}
 .trade-room-page:not(.tr-fullscreen) .tr-countdown strong{font-size:18px}
 .trade-room-page:not(.tr-fullscreen) .tr-countdown span{font-size:8px}
 .trade-room-page:not(.tr-fullscreen) .tr-chat-panel{height:100%;min-height:0}
 .trade-room-page:not(.tr-fullscreen) .tr-messages{flex:1;min-height:0;max-height:none;overflow-y:auto}
 .trade-room-page:not(.tr-fullscreen) .tr-chat-panel>header{min-height:30px;flex:0 0 30px}
 .trade-room-page:not(.tr-fullscreen) .tr-chat-filters{min-height:29px;box-sizing:border-box}
 .trade-room-page:not(.tr-fullscreen) .tr-history{min-height:31px;box-sizing:border-box}
 .trade-room-page:not(.tr-fullscreen) .tr-composer{display:grid;grid-template-columns:minmax(0,1fr) 42px 50px;align-items:stretch;gap:4px;padding:5px}
 .trade-room-page:not(.tr-fullscreen) .tr-composer .tr-reply-preview,
 .trade-room-page:not(.tr-fullscreen) .tr-composer .tr-attachment-preview{grid-column:1/-1}
 .trade-room-page:not(.tr-fullscreen) .tr-composer textarea{grid-column:1;grid-row:auto;min-width:0;height:42px;min-height:42px}
 .trade-room-page:not(.tr-fullscreen) .tr-composer>div:last-child{display:contents}
 .trade-room-page:not(.tr-fullscreen) .tr-image-button{display:grid;place-items:center;min-width:0;padding:0;font-size:10px}
 .trade-room-page:not(.tr-fullscreen) .tr-composer button[type=submit]{min-width:0;padding:0 4px;font-size:12px}
 .trade-room-page:not(.tr-fullscreen) #tr-char-counter{display:none}
}
@media (max-width:420px){
 .trade-room-page:not(.tr-fullscreen) .tr-symbols{flex-basis:39px;height:39px;grid-auto-columns:88px;padding:3px 0 4px}
 .trade-room-page:not(.tr-fullscreen) .tr-symbol-card{height:31px;padding:0 5px}
 .trade-room-page:not(.tr-fullscreen) .tr-symbol-card header{height:100%;align-items:center;justify-content:center}
 .trade-room-page:not(.tr-fullscreen) .tr-symbol-card header b{font-size:10px}
 .trade-room-page:not(.tr-fullscreen) .tr-symbol-card header>span,
 .trade-room-page:not(.tr-fullscreen) .tr-card-market{display:none}
 .trade-room-page:not(.tr-fullscreen) .tr-symbol-card i{position:absolute;top:1px;right:1px;min-width:10px;height:11px;padding:0 2px;font-size:7px}
 .trade-room-page:not(.tr-fullscreen) .tr-grid{grid-template-rows:minmax(180px,var(--tr-chart-height,320px)) 76px minmax(0,1fr)}
 .trade-room-page:not(.tr-fullscreen) .tr-lower-panels .tr-poll-panel,
 .trade-room-page:not(.tr-fullscreen) .tr-lower-panels .tr-events-panel{height:76px}
 .trade-room-page:not(.tr-fullscreen) .tr-event-controls{flex-wrap:nowrap;gap:2px}
 .trade-room-page:not(.tr-fullscreen) .tr-event-controls [data-open-schedule],
 .trade-room-page:not(.tr-fullscreen) .tr-event-controls label{font-size:0;white-space:nowrap}
 .trade-room-page:not(.tr-fullscreen) .tr-event-controls [data-open-schedule]::after{content:"一覧";font-size:9px}
 .trade-room-page:not(.tr-fullscreen) .tr-event-controls label input{width:13px;height:13px}
 .trade-room-page:not(.tr-fullscreen) .tr-event-controls [data-open-schedule]{height:20px;min-height:0;padding:0 3px;line-height:18px}
 .trade-room-page:not(.tr-fullscreen) .tr-poll-results{padding-top:4px}
 .trade-room-page:not(.tr-fullscreen) .tr-poll-results strong{font-size:16px}
}
@media (max-width:800px) and (max-height:560px){
 .trade-room-page:not(.tr-fullscreen) .tr-grid{overflow-y:auto;grid-template-rows:minmax(180px,var(--tr-chart-height,180px)) 76px minmax(220px,1fr)}
 .trade-room-page:not(.tr-fullscreen) .tr-chat-panel{min-height:220px}
}

/* The chat can take the complete device viewport independently of the chart. */
.trade-room-page .tr-chat-panel>header{min-height:42px;height:42px;flex:0 0 42px;padding:0 10px}
.trade-room-page .tr-chat-panel>header h2{margin:0;font-size:15px;white-space:nowrap}
.trade-room-page .tr-chat-tools{align-items:center;gap:5px}
.trade-room-page .tr-chat-tools button{min-height:27px;padding:3px 7px;font-size:11px;white-space:nowrap}
.trade-room-page .tr-chat-tools [data-chat-fullscreen]{border-color:#285977;color:#d6eaff}
.trade-room-page .tr-chat-tools [data-chat-fullscreen][aria-pressed="true"]{border-color:#d8ac48;color:#ffdf8b}
.trade-room-page.tr-chat-fullscreen>.site-header,
.trade-room-page.tr-chat-fullscreen .tr-title,
.trade-room-page.tr-chat-fullscreen .tr-room-notice,
.trade-room-page.tr-chat-fullscreen .tr-symbols,
.trade-room-page.tr-chat-fullscreen .tr-presence,
.trade-room-page.tr-chat-fullscreen .tr-chart-panel,
.trade-room-page.tr-chat-fullscreen .tr-lower-panels,
.trade-room-page.tr-chat-fullscreen .tr-column-resizer,
.trade-room-page.tr-chat-fullscreen .tr-chat-reopen,
.trade-room-page.tr-chat-fullscreen .home-video-ad-rail{display:none!important}
.trade-room-page.tr-chat-fullscreen .tr-chat-panel{position:fixed!important;inset:0!important;z-index:12000;width:100vw!important;height:100dvh!important;max-height:none!important;min-height:0!important;margin:0;border:0;border-radius:0;box-sizing:border-box;display:flex!important;flex-direction:column;overflow:hidden}
.trade-room-page.tr-chat-fullscreen .tr-messages{flex:1;min-height:0;max-height:none;overflow-y:auto}
.trade-room-page.tr-chat-fullscreen .tr-composer{padding-bottom:max(5px,env(safe-area-inset-bottom))}
@media(max-width:800px){
 .trade-room-page:not(.tr-chat-fullscreen) .tr-chat-panel>header{min-height:28px;height:28px;flex-basis:28px;padding:0 7px}
 .trade-room-page .tr-chat-panel>header h2{font-size:12px}
 .trade-room-page .tr-chat-tools{gap:3px}
 .trade-room-page .tr-chat-tools button{min-height:23px;padding:2px 5px;font-size:10px}
 .trade-room-page.tr-chat-fullscreen .tr-chat-panel>header{min-height:34px;height:34px;flex-basis:34px;padding:0 8px}
}
