/* Authentic excerpts from Minzi: Sidebar, SceneDemo, WritingModule, WordReview.
   Original sources and unchanged assets: assets/authentic/minzi/PROVENANCE.md. */
@font-face{font-family:MinziInter;src:url('assets/authentic/minzi/inter-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0100-024F,U+0300-036F,U+2000-206F,U+20AC,U+2122,U+2191,U+2193}
@font-face{font-family:MinziInter;src:url('assets/authentic/minzi/inter-cyrillic.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:MinziCormorant;src:url('assets/authentic/minzi/cormorant-400-latin.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:MinziCormorant;src:url('assets/authentic/minzi/cormorant-400-cyrillic.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:MinziCormorant;src:url('assets/authentic/minzi/cormorant-500-latin.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:MinziCormorant;src:url('assets/authentic/minzi/cormorant-500-cyrillic.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:MinziCormorant;src:url('assets/authentic/minzi/cormorant-600-latin.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:MinziCormorant;src:url('assets/authentic/minzi/cormorant-600-cyrillic.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
.mz-panel{--mz-paper:#faf7f0;--mz-surface:#fffdf8;--mz-surface2:#f1ede3;--mz-ink:#20392d;--mz-muted:#626c60;--mz-green:#2e6b4b;--mz-deep:#1f5e3b;--mz-soft:#d8eadd;--mz-coral:#b84c3d;--mz-border:#deded0;--mz-display:MinziCormorant,"Cormorant Garamond",Georgia,serif;--mz-hanzi:"Noto Serif SC","Source Han Serif SC","Songti SC","STSong",serif}
.mz-app{display:flex;width:min(980px,100%);height:min(430px,calc(100svh - 290px));min-height:340px;margin:22px auto 0;overflow:hidden;border:1px solid var(--mz-border);border-radius:14px;background:var(--mz-paper);color:var(--mz-ink);font:13px/1.45 MinziInter,Inter,system-ui,sans-serif;letter-spacing:normal;text-align:left;color-scheme:light;box-shadow:0 18px 50px -35px #20392d40}
.mz-app *{box-sizing:border-box}.mz-app :is(p,h3,h4,figure){margin:0}.mz-app :is(a,span,div,p,h3,h4){text-shadow:none}.mz-app a{text-decoration:none;color:var(--mz-deep)}.mz-app a:focus-visible{outline:2px solid var(--mz-green);outline-offset:4px}.mz-app img{display:block;max-width:100%;height:auto}.mz-hanzi{font-family:var(--mz-hanzi);color:#2a2c28;font-weight:400}
.mz-sidebar{width:176px;flex:0 0 176px;padding:18px 14px;border-right:1px solid var(--mz-border);background:var(--mz-paper);color:var(--mz-ink)}
.mz-logo{display:flex;align-items:center;gap:8px;color:var(--mz-ink)!important;white-space:nowrap}.mz-logo img{width:30px;height:30px;border-radius:7px}.mz-logo-word{display:block;font:600 27px/.96 var(--mz-display);letter-spacing:-.03em;color:var(--mz-ink)}.mz-logo-tagline{display:block;margin-top:4px;font-size:7px;color:var(--mz-muted);letter-spacing:.015em}
.mz-nav{margin-top:16px}.mz-nav-label{margin:10px 9px 5px!important;font-size:7px;letter-spacing:.18em;text-transform:uppercase;color:var(--mz-muted)}.mz-nav-row{display:flex;align-items:center;gap:9px;min-height:23px;margin:1px 0;padding:4px 10px;border-radius:999px;font-size:10px;color:var(--mz-muted)}.mz-nav-row svg{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.mz-nav-row.mz-active{background:var(--mz-soft);color:var(--mz-deep);font-weight:500}.mz-nav-row.mz-active::after{content:"";width:4px;height:4px;margin-left:auto;border-radius:50%;background:currentColor}
.mz-main{min-width:0;flex:1;padding:24px 26px;color:var(--mz-ink)}.mz-eyebrow{font-size:8px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--mz-deep)}.mz-pill{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:42px;padding:10px 21px;border-radius:999px;background:var(--mz-coral);color:white!important;font-size:12px;font-weight:500;box-shadow:0 1px 0 #ffffff33 inset,0 8px 22px -10px #c43a3a8c}.mz-pill.mz-muted-control{opacity:.45;box-shadow:none}.mz-level{display:inline-flex;align-items:center;gap:9px;min-height:35px;padding:5px 11px 5px 5px;border:1px solid #c4cbbe;border-radius:999px;font-size:9px;color:var(--mz-ink)}.mz-level b{display:grid;place-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:var(--mz-ink);color:var(--mz-paper);font-size:8px}.mz-level svg{width:11px;height:11px;margin-left:3px;fill:none;stroke:currentColor;stroke-width:1.5}
.mz-intro-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,.73fr);gap:16px;align-items:center;height:100%}.mz-intro-title{margin-top:15px!important;font:500 clamp(60px,6vw,82px)/.95 var(--mz-display);letter-spacing:-.04em;color:var(--mz-ink)}.mz-intro-text{max-width:340px;margin-top:17px!important;font-size:13px;line-height:1.65;color:var(--mz-muted)}.mz-intro-content .mz-level{margin-top:20px}.mz-intro-cta{margin-top:16px}.mz-intro-note{margin-top:12px!important;font-size:8px;color:var(--mz-muted)}.mz-theme-note{margin-top:18px!important;font-size:9px;color:var(--mz-deep)}.mz-portrait-hello{position:relative;isolation:isolate;display:grid;place-items:center;min-height:260px}.mz-portrait-hello::before{content:"";position:absolute;inset:11% -2% 3%;z-index:-1;border-radius:46% 54% 57% 43%;background:#fde6e3;transform:rotate(-11deg)}.mz-portrait-hello::after{content:"你好";position:absolute;right:-4px;top:7px;z-index:-1;font:62px/1 var(--mz-hanzi);color:var(--mz-deep);opacity:.13;transform:rotate(7deg)}.mz-portrait-hello img{width:240px;filter:drop-shadow(0 15px 18px #1c231e18)}
.mz-session-top{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--mz-muted);font-size:9px}.mz-session-top .mz-level{min-height:29px}.mz-session-top .mz-level b{min-height:21px}.mz-session-heading{margin:15px 0 13px}.mz-session-title{margin-top:7px!important;color:var(--mz-ink);font:500 53px/.98 var(--mz-display);letter-spacing:-.025em}.mz-live-grid{display:grid;grid-template-columns:minmax(0,1fr) 164px;gap:20px;align-items:start}.mz-character-scene{display:grid;grid-template-columns:115px minmax(0,1fr);gap:16px;align-items:center;min-height:140px}.mz-character-portrait{position:relative;isolation:isolate}.mz-character-portrait::before{content:"";position:absolute;inset:20% 3% 0;z-index:-1;background:#e8e4d8;border-radius:47% 53% 55% 45%;transform:rotate(-8deg)}.mz-character-portrait img{width:112px;height:145px;object-fit:contain;filter:drop-shadow(0 8px 12px #1c231e12)}.mz-character-caption{font-size:7px;color:var(--mz-muted);margin-bottom:12px!important}.mz-bubble-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:9px;color:var(--mz-muted)}.mz-sound{width:13px;height:13px;fill:none;stroke:var(--mz-deep);stroke-width:1.4}.mz-hanzi-line{margin-top:9px!important;font-size:25px;line-height:1.5;overflow-wrap:anywhere}.mz-pinyin-line{margin-top:4px!important;font-size:9px;line-height:1.5;color:var(--mz-muted)}.mz-translation-note{margin-top:9px!important;color:var(--mz-deep);font-size:8px;text-decoration:underline;text-underline-offset:3px}.mz-objectives{padding:16px;border-radius:20px;background:var(--mz-ink);color:var(--mz-paper)}.mz-objective-caption{display:flex;justify-content:space-between;gap:9px;font-size:6px;letter-spacing:.1em;text-transform:uppercase;color:#faf7f0b3}.mz-objective-goal{margin-top:13px!important;font:500 22px/1.12 var(--mz-display);color:var(--mz-paper)}.mz-objectives ol{display:grid;gap:11px;margin:17px 0 0;padding:0;list-style:none;counter-reset:mz-goal}.mz-objectives li{display:flex;align-items:center;gap:7px;color:var(--mz-paper);font-size:8px;counter-increment:mz-goal}.mz-objectives li::before{content:counter(mz-goal);display:grid;place-items:center;flex:none;width:19px;height:19px;border:1px solid #faf7f080;border-radius:50%;font-size:7px;color:#faf7f0b3}.mz-response{margin-top:12px;padding-top:12px;border-top:1px solid var(--mz-border)}.mz-input-heading{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:600;color:var(--mz-ink)}.mz-input-heading small{font-size:6px;font-weight:400;color:var(--mz-muted)}.mz-input-row{display:flex;align-items:flex-end;gap:8px;margin-top:9px}.mz-fake-input{flex:1;min-width:0;min-height:51px;padding:12px;border:1px solid var(--mz-border);border-radius:10px;background:var(--mz-surface);color:#788173;font-size:9px}.mz-input-row .mz-pill{min-height:34px;padding:8px 12px;font-size:9px;border-radius:10px}.mz-input-help{margin-top:7px!important;color:var(--mz-muted);font-size:6px}.mz-session-tools{display:flex;justify-content:space-between;gap:10px;margin-top:12px;color:var(--mz-deep);font-size:8px}.mz-static-caption{color:var(--mz-muted);font-size:8px}
.mz-module-main{display:flex;flex-direction:column;justify-content:center;padding-top:16px;padding-bottom:16px}.mz-writing-module{width:min(100%,510px);margin:0 auto}.mz-module-header{display:flex;align-items:center;justify-content:space-between;color:var(--mz-muted);font-size:10px}.mz-module-heading{text-align:right;color:#788173;font-size:8px;letter-spacing:.2em;text-transform:uppercase}.mz-module-heading small{display:block;margin-top:3px;font-size:8px;letter-spacing:normal;text-transform:none}.mz-progress-strip{display:flex;gap:4px;margin:10px 0 13px}.mz-progress-strip i{height:3px;flex:1;border-radius:99px;background:var(--mz-border)}.mz-progress-strip i:first-child{background:var(--mz-ink)}.mz-word-context{display:flex;justify-content:center;align-items:baseline;gap:9px;margin-bottom:12px;color:#788173;font-size:10px}.mz-word-context .mz-in-word{font-size:8px;letter-spacing:.2em;text-transform:uppercase}.mz-word-context .mz-hanzi{font-size:19px;color:var(--mz-muted)}.mz-word-context em{font-size:10px;font-style:italic}.mz-writing-card{display:flex;flex-direction:column;align-items:center;gap:9px;padding:17px 20px 14px;background:var(--mz-surface);border:1px solid var(--mz-border);border-radius:20px;box-shadow:0 1px 0 #ffffff80 inset,0 6px 18px -12px #1c231e29,0 1px 2px #1c231e0a}.mz-writing-canvas{width:clamp(145px,calc(100svh - 485px),184px);aspect-ratio:1;border:1px solid var(--mz-border);border-radius:18px;padding:9px;background-color:var(--mz-surface);background-image:linear-gradient(45deg,transparent calc(50% - .4px),#e3e1da 50%,transparent calc(50% + .4px)),linear-gradient(-45deg,transparent calc(50% - .4px),#e3e1da 50%,transparent calc(50% + .4px)),linear-gradient(90deg,transparent calc(50% - .4px),#e3e1da 50%,transparent calc(50% + .4px)),linear-gradient(0deg,transparent calc(50% - .4px),#e3e1da 50%,transparent calc(50% + .4px))}.mz-writing-canvas svg{width:100%;height:100%;display:block;fill:#2a2c28}.mz-stroke-progress{display:flex;align-items:center;gap:10px;width:min(100%,236px);font-size:8px;color:var(--mz-muted)}.mz-stroke-progress>i{height:4px;flex:1;border-radius:99px;background:var(--mz-green)}.mz-writing-feedback{font-size:9px;color:var(--mz-deep);text-align:center}.mz-writing-card .mz-pill{min-height:29px;padding:7px 16px;font-size:9px}
.mz-review-main{display:flex;flex-direction:column;justify-content:center;padding:17px 28px}.mz-review-module{width:min(100%,540px);margin:0 auto}.mz-review-back{margin-bottom:12px!important;font-size:10px;color:var(--mz-muted)}.mz-review-card{padding:18px 22px;background:var(--mz-surface);border:1px solid var(--mz-border);border-radius:20px;box-shadow:0 1px 0 #ffffff80 inset,0 6px 18px -12px #1c231e29}.mz-review-instruction{text-align:center;font-size:10px;color:var(--mz-muted)}.mz-review-character{text-align:center;font:400 61px/1.16 var(--mz-hanzi);color:#2a2c28;margin-top:9px!important}.mz-listen{text-align:center;font-size:10px;color:var(--mz-ink);margin:8px 0 12px!important}.mz-review-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mz-review-option{min-height:38px;display:flex;align-items:center;padding:9px 12px;border:1px solid var(--mz-border);border-radius:12px;color:var(--mz-ink);font-size:10px;line-height:1.35}.mz-review-option.mz-selected{border-color:var(--mz-green);background:var(--mz-soft)}.mz-answer-feedback{display:flex;align-items:center;gap:10px;margin-top:12px;padding:7px 12px;border-radius:16px;background:var(--mz-soft)}.mz-answer-feedback img{width:48px;height:48px;object-fit:contain}.mz-answer-feedback strong{display:block;color:var(--mz-deep);font-size:10px;font-weight:500}.mz-answer-feedback p{margin-top:4px!important;font-size:9px;line-height:1.5;color:var(--mz-muted)}.mz-review-reading{margin-top:9px!important;text-align:center;color:var(--mz-muted);font-size:10px}.mz-review-next{display:flex;justify-content:center;margin-top:10px}.mz-review-next .mz-pill{min-height:31px;padding:8px 17px;font-size:9px}
@media(max-width:900px){.mz-sidebar{width:154px;flex-basis:154px;padding-inline:11px}.mz-main{padding-inline:20px}.mz-logo-word{font-size:25px}.mz-logo-tagline{font-size:6px}.mz-nav-row{font-size:9px;padding-inline:9px}.mz-intro-title{font-size:66px}.mz-live-grid{grid-template-columns:minmax(0,1fr) 142px;gap:14px}.mz-character-scene{grid-template-columns:91px minmax(0,1fr);gap:11px}.mz-character-portrait img{width:90px;height:132px}.mz-objectives{padding:14px}.mz-objective-goal{font-size:20px}.mz-hanzi-line{font-size:23px}.mz-session-title{font-size:47px}}
@media(max-width:700px){.mz-app{height:430px;max-height:calc(100svh - 250px);min-height:340px;margin-top:19px;border-radius:12px}.mz-sidebar{display:none}.mz-main{padding:22px}.mz-intro-title{font-size:76px}.mz-intro-content{grid-template-columns:minmax(0,1fr) 180px;gap:10px}.mz-intro-text{font-size:13px}.mz-portrait-hello img{width:180px}.mz-live-grid{grid-template-columns:minmax(0,1fr) 150px}.mz-session-title{font-size:50px}.mz-character-scene{grid-template-columns:100px minmax(0,1fr)}.mz-character-portrait img{width:98px;height:135px}.mz-review-main,.mz-module-main{padding:18px 22px}.mz-writing-canvas{width:174px}}
@media(max-width:470px){.mz-app{height:410px;min-height:340px;max-height:calc(100svh - 235px)}.mz-main{padding:20px 17px}.mz-intro-content{grid-template-columns:minmax(0,1fr) 112px;gap:3px}.mz-intro-title{font-size:57px;margin-top:14px!important}.mz-intro-text{font-size:11px;line-height:1.6;margin-top:15px!important}.mz-intro-content .mz-level{margin-top:17px}.mz-intro-cta{margin-top:15px}.mz-pill{font-size:10px;padding:10px 15px;min-height:38px;gap:8px}.mz-intro-note{font-size:7px;max-width:185px;line-height:1.5}.mz-portrait-hello{min-height:180px;margin-top:-45px}.mz-portrait-hello img{width:120px;max-width:120px}.mz-portrait-hello::after{font-size:38px;right:0;top:0}.mz-portrait-hello::before{inset:13% -6% 5%}.mz-theme-note{font-size:8px}.mz-eyebrow{font-size:7px}.mz-session-heading{margin:13px 0 9px}.mz-session-title{font-size:42px}.mz-live-grid{grid-template-columns:minmax(0,1fr);gap:0}.mz-objectives{display:none}.mz-character-scene{grid-template-columns:97px minmax(0,1fr);gap:15px;min-height:127px}.mz-character-portrait img{height:127px;width:97px}.mz-hanzi-line{font-size:25px}.mz-pinyin-line{font-size:8px}.mz-character-caption{font-size:7px;margin-bottom:8px!important}.mz-response{margin-top:8px;padding-top:10px}.mz-input-heading{font-size:10px}.mz-fake-input{font-size:8px;min-height:53px;padding:11px 9px}.mz-input-row .mz-pill{padding:9px 10px;font-size:8px;min-height:34px}.mz-session-tools{margin-top:12px}.mz-session-top{font-size:8px}.mz-level{font-size:8px;gap:6px}.mz-level b{font-size:7px}.mz-module-main,.mz-review-main{padding:14px 17px}.mz-writing-module,.mz-review-module{width:100%}.mz-writing-card{padding:14px 16px 12px;gap:9px}.mz-writing-canvas{width:clamp(145px,calc(100svh - 485px),178px)}.mz-module-header{font-size:9px}.mz-progress-strip{margin:9px 0 10px}.mz-word-context{gap:7px;margin-bottom:10px}.mz-word-context .mz-hanzi{font-size:18px}.mz-word-context :is(em,span){font-size:9px}.mz-review-back{font-size:9px;margin-bottom:10px!important}.mz-review-card{padding:16px 14px}.mz-review-instruction{font-size:9px}.mz-review-character{font-size:59px;margin-top:7px!important}.mz-listen{font-size:9px;margin:7px 0 10px!important}.mz-review-options{gap:7px}.mz-review-option{font-size:9px;min-height:39px;padding:8px 10px}.mz-answer-feedback{margin-top:10px;padding:6px 9px;gap:8px}.mz-answer-feedback img{width:40px;height:40px}.mz-answer-feedback strong{font-size:9px}.mz-answer-feedback p{font-size:8px}.mz-review-reading{font-size:9px;margin-top:8px!important}.mz-review-next{margin-top:8px}.mz-review-next .mz-pill{font-size:8px;min-height:29px}}
@media(prefers-reduced-motion:reduce){.mz-app *{animation:none;transition:none}}

.mz-writing-card .mz-writing-answer{width:min(100%,300px);margin-top:0;padding:4px 9px;gap:8px}.mz-writing-card .mz-writing-answer img{width:32px;height:32px}.mz-writing-card .mz-writing-answer strong{font-size:9px}.mz-writing-card .mz-writing-answer p{font-size:8px;margin-top:2px!important}
.mz-brand { display: flex; align-items: center; gap: 12px; }
.mz-brand img { width: 42px; height: 42px; border-radius: 9px; }
.mz-brand .panel-heading { font-family: var(--mz-display); font-weight: 600; font-size: 52px; letter-spacing: -.03em; }
@media (max-width:700px) { .mz-brand .panel-heading { font-size: 45px; } .mz-brand img { width: 36px; height: 36px; } }
/* Fit the complete cafe controls in the story's bounded presentation area. */
.mz-conversation .mz-main { padding-block: 18px; }
.mz-conversation .mz-session-heading { margin: 12px 0 10px; }
.mz-conversation .mz-character-scene { min-height: 132px; }
.mz-conversation .mz-character-portrait img { height: 132px; }
.mz-conversation .mz-session-tools { margin-top: 6px; }
html:not([data-layout=pinned]) .mz-app { height: auto; max-height: none; min-height: 430px; }
@media (max-width:470px) { .mz-conversation .mz-character-portrait img { height: 127px; } }
.mz-conversation .mz-main { padding-block: 14px; }
@media (max-width:470px) {
  .mz-conversation .mz-hanzi-line { font-size: clamp(19px, calc(10vw - 17px), 22px); }
  .mz-conversation .mz-character-scene { min-height: 125px; }
}
