@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/poppins-400.woff2') format('woff2')}
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/poppins-500.woff2') format('woff2')}
@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/poppins-600.woff2') format('woff2')}
@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/poppins-700.woff2') format('woff2')}
@font-face{font-family:Poppins;font-style:normal;font-weight:800;font-display:swap;src:url('/fonts/poppins-800.woff2') format('woff2')}

#qb-review { --qb-ink:#352b48; --qb-paper:#fffaf2; --qb-lilac:#e9ddff; --qb-mint:#d9f0df; --qb-pink:#ffe0e8; --qb-gold:#ffe29b; --qb-muted:#6f647a; color:var(--qb-ink); font-family:'Poppins',system-ui,sans-serif; }
#qb-review * { box-sizing:border-box; }
#qb-review .qb-stage { min-height:835px; padding:18px 8px 28px; }
#qb-review .qb-review-tools { max-width:414px; margin:0 auto 14px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:12px; color:light-dark(#62566d,#d9cce6); }
#qb-review .qb-review-tools select { font:inherit; padding:8px; border:1px solid #a99db5; border-radius:8px; color:#352b48; background:#fffaf2; }
#qb-review .qb-phone { position:relative; max-width:414px; margin:auto; border:2px solid var(--qb-ink); border-radius:24px; background:var(--qb-paper); box-shadow:5px 6px 0 #bcb0ce; overflow:hidden; color-scheme:light; }
#qb-review .qb-confetti { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:4; }
#qb-review .qb-win .qb-score { animation:qb-score-pop .55s ease-out both; }
#qb-review .qb-win .qb-scoreline { animation:qb-score-reveal .35s ease-out both; animation-delay:calc(var(--qb-line) * .15s + .15s); }
@keyframes qb-score-pop { from { transform:scale(.8); } 65% { transform:scale(1.08); } to { transform:scale(1); } }
@keyframes qb-score-reveal { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:translateY(0); } }
#qb-review .qb-header { padding:17px 19px 12px; display:flex; align-items:center; justify-content:space-between; gap:8px; background:linear-gradient(110deg,#ffe2e9,#ece1ff 65%,#def1ee); border-bottom:1.5px solid var(--qb-ink); }
#qb-review .qb-brand { font-size:21px; font-weight:800; letter-spacing:-.8px; }
#qb-review .qb-header small { font-size:11px; letter-spacing:1px; font-weight:650; }
#qb-review .qb-content { padding:19px; min-height:590px; }
#qb-review h2 { margin:0 0 8px; color:var(--qb-ink); font:750 26px/1.17 'Poppins',system-ui,sans-serif; letter-spacing:-.7px; }
#qb-review h3 { margin:0 0 8px; color:var(--qb-ink); font:700 18px/1.3 'Poppins',system-ui,sans-serif; }
#qb-review p { margin:0 0 14px; font-size:14px; line-height:1.55; }
#qb-review button,#qb-review input,#qb-review textarea,#qb-review select { font-family:inherit; }
#qb-review .qb-button { padding:11px 14px; min-height:44px; border:1.5px solid var(--qb-ink); border-radius:11px; background:#fffdf9; color:var(--qb-ink); font-weight:650; font-size:13px; box-shadow:0 2px 0 var(--qb-ink); }
#qb-review .qb-button:active { transform:translateY(1px); box-shadow:none; }
#qb-review .qb-button.qb-primary { background:var(--qb-gold); }
#qb-review .qb-button.qb-mint { background:var(--qb-mint); }
#qb-review .qb-button.qb-purple { background:var(--qb-lilac); }
#qb-review .qb-wide { width:100%; }
#qb-review .qb-link { border:0; background:none; color:#655080; min-height:44px; padding:7px 2px; text-decoration:underline; text-underline-offset:3px; font-size:13px; font-weight:600; }
#qb-review button:focus-visible,#qb-review input:focus-visible,#qb-review textarea:focus-visible,#qb-review select:focus-visible { outline:3px solid #8260b5; outline-offset:3px; }
#qb-review .qb-sub { color:var(--qb-muted); font-size:12px; line-height:1.5; }
#qb-review .qb-eyebrow { font-size:11px; font-weight:750; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:9px; color:#74628b; }
#qb-review .qb-row { display:flex; align-items:center; gap:10px; }
#qb-review .qb-wrap { flex-wrap:wrap; }
#qb-review .qb-between { justify-content:space-between; }
#qb-review .qb-grow { flex:1; min-width:0; }
#qb-review .qb-stack { display:grid; gap:11px; }
#qb-review .qb-gap { margin-top:19px; }
#qb-review .qb-pill { display:inline-block; border-radius:7px; padding:4px 8px; font-size:12px; font-weight:650; background:var(--qb-lilac); white-space:nowrap; }
#qb-review .qb-coins { background:var(--qb-gold); }
#qb-review .qb-avatar { width:49px; height:49px; display:grid; place-items:center; background:var(--qb-lilac); border:1.5px solid var(--qb-ink); border-radius:16px; font-size:28px; flex-shrink:0; }
#qb-review .qb-meter { height:7px; background:#ece4ed; border-radius:6px; overflow:hidden; margin:8px 0 4px; }
#qb-review .qb-meter > span { display:block; height:100%; background:#a58bc9; border-radius:6px; }
#qb-review .qb-boss { margin:16px 0; padding:12px; border-radius:12px; background:#f1eafa; }
#qb-review .qb-boss .qb-meter > span { background:#bd75a4; }
#qb-review .qb-boss b { font-size:12px; }
#qb-review .qb-boss small { font-size:11px; }
#qb-review .qb-nav { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; border-top:1.5px solid var(--qb-ink); padding:10px; background:#fffdf8; }
#qb-review .qb-nav button { box-shadow:none; border-color:transparent; padding:9px 3px; font-size:14px; background:transparent; }
#qb-review .qb-nav button[aria-pressed=true] { background:var(--qb-gold); border-color:var(--qb-ink); }
#qb-review .qb-task { display:flex; align-items:center; gap:10px; padding:12px 0; border-bottom:1px solid #e5dce9; }
#qb-review .qb-task strong { font-size:14px; font-weight:650; }
#qb-review .qb-task .qb-sub { margin-top:3px; }
#qb-review .qb-tick { min-width:44px; width:44px; height:44px; border:1.5px solid var(--qb-ink); background:#fffefb; border-radius:13px; color:var(--qb-ink); font-size:20px; }
#qb-review .qb-soft { padding:14px; background:#f1eafa; border-radius:12px; }
#qb-review .qb-soft.qb-green { background:#e5f3e8; }
#qb-review .qb-soft.qb-gold { background:#fff0c7; }
#qb-review label { display:block; font-size:13px; font-weight:650; margin:13px 0 7px; }
#qb-review input[type=text],#qb-review input[type=number],#qb-review input[type=time],#qb-review textarea,#qb-review .qb-field { width:100%; border:1.5px solid #8d8098; border-radius:10px; padding:12px; background:#fffefa; font-size:16px; color:var(--qb-ink); }
#qb-review textarea { min-height:135px; resize:vertical; line-height:1.55; }
#qb-review .qb-choice { display:flex; align-items:center; gap:10px; padding:10px 0; font-weight:500; margin:0; }
#qb-review .qb-choice input { accent-color:#77539b; width:20px; height:20px; flex-shrink:0; }
#qb-review .qb-avatars { display:flex; gap:10px; margin:15px 0; }
#qb-review .qb-avatars button { font-size:27px; min-width:54px; background:#fffdf9; }
#qb-review .qb-avatars button[aria-pressed=true] { background:var(--qb-lilac); box-shadow:0 0 0 2px #8f72b3; }
#qb-review .qb-error { color:#a02349; margin:9px 0; font-size:13px; }
#qb-review .qb-success { padding:17px; border:1.5px solid var(--qb-ink); background:#e7f5e9; border-radius:15px; }
#qb-review .qb-score { font-size:40px; letter-spacing:-1.5px; font-weight:800; margin:5px 0; }
#qb-review .qb-scoreline { display:flex; justify-content:space-between; gap:12px; font-size:13px; padding:9px 0; border-bottom:1px solid #d8e4db; }
#qb-review .qb-scoreline:last-child { border-bottom:0; }
#qb-review .qb-receipt { padding:16px; background:#fffefb; border:1.5px dashed #8d789e; border-radius:12px; margin-top:16px; }
#qb-review .qb-receipt p { font-size:12px; }
#qb-review .qb-treat { padding:16px; background:#fff4d8; border:1.5px solid var(--qb-ink); border-radius:15px; }
#qb-review .qb-treat-icon { font-size:38px; }
#qb-review .qb-memory { background:linear-gradient(140deg,#ffdce8,#e8deff); border-radius:12px; padding:23px 12px; text-align:center; font-size:47px; margin-bottom:12px; }
#qb-review .qb-wheel { width:220px; height:220px; margin:25px auto; border-radius:50%; border:3px solid var(--qb-ink); background:conic-gradient(#c8eaca 0deg 60deg,#e3d4ff 60deg 120deg,#ffdbb0 120deg 180deg,#d9eafa 180deg 240deg,#ffdce9 240deg 300deg,#ffedb5 300deg); position:relative; transition:transform 1.2s cubic-bezier(.15,.7,.2,1); }
#qb-review .qb-wheel span { position:absolute; font-size:30px; }
#qb-review .qb-wheel span:nth-child(1){top:23px;left:94px} #qb-review .qb-wheel span:nth-child(2){top:85px;right:20px} #qb-review .qb-wheel span:nth-child(3){bottom:23px;left:90px} #qb-review .qb-wheel span:nth-child(4){top:85px;left:19px}
#qb-review .qb-wheel:after { content:'✦'; display:grid; place-items:center; color:#352b48; background:#fffaf2; border:2px solid #352b48; border-radius:50%; width:42px; height:42px; position:absolute; left:86px; top:86px; }
#qb-review .qb-orb { width:94px; height:94px; border-radius:50%; border:2px solid var(--qb-ink); background:radial-gradient(circle at 32% 28%,#fff 0,#f6edff 15%,#ccb1f2 50%,#95c2df 90%); box-shadow:0 5px 0 #aa8dc7; margin:20px auto; }
#qb-review .qb-notification { padding:16px; border:1px solid #d5c8df; border-radius:20px; background:#f8f3fc; margin:20px 0; box-shadow:0 4px 20px #59416a12; }
#qb-review .qb-notification p { margin:10px 0 0; }
#qb-review .qb-cat { font-size:49px; }
#qb-review .qb-footnote { text-align:center; padding:16px 8px 0; font-size:11px; color:var(--qb-muted); }
#qb-review details { margin-top:12px; } #qb-review summary { font-size:13px; min-height:44px; padding:12px 0; }
#qb-review .qb-photo { max-width:100%; display:block; border-radius:12px; margin-bottom:12px; }
#qb-review .qb-preview-note { max-width:414px; margin:12px auto 0; color:light-dark(#62566d,#d9cce6); font-size:12px; line-height:1.5; }
#qb-review .qb-center { text-align:center; }
#qb-review .qb-checkrow { display:flex; align-items:center; justify-content:space-between; gap:7px; }
#qb-review .qb-checkrow .qb-choice { flex:1; min-width:0; overflow-wrap:anywhere; }
#qb-review .qb-checkrow .qb-link { flex-shrink:0; }
#qb-review .qb-import-file { display:flex; align-items:center; gap:10px; margin-top:12px; }
#qb-review .qb-import-file strong { display:block; font-size:13px; overflow-wrap:anywhere; }
#qb-review .qb-import-file .qb-link { flex-shrink:0; }
@media(max-width:380px) { #qb-review .qb-content { padding:15px; } #qb-review .qb-header { padding:15px; } #qb-review .qb-stage { padding:10px 3px 24px; min-height:875px; } #qb-review .qb-row { gap:7px; } #qb-review .qb-button { padding:10px; } }
@media(prefers-reduced-motion:reduce){#qb-review *{transition:none!important;animation:none!important}}
body { margin:0; background:#fffaf2; color:#352b48; font-family:Poppins,system-ui,sans-serif; padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom); }
.test-tools { max-width:414px; margin:auto; padding:12px 16px; font-size:12px; line-height:1.5; background:#eee4ff; box-sizing:border-box; }
.test-tools:not(:has(> :not([hidden]))) { display:none; }
.test-tools > div { display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:13px; font-weight:600; }
.test-tools > div + div { margin-top:8px; }
.test-tools p { margin:8px 0; }
.test-tools button { min-height:44px; padding:8px 12px; font:inherit; font-weight:600; background:#fffaf2; color:#352b48; border:1px solid #655080; border-radius:8px; cursor:pointer; }
[hidden] { display:none!important; }
#save-error { color:#8b1738; background:#ffe3eb; padding:10px; border-radius:8px; }
#qb-review .qb-stage { min-height:0; padding:0 0 20px; }
#qb-review .qb-review-tools { padding:8px 16px; margin:0 auto; box-sizing:border-box; }
#qb-review .qb-phone { border-radius:0; border-width:1px 0; box-shadow:none; }
#qb-review .qb-content { min-height:450px; }
#qb-review .qb-header small { font-size:12px; letter-spacing:1px; }
#qb-review button { cursor:pointer; }
#qb-review .qb-nav { padding-bottom:max(10px,env(safe-area-inset-bottom)); }
/* Demo build: guests must not be able to swap their game for example data. The
   control stays in the page so saved scenario state keeps working. */
#qb-review .qb-review-tools { display:none; }
#qb-review .qb-progress { padding:14px; border:1.5px solid #c6bacf; border-radius:16px; background:linear-gradient(120deg,#fffdfa,#f7f0ff); box-shadow:0 2px 0 #e3d9e8; }
#qb-review .qb-progress-top { display:flex; gap:12px; align-items:center; }
#qb-review .qb-progress .qb-avatar { width:52px; height:52px; border-radius:50%; background:#ffdeea; border:2px solid #352b48; outline:3px solid #f2cbdc; outline-offset:3px; margin:3px; }
#qb-review .qb-player-name { font-size:19px; overflow-wrap:anywhere; }
#qb-review .qb-level { font-size:12px; font-weight:700; margin-top:2px; }
#qb-review .qb-xp { height:13px; border:1px solid #c5baca; background:#eae3ed; margin-top:14px; }
#qb-review .qb-xp > span { background:linear-gradient(90deg,#ffc2dc,#d9c9ff 60%,#b5d9ff); }
#qb-review .qb-progress-caption { font-size:11px; color:#62566d; margin:5px 0 8px; }
#qb-review .qb-progress-totals { display:flex; flex-wrap:wrap; gap:5px 12px; font-size:11px; font-weight:500; color:#554860; }
#qb-review .qb-progress-totals span { white-space:nowrap; }
#qb-review .qb-progress-counter { display:inline-block; position:relative; font-variant-numeric:tabular-nums; }
#qb-review .qb-counter-space { visibility:hidden; }
#qb-review .qb-progress-counter [data-counter] { position:absolute; right:0; top:0; }
#qb-review .qb-tags { display:flex; flex-wrap:wrap; gap:3px 8px; font-size:11px; line-height:1.6; color:#62566d; margin-top:4px; }
#qb-review .qb-tags span { white-space:nowrap; }
#qb-review .qb-reward { background:var(--realm-tint); border:1px solid #b7aabc; box-shadow:0 2px 0 #d1c6d8; }
#qb-review .qb-task { border:1.5px solid #d3c9d9; border-radius:13px; padding:10px 9px; margin-top:8px; background:#fffdfb; align-items:center; }
#qb-review .qb-task strong { overflow-wrap:anywhere; }
#qb-review .qb-tick { background:#fffdfa; border-radius:11px; box-shadow:0 2px 0 #c9bdcf; }
#qb-review .qb-score-dialog { width:100%; height:100%; max-width:none; max-height:none; margin:0; padding:20px; border:0; background:transparent; color:#352b48; overflow:auto; }
#qb-review .qb-score-dialog[open] { display:grid; place-items:center; }
#qb-review .qb-score-dialog::backdrop { background:#352b4838; }
#qb-review .qb-score-card { width:min(100%,380px); padding:18px; border:2.5px solid #352b48; border-radius:20px; background:#fffdfa; box-shadow:0 7px 0 #352b48; position:relative; z-index:1; }
#qb-review .qb-score-card h2 { font-size:18px; letter-spacing:-.4px; margin:0; }
#qb-review .qb-score-card #qb-score-title { font-size:12px; color:#665b70; margin:9px 0; overflow-wrap:anywhere; }
#qb-review .qb-score-card .qb-scoreline { border:0; border-top:1px dashed #d5cbdc; padding:11px 0; font-size:13px; }
#qb-review .qb-score-total { display:flex; align-items:center; justify-content:space-between; gap:10px; border:2px solid #4e405d; background:linear-gradient(120deg,#fff2c6,#ffe29b); border-radius:12px; padding:10px 12px; margin-top:5px; }
#qb-review .qb-score-total .qb-score { font-size:25px; letter-spacing:-.5px; margin:0; }
#qb-review .qb-score-xp { font-size:11px; color:#665b70; text-align:right; margin:5px 0 14px; }
#qb-review .qb-rarity { font-size:10px; font-weight:800; padding:5px 7px; border:2px solid #514563; border-radius:9px; box-shadow:0 2px 0 #514563; background:#d5eaff; white-space:nowrap; }
#qb-review .qb-rarity.rare { background:#e3d9ff; }
#qb-review .qb-score-dialog .qb-confetti { position:fixed; z-index:2; }
#qb-review .qb-milestone { font-size:12px; font-weight:600; padding:9px; margin-bottom:12px; border-radius:9px; background:#e9ddff; }
#qb-review .qb-quest-details { padding:0 12px 12px; border:1px solid #dbcfdf; border-radius:12px; }
#qb-review .qb-quest-details label { font-size:12px; }
@media(max-width:350px) {
  #qb-review .qb-score-dialog { padding:12px; }
  #qb-review .qb-score-card { padding:14px; }
  #qb-review .qb-score-card h2 { font-size:16px; }
  #qb-review .qb-progress { padding:11px; }
  #qb-review .qb-progress-totals { gap:4px 8px; }
}
#qb-review .qb-progress { display:flex; align-items:center; gap:13px; padding:13px; }
#qb-review .qb-progress .qb-avatar { width:48px; height:48px; font-size:28px; }
#qb-review .qb-progress-body { flex:1; min-width:0; }
#qb-review .qb-progress-top { justify-content:space-between; gap:8px; align-items:baseline; }
#qb-review .qb-player-name { font-size:18px; min-width:0; overflow-wrap:anywhere; }
#qb-review .qb-level { text-align:right; font-size:11px; margin:0; min-width:0; overflow-wrap:anywhere; }
#qb-review .qb-xp { margin-top:8px; height:13px; }
#qb-review .qb-progress-footer { display:flex; justify-content:space-between; gap:3px 10px; flex-wrap:wrap; margin-top:4px; }
#qb-review .qb-progress-caption { margin:0; font-size:10px; }
#qb-review .qb-progress-totals { gap:3px 8px; font-size:10px; }
#qb-review .qb-board-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin:12px 0; max-width:440px; }
#qb-review .qb-board-actions .qb-button { padding:7px 6px; font-size:12px; min-width:0; }
#qb-review .qb-button.qb-new-quest { background:#cfe3ff; }
#qb-review .qb-new-quest { margin:4px 0 12px; padding:11px 12px; font-size:15px; font-weight:800; max-width:440px; }
#qb-review .qb-boss { display:flex; align-items:center; gap:13px; padding:13px; margin:12px 0; background:linear-gradient(120deg,#fff,#fff0f5); border:1.5px solid #d3c9d9; box-shadow:0 2px 0 #e3d9e8; position:relative; }
#qb-review .qb-boss-icon { font-size:36px; line-height:1; flex-shrink:0; }
#qb-review .qb-boss strong { font-size:14px; }
#qb-review .qb-boss-hp { font-size:11px; font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap; min-width:calc(6.5em + var(--health-digits,3) * .8em); text-align:right; }
#qb-review .qb-boss .qb-meter { height:12px; border:1px solid #d1bec8; background:#f4eaf0; }
#qb-review .qb-boss .qb-meter > span { background:linear-gradient(90deg,#ff9dba,#ffb8cc); }
#qb-review .qb-board { padding:12px; border:1.5px solid #d3c9d9; border-radius:15px; background:#fffdfb; }
#qb-review .qb-board h2 { font-size:17px; letter-spacing:-.3px; margin:0; }
#qb-review .qb-board-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; }
#qb-review .qb-board-heading .qb-sub { display:block; margin-top:3px; font-size:11px; }
#qb-review .qb-task { position:relative; }
#qb-review .qb-task-title { display:flex; align-items:baseline; gap:5px 7px; flex-wrap:wrap; }
#qb-review .qb-next-tag { font-size:9px; text-transform:uppercase; letter-spacing:.4px; font-weight:750; background:#ffe7a8; border:1px solid #cbb06d; border-radius:5px; padding:2px 5px; order:-1; }
#qb-review .qb-up-next { background:#fff9e8; border-color:#d5b66a; }
#qb-review .qb-crystal-reason { color:#8057a6; font-size:11px; line-height:1.5; margin:5px 0 0; }
#qb-review .qb-crystal-hype { font-size:12px; color:#8057a6; margin:9px 0 0; }
#qb-review .qb-capacity-summary { display:flex; align-items:center; gap:10px; justify-content:space-between; margin-top:9px; color:#6f647a; font-size:11px; }
#qb-review .qb-capacity-summary .qb-link { white-space:nowrap; font-size:12px; }
#qb-review .qb-parking { border:1.5px dashed #b8a8c5; border-radius:12px; padding:0 12px 12px; }
#qb-review .qb-parked-task { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:0 10px; }
#qb-review .qb-parked-task .qb-link { grid-column:1/-1; justify-self:end; }
#qb-review .qb-parking h3 { padding-top:12px; font-size:15px; }
#qb-review .qb-capacity-card { background:#f3fbff; border:1.5px solid #b9cad8; border-radius:14px; padding:16px; }
#qb-review .qb-time-inputs { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
#qb-review .qb-time-inputs input { text-align:center; }
#qb-review .qb-budget { display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap; margin:15px 0; font-size:13px; }
#qb-review .qb-budget-pill { display:inline-block; background:#ffdce6; padding:5px 9px; border-radius:9px; font-size:12px; font-weight:650; }
#qb-review .qb-budget-pill.fits { background:#d8f1e2; }
#qb-review .qb-energy-budget { margin:6px 0 0 5px; }
#qb-review .qb-capacity-note { color:#7a5d96; font-size:12px; margin:12px 0; }
@media (min-width:650px) {
  .test-tools { max-width:900px; }
  #qb-review .qb-phone { max-width:900px; border:1.5px solid #c2b5cc; border-radius:18px; }
  #qb-review .qb-review-tools { max-width:900px; }
  #qb-review .qb-stage { padding:0 16px 24px; }
  #qb-review .qb-progress .qb-avatar { width:54px; height:54px; }
  #qb-review .qb-progress-caption,#qb-review .qb-progress-totals { font-size:11px; }
  #qb-review .qb-progress-top .qb-level { font-size:12px; }
  #qb-review .qb-board .qb-task { padding:9px 12px; }
}
@media (max-width:440px) {
  #qb-review .qb-content { padding:13px; }
  #qb-review .qb-progress { gap:10px; padding:10px; }
  #qb-review .qb-progress .qb-avatar { width:39px; height:39px; font-size:24px; }
  #qb-review .qb-player-name { font-size:15px; }
  #qb-review .qb-level { font-size:11px; max-width:52%; }
  #qb-review .qb-progress-caption,#qb-review .qb-progress-totals { font-size:11px; }
  #qb-review .qb-board-actions .qb-button { font-size:11px; padding:7px 4px; }
  #qb-review .qb-board { padding:10px; }
  #qb-review .qb-boss strong { font-size:12px; }
  #qb-review .qb-task { gap:8px; padding:9px 7px; }
  #qb-review .qb-task strong { font-size:12px; }
  #qb-review .qb-capacity-summary { flex-wrap:wrap; gap:0; }
}
#qb-review .qb-protected-tag { order:-1; font-size:9px; font-weight:750; text-transform:uppercase; letter-spacing:.4px; background:#e9ddfb; border:1px solid #b9a3dc; border-radius:5px; padding:2px 5px; color:#4b3a74; }
#qb-review .qb-budget-row { display:flex; align-items:flex-end; gap:12px; }
#qb-review .qb-budget-row>[data-budget] { flex:1 1 auto; min-width:0; }
#qb-review .qb-trim-button { flex:0 0 auto; margin-bottom:12px; white-space:nowrap; }
#qb-review .qb-capacity-note.fits { color:#2b7a55; }
#qb-review .qb-parked-task .qb-task-actions { min-width:0; }
#qb-review .qb-move-hint { margin:0 0 8px; font-size:12px; color:#6e5a8c; animation:qb-move-hint-fade linear forwards; overflow:hidden; }
@keyframes qb-move-hint-fade { 0%,80% { opacity:1; max-height:3em; } 100% { opacity:0; max-height:0; margin-bottom:0; } }
#qb-review .qb-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
#qb-review .qb-feature-card { margin-bottom:16px; padding:14px; border:2px solid #d3cdd7; border-radius:18px; background:#fff; box-shadow:0 3px 0 #e7e2e6; }
#qb-review .qb-feature-card h3 { font-size:17px; margin-bottom:8px; }
#qb-review .qb-feature-card h3 small { font-size:12px; font-weight:600; color:var(--qb-muted); }
#qb-review .qb-catch-card .qb-sub { margin-bottom:10px; }
#qb-review .qb-catch-card textarea { min-height:84px; padding:11px 9px; }
#qb-review .qb-catch-tools .qb-catch-submit { margin-left:auto; flex-shrink:0; padding:8px 14px; }
#qb-review .qb-catch-tools [data-dictation-status] { font-size:12px; min-width:0; }
#qb-review .qb-catch-card .qb-import-file { display:flex; align-items:center; gap:8px; margin-top:10px; padding:8px 10px; }
#qb-review .qb-catch-card .qb-error:empty { display:none; }
#qb-review .qb-inbox-row { display:flex; align-items:center; justify-content:space-between; gap:10px; border:1.5px solid #ddd6e2; border-radius:11px; padding:6px 7px 6px 10px; margin-top:7px; }
#qb-review .qb-inbox-row>span { display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; font-size:13px; font-weight:600; overflow-wrap:anywhere; min-width:0; }
#qb-review .qb-inbox-row button { flex-shrink:0; padding:7px 9px; font-size:11px; }
#qb-review .qb-empty-basket { margin:0 4px 18px; }
#qb-review .qb-gate-card { border:2px solid var(--qb-ink); box-shadow:0 5px 0 var(--qb-ink); }
#qb-review .qb-gate-head { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
#qb-review .qb-gate-head h3 { margin:0; min-width:0; }
#qb-review .qb-chat-saved { display:block; margin-top:3px; font-size:11px; font-weight:600; color:#7051a4; }
#qb-review .qb-gate-card h3>span { display:block; margin-top:4px; color:#7051a4; font-size:15px; overflow-wrap:anywhere; }
#qb-review .qb-gate-tags,#qb-review .qb-pattern-tags { display:flex; gap:5px; flex-wrap:wrap; margin:9px 0 12px; }
#qb-review .qb-gate-tags>span,#qb-review .qb-pattern-tags>span { font-size:11px; font-weight:650; border:1.5px solid #d2cbd6; background:#fff; border-radius:999px; padding:3px 7px; }
#qb-review .qb-gate-tags>span:last-child { background:#fae4f0; }
#qb-review .qb-gate-conversation { display:flex; flex-direction:column; gap:10px; margin:13px 0; }
#qb-review .qb-gate-bubble { border:1.5px solid #c9bed6; padding:10px 12px; max-width:94%; font-size:13px; overflow-wrap:anywhere; white-space:pre-wrap; margin:0; line-height:1.6; }
#qb-review .qb-gate-theirs { align-self:flex-start; background:#f1eaf9; border-radius:15px 15px 15px 3px; }
#qb-review .qb-gate-mine { align-self:flex-end; background:#fce3f1; border-color:#d8b8cd; border-radius:15px 15px 3px 15px; }
#qb-review .qb-gate-thinking { animation:qb-gate-think 1.3s ease-in-out infinite; }
#qb-review .qb-gate-reply { display:flex; align-items:center; gap:7px; margin:12px 0; }
#qb-review .qb-gate-reply input { min-width:0; padding:10px; }
#qb-review .qb-gate-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
#qb-review .qb-gate-actions .qb-button { flex:1 1 128px; font-size:11px; padding:9px 7px; }
#qb-review .qb-gate-actions .qb-release { background:#facfe6; }
#qb-review .qb-pattern-book { background:linear-gradient(135deg,#fff,#f8f0ff); }
#qb-review .qb-pattern-tags>span { font-size:12px; }
#qb-review .qb-pattern-recent { color:var(--qb-muted); font-size:12px; line-height:1.7; margin-bottom:0; overflow-wrap:anywhere; }
#qb-review .qb-shop-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
#qb-review .qb-shop-heading h2 { font-size:20px; letter-spacing:-.4px; margin:0; }
#qb-review .qb-shop-balance { flex-shrink:0; border:2px solid var(--qb-ink); background:#ffe7a8; border-radius:12px; padding:5px 10px; box-shadow:0 3px 0 var(--qb-ink); }
#qb-review .qb-shop-balance .qb-reward-cost { font-size:16px; font-weight:750; }
#qb-review .qb-shopkeeper { display:flex; align-items:center; gap:10px; margin:15px 0; }
#qb-review .qb-biscuit { width:87px; height:87px; flex-shrink:0; overflow:visible; }
#qb-review .qb-biscuit-float { transform-origin:center; animation:qb-biscuit-bob 3.4s ease-in-out infinite; }
#qb-review .qb-biscuit-speech { border:2px solid var(--qb-ink); border-radius:15px; padding:11px 13px; background:#fff; box-shadow:0 3px 0 #ddd5df; position:relative; min-width:0; }
#qb-review .qb-biscuit-speech:before { content:""; position:absolute; width:12px; height:12px; background:#fff; border-left:2px solid var(--qb-ink); border-bottom:2px solid var(--qb-ink); transform:rotate(45deg); left:-8px; top:calc(50% - 7px); }
#qb-review .qb-biscuit-speech p { margin:0; font-size:12px; font-weight:650; line-height:1.5; }
#qb-review .qb-saving-goal { display:flex; align-items:center; flex-wrap:wrap; gap:7px; border:2px solid #d4cdd8; border-radius:14px; padding:8px 11px; background:#fff; margin-bottom:14px; font-size:11px; }
#qb-review .qb-saving-heading { display:flex; align-items:center; gap:8px; width:100%; }
#qb-review .qb-saving-heading strong { flex:1; min-width:0; overflow-wrap:anywhere; }
#qb-review .qb-saving-heading .qb-link { flex-shrink:0; font-size:11px; }
#qb-review .qb-saving-goal>span { white-space:nowrap; }
#qb-review .qb-saving-goal progress { flex:1; min-width:60px; width:80px; height:10px; border:1px solid #c8bdd3; border-radius:999px; background:#f0eaf6; overflow:hidden; appearance:none; }
#qb-review .qb-saving-goal progress::-webkit-progress-bar { background:#f0eaf6; border-radius:999px; }
#qb-review .qb-saving-goal progress::-webkit-progress-value { background:linear-gradient(90deg,#ffe0a8,#ffb8d2,#d9ccff); border-radius:999px; }
#qb-review .qb-saving-goal progress::-moz-progress-bar { background:linear-gradient(90deg,#ffe0a8,#ffb8d2,#d9ccff); border-radius:999px; }
#qb-review .qb-shop-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
#qb-review .qb-shop-tile { display:flex; flex-direction:column; align-items:center; text-align:center; border:2px solid #d3cdd7; box-shadow:0 3px 0 #e7e2e6; border-radius:17px; padding:12px 7px 10px; background:#fff; min-width:0; }
#qb-review .qb-shop-icon { font-size:39px; line-height:1.35; margin-bottom:4px; }
#qb-review .qb-shop-tile h3 { font-size:13px; line-height:1.4; margin-bottom:5px; min-height:36px; overflow-wrap:anywhere; }
#qb-review .qb-reward-cost { font-size:12px; color:#74697c; font-weight:650; white-space:nowrap; }
#qb-review .qb-shop-tile button { margin-top:8px; padding:6px 12px; min-height:40px; }
#qb-review .qb-shop-tile small { font-size:10px; margin-top:6px; color:var(--qb-muted); }
#qb-review .qb-shop-tile.qb-just-claimed { animation:qb-treat-claimed .8s ease-out; }
#qb-review .qb-mystery-gift { animation:qb-mystery-sway 3s ease-in-out infinite; }
#qb-review .qb-shop-tools { display:flex; justify-content:flex-end; margin:4px 0; }
#qb-review .qb-shop-tools .qb-link { font-size:11px; }
#qb-review .qb-treat-editor-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
#qb-review .qb-treat-editor-actions .qb-button:first-child { flex:1; }
#qb-review .qb-field-requirement { font-size:11px; font-weight:400; color:var(--qb-muted); }
#qb-review .qb-reward-editor [aria-invalid=true] { border-color:#a52c52; }
#qb-review .qb-reward-editor [data-reward-error]:empty { display:none; }
#qb-review .qb-reward-editor [data-reward-error] { display:block; margin-top:5px; font-size:12px; }
#qb-review .qb-reward-fields { display:grid; grid-template-columns:minmax(0,1fr) 74px; gap:10px; }
#qb-review .qb-reward-fields>div { min-width:0; }
#qb-review .qb-memory-album { border-color:var(--qb-ink); box-shadow:0 4px 0 var(--qb-ink); }
#qb-review .qb-memory-pride { color:#7051a4; font-size:12px; font-weight:650; margin-bottom:12px; }
#qb-review .qb-memory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
#qb-review .qb-memory-card { padding:0; border:1.5px solid #d1c9d8; border-radius:13px; background:#fff; text-align:left; overflow:hidden; color:var(--qb-ink); min-width:0; cursor:pointer; }
#qb-review .qb-memory-thumbnail { height:81px; background:linear-gradient(135deg,var(--qb-memory-tint),#fff); display:grid; place-items:center; font-size:33px; }
#qb-review .qb-memory-thumbnail img { width:100%; height:100%; object-fit:cover; }
#qb-review .qb-memory-card-text { padding:8px; }
#qb-review .qb-memory-card-text strong { display:block; font-size:11px; line-height:1.4; overflow-wrap:anywhere; }
#qb-review .qb-memory-card-text small { display:block; font-size:10px; color:var(--qb-muted); line-height:1.4; margin-top:2px; }
#qb-review .qb-memory-edit { display:block; color:#655080; font-size:11px; font-weight:650; text-decoration:underline; text-underline-offset:3px; margin-top:9px; }
#qb-review .qb-memory-receipt { animation:qb-receipt-open .35s ease-out both; }
#qb-review .qb-receipt-hero { position:relative; display:flex; align-items:center; justify-content:center; gap:14px; min-height:120px; background:linear-gradient(120deg,#ffe4b4,#ffd5e7 65%,#f2e2ff); border-radius:15px; border:1px solid #e0cad8; margin-bottom:12px; overflow:hidden; }
#qb-review .qb-receipt-hero>img { width:100%; height:175px; object-fit:cover; }
#qb-review .qb-receipt-icon { font-size:57px; }
#qb-review .qb-photo-pill { border-radius:999px; border:1px solid #d5c4d3; background:#ffffffdf; font-size:11px; box-shadow:none; }
#qb-review .qb-receipt-hero:has(img) .qb-photo-pill { position:absolute; bottom:10px; left:10px; }
#qb-review .qb-remove-photo { position:absolute; right:8px; bottom:10px; font-size:10px; border:1px solid #cbbdcd; padding:5px 8px; min-height:36px; background:#ffffffdf; box-shadow:none; }
#qb-review .qb-receipt-heading { display:flex; justify-content:space-between; align-items:baseline; gap:10px; }
#qb-review .qb-receipt-heading h2 { font-size:21px; line-height:1.3; overflow-wrap:anywhere; }
#qb-review .qb-paid-by { background:#fff9e9; border:2px dashed #e3bc50; border-radius:15px; padding:13px; margin:15px 0; }
#qb-review .qb-paid-by .qb-eyebrow { font-size:11px; margin-bottom:5px; }
#qb-review .qb-paid-by>strong { font-size:13px; line-height:1.5; }
#qb-review .qb-paid-by ul { list-style:none; padding:0; margin:10px 0 0; }
#qb-review .qb-paid-by li { display:flex; justify-content:space-between; gap:9px; font-size:11px; line-height:1.5; padding:4px 0; }
#qb-review .qb-paid-by li>span:first-child { overflow-wrap:anywhere; min-width:0; }
#qb-review .qb-paid-by li>span:last-child { white-space:nowrap; }
#qb-review .qb-memory-receipt textarea { min-height:85px; }
#qb-review .qb-receipt-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-top:14px; }
#qb-review .qb-button:disabled { opacity:.5; cursor:default; transform:none; }
@keyframes qb-gate-think { 50% { opacity:.55; } }
@keyframes qb-biscuit-bob { 50% { transform:translateY(-2px) rotate(2deg); } }
@keyframes qb-mystery-sway { 0%,70%,100% { transform:rotate(0); } 78% { transform:rotate(-7deg); } 86% { transform:rotate(7deg); } 93% { transform:rotate(-4deg); } }
@keyframes qb-treat-claimed { 35% { background:#e8f8ec; border-color:#83bd99; transform:scale(1.025); } }
@keyframes qb-receipt-open { from { opacity:0; transform:translateY(10px) scale(.96); } to { opacity:1; transform:none; } }
@media (max-width:340px) { #qb-review .qb-shop-heading h2 { font-size:17px; } #qb-review .qb-biscuit { width:66px; height:66px; } #qb-review .qb-feature-card { padding:11px; } #qb-review .qb-shopkeeper { gap:7px; } #qb-review .qb-biscuit-speech { padding:9px 10px; } #qb-review .qb-gate-actions .qb-button { flex-basis:100%; } }
@media (prefers-reduced-motion:reduce) { #qb-review .qb-gate-thinking,#qb-review .qb-biscuit-float,#qb-review .qb-mystery-gift,#qb-review .qb-shop-tile.qb-just-claimed,#qb-review .qb-memory-receipt { animation:none; } }
#qb-review .qb-catch-tool { display:inline-grid; place-items:center; flex:0 0 44px; width:44px; min-width:44px; height:44px; padding:0; border:2px solid #d3cdd7; border-radius:12px; background:#fff; font-size:21px; line-height:1; cursor:pointer; font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif; }
#qb-review .qb-catch-tool:hover:not(:disabled) { border-color:#b69bcd; background:#f4eefa; }
#qb-review .qb-catch-tool:disabled { opacity:.5; cursor:default; }
#qb-review .qb-catch-tool.qb-recording { background:#ffd6e6; border-color:#c2416b; }
#qb-review .qb-catch-tool:focus-visible { outline:3px solid var(--qb-ink); outline-offset:2px; }
#qb-review .qb-catch-tools { display:flex; align-items:center; gap:8px; margin-top:10px; flex-wrap:wrap; }
/* Video presentation has its own lifecycle and styles; it never changes rules. */
#qb-review .qb-completed-hold { background:#e7f7ef!important; border-color:#70b89c!important; transition:background .15s,border-color .15s; }
#qb-review .qb-completed-hold [data-action="complete"] { background:#9bd8bf; color:#244c3d; opacity:1; }
#qb-review .qb-completed-leaving { animation:qb-completed-away .35s ease-in forwards; }
#qb-review .qb-award-float { position:fixed; z-index:8; pointer-events:none; font-weight:800; font-size:21px; line-height:1; text-shadow:0 1px 0 #fff,0 -1px 0 #fff; animation:qb-award-rise 1.45s ease-out forwards; }
#qb-review .qb-award-coins { color:#258763; }
#qb-review .qb-award-damage { color:#c34d70; }
#qb-review .qb-boss-hit { animation:qb-boss-hit .48s ease-out; }
#qb-review .qb-boss-meter>span { transition:width .6s cubic-bezier(.2,.8,.2,1); }
#qb-review .qb-motion-still { animation:none; }
@keyframes qb-award-rise { 0% { opacity:0;transform:translate(-50%,8px) scale(.7); } 15% { opacity:1;transform:translate(-50%,-4px) scale(1.08); } 55% { opacity:1; } 100% { opacity:0;transform:translate(-50%,-50px) scale(.94); } }
@keyframes qb-boss-hit { 0%,100%{transform:translateX(0) rotate(0)} 15%{transform:translateX(-5px) rotate(-9deg)} 30%{transform:translateX(5px) rotate(8deg)} 45%{transform:translateX(-4px) rotate(-6deg)} 65%{transform:translateX(3px) rotate(4deg)} 85%{transform:translateX(-1px) rotate(-2deg)} }
@keyframes qb-completed-away { to {opacity:0;transform:translateY(-7px) scale(.97)} }

#qb-review .qb-score-dialog::backdrop { background:#fffaf21f; }
#qb-review .qb-score-heading { display:flex; align-items:center; gap:6px; }
#qb-review .qb-score-heading h2 { flex:1; min-width:0; }
#qb-review .qb-score-heading .qb-rarity { flex-shrink:0; }
#qb-review .qb-score-dialog .qb-score-card { animation:qb-receipt-enter .32s cubic-bezier(.2,1.4,.4,1); }
#qb-review .qb-score-card .qb-scoreline { animation:qb-score-reveal .25s ease-out backwards; animation-delay:calc(90ms + var(--qb-line) * 260ms); }
#qb-review .qb-score-total { animation:qb-score-reveal .25s ease-out backwards; animation-delay:var(--qb-total-delay); }
#qb-review .qb-score-total .qb-score { animation:none; }
#qb-review .qb-score-controls { display:flex; justify-content:space-between; gap:12px; margin-top:5px; }
#qb-review .qb-score-controls .qb-link { font-size:11px; text-decoration:none; min-height:44px; padding:10px 2px 0; }
#qb-review .qb-score-controls [aria-pressed="true"] { color:#287453; }
@keyframes qb-receipt-enter { from {opacity:0;transform:translateY(8px) scale(.86)} to {opacity:1;transform:translateY(0) scale(1)} }
#qb-review .qb-level-banner { position:fixed; z-index:9; top:18%; left:50%; width:min(380px,calc(100% - 32px)); transform:translateX(-50%); display:grid; gap:6px; text-align:center; border:2.5px solid #352b48; border-radius:17px; padding:20px 12px; background:linear-gradient(100deg,#fac5e5,#d6c4ff 55%,#badfff); box-shadow:0 6px 0 #352b48; animation:qb-level-moment 3s ease both; pointer-events:none; }
#qb-review .qb-level-banner strong { font-size:27px; font-weight:800; letter-spacing:1.5px; }
#qb-review .qb-level-banner span { font-size:12px; font-weight:650; }
@keyframes qb-level-moment { 0% {opacity:0;transform:translate(-50%,10px) scale(.82)} 10%,85% {opacity:1;transform:translate(-50%,0) scale(1)} 100% {opacity:0;transform:translate(-50%,-8px) scale(.98)} }

#qb-review .qb-crystal-overlay { position:fixed; inset:0; z-index:7; display:grid; place-items:center; padding:48px 18px; background:rgba(255,252,245,.92); }
#qb-review .qb-crystal-gazing { text-align:center; position:relative; }
#qb-review .qb-crystal-gazing p { font-size:14px; font-weight:600; letter-spacing:.2px; margin:10px 0 0; }
#qb-review .qb-crystal-orb { width:172px; height:185px; position:relative; margin:auto; filter:drop-shadow(0 0 18px #c7a9f6aa); animation:qb-crystal-arrive .4s cubic-bezier(.2,1.3,.4,1); }
#qb-review .qb-crystal-glass { position:absolute; width:162px; height:162px; left:5px; top:4px; overflow:hidden; isolation:isolate; border:2px solid #352b48; outline:3px solid #fff9; outline-offset:-6px; border-radius:50%; background:radial-gradient(circle at 32% 26%,#f2ffff,#d6d6ff 30%,#b698e7 66%,#8a8fde); box-shadow:inset -7px -9px 18px #8b85c766,inset 6px 4px 12px #ffffffe0; }
#qb-review .qb-crystal-mist { position:absolute; inset:-12%; border-radius:50%; opacity:.75; filter:blur(11px); }
#qb-review .qb-crystal-mist-a { background:conic-gradient(from 0deg,transparent,#ebfaff,#8cbefc,transparent,#e6a4d9,transparent); animation:qb-mist-turn 7s linear infinite; }
#qb-review .qb-crystal-mist-b { background:conic-gradient(from 100deg,#fafcff,transparent,#edd1ff,transparent,#9cdbf7,transparent); opacity:.65; animation:qb-mist-turn 4.4s linear reverse infinite; }
#qb-review .qb-crystal-highlight { position:absolute; top:22px; left:28px; width:51px; height:29px; border-radius:50%; background:#fffef1e8; transform:rotate(-28deg); filter:blur(1px); }
#qb-review .qb-crystal-sheen { position:absolute; top:18%; width:22%; height:90%; background:linear-gradient(90deg,transparent,#fff8,transparent); filter:blur(9px); transform:rotate(24deg); animation:qb-orb-sweep 3.6s ease-in-out infinite alternate; }
#qb-review .qb-crystal-stand { position:absolute; left:39px; bottom:2px; width:94px; height:22px; border:2px solid #352b48; border-radius:14px; background:linear-gradient(#d1b5ef,#a98cd0); }
#qb-review .qb-crystal-stars { position:absolute; width:240px; height:240px; left:-34px; top:-35px; overflow:visible; pointer-events:none; filter:drop-shadow(0 0 4px #fff4bf); }
#qb-review .qb-crystal-orbit { transform-origin:120px 120px; animation:qb-mist-turn 5.2s linear infinite; }
#qb-review .qb-crystal-orbit-inner { animation-duration:8.4s; animation-direction:reverse; }
#qb-review .qb-crystal-star { transform-box:fill-box; transform-origin:center; animation:qb-orb-spark 3.2s ease-in-out infinite; }
#qb-review .qb-icon-button.qb-crystal-cancel { position:absolute; top:10px; right:10px; }
#qb-review .qb-crystal-reason { color:#6b4fb8; font-size:11px; font-weight:600; margin-top:4px; line-height:1.4; }
@keyframes qb-crystal-arrive { from {opacity:0;transform:scale(.65)} to {opacity:1;transform:scale(1)} }
@keyframes qb-mist-turn { to {transform:rotate(360deg)} }
@keyframes qb-orb-sweep { from {left:-10%} to {left:90%} }
@keyframes qb-orb-spark { 0%,100% {opacity:.65;transform:scale(.8)} 50% {opacity:1;transform:scale(1.12)} }

#qb-review .qb-quest-wheel { position:relative; max-width:320px; margin:18px auto 14px; }
#qb-review .qb-wheel-stage { aspect-ratio:1; overflow:hidden; }
#qb-review .qb-wheel-disc { display:block; width:100%; height:auto; overflow:visible; }
#qb-review .qb-wheel-pointer { position:absolute; top:-4px; left:50%; transform:translateX(-50%); z-index:1; width:0; height:0; border-left:12px solid transparent; border-right:12px solid transparent; border-top:25px solid #352b48; }
#qb-review .qb-wheel-segment path,#qb-review .qb-wheel-segment circle { stroke:#352b48; stroke-width:1.5; }
#qb-review .qb-wheel-outline { stroke:#352b48; stroke-width:3.5; fill:none; }
#qb-review .qb-wheel-hub { fill:#fffdfa; stroke:#352b48; stroke-width:3; }
#qb-review .qb-wheel-symbol { font-family:'Segoe UI Emoji','Apple Color Emoji',sans-serif; font-size:32px; }
#qb-review .qb-wheel-choices { margin:6px auto 0; font-size:13px; text-align:left; }
#qb-review .qb-wheel-choices summary { min-height:44px; display:flex; align-items:center; justify-content:center; text-decoration:underline; color:#6f528e; cursor:pointer; }
#qb-review .qb-wheel-choices ol { margin:0 0 14px; padding-left:28px; }
#qb-review .qb-wheel-choices li { padding:3px 0; overflow-wrap:anywhere; }
#qb-review .qb-wheel-result { border:2px solid #352b48; border-radius:12px; background:#e3f4e9; box-shadow:0 3px 0 #352b48; padding:9px 12px; font-size:13px; font-weight:650; text-align:center; }
@media(prefers-reduced-motion:reduce) {
  #qb-review .qb-completed-hold,#qb-review .qb-boss-meter>span { transition:none; }
  #qb-review .qb-score-dialog .qb-score-card,#qb-review .qb-score-card .qb-scoreline,#qb-review .qb-score-total,
  #qb-review .qb-level-banner,#qb-review .qb-crystal-overlay,#qb-review .qb-crystal-orb,
  #qb-review .qb-crystal-mist,#qb-review .qb-crystal-sheen,#qb-review .qb-crystal-orbit,#qb-review .qb-crystal-star { animation:none; }
}
#qb-review .qb-nav { border-top:0; border-bottom:1px solid #e4dae8; padding:7px 12px 9px; gap:8px; }
#qb-review .qb-nav button { background:#fff; border:1.5px solid #d4cbd8; min-height:44px; }
#qb-review .qb-nav button[aria-pressed=true] { box-shadow:0 3px 0 #352b48; background:#ffe7a8; border-color:#352b48; }
#qb-review .qb-header { background:#fffdf8; border-bottom:0; padding:13px 15px 6px; }
#qb-review .qb-brand { font-size:21px; }
#qb-review .qb-profile-button { border-radius:50%; padding:2px; width:40px; height:40px; font-size:22px; box-shadow:none; background:#f1e6ff; }
#qb-review .qb-header-tools { display:flex; align-items:center; gap:8px; }
#qb-review .qb-sound-button { font-size:19px; background:#fff; }
#qb-review .qb-overlay-dialog { border:0; background:transparent; color:#352b48; margin:auto; padding:15px; width:min(100%,700px); max-width:100%; max-height:95dvh; overflow:auto; }
#qb-review .qb-overlay-dialog::backdrop { background:#fffaf2cc; backdrop-filter:blur(2px); }
#qb-review .qb-overlay-card { position:relative; padding:20px; border:2px solid #352b48; border-radius:20px; background:#fffdfa; box-shadow:0 5px 0 #352b48; }
#qb-review .qb-overlay-card h2 { font-size:21px; padding-right:38px; min-height:36px; }
#qb-review .qb-overlay-card .qb-victory h2,#qb-review .qb-overlay-card .qb-receipt-heading h2 { padding-right:0; }
#qb-review .qb-icon-button.qb-dialog-close { position:absolute; top:10px; right:10px; z-index:2; }
#qb-review .qb-overlay-card .qb-receipt-view { border:0; }
#qb-review .qb-wheel-result { background:#e3f4e9; padding:12px; border-radius:10px; margin:12px 0; font-size:14px; }
#qb-review .qb-wheel-result .qb-button { margin-top:10px; }
#qb-review .qb-wheel-result .qb-primary { background:#bfe4cc; }
#qb-review .qb-toast { margin-bottom:12px; padding:10px 13px; border:1px solid #b5d7bf; border-radius:12px; background:#e8f6ec; font-size:12px; }
#qb-review button:disabled { cursor:default; opacity:.6; }
@media(max-width:440px) {
  #qb-review .qb-overlay-dialog { padding:10px; }
  #qb-review .qb-overlay-card { padding:14px; }
  #qb-review .qb-brand { font-size:19px; }
}
#qb-review .qb-help { margin:10px 0 0; }
#qb-review .qb-help dt { font-weight:700; font-size:14px; margin-top:10px; }
#qb-review .qb-help dd { margin:2px 0 0; font-size:13px; color:var(--qb-muted); }
#qb-review .qb-help-button { font-weight:800; font-size:16px; }
#qb-review .qb-task-actions { display:flex; flex-direction:column; align-items:center; flex-shrink:0; gap:4px; }
#qb-review .qb-task-actions .qb-reward { min-width:48px; padding:5px 10px; font-size:14px; line-height:1.3; text-align:center; font-weight:750; flex-shrink:0; }
#qb-review .qb-task-title strong,#qb-review .qb-parked-task strong { overflow-wrap:anywhere; }
#qb-review .qb-parked-actions { display:flex; align-items:center; justify-content:center; gap:4px; }
#qb-review .qb-edit-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
#qb-review .qb-edit-with-delete { grid-template-columns:44px auto minmax(0,1fr); align-items:center; gap:8px; }
#qb-review .qb-quest-form .qb-field { min-width:0; max-width:100%; }
#qb-review .qb-quest-editor>.qb-control-heading{margin-bottom:12px}
#qb-review .qb-icon-button.qb-delete-icon{color:#9c3650}
#qb-review .qb-button.qb-delete-confirm{background:#ffe2e9;color:#74283d}
#qb-review .qb-player-identity { display:flex; align-items:center; gap:5px; min-width:0; flex:1; }
#qb-review .qb-player-identity .qb-player-name { min-width:0; }
#qb-review .qb-pinned-badge { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; border:0; border-radius:12px; padding:3px; background:#fff2c9; color:var(--qb-ink); font-size:22px; cursor:pointer; }
#qb-review .qb-pinned-badge:hover { background:#ffe5a1; }
#qb-review .qb-pinned-badge:focus-visible,#qb-review .qb-badge-tile:focus-visible,#qb-review .qb-more-treats summary:focus-visible { outline:3px solid #7954ad; outline-offset:3px; }
#qb-review .qb-badges-entry { display:flex; justify-content:flex-end; margin:3px 0 -8px; }
#qb-review .qb-badges-entry .qb-link { font-size:12px; }
#qb-review .qb-badges-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px; }
#qb-review .qb-badges-heading h2 { margin:0; }
#qb-review .qb-badge-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
#qb-review .qb-badge-tile { display:flex; flex-direction:column; align-items:center; padding:13px 9px 10px; border:2px solid #d8cbdc; border-radius:16px; background:linear-gradient(145deg,#fff,#f7f0ff); color:var(--qb-ink); text-align:center; min-width:0; cursor:pointer; }
#qb-review .qb-badge-tile.qb-badge-pinned { border-color:#8b65b2; background:linear-gradient(145deg,#fff5d9,#efe0ff); box-shadow:0 3px 0 #d1badd; }
#qb-review .qb-badge-icon { font-size:34px; line-height:1.5; }
#qb-review .qb-badge-tile strong { font-size:13px; overflow-wrap:anywhere; }
#qb-review .qb-badge-line { margin:5px 0 12px; font-size:11px; line-height:1.5; color:var(--qb-muted); }
#qb-review .qb-badge-pin { margin-top:auto; font-size:11px; font-weight:700; color:#7051a4; }
#qb-review .qb-badge-empty { padding:24px 12px; text-align:center; border:1.5px dashed #d1c2d9; border-radius:16px; background:#f8f2ff; }
#qb-review .qb-badge-empty>span { font-size:40px; }
#qb-review .qb-badge-empty p { margin:8px 0 0; }
#qb-review .qb-next-badges { margin-top:22px; }
#qb-review .qb-next-badges h3 { margin-bottom:10px; font-size:15px; }
#qb-review .qb-badge-progress { display:flex; align-items:center; gap:10px; border-top:1px solid #e6dfe9; padding:12px 0; }
#qb-review .qb-badge-progress>span { font-size:25px; }
#qb-review .qb-badge-progress>div { flex:1; min-width:0; }
#qb-review .qb-badge-progress strong { font-size:13px; }
#qb-review .qb-badge-progress p { margin:2px 0 6px; color:var(--qb-muted); font-size:11px; line-height:1.4; }
#qb-review .qb-badge-progress>small { font-size:11px; white-space:nowrap; color:var(--qb-muted); }
#qb-review .qb-badge-progress progress { display:block; width:100%; height:8px; accent-color:#9570b9; }
#qb-review .qb-more-treats { margin:12px 0 4px; }
#qb-review .qb-more-treats summary { display:list-item; cursor:pointer; min-height:44px; padding:11px 12px; border:1.5px solid #d5cadc; border-radius:12px; background:#f4ecff; color:#634584; font-size:13px; font-weight:650; }
#qb-review .qb-more-treats summary span { font-weight:400; }
#qb-review .qb-more-treats[open] summary { margin-bottom:12px; }
@media(max-width:350px) { #qb-review .qb-badge-grid { gap:7px; } #qb-review .qb-badge-tile { padding:10px 6px; } #qb-review .qb-badges-heading h2 { font-size:18px; } }
#qb-review .qb-victory-dialog { width:min(100%,470px); }
#qb-review .qb-victory-dialog::backdrop { background:#352b48ad; }
#qb-review .qb-victory-dialog .qb-overlay-card { overflow:hidden; background:linear-gradient(160deg,#fff2c8,#fffaf2 60%,#efe4ff); border:3px solid #352b48; box-shadow:0 7px 0 #21172f; }
#qb-review .qb-victory { text-align:center; position:relative; }
#qb-review .qb-victory-art { position:relative; isolation:isolate; width:210px; height:164px; max-width:100%; margin:0 auto; display:grid; place-items:center; }
#qb-review .qb-victory-rays { position:absolute; z-index:-1; inset:0; border-radius:50%; background:repeating-conic-gradient(from 0deg,#ffdc7d99 0deg 15deg,transparent 15deg 30deg); mask-image:radial-gradient(ellipse,#000 25%,transparent 72%); }
#qb-review .qb-victory-boss { font-size:88px; line-height:1.3; filter:drop-shadow(0 5px 0 #352b4829); }
#qb-review .qb-victory-seal { position:absolute; bottom:18px; right:45px; display:grid; place-items:center; border:3px solid #352b48; border-radius:50%; width:42px; height:42px; font-size:26px; font-weight:800; background:#bde7c8; transform:rotate(-12deg); }
#qb-review .qb-victory-star { position:absolute; color:#9069bb; font-size:31px; }
#qb-review .qb-victory-star-a { left:20px; top:29px; }
#qb-review .qb-victory-star-b { right:18px; bottom:35px; color:#b77b00; font-size:23px; }
#qb-review .qb-victory h2 { font-size:clamp(25px,6vw,34px); font-weight:800; margin:0 0 6px; }
#qb-review .qb-victory-name { font-size:16px; font-weight:600; overflow-wrap:anywhere; }
#qb-review .qb-victory-level { background:#e8daff; border:1px solid #ac91c6; padding:10px; border-radius:12px; margin:15px 0; font-size:14px; }
#qb-review .qb-victory-level strong { display:block; }
#qb-review .qb-victory-badges { margin:18px 0; }
#qb-review .qb-victory-badges span { display:inline-block; border:1px solid #d6c09b; background:#fff9e8; padding:5px 9px; border-radius:20px; margin:3px; font-size:12px; }
#qb-review .qb-victory-next { display:flex; text-align:left; gap:12px; align-items:center; padding:13px; margin:18px 0; border:1px solid #d5c8df; border-radius:13px; background:#ffffffa8; }
#qb-review .qb-victory-next > span { font-size:30px; }
#qb-review .qb-victory-next small { display:block; font-size:11px; color:#6f647a; }
#qb-review .qb-victory-next strong { font-size:13px; }
@media(prefers-reduced-motion:no-preference) {
  #qb-review .qb-victory-boss { animation:qb-victory-arrive .7s cubic-bezier(.2,.8,.25,1.2) both; }
  #qb-review .qb-victory-seal { animation:qb-victory-stamp .35s .4s both; }
  #qb-review .qb-victory-rays { animation:qb-victory-rays 2s ease-out both; }
  #qb-review .qb-victory h2 { animation:qb-victory-title .45s .15s both; }
}
@keyframes qb-victory-arrive { from { opacity:0; transform:scale(.5) rotate(-15deg); } to { opacity:1; transform:scale(1) rotate(0); } }
@keyframes qb-victory-stamp { from { opacity:0; transform:scale(1.6) rotate(-12deg); } to { opacity:1; transform:scale(1) rotate(-12deg); } }
@keyframes qb-victory-title { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@keyframes qb-victory-rays { from { opacity:0; transform:rotate(-30deg); } to { opacity:1; transform:rotate(15deg); } }
#qb-review .qb-team-tools { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:16px 0; }
#qb-review .qb-team-card h3 { font-size:16px; overflow-wrap:anywhere; }
#qb-review .qb-team-crew { color:#725494; font-size:12px; margin-top:10px; }
#qb-review .qb-team-invitation { margin:16px 0; border-color:#9471b6; background:#f4ecff; }
#qb-review .qb-team-invitation .qb-button { margin:10px 0; }
#qb-review .qb-team-invitation input { font-size:12px; }
#qb-review .qb-team-details { border-top:1px solid #ded3e5; margin-top:20px; padding-top:6px; }
#qb-review .qb-team-details p { font-size:12px; margin:6px 0; }
#qb-review .qb-team-label { display:block; color:#725494; font-size:11px; margin-top:5px; }
#qb-review .qb-team-heading { position:relative; justify-content:space-between; gap:8px; }
#qb-review .qb-team-heading h2 { font-size:22px; }
#qb-review .qb-team-heading-actions { display:flex; align-items:center; gap:2px; }
#qb-review .qb-team-heading-actions .qb-icon-button { width:36px; height:40px; }
#qb-review .qb-team-tip { display:flex; align-items:flex-start; gap:8px; margin:14px 0; padding:12px; border-radius:14px; background:#f0e7ff; }
#qb-review .qb-team-tip p { flex:1; margin:0; font-size:12px; line-height:1.65; }
#qb-review .qb-team-tip .qb-icon-button { width:28px; height:28px; padding:5px; }
#qb-review .qb-team-tip .qb-icon-button::before { content:none; }
#qb-review .qb-team-help { position:static; }
#qb-review .qb-team-help summary { list-style:none; width:36px; height:40px; display:grid; place-items:center; cursor:pointer; margin:0; padding:0; }
#qb-review .qb-team-help summary::-webkit-details-marker { display:none; }
#qb-review .qb-team-help summary:focus-visible { outline:3px solid #9970ba; outline-offset:2px; border-radius:10px; }
#qb-review .qb-team-help-content { position:absolute; z-index:5; top:44px; right:0; width:min(230px,65vw); padding:12px; background:#fffdf9; border:1.5px solid #b7a4cc; border-radius:12px; box-shadow:0 3px 8px #352b4820; font-size:12px; }
#qb-review .qb-team-help-content p { margin:0 0 8px; }
#qb-review .qb-team-help-content p:last-child { margin:0; }
/* Shared controls stay large enough to tap even when their visible icon is small. */
#qb-review .qb-icon-button { display:inline-flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; min-width:44px; height:44px; min-height:44px; padding:10px; margin:0; border:0; border-radius:12px; background:transparent; color:var(--qb-ink,#352b48); box-shadow:none; cursor:pointer; vertical-align:middle; }
#qb-review .qb-icon-button { position:relative; isolation:isolate; }
#qb-review .qb-icon-button::before { content:""; position:absolute; inset:4px; z-index:-1; border:1px solid #ded4e4; border-radius:11px; background:linear-gradient(#fffefa,#f6f0f9); box-shadow:0 2px 0 #d8cce1; }
#qb-review .qb-icon-button:hover::before { border-color:#b69bcd; background:#eee5f7; }
#qb-review .qb-icon-button:active::before { box-shadow:none; background:#e9ddf3; }
#qb-review .qb-icon-button:focus-visible { outline:3px solid #7954ad; outline-offset:2px; }
#qb-review .qb-icon-button:disabled { opacity:.5; cursor:default; }
#qb-review .qb-control-icon { display:inline-block; width:22px; height:22px; flex-shrink:0; vertical-align:middle; }
#qb-review .qb-control-icon-filled [data-icon-fill] { fill:#f1a9c6; }
#qb-review .qb-icon-close::before { background:#fffcf8; border-color:#c8bace; }
#qb-review .qb-control-heading { display:flex; align-items:center; gap:8px; }
#qb-review .qb-control-heading>h2,#qb-review .qb-control-heading>h3 { flex:1; margin:0; }
#qb-review .qb-reward-editor>.qb-control-heading { margin-bottom:12px; }
#qb-review .qb-badge-pin { display:flex; align-items:center; justify-content:center; }
#qb-review .qb-badge-pin .qb-control-icon { width:20px; height:20px; }
/* Row editing stays secondary to the reward; no tile around the pencil. */
#qb-review .qb-icon-button.qb-edit-quest,#qb-review .qb-icon-button.qb-unpark-quest { flex:0 0 28px; width:28px; min-width:28px; height:28px; min-height:28px; padding:5px; border-radius:6px; }
#qb-review .qb-edit-quest::before,#qb-review .qb-unpark-quest::before { content:none; }
#qb-review .qb-edit-quest .qb-control-icon,#qb-review .qb-unpark-quest .qb-control-icon { width:17px; height:17px; }
#qb-review .qb-icon-button.qb-unpark-quest { flex:0 0 auto; width:auto; min-width:30px; padding:2px 3px; }
#qb-review .qb-unpark-quest .qb-control-icon { width:auto; height:auto; }
#qb-review .qb-unpark-quest .qb-destination-symbol { font-size:13px; gap:0; }
#qb-review .qb-unpark-quest .qb-destination-arrow { font-size:12px; }
#qb-review .qb-icon-team::before { background:linear-gradient(#f6f1ff,#e8e2f7); border-color:#c3b4d6; }
#qb-review .qb-nav .qb-button { display:flex; align-items:center; justify-content:center; gap:5px; }
#qb-review .qb-nav .qb-control-icon { width:20px; height:20px; }
#qb-review .qb-destination-symbol { position:relative; font-size:20px; line-height:1; text-align:center; font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif; }
#qb-review .qb-destination-return { display:inline-flex; align-items:center; gap:1px; }
#qb-review .qb-destination-arrow { color:#2f8a63; font:800 17px/1 system-ui; }
#qb-review .qb-completed{margin-top:18px;border-top:1px solid #ddd3df;padding-top:12px}
#qb-review .qb-completed summary{cursor:pointer;min-height:44px;align-content:center;font-weight:600;color:#655473}
#qb-review .qb-completed summary:focus-visible{outline:3px solid #7953a4;outline-offset:3px;border-radius:8px}
#qb-review .qb-completed-list{list-style:none;margin:0;padding:0}
#qb-review .qb-completed-list li{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #ede7ee}
#qb-review .qb-completed-list strong{font-size:14px;overflow-wrap:anywhere}
#qb-review .qb-completed-list small{display:block;color:#6f6579}
#qb-review .qb-history-undo{font-size:13px;min-height:44px;padding:8px 12px;flex:none}
#qb-review .qb-coin-adjustment{font-size:12px;color:#655473;margin:8px 0}
/* Do not disable touch scrolling before the hold gesture has engaged. */
#qb-review [data-reorderable] { user-select:none; -webkit-user-select:none; -webkit-touch-callout:none; cursor:grab; }
#qb-review [data-reorderable]:focus-visible { outline:3px solid #8059a6; outline-offset:3px; }
#qb-review .qb-reordering,#qb-review .qb-reordering [data-reorderable] { cursor:grabbing; }
#qb-review .qb-reorder-source { opacity:.4; outline:2px dashed #8b66ad; outline-offset:1px; }
#qb-review .qb-task.qb-reorder-ghost { position:fixed; z-index:100; pointer-events:none; margin:0; opacity:.96; box-shadow:0 7px 18px #352b4840; border-color:#8b66ad; cursor:grabbing; }
#qb-review .qb-reorder-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(prefers-reduced-motion:reduce) {
  #qb-review .qb-reorder-ghost,#qb-review .qb-reorder-source { transition:none; animation:none; }
}
