/* Reading Boost-Up — © 2026 Aubeespace */
.rbu-root{width:min(1100px,calc(100vw - 24px));max-width:none!important;margin-left:calc(50% - min(550px,50vw - 12px))!important;margin-right:0!important;--honey:#FFD23F;--honey2:#FFB800;--cream:#FFFBF0;--brown:#5A3A1E;--ink:#4A3424;--mint:#7ED7C1;--pink:#FF9EB5;--sky:#A0D2EB;--lilac:#D5AAFF;--good:#2BB673;--bad:#E8475F;
  font-family:"Mali","Fredoka",system-ui,sans-serif;color:var(--ink);font-size:16px;line-height:1.6}
.rbu-root *{box-sizing:border-box}
.rbu-root h1,.rbu-root h2,.rbu-root h3{font-family:"Mali","Fredoka",sans-serif;color:var(--ink);margin:.2em 0;line-height:1.35}
.rbu-root h2{font-size:1.35rem}.rbu-root h3{font-size:1.1rem}
.rbu-root button{font-family:inherit;cursor:pointer}
.rbu-app{background:var(--cream);border-radius:28px;padding:14px;border:3px solid #F2DFA8;box-shadow:0 10px 30px rgba(90,58,30,.08);
  background-image:radial-gradient(circle at 10% 10%,rgba(255,210,63,.18) 0 60px,transparent 61px),radial-gradient(circle at 95% 30%,rgba(255,158,181,.15) 0 80px,transparent 81px)}
.rbu-loading{padding:60px;text-align:center;font-size:1.2rem}
.rbu-spin{display:inline-block;animation:rbu-float 1.2s ease-in-out infinite}
@keyframes rbu-float{50%{transform:translateY(-8px) rotate(6deg)}}

/* top bar */
.rbu-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:space-between;background:linear-gradient(90deg,var(--honey),var(--honey2));border:3px solid var(--brown);border-radius:22px;padding:6px 12px;box-shadow:0 5px 0 var(--brown)}
.rbu-logo{display:flex;align-items:center;gap:8px}
.rbu-logo b{display:block;font-family:"Fredoka",sans-serif;font-size:1.15rem;line-height:1.1}
.rbu-logo small{font-size:.75rem;opacity:.8}
.rbu-wallet{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.rbu-wallet>span{background:#fff;border:2px solid var(--brown);border-radius:999px;padding:2px 10px;font-size:.9rem;white-space:nowrap;transition:transform .2s}
.rbu-wallet .bump{transform:scale(1.25)}
.rbu-wallet .rank .bar{display:inline-block;width:50px;height:7px;background:#F2DFA8;border-radius:9px;margin-left:6px;vertical-align:middle;overflow:hidden}
.rbu-wallet .rank .bar i{display:block;height:100%;background:var(--mint)}
.rbu-topbtn{display:flex;gap:6px;align-items:center}
.rbu-chip,.rbu-mute{background:#fff;border:2px solid var(--brown);border-radius:999px;padding:3px 10px;font-size:.85rem;color:var(--ink);text-decoration:none}
.rbu-nav{display:flex;gap:6px;overflow-x:auto;padding:12px 2px 4px;scrollbar-width:none}
.rbu-nav button{flex:1 0 auto;background:#fff;border:2px solid #F2DFA8;border-radius:16px;padding:6px 12px;font-size:.9rem;color:var(--ink);display:flex;align-items:center;gap:6px}
.rbu-nav button span{font-size:1.2rem}
.rbu-nav button.on{background:var(--honey);border-color:var(--brown);box-shadow:0 3px 0 var(--brown)}
.rbu-main{padding:10px 2px}
.rbu-foot{text-align:center;font-size:.75rem;opacity:.7;padding-top:6px}

/* generic */
.rbu-card{background:#fff;border:2.5px solid #F2DFA8;border-radius:22px;padding:14px 16px;margin:12px 0}
.rbu-card.mint{background:#EFFFF8;border-color:var(--mint)}
.center{text-align:center}
.rbu-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.rbu-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rbu-grid2 .rbu-card{margin:0}
.rbu-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rbu-grid3 .rbu-card{margin:0}
.rbu-btn{background:var(--honey);color:var(--ink);border:2.5px solid var(--brown);border-radius:16px;padding:8px 16px;font-weight:600;font-size:1rem;box-shadow:0 4px 0 var(--brown);transition:transform .1s,box-shadow .1s;margin:4px}
.rbu-btn:hover{transform:translateY(-2px)}
.rbu-btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--brown)}
.rbu-btn.big{font-size:1.1rem;padding:12px 22px}
.rbu-btn.small{font-size:.85rem;padding:4px 10px;box-shadow:0 3px 0 var(--brown)}
.rbu-btn.ghost{background:#fff}
.rbu-btn[disabled],.rbu-btn.locked{opacity:.5;cursor:not-allowed;transform:none}
.rbu-tag{display:inline-block;background:#FFF6CC;border:2px solid #E8C66A;border-radius:999px;padding:1px 10px;margin:2px;font-size:.85rem}
.rbu-tags{margin:6px 0 0}
.rbu-hint{font-size:.85rem;color:#8A6A3E}
.rbu-bubble{background:#fff;border:3px solid var(--brown);border-radius:22px;padding:10px 16px;position:relative;flex:1}
.rbu-bubble:before{content:"";position:absolute;left:-14px;top:30px;border:8px solid transparent;border-right-color:var(--brown)}
.rbu-ribbon{display:flex;align-items:center;gap:12px;background:linear-gradient(90deg,var(--pink),var(--honey));border:3px solid var(--brown);border-radius:22px;padding:10px 16px;box-shadow:0 5px 0 var(--brown);margin:6px 0 12px}
.rbu-ribbon h2{margin:0}.rbu-ribbon small{display:block;font-family:"Fredoka",sans-serif}
.rbu-ribbon .lvl{background:#fff;border:2.5px solid var(--brown);border-radius:14px;padding:2px 10px;font-family:"Fredoka",sans-serif;font-weight:700;white-space:nowrap}
.rbu-bee{display:inline-block;overflow:visible}
.rbu-bee .rbu-wings{transform-origin:100px 70px;animation:rbu-flap .35s ease-in-out infinite alternate}
@keyframes rbu-flap{to{transform:scaleY(.82)}}
.rbu-bee .rbu-eyes{animation:rbu-blink 4s infinite;transform-origin:100px 100px}
@keyframes rbu-blink{96%{transform:scaleY(1)}98%{transform:scaleY(.1)}}
.rbu-hero{display:flex;align-items:center;gap:16px;margin:6px 0}
.rbu-hero-bee,.rbu-qbee{animation:rbu-float 2.4s ease-in-out infinite}
.rbu-intro{display:flex;align-items:center;gap:12px}

/* trail */
.rbu-trail{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:14px 10px;margin:16px 0;padding:16px;background:#FFF6CC;border-radius:26px;border:2.5px dashed #E8C66A}
.rbu-node{background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--ink);padding:0}
.rbu-node .hex{width:78px;height:86px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:var(--brown);display:flex;align-items:center;justify-content:center;transition:transform .2s}
.rbu-node .hex .ic{width:70px;height:78px;clip-path:inherit;background:var(--honey);display:flex;align-items:center;justify-content:center;font-size:2rem}
.rbu-node.open .hex{animation:rbu-pulse 1.6s infinite}
.rbu-node.done .hex .ic{background:linear-gradient(135deg,#A8E6CF,#FFD23F)}
.rbu-node.locked .hex .ic{background:#E7E1D3;filter:grayscale(1)}
.rbu-node.locked{opacity:.7}
.rbu-node:hover .hex{transform:scale(1.08) rotate(-3deg)}
.rbu-node b{font-size:.9rem}.rbu-node small{font-size:.75rem;text-align:center;line-height:1.2}
@keyframes rbu-pulse{50%{transform:scale(1.07)}}
.rbu-lb{margin:0;padding-left:1.4em}.rbu-lb li{display:flex;justify-content:space-between;padding:4px 8px;border-radius:10px}.rbu-lb li.me{background:#FFF6CC}

/* words */
.rbu-words{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.rbu-word{background:#FFFBF0;border:2px solid #F2DFA8;border-radius:18px;padding:10px 12px;position:relative}
.rbu-word .no{position:absolute;top:8px;right:10px;font-family:"Fredoka",sans-serif;font-size:.8rem;opacity:.5}
.rbu-word .en{font-family:"Fredoka",sans-serif;font-size:1.45rem;font-weight:700;color:#2E7D6B;line-height:1.2}
.rbu-word .th{font-size:1rem}.rbu-word .me{font-size:.92rem;color:#6B5B3E}
.rbu-word .nt{font-size:.8rem;color:#B5536C;margin-top:4px;line-height:1.4}
.rbu-word .lt{font-family:"Fredoka",sans-serif;font-size:1.6rem;font-weight:700}
.rbu-word .ex{font-size:.9rem}
.rbu-say{background:var(--sky);border:2px solid var(--brown);border-radius:999px;padding:2px 9px;font-size:.95rem;color:var(--ink)}
.rbu-say:hover{background:var(--honey)}
.rbu-video{position:relative;padding-top:56.25%;border-radius:16px;overflow:hidden;background:#000}
.rbu-video iframe,.rbu-video video{position:absolute;inset:0;width:100%;height:100%;border:0}
.rbu-root textarea{width:100%;border:2px dashed var(--pink);border-radius:14px;padding:10px;font-family:inherit;background:repeating-linear-gradient(#fff,#fff 30px,#F8E9C2 31px);line-height:31px}
.rbu-steps{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.rbu-step{flex:1;min-width:150px;background:#FFFBF0;border:2px dashed #E8C66A;border-radius:16px;padding:8px}
.rbu-step b{display:inline-flex;width:26px;height:26px;border-radius:50%;background:var(--honey);border:2px solid var(--brown);align-items:center;justify-content:center}
.rbu-step.ok{border-style:solid;border-color:var(--good);background:#EFFFF4}

/* questions */
.rbu-qhead{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;font-weight:600;background:#fff;border:2px solid #F2DFA8;border-radius:16px;padding:6px 14px}
.rbu-qhead .combo{color:#E8475F;animation:rbu-pulse .6s infinite}
.rbu-progress{height:12px;background:#F2DFA8;border-radius:9px;margin:8px 0;overflow:hidden}
.rbu-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--mint),var(--honey));transition:width .4s}
.rbu-qcard{background:#fff;border:3px solid var(--brown);border-radius:26px;padding:18px;box-shadow:0 6px 0 #E8C66A;position:relative}
.rbu-qcard h2{font-size:1.3rem;padding-right:70px;min-height:2.6em}
.rbu-qbee{position:absolute;right:10px;top:-24px}
.rbu-qno{margin:0;font-size:.85rem;color:#8A6A3E}
.rbu-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.rbu-opt{background:#FFFBF0;border:2.5px solid #E8C66A;border-radius:18px;padding:12px 14px;text-align:left;font-size:1.08rem;color:var(--ink);display:flex;gap:10px;align-items:center;transition:transform .12s,background .12s}
.rbu-opt span{flex:0 0 32px;height:32px;border-radius:50%;background:var(--honey);border:2px solid var(--brown);display:flex;align-items:center;justify-content:center;font-weight:700}
.rbu-opt:hover:not([disabled]){transform:translateY(-2px);background:#FFF2BF}
.rbu-opt.picked{background:#DFF3FF;border-color:#3E7BFA}
.rbu-opt.right{background:#DFF7E8;border-color:var(--good);animation:rbu-pop .4s}
.rbu-opt.wrong{background:#FFE3E8;border-color:var(--bad);animation:rbu-shake .4s}
.rbu-opt[disabled]{cursor:default}
@keyframes rbu-pop{50%{transform:scale(1.05)}}
@keyframes rbu-shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.rbu-fb{border-radius:18px;padding:10px 14px;margin-top:8px}
.rbu-fb.ok{background:#EFFFF4;border:2px solid var(--good)}.rbu-fb.no{background:#FFF1F3;border:2px solid var(--bad)}
.rbu-fb p{margin:4px 0}
.rbu-timer{font-family:"Fredoka",sans-serif;font-size:1.1rem}
.rbu-timer.hurry{color:var(--bad);animation:rbu-pulse 1s infinite}
.rbu-qnav{display:flex;flex-wrap:wrap;gap:6px}
.rbu-qnav button{width:38px;height:38px;border-radius:12px;border:2px solid #E8C66A;background:#fff;font-weight:600;color:var(--ink)}
.rbu-qnav button.ans{background:var(--mint);border-color:#2E7D6B}
.rbu-qnav button.cur{outline:3px solid var(--honey2)}
.rbu-score{font-family:"Fredoka",sans-serif;font-size:3.4rem;font-weight:700;line-height:1;color:#2E7D6B}
.rbu-score small{font-size:1.4rem;color:var(--ink)}
.rbu-big{font-family:"Fredoka",sans-serif;font-size:2rem;font-weight:700}
.rbu-unlock{font-weight:700;color:var(--good);font-size:1.1rem}
.rbu-rv{border-bottom:1.5px dashed #F2DFA8;padding:8px 0}.rbu-rv p{margin:2px 0}.rbu-rv .ex{font-size:.88rem;color:#6B5B3E}
.rbu-rv.no{background:linear-gradient(90deg,#FFF1F3,transparent);border-radius:10px;padding-left:8px}
.rbu-level{display:inline-block;border-radius:999px;padding:2px 14px;border:2px solid var(--brown);font-weight:700}
.rbu-level.l0{background:#FFD6DC}.rbu-level.l1{background:#FFE3C2}.rbu-level.l2{background:#FFF3A8}.rbu-level.l3{background:#CDEFD9}.rbu-level.l4{background:#BFE6FF}
.rbu-table{width:100%;border-collapse:collapse;font-size:.92rem}
.rbu-table th{background:var(--brown);color:#fff;padding:6px 8px;text-align:left;font-weight:600}
.rbu-table td{padding:6px 8px;border-bottom:1.5px solid #F2DFA8}
.rbu-table.small{max-width:460px;margin:8px auto;font-size:.88rem}
.rbu-scroll{overflow-x:auto}
.rbu-check{list-style:none;padding:0;display:inline-block;text-align:left}
.rbu-check li:before{content:"⬜ "}.rbu-check li.ok:before{content:"✅ "}

/* stickers & shop */
.rbu-album{background:#FFF6CC;border:3px solid #E8C66A;border-radius:24px;padding:12px 16px;margin:12px 0;background-image:radial-gradient(#F2DFA8 1.2px,transparent 1.2px);background-size:16px 16px}
.rbu-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px}
.rbu-slot{background:rgba(255,255,255,.7);border:2.5px dashed #D9B45A;border-radius:18px;min-height:118px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px;text-align:center}
.rbu-slot small{font-size:.78rem;line-height:1.2}
.rbu-slot.has{border-style:solid;background:#fff}
.rbu-sticker{background:#fff;border-radius:18px;padding:4px;box-shadow:0 0 0 4px #fff,0 3px 8px rgba(0,0,0,.18);transform:rotate(var(--r,0deg))}
.rbu-sticker.slap{animation:rbu-slap .7s cubic-bezier(.2,1.6,.4,1)}
@keyframes rbu-slap{0%{transform:scale(2.6) rotate(-20deg);opacity:0}60%{opacity:1}100%{transform:scale(1) rotate(var(--r,0deg))}}
.rbu-ghost{position:relative;filter:grayscale(1) brightness(1.3);opacity:.35}
.rbu-ghost b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--brown);filter:none}
.rbu-emoji{line-height:1;display:inline-block}
.rbu-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.rbu-tabs button{background:#fff;border:2px solid #E8C66A;border-radius:14px;padding:6px 12px;color:var(--ink)}
.rbu-tabs button.on{background:var(--honey);border-color:var(--brown)}
.rbu-shop{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
.rbu-shop.small{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}
.rbu-item{background:#fff;border:2.5px solid #F2DFA8;border-radius:20px;padding:10px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}
.rbu-item .art{height:80px;display:flex;align-items:center;justify-content:center}
.rbu-item.has{background:#F4FFF8}.rbu-item.on{border-color:var(--good);box-shadow:0 0 0 3px #CDEFD9}
.rbu-item small{font-size:.75rem;color:#8A6A3E}
.rbu-closet{display:grid;grid-template-columns:300px 1fr;gap:14px;align-items:start}
.rbu-stage{position:sticky;top:20px;background:radial-gradient(circle,#FFF6CC,#FFE98A);border:3px solid var(--brown);border-radius:28px;text-align:center;padding:16px}

/* certificate */
.rbu-cert{background:#fff;padding:14px;border-radius:12px;max-width:1000px;margin:0 auto}
.rbu-cert-in{min-height:560px;border:6px double #C9A24A;border-radius:10px;position:relative;text-align:center;padding:4% 8%;background:radial-gradient(circle at 50% 30%,#FFFBEA,#fff 70%);display:flex;flex-direction:column;justify-content:center}
.rbu-cert h1{font-size:2.6rem;margin:0;color:#8A6A1E}
.rbu-cert h2{font-size:2rem;margin:.2em 0;color:#2E7D6B;border-bottom:2px dotted #C9A24A;display:inline-block;padding:0 30px}
.rbu-cert .en{font-family:"Fredoka",sans-serif;letter-spacing:2px;margin:0}
.rbu-cert .brand{margin-top:6px!important;font-family:"Fredoka",sans-serif;font-weight:700;color:var(--brown);margin:0}
.rbu-cert p{margin:.3em 0}
.rbu-cert .corner{position:absolute;font-size:2rem}.rbu-cert .tl{top:8px;left:12px}.rbu-cert .tr{top:8px;right:12px}.rbu-cert .bl{bottom:8px;left:12px}.rbu-cert .br{bottom:8px;right:12px}
.rbu-cert-bee{margin:4px 0}
.rbu-cert .sign{display:flex;justify-content:space-around;margin-top:3%}
.rbu-cert .sign div{display:flex;flex-direction:column;align-items:center;min-width:200px}
.rbu-cert .sign .line{display:block;width:180px;border-bottom:1.5px solid var(--ink);height:30px}
.rbu-printdoc{margin:0;background:#fff}
.rbu-printdoc .rbu-root{width:auto!important;margin:0!important}
.rbu-printdoc .rbu-cert{max-width:none;padding:0;font-size:19px}
.rbu-printdoc .rbu-cert-in{min-height:0;height:calc(100vh - 4px)}
.rbu-printdoc .rbu-cert h1{font-size:3.2rem}.rbu-printdoc .rbu-cert h2{font-size:2.4rem}
@media print{
  .rbu-printdoc{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.rbu-printing *{visibility:hidden!important}
  body.rbu-printing #rbu-cert,body.rbu-printing #rbu-cert *{visibility:visible!important}
  body.rbu-printing .rbu-root{width:auto;margin:0!important}
  body.rbu-printing #rbu-cert{position:fixed;inset:0;width:100%;max-width:none;margin:0;border-radius:0;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body.rbu-printing .rbu-cert-in{height:100%;min-height:0}
  @page{size:A4 landscape;margin:8mm}
}

.rbu-dl{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#F4FBFF;border-color:var(--sky)}
.rbu-dl p{margin:0}
.rbu-docrow{display:flex;align-items:center;gap:12px;padding:8px 4px;border-bottom:1.5px dashed #F2DFA8}
.rbu-docrow>div{flex:1}.rbu-docrow small{display:block;font-family:"Fredoka",sans-serif;opacity:.75}
.rbu-docrow .no{flex:0 0 34px;height:34px;border-radius:50%;background:var(--honey);border:2px solid var(--brown);display:flex;align-items:center;justify-content:center;font-weight:700;font-family:"Fredoka",sans-serif}
.rbu-docrow.locked{opacity:.55}
@media (max-width:720px){.rbu-dl{flex-direction:column;align-items:flex-start}}
/* toast / fx */
.rbu-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:#fff;border:3px solid var(--brown,#5A3A1E);border-radius:18px;padding:10px 18px;z-index:99999;font-family:"Mali",sans-serif;box-shadow:0 6px 0 #5A3A1E;animation:rbu-up .35s;max-width:90vw;text-align:center;color:#4A3424}
.rbu-toast.bad{border-color:#E8475F;box-shadow:0 6px 0 #E8475F}
.rbu-toast.out{opacity:0;transition:opacity .4s}
@keyframes rbu-up{from{transform:translate(-50%,30px);opacity:0}}
.rbu-confetti{position:fixed;inset:0;pointer-events:none;z-index:99998;overflow:hidden}
.rbu-confetti i{position:absolute;top:-20px;width:10px;height:14px;border-radius:3px;animation:rbu-fall linear forwards}
@keyframes rbu-fall{to{top:105vh;transform:rotate(720deg)}}
.rbu-fly{position:fixed;z-index:99999;font-size:24px;transition:transform .7s cubic-bezier(.5,-.3,.6,1),opacity .7s;pointer-events:none}

/* login */
.rbu-login{display:flex;justify-content:center;padding:30px 10px}
.rbu-login-card{background:#FFFBF0;border:3px solid #5A3A1E;border-radius:28px;padding:24px;max-width:420px;width:100%;text-align:center;box-shadow:0 8px 0 #E8C66A}
.rbu-login-bee{font-size:64px;animation:rbu-float 2s infinite}
.rbu-login-card form{text-align:left}
.rbu-login-card input[type=text],.rbu-login-card input[type=password]{width:100%;padding:10px;border:2px solid #E8C66A;border-radius:12px;font-size:1rem}
.rbu-login-card input[type=submit]{width:100%;background:#FFD23F;border:2.5px solid #5A3A1E;border-radius:14px;padding:10px;font-weight:700;font-size:1.05rem;box-shadow:0 4px 0 #5A3A1E;cursor:pointer;font-family:inherit}
.rbu-brand{font-family:"Fredoka",sans-serif;font-size:.85rem;opacity:.7}

@media (max-width:720px){
  .rbu-root{font-size:15px}
  .rbu-app{padding:8px;border-radius:20px}
  .rbu-grid2,.rbu-grid3,.rbu-closet{grid-template-columns:1fr}
  .rbu-opts{grid-template-columns:1fr}
  .rbu-hero,.rbu-intro{flex-direction:column;text-align:center}
  .rbu-bubble:before{display:none}
  .rbu-qcard h2{font-size:1.12rem;padding-right:0;margin-top:30px}
  .rbu-qbee{transform:scale(.7);top:-30px;right:0}
  .rbu-trail{grid-template-columns:repeat(3,1fr);padding:10px}
  .rbu-node .hex{width:64px;height:72px}.rbu-node .hex .ic{width:57px;height:65px;font-size:1.6rem}
  .rbu-stage{position:static}
  .rbu-cert h1{font-size:2rem}.rbu-cert h2{font-size:1.5rem;padding:0 8px}.rbu-cert-in{padding:10% 6%;min-height:0}
  .rbu-cert .sign{flex-direction:column;gap:12px}
  .rbu-wallet .rank{display:none}
}
@media (prefers-reduced-motion:reduce){.rbu-root *{animation:none!important;transition:none!important}}

/* ===================== Reading Boost-Up additions ===================== */
.rbu-wallet .stars{background:#FFF9DB}
.rbu-nav button{position:relative}
.rbu-dot{position:absolute;top:-6px;right:-4px;background:var(--bad);color:#fff;border-radius:999px;font-style:normal;font-size:.72rem;min-width:20px;height:20px;line-height:20px;text-align:center;padding:0 5px;border:2px solid #fff;animation:rbu-pulse 1.2s infinite}
.rbu-root .dim{font-style:normal;opacity:.35}
.rbu-hint b{color:var(--ink)}

/* map */
.rbu-path{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin:14px 0}
.rbu-term{border-radius:26px;padding:12px 14px 6px;margin:14px 0;border:2.5px solid #F2DFA8}
.rbu-term.t1{background:linear-gradient(135deg,#FFF0F4,#EFFBF3)}
.rbu-term.t2{background:linear-gradient(135deg,#EAF5FC,#F2F0FF)}
.rbu-term.t3{background:linear-gradient(135deg,#FFF3E0,#FFF9D9)}
.rbu-term-head{display:flex;align-items:center;gap:10px}
.rbu-term-head .ic{font-size:2rem}
.rbu-term-head b{display:block;font-family:"Fredoka",sans-serif;font-size:1.15rem}
.rbu-term-head small{display:block;color:#8A6A3E}
.rbu-term-head>div{flex:1}
.rbu-term .rbu-trail{background:rgba(255,255,255,.55);border-color:rgba(232,198,106,.7);margin:10px 0;grid-template-columns:repeat(5,1fr)}
.rbu-node.alt{transform:translateY(14px)}
.rbu-node .hex .ic.stk{background:#fff;font-size:0}
.rbu-node .hex .ic.stk svg{width:62px;height:62px}
.rbu-node b{max-width:120px;line-height:1.2;text-align:center}
.rbu-node small{min-height:1.2em}

/* unit hub */
.rbu-unit-top{display:grid;grid-template-columns:1.15fr 1fr;gap:14px;align-items:center}
.rbu-scene{position:relative;border:3px solid var(--brown);border-radius:24px;overflow:hidden;aspect-ratio:1000/620;background:#CFE8F3;box-shadow:0 5px 0 #E8C66A}
.rbu-scene.small{max-width:640px;margin:0 auto 10px}
.rbu-scene svg{display:block;width:100%;height:100%}
.rbu-scene-stk{position:absolute;right:8px;bottom:6px}
.rbu-bubble.small{display:flex;gap:10px;align-items:center;padding:8px 12px}
.rbu-bubble.small:before{display:none}
.rbu-bubble.small p{margin:0}
.rbu-missions{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}
.rbu-mission{position:relative;background:#fff;border:3px solid #E8C66A;border-radius:22px;padding:14px 10px 12px;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--ink);box-shadow:0 5px 0 #E8C66A;transition:transform .15s}
.rbu-mission:hover{transform:translateY(-3px)}
.rbu-mission .n{position:absolute;top:-12px;left:-8px;width:32px;height:32px;border-radius:50%;background:var(--honey);border:2.5px solid var(--brown);font-family:"Fredoka",sans-serif;font-weight:700;display:flex;align-items:center;justify-content:center}
.rbu-mission .ic{font-size:2.3rem;line-height:1.2}
.rbu-mission b{font-size:1.02rem}
.rbu-mission small{font-size:.8rem;color:#8A6A3E;text-align:center;line-height:1.3}
.rbu-mission.hot{border-color:var(--brown);box-shadow:0 5px 0 var(--brown);animation:rbu-glow 1.8s infinite}
@keyframes rbu-glow{50%{box-shadow:0 5px 0 var(--brown),0 0 0 7px rgba(255,210,63,.55)}}
.rbu-mission.ok{border-color:var(--good);box-shadow:0 5px 0 var(--good);background:#F2FFF7}
.rbu-mission.ok:after{content:"✅";position:absolute;top:6px;right:8px}
.rbu-mission.locked{opacity:.6;filter:grayscale(.6);cursor:not-allowed}
.rbu-wb{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}
.rbu-wbi{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:4px 0;border-bottom:1.5px dashed #F2DFA8}
.rbu-wbi b{font-family:"Andika","Fredoka",sans-serif;font-size:1.1rem;color:#2E7D6B}
.rbu-wbi i{font-size:.8rem;color:#8A6A3E}
.rbu-wbi span{flex-basis:100%;padding-left:40px;font-size:.95rem}
.rbu-stem{font-family:"Andika","Fredoka",sans-serif;font-size:1.3rem;font-weight:700;color:#2E7D6B;margin:0}
.rbu-trline{font-family:"Andika",sans-serif;font-size:1.15rem}
.rbu-reveal summary{cursor:pointer;color:#2E7D6B;font-weight:600}
.rbu-reveal p{background:#EFFFF8;border-radius:12px;padding:8px 12px}
.rbu-linkbtn{background:none;border:0;color:#2E7D6B;text-decoration:underline;padding:0;font-size:.92rem}

/* reader */
.rbu-readwrap{background:#fff;border:3px solid #F2DFA8;border-radius:26px;padding:14px}
.rbu-player{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:6px 0}
.rbu-story{background:#FFFDF6;border-radius:20px;padding:6px 10px;border:2px dashed #F2DFA8}
.rbu-lines{list-style:none;margin:0;padding:0;font-family:"Andika","Fredoka",system-ui,sans-serif;font-size:1.12rem;line-height:1.7}
.rbu-lines.big{font-size:1.4rem;line-height:1.75}
.rbu-lines li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:6px 8px;border-radius:14px;transition:background .25s}
.rbu-lines li .tx{flex:1;min-width:0}
.rbu-lines li .th{flex-basis:100%;padding-left:44px;font-family:"Mali",sans-serif;font-size:.78em;color:#6B5B3E}
.rbu-lines .ln{flex:0 0 32px;height:32px;border-radius:50%;background:var(--sky);border:2px solid var(--brown);font-family:"Fredoka",sans-serif;font-weight:700;font-size:.9rem;color:var(--ink);padding:0;align-self:center}
.rbu-lines .ln:hover{background:var(--honey)}
.rbu-lines li.on{background:#FFF3BF}
.rbu-lines li.mark{background:#DFF7E8;outline:2px solid var(--good)}
.rbu-lines .rw{cursor:pointer;border-radius:6px;padding:0 1px;transition:background .12s,color .12s}
.rbu-lines .rw:hover{background:#E6F4FF}
.rbu-lines .rw.wb{text-decoration:underline dotted #E8A33D 2px;text-underline-offset:5px}
.rbu-lines .rw.past{color:#2E7D6B}
.rbu-lines .rw.cur{background:var(--honey);color:var(--ink);box-shadow:0 0 0 3px var(--honey)}
.rbu-lines .rw.pick{outline:2px solid #3E7BFA}
.rbu-wpop{margin:8px auto 0;max-width:520px;background:#F4FBFF;border:2px solid var(--sky);border-radius:14px;padding:6px 12px;text-align:center;font-size:1.05rem}
.rbu-wpop b{font-family:"Andika",sans-serif;font-size:1.25rem;color:#2E7D6B}
.rbu-readdone{margin-top:10px}

/* read aloud */
.rbu-aloud{display:flex;flex-direction:column;gap:10px;margin:12px 0}
.rbu-al{background:#fff;border:2.5px solid #F2DFA8;border-radius:18px;padding:10px 12px}
.rbu-al.pass{border-color:var(--good);background:#F6FFF9}
.rbu-al .tx{font-family:"Andika","Fredoka",sans-serif;font-size:1.3rem;line-height:1.6}
.rbu-al .tx .n{display:inline-flex;width:28px;height:28px;border-radius:50%;background:var(--honey);border:2px solid var(--brown);font-size:.85rem;align-items:center;justify-content:center;margin-right:8px;font-family:"Fredoka",sans-serif;vertical-align:middle}
.rbu-al .rw{cursor:pointer;border-radius:6px;padding:0 1px}
.rbu-al .rw.cur{background:var(--honey)}
.rbu-al .rw.okw{background:#CDEFD9;color:#1B6B49}
.rbu-al .rw.miss{background:#FFD6DC;color:#A32035}
.rbu-al .ctl{display:flex;gap:4px;align-items:center;flex-wrap:wrap;margin-top:4px}
.rbu-al .sc{margin-left:auto}
.rbu-al .heard{font-size:.9rem;color:#6B5B3E}
.rbu-btn.rec{background:#FF9EB5;animation:rbu-pulse 1s infinite}
.okc{color:var(--good)}.noc{color:var(--bad)}

/* games */
.rbu-gamegrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:12px 0}
.rbu-gamecard{background:#fff;border:3px solid #E8C66A;border-radius:22px;padding:14px 10px;display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:0 5px 0 #E8C66A;color:var(--ink);transition:transform .15s}
.rbu-gamecard:hover{transform:translateY(-3px) rotate(-1deg)}
.rbu-gamecard .ic{font-size:2.6rem}
.rbu-gamecard small{font-size:.8rem;color:#8A6A3E;text-align:center;line-height:1.3}
.rbu-gamecard.ok{border-color:var(--good);box-shadow:0 5px 0 var(--good)}
.rbu-game{min-height:300px}
.rbu-memo{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:640px;margin:10px auto}
.rbu-mc{position:relative;height:96px;border:0;background:none;perspective:600px;padding:0}
.rbu-mc span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:16px;border:2.5px solid var(--brown);backface-visibility:hidden;transition:transform .4s;padding:6px;text-align:center;line-height:1.25}
.rbu-mc .b{background:repeating-linear-gradient(45deg,#FFD23F,#FFD23F 10px,#FFE27A 10px,#FFE27A 20px);font-size:2rem}
.rbu-mc .f{background:#fff;transform:rotateY(180deg);font-size:1rem}
.rbu-mc .f.en{font-family:"Andika",sans-serif;font-size:1.25rem;font-weight:700;color:#2E7D6B}
.rbu-mc.up .b{transform:rotateY(180deg)}.rbu-mc.up .f{transform:rotateY(0)}
.rbu-mc.done .f{background:#DFF7E8;border-color:var(--good)}
.rbu-mc.done{animation:rbu-pop .4s}
.rbu-opts.four{grid-template-columns:1fr 1fr}
.rbu-opts.four .rbu-opt{font-family:"Andika",sans-serif;font-size:1.3rem;justify-content:flex-start}
.rbu-slots-line{min-height:64px;border:2.5px dashed #E8C66A;border-radius:16px;padding:8px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:#FFFDF6;margin:8px 0}
.rbu-slots-line.ok{border-style:solid;border-color:var(--good);background:#EFFFF4}
.rbu-tiles{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:10px 0}
.rbu-tile{background:#fff;border:2.5px solid var(--brown);border-radius:12px;padding:6px 12px;font-family:"Andika",sans-serif;font-size:1.25rem;color:var(--ink);box-shadow:0 3px 0 var(--brown)}
.rbu-tile[disabled]{opacity:.25;box-shadow:none}
.rbu-tile.in{background:var(--honey)}
.rbu-tile.wrong{background:#FFD6DC;border-color:var(--bad);animation:rbu-shake .4s}
.rbu-tile.right{background:#CDEFD9;border-color:var(--good)}
.rbu-done-line{font-family:"Andika",sans-serif;font-size:1.35rem;color:#1B6B49}
.rbu-order{display:flex;flex-direction:column;gap:10px;margin:10px 0}
.rbu-oc{display:flex;gap:12px;align-items:center;background:#fff;border:2.5px solid #E8C66A;border-radius:16px;padding:10px 12px;text-align:left;font-family:"Andika",sans-serif;font-size:1.15rem;color:var(--ink)}
.rbu-oc .num{flex:0 0 38px;height:38px;border-radius:50%;border:2.5px dashed #E8C66A;display:flex;align-items:center;justify-content:center;font-family:"Fredoka",sans-serif;font-weight:700;font-size:1.2rem}
.rbu-oc.on{border-color:var(--brown);background:#FFF9DB}.rbu-oc.on .num{background:var(--honey);border:2.5px solid var(--brown)}
.rbu-oc.right{border-color:var(--good);background:#EFFFF4}
.rbu-oc.wrong{border-color:var(--bad);background:#FFF1F3;animation:rbu-shake .4s}
.rbu-starbig{font-size:2.4rem;letter-spacing:4px}
.rbu-starbig .dim{opacity:.25}

/* practice & exam */
.rbu-optrow{display:flex;gap:6px;align-items:stretch}
.rbu-optrow .rbu-opt{flex:1;font-family:"Andika","Mali",sans-serif}
.rbu-say.mini{align-self:center;padding:2px 7px;font-size:.85rem}
.rbu-qcard h2 .rbu-say{font-size:.9rem;vertical-align:middle}
.rbu-qcard h2{font-family:"Andika","Mali",sans-serif}
.rbu-auto{font-weight:400;font-size:.85rem;display:flex;align-items:center;gap:4px;cursor:pointer}
.rbu-peek,.rbu-passage{background:#FFFDF6;border:2.5px solid #F2DFA8;border-radius:20px;padding:6px 12px;margin:8px 0}
.rbu-peek summary,.rbu-passage summary{cursor:pointer;font-weight:600;padding:4px 0}
.rbu-peek[open],.rbu-passage[open]{border-color:var(--sky);background:#FAFDFF}
.rbu-passage .rbu-pl{padding-bottom:6px}
.rbu-rvp{background:#FFF6CC;border-radius:14px;padding:8px 12px;margin:10px 0;font-family:"Andika",sans-serif}
.rbu-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.rbu-grid4 .rbu-card{margin:0}

/* stickers */
.rbu-sech{margin-top:16px}
.rbu-stk{position:relative;display:inline-block;transform:rotate(var(--r,0deg));filter:drop-shadow(3px 0 0 #fff) drop-shadow(-3px 0 0 #fff) drop-shadow(0 3px 0 #fff) drop-shadow(0 -3px 0 #fff) drop-shadow(0 4px 5px rgba(74,55,40,.3))}
.rbu-stk svg{display:block}
.rbu-stk .no{position:absolute;left:-2px;top:-2px;background:var(--honey);border:2px solid var(--brown);border-radius:50%;width:24px;height:24px;font-size:.75rem;display:flex;align-items:center;justify-content:center;font-family:"Fredoka",sans-serif}
.rbu-stk.slap,.rbu-sticker.slap{animation:rbu-slap .7s cubic-bezier(.2,1.6,.4,1)}
.rbu-stk.pending,.rbu-sticker.pending{opacity:0}
.rbu-album.page .rbu-slot{min-height:140px}
.rbu-album.page.t1{background-color:#FFF0F4}.rbu-album.page.t2{background-color:#EAF5FC}.rbu-album.page.t3{background-color:#FFF3E0}
.rbu-album h3 small{font-weight:400;font-size:.85rem;color:#8A6A3E}
.rbu-badge{width:var(--s);height:var(--s);border-radius:50%;background:radial-gradient(circle at 35% 30%,#FFF6CC,#FFC83D 60%,#E8A33D);border:3px solid var(--brown);display:flex;align-items:center;justify-content:center;font-size:calc(var(--s) * .48);position:relative;box-shadow:inset 0 -4px 0 rgba(0,0,0,.1)}
.rbu-badge:before,.rbu-badge:after{content:"";position:absolute;bottom:-14px;width:14px;height:20px;background:#E8475F;border:2px solid var(--brown);z-index:-1}
.rbu-badge:before{left:22%;transform:rotate(18deg)}.rbu-badge:after{right:22%;transform:rotate(-18deg);background:#3E7BFA}
.rbu-badge span{line-height:1}

/* reward modal */
.rbu-modal{position:fixed;inset:0;background:rgba(74,55,40,.45);z-index:99997;display:flex;align-items:center;justify-content:center;padding:16px;animation:rbu-fade .25s;width:auto!important;margin:0!important}
.rbu-modal.out{opacity:0;transition:opacity .25s}
.rbu-modal-box{background:var(--cream);border:3px solid var(--brown);border-radius:28px;padding:18px 22px;max-width:460px;width:100%;text-align:center;box-shadow:0 8px 0 var(--brown);max-height:90vh;overflow:auto;font-family:"Mali",sans-serif;color:var(--ink)}
.rbu-kicker{margin:0;color:#2E7D6B;font-weight:700}
.rbu-bigstk{margin:10px 0}
.rbu-badgewin{display:flex;gap:16px;align-items:center;text-align:left;background:#fff;border:2px solid #F2DFA8;border-radius:16px;padding:10px 14px;margin:10px 0}
@keyframes rbu-fade{from{opacity:0}}

@media (max-width:900px){
  .rbu-missions,.rbu-gamegrid{grid-template-columns:1fr 1fr}
  .rbu-unit-top{grid-template-columns:1fr}
  .rbu-grid4{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .rbu-term .rbu-trail{grid-template-columns:repeat(3,1fr)}
  .rbu-node.alt{transform:none}
  .rbu-lines.big{font-size:1.2rem}
  .rbu-lines li .th{padding-left:0}
  .rbu-wb{grid-template-columns:1fr}
  .rbu-memo{grid-template-columns:repeat(3,1fr)}
  .rbu-mc{height:84px}
  .rbu-opts.four{grid-template-columns:1fr}
  .rbu-qhead .rbu-auto{flex-basis:100%}
}
.rbu-album.page .rbu-slots{grid-template-columns:repeat(5,1fr)}
.rbu-slot .rbu-badge,.rbu-slot .rbu-ghost .rbu-badge{margin-bottom:16px}
.rbu-slot>small{margin-top:2px}
@media (max-width:720px){.rbu-album.page .rbu-slots{grid-template-columns:repeat(3,1fr)}}
.rbu-opts:not(.four){grid-template-columns:1fr;max-width:760px}
