@font-face{font-family:"Source Han Serif SC";src:url("/assets/fonts/SourceHanSerifSC-Light.otf") format("opentype");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Source Han Serif SC";src:url("/assets/fonts/SourceHanSerifSC-Regular.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Source Han Serif SC";src:url("/assets/fonts/SourceHanSerifSC-SemiBold.otf") format("opentype");font-weight:600;font-style:normal;font-display:swap}

:root{
  --bm-blue:#1E3A8A;
  --bm-light-blue:#F2F6FF;
  --bm-gold:#D8B76A;
  --bm-red:#8B1A1A;
  --bm-text:#111;
  --bm-muted:#666;
  --bm-border:#111;
  --bm-soft-border:#e8e8e8;
  --bm-shadow:0 2px 8px rgba(0,0,0,.08);
  --bm-body:"PingFang SC";
  --bm-title:"Source Han Serif SC";
}

html,body{background:#fff!important;color:var(--bm-text)!important;font-family:var(--bm-body)!important;font-size:14px;letter-spacing:0!important}
body{line-height:1.7}
button,input,textarea,select,a{font-family:var(--bm-body)!important}
h1,.roadmap-title{font-family:var(--bm-title)!important;font-size:32px!important;font-weight:400!important;color:#111!important;letter-spacing:0!important}
.brand-title{font-family:var(--bm-title)!important;font-size:32px!important;font-weight:400!important;color:var(--bm-blue)!important;letter-spacing:0!important}
h2,.section-title{font-family:var(--bm-body)!important;font-size:16px!important;font-weight:400!important;color:#111!important;letter-spacing:0!important}
.core-summary,.danger-title,.check-title{font-family:var(--bm-body)!important;font-size:16px!important;font-weight:400!important;color:var(--bm-blue)!important;letter-spacing:0!important}
.brand-subtitle{font-size:18px!important}
.danger-title{color:var(--bm-red)!important}
p,li,.answer,.lead,.label,.question-row,.problem-row,.stage-row{font-family:var(--bm-body)!important;color:var(--bm-text);font-size:14px!important}
.meta,.hint,.privacy,.settings-msg,.stage-range-top,.site-footer{font-size:12px!important;color:var(--bm-muted)!important}

.topbar,.top-bar{background:#fff!important;border-bottom:1px solid var(--bm-soft-border)!important;display:flex!important;align-items:center!important;justify-content:flex-start!important}
.brand,.top-bar-brand{flex:0 0 auto}
.brand img,.top-bar-logo{width:180px!important;height:42px!important;object-fit:contain!important;object-position:left center!important}
.nav,.top-nav{display:flex!important;align-items:center!important;gap:18px!important;margin-left:8px!important;margin-right:0!important}
.nav a,.top-nav a{font-size:14px!important;color:#111!important;text-decoration:none!important;white-space:nowrap!important}
.nav a:hover,.top-nav a:hover,.nav a.active,.top-nav a.active{color:var(--bm-blue)!important}
.top-bar-right{margin-left:auto!important}

.btn,.diagnosis-btn,.auth-btn,.settings-btn,.actions button,.result button,.tab,.links a,.back{border:1px solid var(--bm-border)!important;border-radius:8px!important;background:#fff!important;color:#111!important;box-shadow:none!important;text-decoration:none!important}
.btn.primary,.settings-btn.primary,.actions button,.result button,.diagnosis-btn,.auth-box .auth-btn,.pwa-install-actions .primary,.tab.active{background:#111!important;color:#fff!important;border-color:#111!important}
.btn:hover,.diagnosis-btn:hover,.settings-btn:hover,.links a:hover{background:#111!important;color:#fff!important}
.expert-card a,.expert-card a:hover{border:0!important;background:transparent!important;box-shadow:none!important;color:#111!important;text-decoration:none!important;padding:0!important;border-radius:0!important}

.result-card,.section,.card,.login-box,.auth-box,.pwa-install-card{background:#fff!important;border:1px solid var(--bm-soft-border)!important;border-radius:8px!important;box-shadow:var(--bm-shadow)!important}
.input-area{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important}
.input-label{color:#111!important;font-size:14px!important;font-weight:400!important}
.ask-inline,.submit-inline{border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;color:#999!important}
.ask-inline:hover,.submit-inline:hover{background:transparent!important;color:#111!important}
.ask-inline::before{color:#999!important}
.ask-inline:hover::before{color:#111!important}
.settings-drawer{background:#fff!important;border:1px solid #111!important;border-radius:6px!important;box-shadow:var(--bm-shadow)!important}
.settings-section h3{color:#111!important;font-size:15px!important;font-weight:400!important}
.settings-row{color:#111!important;font-size:14px!important}
.settings-close{color:#111!important}
.settings-subhead{font-size:14px!important;color:#666!important;margin:16px 0 6px!important;font-weight:400!important}
.question-shell,textarea,input,.hist-search,.drawer-history-search,.history-search-input,.fav-search-input{border-color:#111!important;border-radius:8px!important;color:#111!important}
.question-shell:focus-within,textarea:focus,input:focus{border-color:#111!important;outline:none!important}

.item:hover,.problem-row:hover,.question-row:hover{background:#f7f7f7!important}
.item:has(input:checked),.problem-row.active,.question-row.active,.stage-row.active,.category-tab.active,.auth-method.active{background:var(--bm-light-blue)!important;color:var(--bm-blue)!important;border-color:var(--bm-blue)!important}
.route-dot.active,.route-dot:hover{background:var(--bm-blue)!important;border-color:var(--bm-blue)!important}
.ref-link,.case-link,.see-link,.fav-q,.comment-author,.reply-author{color:var(--bm-blue)!important}

.expert-card{box-shadow:none!important}
.expert-card:after{opacity:.18!important}
.header h1{color:inherit}
.site-footer{max-width:980px;margin:56px auto 22px;padding:0 22px;text-align:center}
body>.site-footer{margin-top:auto!important}
.site-footer a{color:#999!important;text-decoration:none!important;margin:0 10px;border:0!important;background:transparent!important}
.site-footer a:hover{color:var(--bm-blue)!important;background:transparent!important}
.site-footer span{color:#bbb;margin:0 6px}
.diagnosis-category{border:0;border-top:1px solid #eee;margin:0;padding:10px 0}
.diagnosis-category summary{cursor:pointer;list-style:none;font-size:16px;color:#111;display:flex;align-items:center;gap:8px}
.diagnosis-category summary::-webkit-details-marker{display:none}
.diagnosis-category summary:before{content:"▾";color:#888;font-size:18px;line-height:1}
.diagnosis-category:not([open]) summary:before{transform:rotate(-90deg)}
.diagnosis-items{display:grid;grid-template-columns:repeat(2,1fr);gap:2px 18px;margin-top:8px}
.diagnosis-extra-wrap{position:relative;max-width:680px;margin-left:auto;margin-right:auto}
.diagnosis-extra-wrap textarea{padding-right:48px!important}
.diagnosis-mic{position:absolute;right:8px;bottom:10px;width:32px;height:32px;border:0!important;background:transparent!important;color:#999!important;padding:0!important}
.feedback button{border:0!important;background:transparent!important;color:#111!important;box-shadow:none!important;border-radius:0!important}
.feedback button.active{color:var(--bm-blue)!important;background:transparent!important}
.feedback button svg{stroke:currentColor!important}
.option-title{position:relative}
.choose-plan-btn{width:48px!important;height:48px!important;border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;border-radius:0!important;vertical-align:-18px!important}
.choose-plan-btn img{width:44px!important;height:44px!important}
.page-menu-dot{width:28px;height:28px;border:0;background:transparent;color:#111;text-decoration:none;font-size:18px;line-height:28px;text-align:center;display:inline-flex;align-items:center;justify-content:center;margin-left:auto}
.page-menu-dot:hover{color:#111;background:transparent}
.topbar{position:relative}
.mobile-nav-toggle{display:none;width:28px;height:28px;border:0;background:transparent;color:#111;line-height:1;align-items:center;justify-content:center;cursor:pointer;margin-left:auto;padding:0!important;border-radius:6px}
.mobile-nav-toggle:hover{background:transparent!important}
.mobile-nav-icon{width:18px;height:16px;border:1.5px solid #111;border-radius:4px;position:relative;display:block;background:#fff;overflow:hidden}
.mobile-nav-icon:before{content:"";position:absolute;left:0;top:0;bottom:0;width:34%;background:#111;transition:width .18s ease}
.mobile-nav-toggle.active .mobile-nav-icon:before{width:46%}
.mobile-nav-toggle.active .mobile-nav-icon{border-color:#000}
@media(max-width:760px){
  .topbar .mobile-nav-toggle{display:inline-flex!important}
  .topbar .mobile-nav-toggle + .nav{display:none!important;position:absolute;left:10px;right:10px;top:48px;z-index:80;background:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:10px 12px;box-shadow:0 8px 22px rgba(0,0,0,.12);flex-direction:column;align-items:flex-start;gap:10px;overflow:visible!important;max-width:none!important}
  .topbar .mobile-nav-toggle + .nav.show{display:flex!important}
  .page-menu-dot{margin-left:6px}
}
.auth-overlay.show{display:flex!important;background:rgba(247,247,247,.72)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;align-items:center!important;justify-content:center!important}
.auth-box{width:430px!important;max-width:calc(100vw - 32px)!important;border:1px solid #e7e7e7!important;box-shadow:0 18px 48px rgba(0,0,0,.12)!important;border-radius:18px!important;padding:42px 34px 30px!important;background:#fff!important}
.auth-box h2{font-size:30px!important;line-height:1.2!important;text-align:center!important;margin:0 0 26px!important;color:#111!important;font-family:var(--bm-body)!important}
.auth-close{position:fixed!important;right:22px!important;top:18px!important;color:#111!important;font-size:18px!important}
.auth-methods{gap:8px!important}
.auth-method{background:#fff!important;color:#111!important;border:1px solid #111!important;border-radius:8px!important}
.auth-method.active{background:#111!important;color:#fff!important;border-color:#111!important}

@media(max-width:760px){
  h1,.brand-title,.roadmap-title{font-size:28px!important}
  h2,.core-summary,.danger-title,.check-title,.section-title{font-size:16px!important}
  .nav{gap:12px!important;overflow:auto!important}
  .top-nav{display:none!important;position:absolute!important;left:auto!important;right:48px!important;top:44px!important;width:220px!important;max-width:calc(100vw - 70px)!important;background:#fff!important;border:1px solid #e5e5e5!important;border-radius:8px!important;padding:10px 12px!important;box-shadow:0 8px 22px rgba(0,0,0,.12)!important;flex-direction:column!important;align-items:flex-start!important;gap:10px!important;overflow:visible!important;margin:0!important;z-index:80!important}
  .top-nav.show{display:flex!important}
  .settings-section.menu-secondary{position:static!important;width:100%!important;max-width:100%!important;max-height:280px!important;box-shadow:none!important;margin:4px 0 8px!important;border-color:#eee!important}
  .brand img,.top-bar-logo{width:28vw!important;min-width:92px!important;max-width:132px!important;height:32px!important}
  .nav a,.top-nav a{font-size:12px!important}
}
