/* Additive PC / Android chapters; shared site components remain outside this scope. */
#bm-main :is(#pc-download,#android,#bmx-app-guide) { scroll-margin-top: 110px; }
#bm-main .bmx-pc { padding-block: 100px 120px; }
#bm-main .bmx-section-head { display:grid; grid-template-columns:1.35fr 1fr; gap:48px; align-items:end; margin:58px 0 52px; }
#bm-main .bmx-section-head .bm-eyebrow { margin-bottom:20px; }
#bm-main .bmx-section-head h2 { font-size:clamp(36px,4.5vw,66px); }
#bm-main .bmx-section-head > p { color:#adb7c0; font-size:18px; line-height:1.9; padding-bottom:5px; text-wrap:pretty; }
#bm-main .bmx-pc-stage { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:40px; align-items:center; }
#bm-main .bmx-manager { border:1px solid #354057; background:#0c111d; border-radius:12px; overflow:hidden; box-shadow:0 35px 100px #0007; }
#bm-main .bmx-window-bar { min-height:48px; padding:12px 20px; display:flex; align-items:center; justify-content:space-between; gap:15px; background:#171e2c; font:14px monospace; color:#c6d0dd; }
#bm-main .bmx-window-bar > span:first-child { display:flex; align-items:center; gap:10px; }
#bm-main .bmx-window-bar b { font:14px 'Pretendard Variable',sans-serif; font-weight:400; margin-left:12px; color:#a7b2c6; }
#bm-main .bmx-manager-body { display:grid; grid-template-columns:1.05fr 1fr; }
#bm-main .bmx-preview-form { padding:28px; border-right:1px solid #273144; }
#bm-main .bmx-field-label { display:block; font-size:14px; line-height:1.6; color:#b4bed0; margin-bottom:10px; }
#bm-main .bmx-url,#bm-main .bmx-quality { display:flex; align-items:center; gap:10px; background:#171f30; border:1px solid #2b354a; padding:14px; border-radius:8px; margin-bottom:25px; font-size:14px; }
#bm-main .bmx-url code { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font:14px monospace; flex:1; min-width:0; }
#bm-main .bmx-url > span { color:#8c9bb6; }
#bm-main .bmx-url b { white-space:nowrap; font-weight:500; }
#bm-main .bmx-quality { justify-content:space-between; }
#bm-main .bmx-option { display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:14px; padding:14px 0; border-bottom:1px solid #273144; }
#bm-main .bmx-option i { width:30px; height:17px; border-radius:12px; background:#34405a; padding:3px; flex-shrink:0; }
#bm-main .bmx-option i::after { content:''; display:block; width:11px; height:11px; background:#c8d2e4; border-radius:50%; }
#bm-main .bmx-option i.is-on { background:#5662df; }
#bm-main .bmx-option i.is-on::after { margin-left:13px; background:white; }
#bm-main .bmx-save-destination { margin-top:24px; padding-top:20px; border-top:1px solid #273144; }
#bm-main .bmx-save-destination > span { display:block; color:#a4afc3; font-size:14px; }
#bm-main .bmx-save-destination strong { display:block; margin-top:9px; font-size:16px; font-weight:600; }
#bm-main .bmx-save-destination small { display:block; margin-top:9px; color:#a4afc3; font-size:14px; line-height:1.7; }
#bm-main .bmx-preview-queue { padding:28px; background:#101726; }
#bm-main .bmx-preview-queue .bmx-field-label { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
#bm-main .bmx-field-label b { font:14px monospace; padding:2px 7px; background:#25304a; border-radius:4px; }
#bm-main .bmx-download-poster { position:relative; overflow:hidden; border-radius:7px; background:#0a1019; }
#bm-main .bmx-download-poster > img { display:block; width:100%; aspect-ratio:2/1; height:auto; object-fit:cover; transition:filter .4s,transform .6s; }
#bm-main .bmx-download-stamp { position:absolute; inset:0; display:grid; place-items:center; background:#08180d50; opacity:0; transition:opacity .3s; }
#bm-main .bmx-download-stamp svg { width:70px; height:70px; border-radius:50%; padding:13px; background:var(--bm-lime); color:#14200c; fill:none; stroke:currentColor; stroke-width:3.5; stroke-linecap:round; stroke-linejoin:round; transform:scale(.7); transition:transform .4s cubic-bezier(.16,1.6,.35,1); box-shadow:0 0 45px #d5ff6355; }
#bm-main [data-state="complete"] .bmx-download-stamp { opacity:1; }
#bm-main [data-state="complete"] .bmx-download-stamp svg { transform:scale(1); }
#bm-main [data-state="complete"] .bmx-download-poster > img { filter:brightness(.7); transform:scale(1.035); }
#bm-main .bmx-file { font-size:16px; margin-top:14px; line-height:1.5; }
#bm-main .bmx-file small { display:block; font-size:14px; color:#a4afc3; margin-top:5px; }
#bm-main .bmx-progress { height:10px; border-radius:7px; background:#2a344d; overflow:hidden; }
#bm-main .bmx-progress i { display:block; width:var(--demo-progress,0%); height:100%; border-radius:inherit; background:var(--bm-lime); box-shadow:0 0 20px #d5ff6370; }
#bm-main .bmx-download-readout { display:flex; align-items:end; justify-content:space-between; gap:12px; margin:22px 0 14px; }
#bm-main .bmx-download-phase { font:14px/1.5 monospace; letter-spacing:.02em; color:#aebcd0; max-width:145px; }
#bm-main .bmx-download-percent { display:flex; align-items:baseline; gap:4px; color:var(--bm-lime); font-variant-numeric:tabular-nums; white-space:nowrap; }
#bm-main .bmx-download-percent b { font:650 54px/1 monospace; letter-spacing:-.07em; }
#bm-main .bmx-download-percent small { font:18px monospace; }
#bm-main .bmx-download-status { min-height:64px; margin-top:15px; font-size:16px; line-height:1.65; color:#cad5e0; }
#bm-main [data-state="complete"] .bmx-download-status { color:var(--bm-lime); font-weight:650; }
#bm-main .bmx-download-status strong { display:block; font-size:20px; line-height:1.5; }
#bm-main .bmx-download-status > span { display:block; margin-top:4px; font-size:14px; color:#bdcbd8; font-weight:400; text-wrap:pretty; }
#bm-main [data-state="complete"] .bmx-save-note strong { color:var(--bm-lime); }
#bm-main .bmx-save-note > span { color:var(--bm-lime); font-size:14px; }
#bm-main .bmx-save-note strong { display:block; font-size:34px; letter-spacing:-.05em; line-height:1.3; margin-block:18px; text-wrap:balance; }
#bm-main .bmx-save-note p { font-size:16px; line-height:1.8; color:#aeb9c3; }
#bm-main .bmx-save-note .bm-text-link { margin-top:20px; gap:16px; font-size:14px; }
#bm-main .bmx-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:38px; list-style:none; padding:0; margin:60px 0 30px; }
#bm-main .bmx-steps li { display:flex; gap:18px; border-top:1px solid var(--bm-line); padding-top:25px; }
#bm-main .bmx-steps li > span { color:var(--bm-lime); font:14px monospace; padding-top:3px; }
#bm-main .bmx-steps h3 { font-size:20px; line-height:1.5; letter-spacing:-.035em; }
#bm-main .bmx-steps p { color:#aeb7be; font-size:16px; line-height:1.85; margin-top:12px; text-wrap:pretty; }
#bm-main .bmx-conditions { color:#a1adb7; font-size:14px; line-height:1.9; }
#bm-main .bmx-conditions p + p { margin-top:5px; }
#bm-main .bmx-android { padding-block:90px 110px; background:linear-gradient(145deg,#101915 0%,#0c1115 45%,#080a0d 100%); border-top:1px solid #d5ff6326; }
#bm-main .bmx-mobile-layout { display:grid; grid-template-columns:1.05fr 1fr; gap:45px; align-items:center; padding-top:65px; }
#bm-main .bmx-mobile-copy > .bm-eyebrow { margin-bottom:24px; }
#bm-main .bmx-mobile-copy h2 { font-size:clamp(38px,4.5vw,66px); }
#bm-main .bmx-lead { color:#b5bfc7; font-size:18px; line-height:1.85; margin-top:28px; }
#bm-main .bmx-mobile-features { display:grid; gap:26px; margin:38px 0; }
#bm-main .bmx-mobile-features > div { display:flex; gap:20px; }
#bm-main .bmx-mobile-features > div > span { color:var(--bm-lime); font-size:25px; width:27px; flex-shrink:0; }
#bm-main .bmx-mobile-features h3 { font-size:19px; line-height:1.5; }
#bm-main .bmx-mobile-features p { font-size:16px; line-height:1.8; color:#aeb9bf; margin-top:7px; max-width:440px; text-wrap:pretty; }
#bm-main .bmx-app-meta { margin-top:16px; font-size:14px; color:#b0bbb7; line-height:1.8; }
#bm-main .bmx-app-limit { margin-top:15px; color:#aebbb3; font-size:14px; line-height:1.8; }
#bm-main .bmx-app-limit a { color:#dce9d0; text-decoration:underline; text-underline-offset:4px; }
#bm-main .bmx-mobile-art { position:relative; min-height:720px; display:flex; align-items:center; justify-content:center; isolation:isolate; overflow:clip; }
#bm-main .bmx-art-word { position:absolute; top:40px; right:0; font:900 clamp(65px,7.2vw,110px)/.85 sans-serif; letter-spacing:-.08em; color:#d5ff6311; z-index:-1; }
#bm-main .bmx-orbit { position:absolute; width:580px; max-width:110%; aspect-ratio:1; border:1px solid #d5ff6317; border-radius:50%; transform:rotate(-25deg) scaleY(.75); z-index:-1; }
#bm-main .bmx-orbit-two { transform:rotate(35deg) scaleY(.75); }
#bm-main .bmx-phone { width:258px; height:524px; border:6px solid #313b3d; border-radius:36px; background:#0c111d; box-shadow:0 35px 70px #0009,inset 0 0 0 1px #86999255; position:absolute; overflow:hidden; }
#bm-main .bmx-phone::after { content:''; position:absolute; width:70px; height:4px; border-radius:5px; background:#d8dee4; bottom:10px; left:calc(50% - 35px); }
#bm-main .bmx-phone-back { transform:translate(-65px,-35px) rotate(-10deg); border-color:#30383d; }
#bm-main .bmx-phone-front { transform:translate(90px,95px) rotate(9deg); border-color:#5a6661; }
#bm-main .bmx-phone-status { display:flex; justify-content:space-between; font:14px sans-serif; padding:16px 17px; color:#dde5e5; }
#bm-main .bmx-phone-brand { display:flex; align-items:center; gap:9px; padding:18px 16px; font:600 14px monospace; }
#bm-main .bmx-library-label { display:flex; justify-content:space-between; font-size:22px; padding:7px 16px 20px; }
#bm-main .bmx-library-tile { position:relative; margin:0 12px; border-radius:12px; overflow:hidden; background:#192333; }
#bm-main .bmx-library-tile img { width:100%; height:102px; object-fit:cover; }
#bm-main .bmx-library-tile > span { display:block; padding:13px 10px; font:14px monospace; }
#bm-main .bmx-library-tile small { display:block; font:14px/1.5 'Pretendard Variable',sans-serif; color:#a9b8bd; margin-top:5px; }
#bm-main .bmx-library-tile > b { position:absolute; right:15px; top:75px; color:var(--bm-lime); }
#bm-main .bmx-phone-list { display:flex; align-items:center; gap:13px; padding:18px 16px 0; font-size:14px; }
#bm-main .bmx-phone-list > span { color:#c5d393; }
#bm-main .bmx-phone-list small { display:block; font:14px/1.5 monospace; margin-top:4px; color:#a7b0bf; }
#bm-main .bmx-phone-nav { position:absolute; bottom:30px; width:100%; text-align:center; font-size:14px; color:#c7d0dc; }
#bm-main .bmx-phone-video { position:relative; margin-top:42px; height:220px; }
#bm-main .bmx-phone-video > img { width:100%; height:100%; object-fit:cover; object-position:67%; }
#bm-main .bmx-phone-video::after { content:''; position:absolute; inset:0; background:linear-gradient(#0004,transparent 35%,#000a); }
#bm-main .bmx-phone-video-title { position:absolute; top:15px; left:12px; font:14px monospace; z-index:1; }
#bm-main .bmx-phone-play { position:absolute; left:calc(50% - 10px); top:calc(50% - 16px); z-index:1; font-size:32px; }
#bm-main .bmx-phone-timeline { position:absolute; left:13px; right:13px; bottom:13px; z-index:1; font:14px monospace; }
#bm-main .bmx-phone-timeline i { display:block; height:3px; background:linear-gradient(to right,#d5ff63 27%,#ffffff50 27%); margin-bottom:10px; }
#bm-main .bmx-phone-timeline small { color:#bdc6cd; font-size:14px; }
#bm-main .bmx-phone-caption { padding:20px 16px 15px; }
#bm-main .bmx-phone-caption > span { color:var(--bm-lime); font:14px monospace; }
#bm-main .bmx-phone-caption strong { display:block; margin-top:9px; font-size:24px; line-height:1.4; letter-spacing:-.04em; }
#bm-main .bmx-phone-chips { display:flex; gap:8px; padding-inline:16px; }
#bm-main .bmx-phone-chips > span { padding:6px 10px; border:1px solid #43505a; border-radius:6px; font-size:14px; color:#c5ced2; }
#bm-main .bmx-gesture { margin:17px 16px; font-size:14px; color:#aebbc4; }
#bm-main .bmx-gesture > span { color:var(--bm-lime); }
#bm-main .bmx-floating-label { position:absolute; bottom:5px; font:14px monospace; letter-spacing:.1em; color:#bbc8b9; display:flex; gap:10px; align-items:center; }
#bm-main .bmx-floating-label i { width:6px; height:6px; border-radius:50%; background:var(--bm-lime); }
#bm-main .bmx-connect { display:flex; gap:30px; align-items:center; margin-top:90px; padding:38px 0; border-block:1px solid #d5ff6333; }
#bm-main .bmx-connect-mark { font-size:64px; color:var(--bm-lime); flex-shrink:0; }
#bm-main .bmx-connect > div { flex:1; }
#bm-main .bmx-connect h3 { font-size:28px; line-height:1.4; margin-block:10px 12px; letter-spacing:-.04em; }
#bm-main .bmx-connect > div > p:last-child { max-width:760px; color:#b1bdb8; font-size:16px; line-height:1.9; text-wrap:pretty; }
#bm-main .bmx-connect > a { white-space:nowrap; }
#bm-main .bmx-app-guide { padding-block:27px; color:#b6c3bc; font-size:16px; line-height:1.9; }
#bm-main .bmx-app-guide summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:18px; }
#bm-main .bmx-app-guide summary::-webkit-details-marker { display:none; }
#bm-main .bmx-app-guide summary > span { color:var(--bm-lime); font-size:22px; }
#bm-main .bmx-app-guide[open] summary > span { transform:rotate(45deg); }
#bm-main .bmx-app-guide > div { display:grid; gap:14px; padding-top:22px; max-width:1040px; }
#bm-main .bmx-app-guide strong { color:#e1e9df; }
#bm-main .bmx-hero-android { background:#080a0d80; border-color:#d5ff6370; }
#bm-main .bmx-hero-android:hover { background:#1e2919; }
#bm-main .bm-hero-actions { flex-wrap:wrap; }
#bm-main .bm-hero-lead { font-size:16px; }
#bm-main .bmx-final-android { display:block; margin:18px auto 0; width:fit-content; font-size:16px; border-bottom:1px solid currentColor; padding-bottom:5px; }
@media (max-width:1100px) {
 #bm-main .bmx-pc-stage { grid-template-columns:1fr; gap:30px; }
 #bm-main .bmx-save-note { display:none; }
 #bm-main .bmx-mobile-layout { gap:20px; }
 #bm-main .bmx-mobile-art { transform:scale(.9); transform-origin:center; }
 #bm-main .bmx-section-head { grid-template-columns:1fr; gap:25px; }
 #bm-main .bmx-steps { gap:24px; }
}
@media (max-width:760px) {
 #bm-main .bmx-pc { padding-block:65px 75px; }
 #bm-main .bmx-section-head { margin:38px 0 32px; }
 #bm-main .bmx-section-head > p,#bm-main .bmx-lead { font-size:16px; }
 #bm-main .bmx-manager-body { grid-template-columns:1fr; }
 #bm-main .bmx-preview-form { display:none; }
 #bm-main .bmx-preview-queue { padding:22px; }
 #bm-main .bmx-download-poster > img { aspect-ratio:2.5/1; }
 #bm-main .bmx-window-bar { padding:12px 15px; }
 #bm-main .bmx-window-bar b { display:none; }
 #bm-main .bmx-steps { grid-template-columns:1fr; margin-top:35px; gap:24px; }
 #bm-main .bmx-steps p { margin-top:7px; }
 #bm-main .bmx-android { padding-block:65px 55px; }
 #bm-main .bmx-mobile-layout { grid-template-columns:1fr; padding-top:38px; gap:30px; }
 #bm-main .bmx-mobile-art { min-height:680px; transform:none; width:min(100%,470px); margin:auto; }
 #bm-main .bmx-phone-back { transform:translate(-64px,-30px) rotate(-9deg); }
 #bm-main .bmx-phone-front { transform:translate(63px,90px) rotate(8deg); }
 #bm-main .bmx-connect { margin-top:45px; gap:20px; flex-wrap:wrap; }
 #bm-main .bmx-connect-mark { display:none; }
 #bm-main .bmx-connect > div { flex-basis:100%; }
 #bm-main .bmx-connect h3 { font-size:26px; }
 #bm-main .bm-hero-actions .bm-button { min-height:52px; font-size:14px; padding-inline:16px; gap:9px; }
 #bm-main .bm-hero-actions .bm-button > span { margin-left:8px; }
 #bm-main .bm-hero-actions > p { flex-basis:100%; }
}
@media (prefers-reduced-motion:reduce) {
 #bm-main [data-download-demo] *,#bm-main [data-download-demo] *::after { animation:none !important; transition:none !important; }
}
@media (max-width:420px) {
 #bm-main .bmx-mobile-art { min-height:610px; }
 #bm-main .bmx-phone { width:230px; height:500px; }
 #bm-main .bmx-phone-back { transform:translate(-41px,-35px) rotate(-7deg); }
 #bm-main .bmx-phone-front { transform:translate(36px,65px) rotate(7deg); }
 #bm-main .bmx-art-word { top:15px; font-size:68px; }
 #bm-main .bmx-phone-video { margin-top:28px; height:205px; }
 #bm-main .bmx-floating-label { bottom:-4px; font-size:14px; }
}
@media (max-width:360px) {
 #bm-main .bmx-phone { width:206px; height:484px; }
 #bm-main .bmx-phone-back { transform:translate(-26px,-35px) rotate(-6deg); }
 #bm-main .bmx-phone-front { transform:translate(25px,60px) rotate(6deg); }
 #bm-main .bmx-phone-caption { padding-top:15px; }
 #bm-main .bmx-phone-video { height:196px; }
 #bm-main .bmx-gesture { margin-top:12px; }
 #bm-main .bmx-phone-caption strong { font-size:22px; }
}
