/* Morromind look for Morro English. Generated by english-source/style/make-morromind-css.py from app.css + design.css; do not edit by hand. */
body{margin:0;background:rgba(79,125,255,.14);color:#eef2ff;font-family:'Geist',ui-sans-serif,system-ui,-apple-system,'PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;font-size:14px}
button,input,textarea,select{font:inherit}
a{color:inherit}
.sidebar{background:#3563e6;color:#fff;padding:32px 24px}
.brand{gap:12px;font-size:20px;font-weight:500;letter-spacing:-0.01em;padding:0 8px 48px}
.brand-mark{background:rgba(79,125,255,.14);color:#8aa8ff;border-radius:16px;font-size:20px;font-weight:500}
.brand small{color:#7888b1;font-size:12px;font-weight:500;letter-spacing:0;margin-top:-2px}
.side-label{color:#7888b1;font-size:12px;font-weight:500;letter-spacing:0;padding:0 16px;margin-bottom:16px}
.nav-item{gap:12px;padding:12px 16px;border:0;border-radius:10px;background:none;color:#7888b1;margin:3px 0;font-weight:500}
.nav-item.active,.nav-item:hover{background:#3563e6;color:#fff}
.nav-icon{font-size:18px;font-weight:400}
.side-bottom{margin-top:auto;padding:20px 12px;border-top:1px solid rgba(120,150,255,.28)}
.side-quote{font-size:18px;font-weight:500;margin-bottom:16px}
.side-bottom span{color:#7888b1;font-size:12px}
.topbar{padding:0 clamp(24px,5vw,76px);border-bottom:1px solid rgba(110,140,255,.14);background:#0a1434}
.crumb{font-size:12px;font-weight:500;letter-spacing:0;color:#7888b1}
.crumb span{margin:0 12px;color:#7888b1}
.crumb strong{color:#8aa8ff;letter-spacing:0;font-size:12px}
.top-actions{gap:16px;color:#9fb0d9;font-size:12px}
.icon-btn{border:1px solid rgba(110,140,255,.14);background:#0a1434;border-radius:10px;padding:8px 8px;color:#9fb0d9}
main{margin:auto;padding:40px clamp(24px,5vw,76px) 88px}
.eyebrow{font-size:12px;letter-spacing:0;text-transform:none;color:#8aa8ff;font-weight:500}
.page-title{font-size:clamp(28px,3.5vw,48px);letter-spacing:-0.01em;margin:12px 0 12px;font-weight:500}
.sub{color:#9fb0d9;margin:0 0 28px}
.hero{background:rgba(79,125,255,.14);border-radius:16px;padding:40px 44px;gap:20px}
.hero:after{font-size:48px;font-weight:500;color:#8aa8ff}
.hero h1{font-size:clamp(28px,3.2vw,40px);letter-spacing:-0.01em;margin:16px 0 16px}
.hero p{color:#9fb0d9}
.hero .btn{margin-top:8px}
.hero-meta{background:#0a1434;border:1px solid rgba(110,140,255,.14);border-radius:16px;padding:12px 16px;font-size:12px;color:#eef2ff}
.btn{gap:8px;border:0;background:#3563e6;color:#fff;border-radius:10px;padding:12px 20px;font-weight:500;font-size:13px}
.btn:hover{background:#3563e6}
.btn.light{background:rgba(79,125,255,.14);color:#8aa8ff}
.btn.outline{border:1px solid rgba(110,140,255,.14);color:#8aa8ff;background:#0a1434}
.btn.ghost{background:transparent;color:#8aa8ff}
.section-head{gap:16px;margin:32px 0 16px}
.section-head h2{font-size:20px;letter-spacing:-0.01em;margin:0}
.section-head p{color:#9fb0d9;margin:5px 0 0;font-size:12px}
.text-link{color:#8aa8ff;font-weight:500;font-size:12px}
.stats{gap:16px;margin:20px 0 28px}
.stat,.card{background:rgba(79,125,255,.14);border:1px solid rgba(110,140,255,.14);box-shadow:var(--shadow);border-radius:16px}
.stat{padding:20px}
.stat .n{font-size:28px;font-weight:500;margin:8px 0 3px}
.stat .k{color:#9fb0d9;font-size:12px}
.stat .symbol{color:#8aa8ff;font-size:16px}
.grid{gap:16px}
.lesson-card{padding:20px}
.lesson-card:hover{transform:none;border-color:rgba(110,140,255,.14)}
.lesson-no{font-size:12px;font-weight:500;color:#8aa8ff;letter-spacing:0}
.lesson-card h3{font-size:16px;margin:24px 0 8px}
.lesson-card p{color:#9fb0d9;font-size:12px;margin:0}
.lesson-foot{margin-top:auto;padding-top:16px;color:#7888b1;font-size:12px}
.progress-track{background:#071131;border-radius:16px}
.progress-track>span{background:#3563e6;border-radius:16px}
.callout{background:rgba(79,125,255,.14);border:1px solid rgba(110,140,255,.14);border-radius:16px;padding:16px 20px;color:#9fb0d9}
.lesson-top{gap:16px}
.back{border:0;background:none;color:#8aa8ff;font-weight:500;padding:0 0 16px}
.stepper{gap:8px;margin:24px 0 24px;padding:4px 0}
.step{border:1px solid rgba(110,140,255,.14);background:#0a1434;color:#9fb0d9;border-radius:10px;padding:12px 16px;font-size:12px;font-weight:500}
.step.active{background:#3563e6;color:#fff;border-color:rgba(79,125,255,.6)}
.step.done{border-color:#6ee7b7;color:#6ee7b7}
.panel{padding:clamp(20px,3vw,32px)}
.panel h2{margin:0 0 8px;font-size:20px;letter-spacing:-0.01em}
.panel .hint{color:#9fb0d9;margin:0 0 24px}
.row{gap:12px}
.chip{border-radius:10px;background:rgba(79,125,255,.14);color:#8aa8ff;padding:8px 12px;font-size:12px;font-weight:500}
.word-grid{gap:12px}
.word{border:1px solid rgba(110,140,255,.14);border-radius:16px;padding:16px;background:#0a1434}
.word h3{font-size:20px;margin:3px 0 2px}
.word .ipa{color:#9fb0d9;font-size:13px}
.word p{margin:8px 0;color:#9fb0d9;font-size:12px}
.word .cn{font-weight:500;color:#eef2ff;font-size:13px}
.word .gram{color:#9fb0d9}
.word .ex{border-top:1px solid rgba(110,140,255,.14);padding-top:8px}
.word .ex small{color:#7888b1;margin-top:3px}
.word-actions{gap:8px;margin-top:12px}
.mini-btn{border:1px solid rgba(110,140,255,.14);background:rgba(79,125,255,.14);color:#8aa8ff;padding:8px 8px;border-radius:10px;font-size:12px;font-weight:500}
.mini-btn.selected{background:#3563e6;color:#fff}
.audio-box{gap:16px;background:rgba(79,125,255,.14);border-radius:16px;padding:16px;margin:16px 0}
.audio-box .play{border:0;border-radius:50%;background:#3563e6;color:#fff;font-size:18px}
.audio-box strong{font-size:13px}
.audio-box small{color:#9fb0d9;font-size:12px;margin-top:3px}
.field{margin:16px 0}
.field>span{color:#9fb0d9;font-weight:500;font-size:12px;margin-bottom:8px}
.field input,.field textarea,select{border:1px solid rgba(110,140,255,.14);background:#0a1434;border-radius:10px;padding:12px 12px;outline:none;color:#eef2ff}
.field input:focus,.field textarea:focus{border-color:rgba(79,125,255,.6);box-shadow:none}
.answer-list{gap:8px}
.answer-item{background:rgba(79,125,255,.14);border:1px solid rgba(110,140,255,.14);padding:12px 16px;border-radius:16px}
.answer-item strong{font-size:12px}
.answer-item p{margin:8px 0 0;color:#9fb0d9;font-size:12px}
.answer-item.good{border-color:#6ee7b7;background:rgba(52,211,153,.12)}
.answer-item.bad{border-color:#fca5a5;background:rgba(248,113,113,.12)}
.passage{background:rgba(79,125,255,.14);border-left:3px solid rgba(120,150,255,.28);border-radius:0 10px 10px 0;padding:20px 24px;font-size:15px}
.question{border-top:1px solid rgba(110,140,255,.14);padding:16px 0}
.question:first-child{border-top:0}
.question p{font-weight:500;margin:0 0 8px}
.question small{color:#7888b1}
.flex-col{gap:12px}
.action-row{gap:8px;margin-top:20px}
.step-footer{gap:12px;border-top:1px solid rgba(110,140,255,.14);padding-top:20px;margin-top:28px}
.two-col{gap:16px}
.note{border-radius:16px;background:rgba(79,125,255,.14);padding:20px;color:#9fb0d9}
.note h3{margin:0 0 8px;color:#eef2ff}
.note p{margin:8px 0}
.prompt{font-size:16px;font-weight:500;padding:16px;background:rgba(79,125,255,.14);border:1px solid rgba(110,140,255,.14);border-radius:16px}
.prompt small{color:#8aa8ff;font-size:12px;margin-bottom:8px;letter-spacing:0}
.timer{font-size:20px;font-weight:500;color:#8aa8ff}
.rec-dot{border-radius:50%;background:#3563e6;margin-right:8px}
.tag{font-size:12px;background:rgba(79,125,255,.14);color:#9fb0d9;border-radius:10px;padding:5px 8px}
.review-card{padding:24px}
.review-front{font-size:32px;font-weight:500;margin:24px 0 4px}
.review-ipa{color:#7888b1}
.review-answer{border-top:1px solid rgba(110,140,255,.14);padding-top:16px;margin-top:24px}
.timeline{gap:12px}
.timeline .card{padding:20px}
.timeline strong{margin:8px 0}
.timeline p{color:#9fb0d9;font-size:12px}
.bar-chart{gap:8px}
.bar-col{color:#7888b1;font-size:12px}
.bar{background:rgba(79,125,255,.14);border-radius:6px 6px 0 0;margin-bottom:8px}
.bar.active{background:#3563e6}
.empty{padding:40px;color:#9fb0d9;background:#0a1434;border:1px dashed rgba(110,140,255,.14);border-radius:16px}
.empty strong{color:#eef2ff;font-size:16px;margin:8px 0}
.muted{color:#9fb0d9}
.divider{background:#111d44;margin:24px 0}
.small{font-size:12px}
.toast{background:#3563e6;color:#fff;padding:12px 16px;border-radius:16px;box-shadow:var(--shadow);transform:translateY(12px)}
.toast.show{transform:none}
.modal-back{background:#3563e6;padding:20px}
.modal{background:#0a1434;border-radius:16px;padding:24px}
.modal h2{margin:0 0 8px}
@media(max-width:1050px){.sidebar{padding:28px 16px}}
@media(max-width:730px){.topbar{padding:0 20px}}
@media(max-width:730px){.crumb{font-size:12px}}
@media(max-width:730px){.crumb strong{font-size:12px}}
@media(max-width:730px){.mobile-nav{background:#0a1434;box-shadow:none;padding:8px 5px calc(8px + env(safe-area-inset-bottom))}}
@media(max-width:730px){.mobile-nav button{border:0;background:none;color:#7888b1;font-size:12px;font-weight:500;gap:2px;padding:5px}}
@media(max-width:730px){.mobile-nav button b{font-size:18px;font-weight:400}}
@media(max-width:730px){.mobile-nav button.active{color:#8aa8ff}}
@media(max-width:730px){main{padding:24px 16px 104px}}
@media(max-width:730px){.hero{padding:24px}}
@media(max-width:730px){.hero:after{font-size:48px}}
@media(max-width:730px){.hero-meta{margin-top:16px}}
@media(max-width:730px){.stats{gap:8px}}
@media(max-width:730px){.stat{padding:16px}}
@media(max-width:730px){.stat .n{font-size:20px}}
@media(max-width:730px){.stepper{margin:16px -16px;padding:4px 16px}}
@media(max-width:730px){.step{padding:8px 12px}}
@media(max-width:730px){.panel{padding:20px}}
@media(max-width:730px){.page-title{letter-spacing:-0.01em}}
body{font-family:'Geist',ui-sans-serif,system-ui,-apple-system,'PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;font-size:15px;background:rgba(79,125,255,.14)}
.sidebar{background:rgba(79,125,255,.14);color:#eef2ff;border-right:1px solid rgba(110,140,255,.14);padding:32px 16px}
.brand{font-family:'Geist',ui-sans-serif,system-ui,-apple-system,'PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;padding:0 12px 64px;gap:8px;font-size:24px;letter-spacing:-0.01em}
.brand-mark{background:#3563e6;color:#fff;border-radius:10px;font-size:15px;letter-spacing:-0.01em}
.brand small{color:#9fb0d9;font-size:12px;letter-spacing:0;margin-top:-5px}
.side-label{color:#7888b1;padding:0 16px;margin-bottom:16px;font-size:12px}
.nav-item{color:#9fb0d9;border-radius:10px;font-size:14px;padding:12px 16px;gap:16px;font-weight:500}
.nav-item.active,.nav-item:hover{background:#111d44;color:#eef2ff}
.nav-item.active:before{background:#3563e6}
.nav-icon{font:500 12px 'Geist',ui-sans-serif,system-ui,-apple-system,'PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;color:#8aa8ff}
.side-bottom{border:0;padding:0 12px 12px}
.side-rule{background:#111d44;margin-bottom:24px}
.side-quote{font-size:16px;font-weight:500;margin-bottom:24px;letter-spacing:-0.01em}
.side-bottom span{color:#7888b1;font-size:12px;letter-spacing:0}
.topbar{background:rgba(79,125,255,.14);padding:0 clamp(28px,5vw,76px)}
.crumb{color:#7888b1;font-size:12px;letter-spacing:0}
.crumb strong{color:#eef2ff;font-size:12px;font-weight:500}
.crumb span{color:#7888b1}
.top-actions{color:#9fb0d9}
.icon-btn{border:0;background:transparent;color:#9fb0d9;border-radius:10px;font-size:12px;padding:12px}
main{padding:48px clamp(28px,5vw,76px) 100px}
.eyebrow{color:#8aa8ff;font-size:12px;font-weight:500;letter-spacing:0}
.page-title{font-size:clamp(32px,3.3vw,48px);letter-spacing:-0.01em;margin:8px 0}
.sub{color:#9fb0d9;font-size:14px;margin-bottom:28px}
.home-header{gap:32px;margin-bottom:24px}
.home-header .sub{margin:0}
.goal-note{border-left:1px solid rgba(110,140,255,.14);padding:0 0 0 24px}
.goal-note span{font-size:12px;color:#7888b1}
.goal-note strong{font:500 24px 'Geist',ui-sans-serif,system-ui,-apple-system,'PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;letter-spacing:-0.01em}
.goal-note small{font-size:12px;color:#7888b1}
.hero{background:#071131;border:1px solid rgba(110,140,255,.14);border-radius:16px;padding:36px 40px;box-shadow:none}
.hero h2{font-size:clamp(28px,2.6vw,40px);margin:16px 0 3px;letter-spacing:-0.01em}
.hero p{font-size:13px;color:#9fb0d9;margin:0 0 24px}
.hero .btn{margin:0}
.divider-dot{color:#7888b1;margin:0 8px}
.hero-side{border-left:1px solid rgba(110,140,255,.14);padding-left:28px;color:#9fb0d9;font-size:12px;gap:4px}
.hero-count{font:500 48px 'Geist',ui-sans-serif,system-ui,-apple-system,'PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;color:#eef2ff;letter-spacing:-0.01em}
.hero-count small{font-size:16px;letter-spacing:0;color:#7888b1}
.hero-side .progress-track{background:#111d44;margin-top:16px}
.btn{background:#3563e6;color:#fff;border-radius:10px;padding:12px 16px;font-size:13px;font-weight:500;box-shadow:none}
.btn:hover{background:#3563e6;transform:none}
.btn.outline{border-color:rgba(120,150,255,.28);color:#eef2ff;background:transparent}
.btn.outline:hover{background:rgba(79,125,255,.14)}
.btn.light{background:rgba(79,125,255,.14);color:#eef2ff}
.btn.ghost{background:transparent;color:#8aa8ff;padding:8px 0}
.btn.ghost:hover{background:none;color:#8aa8ff;transform:none}
.ledger{border-block:1px solid rgba(110,140,255,.14);margin:24px 0 48px}
.ledger>div{padding:16px 16px;border-right:1px solid rgba(110,140,255,.14);gap:8px}
.ledger>div:first-child{padding-left:0}
.ledger>div:last-child{border-right:0}
.ledger span{font-size:12px;color:#9fb0d9}
.ledger strong{font:500 24px 'Geist',ui-sans-serif,system-ui,-apple-system,'PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;letter-spacing:-0.01em}
.ledger small{font:500 12px 'Geist',ui-sans-serif,system-ui,-apple-system,'PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;letter-spacing:0;color:#7888b1}
.section-head{margin:40px 0 16px}
.section-head h2{font-size:20px;letter-spacing:-0.01em;margin-top:5px}
.section-head p{font-size:12px;margin-top:3px;color:#7888b1}
.grid{gap:12px}
.card{background:rgba(79,125,255,.14);border:1px solid rgba(110,140,255,.14);border-radius:16px;box-shadow:none}
.lesson-card{padding:20px 20px 16px}
.lesson-card:hover{border-color:rgba(120,150,255,.28);transform:none}
.lesson-no{font:500 20px 'Geist',ui-sans-serif,system-ui,-apple-system,'PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;letter-spacing:-0.01em;color:#8aa8ff}
.lesson-no span{font-size:12px;letter-spacing:0;color:#7888b1}
.lesson-main{gap:12px;margin:16px 0 20px}
.lesson-main h3{margin:0 0 4px;font-size:16px;letter-spacing:-.3px}
.lesson-main p{font-size:12px;color:#7888b1}
.lesson-arrow{color:#8aa8ff;font-size:18px}
.lesson-foot{border-top:1px solid rgba(110,140,255,.14);padding:12px 0 8px;font-size:12px;color:#9fb0d9}
.lesson-card>.progress-track{background:#071131}
.progress-track>span{background:#3563e6}
.review-strip{gap:24px;background:rgba(79,125,255,.14);border:1px solid rgba(110,140,255,.14);border-radius:16px;padding:20px 24px}
.review-number{font:500 32px 'Geist',ui-sans-serif,system-ui,-apple-system,'PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;color:#8aa8ff;letter-spacing:-0.01em}
.review-strip strong{font-size:14px}
.review-strip p{font-size:12px;color:#7888b1;margin:3px 0 0}
.timeline{gap:0;border:1px solid rgba(110,140,255,.14);border-radius:16px}
.timeline .card{border:0;border-right:1px solid rgba(110,140,255,.14);border-radius:0;padding:24px 20px}
.timeline .card:last-child{border:0}
.timeline strong{font-size:14px;margin:16px 0 5px}
.timeline p{font-size:12px}
.chip{background:rgba(79,125,255,.14);color:#8aa8ff;border-radius:10px;padding:5px 8px;font-size:12px}
.lesson-top .page-title{font-size:32px}
.lesson-top .sub{margin-bottom:4px}
.stepper{gap:0;border-bottom:1px solid rgba(110,140,255,.14);margin-top:24px;padding-bottom:0}
.step{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;margin-bottom:-1px;color:#7888b1;padding:12px 16px}
.step.active{background:transparent;color:#8aa8ff;border-color:rgba(79,125,255,.6)}
.step.done{border-color:transparent;color:#9fb0d9}
.panel{border-radius:16px}
.panel h2{font-size:20px}
.panel .hint{font-size:13px}
.back{color:#8aa8ff;font-size:12px}
.word{border-radius:16px}
.word h3{letter-spacing:-0.01em}
.word .cn{color:#8aa8ff}
.mini-btn{border-radius:10px;background:rgba(79,125,255,.14);color:#eef2ff}
.mini-btn.selected{background:rgba(79,125,255,.14);color:#8aa8ff;border-color:rgba(79,125,255,.6)}
.audio-box{background:rgba(79,125,255,.14);border-radius:16px}
.audio-box .play{background:#3563e6;border-radius:10px}
.field input,.field textarea,select{border-radius:10px;background:rgba(79,125,255,.14);font-size:14px}
.field input:focus,.field textarea:focus{border-color:rgba(79,125,255,.6);box-shadow:none}
.note,.callout{border-radius:16px;background:rgba(79,125,255,.14);border-color:rgba(110,140,255,.14)}
.passage{background:rgba(79,125,255,.14);border-left-color:rgba(79,125,255,.6);border-radius:0}
.answer-item{background:rgba(79,125,255,.14);border-radius:16px}
.prompt{border-radius:16px;background:rgba(79,125,255,.14)}
.tag{border-radius:10px}
.review-front{font-size:40px}
.timer{color:#8aa8ff}
.empty{border-radius:16px}
.modal{border-radius:16px}
.toast{border-radius:16px}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid rgba(79,125,255,.6)}
@media(max-width:1050px){.sidebar{padding:24px 12px}}
@media(max-width:1050px){.timeline .card:nth-child(2){border-right:0}}
@media(max-width:1050px){.timeline .card:nth-child(-n+2){border-bottom:1px solid rgba(110,140,255,.14)}}
@media(max-width:730px){.topbar{background:rgba(79,125,255,.14);padding:0 16px}}
@media(max-width:730px){.mobile-nav{background:rgba(79,125,255,.14);border-top:1px solid rgba(110,140,255,.14);box-shadow:none}}
@media(max-width:730px){.mobile-nav button{color:#7888b1;gap:0;font-size:12px}}
@media(max-width:730px){.mobile-nav button b{font:500 12px 'Geist',ui-sans-serif,system-ui,-apple-system,'PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;color:#8aa8ff}}
@media(max-width:730px){.mobile-nav button.active{color:#8aa8ff}}
@media(max-width:730px){main{padding:28px 16px 104px}}
@media(max-width:730px){.home-header{margin-bottom:24px}}
@media(max-width:730px){.home-header .page-title{font-size:32px}}
@media(max-width:730px){.hero{padding:24px;border-radius:16px}}
@media(max-width:730px){.hero h2{font-size:28px}}
@media(max-width:730px){.hero-side{border-left:0;border-top:1px solid rgba(110,140,255,.14);padding:16px 0 0;margin-top:24px}}
@media(max-width:730px){.hero-count{font-size:28px;letter-spacing:-0.01em}}
@media(max-width:730px){.hero-side .progress-track{margin:0}}
@media(max-width:730px){.ledger{margin:20px 0 36px}}
@media(max-width:730px){.ledger>div{padding:12px;border-bottom:1px solid rgba(110,140,255,.14)}}
@media(max-width:730px){.ledger>div:first-child{padding-left:12px}}
@media(max-width:730px){.ledger>div:nth-child(2){border-right:0}}
@media(max-width:730px){.ledger>div:nth-child(n+3){border-bottom:0}}
@media(max-width:730px){.ledger strong{font-size:20px}}
@media(max-width:730px){.lesson-main{margin:8px 0 12px}}
@media(max-width:730px){.section-head{margin-top:32px}}
@media(max-width:730px){.review-strip{padding:16px;gap:12px}}
@media(max-width:730px){.review-number{font-size:24px}}
@media(max-width:730px){.timeline .card{border-right:0;border-bottom:1px solid rgba(110,140,255,.14)!important;padding:16px 16px}}
@media(max-width:730px){.timeline .card:last-child{border-bottom:0!important}}
@media(max-width:730px){.stepper{margin:12px -16px 20px;padding:0 16px}}
@media(max-width:730px){.step{padding:12px 12px}}
@media(max-width:730px){.lesson-top .page-title{font-size:28px}}
@media(max-width:730px){.panel{padding:20px}}
.lex-summary{gap:16px;border-block:1px solid rgba(110,140,255,.14);padding:16px 0 20px;margin-bottom:16px}
.lex-summary strong{font:500 40px 'Geist',ui-sans-serif,system-ui,-apple-system,'PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;letter-spacing:-0.01em}
.lex-summary span{color:#9fb0d9;font-size:12px}
.lex-summary span:last-child{margin-left:auto}
.lex-controls{gap:8px;margin-bottom:16px}
.lex-controls .field{margin:0}
.lex-count{font-size:12px;color:#9fb0d9;border-bottom:1px solid rgba(110,140,255,.14);padding:8px 0 16px;margin-bottom:16px}
.lex-pages{gap:16px;margin:28px 0}
.lex-pages span{font-size:12px;color:#9fb0d9}
.lex-credit{border-top:1px solid rgba(110,140,255,.14);padding-top:16px}
.lex-credit a{color:#8aa8ff}
@media(max-width:730px){.lex-summary span:last-child{margin-left:0}}
.review-metrics{border-block:1px solid rgba(110,140,255,.14);margin:0 0 24px}
.review-metrics>div{padding:16px 20px;border-right:1px solid rgba(110,140,255,.14)}
.review-metrics>div:first-child{padding-left:0}
.review-metrics>div:last-child{border:0}
.review-metrics strong{font:500 28px 'Geist',ui-sans-serif,system-ui,-apple-system,'PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;color:#eef2ff}
.review-metrics span{font-size:12px;color:#9fb0d9}
.curve{margin:16px 0 32px;padding:20px 24px;background:rgba(79,125,255,.14);border:1px solid rgba(110,140,255,.14);border-radius:16px}
.curve strong{font-size:14px}
.curve span,.curve p{font-size:12px;color:#9fb0d9}
.curve svg{margin:8px auto 0}
.curve text{fill:#7888b1;font:1 12px 'Geist',ui-sans-serif,system-ui,-apple-system,'PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif}
.curve p{margin:5px 0 0}
.review-card .action-row{gap:8px}
@media(max-width:730px){.review-metrics>div{padding:8px 16px;border-bottom:1px solid rgba(110,140,255,.14)}}
@media(max-width:730px){.review-metrics>div:nth-child(2){border-right:0}}
@media(max-width:730px){.review-metrics>div:nth-child(n+3){border-bottom:0}}
@media(max-width:730px){.review-metrics>div:first-child{padding-left:16px}}
@media(max-width:730px){.curve{padding:16px}}
@media(max-width:730px){.curve span{margin-top:4px}}
/* ── Morromind chrome (hand-written) ── */
@font-face{font-family:'Geist';font-style:normal;font-display:swap;font-weight:100 900;src:url(./fonts/geist-variable.woff2) format('woff2')}
:root{color-scheme:dark;--bg:#020a1c;--paper:#0a1434;--ink:#eef2ff;--muted:#9fb0d9;--line:rgba(110,140,255,.14);--teal:#8aa8ff;--soft:rgba(79,125,255,.14);--shadow:none;--mm-accent:#3563e6;--mm-accent-hover:#3d6cf0;--mm-accent-text:#8aa8ff;--mm-muted:#7888b1;--mm-focus:rgba(90,140,255,.8)}
html,body{background:#020a1c}
body{color:#eef2ff;font-family:'Geist',ui-sans-serif,system-ui,-apple-system,'PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,strong,b,th,legend{font-weight:500}
::selection{background:rgba(79,125,255,.4);color:#fff}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--mm-focus);outline-offset:2px}
input,textarea,select{background:rgba(6,14,40,.75);color:#eef2ff;border-color:rgba(110,140,255,.14)}
input::placeholder,textarea::placeholder{color:#7888b1}
*{box-shadow:none!important;text-shadow:none!important}
.btn{background:var(--mm-accent);color:#fff;border:1px solid transparent;font-weight:500;font-size:14px;min-height:40px;border-radius:10px}
.btn:hover{background:var(--mm-accent-hover);transform:none}
.btn.outline,.btn.light{background:rgba(255,255,255,.05);color:#eef2ff;border:1px solid rgba(120,150,255,.24)}
.btn.outline:hover,.btn.light:hover{background:rgba(255,255,255,.09)}
.btn.ghost,.btn.ghost:hover{background:transparent;color:var(--mm-accent-text);border-color:transparent}
.mini-btn{background:rgba(255,255,255,.05);color:#eef2ff;border:1px solid rgba(120,150,255,.24);font-weight:500;font-size:13px;display:inline-flex;align-items:center;gap:6px}
.mini-btn.selected{background:rgba(79,125,255,.14);color:#eef2ff;border-color:rgba(79,125,255,.6)}
.chip,.tag{background:rgba(255,255,255,.06);color:#9fb0d9;font-weight:500;font-size:12px}
.icon-btn{color:#9fb0d9;display:inline-flex;align-items:center;gap:6px}
.icon-btn:hover{color:#eef2ff}
.nav-item.active,.nav-item:hover{background:rgba(255,255,255,.06);color:#eef2ff}
.nav-item.active:before{background:#4f7dff}
.mobile-nav{background:#020817;border-top:1px solid rgba(110,140,255,.14)}
.mobile-nav button.active,.mobile-nav button.active b{color:#8aa8ff}
.audio-box .play{display:inline-grid;place-items:center;background:var(--mm-accent);color:#fff}
svg [stroke="#294039"]{stroke:#9fb0d9}
svg [stroke="#e1e3dc"]{stroke:rgba(120,150,255,.28)}
svg [stroke="#bd573b"]{stroke:#4f7dff}
svg [fill="#bd573b"]{fill:#4f7dff}
svg text{fill:#9fb0d9}
.mm-i{width:18px;height:18px;flex-shrink:0;vertical-align:-4px}
.toast{background:#0a1434;color:#eef2ff;border:1px solid rgba(120,150,255,.24)}
/* Morromind header bar: brand mark back to Morromind, section name to the intro page. */
.mm-bar{position:relative;z-index:60;height:56px;display:flex;align-items:center;gap:12px;padding:0 16px;background:#020817;border-bottom:1px solid rgba(110,140,255,.14)}
.mm-bar a{display:inline-flex;align-items:center;gap:8px;color:#eef2ff;text-decoration:none;min-height:44px}
.mm-bar .mm-mark{height:24px;width:auto}
.mm-bar .mm-word{height:19px;width:auto;opacity:.9;display:none}
.mm-bar .mm-sep{width:1px;height:16px;background:rgba(120,150,255,.24)}
.mm-bar .mm-section{font-size:15px;font-weight:500}
.mm-bar .mm-back{margin-left:auto;color:#9fb0d9;font-size:14px}
.mm-bar .mm-back:hover{color:#eef2ff}
/* phones: the bar scrolls away with the page so it never covers text; sticky with the sidebar layout */
@media(min-width:768px){.mm-bar{position:sticky;top:0;height:64px;padding:0 24px}.mm-bar .mm-mark{height:32px}.mm-bar .mm-word{display:block}}
.sidebar{top:64px;height:calc(100vh - 64px);min-height:0;background:#020817;border-right:1px solid rgba(110,140,255,.14)}
.shell{min-height:calc(100vh - 64px)}
/* Site footer with the ICP filing (and a slot for a future 公安 filing). */
.mm-footer{border-top:1px solid rgba(110,140,255,.14);margin-top:48px;padding:24px 0 32px;color:#7888b1;font-size:12px;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
.mm-footer a{color:#7888b1;text-decoration:none}
.mm-footer a:hover{color:#9fb0d9;text-decoration:underline}
.mm-beian{display:inline-flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
@media(max-width:730px){.mm-footer{padding-bottom:96px}}
.topbar{background:#020a1c;border-bottom:1px solid rgba(110,140,255,.14)}
.step.active{color:#eef2ff;border-color:#4f7dff}
