/* Homepage-only layout, tokens and interactions. */
.ms-home-page { background:#fff; }
.ms-home-page header { display:flex; align-items:center; gap:32px; padding:14px max(28px, calc((100% - 1200px) / 2)); overflow:visible; min-height:78px; }
.ms-home-page header .left_section_btn, .ms-home-page header > .clear { display:none; }
.ms-home-page header .logo { margin:0; flex-shrink:0; }
.ms-home-page header .logo .header_loge { height:40px; }
.ms-home-page header ul { display:flex; gap:28px; margin-right:auto; }
.ms-home-page header li { margin:0; font-size:15px; white-space:nowrap; }
.ms-home-page header li a { padding:12px 0; display:block; }
.ms-home-page header li.active a { color:#5b21b6; }
.ms-home-page header .mypage { position:static; float:none; width:auto; height:auto; flex-shrink:0; font-size:13px; }
.ms-home-page header .mypage > a { min-height:40px; margin-left:8px; }
.ms-home-page #footer_wrap { padding:32px max(24px, calc((100% - 1200px) / 2)); font-size:12px; line-height:1.8; }
.ms-home-page #footer_wrap .footer_bottom .logo { min-width:106px; max-width:106px; min-height:52px; max-height:52px; }
.ms-home-page #footer_wrap .footer_copyright { text-align:left; padding:6px 12px; }
.ms-home-page #footer_wrap .footer_disclaimer { padding:14px 0 22px; margin-bottom:22px; }
.ms-home-page #footer_wrap .menu_list a { padding-block:8px; }

.ms-home { --ink:#22212b; --muted:#6d6378; --line:#e8e7ed; --soft:#f7f7fa; --purple:var(--common-primary,#5b21b6); --purple-dark:#471b8e; --purple-soft:#f0eafa; --red:#be3d4e; --red-soft:#fff0f0; --blue:#306fb8; --blue-soft:#edf4fe; color:var(--ink); background:#fff; font-family:Pretendard,"Noto Sans KR",sans-serif; font-size:15px; line-height:1.6; letter-spacing:-.025em; overflow-wrap:break-word; }
.ms-home *, .ms-home *::before, .ms-home *::after { box-sizing:border-box; }
.ms-home h1, .ms-home h2, .ms-home h3, .ms-home h4, .ms-home p, .ms-home ol, .ms-home ul { margin:0; padding:0; }
.ms-home h1, .ms-home h2, .ms-home h3, .ms-home h4 { color:var(--ink); word-break:keep-all; }
.ms-home a { color:inherit; text-decoration:none; }
.ms-home button { font:inherit; cursor:pointer; border:0; }
.ms-home a, .ms-home button, .ms-home summary { touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
.ms-home a:focus-visible, .ms-home button:focus-visible, .ms-home summary:focus-visible, .ms-home-page header a:focus-visible { outline:3px solid var(--purple,#5b21b6); outline-offset:5px; }
.ms-home [hidden] { display:none !important; }
.ms-home .content-width { width:min(1200px,calc(100% - 56px)); margin-inline:auto; }
.ms-home section[id] { scroll-margin-top:28px; }
.ms-home .section { padding-block:88px; }
.ms-home .section-kicker { color:var(--purple); font-size:12px; font-weight:750; letter-spacing:.01em; display:block; margin-bottom:12px; }
.ms-home .section-heading { margin-bottom:30px; }
.ms-home .section-heading h2, .ms-home .faq-section h2 { font-size:32px; letter-spacing:-1.1px; font-weight:750; line-height:1.35; }
.ms-home .section-heading p { color:var(--muted); margin-top:12px; font-size:15px; word-break:keep-all; }
.ms-home .split-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; }
.ms-home .split-heading > div { min-width:0; }
.ms-home .primary-cta, .ms-home .secondary-cta { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:52px; padding:14px 22px; border-radius:10px; font-size:15px; font-weight:700; line-height:1.5; transition:background .2s,transform .2s; }
.ms-home .primary-cta { background:var(--purple); color:#fff; box-shadow:0 5px 12px #5b21b613; }
.ms-home .primary-cta:hover { background:var(--purple-dark); transform:translateY(-2px); }
.ms-home .primary-cta > span { font-size:22px; line-height:1; }
.ms-home .secondary-cta { padding-inline:8px; gap:10px; color:#565260; }
.ms-home .secondary-cta:hover, .ms-home .text-link:hover { color:var(--purple); }
.ms-home .text-link { display:inline-flex; align-items:center; gap:14px; font-size:14px; font-weight:650; padding-block:10px; white-space:nowrap; }
.ms-home .up-text { color:var(--red); }
.ms-home .down-text { color:var(--blue); }
.ms-home .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* The example is always available, even when there are no open rounds. */
.ms-home .hero-band { background:linear-gradient(110deg,#fbfafc 15%,#f7f5fb 100%); border-bottom:1px solid var(--line); }
.ms-home .hero { display:grid; grid-template-columns:1.08fr 1fr; align-items:center; gap:70px; padding-block:68px 56px; }
.ms-home .eyebrow { display:inline-flex; align-items:center; gap:8px; color:#65527e; font-size:13px; font-weight:650; }
.ms-home .eyebrow-dot { width:7px; height:7px; background:var(--purple); border-radius:50%; box-shadow:0 0 0 4px #5b21b609; }
.ms-home .hero h1 { font-size:clamp(44px,4.3vw,62px); line-height:1.19; letter-spacing:-2.7px; font-weight:800; margin:24px 0 22px; }
.ms-home .hero h1 > span { color:var(--purple); position:relative; }
.ms-home .hero h1 > span::after { content:""; position:absolute; left:0; right:0; bottom:1px; height:5px; background:#d8c5f2; border-radius:2px; }
.ms-home .hero-copy > p { color:#676373; font-size:17px; line-height:1.85; word-break:keep-all; }
.ms-home .hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:29px; }
.ms-home .trust-row { display:flex; align-items:center; flex-wrap:wrap; gap:20px; margin-top:19px; color:var(--muted); font-size:12px; }
.ms-home .trust-row i { font-style:normal; color:var(--muted); padding-right:4px; }
.ms-home .hero-preview { min-width:0; position:relative; padding:18px 20px 16px; border-radius:24px; background:#ede7f5; box-shadow:0 24px 60px #493b6810; }
.ms-home .preview-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 4px 15px; font-size:11px; color:var(--muted); }
.ms-home .preview-heading > span:first-child { font-size:13px; color:#5f457c; font-weight:700; }
.ms-home .preview-heading i { font-size:18px; font-style:normal; margin-right:4px; }
.ms-home .practice-card { background:#fff; border:1px solid #e7dfef; border-radius:15px; padding:25px; box-shadow:0 8px 16px #47366006; }
.ms-home .practice-top { display:flex; align-items:center; gap:10px; }
.ms-home .asset-icon { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; flex-shrink:0; background:#f1edf7; border:1px solid #e9e4f0; border-radius:13px; font-weight:800; font-size:17px; color:#665279; overflow:hidden; }
.ms-home .asset-icon img { display:block; width:100%; height:100%; object-fit:contain; }
.ms-home .asset-icon.text { font-size:11px; letter-spacing:-.03em; }
.ms-home .asset-icon.bitcoin { background:#f5a328; border:0; color:#fff; border-radius:50%; font-size:30px; transform:rotate(12deg); }
.ms-home .practice-top > div { display:flex; flex-direction:column; }
.ms-home .practice-top strong { font-size:16px; font-weight:750; }
.ms-home .practice-top > div > span { color:var(--muted); font-size:11px; letter-spacing:0; }
.ms-home .example-chip { font-size:11px; color:var(--muted); background:#f5f4f7; padding:4px 8px; border-radius:5px; margin-left:auto; white-space:nowrap; }
.ms-home .practice-card h2 { font-size:24px; line-height:1.4; letter-spacing:-.7px; font-weight:750; margin-top:25px; }
.ms-home .practice-chart { margin:14px 0 18px; }
.ms-home .chart-note { display:block; text-align:right; color:var(--muted); font-size:11px; margin-bottom:4px; }
.ms-home .practice-chart svg { display:block; width:100%; height:100px; overflow:visible; }
.ms-home .chart-disclaimer { color:var(--muted); font-size:11px; display:block; margin-top:5px; }
.ms-home .practice-choices { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.ms-home .practice-choices button { min-height:53px; padding:10px 8px; font-size:14px; font-weight:700; display:flex; align-items:center; justify-content:center; gap:8px; border-radius:9px; transition:background .15s,color .15s; }
.ms-home .practice-choices button > span { font-size:23px; }
.ms-home .choice-up { background:var(--red-soft); color:var(--red); }
.ms-home .choice-down { background:var(--blue-soft); color:var(--blue); }
.ms-home .choice-up:hover, .ms-home .choice-up[aria-pressed="true"] { background:var(--red); color:#fff; }
.ms-home .choice-down:hover, .ms-home .choice-down[aria-pressed="true"] { background:var(--blue); color:#fff; }
.ms-home .practice-feedback { font-size:11px; text-align:center; color:var(--muted); margin-top:12px; min-height:18px; }
.ms-home .practice-caption { color:var(--muted); font-size:11px; line-height:1.65; text-align:center; margin-top:9px; }
.ms-home .practice-result { padding-top:17px; margin-top:15px; border-top:1px solid var(--line); }
.ms-home .practice-result-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; font-size:12px; gap:8px; }
.ms-home .practice-result-heading > span { color:var(--muted); font-size:11px; }
.ms-home .practice-next { display:flex; justify-content:center; align-items:center; gap:16px; min-height:44px; background:var(--purple-soft); color:var(--purple); border-radius:8px; font-size:12px; font-weight:700; margin-top:14px; }
.ms-home .preview-caption { display:flex; justify-content:center; gap:15px; align-items:center; padding-top:17px; }
.ms-home .preview-caption p { font-size:11px; line-height:1.6; color:var(--muted); }
.ms-home .preview-caption strong { color:#6c597d; font-weight:650; }
.ms-home .mini-people { display:flex; padding-left:6px; }
.ms-home .mini-people i { display:inline-flex; width:29px; height:29px; justify-content:center; align-items:center; border:2px solid #ede7f5; border-radius:50%; background:#f6cfce; margin-left:-6px; color:#b04d65; font-size:16px; font-style:normal; }
.ms-home .mini-people i:nth-child(2) { background:#cbdcf4; color:var(--muted); }
.ms-home .mini-people i:nth-child(3) { background:#d8c9ed; color:#6f4992; }
.ms-home .how-strip { display:grid; grid-template-columns:210px 1fr; gap:26px; align-items:center; padding:30px 0 38px; border-top:1px solid #e6e0ed; }
.ms-home .how-intro .section-kicker { font-size:11px; letter-spacing:1.2px; margin-bottom:8px; }
.ms-home .how-intro h2 { font-size:20px; line-height:1.4; font-weight:700; letter-spacing:-.5px; }
.ms-home .steps-grid { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ms-home .steps-grid li { display:flex; align-items:flex-start; gap:12px; }
.ms-home .step-number { font-size:12px; font-weight:700; color:var(--purple); background:#ece4f6; width:30px; height:30px; display:flex; align-items:center; justify-content:center; border-radius:50%; flex-shrink:0; }
.ms-home .steps-grid h3 { font-size:14px; line-height:1.7; font-weight:700; }
.ms-home .steps-grid p { font-size:12px; line-height:1.6; color:var(--muted); margin-top:5px; word-break:keep-all; }

/* Markets and predictions */
.ms-home .round-count { font-size:12px; display:flex; align-items:center; gap:8px; color:var(--muted); white-space:nowrap; padding-bottom:4px; }
.ms-home .round-count > i { width:6px; height:6px; border-radius:50%; background:#82659e; }
.ms-home .round-count > strong { color:#4a4056; font-size:15px; }
.ms-home .market-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:20px; }
.ms-home .market-link { display:flex; align-items:center; gap:18px; border:1px solid var(--line); border-radius:14px; padding:22px 26px; transition:border-color .2s,background .2s; }
.ms-home .market-link:hover { border-color:#c3aadf; background:#fdfbff; }
.ms-home .market-icon { width:54px; height:54px; display:flex; align-items:center; justify-content:center; flex-shrink:0; border-radius:15px; }
.ms-home .stock-icon { background:#f0e9fc; color:#7f57b9; }
.ms-home .stock-icon svg { width:29px; height:29px; }
.ms-home .crypto-icon { background:#fff4df; color:var(--muted); font-size:36px; font-weight:600; }
.ms-home .market-link > div > span { font-size:11px; letter-spacing:1.3px; color:var(--muted); font-weight:600; }
.ms-home .market-link h3 { font-size:20px; font-weight:700; margin-top:2px; }
.ms-home .market-link p { font-size:12px; color:var(--muted); margin-top:4px; }
.ms-home .market-arrow { margin-left:auto; font-size:24px; color:var(--muted); }
.ms-home .prediction-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.ms-home .prediction-card { border:1px solid var(--line); border-radius:14px; padding:23px; min-width:0; background:#fff; }
.ms-home .prediction-head { display:flex; align-items:center; gap:10px; }
.ms-home .asset-identity { min-width:0; flex:1; }
.ms-home .asset-identity h3 { font-size:16px; font-weight:700; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.ms-home .asset-identity > span { font-size:11px; color:var(--muted); }
.ms-home .open-chip { background:#f1ecf8; color:#7b589c; padding:3px 7px; border-radius:4px; font-size:11px; white-space:nowrap; }
.ms-home .round-deadline { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:23px 0 17px; font-size:11px; color:var(--muted); }
.ms-home .round-deadline strong { font-size:12px; color:#56505f; font-variant-numeric:tabular-nums; }
.ms-home .sentiment-bar { display:flex; gap:3px; height:8px; overflow:hidden; border-radius:8px; background:#f4f2f6; }
.ms-home .bar-up { background:#ed8190; border-radius:6px; flex-shrink:0; }
.ms-home .bar-down { background:#8db4e7; flex:1; border-radius:6px; }
.ms-home .sentiment-labels { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:12px; margin-top:8px; }
.ms-home .sentiment-labels strong { font-weight:650; }
.ms-home .participant-count { font-size:11px; color:var(--muted); text-align:center; padding:15px 0; }
.ms-home .round-cta { min-height:44px; background:#f7f5fa; border:1px solid #eee9f3; border-radius:8px; display:flex; align-items:center; justify-content:center; gap:14px; color:#635373; font-size:12px; font-weight:650; }
.ms-home .round-cta:hover { background:var(--purple-soft); color:var(--purple); }
.ms-home .round-first { text-align:center; min-height:82px; display:flex; flex-direction:column; justify-content:center; margin-bottom:12px; }
.ms-home .round-first > span { color:var(--muted); font-size:23px; letter-spacing:10px; }
.ms-home .round-first i { font-size:11px; letter-spacing:0; font-style:normal; color:var(--muted); }
.ms-home .round-first p { color:var(--muted); font-size:11px; margin-top:4px; }
.ms-home .round-empty { grid-column:1/-1; display:flex; align-items:center; gap:18px; padding:26px; border-radius:12px; background:#f8f7fa; border:1px dashed #ded8e5; }
.ms-home .empty-clock { color:var(--muted); display:flex; flex-shrink:0; }
.ms-home .empty-clock svg { width:40px; height:40px; }
.ms-home .round-empty h3 { font-size:15px; font-weight:650; }
.ms-home .round-empty p { color:var(--muted); font-size:12px; margin-top:5px; word-break:keep-all; }
.ms-home .round-empty > a { color:#71607f; margin-left:auto; white-space:nowrap; min-height:44px; display:flex; align-items:center; gap:12px; font-size:12px; }
.ms-home .section-footnote { color:var(--muted); font-size:11px; margin-top:17px; text-align:center; word-break:keep-all; }

/* Aggregates always distinguish missing data from neutral sentiment. */
.ms-home .insight-band { background:#f7f7f9; padding-block:70px; border-block:1px solid #efedf2; }
.ms-home .data-caption { font-size:11px; color:var(--muted); white-space:nowrap; padding-bottom:4px; }
.ms-home .insight-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.ms-home .insight-card { border:1px solid #e9e6ed; border-radius:14px; background:#fff; padding:26px; display:flex; flex-direction:column; }
.ms-home .card-heading { display:flex; align-items:center; gap:9px; font-size:11px; color:var(--muted); margin-bottom:17px; }
.ms-home .card-index { color:var(--muted); font-size:11px; letter-spacing:.05em; width:24px; height:24px; border-radius:7px; background:#f4eff9; display:flex; align-items:center; justify-content:center; }
.ms-home .insight-card h3 { font-size:19px; letter-spacing:-.5px; font-weight:700; }
.ms-home .card-description { font-size:12px; color:var(--muted); margin-top:5px; }
.ms-home .temperature-display { text-align:center; display:flex; flex-direction:column; justify-content:center; min-height:137px; padding:18px 0 16px; }
.ms-home .temperature-display > span { color:var(--muted); font-size:11px; margin-top:2px; }
.ms-home .temperature-value { font-size:48px; font-weight:650; line-height:1.3; letter-spacing:-2px; font-variant-numeric:tabular-nums; }
.ms-home .temperature-value small { font-size:23px; margin-left:4px; font-weight:500; }
.ms-home .temperature-wait { font-size:22px; line-height:2; color:var(--muted); font-weight:600; }
.ms-home .temperature-scale { height:10px; border-radius:10px; background:linear-gradient(90deg,#76a6dd 0%,#d8e1ed 40%,#e8dfd6 52%,#f2c4a4 70%,#dd7481 100%); position:relative; margin-inline:3px; }
.ms-home .temperature-scale > i { position:absolute; top:-4px; width:7px; height:18px; background:#514358; transform:translateX(-50%); border-radius:3px; border:2px solid #fff; box-shadow:0 0 0 1px #514358; }
.ms-home .temperature-legend { display:flex; justify-content:space-between; color:var(--muted); font-size:11px; margin-top:9px; }
.ms-home .insight-note { color:var(--muted); font-size:11px; padding-top:17px; margin-top:auto; }
.ms-home .comparison { padding-top:24px; }
.ms-home .compare-label { display:flex; justify-content:space-between; align-items:center; font-size:11px; margin-bottom:7px; }
.ms-home .compare-label strong { font-size:12px; color:var(--muted); font-weight:650; }
.ms-home .compare-bar { width:100%; height:7px; background:#f0edf4; border-radius:5px; overflow:hidden; margin-bottom:17px; }
.ms-home .compare-bar > i { height:100%; display:block; background:#cdb9e3; border-radius:5px; }
.ms-home .compare-bar.pro > i { background:#80609f; }
.ms-home .comparison-empty .compare-label > span:last-child { color:var(--muted); font-size:11px; }
.ms-home .compare-callout { color:#7b648e; background:#f7f3fb; border-radius:6px; padding:10px 8px; font-size:11px; text-align:center; margin-top:2px; word-break:keep-all; }
.ms-home .trend-chart { padding-top:24px; }
.ms-home .trend-bars { display:flex; align-items:flex-end; gap:5px; height:106px; border-bottom:1px solid #eeebf2; background:repeating-linear-gradient(to top,transparent 0,transparent 34px,#f2eff6 35px,#f2eff6 36px); }
.ms-home .trend-bars > span { flex:1; min-width:2px; min-height:2px; max-width:50px; background:#e2d6ef; border-top:2px solid #9a79b9; border-radius:4px 4px 0 0; }
.ms-home .trend-axis { display:flex; justify-content:space-between; margin-top:9px; color:var(--muted); font-size:11px; }
.ms-home .trend-data { color:var(--muted); margin-top:7px; font-size:11px; }
.ms-home .trend-data summary { cursor:pointer; padding-block:10px; min-height:44px; }
.ms-home .trend-data ul { list-style:none; }
.ms-home .trend-data li { display:flex; justify-content:space-between; padding-block:3px; }
.ms-home .trend-empty { text-align:center; display:flex; flex-direction:column; align-items:center; padding-top:17px; min-height:169px; }
.ms-home .trend-empty > span { color:var(--muted); font-size:35px; line-height:1.2; }
.ms-home .trend-empty > strong { font-size:13px; color:var(--muted); font-weight:600; margin-top:8px; }
.ms-home .trend-empty p { font-size:11px; color:var(--muted); margin-top:6px; }
.ms-home .community-stats { display:flex; align-items:center; justify-content:space-between; gap:24px; border-block:1px solid #e5e1eb; padding:22px 0; margin-top:30px; }
.ms-home .community-stats > p { display:flex; align-items:center; gap:8px; font-size:13px; color:#6b6175; }
.ms-home .stat-dot { width:6px; height:6px; background:#9c80b8; border-radius:50%; }
.ms-home .community-stats > div { display:flex; align-items:center; gap:32px; }
.ms-home .community-stats > div > span { display:flex; align-items:center; gap:12px; font-size:12px; color:var(--muted); }
.ms-home .community-stats strong { color:#665272; font-size:18px; font-weight:650; }
.ms-home .insight-disclaimer { color:var(--muted); font-size:11px; margin-top:13px; word-break:keep-all; }

/* Personal progress and community */
.ms-home .growth-grid { display:grid; grid-template-columns:1.65fr 1fr; gap:22px; align-items:stretch; }
.ms-home .ranking-card { border:1px solid var(--line); border-radius:14px; padding:26px; min-width:0; }
.ms-home .ranking-title { display:flex; align-items:center; justify-content:space-between; gap:15px; padding-bottom:21px; border-bottom:1px solid var(--line); }
.ms-home .ranking-title h3 { font-size:16px; font-weight:700; }
.ms-home .ranking-title > span { color:var(--muted); font-size:11px; }
.ms-home .rank-table { width:100%; table-layout:fixed; border-collapse:collapse; margin-top:4px; }
.ms-home .rank-table th { color:var(--muted); font-size:11px; font-weight:500; padding:15px 3px; text-align:right; }
.ms-home .rank-table th:first-child { text-align:center; width:40px; }
.ms-home .rank-table th:nth-child(2) { text-align:left; width:44%; padding-left:10px; }
.ms-home .rank-table td { font-size:13px; padding:12px 3px; border-top:1px solid #f4f1f7; text-align:right; font-variant-numeric:tabular-nums; }
.ms-home .rank-table td:first-child { text-align:center; }
.ms-home .rank-table td:nth-child(2) { padding-left:10px; text-align:left; }
.ms-home .rank-user { display:flex; align-items:center; gap:10px; min-width:0; }
.ms-home .rank-user > img { width:28px; height:32px; object-fit:contain; flex-shrink:0; }
.ms-home .rank-user > span { min-width:0; }
.ms-home .rank-user strong { display:block; font-size:12px; font-weight:650; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ms-home .rank-user small { display:block; font-size:11px; color:var(--muted); margin-top:2px; }
.ms-home .rank-num { font-size:13px; color:var(--muted); font-weight:700; }
.ms-home .rank-1 { color:var(--muted); background:#fff3d8; border-radius:7px; width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center; }
.ms-home .ranking-note { font-size:11px; color:var(--muted); padding-top:15px; }
.ms-home .ranking-empty { min-height:295px; text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:24px 0 4px; }
.ms-home .ranking-empty h4 { font-size:16px; font-weight:650; margin-top:22px; }
.ms-home .ranking-empty p { font-size:12px; color:var(--muted); line-height:1.8; margin-top:9px; }
.ms-home .ranking-empty .text-link { color:#7c5699; font-size:12px; margin-top:11px; }
.ms-home .podium { display:flex; align-items:flex-end; gap:5px; }
.ms-home .podium i { width:40px; height:39px; border-radius:5px 5px 0 0; background:#e9e1f1; color:var(--muted); display:flex; justify-content:center; padding-top:9px; font-size:12px; font-style:normal; font-weight:700; }
.ms-home .podium i:nth-child(2) { height:57px; background:#d7c6e9; color:var(--muted); }
.ms-home .podium i:last-child { height:29px; background:#f0ebf6; }
.ms-home .my-record-card { background:#f6f2fc; border:1px solid #eae1f3; border-radius:14px; padding:30px; text-align:center; display:flex; flex-direction:column; align-items:center; }
.ms-home .my-record-card .section-kicker { font-size:11px; margin-bottom:12px; }
.ms-home .tier-art { display:flex; align-items:center; flex-direction:column; margin:2px 0 17px; transform:rotate(-8deg); }
.ms-home .tier-art > span { width:62px; height:68px; background:#e4d2f6; border:4px solid #ede0f9; display:flex; justify-content:center; align-items:center; color:var(--muted); font-size:42px; clip-path:polygon(50% 0,94% 23%,94% 73%,50% 100%,6% 73%,6% 23%); }
.ms-home .tier-art > i { font-size:11px; letter-spacing:1.5px; color:var(--muted); font-style:normal; margin-top:6px; }
.ms-home .my-record-card h3 { font-size:26px; line-height:1.3; font-weight:700; letter-spacing:-.8px; }
.ms-home .my-record-card > p, .ms-home .record-tier > p { font-size:12px; color:var(--muted); margin-top:12px; line-height:1.8; }
.ms-home .my-record-card > .primary-cta { width:100%; margin-top:24px; font-size:13px; min-height:48px; padding:12px 14px; }
.ms-home .my-record-card > small { font-size:11px; color:var(--muted); margin-top:12px; }
.ms-home .record-tier > img { width:64px; height:76px; object-fit:contain; margin:14px 0; }
.ms-home .record-numbers { display:flex; width:100%; justify-content:center; gap:30px; padding:22px 0 0; font-size:12px; color:var(--muted); }
.ms-home .record-numbers strong { display:block; font-size:23px; font-weight:600; color:#6d4c87; }
.ms-home .season-banner { display:flex; align-items:center; gap:22px; background:#f9f7ee; border:1px solid #efeada; border-radius:12px; padding:24px 30px; margin-top:23px; }
.ms-home .season-symbol { width:49px; height:49px; display:flex; justify-content:center; align-items:center; color:var(--muted); background:#f0e6bd; border-radius:50%; font-size:31px; flex-shrink:0; }
.ms-home .season-banner > div > span { color:var(--muted); font-size:11px; }
.ms-home .season-banner h3 { font-size:19px; font-weight:700; margin-top:3px; }
.ms-home .season-banner p { color:var(--muted); font-size:11px; margin-top:5px; }
.ms-home .season-banner > strong { margin-left:auto; color:var(--muted); font-size:12px; white-space:nowrap; display:flex; align-items:center; gap:20px; }
.ms-home .community-section { padding-bottom:76px; }
.ms-home .community-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.ms-home .community-card { padding:24px; border:1px solid var(--line); border-radius:12px; position:relative; transition:border-color .2s; min-width:0; }
.ms-home .community-card:hover { border-color:#b89ad5; }
.ms-home .board-chip { display:inline-block; color:var(--muted); background:#f5f1fa; border-radius:4px; padding:3px 7px; font-size:11px; max-width:90%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ms-home .community-card h3 { font-size:16px; font-weight:650; line-height:1.6; margin-top:13px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:52px; overflow-wrap:anywhere; }
.ms-home .community-card p { display:flex; gap:14px; color:var(--muted); font-size:11px; margin-top:21px; }
.ms-home .community-arrow { position:absolute; bottom:20px; right:22px; color:var(--muted); font-size:18px; }
.ms-home .community-empty { grid-column:1/-1; display:flex; align-items:center; gap:24px; padding:25px 30px; border:1px solid var(--line); border-radius:12px; }
.ms-home .community-empty > span { font-family:Georgia,serif; font-size:70px; color:var(--muted); height:62px; line-height:1.2; }
.ms-home .community-empty h3 { font-size:16px; font-weight:650; }
.ms-home .community-empty p { font-size:12px; color:var(--muted); margin-top:6px; }
.ms-home .community-empty > strong { margin-left:auto; font-size:12px; color:var(--muted); display:flex; align-items:center; gap:16px; white-space:nowrap; }
.ms-home .faq-section { display:grid; grid-template-columns:1fr 2.3fr; gap:52px; padding:46px 0 80px; border-top:1px solid var(--line); }
.ms-home .faq-section h2 { font-size:27px; }
.ms-home .faq-list details { border-bottom:1px solid var(--line); }
.ms-home .faq-list summary { cursor:pointer; padding:19px 32px 19px 0; font-size:14px; font-weight:600; list-style:none; position:relative; word-break:keep-all; }
.ms-home .faq-list summary::-webkit-details-marker { display:none; }
.ms-home .faq-list summary::after { content:"+"; position:absolute; right:5px; top:15px; color:var(--muted); font-size:24px; font-weight:400; }
.ms-home .faq-list details[open] > summary::after { content:"−"; }
.ms-home .faq-list details[open] > summary { color:var(--purple); }
.ms-home .faq-list details p { color:var(--muted); font-size:13px; line-height:1.9; padding:0 30px 20px 0; word-break:keep-all; }
.ms-home .final-cta { background:#282032; color:#fff; position:relative; overflow:hidden; }
.ms-home .final-cta::after { content:""; position:absolute; right:4%; top:-100px; width:440px; height:440px; border:1px solid #ffffff0c; border-radius:50%; box-shadow:0 0 0 55px #ffffff02,0 0 0 110px #ffffff02; pointer-events:none; }
.ms-home .final-cta-inner { display:flex; justify-content:space-between; align-items:center; gap:36px; padding-block:61px; position:relative; z-index:1; }
.ms-home .final-cta-inner > div > span { color:#b3a3c2; font-size:12px; }
.ms-home .final-cta h2 { color:#fff; font-size:32px; font-weight:650; line-height:1.45; letter-spacing:-.9px; margin-top:12px; }
.ms-home .final-action { text-align:center; }
.ms-home .final-action .primary-cta { background:#f2e9ff; color:#67329b; min-width:248px; box-shadow:none; }
.ms-home .final-action .primary-cta:hover { background:#fff; }
.ms-home .final-action > p { color:#a18eaf; font-size:11px; margin-top:12px; }

@media (max-width:1100px) {
    .ms-home-page header { gap:25px; }
    .ms-home-page header ul { gap:20px; }
    .ms-home .hero { gap:34px; }
    .ms-home .hero h1 { font-size:52px; }
    .ms-home .hero-actions { gap:8px; }
    .ms-home .hero-actions .primary-cta, .ms-home .hero-actions .secondary-cta { font-size:13px; }
    .ms-home .hero-preview { padding:16px; }
    .ms-home .practice-card { padding:22px; }
    .ms-home .how-strip { grid-template-columns:160px 1fr; gap:20px; }
    .ms-home .steps-grid { gap:18px; }
    .ms-home .steps-grid li { gap:8px; }
    .ms-home .insight-card, .ms-home .prediction-card { padding:21px; }
    .ms-home .data-caption { display:none; }
    .ms-home .growth-grid { grid-template-columns:1.5fr 1fr; }
}
@media (max-width:849px) {
    .ms-home-page header { display:grid; grid-template-columns:1fr auto; gap:0; padding:10px 24px 0 !important; height:auto; min-height:0; text-align:left; }
    .ms-home-page header .logo { position:static; width:auto !important; height:auto; margin:0 !important; display:inline-flex; justify-self:start; gap:7px; }
    .ms-home-page header .logo .header_loge { height:33px; }
    .ms-home-page header .left_section_btn { display:none; }
    .ms-home-page header .mypage { grid-column:2; grid-row:1; z-index:2; }
    .ms-home-page header ul { display:flex !important; grid-column:1/-1; grid-row:2; width:100%; gap:25px; overflow-x:auto; margin:6px 0 0; scrollbar-width:none; }
    .ms-home-page header ul::-webkit-scrollbar { display:none; }
    .ms-home-page header li { font-size:13px; flex-shrink:0; }
    .ms-home-page header li a, .ms-home-page header li.active a { font-size:13px; color:#6d6378; padding:12px 0; }
    .ms-home-page header li.active a { color:#5b21b6; border-bottom:2px solid #5b21b6; }
    .ms-home-page header li img { display:none; }
    .ms-home .hero { gap:28px; padding-block:46px; }
    .ms-home .hero h1 { font-size:44px; letter-spacing:-2px; }
    .ms-home .hero-copy > p { font-size:14px; }
    .ms-home .eyebrow { font-size:11px; }
    .ms-home .hero-actions { gap:6px; align-items:flex-start; flex-direction:column; }
    .ms-home .hero-actions .secondary-cta { min-height:44px; padding-block:6px; }
    .ms-home .hero-preview { padding:14px; border-radius:19px; }
    .ms-home .practice-card { padding:19px; }
    .ms-home .practice-card h2 { font-size:21px; }
    .ms-home .practice-choices { gap:6px; }
    .ms-home .practice-choices button { font-size:11px; gap:5px; }
    .ms-home .practice-choices button > span { font-size:20px; }
    .ms-home .trust-row { font-size:11px; gap:12px; }
    .ms-home .how-strip { grid-template-columns:1fr; gap:22px; }
    .ms-home .how-intro { display:flex; gap:20px; align-items:center; }
    .ms-home .how-intro .section-kicker { margin:0; }
    .ms-home .how-intro h2 { font-size:17px; }
    .ms-home .how-intro br { display:none; }
    .ms-home .section { padding-block:64px; }
    .ms-home .section-heading h2 { font-size:28px; }
    .ms-home .section-heading p { font-size:13px; }
    .ms-home .round-count { font-size:11px; }
    .ms-home .prediction-grid, .ms-home .insight-grid, .ms-home .community-grid { gap:12px; }
    .ms-home .prediction-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ms-home .prediction-card { padding:21px; }
    .ms-home .prediction-head { display:grid; grid-template-columns:42px minmax(0,1fr) auto; }
    .ms-home .open-chip { margin-left:0; }
    .ms-home .round-deadline { flex-direction:column; align-items:flex-start; gap:3px; }
    .ms-home .round-cta { font-size:11px; gap:6px; }
    .ms-home .insight-card { padding:18px; }
    .ms-home .insight-card h3 { font-size:16px; }
    .ms-home .card-description { font-size:11px; }
    .ms-home .temperature-wait { font-size:18px; }
    .ms-home .temperature-value { font-size:42px; }
    .ms-home .compare-callout { font-size:11px; }
    .ms-home .community-stats { gap:14px; }
    .ms-home .community-stats > p { font-size:11px; }
    .ms-home .community-stats > div { gap:20px; }
    .ms-home .community-stats > div > span { gap:7px; font-size:11px; }
    .ms-home .community-stats strong { font-size:16px; }
    .ms-home .growth-grid { gap:15px; grid-template-columns:1.35fr 1fr; }
    .ms-home .ranking-card { padding:20px; }
    .ms-home .my-record-card { padding:26px 22px; }
    .ms-home .ranking-title { align-items:flex-start; flex-direction:column; gap:4px; }
    .ms-home .rank-table th:first-child { width:28px; }
    .ms-home .rank-table th:nth-child(2) { width:40%; }
    .ms-home .rank-user > img { width:21px; }
    .ms-home .rank-user { gap:5px; }
    .ms-home .rank-table td { font-size:11px; }
    .ms-home .community-card { padding:20px; }
    .ms-home .community-card h3 { font-size:14px; }
    .ms-home .faq-section { gap:35px; grid-template-columns:1fr 2fr; }
    .ms-home .final-cta h2 { font-size:29px; }
}
@media (max-width:639px) {
    .ms-home .content-width { width:calc(100% - 40px); }
    .ms-home-page header { padding-inline:20px !important; }
    .ms-home-page header ul { justify-content:space-between; gap:22px; }
    .ms-home-page header .mypage { font-size:12px; }
    .ms-home-page header .mypage .mobile_no_display { display:inline; }
    .ms-home-page header .mypage .logout.mobile_no_display, .ms-home-page header .mypage div.mobile_no_display { display:none; }
    .ms-home-page #footer_wrap .footer_bottom { flex-direction:column; align-items:center; }
    .ms-home-page #footer_wrap .footer_bottom .footer_logo { margin:0; }
    .ms-home-page #footer_wrap .footer_copyright { text-align:center; font-size:11px; }
    .ms-home-page #footer_wrap { font-size:11px; padding:28px 20px; }
    .ms-home-page #footer_wrap .footer_menu .menu_list li { margin-right:8px; }
    .ms-home .hero { grid-template-columns:1fr; gap:32px; padding-block:37px 30px; }
    .ms-home .hero h1 { font-size:45px; line-height:1.18; letter-spacing:-2px; margin:19px 0 17px; }
    .ms-home .hero-copy > p { font-size:14px; line-height:1.8; }
    .ms-home .eyebrow { font-size:11px; }
    .ms-home .hero-actions { flex-direction:row; align-items:center; gap:12px; margin-top:23px; }
    .ms-home .hero-actions .primary-cta { font-size:12px; min-height:48px; padding:12px 14px; gap:12px; }
    .ms-home .hero-actions .secondary-cta { font-size:11px; padding-inline:0; gap:4px; }
    .ms-home .trust-row { margin-top:14px; font-size:11px; }
    .ms-home .hero-preview { padding:14px; border-radius:18px; max-width:460px; width:100%; margin-inline:auto; }
    .ms-home .preview-heading { padding:0 3px 12px; }
    .ms-home .practice-card { padding:20px; }
    .ms-home .practice-card h2 { font-size:23px; margin-top:20px; }
    .ms-home .practice-choices button { font-size:12px; min-height:49px; gap:7px; }
    .ms-home .practice-chart svg { height:90px; }
    .ms-home .practice-feedback { font-size:11px; }
    .ms-home .practice-caption { font-size:11px; }
    .ms-home .preview-caption { padding-top:13px; }
    .ms-home .how-strip { padding-block:27px 32px; gap:23px; }
    .ms-home .how-intro { display:block; }
    .ms-home .how-intro .section-kicker { margin-bottom:7px; }
    .ms-home .how-intro h2 { font-size:21px; }
    .ms-home .steps-grid { grid-template-columns:1fr; gap:20px; }
    .ms-home .steps-grid li { gap:14px; }
    .ms-home .step-number { width:32px; height:32px; }
    .ms-home .steps-grid h3 { font-size:14px; }
    .ms-home .steps-grid p { font-size:12px; margin-top:2px; }
    .ms-home .section { padding-block:52px; }
    .ms-home .section-kicker { font-size:11px; margin-bottom:9px; }
    .ms-home .section-heading { margin-bottom:23px; }
    .ms-home .section-heading h2 { font-size:26px; letter-spacing:-.9px; }
    .ms-home .section-heading p { font-size:12px; line-height:1.8; margin-top:9px; }
    .ms-home .split-heading { align-items:flex-start; flex-direction:column; gap:13px; }
    .ms-home .round-count { font-size:11px; padding:0; }
    .ms-home .round-count strong { font-size:13px; }
    .ms-home .text-link { font-size:12px; padding-block:4px; min-height:44px; }
    .ms-home .market-grid { grid-template-columns:1fr; gap:12px; margin-bottom:16px; }
    .ms-home .market-link { padding:18px; gap:15px; }
    .ms-home .market-icon { width:48px; height:48px; border-radius:12px; }
    .ms-home .market-link h3 { font-size:18px; }
    .ms-home .market-link p { font-size:11px; }
    .ms-home .market-arrow { font-size:22px; }
    .ms-home .prediction-grid { grid-template-columns:1fr; gap:14px; }
    .ms-home .prediction-card { padding:22px; }
    .ms-home .prediction-head { flex-wrap:nowrap; }
    .ms-home .open-chip { margin-left:0; }
    .ms-home .round-deadline { flex-direction:row; align-items:center; margin-top:20px; }
    .ms-home .round-cta { font-size:12px; min-height:46px; }
    .ms-home .round-empty { flex-wrap:wrap; align-items:flex-start; padding:20px; gap:12px; }
    .ms-home .empty-clock svg { width:30px; height:30px; }
    .ms-home .round-empty > div { flex:1; }
    .ms-home .round-empty h3 { font-size:14px; }
    .ms-home .round-empty p { font-size:11px; line-height:1.8; }
    .ms-home .round-empty > a { margin:0 0 0 42px; font-size:11px; min-height:44px; }
    .ms-home .section-footnote { font-size:11px; line-height:1.8; text-align:left; }
    .ms-home .insight-band { padding-block:45px; }
    .ms-home .insight-grid { grid-template-columns:1fr; gap:15px; }
    .ms-home .insight-card { padding:24px; }
    .ms-home .insight-card h3 { font-size:19px; }
    .ms-home .card-description { font-size:12px; }
    .ms-home .card-heading { margin-bottom:13px; }
    .ms-home .temperature-display { min-height:130px; }
    .ms-home .temperature-wait { font-size:23px; }
    .ms-home .temperature-value { font-size:48px; }
    .ms-home .compare-callout { font-size:11px; }
    .ms-home .comparison { padding-top:25px; }
    .ms-home .compare-label { font-size:12px; }
    .ms-home .trend-empty { min-height:162px; }
    .ms-home .trend-bars { height:113px; }
    .ms-home .insight-note { font-size:11px; padding-top:20px; }
    .ms-home .community-stats { flex-direction:column; align-items:flex-start; margin-top:24px; padding-block:20px; gap:17px; }
    .ms-home .community-stats > div { justify-content:space-between; width:100%; gap:16px; }
    .ms-home .community-stats > div > span { align-items:flex-start; flex-direction:column; gap:3px; }
    .ms-home .community-stats > p { font-size:12px; }
    .ms-home .community-stats strong { font-size:20px; }
    .ms-home .insight-disclaimer { font-size:11px; line-height:1.8; }
    .ms-home .growth-grid { grid-template-columns:1fr; gap:18px; }
    .ms-home .ranking-card { padding:23px; }
    .ms-home .ranking-title { flex-direction:row; align-items:center; }
    .ms-home .ranking-title h3 { font-size:14px; }
    .ms-home .ranking-title > span { font-size:11px; }
    .ms-home .rank-table th:nth-child(2) { width:43%; }
    .ms-home .ranking-empty { min-height:290px; }
    .ms-home .ranking-empty h4 { font-size:15px; }
    .ms-home .my-record-card { padding:27px; }
    .ms-home .my-record-card h3 { font-size:25px; }
    .ms-home .my-record-card > .primary-cta { max-width:310px; }
    .ms-home .season-banner { gap:14px; padding:21px; flex-wrap:wrap; }
    .ms-home .season-symbol { width:39px; height:39px; font-size:26px; }
    .ms-home .season-banner > div:nth-child(2) { flex:1; min-width:0; }
    .ms-home .season-banner h3 { font-size:16px; }
    .ms-home .season-banner > strong { width:100%; padding-left:53px; font-size:11px; margin-top:1px; }
    .ms-home .season-banner p { font-size:11px; }
    .ms-home .community-section { padding-bottom:45px; }
    .ms-home .community-grid { grid-template-columns:1fr; gap:12px; }
    .ms-home .community-card { padding:22px; }
    .ms-home .community-card h3 { font-size:16px; min-height:0; }
    .ms-home .community-card p { margin-top:18px; }
    .ms-home .community-empty { padding:22px; gap:14px; flex-wrap:wrap; }
    .ms-home .community-empty > div { flex:1; }
    .ms-home .community-empty h3 { font-size:14px; }
    .ms-home .community-empty p { font-size:11px; }
    .ms-home .community-empty > span { font-size:52px; height:42px; }
    .ms-home .community-empty > strong { margin:0 0 0 38px; width:100%; font-size:11px; }
    .ms-home .faq-section { grid-template-columns:1fr; gap:18px; padding-block:36px 48px; }
    .ms-home .faq-section h2 { font-size:24px; }
    .ms-home .faq-section h2 br { display:none; }
    .ms-home .faq-list summary { font-size:13px; padding-block:19px; }
    .ms-home .faq-list details p { font-size:12px; }
    .ms-home .final-cta-inner { align-items:flex-start; flex-direction:column; gap:26px; padding-block:43px; }
    .ms-home .final-cta h2 { font-size:29px; }
    .ms-home .final-action { width:100%; }
    .ms-home .final-action .primary-cta { width:100%; }
}
@media (max-width:359px) {
    .ms-home .content-width { width:calc(100% - 32px); }
    .ms-home-page header { padding-inline:16px !important; }
    .ms-home-page header ul { gap:20px; }
    .ms-home .hero h1 { font-size:40px; }
    .ms-home .hero-actions { gap:5px; }
    .ms-home .hero-actions .primary-cta { padding-inline:11px; gap:8px; font-size:11px; }
    .ms-home .hero-actions .secondary-cta { font-size:11px; }
    .ms-home .hero-preview { padding:12px; }
    .ms-home .practice-card { padding:16px; }
    .ms-home .practice-choices button { font-size:11px; gap:4px; }
    .ms-home .practice-top strong { font-size:14px; }
    .ms-home .section-heading h2 { font-size:23px; }
    .ms-home .ranking-card { padding:17px; }
}
@media (prefers-reduced-motion:reduce) {
    .ms-home *, .ms-home *::before, .ms-home *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
