@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');

:root { --ink:#17251f; --muted:#66746c; --paper:#f4f5ef; --line:#dce2d8; --accent:#c5ee89; --green:#345840; }
.member-announcement { background:#eef3e6; border:1px solid var(--line); border-left:3px solid var(--green); border-radius:8px; padding:16px 20px; margin-bottom:16px; color:var(--ink); overflow-wrap:anywhere; }
.member-announcement strong { font-size:14px; }.member-announcement p { margin:8px 0 0; font-size:12px; line-height:1.8; white-space:pre-wrap; }
body { width:100%; min-height:100dvh; height:auto; overflow:auto; background:var(--paper); color:var(--ink); font-family:'DM Sans','Noto Sans KR',sans-serif; user-select:auto; font-size:14px; }
button,input { font:inherit; }
button,a,input { -webkit-tap-highlight-color:transparent; }
button,a { transition:background .22s cubic-bezier(.2,.7,.2,1),color .22s cubic-bezier(.2,.7,.2,1),transform .22s cubic-bezier(.2,.7,.2,1); }
button { cursor:pointer; }
a { color:inherit; text-decoration:none; }
:focus-visible { outline:3px solid #76a850; outline-offset:4px; }
.top-control-bar { position:relative; top:auto; left:auto; right:auto; z-index:20; transform:none; width:calc(100% - 56px); max-width:1480px; margin:22px auto 0; padding:14px 22px; border:1px solid #fff; border-radius:18px; box-shadow:0 6px 24px #253c2910,0 0 0 1px #dce2d8; background:#ffffffea; backdrop-filter:blur(16px); display:flex; flex-wrap:wrap; gap:14px 24px; align-items:center; }
.brand-box { flex:none; gap:0; }
.brand-box strong { font-size:27px; letter-spacing:-1.8px; color:var(--ink); font-weight:700; }
.brand-period { color:#6a9146; }
.brand-box>.live-dot { display:none; }
#session-badge,#kis-status-badge { display:none; }
.stock-search-form { margin-left:auto; flex:1; max-width:470px; height:44px; border:1px solid var(--line); border-radius:10px; background:#f6f7f3; box-shadow:inset 0 1px 2px #182b1b05; }
.stock-search-form input { width:100%; min-width:120px; color:var(--ink); background:none; font-size:12px; padding:0 14px; }
.stock-search-form input::placeholder { color:#778478; }
.stock-search-form button { background:var(--ink); border:0; color:#fff; border-radius:8px; margin:4px; padding:0 15px; white-space:nowrap; font-size:12px; }
.market-switch-group { padding:4px; background:#edf0e8; border:1px solid var(--line); border-radius:10px; gap:2px; }
.mode-btn { color:#667267; border:0; background:none; padding:8px 11px; font-size:12px; border-radius:6px; }
.mode-btn.active { color:var(--ink); background:#fff; box-shadow:0 1px 4px #17251f15; }
.camera-switch-group,#btn-kis-reload { display:none!important; }
.user-auth-wrap { margin-left:0; }
.auth-btn.login-trigger { background:var(--ink); color:#fff; box-shadow:none; border:0; border-radius:9px; padding:12px 18px; font-size:12px; }
.auth-icon { display:none; }
.user-profile-pill { background:#f3f5ee; color:var(--ink); border:1px solid var(--line); box-shadow:none; border-radius:10px; }
.user-name { color:var(--ink); }
.user-dropdown-menu { color:#eaf0e6; z-index:50; }
.is-guest .stock-search-form,.is-guest .market-switch-group { display:none; }
.is-guest .user-auth-wrap { margin-left:auto; }
.is-guest #workspace-shell,.is-guest #webgl-container,.is-guest #ant-labels-layer,.is-guest #zone-notify-pill { display:none!important; }
.is-guest .modal-backdrop:not(#auth-modal) { display:none!important; }
body:not(.is-guest) #guest-gate { display:none; }
#guest-gate { max-width:1340px; margin:auto; padding:62px 38px 30px; }
.guest-hero { display:grid; grid-template-columns:1.12fr 1fr; gap:40px; align-items:center; min-height:500px; padding-bottom:65px; }
.eyebrow { font-size:10px; letter-spacing:2px; font-weight:700; color:#63775b; margin:0 0 25px; display:flex; align-items:center; gap:8px; }
.eyebrow>span { display:block; width:6px; height:6px; background:#5c9142; border-radius:50%; }
.hero-copy h1 { font-size:clamp(40px,4.2vw,65px); line-height:1.32; font-weight:600; letter-spacing:-3.7px; margin-bottom:25px; }
.hero-copy h1 em { font-style:normal; color:#78946a; }
.hero-description { font-size:14px; line-height:1.95; color:var(--muted); letter-spacing:-.3px; margin-bottom:28px; }
.hero-actions { display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.primary-action { display:flex; align-items:center; justify-content:space-between; gap:38px; padding:17px 22px; border:0; border-radius:10px; background:var(--ink); color:white; font-weight:600; font-size:13px; box-shadow:0 5px 12px #17251f12; }
.primary-action:hover { background:#345840; transform:translateY(-2px); }
.primary-action span { color:var(--accent); font-size:20px; }
.secondary-action { font-size:11px; background:none; border:0; color:var(--muted); padding:12px 0; border-bottom:1px solid #c2ccbd; }
.access-note { font-size:10px; color:#7a8677; margin-top:18px; line-height:1.8; }
.hero-art { background:#1d3328; color:#edf3e8; min-height:440px; padding:27px; border-radius:18px; border:1px solid #486248; box-shadow:inset 0 0 0 7px #ffffff03,0 10px 35px #1d332810; overflow:hidden; }
.art-topline { display:flex; justify-content:space-between; font-size:8px; letter-spacing:1.8px; color:#a9bd9c; }
.orbit-art { position:relative; height:280px; display:flex; align-items:center; justify-content:center; }
.orbit { position:absolute; border:1px solid #94b88a44; border-radius:50%; width:285px; height:170px; transform:rotate(-36deg); }
.orbit-two { transform:rotate(36deg); border-color:#94b88a33; }
.orbit-core { border-radius:50%; width:143px; height:143px; background:var(--accent); color:#1e3825; display:flex; justify-content:center; align-items:center; font-weight:500; font-size:116px; letter-spacing:-12px; padding:0 15px 18px 0; box-shadow:0 0 80px #c5ee8910; }
.orbit-core>span { font-size:60px; padding-top:39px; }
.orbit-label { position:absolute; font-size:8px; letter-spacing:1.6px; background:#1d3328; padding:5px 9px; color:#c0d0b6; }
.label-data { top:52px; left:14px; }.label-structure { top:81px; right:0; }.label-people { bottom:29px; left:27%; }
.art-caption { border-top:1px solid #ffffff20; padding-top:21px; display:flex; justify-content:space-between; align-items:center; font-size:14px; font-weight:400; line-height:1.8; letter-spacing:-.5px; }
.art-arrow { color:var(--accent); font-size:37px; }
.feature-strip { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #ced8c8; border-bottom:1px solid #ced8c8; padding:29px 0; }
.feature-strip article { padding:0 32px; border-left:1px solid #d5dece; }
.feature-strip article:first-child { padding-left:0; border:0; }
.feature-number { font-size:9px; letter-spacing:1.5px; color:#7c8c73; }
.feature-strip h2 { font-size:16px; font-weight:500; letter-spacing:-.6px; margin:13px 0 10px; }
.feature-strip p { font-size:11px; color:var(--muted); line-height:1.9; max-width:285px; }
.public-reading { display:flex; justify-content:space-between; align-items:center; gap:30px; margin:60px 0 25px; }
.public-reading .eyebrow { margin-bottom:12px; }.public-reading h2 { font-size:26px; letter-spacing:-1.2px; font-weight:500; }.public-reading p:not(.eyebrow) { color:var(--muted); font-size:12px; margin-top:12px; }
.public-reading a { display:flex; align-items:center; gap:50px; border-bottom:1px solid #a1b394; padding:18px 0; font-size:12px; }.public-reading a span { font-size:24px; }
#workspace-shell { position:relative; z-index:5; display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:24px; max-width:1480px; padding:0 28px; margin:34px auto; }
.workspace-heading { grid-column:1/-1; display:flex; justify-content:space-between; gap:18px; align-items:center; margin-bottom:4px; }
.workspace-heading .eyebrow { margin-bottom:9px; }.workspace-heading h1 { font-size:29px; font-weight:500; letter-spacing:-1.4px; }.workspace-heading h1>span { color:#6e9253; }
#workspace-status { color:var(--muted); font-size:10px; margin-top:10px; }#workspace-status.is-error { color:#a9552e; }
.workspace-tabs { padding:4px; border:1px solid var(--line); border-radius:11px; display:flex; gap:4px; background:#e9eee3; }
.workspace-tabs button { font-size:12px; border:0; border-radius:8px; padding:11px 18px; color:#697660; background:transparent; }.workspace-tabs button.active { color:var(--ink); background:#fff; box-shadow:0 2px 7px #182b1b0a; }
#auditorium-screen-wrapper,#auditorium-screen-wrapper.screen-mode-lounge,#auditorium-screen-wrapper.screen-mode-screen { position:static; transform:none; width:100%; max-width:none; left:auto; top:auto; margin:0; border-radius:16px; padding:0; background:none; box-shadow:none; border:0; }
.wall-notice-banner { padding:17px 0; background:none; color:#6a7960; border:0; font-size:10px; justify-content:space-between; gap:12px; }.wall-notice-banner strong { color:#334b2b; font-size:10px; letter-spacing:1px; margin-right:12px; }.watch-hint { font-size:10px; color:#84927a; }
.wall-ticker-bar { background:#fff; border:1px solid var(--line); border-radius:12px; padding:16px 8px; margin:0 0 20px; gap:0; box-shadow:0 2px 3px #17251f03; }.ticker-item { flex:1; border-right:1px solid #e8ece3; padding:0 14px; gap:5px; }.t-name { color:#77856e; font-size:9px; }.t-val { color:var(--ink); font-size:16px; font-weight:600; }.t-chg { font-size:9px; }.ticker-clock { display:none; }
.wall-toggle-tab-bar,.wall-mini-ticker { display:none; }
.wall-main-board,#auditorium-screen-wrapper:not(.is-collapsed) .wall-main-board { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:0; background:none; border:0; }
.stock-screen-cell,#auditorium-screen-wrapper.screen-mode-screen .stock-screen-cell { background:#fff; color:var(--ink); padding:17px; border:1px solid var(--line); border-radius:13px; min-height:225px; box-shadow:0 3px 8px #17251f04; overflow:hidden; }
.stock-screen-cell:hover { border-color:#91aa7c; box-shadow:0 8px 25px #213e2210; transform:translateY(-2px); }
.stock-screen-cell:focus-visible { outline-offset:2px; }.cell-title-box { gap:6px; flex-wrap:wrap; }.cell-top-row { gap:8px; align-items:flex-start; margin-bottom:15px; }.cell-name { font-size:14px; color:var(--ink); text-shadow:none; }.cell-code { font-size:9px; color:#8a9683; }.cell-rank { background:#eff3e9; color:#5d754d; border:0; font-size:8px; padding:4px 6px; }.cell-rank.algo-pick { background:#e4efdb; color:#4c7336; box-shadow:none; }.cell-rank.waiting { color:#7a7952; background:#f3f1e3; }
.cell-score-badge { color:#52723e; background:#eff5e8; font-size:9px; border:0; padding:5px 8px; white-space:nowrap; }.cell-unlocked-badge,.cell-free-preview-badge { display:none; }.cell-price-main { color:var(--ink); font-size:23px; font-weight:600; letter-spacing:-.8px; text-shadow:none; }.cell-chg-text { display:block; font-size:10px; margin-top:3px; }.cell-price-row { align-items:flex-start; }.cell-badges-wrap { gap:5px; align-items:flex-end; }.val-mini-tag { font-size:8px; color:#728267; background:none; border:0; }.smc-mini-tag { max-width:160px; text-align:right; line-height:1.6; white-space:normal; font-size:8px; background:#f2f5ed; color:#60764d; border:0; padding:4px 6px; }
.cell-canvas-wrap { background:#12241e; border:1px solid #213d2f; border-radius:8px; margin-top:12px; height:90px; }.cell-chart-canvas { width:100%; height:90px; }.cell-footer-reason { color:#7b8971; font-size:8px; border:0; margin-top:10px; padding:0; gap:10px; }.cell-footer-reason strong { color:#60774e; }.cell-click-hint { display:none; }
.chat-dock-wrapper { position:sticky; top:22px; grid-column:2; grid-row:2; transform:none; bottom:auto; left:auto; width:100%; max-width:none; height:calc(100dvh - 200px); min-height:480px; max-height:780px; margin:0; padding:0; border:1px solid var(--line); border-radius:14px; background:#e9eee3; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 3px 8px #17251f04; z-index:6; }
.chat-window { width:100%; flex:1; min-height:220px; max-height:none; height:auto; border:0; border-radius:0; background:#fff; box-shadow:none; padding:0; overflow:hidden; display:flex; flex-direction:column; }.chat-heading { display:flex; align-items:center; gap:8px; padding:20px 16px; border-bottom:1px solid #edf0e9; color:var(--ink); }.chat-heading h2 { font-size:13px; font-weight:600; }.chat-heading>span:last-child { margin-left:auto; font-size:8px; color:#91a17f; border:1px solid #e1e8d9; border-radius:4px; padding:4px; }.chat-heading .live-dot { width:5px; height:5px; box-shadow:none; background:#739b51; animation:none; }
#btn-toggle-chat { display:none; }.chat-messages { flex:1; height:auto; padding:16px; overflow-y:auto; color:var(--ink); text-shadow:none; }.chat-messages:empty::after { content:'아직 대화가 없습니다.\a오늘 시장에 대한 첫 생각을 남겨보세요.'; white-space:pre-line; display:block; padding:50px 8px; font-size:11px; line-height:2; text-align:center; color:#8e9c83; }
.chat-msg,.chat-message { color:#58664f; font-size:11px; line-height:1.9; border-bottom:1px solid #f0f3eb; padding:10px 0; text-shadow:none; }.chat-msg .c-sender,.c-sender { color:#3d5b30; }.c-time { color:#a2ad98; }.c-stock-tag { background:#edf4e4; color:#567442; }
.chat-bottom-bar { display:flex; flex-direction:column; padding:12px; background:#f4f7f0; border:0; box-shadow:none; border-radius:0; gap:10px; }.bottom-left-pills { width:100%; justify-content:space-between; }.pill-icon-btn { background:#fff; color:#697e59; border:1px solid #e0e7d8; box-shadow:none; border-radius:7px; font-size:11px; }.chat-input-form { width:100%; background:#fff; border:1px solid #d4dfca; border-radius:9px; padding:4px; }.chat-input-form input { width:100%; font-size:10px; color:var(--ink); background:none; padding:9px; }.chat-send-btn { background:var(--ink); color:white; border:0; border-radius:7px; width:32px; height:32px; }
#webgl-container,#ant-labels-layer,#my-ant-panel { display:none; }
body[data-view="lounge"]:not(.is-guest) #webgl-container,body[data-view="lounge"]:not(.is-guest) #ant-labels-layer { display:block; }
body[data-view="lounge"] #auditorium-screen-wrapper { visibility:hidden; min-height:65dvh; pointer-events:none; }
body[data-view="lounge"]:not(.is-guest) #my-ant-panel { display:block; position:fixed; bottom:25px; left:28px; z-index:10; }
body[data-view="lounge"] .workspace-heading { background:#f4f5eff2; padding:17px; border-radius:14px; }
body[data-view="lounge"] .legal-disclaimer-footer { display:none; }
.modal-backdrop { z-index:100; backdrop-filter:blur(9px); background:#0c201dc2; overflow-y:auto; padding:24px; }
.modal-card { border-radius:17px; border:1px solid #3e544b; box-shadow:0 20px 90px #07180e60; max-height:90dvh; }.modal-close-btn { min-width:36px; min-height:36px; }.auth-modal-card { background:#fff; color:var(--ink); max-width:480px; }.auth-modal-card .modal-header { background:#fff; border-bottom:1px solid #e4e9de; }.auth-modal-card h2 { color:var(--ink); font-size:18px; }.auth-modal-card label,.auth-modal-card .form-label { color:#56694a; }.auth-modal-card input { color:var(--ink); background:#f6f8f2; border-color:#dce5d3; }.auth-modal-card .auth-submit-btn { background:var(--ink); box-shadow:none; border:0; }.auth-modal-card p { color:#6f7b66; }.auth-modal-card .auth-tabs { background:#eaf0e2; }.auth-modal-card .auth-tab.active { background:#fff; color:var(--ink); box-shadow:0 2px 6px #182b1b08; }.auth-modal-card .auth-tab { color:#7e8f72; }.auth-modal-card .auth-footer { color:#6f7b66; }.auth-modal-card .ant-role-option { border-color:#dce5d3; }.auth-modal-card .modal-close-btn { color:#758468; background:#eff4e8; }
.legal-disclaimer-footer { position:relative; bottom:auto; left:auto; right:auto; width:auto; padding:28px 0 35px; margin:25px auto 0; max-width:1264px; text-align:left; background:none; border-top:1px solid #d5dece; color:#88957e; font-size:9px; line-height:1.9; z-index:5; }.footer-links { display:flex; align-items:center; gap:25px; margin-bottom:17px; font-size:10px; color:#6a7b5c; }.footer-links strong { color:var(--ink); font-size:19px; letter-spacing:-1px; margin-right:auto; }.footer-links span { color:#97a18e; font-size:9px; }
.reading-page { max-width:880px; margin:65px auto; padding:0 28px; }.reading-page .eyebrow { margin-bottom:18px; }.reading-page h1 { font-size:40px; font-weight:500; letter-spacing:-2px; margin-bottom:24px; }.reading-page h2 { font-size:20px; font-weight:500; margin:40px 0 15px; letter-spacing:-.7px; }.reading-page p,.reading-page li { font-size:13px; line-height:2; color:#65765a; }.reading-page ul { padding-left:20px; margin:15px 0; }.reading-page .reading-intro { font-size:17px; color:#566e49; }.reading-page .reading-note { padding:22px; border:1px solid #d7e2cf; background:#edf2e6; border-radius:12px; margin-top:30px; }.reading-page a { text-decoration:underline; text-underline-offset:4px; }
@media(min-width:1600px) { #guest-gate { padding-top:90px; }.guest-hero { padding-bottom:90px; } }
@media(max-width:1100px) { #workspace-shell { grid-template-columns:minmax(0,1fr) 275px; gap:18px; }.top-control-bar { gap:12px; }.stock-search-form { max-width:360px; }.watch-hint { display:none; }.cell-top-row { flex-wrap:wrap; }.cell-score-badge { margin-left:auto; }.cell-badges-wrap { max-width:120px; }.legal-disclaimer-footer { margin-left:28px; margin-right:28px; } }
@media(max-width:800px) { .top-control-bar { width:calc(100% - 28px); margin-top:14px; padding:12px 16px; border-radius:13px; }.brand-box strong { font-size:24px; }.user-auth-wrap { margin-left:auto; }.stock-search-form { order:4; max-width:none; flex-basis:100%; }.market-switch-group { margin-left:auto; }.mode-btn { padding:7px 9px; }.auth-btn.login-trigger { padding:10px 13px; } #guest-gate { padding:45px 24px 20px; }.guest-hero { grid-template-columns:1fr; gap:36px; padding-bottom:40px; }.hero-copy h1 { font-size:48px; letter-spacing:-2.8px; }.hero-art { min-height:380px; }.orbit-art { height:250px; }.feature-strip { grid-template-columns:1fr; padding:0; }.feature-strip article,.feature-strip article:first-child { padding:24px 0; border-left:0; border-top:1px solid #d5dece; }.feature-strip article:first-child { border:0; }.feature-strip p { max-width:none; }.public-reading { flex-direction:column; align-items:flex-start; margin:40px 0 15px; }.public-reading a { width:100%; justify-content:space-between; } #workspace-shell { display:flex; flex-direction:column; padding:0 14px; margin-top:25px; gap:18px; }.workspace-heading { align-items:flex-start; flex-direction:column; gap:18px; }.workspace-heading h1 { font-size:27px; }.workspace-tabs { width:100%; }.workspace-tabs button { flex:1; }.wall-ticker-bar { flex-wrap:wrap; gap:16px 0; padding:17px 5px; }.ticker-item { flex:1 1 50%; }.ticker-item:nth-child(2) { border:0; }.wall-main-board,#auditorium-screen-wrapper:not(.is-collapsed) .wall-main-board { grid-template-columns:1fr; gap:12px; }.stock-screen-cell { min-height:220px; }.cell-top-row { flex-wrap:nowrap; }.cell-badges-wrap { max-width:180px; }.chat-dock-wrapper { position:relative; height:450px; min-height:360px; top:auto; }.legal-disclaimer-footer { margin-left:24px; margin-right:24px; }.footer-links { gap:16px; flex-wrap:wrap; }.footer-links strong { flex-basis:100%; }.footer-links span { flex-basis:100%; }.modal-backdrop { padding:10px; }.modal-card { max-height:95dvh; }.modal-body { flex-direction:column; overflow-y:auto; }.modal-chart-col,.modal-info-col { width:100%; }.modal-header { flex-wrap:wrap; }.reading-page { margin-top:45px; }.reading-page h1 { font-size:32px; } body[data-view="lounge"] .chat-dock-wrapper { position:relative; margin-top:35dvh; height:320px; } body[data-view="lounge"] #auditorium-screen-wrapper { display:none; } body[data-view="lounge"]:not(.is-guest) #my-ant-panel { display:none; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

/* Resets for the old fixed auditorium frame. */
.auth-modal-card .signup-benefit-banner { color:var(--green); background:var(--paper); border-color:var(--line); }
.top-control-bar { height:auto; min-height:72px; }
.stock-search-form button { height:34px; min-height:34px; line-height:1.2; }
#auditorium-screen-wrapper { align-items:stretch; }
#auditorium-screen-wrapper .wall-notice-banner { width:100%; display:flex; background:none; box-shadow:none; margin:0; border-radius:0; }
#auditorium-screen-wrapper .wall-main-board { box-shadow:none; max-height:none; grid-template-rows:auto; }
.bottom-left-pills { background:none; box-shadow:none; padding:0; border:0; }
.signup-privacy-note { font-size:10px; line-height:1.8; margin:15px 0; }
.signup-privacy-note a { text-decoration:underline; text-underline-offset:3px; }
.hero-copy { animation:softEnter .7s cubic-bezier(.2,.7,.2,1) both; }
.hero-art { animation:softEnter .9s cubic-bezier(.2,.7,.2,1) .08s both; }
@keyframes softEnter { from { opacity:0;transform:translateY(15px); } to { opacity:1;transform:translateY(0); } }
@media(max-width:800px) { .top-control-bar { min-height:64px; }.wall-notice-banner .watch-hint { display:none; } }
