/* The member experience is a live plaza; market research opens from the plaza. */
:root { --room-bg:#15221e; --room-panel:#15241ff2; --room-ink:#edf3ec; --room-muted:#b1c2b4; --room-line:#405447; --room-accent:#c5ee89; }
body.is-guest .legal-disclaimer-footer { display:block; }
.is-member[data-view="lounge"] .wall-toggle-tab-bar { width:auto; }
.is-member[data-view="lounge"] .ticker-item { display:grid; grid-template-columns:auto auto; gap:3px 5px; }
.is-member[data-view="lounge"] .ticker-item .t-name { grid-column:1/-1; color:#bccdb8; font-size:9px; white-space:nowrap; }
.is-member[data-view="lounge"] .ticker-item .t-val { color:#e9f1e3; font-size:12px; }
.is-member[data-view="lounge"] .ticker-item .t-chg { font-size:10px; white-space:nowrap; }
.board-empty { padding:16px; color:#c5d7bd; font-size:12px; line-height:1.8; grid-column:1/-1; }
.is-member[data-view="lounge"] .stock-screen-cell { height:86px; }
.is-member[data-view="market"] .stock-screen-cell { height:auto; }
.is-member[data-view="lounge"] #auditorium-screen-wrapper .wall-notice-banner { text-align:left; padding-right:78px; }
.is-member { min-height:100dvh; background:var(--room-bg); color:var(--room-ink); }
.is-member[data-view="lounge"] { height:100dvh; overflow:hidden; }
.is-member .top-control-bar { position:fixed; top:16px; left:20px; right:20px; width:auto; max-width:none; margin:0; min-height:64px; padding:10px 18px; border:1px solid var(--room-line); border-radius:12px; color:var(--room-ink); background:var(--room-panel); box-shadow:0 6px 24px #0002; z-index:30; gap:12px 20px; }
.is-member .brand-box strong { color:var(--room-ink); font-size:26px; }.is-member .stock-search-form { height:42px; max-width:380px; background:#21352b; border-color:var(--room-line); }.is-member .stock-search-form input { color:var(--room-ink); font-size:14px; }.is-member .stock-search-form input::placeholder { color:var(--room-muted); }.is-member .stock-search-form button { background:var(--room-accent); color:#17251f; height:32px; }
.is-member .market-switch-group { background:#21352b; border-color:var(--room-line); }.is-member .mode-btn { color:var(--room-muted); padding:8px 12px; }.is-member .mode-btn.active { background:var(--room-accent); color:#17251f; }.is-member .user-profile-pill { background:#21352b; border-color:var(--room-line); }.is-member .user-name { color:var(--room-ink); max-width:110px; text-overflow:ellipsis; overflow:hidden; white-space:nowrap; }.is-member .user-tier-badge { display:none; }.is-member .user-dropdown-menu { background:#17251f; border-color:var(--room-line); min-width:245px; }.is-member .dropdown-item { min-height:44px; font-size:13px; }
.is-member #workspace-shell { position:relative; display:block; max-width:none; margin:0; padding:0; z-index:5; }
.is-member[data-view="lounge"] #workspace-shell { position:fixed; inset:0; pointer-events:none; }
body.is-member .workspace-heading { position:fixed; top:96px; left:28px; right:28px; height:40px; display:flex; flex-direction:row; align-items:center; margin:0; padding:0; background:none!important; z-index:20; pointer-events:auto; }
body.is-member .workspace-heading .eyebrow { display:none; }body.is-member .workspace-heading h1 { font-size:18px; font-weight:600; letter-spacing:-.5px; color:var(--room-ink); }.is-member #workspace-status { margin-top:4px; font-size:11px; color:var(--room-muted); }
.is-member .workspace-tabs { background:#21352b; border-color:var(--room-line); padding:3px; }.is-member .workspace-tabs button { color:var(--room-muted); padding:9px 16px; font-size:13px; min-height:40px; }.is-member .workspace-tabs button.active,.is-member .workspace-tabs button[aria-pressed="true"] { color:#17251f; background:var(--room-accent); box-shadow:none; }
.is-member[data-view="lounge"] #webgl-container,.is-member[data-view="lounge"] #ant-labels-layer { display:block; }
.is-member #webgl-container canvas { display:block; width:100%; height:100%; touch-action:none; }
.is-member[data-view="lounge"] #auditorium-screen-wrapper { position:fixed; top:158px; left:50%; transform:translateX(-50%); width:min(860px,calc(100vw - 56px)); min-height:0; max-height:none; padding:12px; display:flex; visibility:visible; pointer-events:auto; background:#12221eef; border:1px solid #4a6954; border-radius:12px; box-shadow:0 12px 35px #0003; z-index:6; }
.is-member[data-view="lounge"] #auditorium-screen-wrapper .wall-notice-banner { display:block; border:0; color:var(--room-muted); padding:0 0 10px; min-height:30px; font-size:11px; }.is-member[data-view="lounge"] .wall-notice-banner strong { color:var(--room-accent); font-size:12px; margin-right:10px; }.is-member[data-view="lounge"] .wall-notice-banner .watch-hint { display:none; }
.is-member[data-view="lounge"] .wall-ticker-bar { padding:8px 4px; margin-bottom:8px; gap:10px; border:0; background:#20382a; min-height:0; border-radius:6px; flex-wrap:nowrap; }.is-member[data-view="lounge"] .ticker-item { min-width:0; flex:1; padding:0 10px; font-size:10px; }.is-member[data-view="lounge"] .ticker-item .t-val { font-size:12px; }.is-member[data-view="lounge"] .ticker-clock { display:none; }
.is-member[data-view="lounge"] #auditorium-screen-wrapper .wall-main-board { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:auto; gap:8px; max-height:none; padding:0; box-shadow:none; }
.is-member[data-view="lounge"] .stock-screen-cell { background:#21372b; border:1px solid #42604b; color:var(--room-ink); padding:10px 12px; min-height:84px; border-radius:7px; box-shadow:none; }.is-member[data-view="lounge"] .stock-screen-cell:hover { transform:none; background:#2b4635; border-color:var(--room-accent); }.is-member[data-view="lounge"] .cell-top-row { display:block; margin-bottom:6px; }.is-member[data-view="lounge"] .cell-title-box { gap:6px; }.is-member[data-view="lounge"] .cell-name { font-size:13px; color:var(--room-ink); }.is-member[data-view="lounge"] .cell-code { color:#bbcfba; }.is-member[data-view="lounge"] .cell-rank { font-size:9px; background:none; color:var(--room-accent); border:0; padding:0; }.is-member[data-view="lounge"] .cell-price-main { font-size:19px; color:var(--room-ink); }.is-member[data-view="lounge"] .cell-chg-text { display:inline; font-size:11px; margin:0 0 0 8px; }.is-member[data-view="lounge"] .cell-price-row { display:block; }
.is-member[data-view="lounge"] .cell-score-badge,.is-member[data-view="lounge"] .cell-badges-wrap,.is-member[data-view="lounge"] .cell-canvas-wrap,.is-member[data-view="lounge"] .cell-footer-reason { display:none; }
.is-member[data-view="lounge"] .wall-toggle-tab-bar { position:absolute; top:7px; right:8px; display:block; padding:0; margin:0; background:none; border:0; box-shadow:none; }.is-member[data-view="lounge"] .screen-fold-toggle { min-height:30px; padding:4px 9px; color:var(--room-ink); background:#2b4435; border:1px solid #56715a; border-radius:6px; font-size:11px; }.is-member .fold-key-pill { display:none; }
.is-member[data-view="lounge"] #auditorium-screen-wrapper.is-collapsed { width:min(500px,calc(100vw - 56px)); padding:10px 12px; }.is-member[data-view="lounge"] #auditorium-screen-wrapper.is-collapsed .wall-ticker-bar,.is-member[data-view="lounge"] #auditorium-screen-wrapper.is-collapsed .wall-main-board,.is-member[data-view="lounge"] #auditorium-screen-wrapper.is-collapsed .wall-mini-ticker { display:none; }.is-member[data-view="lounge"] #auditorium-screen-wrapper.is-collapsed .wall-notice-banner { display:block!important; padding:0; min-height:24px; }.is-member[data-view="lounge"] .member-announcement { max-height:120px; overflow:auto; color:#17251f; margin:0 0 8px; }
.stage-help,.stage-controls { display:none; }.is-member[data-view="lounge"] .stage-help { display:block; position:fixed; bottom:110px; left:28px; color:#edf3ec; font-size:12px; background:#15241fdb; border:1px solid #56715a; border-radius:7px; padding:8px 12px; pointer-events:none; max-width:260px; z-index:7; }
.is-member[data-view="lounge"] .stage-controls { display:flex; position:fixed; bottom:24px; left:28px; right:28px; align-items:flex-end; justify-content:flex-start; pointer-events:none; z-index:9; }
.stage-actions { display:flex; align-items:center; gap:10px; pointer-events:auto; }.stage-actions button { min-height:48px; border:1px solid #648068; background:#1c3329; color:#eaf2e7; padding:10px 16px; border-radius:9px; font-size:18px; touch-action:manipulation; }.stage-actions button span { font-size:12px; margin-left:5px; }.stage-actions button:active { background:#395c42; }.keyboard-hint { color:#e4f1df; font-size:12px; padding:10px 12px; background:#15241fe6; border-radius:7px; }.move-pad { display:none; }
.is-member #my-ant-panel { display:none!important; }
body.is-member .chat-dock-wrapper { position:fixed; right:24px; bottom:24px; left:auto; top:auto; margin:0; width:310px; height:230px; max-height:45dvh; min-height:0; transform:none; display:none; border:1px solid var(--room-line); border-radius:12px; background:var(--room-panel); z-index:20; pointer-events:auto; box-shadow:0 10px 35px #0003; }.is-member[data-chat-open="true"] .chat-dock-wrapper { display:flex; }.is-member .chat-window { min-height:0; background:#172b22; color:#e9f1e4; }.is-member .chat-heading { padding:10px 14px; border-color:var(--room-line); color:var(--room-ink); }.is-member .chat-heading h2 { font-size:13px; }.is-member .chat-messages { padding:8px 14px; color:var(--room-ink); }.is-member .chat-messages:empty::after { padding:10px 6px; color:var(--room-muted); }.is-member .chat-msg { color:#e4eee0; font-size:13px; padding:7px 0; border-color:#304b38; }.is-member .c-sender { color:var(--room-accent); }.is-member .c-time { color:var(--room-muted); }.is-member .chat-bottom-bar { background:#233b2b; padding:8px; gap:0; }.is-member .bottom-left-pills { display:none; }.is-member .chat-input-form { background:#f4f6ef; }.is-member .chat-input-form input { color:#17251f; font-size:16px; padding:8px; }.is-member .chat-send-btn { min-width:42px; min-height:42px; }
.is-member[data-view="lounge"] .legal-disclaimer-footer { display:none; }
.is-member[data-view="market"] #workspace-shell { padding:160px 28px 24px; max-width:1280px; margin:auto; }.is-member[data-view="market"] #auditorium-screen-wrapper { position:relative; display:flex; visibility:visible; width:100%; min-height:0; margin:0; padding:20px; background:#f4f5ef; color:#17251f; border-radius:12px; pointer-events:auto; transform:none; left:auto; top:auto; }.is-member[data-view="market"] .wall-main-board { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.is-member[data-view="market"] .stock-screen-cell { min-height:280px; padding:20px; }.is-member[data-view="market"] .cell-name { font-size:17px; }.is-member[data-view="market"] .cell-price-main { font-size:27px; }.is-member[data-view="market"] .cell-canvas-wrap,.is-member[data-view="market"] .cell-chart-canvas { height:120px; }.is-member[data-view="market"] .cell-footer-reason { font-size:11px; line-height:1.6; }.is-member[data-view="market"] .cell-code,.is-member[data-view="market"] .val-mini-tag { font-size:11px; }.is-member[data-view="market"] .smc-mini-tag { font-size:10px; }.is-member[data-view="market"] .wall-toggle-tab-bar { display:none; }.is-member[data-view="market"] .legal-disclaimer-footer { padding:24px; color:var(--room-muted); }.is-member[data-view="market"] .legal-disclaimer-footer a,.is-member[data-view="market"] .footer-links strong { color:var(--room-ink); }
/* A full-size chart uses CSS pixels at native device resolution, with research in a separate pane. */
#detail-modal { padding:18px; background:#091710de; backdrop-filter:blur(6px); }
#detail-modal>.modal-card { width:min(1500px,100%); height:min(900px,calc(100dvh - 36px)); max-height:none; border:1px solid #48634f; background:#14251c; color:#e4eee1; overflow:hidden; }
#detail-modal .modal-header { min-height:92px; padding:16px 20px; flex-wrap:wrap; gap:10px 16px; background:#1a3023; border-color:#3c5941; flex-shrink:0; }
#detail-modal .modal-title-group { flex-wrap:wrap; gap:7px; flex:1; min-width:0; }#detail-modal .modal-title-group h2 { flex-basis:100%; font-size:21px; }#detail-modal .modal-smc-tag,#detail-modal .modal-sector { display:none; }#detail-modal .modal-rank-badge { font-size:10px; }#detail-modal .modal-price-group { margin:0; display:block; }#detail-modal .m-price { font-size:25px; }#detail-modal .m-change { font-size:13px; margin-top:4px; }#detail-modal .modal-header-actions { margin-left:auto; display:flex; align-items:center; gap:8px; }#detail-modal .modal-header-actions>button { min-height:44px; }#detail-modal .modal-close-btn { width:44px; height:44px; background:#304d37; color:white; }#detail-modal .btn-share-card { font-size:12px; }
.detail-view-tabs { display:none; }
#detail-modal .modal-body { flex:1; min-height:0; display:grid; grid-template-columns:minmax(0,1fr) 330px; overflow:hidden; gap:18px; padding:16px; }
#detail-modal .modal-chart-col { min-width:0; min-height:0; display:flex; flex-direction:column; gap:10px; }#detail-modal .chart-toolbar { background:none; padding:0; border:0; flex-wrap:wrap; gap:8px; }#detail-modal .chart-ranges { display:flex; gap:5px; }#detail-modal .chart-range-btn,#detail-modal .chart-layer-controls button { background:#233b2b; color:#d2e1cd; border:1px solid #48634f; border-radius:7px; padding:8px 12px; min-height:40px; font-size:12px; }#detail-modal button[aria-pressed="true"] { background:var(--room-accent); color:#17251f; border-color:var(--room-accent); }#chart-view-label { font-size:11px; color:#b7c8b3; }
.chart-layer-controls { display:flex; align-items:center; flex-wrap:wrap; gap:6px; font-size:11px; color:#b7c8b3; }.chart-layer-controls>span { margin-right:4px; }.chart-readout { font:12px/1.8 'DM Sans','Noto Sans KR',sans-serif; color:#d5e4d1; min-height:24px; padding:4px 0; font-variant-numeric:tabular-nums; }
#detail-modal .detail-canvas-wrap { flex:1; min-height:240px; border-color:#405447; background:#101c19; border-radius:8px; }#detail-smc-canvas { position:absolute; inset:0; width:100%; height:100%; touch-action:none; cursor:crosshair; }#detail-modal .chart-zoom-controls { top:auto; right:12px; bottom:36px; background:#21352bea; border-color:#526c56; padding:3px; box-shadow:none; }#detail-modal .chart-zoom-controls button { min-width:40px; min-height:36px; color:#e7efdf; font-size:14px; border:0; }.chart-gesture-help { color:#b7c8b3; font-size:11px; line-height:1.6; margin:0; }
#detail-modal .trade-plan-bar { flex-shrink:0; background:#1c3023; border-color:#3e5845; padding:12px; gap:14px; grid-template-columns:repeat(3,minmax(0,1fr)); }#detail-modal .tp-label { font-size:11px; line-height:1.5; color:#c4d3bd; }#detail-modal .tp-val { font-size:13px; overflow-wrap:anywhere; }#detail-modal .modal-briefing-col { min-height:0; overflow-y:auto; padding-right:4px; gap:12px; }#detail-modal .why-card,#detail-modal .score-hero-box { background:#1c3023; border-color:#3e5845; }#detail-modal .why-card { padding:16px; }#detail-modal .why-card p,#detail-modal .why-card li { font-size:13px; line-height:1.9; }#detail-modal .score-hero-box { padding:12px; gap:10px; }#detail-modal .total-score-circle { width:64px; height:64px; }
@media(max-width:1050px) { .is-member .top-control-bar { gap:10px; }.is-member .brand-box strong { font-size:23px; }.is-member .stock-search-form { max-width:300px; }.is-member .user-name { max-width:80px; }#detail-modal .modal-body { grid-template-columns:minmax(0,1fr) 280px; gap:12px; } }
@media(max-width:800px) {
  .is-member .top-control-bar { top:8px; left:10px; right:10px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; padding:8px 10px; min-height:0; }.is-member .brand-box { grid-column:1; grid-row:1; }.is-member .user-auth-wrap { grid-column:2; grid-row:1; margin:0; justify-self:end; }.is-member .stock-search-form { order:initial; grid-column:1; grid-row:2; max-width:none; height:40px; width:100%; margin:0; }.is-member .stock-search-form input { min-width:0; padding:0 9px; font-size:16px; }.is-member .stock-search-form button { margin:3px; padding:0 8px; font-size:11px; height:32px; }.is-member .market-switch-group { grid-column:2; grid-row:2; margin:0; height:40px; padding:3px; gap:0; }.is-member .mode-btn { min-width:34px; font-size:11px; padding:7px 5px; }.is-member .user-profile-pill { min-height:34px; padding:5px 8px; }.is-member .user-name { max-width:100px; font-size:12px; }body.is-member .workspace-heading { top:120px; left:16px; right:16px; height:32px; align-items:center; gap:0; }body.is-member .workspace-heading h1 { font-size:15px; }#workspace-status { max-width:calc(100vw - 32px); }.is-member #workspace-status { font-size:10px; margin-top:3px; }
  .is-member .workspace-tabs { position:fixed; left:0; right:0; bottom:0; width:100%; display:flex; border-radius:0; padding:7px 12px calc(7px + env(safe-area-inset-bottom)); gap:8px; border:0; border-top:1px solid var(--room-line); background:#13251bed; z-index:40; }.is-member .workspace-tabs button { flex:1; min-height:44px; padding:8px 4px; font-size:12px; }
  .is-member[data-view="lounge"] #auditorium-screen-wrapper { top:168px; left:12px; right:12px; width:auto; transform:none; padding:9px; border-radius:9px; display:flex; }.is-member[data-view="lounge"] #auditorium-screen-wrapper .wall-notice-banner { font-size:10px; padding:0 0 8px; min-height:28px; }.is-member[data-view="lounge"] .board-caption { display:none; }.is-member[data-view="lounge"] .wall-ticker-bar { display:none; }.is-member[data-view="lounge"] #auditorium-screen-wrapper .wall-main-board { display:flex; flex-wrap:nowrap; overflow-x:auto; scroll-snap-type:x mandatory; gap:8px; padding-bottom:4px; }.is-member[data-view="lounge"] .stock-screen-cell { flex:0 0 154px; min-height:90px; height:90px; padding:9px 10px; scroll-snap-align:start; }.is-member[data-view="lounge"] .cell-name { font-size:12px; }.is-member[data-view="lounge"] .cell-code { display:none; }.is-member[data-view="lounge"] .cell-price-main { font-size:18px; }.is-member[data-view="lounge"] .cell-chg-text { display:block; margin:2px 0 0; font-size:11px; }.is-member[data-view="lounge"] #auditorium-screen-wrapper.is-collapsed { left:12px; right:12px; width:auto; padding:9px 12px; }
  .is-member[data-view="lounge"] .stage-controls { bottom:calc(80px + env(safe-area-inset-bottom)); left:16px; right:16px; justify-content:space-between; }.move-pad { display:grid; grid-template-columns:repeat(3,44px); grid-template-rows:repeat(3,44px); gap:2px; padding:4px; border-radius:50%; background:#182c20bb; border:1px solid #6c8b6b; pointer-events:auto; touch-action:none; }.move-pad button { display:block; border:1px solid #72916c; border-radius:9px; background:#223e2de8; color:#e6f5dc; font-size:16px; touch-action:none; -webkit-user-select:none; user-select:none; }.move-pad button.held { background:var(--room-accent); color:#17251f; }.move-pad [data-move="up"] { grid-column:2;grid-row:1; }.move-pad [data-move="left"] { grid-column:1;grid-row:2; }.move-pad>span { grid-column:2;grid-row:2; display:grid; place-items:center; }.move-pad [data-move="right"] { grid-column:3;grid-row:2; }.move-pad [data-move="down"] { grid-column:2;grid-row:3; }.keyboard-hint { display:none; }.stage-actions { display:grid; grid-template-columns:repeat(2,52px); gap:8px; }.stage-actions button { min-height:52px; padding:5px; font-size:22px; }.stage-actions button span { display:block; font-size:10px; margin:1px 0 0; }.stage-actions #btn-stage-camera { grid-column:1/-1; min-height:38px; font-size:17px; }.stage-actions #btn-stage-camera span { display:inline; margin-left:6px; }.is-member[data-view="lounge"] .stage-help { left:16px; bottom:calc(222px + env(safe-area-inset-bottom)); font-size:10px; padding:6px 9px; max-width:190px; }
  body.is-member .chat-dock-wrapper { left:12px; right:12px; bottom:calc(76px + env(safe-area-inset-bottom)); width:auto; height:40dvh; max-height:40dvh; }.is-member[data-chat-open="true"] .stage-controls,.is-member[data-chat-open="true"] .stage-help { display:none; }
  .is-member[data-view="market"] #workspace-shell { padding:170px 12px calc(90px + env(safe-area-inset-bottom)); }.is-member[data-view="market"] #auditorium-screen-wrapper { padding:12px; }.is-member[data-view="market"] .wall-main-board { grid-template-columns:1fr; gap:16px; }.is-member[data-view="market"] .stock-screen-cell { min-height:260px; padding:16px; }.is-member[data-view="market"] .cell-top-row { flex-wrap:wrap; }.is-member[data-view="market"] .cell-badges-wrap { max-width:160px; }.is-member[data-view="market"] .cell-name { font-size:16px; }.is-member[data-view="market"] .cell-price-main { font-size:25px; }.is-member[data-view="market"] .wall-ticker-bar { padding:12px 0; }.is-member[data-view="market"] .legal-disclaimer-footer { padding-bottom:100px; }
  #detail-modal { padding:0; align-items:stretch; overflow:hidden; }#detail-modal>.modal-card { width:100%; height:100dvh; min-height:100dvh; border:0; border-radius:0; }#detail-modal .modal-header { padding:10px 12px; min-height:96px; gap:6px 8px; }#detail-modal .modal-title-group { flex:1; max-width:calc(100% - 150px); gap:4px; }#detail-modal .modal-title-group h2 { font-size:17px; overflow-wrap:anywhere; }#detail-modal .modal-rank-badge { display:none; }#detail-modal .modal-price-group { margin-right:44px; min-width:96px; text-align:right; }#detail-modal .m-price { font-size:21px; }#detail-modal .m-change { font-size:11px; }#detail-modal .modal-header-actions { margin-left:0; width:100%; justify-content:flex-start; }#detail-modal .modal-header-actions .btn-bookmark-toggle,#detail-modal .btn-share-card { padding:4px 10px; min-height:32px; font-size:11px; }#detail-modal .modal-close-btn { position:absolute; top:10px; right:8px; }#detail-modal .detail-view-tabs { display:flex; flex-shrink:0; padding:4px 12px; gap:8px; border-bottom:1px solid #405447; }#detail-modal .detail-view-tabs button { flex:1; min-height:40px; border:0; background:#233b2b; color:#d4e3cb; border-radius:6px; }
  #detail-modal .modal-body { display:flex; flex-direction:column; gap:10px; padding:10px 10px calc(10px + env(safe-area-inset-bottom)); overflow-y:auto; }#detail-modal .modal-chart-col { flex:1; min-height:360px; gap:6px; }#detail-modal .chart-toolbar { gap:5px; }#detail-modal .chart-ranges { gap:4px; }#detail-modal .chart-range-btn { min-height:44px; padding:7px 10px; }#chart-view-label { font-size:10px; }.chart-layer-controls { gap:4px; }.chart-layer-controls>span { display:none; }#detail-modal .chart-layer-controls button { padding:5px 9px; min-height:44px; font-size:12px; }.chart-readout { font-size:12px; min-height:42px; line-height:1.7; }.chart-gesture-help { font-size:10px; }#detail-modal .detail-canvas-wrap { min-height:230px; }#detail-modal .chart-zoom-controls { right:8px; bottom:34px; }#detail-modal .chart-zoom-controls button { min-width:40px; min-height:36px; font-size:14px; }#detail-modal[data-detail-view="chart"] .modal-briefing-col,#detail-modal[data-detail-view="chart"] .trade-plan-bar { display:none; }#detail-modal[data-detail-view="analysis"] .modal-chart-col { display:block; min-height:0; flex:none; }#detail-modal[data-detail-view="analysis"] .modal-chart-col>:not(.trade-plan-bar) { display:none; }#detail-modal[data-detail-view="analysis"] .modal-body { display:block; }#detail-modal[data-detail-view="analysis"] .modal-briefing-col { display:flex; overflow:visible; margin-top:16px; }#detail-modal .trade-plan-bar { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:380px) { .is-member .top-control-bar { left:6px; right:6px; padding:7px 8px; }.is-member .brand-box strong { font-size:22px; }.is-member .stock-search-form button { padding:0 5px; font-size:10px; }.is-member .mode-btn { min-width:31px; }.is-member .user-name { max-width:85px; }.is-member .workspace-tabs { gap:5px; padding-left:8px; padding-right:8px; }.is-member .workspace-tabs button { font-size:11px; }.is-member[data-view="lounge"] .stage-controls { left:10px; right:10px; } }

.is-member[data-view="lounge"] #auditorium-screen-wrapper .wall-notice-banner { padding-right:72px; }
@media(max-width:800px) { .is-member[data-view="lounge"] .board-caption { display:inline; font-size:10px; }.is-member[data-view="lounge"] .wall-main-board { scrollbar-width:thin; }.is-member[data-view="lounge"] .wall-main-board::-webkit-scrollbar { height:4px; } }
@media(max-height:550px) and (min-width:500px) {
  .is-member .top-control-bar { display:flex; top:6px; min-height:48px; padding:6px 10px; }
  .is-member .brand-box strong { font-size:22px; }.is-member .stock-search-form { max-width:240px; }
  body.is-member .workspace-heading { top:68px; }.is-member .workspace-tabs { position:fixed; top:68px; right:12px; bottom:auto; left:auto; width:auto; min-height:40px; padding:3px; border:1px solid var(--room-line); border-radius:8px; gap:3px; }
  .is-member .workspace-tabs button { min-height:34px; padding:6px 12px; font-size:11px; }
  .is-member[data-view="lounge"] #auditorium-screen-wrapper { top:112px; width:45%; left:12px; right:auto; transform:none; min-height:0; max-height:none; padding:8px; }
  .is-member[data-view="lounge"] #auditorium-screen-wrapper .wall-main-board { display:flex; overflow-x:auto; }
  .is-member[data-view="lounge"] .stock-screen-cell { flex:0 0 150px; height:66px; min-height:66px; padding:8px; }
  .is-member[data-view="lounge"] .cell-name { font-size:12px; }.is-member[data-view="lounge"] .cell-code,.is-member[data-view="lounge"] .board-caption,.is-member[data-view="lounge"] .wall-ticker-bar { display:none; }
  .is-member[data-view="lounge"] .cell-price-main { font-size:16px; }.is-member[data-view="lounge"] .cell-chg-text { display:inline; font-size:10px; margin-left:6px; }
  .is-member[data-view="lounge"] .stage-controls { bottom:12px; left:16px; right:16px; justify-content:space-between; }
  .move-pad { display:grid; grid-template-columns:repeat(3,44px); grid-template-rows:repeat(3,44px); gap:2px; padding:4px; border:1px solid #6c8b6b; border-radius:50%; background:#182c20cc; pointer-events:auto; touch-action:none; }
  .move-pad button { border:1px solid #72916c; border-radius:9px; background:#223e2de8; color:#e6f5dc; font-size:16px; touch-action:none; }.move-pad button.held { background:var(--room-accent);color:#17251f; }
  .move-pad [data-move="up"] { grid-column:2;grid-row:1; }.move-pad [data-move="left"] { grid-column:1;grid-row:2; }.move-pad>span { grid-column:2;grid-row:2;display:grid;place-items:center; }.move-pad [data-move="right"] { grid-column:3;grid-row:2; }.move-pad [data-move="down"] { grid-column:2;grid-row:3; }
  .keyboard-hint,.is-member[data-view="lounge"] .stage-help { display:none; }.stage-actions { display:flex; gap:7px; }.stage-actions button { min-height:44px; padding:7px 10px; }.stage-actions button span { display:inline;font-size:11px;margin-left:4px; }.stage-actions #btn-stage-camera { min-height:44px; }
  #detail-modal .modal-header { position:relative; min-height:60px; padding:6px 12px; }
  #detail-modal .modal-title-group { max-width:calc(100% - 190px); }#detail-modal .modal-title-group h2 { font-size:17px; }#detail-modal .modal-rank-badge { display:none; }
  #detail-modal .modal-header-actions { display:flex;position:absolute;right:8px;top:6px;width:44px; }#detail-modal .modal-header-actions>button:not(.modal-close-btn) { display:none; }#detail-modal .modal-close-btn { display:block;position:static; }#detail-modal .modal-price-group { margin-right:52px; }
  #detail-modal .detail-view-tabs { display:flex; padding:0 12px 4px;gap:6px; }#detail-modal .detail-view-tabs button { min-height:30px;flex:1;border:0;border-radius:5px;background:#233b2b;color:#d4e3cb; }
  #detail-modal .modal-body { display:flex; flex-direction:column; padding:6px 10px;gap:6px; }
  #detail-modal .modal-chart-col { flex:1;position:relative;min-height:0;gap:6px; }
  #detail-modal .chart-toolbar { min-height:34px; padding-right:220px; }#detail-modal .chart-range-btn { min-height:32px;padding:5px 10px; }
  #detail-modal .chart-layer-controls { position:absolute;top:0;right:0;display:flex;gap:4px; }#detail-modal .chart-layer-controls>span { display:none; }#detail-modal .chart-layer-controls button { min-height:32px;padding:5px 8px;font-size:11px; }
  #chart-view-label,.chart-gesture-help { display:none; }.chart-readout { min-height:20px;font-size:11px;padding:0; }
  #detail-modal .detail-canvas-wrap { min-height:140px; }
  #detail-modal[data-detail-view="chart"] .modal-briefing-col,#detail-modal[data-detail-view="chart"] .trade-plan-bar { display:none; }
  #detail-modal[data-detail-view="analysis"] .modal-body { display:block; }#detail-modal[data-detail-view="analysis"] .modal-chart-col { display:block;min-height:0; }#detail-modal[data-detail-view="analysis"] .modal-chart-col>:not(.trade-plan-bar) { display:none; }
  #detail-modal[data-detail-view="analysis"] .modal-briefing-col { display:flex;overflow:visible;margin-top:12px; }#detail-modal .trade-plan-bar { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

body.detail-is-open { overflow:hidden; }
body.is-member .chat-messages { max-height:none; }
@media(max-width:800px) {
  .is-member .workspace-tabs { bottom:var(--keyboard-inset,0px); }
  body.is-member .chat-dock-wrapper { bottom:calc(76px + env(safe-area-inset-bottom) + var(--keyboard-inset,0px)); height:min(40dvh,calc(var(--visual-height,100dvh) - 180px)); }
  .keyboard-open .stage-controls,.keyboard-open .stage-help { display:none!important; }
  .auth-modal-card .form-group input { font-size:16px; min-height:44px; background:#f6f8f2; color:#17251f; border-color:#c8d6c0; }
}
@media(pointer:coarse) and (min-width:801px) and (min-height:551px) {
  .is-member[data-view="lounge"] .stage-controls { justify-content:space-between; }
  .move-pad { display:grid; grid-template-columns:repeat(3,44px); grid-template-rows:repeat(3,44px); gap:2px; padding:4px; border:1px solid #6c8b6b; border-radius:50%; background:#182c20cc; pointer-events:auto; touch-action:none; }
  .move-pad button { border:1px solid #72916c; border-radius:9px; background:#223e2de8; color:#e6f5dc; font-size:16px; touch-action:none; }.move-pad button.held { background:var(--room-accent);color:#17251f; }
  .move-pad [data-move="up"] { grid-column:2;grid-row:1; }.move-pad [data-move="left"] { grid-column:1;grid-row:2; }.move-pad>span { grid-column:2;grid-row:2;display:grid;place-items:center; }.move-pad [data-move="right"] { grid-column:3;grid-row:2; }.move-pad [data-move="down"] { grid-column:2;grid-row:3; }.keyboard-hint { display:none; }
}

.is-member[data-chat-open="true"] .stage-controls,.is-member[data-chat-open="true"] .stage-help { display:none; }
.flat { color:#aebbb3; }
.vote-btn[aria-pressed="true"] { outline:2px solid #c5e590;outline-offset:2px; }
.structure-evidence { white-space:pre-line;border-left:3px solid #c5e590;padding:8px 12px;font-size:12px;line-height:1.8;color:#d3e0d5;background:#172b21; }
.chart-structure-status { margin:0 0 8px;font-size:11px;line-height:1.5;color:#e4c886; }.chart-structure-status[data-state="pick"] { color:#bde391; }
.price-basis { max-width:560px;margin:4px 0 0;color:#b4c1b8;font-size:11px;line-height:1.5; }
.analysis-method-note { margin:8px 0 16px;color:#b4c1b8;font-size:12px;line-height:1.65; }
.bookmark-status { position:fixed;right:16px;bottom:24px;max-width:280px;z-index:1500;padding:8px 12px;border-radius:6px;background:#203c2d;color:#e6f5dc;font-size:12px;pointer-events:none; }
.bookmark-status:empty { display:none; }
.lounge-topic { padding:12px;border-bottom:1px solid #4d624c;color:#dce8d8;background:#203629; }
.lounge-topic strong { font-size:12px;color:#bde391; }.lounge-topic p,.chat-empty { font-size:12px;line-height:1.6; }.lounge-topic p { margin:6px 0; }.lounge-topic button { min-height:36px;padding:4px 8px;border:1px solid #789468;border-radius:6px;color:#e0f3d2;background:transparent;cursor:pointer; }.chat-empty { color:#b4c1b8;padding:12px; }
@media(max-width:800px) {
  #detail-modal .modal-header-actions #btn-toggle-bookmark { display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:6px 8px;font-size:11px; }
  #detail-modal .modal-header-actions { display:flex;gap:6px; }
  #detail-modal .price-basis { max-width:calc(100vw - 32px);font-size:10px; }
  #detail-modal .modal-price-group { grid-column:1/-1;grid-row:2;margin:0;display:flex;align-items:baseline;gap:4px 8px;flex-wrap:wrap; }
  #detail-modal #btn-share-card { display:none; }
  #detail-modal .modal-header { display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:10px 12px; }
  #detail-modal .modal-title-group { grid-column:1;grid-row:1;max-width:calc(100% - 52px);min-width:0; }
  #detail-modal .modal-title-group h2 { font-size:17px;margin:0; }
  #detail-modal .price-basis { flex-basis:100%;margin:0; }
  #detail-modal .modal-header-actions { grid-column:1;grid-row:3;position:static;width:auto;margin:0; }
  #detail-modal .modal-close-btn { position:absolute;right:8px;top:8px; }
  .lounge-topic { padding:8px 12px; }.lounge-topic p { margin:4px 0; }
}
@media(max-height:550px) and (min-width:801px) {
  #detail-modal .modal-header-actions { width:auto;gap:6px; }
  #detail-modal .modal-header-actions #btn-toggle-bookmark { display:inline-flex;align-items:center;min-height:36px;padding:6px 8px;font-size:11px; }
  #detail-modal .modal-price-group { margin-right:164px; }
}
@media(max-height:550px) and (min-width:500px) { .is-member .workspace-tabs { bottom:auto; } }

.mini-chart-caption { display:block;color:#62735b;font-size:11px;margin:8px 0; }
.is-member[data-view="lounge"] .mini-chart-caption { display:none; }

@media(max-width:800px) {
  .is-member[data-view="lounge"] .cell-title-box { display:block; }
  .is-member[data-view="lounge"] .cell-rank { display:none; }
  .is-member[data-view="lounge"] .cell-name { display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
}
@media(max-height:550px) and (min-width:500px) {
  .is-member[data-view="lounge"] .cell-title-box { display:block; }
  .is-member[data-view="lounge"] .cell-rank { display:none; }
  .is-member[data-view="lounge"] .cell-name { display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
  .is-member[data-view="lounge"] .stock-screen-cell { height:72px;min-height:72px; }
  .is-member[data-view="lounge"] .cell-chg-text { display:block;margin:2px 0 0;font-size:10px; }
}

/* Plaza speech bubbles wrap so whole messages (max 150 chars) are readable. */
.ant-speech-bubble { white-space: normal; max-width: 220px; width: max-content; padding: 6px 11px; border-radius: 14px; font-size: 12px; font-weight: 700; line-height: 1.4; text-align: center; color: #17251f; background: #fbfdf7; box-shadow: 0 6px 18px rgba(0,0,0,.35); overflow: visible; overflow-wrap: anywhere; margin-bottom: 6px; }
.ant-speech-bubble::after { border-color: #fbfdf7 transparent; }
.ant-speech-bubble.shout { background: #c5ee89; color: #16251d; }
.ant-speech-bubble.shout::after { border-color: #c5ee89 transparent; }
#chat-send-status:empty { display:none; }
#chat-send-status { margin:8px 0; color:#f3cf9a; font-size:12px; line-height:1.4; }

/* Reserve space for the conversation instead of letting the topic cover it. */
body.is-member .chat-dock-wrapper { height:440px; max-height:min(60dvh,calc(100dvh - 160px)); }
.is-member .chat-window { display:flex; flex:1; flex-direction:column; min-height:0; overflow:hidden; }
.is-member .chat-heading,.is-member .lounge-topic,.is-member .chat-bottom-bar { flex-shrink:0; }
.is-member .chat-messages { flex:1; min-height:0; max-height:none; overflow-y:auto; }
.is-member .chat-msg { flex-shrink:0; }
@media(max-width:800px) {
  body.is-member .chat-dock-wrapper { height:min(48dvh,calc(var(--visual-height,100dvh) - 180px)); max-height:48dvh; }
  .is-member .lounge-topic p { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
}
@media(max-height:550px) {
  body.is-member .chat-dock-wrapper { height:calc(100dvh - 120px); max-height:calc(100dvh - 120px); }
  .is-member .lounge-topic { display:none; }
}

/* Only the server-authorized sixth stock contains full analysis. */
.stock-screen-cell.pro-locked .cell-name,.stock-screen-cell.pro-locked .cell-code,
.stock-screen-cell.pro-locked .cell-price-main,.stock-screen-cell.pro-locked .cell-chg-text { filter:none; }
.stock-screen-cell.pro-locked .cell-canvas-wrap,.stock-screen-cell.pro-locked .cell-footer-reason,
.stock-screen-cell.pro-locked .mini-chart-caption { visibility:hidden; filter:none; }
.cell-free-preview-badge { display:inline-flex; background:#e6f2d7; color:#385b30; border:1px solid #b8d49a; }
.cell-ad-lock-overlay { inset:auto 12px 12px; height:132px; padding:12px; gap:6px; border:1px solid #c3d2b2; border-radius:8px; background:#f0f4e8; }
.cell-ad-lock-overlay:hover { background:#e8f0dd; border-color:#91aa7c; }
.cell-ad-lock-title { font-size:15px; color:#2d4932; }.cell-ad-lock-desc { font-size:12px; line-height:1.5; color:#66715f; }
.cell-ad-btn { display:inline-flex; justify-content:center; font-size:12px; padding:6px 12px; background:#d4ecc0; color:#17382a; border:1px solid #aac58f; box-shadow:none; }
.is-member[data-view="lounge"] .cell-ad-lock-overlay { inset:auto 4px 4px; height:auto; padding:4px; gap:2px; }
.is-member[data-view="lounge"] .cell-ad-lock-title { font-size:10px; }
.is-member[data-view="lounge"] .cell-ad-lock-desc { display:none; }
.is-member[data-view="lounge"] .cell-ad-btn { font-size:10px; padding:2px 5px; }
#ad-reward-modal { z-index:110; }
.reward-gate-card { width:min(480px,100%); background:#172d22; color:#e4eee1; border:1px solid #627d53; }
.reward-gate-card .modal-header { background:#203a2a; gap:16px; align-items:center; }
.reward-gate-card h2 { margin:0; font-size:19px; }
.reward-gate-body { padding:20px; font-size:14px; line-height:1.7; }
.reward-gate-notice { padding:12px; border:1px solid #6e7553; border-radius:8px; color:#d5dfc9; }
.reward-gate-body button { width:100%; min-height:44px; margin-top:10px; padding:10px; border:1px solid #7d9a62; border-radius:7px; background:#c5ee89; color:#17251f; }
.reward-gate-body button:disabled { background:#304536; color:#bbc8b5; border-color:#50644c; cursor:not-allowed; }
