:root{
  --bg:#0f0d0a; --bg2:#15110c; --card:#1a1510; --card2:#211a13;
  --line:#2d261d; --line2:#3b3225;
  --ink:#efe6d2; --muted:#a6997e; --faint:#6f6552;
  --gold:#d2a44d; --gold-hi:#ecc87e; --gold-deep:#8a6a2a;
  --good:#8db578; --good-bg:rgba(125,165,100,.13);
  --bad:#cf7f65; --bad-bg:rgba(195,105,80,.13);
  --fs:'Fraunces',serif; --fb:'Instrument Sans',sans-serif; --fm:'STIX Two Text',serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px}
body{background:var(--bg); color:var(--ink); font-family:var(--fb); min-height:100vh;
  background-image:radial-gradient(rgba(210,164,77,.045) 1px, transparent 1.3px);
  background-size:28px 28px; overflow-x:hidden; touch-action:manipulation}
button{font-family:var(--fb)}
:focus-visible{outline:2px solid var(--gold); outline-offset:2px}
h1{font-family:var(--fs); font-weight:600; font-size:clamp(1.9rem,4vw,2.7rem)}
h2{font-family:var(--fs); font-weight:600; font-size:1.35rem; color:var(--gold); margin-bottom:1rem; letter-spacing:.03em}
h3{font-family:var(--fs); font-weight:600}
.eyebrow{font-size:.78rem; letter-spacing:.32em; text-transform:uppercase; color:var(--gold); margin-bottom:.5rem; font-weight:600}
.muted{color:var(--muted)}
.mth{font-family:var(--fm)}

/* math bits */
.fr{display:inline-flex; flex-direction:column; align-items:center; vertical-align:middle; line-height:1.05; margin:0 .18em; font-family:var(--fm)}
.fr b{border-bottom:1.6px solid currentColor; padding:0 .28em; font-weight:400}
.fr i{font-style:normal; padding:0 .28em}
.ov{text-decoration:overline}

#topbar{position:sticky; top:0; z-index:40; display:flex; justify-content:space-between; align-items:center;
  padding:.7rem clamp(1rem,3vw,2.2rem); background:rgba(15,13,10,.92); backdrop-filter:blur(6px); border-bottom:1px solid var(--line)}
#topbar.hidden{display:none}
.tb-left{display:flex; align-items:center; gap:1rem}
.tb-logo{font-family:var(--fs); font-weight:700; font-size:1.5rem; letter-spacing:.18em}
.tb-logo span{color:var(--gold)}
.tb-emb{font-size:1.2rem; width:26px; text-align:center}
.tb-lesson{font-size:.85rem; color:var(--muted); letter-spacing:.08em; text-transform:uppercase}
.tb-right{display:flex; align-items:center; gap:.6rem}
.tb-timer{font-family:var(--fm); font-size:1.15rem; color:var(--gold-hi); min-width:74px; text-align:right}
.icon-btn{width:44px;height:44px;border-radius:10px;border:1px solid var(--line2);background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center}
.icon-btn:hover{color:var(--gold-hi); border-color:var(--gold-deep)}
.icon-btn svg{width:20px;height:20px}

.screen{display:none; min-height:calc(100vh - 60px); padding:clamp(1.2rem,3vw,2.5rem) clamp(1rem,4vw,3rem)}
.screen.on{display:block}
.wrap{max-width:1080px; margin:0 auto}
.wrap-wide{max-width:1420px; margin:0 auto}
.panel.narrow{max-width:560px; margin:6vh auto 0; background:var(--card); border:1px solid var(--line2); border-radius:18px; padding:clamp(1.6rem,4vw,3rem); text-align:center}
.row{display:flex; gap:1rem; margin-top:1.6rem; flex-wrap:wrap}
.row.center{justify-content:center}

.btn{font-weight:600; border-radius:12px; border:1px solid transparent; cursor:pointer; font-size:1rem;
  padding:.85rem 1.7rem; transition:background .18s,border-color .18s,color .18s,transform .08s; letter-spacing:.02em; color:var(--ink)}
.btn:active{transform:translateY(1px)}
.btn.primary{background:var(--gold); color:#1c1408}
.btn.primary:hover{background:var(--gold-hi)}
.btn.ghost{background:transparent; color:var(--ink); border-color:var(--line2)}
.btn.ghost:hover{border-color:var(--gold); color:var(--gold-hi)}
.btn.big{font-size:1.12rem; padding:1.05rem 2.4rem; min-height:60px}
.btn.small{padding:.5rem 1rem; font-size:.9rem; min-height:44px}
.btn:disabled{opacity:.45; cursor:not-allowed}
.pill{display:inline-grid; place-items:center; min-width:26px; height:26px; padding:0 6px; border-radius:13px; background:var(--card2); border:1px solid var(--line2); font-size:.8rem; margin-left:.4rem}

/* ===== Splash ===== */
#scr-splash{display:none; align-items:center; justify-content:center; text-align:center}
#scr-splash.on{display:flex}
.splash-inner{display:flex; flex-direction:column; align-items:center; gap:1.6rem}
.logo-block{display:flex; flex-direction:column; align-items:center}
.logo-word{font-family:var(--fs); font-weight:600; font-size:clamp(110px,23vw,225px); letter-spacing:.14em; text-indent:.14em; line-height:1; color:var(--ink)}
.logo-word span{color:var(--gold)}
.logo-tag{margin-top:1.2rem; font-size:clamp(.7rem,1.8vw,.92rem); letter-spacing:.55em; text-indent:.55em; color:var(--muted); text-transform:uppercase; font-weight:600}
.logo-rule{position:relative; width:180px; height:2px; background:var(--gold-deep); margin-top:1.5rem}
.logo-rule .dm{position:absolute; left:50%; top:50%; width:10px; height:10px; background:var(--gold); transform:translate(-50%,-50%) rotate(45deg); box-shadow:0 0 0 4px var(--bg)}
.splash-credit{font-size:1rem; color:var(--muted); letter-spacing:.12em}
.splash-credit b{color:var(--ink); font-family:var(--fs); font-size:1.12rem}
.splash-sub{font-size:.9rem; color:var(--faint)}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.splash-inner>*{animation:rise .8s ease both}
.splash-inner>*:nth-child(2){animation-delay:.15s}
.splash-inner>*:nth-child(3){animation-delay:.3s}
.splash-inner>*:nth-child(4){animation-delay:.45s}
.splash-inner>*:nth-child(5){animation-delay:.6s}

/* ===== Coach choose ===== */
.tchoose{display:grid; grid-template-columns:1fr 1fr 1fr; gap:1rem; margin-top:1.6rem}
@media(max-width:700px){.tchoose{grid-template-columns:1fr}}
.tcard{background:var(--bg2); border:1.5px solid var(--line2); border-radius:16px; padding:1.3rem 1rem; cursor:pointer; text-align:center; color:var(--ink); transition:border-color .15s, background .15s}
.tcard:hover{border-color:var(--gold-deep)}
.tcard.sel{border-color:var(--gold); background:rgba(210,164,77,.09)}
.tcard .emb{width:58px; height:58px; margin:0 auto .6rem; display:grid; place-items:center; border-radius:50%; border:1.5px solid var(--tc,#d2a44d); color:var(--tc,#d2a44d); font-size:1.5rem}
.tcard h3{font-size:1.12rem; margin-bottom:.3rem}
.tcard.sel h3{color:var(--gold-hi)}
.tcard .ttag{font-size:.76rem; color:var(--muted); letter-spacing:.05em}
.tcard .tchk{margin-top:.6rem; font-size:.72rem; letter-spacing:.22em; text-transform:uppercase; color:var(--faint); font-weight:700}
.tcard.sel .tchk{color:var(--gold)}
.big-input{width:100%; margin-top:1.4rem; background:var(--bg2); border:1px solid var(--line2); border-radius:12px; color:var(--ink); font-family:var(--fs); font-size:1.5rem; padding:1rem 1.2rem; text-align:center}
.big-input:focus{border-color:var(--gold); outline:none}
@keyframes shake{0%,100%{transform:none}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}
.shake{animation:shake .35s}

/* ===== Topics / Hub ===== */
.hub-head{display:flex; justify-content:space-between; align-items:flex-end; gap:1rem; margin-bottom:2rem; flex-wrap:wrap}
.hub-actions{display:flex; gap:.6rem; flex-wrap:wrap}
.tcard2{background:var(--card); border:1.5px solid var(--line2); border-radius:18px; padding:1.6rem 1.5rem; margin-bottom:1rem; cursor:pointer; transition:border-color .15s, background .15s}
.tcard2:hover{border-color:var(--gold-deep); background:var(--card2)}
.tcard2.soon{opacity:.5; cursor:default}
.tc-num{font-size:.72rem; letter-spacing:.28em; text-transform:uppercase; color:var(--gold); font-weight:700; margin-bottom:.4rem}
.tcard2 h3{font-size:clamp(1.2rem,2.6vw,1.6rem); margin-bottom:.3rem}
.tc-sub{color:var(--muted); font-size:.9rem}
.tc-go{margin-top:.8rem; font-size:.75rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); font-weight:700}

.lrow{display:flex; align-items:center; gap:clamp(.9rem,3vw,2rem); padding:1.4rem .4rem; border-bottom:1px solid var(--line); cursor:pointer; transition:background .15s}
.lrow:first-child{border-top:1px solid var(--line)}
.lrow:hover{background:rgba(210,164,77,.04)}
.lrow:hover h3{color:var(--gold-hi)}
.lnum{font-family:var(--fs); font-size:clamp(2.2rem,5vw,3.4rem); font-weight:600; color:var(--gold); width:84px; text-align:center; flex:none}
.linfo{flex:1; min-width:0}
.linfo h3{font-size:clamp(1.1rem,2.4vw,1.45rem); margin-bottom:.25rem; transition:color .15s}
.linfo p{color:var(--muted); font-size:.95rem}
.lmeta{margin-top:.45rem; font-size:.82rem; color:var(--gold-hi); letter-spacing:.04em}
.lact{flex:none; font-size:.75rem; letter-spacing:.2em; text-transform:uppercase; color:var(--faint); font-weight:700}
.lrow:hover .lact{color:var(--gold)}
.hub-progress{margin-top:1.6rem; padding:1rem 1.3rem; background:var(--card); border:1px solid var(--line2); border-radius:14px; font-size:.9rem; color:var(--muted); display:flex; align-items:center; gap:.8rem; flex-wrap:wrap}
.hub-progress b{color:var(--gold-hi); font-family:var(--fm); font-size:1.05rem}
.lockic{width:18px;height:18px;color:var(--good); flex:none}

/* ===== Milestones ===== */
.ms-row{display:flex; align-items:center; gap:1.1rem; padding:1.1rem 1.2rem; background:var(--card); border:1px solid var(--line2); border-radius:14px; margin-bottom:.8rem; flex-wrap:wrap}
.ms-ic{font-size:1.3rem; color:var(--gold); flex:none}
.ms-info{flex:1; min-width:200px}
.ms-info b{font-family:var(--fs); font-size:1.12rem; color:var(--ink)}
.ms-info span{display:block; font-size:.82rem; color:var(--muted); margin-top:.15rem}
.ms-best{font-family:var(--fm); color:var(--gold-hi); font-size:.95rem}
.ms-lock{font-size:.78rem; color:var(--faint); letter-spacing:.08em; text-transform:uppercase; font-weight:700}

/* ===== Intro ===== */
.btn-back{margin-bottom:1.4rem}
.intro-head{margin-bottom:1.8rem}
.intro-grid{display:grid; grid-template-columns:1fr 1.25fr; gap:1.2rem; margin-bottom:1.4rem}
.intro-grid2{display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:1.4rem; align-items:start}
@media(max-width:1150px){.intro-grid{grid-template-columns:1fr} .intro-grid2{grid-template-columns:1fr}}
.card{background:var(--card); border:1px solid var(--line2); border-radius:16px; padding:1.5rem 1.6rem}
.card.method{border-color:var(--gold-deep)}
#skillList{list-style:none; display:flex; flex-direction:column; gap:.75rem}
#skillList li{padding-left:1.4rem; position:relative; line-height:1.5}
#skillList li::before{content:""; position:absolute; left:0; top:.55em; width:8px; height:8px; background:var(--gold); transform:rotate(45deg)}
#methodList{list-style:none; counter-reset:m; display:flex; flex-direction:column; gap:.75rem}
#methodList li{counter-increment:m; position:relative; padding-left:2.6rem; line-height:1.55}
#methodList li::before{content:counter(m); position:absolute; left:0; top:.1em; width:30px; height:30px; border-radius:9px; background:var(--gold); color:#1c1408; font-family:var(--fs); font-weight:700; display:grid; place-items:center}
.note{margin-top:1.1rem; border-left:3px solid var(--gold); background:rgba(210,164,77,.07); padding:.8rem 1rem; border-radius:0 10px 10px 0; font-size:.9rem; color:var(--muted); line-height:1.55}
.note b{color:var(--gold-hi)}
.note.calc{border-left-color:var(--good); background:rgba(141,181,120,.07)}
.note.calc b{color:var(--good)}
.worked-q{font-size:1.05rem; margin-bottom:1.1rem; color:var(--ink)}
.worked-q .mth{font-size:1.3rem}
.steps{display:flex; flex-direction:column; gap:.7rem}
.step{display:flex; gap:.9rem; align-items:flex-start; background:var(--bg2); border:1px solid var(--line); border-radius:12px; padding:.85rem 1rem}
.step-n{flex:none; width:30px; height:30px; border-radius:9px; background:var(--gold-deep); color:var(--gold-hi); font-family:var(--fs); font-weight:700; display:grid; place-items:center; font-size:.95rem}
.step-body{line-height:1.6; font-size:.98rem}
.step-body b{color:var(--gold-hi)}
.step-body .mth{font-size:1.1rem}

/* ===== Level cards ===== */
.lv-grid{display:flex; flex-direction:column; gap:1rem}
.lv-card{background:var(--card); border:1.5px solid var(--line2); border-radius:16px; padding:1.3rem 1.4rem; transition:border-color .15s}
.lv-card:hover{border-color:var(--gold-deep)}
.lv-name{font-family:var(--fs); font-size:1.25rem; color:var(--gold-hi); font-weight:600}
.lv-sub{color:var(--muted); font-size:.88rem; margin-top:.25rem}
.lv-best{font-family:var(--fm); font-size:.85rem; color:var(--gold); margin-top:.5rem; letter-spacing:.03em}
.lv-actions{display:flex; gap:.6rem; margin-top:.9rem; flex-wrap:wrap}

/* ===== Quiz ===== */
.quiz-wrap{max-width:940px; margin:0 auto}
.q-meta{display:flex; align-items:center; gap:.8rem; margin-bottom:1.2rem; flex-wrap:wrap}
.chip{background:var(--card); border:1px solid var(--line2); border-radius:99px; padding:.45rem 1rem; font-size:.82rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); font-weight:600}
.chip.plain{color:var(--muted)}
.q-progress{flex:1; min-width:180px; height:12px; border-radius:6px; background:var(--card); border:1px solid var(--line); position:relative}
.q-progress-fill{position:absolute; inset:1px; width:0%; border-radius:5px; background:var(--gold); transition:width .4s}
.q-card{background:var(--card); border:1px solid var(--line2); border-radius:18px; padding:clamp(1.4rem,4vw,2.6rem)}
.q-prompt{font-size:.85rem; letter-spacing:.28em; text-transform:uppercase; color:var(--muted); margin-bottom:1rem}
.q-expr{font-family:var(--fm); font-size:clamp(1.9rem,5vw,2.9rem); text-align:center; padding:1.1rem 0 1.7rem; color:var(--ink)}
.q-options{display:grid; grid-template-columns:1fr 1fr; gap:1rem}
@media(max-width:700px){.q-options{grid-template-columns:1fr}}
.opt{display:flex; align-items:center; gap:1.1rem; background:var(--bg2); border:1.5px solid var(--line2); border-radius:14px; padding:1rem 1.2rem; min-height:76px; cursor:pointer; font-family:var(--fm); font-size:clamp(1.2rem,3vw,1.6rem); text-align:left; color:var(--ink); transition:border-color .15s, background .15s; touch-action:manipulation}
.opt .key{flex:none; width:46px; height:46px; border-radius:50%; border:1px solid var(--line2); display:grid; place-items:center; font-family:var(--fb); font-size:1rem; color:var(--muted); font-weight:600}
.opt:hover:not(:disabled){border-color:var(--gold)}
.opt:hover:not(:disabled) .key{border-color:var(--gold); color:var(--gold-hi)}
.opt:disabled{cursor:default}
.opt.correct{border-color:var(--good); background:var(--good-bg)}
.opt.correct .key{border-color:var(--good); color:var(--good)}
.opt.wrong{border-color:var(--bad); background:var(--bad-bg)}
.opt.wrong .key{border-color:var(--bad); color:var(--bad)}
.q-actions{display:flex; gap:1rem; margin-top:1.6rem; flex-wrap:wrap}
.hint-box{margin-top:1.4rem; border:1px dashed var(--gold-deep); background:rgba(210,164,77,.06); border-radius:12px; padding:1rem 1.2rem; display:flex; gap:.9rem; align-items:flex-start}
.hint-box .hstep{color:var(--gold-hi); font-size:.8rem; letter-spacing:.2em; text-transform:uppercase; font-weight:700; flex:none; margin-top:.2rem}
.hint-box .htxt{line-height:1.7}
.feedback{margin-top:1.6rem; border-radius:16px; padding:1.4rem 1.5rem; border:1px solid var(--line2)}
.feedback.good{background:var(--good-bg); border-color:rgba(141,181,120,.45)}
.feedback.bad{background:var(--bad-bg); border-color:rgba(195,105,80,.45)}
.fb-head{font-family:var(--fs); font-size:1.4rem; font-weight:600}
.feedback.good .fb-head{color:var(--good)}
.feedback.bad .fb-head{color:var(--bad)}
.fb-why{margin-top:.6rem; line-height:1.6; font-size:.95rem}
.fb-sub{margin-top:.7rem; line-height:1.6}
.sol-l{padding:.3rem 0; border-bottom:1px dashed rgba(255,255,255,.07)}
.sol-l b{color:var(--gold-hi); font-family:var(--fm); margin-right:.4rem}
.sol-l:last-child{border-bottom:none}
.feedback .btn{margin-top:1.3rem}

/* ===== Stop modal ===== */
.stop-back{position:fixed; inset:0; background:rgba(8,6,4,.84); z-index:85; display:none; place-items:center; padding:1rem}
.stop-back.on{display:grid}
.stop-card{background:var(--card); border:1px solid var(--gold-deep); border-radius:18px; padding:1.8rem 1.6rem; max-width:500px; width:100%; text-align:center}
.mini-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:.6rem; margin:1.2rem 0}
.mini{background:var(--bg2); border:1px solid var(--line); border-radius:12px; padding:.8rem .3rem; text-align:center}
.mini .v{font-family:var(--fm); font-size:1.5rem; color:var(--gold-hi); font-weight:600}
.mini .l{font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-top:.25rem}
.res-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:.6rem; margin-top:1.4rem}
@media(max-width:700px){.mini-stats,.res-stats{grid-template-columns:repeat(2,1fr)}}

/* ===== Mistakes ===== */
.mis{padding:1rem 1.1rem; background:var(--bg2); border:1px solid var(--line); border-radius:12px; margin-bottom:.8rem}
.mis-q{font-weight:600; margin-bottom:.4rem}
.mis-why{font-size:.9rem; color:var(--bad); line-height:1.55; margin-bottom:.3rem}
.mis-why b, .mis-ok b{color:var(--muted)}
.mis-ok{font-size:.95rem; color:var(--good)}

/* ===== Results head ===== */
.res-head{display:flex; align-items:center; gap:1.4rem; margin-bottom:.6rem; flex-wrap:wrap}

/* ===== Stats table ===== */
.stt{width:100%; border-collapse:collapse; font-size:.92rem}
.stt th{text-align:left; color:var(--gold); font-family:var(--fs); font-weight:600; padding:.5rem .6rem; border-bottom:1px solid var(--line2); letter-spacing:.05em}
.stt td{padding:.6rem; border-bottom:1px solid var(--line); color:var(--ink)}
.stt td:first-child{color:var(--gold-hi); font-family:var(--fm)}

/* ===== Certificate ===== */
.cert-outer{margin:2rem 0}
.cert{background:#faf6ec; color:#241c0d; border-radius:6px; padding:10px; max-width:820px; margin:0 auto; box-shadow:0 24px 60px rgba(0,0,0,.5)}
.cert-border{border:2px solid #a5843f; outline:1px solid #a5843f; outline-offset:-7px; padding:2.2rem 2.4rem 1.6rem; text-align:center; position:relative}
.cert-brand{font-family:var(--fs); font-weight:700; letter-spacing:.24em; font-size:1.05rem; color:#7c5b1c}
.cert-brand span{color:#d2a44d}
.cert-border h3{font-family:var(--fs); font-size:1.7rem; color:#3a2f1c; margin:1.1rem 0 .8rem}
.cert-p{font-style:italic; font-family:var(--fs); color:#6b5a35; font-size:.95rem}
.cert-name{font-family:'Tangerine',cursive; font-family:var(--fs); font-size:2.2rem; font-weight:700; color:#241c0d; margin:.5rem 0; letter-spacing:.02em}
.cert-lesson{font-family:var(--fs); font-size:1.25rem; color:#7c5b1c; margin:.4rem 0 .8rem; font-weight:600}
.cert-stats{font-family:var(--fm); color:#55452a; font-size:.95rem; margin-bottom:1.4rem}
.cert-foot{display:flex; justify-content:space-between; align-items:flex-end; margin-top:1rem; gap:1rem}
.sig{font-family:var(--fs); font-style:italic; font-weight:700; font-size:1.5rem; color:#241c0d}
.sig-line{border-bottom:1px solid #7c5b1c; margin-top:.3rem; min-width:150px}
.sig-role{font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; color:#8a6a2a; margin-top:.3rem}
.cert-seal{width:110px; height:110px; flex:none}
.mth{font-family:var(--fm)}

/* ===== Games ===== */
.gcard{display:flex; align-items:center; gap:1.2rem; margin-bottom:1rem; flex-wrap:wrap}
.gc-ic{font-size:2.4rem}
.gcard h3{margin-bottom:.2rem}
.game-head{display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; margin-bottom:1.2rem}
.game-hud{display:flex; gap:1rem; font-family:var(--fm); font-size:1.3rem; color:var(--gold-hi)}
.game-stage{position:relative; max-width:960px; margin:0 auto}
#gameCv{width:100%; height:auto; display:block; border:1px solid var(--line2); border-radius:16px; background:#15110c}
.g-overlay{position:absolute; inset:0; display:none; place-items:center; background:rgba(10,8,5,.82); border-radius:16px; text-align:center; padding:1rem}
.g-overlay.on{display:grid}
.g-box h2{font-size:1.8rem}
.g-box p{color:var(--muted); line-height:1.7; margin:.6rem 0 1.2rem; max-width:420px}

/* ===== WhatsApp float + toast ===== */
#waFloat{position:fixed; right:18px; bottom:18px; width:52px; height:52px; border-radius:50%; background:#211a13; border:1px solid var(--gold-deep); color:var(--good); display:grid; place-items:center; z-index:60; transition:transform .15s}
#waFloat:hover{transform:scale(1.08)}
#waFloat svg{width:28px; height:28px}
#toast{position:fixed; left:50%; bottom:26px; transform:translate(-50%,80px); background:var(--card2); border:1px solid var(--gold-deep); color:var(--gold-hi); padding:.8rem 1.4rem; border-radius:12px; font-weight:600; font-size:.92rem; z-index:90; opacity:0; transition:all .3s; pointer-events:none; max-width:90vw; text-align:center}
#toast.on{transform:translate(-50%,0); opacity:1}

/* ===== PRINT ===== */
#printOnly{display:none}
@media print{
  @page{margin:12mm}
  body.printing>*:not(#printOnly){display:none!important}
  body.printing #printOnly{display:block!important}
  body{background:#fff!important; overflow:visible}
  .paper{color:#111; background:#fff}
  .p-head{border-bottom:3px double #111; padding-bottom:8px; margin-bottom:12px}
  .p-brand{font-family:var(--fs); font-weight:700; letter-spacing:.16em; font-size:12px; color:#111}
  .p-brand span{color:#8a6a2a}
  .p-title{font-family:var(--fs); font-size:19px; margin-top:5px; color:#111}
  .p-sub{font-size:10.5px; color:#555; margin-top:3px}
  .p-flds{display:flex; gap:20px; font-size:11.5px; margin-top:10px; flex-wrap:wrap; color:#222}
  .pq{display:flex; gap:8px; padding:8px 0; border-bottom:1px solid #ddd; page-break-inside:avoid}
  .pq-n{font-weight:700; min-width:24px; font-size:13px}
  .pq-t{font-size:9.5px; color:#666; text-transform:uppercase; letter-spacing:.08em; margin-bottom:2px}
  .pq-e{font-family:var(--fm); font-size:16px; color:#111}
  .pq-o{display:flex; gap:16px; flex-wrap:wrap; font-family:var(--fm); font-size:12.5px; color:#222; margin-top:3px}
  .po b{font-family:var(--fb); font-size:10.5px; margin-right:3px}
  .p-bubble{page-break-before:always; margin-top:10px}
  .p-bh{font-family:var(--fs); font-weight:700; font-size:15px; margin-bottom:8px; border-bottom:2px solid #111; padding-bottom:4px}
  .bb-grid{display:grid; grid-template-columns:1fr 1fr; gap:5px 26px}
  .bb-row{display:flex; gap:9px; align-items:center; font-size:11px; color:#111}
  .bb-n{min-width:22px; font-weight:700}
  .bb{width:17px; height:17px; border:1.4px solid #111; border-radius:50%; display:inline-grid; place-items:center; font-size:8px; color:#333}
  .p-key{page-break-before:always; margin-top:10px}
  .key-cols{display:grid; grid-template-columns:1fr 1fr; gap:0 26px}
  .key-r{font-size:11px; padding:4.5px 0; border-bottom:1px solid #e5e5e5; color:#111; page-break-inside:avoid}
  .key-r b{font-family:var(--fm)}
  .key-s{color:#555; font-size:10px; font-style:italic}
  .p-foot{margin-top:14px; font-size:9px; color:#888; text-align:center; letter-spacing:.06em}
  .fr{display:inline-flex; flex-direction:column; align-items:center; vertical-align:middle; line-height:1.05; font-family:var(--fm)}
  .fr b{border-bottom:1.2px solid #111; padding:0 .25em; font-weight:400}
  .fr i{font-style:normal; padding:0 .25em}
  .ov{text-decoration:overline}
  .mth{font-family:var(--fm)}
  .pcert-wrap{max-width:820px; margin:0 auto}
  .pcert-wrap .cert{box-shadow:none}
  .cert{page-break-inside:avoid}
}