/* Research Desk: compact, keyboard-readable Korean trading-session monitor */
.market-session{
  --trade-tone:#95a9c1;--trade-glow:#36516a;
  position:relative;isolation:isolate;overflow:hidden;
  background:linear-gradient(125deg,#13283a 0%,#101e31 46%,#131c30 100%);
  border:1px solid #355267;border-radius:17px;margin:0 0 18px;
  padding:19px 21px 16px;box-shadow:0 16px 40px #02071355;
}
.market-session::before{content:"";position:absolute;right:-55px;top:-95px;width:370px;height:245px;border-radius:50%;background:radial-gradient(ellipse,#4dbfac16,transparent 70%);z-index:-1;pointer-events:none}
.market-session[data-phase="open"]{--trade-tone:#82ecc9;--trade-glow:#276b65}
.market-session[data-phase="limited"]{--trade-tone:#ffd18c;--trade-glow:#755538}
.market-session[data-phase="auction"]{--trade-tone:#c8afff;--trade-glow:#614e8a}
.market-session[data-phase="waiting"]{--trade-tone:#93bdf7;--trade-glow:#375e86}
.market-session[data-phase="unknown"]{--trade-tone:#ffd18c;--trade-glow:#755538}
.trade-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:15px}
.trade-heading{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:840;letter-spacing:1.4px;color:#b1d7df}
.trade-heading .trade-orbit{width:20px;height:20px;border:1px solid #4f8b90;border-radius:7px;display:grid;place-items:center;color:#7ce0d0;font-size:13px}
.trade-time{display:flex;align-items:baseline;gap:9px;font-variant-numeric:tabular-nums}
.trade-date{font-size:11px;color:#94abbf}
.trade-clock{color:#e0f9ff;font-family:ui-monospace,Consolas,monospace;font-size:16px;font-weight:790;letter-spacing:.45px}
.trade-main{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:12px}
.trade-panel{border:1px solid #2a465b;background:#07172766;border-radius:13px;padding:17px 18px;min-width:0}
.trade-panel-primary{background:linear-gradient(120deg,#102b35,#10202f);border-color:var(--trade-glow)}
.trade-panel-label{font-size:10px;color:#9bb4c7;font-weight:790;letter-spacing:1.2px}
.trade-large{display:flex;align-items:center;gap:10px;margin:9px 0 5px;color:var(--trade-tone);font-size:clamp(19px,2vw,26px);font-weight:850;letter-spacing:-.7px;line-height:1.3}
.trade-light{flex:none;height:10px;width:10px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px currentColor22,0 0 13px currentColor55}
.trade-explain{font-size:11px;color:#b3c7d8;line-height:1.65;min-height:18px}
.trade-divider{height:1px;background:#29475b;margin:15px 0 12px}
.trade-next-label{font-size:10px;font-weight:760;color:#8cb0bc;letter-spacing:.45px}
.trade-next-line{display:flex;align-items:baseline;flex-wrap:wrap;justify-content:space-between;gap:6px;margin:6px 0 4px}
.trade-next-when{font-size:16px;font-weight:840;font-variant-numeric:tabular-nums;color:#eef8ff}
.trade-countdown{font-size:11px;color:#89dbc8;font-weight:780;font-variant-numeric:tabular-nums}
.trade-next-sub{font-size:10px;color:#91aabc;line-height:1.6}
.trade-secondary{--stock-tone:#8fa8c3;--stock-glow:#405b74}
.trade-secondary[data-phase="open"]{--stock-tone:#8be7ca;--stock-glow:#235d55}
.trade-secondary[data-phase="limited"]{--stock-tone:#ffca85;--stock-glow:#775432}
.trade-secondary[data-phase="auction"]{--stock-tone:#c3b0ff;--stock-glow:#5b4b81}
.trade-secondary[data-phase="waiting"]{--stock-tone:#91bdf3;--stock-glow:#3a5a7e}
.trade-secondary[data-phase="unknown"]{--stock-tone:#ffca85;--stock-glow:#775432}
.trade-secondary .trade-large{font-size:clamp(17px,1.9vw,23px);color:var(--stock-tone)}
.trade-secondary{border-color:var(--stock-glow)}
.trade-secondary .trade-divider{margin:15px 0 13px}
.trade-limit-note{font-size:11px;color:#b5c6d4;line-height:1.8}
.trade-limit-note strong{color:#ffd18c;font-weight:800}
.trade-timeline{border-top:1px solid #2c4256;padding-top:15px;margin-top:15px}
.trade-timeline-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;color:#9db3c7;font-size:10px;font-weight:750;margin-bottom:11px}
.trade-legend{display:flex;gap:10px;flex-wrap:wrap;font-size:10px;color:#a8bbcc;font-weight:600}
.trade-legend span{display:inline-flex;align-items:center;gap:5px}
.trade-legend i{display:inline-block;height:7px;width:7px;border-radius:3px}
.trade-legend .l-open{background:#59bd9f}.trade-legend .l-auction{background:#9c90dc}.trade-legend .l-close{background:#f0b96b}.trade-legend .l-after{background:#638bc9}
.trade-timeline-row{display:grid;grid-template-columns:63px minmax(0,1fr);align-items:center;gap:11px;margin:11px 0}
.trade-timeline-label{font-size:10px;font-weight:800;color:#b6cada;white-space:nowrap}
.trade-track{height:11px;position:relative;border:1px solid #31475c;background:#0b1929;border-radius:7px}
.trade-segment{position:absolute;top:0;bottom:0;border-radius:4px}
.trade-segment.open{background:#5dc9a9}
.trade-segment.auction{background:#a28bdf}
.trade-segment.limited{background:#f0b96b}
.trade-segment.after{background:#6495da}
.trade-now{position:absolute;top:-5px;bottom:-5px;width:2px;transform:translateX(-1px);background:#fff;box-shadow:0 0 9px #c8fff2;z-index:2;pointer-events:none}
.trade-now::before{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:white;top:-3px;left:-2.5px}
.trade-timeline.is-closed .trade-segment{opacity:.25}
.trade-hours{margin-left:74px;display:flex;justify-content:space-between;font-size:9px;font-variant-numeric:tabular-nums;color:#90a3b8}
.trade-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 15px;margin-top:14px;color:#819bb1;font-size:10px;line-height:1.7}
.trade-bottom a{color:#9acbc8;text-decoration:none}.trade-bottom a:hover{text-decoration:underline}
@media(max-width:850px){.trade-main{grid-template-columns:1fr}.trade-panel{padding:15px}.trade-large{font-size:22px}.trade-secondary .trade-large{font-size:20px}}
@media(max-width:760px){.market-session{padding:14px 13px}.trade-head{margin-bottom:10px}.trade-time{gap:6px}.trade-clock{font-size:13px}.trade-heading{letter-spacing:.7px}.trade-panel{padding:13px}.trade-timeline-label{font-size:10px}.trade-legend{gap:7px}.trade-hours{font-size:9px}.trade-bottom{display:block}}
@media(max-width:375px){.trade-date{display:none}.trade-timeline-row{grid-template-columns:51px minmax(0,1fr);gap:7px}.trade-hours{margin-left:58px}}
@media(prefers-reduced-motion:reduce){.market-session *{animation:none!important;transition:none!important}}
