.stats-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.reward-statistics{margin-top:4px}.reward-statistics .stat-symbol{height:30px;display:grid;place-items:center}.reward-statistics .stat-symbol svg{width:30px;height:30px}.reward-statistics .result-stats strong{font:inherit}.reward-statistics .stat-time b{font-size:28px;letter-spacing:-.7px}.reward-statistics .result-stats b{min-height:38px;display:flex;justify-content:center;align-items:baseline;gap:3px}.reward-statistics .result-stats small{white-space:nowrap}
.xp-journey{margin-top:13px;padding:17px 19px 15px;border:1px solid #dfe7d3;border-radius:17px;background:linear-gradient(115deg,#f1f6e9,#fafbf5);text-align:left;font-variant-numeric:tabular-nums}.xp-journey-heading{display:flex;align-items:center;gap:12px;margin-bottom:13px;font-size:12px}.xp-level{padding:5px 10px;border-radius:9px;background:#4b7955;color:#fff;font-weight:750;white-space:nowrap}.xp-next{margin-left:auto;color:#7a8a70;font-size:11px}.xp-journey-heading strong{font-size:12px;color:#537447}.xp-meter{height:12px;border-radius:20px;background:#e0e9d5;box-shadow:inset 0 1px 3px #73896518}.xp-meter>i{position:relative;display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,#8eaf76,#bdd393);max-width:100%}.xp-spark{position:absolute;right:-7px;top:50%;transform:translateY(-50%);font-style:normal;color:#efd082;text-shadow:0 1px 2px #77995d55;font-size:24px;line-height:1}.xp-meter>i[data-empty="true"] .xp-spark{opacity:0}.xp-journey-caption{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:11px;color:#6b7f60;margin-top:11px;line-height:1.6}.xp-journey-caption b{color:#446b39}.stats-kind-note{font-size:11px;color:#839079;margin:12px 0 0;line-height:1.6}
.xp-journey[data-phase="level-up"]{background:#fff7df;border-color:#e4d5a3}.xp-journey[data-phase="level-up"] .xp-meter>i{background:linear-gradient(90deg,#d0ad61,#f3db8c)}.xp-journey[data-phase="level-up"] .xp-journey-heading strong{color:#94712f}.reward-statistics[data-stats-phase="running"] .xp-spark{animation:stats-twinkle .7s ease-in-out 4}.reward-statistics[data-stats-phase="running"] .stat-accuracy svg{animation:stats-check 1.5s ease-out 1}
@keyframes stats-twinkle{50%{transform:translateY(-50%) scale(1.25)}}@keyframes stats-check{0%,25%{transform:scale(.8) rotate(-8deg)}70%{transform:scale(1.12) rotate(3deg)}100%{transform:scale(1)}}
@media(max-width:600px){.reward-statistics .result-stats b{min-height:29px}.reward-statistics .stat-time b{font-size:23px}.reward-statistics .stat-symbol svg{height:26px;width:26px}.xp-journey{padding:14px 13px;border-radius:14px}.xp-journey-heading{gap:8px}.xp-journey-heading strong{font-size:11px}.xp-journey-caption{font-size:10px;gap:6px}.stats-kind-note{font-size:10px}}
@media(prefers-reduced-motion:reduce){.reward-statistics *{animation:none!important;transition:none!important}}.no-motion .reward-statistics *{animation:none!important;transition:none!important}
/* Gold always means XP earned in this run; old XP keeps its green colour. */
.xp-meter{position:relative;height:16px;isolation:isolate}.xp-meter>i[data-stat=fill]{background:#88aa71}.xp-meter>.xp-earned{position:absolute;top:0;background:repeating-linear-gradient(120deg,#ffcb53 0 7px,#f5ae29 7px 14px);border-radius:0 20px 20px 0;box-shadow:inset 2px 0 #fff5cd,0 0 9px #efa92c55;z-index:1}.xp-meter>.xp-earned[data-empty=true]{visibility:hidden}.xp-meter>.xp-earned[style*="left:0%"]{border-radius:20px}.xp-spark{z-index:2;color:#e99c18;text-shadow:0 0 5px #fff4c5}.xp-journey[data-phase=level-up] .xp-meter>i[data-stat=fill]{background:#88aa71}.xp-journey[data-phase=level-up] .xp-meter>.xp-earned{background:repeating-linear-gradient(120deg,#ffcb53 0 7px,#f5ae29 7px 14px)}
.xp-legend{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 12px;font-size:11px;color:#4f6948}.xp-legend>span{display:inline-flex;align-items:center;gap:7px}.xp-legend i{width:11px;height:11px;border-radius:3px;flex-shrink:0}.xp-old-key{background:#88aa71}.xp-new-key{background:#f5ae29;border:1px solid #dc9418}.xp-gain-label{border:1px solid #e7bf64;background:#fff5d8;border-radius:8px;padding:5px 9px;color:#7d4f0c;font-weight:700}.xp-gain-label .bi-secondary{color:#80540e}
.xp-completed-level{margin-top:13px;padding-top:10px;border-top:1px dashed #d4dfc9;color:#577249;font-size:10px}.xp-history-meter{position:relative;height:8px;background:#88aa71;border-radius:8px;overflow:hidden;margin-top:6px}.xp-history-meter>i{position:absolute;top:0;height:100%;background:repeating-linear-gradient(120deg,#ffcb53 0 6px,#f5ae29 6px 12px);box-shadow:inset 2px 0 #fff5cd}
.reward-statistics .result-stats small{white-space:normal}.reward-statistics[data-stats-phase=running] .xp-completed-level,.reward-statistics[data-stats-phase=waiting] .xp-completed-level{visibility:hidden}
/* Each metric has one Chinese line and one English line, including live updates. */
.reward-statistics .result-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.reward-statistics .result-stats>div{min-width:0}
.reward-statistics .result-stats small{display:block;width:100%;line-height:1.5}
.reward-statistics .result-stats small>.bi-label{display:flex;width:100%;gap:5px;text-align:center}
.reward-statistics .result-stats small .bi-primary,.reward-statistics .result-stats small .bi-secondary{display:block;white-space:normal;overflow-wrap:anywhere}
/* Show the reward before the celebration, even on a short bilingual mobile page. */
.content.result-content{padding-top:16px}
.result-shell{--app-header-height:72px}
.result-shell .topbar{height:var(--app-header-height);min-height:var(--app-header-height)}
.result-content .adventure-result{padding:18px 24px 24px}
.result-heading{margin-bottom:14px}
.result-heading-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}
.result-heading .result-kicker{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0;font-size:11px;line-height:1.5}
.result-heading .reward-label{font-size:12px;padding:5px 12px;flex-shrink:0}
.result-heading h1{margin:10px 0 4px;font-size:27px;line-height:1.3}
.result-heading h1 .bi-secondary{font-size:16px}
.result-heading .reward-message{font-size:12px;line-height:1.5;margin:0 auto}
.result-heading .reward-message .bi-secondary{font-size:11px}
.result-heading .result-cheer{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:0 6px;margin:12px 0 8px;scroll-margin-top:16px}
.result-nickname{display:inline-block;max-width:100%;font-size:40px;font-weight:900;line-height:1.2;color:#31573d;overflow-wrap:anywhere}
.result-cheer-copy{font-size:26px;font-weight:750;text-align:left;flex-shrink:1;min-width:0;max-width:100%;overflow-wrap:anywhere}
.result-heading .result-cheer-copy .bi-secondary{font-size:14px;font-weight:650}
.result-praise{display:inline-block;transform-origin:center;color:#4b7955}
.result-cheer[data-animate="true"] .result-praise{animation:result-praise-pop 1.15s ease-in-out .15s 1 both}
/* One soft glow and scale pulse; the final size is always the normal size. */
@keyframes result-praise-pop{0%,100%{transform:scale(1);color:#4b7955;text-shadow:none}40%{transform:scale(1.14);color:#997023;text-shadow:0 0 14px #f7d976aa}70%{transform:scale(1.04);color:#68864c;text-shadow:0 0 6px #f7d97666}}
@media(prefers-reduced-motion:reduce){.result-cheer .result-praise{animation:none!important}}
.no-motion .result-cheer .result-praise{animation:none!important}
.result-content .reward-statistics{margin-top:0;scroll-margin-top:16px}
.result-content .result-stats>div{padding:12px 8px;gap:5px}
.result-content .xp-journey{padding:12px 16px;margin-top:10px}
.result-content .xp-journey-heading{margin-bottom:8px}
.result-content .xp-legend{margin-bottom:9px}
.result-content .xp-journey-caption{margin-top:8px}
.result-content .stats-kind-note{margin-top:8px}
.result-celebration{margin-top:18px}
.result-celebration .celebration-stage{height:200px;min-height:0;max-width:540px;margin-bottom:4px;border-radius:18px}
.result-celebration .celebration-controls{margin:0 0 12px;gap:16px}
.result-celebration .celebration-controls button{min-height:44px}
/* Reserve a real column for the fixed action panel; never cover the reward. */
.result-layout{display:grid;gap:16px;max-width:820px;margin-inline:auto;align-items:start}
.result-layout>.adventure-result{width:100%;min-width:0;margin:0}
.result-layout .learning-takeaway{margin:10px 0 0;gap:6px 20px}
.result-action-panel{min-width:0;border:1px solid #dce5d7;border-radius:22px;padding:20px;background:#fffef9;box-shadow:0 8px 30px #354c3209;text-align:left}
.result-action-heading{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.result-action-heading>span{font-size:27px;flex-shrink:0}
.result-action-heading h2{font-size:16px;line-height:1.4;margin:0}
.result-action-heading .bi-secondary{font-size:12px;color:#6b7b65;line-height:1.4}
.result-action-panel .result-actions{display:grid;gap:12px}
.result-action-panel .result-actions>button{width:100%;min-height:58px;padding:12px 14px;text-align:center;font-size:14px;line-height:1.45}
.result-action-panel .result-actions .bi-secondary{font-size:12px;line-height:1.4}
.result-achievements-button{display:flex;align-items:center;justify-content:center;gap:10px}
.result-new-count{display:grid;place-items:center;min-width:27px;height:27px;padding-inline:6px;flex-shrink:0;border-radius:9px;background:#fae8b2;color:#805411;font-size:12px;font-weight:750}
.result-action-panel .result-extension-hint{margin:-4px 2px 0;color:#68775e;font-size:11px;line-height:1.5;text-align:center}
.result-extension-hint .bi-secondary{font-size:11px}
.result-playback{border-top:1px solid #e6eadd;margin-top:18px;padding-top:16px}
.result-playback>p{font-size:12px;color:#67775e;margin:0 0 7px;line-height:1.4}
.result-playback>.celebration-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}
.result-playback .celebration-controls>button{min-width:0;min-height:54px;padding:6px 4px;border-radius:9px;line-height:1.5}
.result-playback .celebration-controls>button:hover{background:#edf3e8}
.result-playback .bi-secondary{font-size:11px;line-height:1.4}
.result-action-panel .break-note,.result-action-panel .reward-note{padding:12px;border-radius:12px;margin:0 0 16px;background:#f5efdf;color:#74603e;font-size:12px;line-height:1.6}
.result-action-panel .break-note .bi-secondary,.result-action-panel .reward-note .bi-secondary{font-size:11px;line-height:1.5}
.result-secondary-info{display:grid;gap:10px;min-width:0}
.result-secondary-info details{border:1px solid #e3e8db;border-radius:16px;background:#fffef9;min-width:0}
.result-secondary-info summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none;min-height:48px;padding:12px 16px;line-height:1.4;border-radius:15px}
.result-secondary-info summary::-webkit-details-marker{display:none}
.result-secondary-info summary:focus-visible{outline:3px solid #dd9b50;outline-offset:3px}
.result-secondary-info summary:hover{background:#f7f7ed}
.result-secondary-info .result-achievement-details{background:#fff8e4;border-color:#ead5a0}
.result-unlock-icon{font-size:32px;flex-shrink:0}
.result-achievement-details summary>span:nth-child(2){display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;min-width:0}
.result-achievement-details summary strong{font-size:13px;color:#7c581e}
.result-achievement-details summary small{font-size:12px;color:#72623e}
.result-achievement-details summary .bi-secondary{font-size:11px}
.result-details-chevron{font-size:20px;margin-left:auto;flex-shrink:0;line-height:1;transition:transform .15s}
.result-secondary-info details[open]>summary>.result-details-chevron{transform:rotate(180deg)}
.result-secondary-info .achievement-unlocks{margin:0;padding:0 16px 16px;border:0;background:transparent}
.result-secondary-info .achievement-unlocks h2{display:none}
.result-method-details summary{font-size:11px;color:#68765f}
.result-method-details summary .bi-secondary{font-size:11px}
.result-method-details .result-method{margin:0;padding:0 16px 16px;font-size:12px;color:#68765f}
@media(min-width:1200px){
  .content.result-content{max-width:none;padding:16px 24px 24px}
  .result-layout{grid-template-columns:minmax(0,1fr) 264px;column-gap:24px;row-gap:12px;max-width:1160px}
  .result-layout>.adventure-result,.result-secondary-info{grid-column:1}
  .result-action-panel{position:fixed;top:calc(var(--app-header-height) + 16px);right:max(24px,calc((100% - 226px - 1160px)/2));width:264px;max-height:calc(100vh - var(--app-header-height) - 40px);max-height:calc(100dvh - var(--app-header-height) - 40px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;z-index:10}
  .result-content .adventure-result{max-width:none;padding-bottom:18px}
  .result-progress-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,.65fr);gap:16px;align-items:center;margin-top:10px}
  .result-content .result-progress-row>.xp-journey,.result-progress-row>.result-celebration{margin:0;min-width:0}
  .result-progress-row .celebration-stage{width:100%;height:200px;margin:0}
  .result-progress-row .xp-journey-heading{gap:8px;flex-wrap:wrap}
  .result-content .xp-completed-level{margin-top:8px;padding-top:7px}
}
@media(min-width:651px) and (max-width:1199px){
  .result-action-panel .result-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .result-action-panel .result-extension-hint{align-self:center;margin:0}
  .result-playback{display:flex;align-items:center;justify-content:space-between;gap:16px}
  .result-playback>p{margin:0}
  .result-playback>.celebration-controls{gap:20px}
}
@media(max-width:650px){
  .content.result-content{padding:12px 12px 138px}
  .result-shell{--app-header-height:64px}
  .result-shell .topbar{height:var(--app-header-height);min-height:var(--app-header-height);padding-block:10px;justify-content:flex-end}
  .result-shell .topbar .crumb{display:none}
  .result-content .adventure-result{padding:14px 10px 20px;border-radius:20px}
  .result-action-panel{padding:16px;border-radius:20px}
  .result-action-heading{margin-bottom:14px}
  .result-heading{margin-bottom:10px}
  .result-heading-meta{gap:8px}
  .result-heading .result-kicker{font-size:10px}
  .result-heading .reward-label{padding:4px 8px;font-size:10px}
  .result-heading h1{font-size:23px;margin-top:8px}
  .result-heading h1 .bi-secondary{font-size:14px}
  .result-heading .result-cheer{margin:10px 0 7px;gap:0 4px}
  .result-nickname{font-size:32px}
  .result-cheer-copy{font-size:22px}
  .result-heading .result-cheer-copy .bi-secondary{font-size:12px}
  .result-heading .reward-message{font-size:11px;padding:0}
  .result-content .result-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .result-content .result-stats>div{padding:9px 4px;gap:4px;border-radius:12px}
  .result-content .result-stats b{font-size:25px;min-height:30px}
  .result-content .result-stats .stat-time b{font-size:23px}
  .result-content .result-stats small{font-size:10px}
  .result-content .result-stats small .bi-secondary{font-size:10px;line-height:1.3}
  .result-content .result-stats small>.bi-label{gap:3px}
  .result-content .stat-symbol{height:24px}
  .result-content .stat-symbol svg{width:24px;height:24px}
  .result-content .xp-journey{padding:10px;margin-top:8px}
  .result-content .xp-journey-heading{gap:7px;margin-bottom:7px}
  .result-content .xp-legend{gap:6px;font-size:10px;margin-bottom:8px}
  .result-content .xp-gain-label{padding:4px 6px}
  .result-content .xp-completed-level{margin-top:8px;padding-top:7px}
  .result-content .xp-journey-caption{margin-top:7px}
  .result-content .stats-kind-note{font-size:10px;margin-top:7px}
  .result-celebration{margin-top:14px}
  .result-celebration .celebration-stage{height:160px}
}
