:root {
    --ink: #17322d;
    --muted: #65736f;
    --surface: #ffffff;
    --surface-soft: #f3f8f4;
    --line: #d8e5dd;
    --primary: #1e725d;
    --primary-dark: #145343;
    --gold: #f0b64b;
    --spark: #f5cc64;
    --echo: #67c7a4;
    --danger: #b84a4a;
    --shadow: 0 18px 50px rgba(23, 63, 54, .14);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--ink);
    background: #e9f3ee;
}

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at top, #fbfdf9 0, #e7f2ec 48%, #dcebe4 100%); }
button, input { font: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, summary:focus-visible { outline: 3px solid rgba(30, 114, 93, .28); outline-offset: 3px; }

.app-shell { width: min(100%, 1120px); margin: 0 auto; padding: 18px 14px 48px; }
.topbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.eyebrow, .section-label { display: block; text-transform: uppercase; letter-spacing: .13em; font-size: .72rem; font-weight: 800; color: var(--primary); }
h1, h2, h3, p { margin-top: 0; }
.topbar h1 { margin: 2px 0 0; font-size: clamp(1.6rem, 5vw, 2.35rem); }
.score-card { min-width: 86px; padding: 9px 14px; border-radius: 18px; text-align: center; background: rgba(255,255,255,.82); border: 1px solid rgba(255,255,255,.9); box-shadow: 0 8px 25px rgba(23,63,54,.08); }
.score-card span { display: block; color: var(--muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.score-card strong { font-size: 1.45rem; }

.game-card, .rules-card, .installer-card, .error-panel { background: var(--surface); border: 1px solid rgba(255,255,255,.85); border-radius: 28px; box-shadow: var(--shadow); overflow: hidden; }
.scene { min-height: 190px; position: relative; overflow: hidden; padding: 28px; background: linear-gradient(#bee4f0 0 55%, #a4d99d 55%); }
.scene-copy { position: relative; z-index: 5; max-width: 560px; padding: 18px; border-radius: 20px; background: rgba(255,255,255,.84); backdrop-filter: blur(8px); }
.scene-copy span { color: var(--primary); font-weight: 800; font-size: .82rem; }
.scene-copy h2 { margin: 4px 0 8px; font-size: clamp(1.55rem, 5vw, 2.35rem); }
.scene-copy p { margin: 0; color: #40524d; line-height: 1.5; }
.sun { position: absolute; width: 82px; height: 82px; border-radius: 50%; background: #ffe18a; right: 10%; top: 24px; box-shadow: 0 0 0 18px rgba(255,225,138,.18); }
.hill { position: absolute; border-radius: 50% 50% 0 0; bottom: -70px; }
.hill-back { width: 75%; height: 170px; right: -5%; background: #79bd7d; transform: rotate(-4deg); }
.hill-front { width: 85%; height: 150px; left: -12%; background: #5da96c; transform: rotate(5deg); }

.target-panel { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 22px 26px; border-bottom: 1px solid var(--line); }
.target-panel h3 { margin: 4px 0 0; font-size: 1rem; font-weight: 700; color: #42544f; }
.target-lights { display: flex; gap: 10px; }
.target-light { width: 64px; height: 70px; display: grid; place-items: center; align-content: center; border-radius: 18px; background: #edf3f0; border: 2px solid #d7e3dd; transition: .25s ease; }
.target-light span { font-size: 1.6rem; font-weight: 900; }
.target-light small { color: var(--muted); font-size: .68rem; }
.target-light.is-active { background: #dff8e8; border-color: #63bd82; box-shadow: 0 0 0 6px rgba(99,189,130,.12), 0 8px 22px rgba(48,136,78,.18); transform: translateY(-3px); }
.target-light.is-active small { color: #1d7440; font-weight: 800; }

.word-stage { padding: 26px 18px 20px; text-align: center; }
.current-word { min-height: 48px; display: flex; justify-content: center; align-items: center; gap: 3px; color: #88938f; font-size: 1.05rem; font-weight: 800; letter-spacing: .08em; }
.current-word.has-word { color: var(--ink); font-size: clamp(1.6rem, 8vw, 2.5rem); }
.current-word span.is-repeated { color: var(--primary); text-shadow: 0 0 16px rgba(30,114,93,.28); }
.feedback { min-height: 26px; margin: 4px 0 8px; color: var(--muted); font-weight: 700; }
.feedback--error, .feedback--invalid, .feedback--duplicate { color: var(--danger); }
.feedback--spark { color: #a37012; }
.feedback--echo, .feedback--success { color: var(--primary); }

.wheel-wrap { width: min(76vw, 330px); height: min(76vw, 330px); max-height: 330px; position: relative; margin: 0 auto 16px; }
.letter-wheel { position: absolute; inset: 0; border-radius: 50%; background: radial-gradient(circle, #fefefe 0 35%, #edf5f0 36% 100%); border: 1px solid #d6e4dc; box-shadow: inset 0 0 0 10px rgba(255,255,255,.55), 0 18px 45px rgba(23,63,54,.13); touch-action: none; }
.letter-wheel::after { content: "∞"; position: absolute; inset: 50% auto auto 50%; transform: translate(-50%,-50%); color: rgba(30,114,93,.2); font-size: 4rem; font-weight: 900; }
.letter-tile { position: absolute; width: 64px; height: 64px; transform: translate(-50%,-50%); border: 0; border-radius: 50%; color: var(--ink); background: #fff; box-shadow: 0 8px 22px rgba(23,63,54,.16); font-size: 1.75rem; font-weight: 900; z-index: 4; transition: transform .14s ease, background .14s ease; }
.letter-tile:hover { background: #f7fbf8; }
.letter-tile.is-pulsing { transform: translate(-50%,-50%) scale(1.13); background: #dff5e9; }
.trace-layer { position: absolute; inset: 0; pointer-events: none; z-index: 3; }
.trace-layer span { position: absolute; height: 8px; border-radius: 999px; background: rgba(30,114,93,.45); transform-origin: left center; }
.echo-bubble[hidden] { display: none; }
.echo-bubble { position: absolute; width: 58px; height: 58px; transform: translate(-50%,-50%); z-index: 7; border-radius: 50%; border: 2px solid #f0b64b; color: #76510b; background: #fff7d8; box-shadow: 0 8px 20px rgba(121,83,8,.2); display: grid; place-items: center; align-content: center; touch-action: none; }
.echo-bubble span { font-size: 1.15rem; line-height: 1; }
.echo-bubble small { font-size: .55rem; text-transform: uppercase; font-weight: 900; letter-spacing: .06em; }
.echo-bubble.is-pulsing { animation: echoPulse .22s ease; }
@keyframes echoPulse { 50% { transform: translate(-50%,-50%) scale(1.14); } }

.word-controls { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; width: min(100%, 620px); margin: 0 auto; }
.primary-button, .icon-button, .text-button { border-radius: 13px; padding: 12px 14px; font-weight: 800; border: 1px solid transparent; }
.primary-button { color: #fff; background: var(--primary); box-shadow: 0 8px 20px rgba(30,114,93,.2); text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.primary-button:hover { background: var(--primary-dark); }
.primary-button:disabled { opacity: .55; cursor: progress; }
.icon-button { background: #eff5f1; border-color: #dce8e1; color: #345049; }
.text-button { background: transparent; color: var(--primary); padding-inline: 4px; }

.progress-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; padding: 0 24px 24px; }
.meter-card { background: var(--surface-soft); border: 1px solid var(--line); border-radius: 20px; padding: 16px; }
.meter-heading { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.meter-heading span { font-weight: 800; }
.meter-heading strong { font-size: .85rem; color: var(--primary); }
.spark-meter { display: flex; gap: 8px; margin-bottom: 9px; }
.spark-meter span { width: 100%; height: 10px; border-radius: 999px; background: #dfe8e3; }
.spark-meter span.is-filled { background: linear-gradient(90deg, #f6cb5c, #efac39); box-shadow: 0 0 10px rgba(240,182,75,.35); }
.meter-card small { color: var(--muted); line-height: 1.4; }
.star-row { color: #ced8d3; letter-spacing: .2em; font-size: 1.45rem; margin-bottom: 4px; }
.star-row .is-earned { color: var(--gold); text-shadow: 0 2px 8px rgba(240,182,75,.35); }

.found-words { padding: 22px 24px 26px; border-top: 1px solid var(--line); }
.found-heading { display: flex; justify-content: space-between; align-items: center; gap: 15px; }
.found-heading h3 { margin: 3px 0 0; }
.word-log { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px,1fr)); gap: 10px; margin-top: 14px; }
.word-entry { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px; border-radius: 14px; background: #f4f7f5; border-left: 4px solid #a6b5ae; }
.word-entry strong { letter-spacing: .05em; }
.word-entry span { color: var(--muted); font-size: .72rem; }
.word-entry--spark { border-color: var(--spark); background: #fffaf0; }
.word-entry--echo { border-color: var(--echo); background: #effaf5; }
.empty-state { grid-column: 1/-1; margin: 0; padding: 16px; color: var(--muted); background: #f7faf8; border-radius: 14px; }
.rules-card { margin-top: 18px; padding: 22px 24px; }
.rules-card h2 { margin-bottom: 12px; }
.rules-card p { margin-bottom: 8px; color: #53635f; }
.rules-card details { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
.rules-card summary { color: var(--primary); font-weight: 800; cursor: pointer; }
.rules-card details p { margin: 10px 0 0; }

.completion-modal { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; padding: 18px; background: rgba(14,42,35,.58); backdrop-filter: blur(6px); }
.completion-modal[hidden] { display: none; }
.modal-card { width: min(100%, 430px); padding: 28px; text-align: center; background: #fff; border-radius: 26px; box-shadow: 0 25px 70px rgba(0,0,0,.25); }
.celebration { display: block; color: var(--gold); font-size: 3rem; }
.modal-stars { color: var(--gold); font-size: 2rem; letter-spacing: .16em; margin: 10px 0; }
.modal-card .primary-button { width: 100%; margin-top: 10px; }
.modal-card .text-button { margin-top: 8px; }

.installer-page { display: grid; place-items: center; padding: 30px 14px; }
.installer-card, .error-panel { width: min(100%, 620px); padding: 28px; }
.installer-form { display: grid; grid-template-columns: 1fr 150px; gap: 14px; margin-top: 20px; }
.installer-form label { display: grid; gap: 6px; font-weight: 750; color: #42524e; }
.installer-form label:nth-of-type(3), .installer-form label:nth-of-type(4), .installer-form label:nth-of-type(5), .installer-form .primary-button { grid-column: 1/-1; }
.installer-form input { width: 100%; border: 1px solid #cbdad2; border-radius: 12px; padding: 12px; background: #fbfdfc; }
.notice { margin: 18px 0; padding: 14px; border-radius: 14px; }
.notice--success { background: #e6f6eb; color: #1c6438; }
.notice--error { background: #fdecec; color: #993c3c; }
.install-note { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); }
code { padding: 2px 5px; background: #eef3f0; border-radius: 5px; }

@media (min-width: 900px) {
    .app-shell { display: grid; grid-template-columns: minmax(0, 760px) minmax(260px, 1fr); gap: 18px; align-items: start; }
    .topbar { grid-column: 1/-1; }
    .rules-card { margin-top: 0; position: sticky; top: 18px; }
}

@media (max-width: 680px) {
    .app-shell { padding-inline: 8px; }
    .game-card, .rules-card { border-radius: 22px; }
    .scene { min-height: 210px; padding: 18px; }
    .scene-copy { padding: 15px; }
    .target-panel { align-items: flex-start; flex-direction: column; padding: 19px; }
    .target-lights { width: 100%; }
    .target-light { flex: 1; width: auto; }
    .word-controls { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .word-controls .primary-button { grid-column: 1/-1; grid-row: 1; }
    .progress-grid { grid-template-columns: 1fr; padding-inline: 14px; }
    .found-words { padding-inline: 16px; }
    .installer-form { grid-template-columns: 1fr; }
    .installer-form label, .installer-form label:nth-of-type(n), .installer-form .primary-button { grid-column: 1; }
}

/* Package 2 — reusable letter-wheel controls */
.skip-link { position: fixed; left: 12px; top: -80px; z-index: 100; padding: 10px 14px; color: #fff; background: var(--primary-dark); border-radius: 10px; text-decoration: none; font-weight: 800; }
.skip-link:focus { top: 12px; }
.topbar-actions { display: flex; align-items: center; gap: 8px; }
.header-button { width: 42px; height: 42px; display: grid; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.92); border-radius: 14px; color: var(--ink); background: rgba(255,255,255,.82); box-shadow: 0 8px 25px rgba(23,63,54,.08); font-weight: 900; }
.header-button:hover { background: #fff; transform: translateY(-1px); }
.input-mode-row { width: min(100%, 620px); display: flex; justify-content: center; align-items: center; gap: 9px; flex-wrap: wrap; margin: 0 auto 7px; color: var(--muted); }
.input-mode-row small { font-size: .72rem; }
.input-mode-badge { padding: 5px 9px; border-radius: 999px; color: var(--primary-dark); background: #e3f3eb; font-size: .68rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.current-word span { min-width: .64em; padding: 0 .02em; border-bottom: 3px solid transparent; transition: color .15s ease, transform .15s ease, border-color .15s ease; }
.current-word span.is-repeated { border-bottom-color: var(--gold); transform: translateY(-2px); }
.wheel-wrap { width: min(74vw, 340px); height: min(74vw, 340px); max-height: 340px; }
.letter-wheel.is-tracing { box-shadow: inset 0 0 0 10px rgba(255,255,255,.7), 0 18px 45px rgba(23,63,54,.18), 0 0 0 6px rgba(30,114,93,.08); }
.letter-tile { user-select: none; -webkit-user-select: none; -webkit-tap-highlight-color: transparent; }
.letter-tile:active { transform: translate(-50%,-50%) scale(1.08); }
.trace-layer { width: 100%; height: 100%; overflow: visible; }
.trace-layer polyline { fill: none; stroke: rgba(30,114,93,.48); stroke-width: 10; stroke-linecap: round; stroke-linejoin: round; opacity: 0; transition: opacity .12s ease; }
.trace-layer.has-trace polyline { opacity: 1; }
.echo-bubble { width: 64px; height: 64px; grid-template-columns: auto auto; grid-template-rows: auto auto; column-gap: 2px; padding: 7px; -webkit-tap-highlight-color: transparent; }
.echo-bubble strong { grid-row: 1; grid-column: 1; font-size: 1.1rem; line-height: 1; }
.echo-bubble span { grid-row: 1; grid-column: 2; font-size: 1.05rem; line-height: 1; }
.echo-bubble small { grid-row: 2; grid-column: 1/-1; font-size: .48rem; }
.wheel-tip { margin: -3px auto 14px; color: var(--muted); font-size: .76rem; line-height: 1.45; }
.wheel-tip strong { color: #75520d; }
.icon-button:disabled, .primary-button:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }
.keyboard-note { color: var(--muted); font-size: .7rem; text-align: right; }
body.modal-open { overflow: hidden; }
.modal-backdrop { position: fixed; inset: 0; z-index: 60; display: grid; place-items: center; padding: 18px; overflow-y: auto; background: rgba(14,42,35,.62); backdrop-filter: blur(7px); }
.modal-backdrop[hidden] { display: none; }
.modal-card--wide { width: min(100%, 720px); }
.modal-card--settings { width: min(100%, 530px); text-align: left; }
.tutorial-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; margin: 20px 0; text-align: left; }
.tutorial-grid article { padding: 17px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface-soft); }
.tutorial-grid h3 { margin: 8px 0 5px; }
.tutorial-grid p { margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.5; }
.tutorial-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 13px; color: var(--primary-dark); background: #dff2e8; font-size: 1.35rem; font-weight: 900; }
.modal-note { padding: 12px; border-radius: 13px; color: #4f615c; background: #f4f7f5; font-size: .83rem; line-height: 1.5; }
.setting-row { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 15px 0; border-bottom: 1px solid var(--line); cursor: pointer; }
.setting-row span { display: grid; gap: 4px; }
.setting-row small { color: var(--muted); line-height: 1.35; }
.setting-row input { width: 24px; height: 24px; accent-color: var(--primary); flex: 0 0 auto; }
.large-letter-mode .letter-tile { width: 72px; height: 72px; font-size: 2rem; }
.large-letter-mode .current-word.has-word { font-size: clamp(2rem, 9vw, 2.8rem); }
.large-letter-mode .wheel-wrap { width: min(80vw, 360px); height: min(80vw, 360px); max-height: 360px; }

@media (max-width: 680px) {
    .topbar-actions { gap: 5px; }
    .header-button { width: 38px; height: 38px; border-radius: 12px; }
    .score-card { min-width: 74px; padding-inline: 10px; }
    .input-mode-row { align-items: flex-start; flex-direction: column; gap: 5px; text-align: left; }
    .wheel-wrap { width: min(82vw, 330px); height: min(82vw, 330px); }
    .keyboard-note { display: none; }
    .tutorial-grid { grid-template-columns: 1fr; }
    .modal-card { padding: 23px 19px; }
    .setting-row { align-items: flex-start; }
    .large-letter-mode .wheel-wrap { width: min(86vw, 345px); height: min(86vw, 345px); }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Package 3 — server-authoritative game engine */
.engine-badge{padding:5px 9px;border:1px solid #b9d8ca;border-radius:999px;color:#315e50;background:#f4fbf7;font-size:.66rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.engine-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 24px 22px}.engine-stats div{display:grid;gap:3px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fbfdfc}.engine-stats span{color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.engine-stats strong{color:var(--primary-dark);font-size:1.15rem}.word-entry>div{display:grid;gap:3px}.word-entry small{color:#4f7568;font-size:.66rem;font-weight:750}.word-entry--double{border-left-width:6px;box-shadow:inset 0 0 0 1px rgba(30,114,93,.09)}.word-entry--triple{border-left-width:7px;background:linear-gradient(135deg,#effaf5,#fff9e8)}.word-entry--super{border-left-width:8px;background:linear-gradient(135deg,#e7f8f0,#fff4ca);box-shadow:0 7px 20px rgba(171,123,20,.12)}.feedback--duplicate,.feedback--stale{color:#8a5b0b;background:#fff6de}@media(max-width:680px){.engine-stats{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:14px}}

/* Package 4 — ten-level prototype chapter */
.chapter-map{grid-column:1/-1;margin-bottom:14px;padding:16px 18px;border:1px solid rgba(255,255,255,.9);border-radius:24px;background:rgba(255,255,255,.86);box-shadow:0 12px 34px rgba(23,63,54,.09);backdrop-filter:blur(8px)}
.chapter-map__heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:13px}.chapter-map__heading h2{margin:3px 0 0;font-size:1.25rem}.chapter-map__heading>strong{color:var(--primary);font-size:.86rem}
.level-track{display:grid;grid-template-columns:repeat(10,minmax(52px,1fr));gap:8px;overflow-x:auto;padding:2px 1px 5px;scrollbar-width:thin}
.level-node{min-width:52px;min-height:58px;display:grid;place-items:center;align-content:center;gap:2px;border:1px solid #d9e6df;border-radius:16px;color:var(--ink);background:#f7faf8;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.level-node b{font-size:1rem}.level-node small{color:#bdc9c3;font-size:.62rem;letter-spacing:.02em;white-space:nowrap}.level-node:hover{transform:translateY(-2px);border-color:#99c7b4;box-shadow:0 8px 18px rgba(23,63,54,.1)}.level-node.is-current{border-color:var(--primary);background:#e7f6ef;box-shadow:0 0 0 3px rgba(30,114,93,.11)}.level-node.is-complete small{color:var(--gold)}.level-node.is-locked{opacity:.58;cursor:not-allowed}.level-node.is-locked small{filter:grayscale(1)}
.level-coach{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;margin:20px 24px 0;padding:16px 18px;border:1px solid #cae2d6;border-radius:18px;background:linear-gradient(135deg,#f0fbf6,#fff9e9);transition:opacity .18s ease,transform .18s ease,max-height .25s ease,margin .25s ease,padding .25s ease}
.level-coach.is-dismissed{max-height:0;margin-top:0;padding-top:0;padding-bottom:0;overflow:hidden;opacity:0;transform:translateY(-8px);border-width:0}.level-coach__icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;color:#88600f;background:#fff0bd;font-size:1.25rem}.level-coach h3{margin:2px 0 5px}.level-coach p{margin:0 0 7px;color:#53655f;line-height:1.45}.level-coach strong{color:var(--primary-dark);font-size:.85rem}.coach-close{width:32px;height:32px;border:0;border-radius:10px;color:#566762;background:rgba(255,255,255,.75);font-size:1.25rem;line-height:1}
.level-nav-buttons{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 24px 25px}.level-nav-buttons .icon-button{text-decoration:none;display:inline-flex;justify-content:center}.chapter-summary{display:grid;gap:3px;margin-top:16px;padding:13px;border-radius:14px;background:var(--surface-soft)}.chapter-summary span{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.chapter-summary strong{color:var(--primary-dark)}
@media(min-width:900px){.chapter-map{grid-column:1/-1}.game-card{grid-column:1}.rules-card{grid-column:2}}
@media(max-width:760px){.level-track{grid-template-columns:repeat(10,58px)}.chapter-map{border-radius:19px;padding:14px 12px}.chapter-map__heading{align-items:start}.level-coach{margin-inline:14px;grid-template-columns:auto 1fr}.coach-close{position:absolute;right:8px;top:8px}.level-coach__icon{width:36px;height:36px}.level-nav-buttons{padding-inline:14px}}

/* Package 7 — campaign journey, persistent progress, bonuses, and collectibles */
.header-button--link{text-decoration:none}.bonus-gateway{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;padding:16px 18px;border:1px dashed #c8d8d1;border-radius:20px;color:#596b65;background:rgba(247,250,248,.78)}.bonus-gateway>div{display:grid;gap:3px}.bonus-gateway h3{margin:0;color:var(--ink)}.bonus-gateway p{margin:2px 0 0;line-height:1.45}.bonus-gateway.is-unlocked{border-style:solid;border-color:#dbc676;background:linear-gradient(135deg,#fff9df,#f1fbf6);box-shadow:0 10px 26px rgba(119,88,17,.09)}.bonus-gateway.is-complete{border-color:#8cc8b2;background:linear-gradient(135deg,#eaf8f2,#fff9df)}.bonus-lock{padding:8px 11px;border-radius:999px;color:#687873;background:#e8efeb;font-size:.75rem;font-weight:850;white-space:nowrap}.game-card[data-scene-stage="0"] .scene{filter:saturate(.72)}.game-card[data-scene-stage="1"] .scene{filter:saturate(.82)}.game-card[data-scene-stage="2"] .scene{filter:saturate(.9)}.game-card[data-scene-stage="3"] .scene{filter:saturate(1)}.game-card[data-scene-stage="4"] .scene{filter:saturate(1.08)}.game-card[data-scene-stage="5"] .scene{filter:saturate(1.14);box-shadow:inset 0 -20px 50px rgba(255,221,114,.13)}
.journey-page{min-height:100vh;background:radial-gradient(circle at top,#f8fbf6,#e6efe9 52%,#dbe8e2)}.journey-shell{width:min(1180px,calc(100% - 28px));margin:0 auto;padding:30px 0 60px}.journey-header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px;padding:24px 26px;border:1px solid rgba(255,255,255,.95);border-radius:26px;background:rgba(255,255,255,.87);box-shadow:0 18px 50px rgba(23,63,54,.1);backdrop-filter:blur(9px)}.journey-header h1{margin:4px 0;font-size:clamp(1.8rem,4vw,2.8rem)}.journey-header p{margin:0;color:var(--muted)}.journey-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}.journey-stats article{display:grid;gap:4px;padding:17px;border:1px solid rgba(255,255,255,.95);border-radius:18px;background:rgba(255,255,255,.86);box-shadow:0 10px 30px rgba(23,63,54,.07)}.journey-stats span{color:var(--muted);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.journey-stats strong{color:var(--primary-dark);font-size:1.65rem}.journey-stats small{color:var(--muted)}.journey-track{position:relative;display:grid;gap:16px}.journey-track::before{content:"";position:absolute;z-index:0;left:38px;top:42px;bottom:42px;width:4px;border-radius:99px;background:linear-gradient(#d2a72d,#4b9d7f,#bfcfc8)}.journey-chapter{position:relative;z-index:1;display:grid;grid-template-columns:72px 190px minmax(0,1fr) minmax(220px,.7fr);gap:18px;align-items:center;padding:17px 18px 17px 0;border:1px solid rgba(255,255,255,.95);border-radius:24px;background:rgba(255,255,255,.9);box-shadow:0 14px 38px rgba(23,63,54,.08);overflow:hidden}.journey-chapter__number{display:grid;place-items:center}.journey-chapter__number span{width:54px;height:54px;display:grid;place-items:center;border:5px solid #eef4f0;border-radius:50%;color:#fff;background:linear-gradient(145deg,var(--primary),var(--primary-dark));box-shadow:0 7px 20px rgba(23,63,54,.22);font-size:1.15rem;font-weight:950}.journey-chapter__scene{position:relative;height:125px;overflow:hidden;border-radius:18px;background:linear-gradient(#a9dcef 0 58%,#8dc47f 59%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}.journey-chapter__scene .scene-orb{position:absolute;right:18px;top:14px;width:29px;height:29px;border-radius:50%;background:#ffdf6c;box-shadow:0 0 22px rgba(255,223,108,.65)}.journey-chapter__scene .scene-land{position:absolute;left:-10%;right:-10%;bottom:-35px;height:86px;border-radius:50%;background:#6da76e}.journey-chapter__scene .scene-land--back{bottom:-18px;background:#83b87a}.journey-chapter__scene b{position:absolute;right:9px;bottom:8px;padding:4px 7px;border-radius:99px;color:#fff;background:rgba(17,62,51,.68);font-size:.66rem}.journey-chapter[data-stage="0"] .journey-chapter__scene{filter:grayscale(.5) saturate(.45)}.journey-chapter[data-stage="1"] .journey-chapter__scene{filter:saturate(.7)}.journey-chapter[data-stage="2"] .journey-chapter__scene{filter:saturate(.82)}.journey-chapter[data-stage="3"] .journey-chapter__scene{filter:saturate(.94)}.journey-chapter[data-stage="4"] .journey-chapter__scene{filter:saturate(1.07)}.journey-chapter[data-stage="5"] .journey-chapter__scene{filter:saturate(1.2);box-shadow:inset 0 0 0 2px rgba(255,217,94,.44)}.journey-chapter__copy{display:grid;gap:4px}.journey-chapter__copy h2{margin:0;font-size:1.35rem}.journey-chapter__copy>strong{color:var(--primary)}.journey-chapter__copy p{margin:4px 0;color:var(--muted);line-height:1.45}.journey-chapter__copy>small{color:var(--muted)}.journey-progress{height:8px;margin:7px 0 2px;overflow:hidden;border-radius:99px;background:#e6eee9}.journey-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2f9273,#e4b846)}.journey-chapter__actions{display:grid;gap:8px;justify-items:start}.journey-status,.journey-bonus-note{color:var(--muted);font-size:.78rem;font-weight:750}.journey-collectibles{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.collectible-chip{padding:5px 7px;border:1px solid #dbe5e0;border-radius:999px;color:#8a9893;background:#f5f8f6;font-size:.61rem;font-weight:800}.collectible-chip.is-earned{color:#72520d;border-color:#e3ca78;background:#fff7d9}.journey-chapter.is-locked{opacity:.62}.journey-chapter.is-locked .journey-chapter__scene{filter:grayscale(1)}.journey-chapter.is-coming-soon:not(.is-locked){border-style:dashed}.journey-chapter.is-complete{border-color:#99cdb9;background:linear-gradient(135deg,rgba(235,249,242,.96),rgba(255,251,231,.93))}.collection-shelf{display:grid;grid-template-columns:minmax(230px,.5fr) minmax(0,1fr);gap:24px;margin-top:24px;padding:24px;border:1px solid rgba(255,255,255,.95);border-radius:24px;background:rgba(255,255,255,.88);box-shadow:0 14px 38px rgba(23,63,54,.08)}.collection-shelf h2{margin:4px 0}.collection-shelf p{color:var(--muted);line-height:1.5}.collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.collection-grid article{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid #e1e9e5;border-radius:15px;background:#fafcfb}.collection-grid article>span{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;color:#72520d;background:#fff0b9}.collection-grid article div{display:grid}.collection-grid small{color:var(--muted)}
.theme-woodland-trail .journey-chapter__scene{background:linear-gradient(#b5d5c0 0 55%,#537d58 56%)}.theme-lakeside-cabin .journey-chapter__scene{background:linear-gradient(#a8d9ed 0 53%,#6fb4c2 54% 70%,#78985f 71%)}.theme-coastal-escape .journey-chapter__scene{background:linear-gradient(#9ed8ed 0 50%,#3d9fb5 51% 72%,#e6cf8f 73%)}.theme-desert-oasis .journey-chapter__scene{background:linear-gradient(#a9dded 0 52%,#e9c16d 53%)}.theme-mountain-summit .journey-chapter__scene{background:linear-gradient(#a9d5e7 0 54%,#819492 55%)}.theme-autumn-village .journey-chapter__scene{background:linear-gradient(#d9c9aa 0 53%,#b36d3e 54%)}.theme-winter-lodge .journey-chapter__scene{background:linear-gradient(#d9edf5 0 56%,#e9f3f5 57%)}.theme-northern-lights .journey-chapter__scene,.theme-moonlit-garden .journey-chapter__scene{background:linear-gradient(#18364c 0 58%,#305949 59%)}.theme-crystal-cavern .journey-chapter__scene{background:linear-gradient(#564d78 0 54%,#67889c 55%)}.theme-echo-sanctuary .journey-chapter__scene{background:linear-gradient(#7bc8be 0 54%,#437f68 55%)}
@media(max-width:900px){.journey-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-chapter{grid-template-columns:64px 150px minmax(0,1fr)}.journey-chapter__actions{grid-column:2/-1;display:flex;align-items:center;flex-wrap:wrap}.collection-shelf{grid-template-columns:1fr}}@media(max-width:650px){.bonus-gateway,.journey-header{align-items:flex-start;flex-direction:column}.journey-shell{width:min(100% - 18px,1180px);padding-top:14px}.journey-header{padding:19px}.journey-stats{grid-template-columns:1fr 1fr}.journey-track::before{left:25px}.journey-chapter{grid-template-columns:50px minmax(0,1fr);gap:10px;padding:13px 13px 13px 0}.journey-chapter__number span{width:42px;height:42px;border-width:4px}.journey-chapter__scene{grid-column:2;height:105px}.journey-chapter__copy,.journey-chapter__actions{grid-column:2}.journey-chapter__actions{display:grid}.collection-grid{grid-template-columns:1fr}}

/* Package 8 — restoration milestones, collection cabinet, and bonus rule engine */
.journey-header__actions,.collection-header__actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.scene-milestone-summary{display:flex;gap:9px;align-items:flex-start;margin-top:8px;padding:8px 10px;border-radius:13px;background:#f3f8f5}.scene-milestone-summary>span{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;color:#76550b;background:#fff0b5}.scene-milestone-summary div{display:grid;gap:1px}.scene-milestone-summary strong{font-size:.78rem}.scene-milestone-summary small{color:var(--muted);font-size:.68rem;line-height:1.35}.scene-stage-pips{display:flex;gap:5px;margin:7px 0 2px}.scene-stage-pips i,.scene-stage-rail i{width:23px;height:23px;display:grid;place-items:center;border:1px solid #d7e1dc;border-radius:50%;color:#a6b2ad;background:#f4f7f5;font-style:normal;font-size:.65rem}.scene-stage-pips i.is-restored,.scene-stage-rail i.is-restored{color:#72520d;border-color:#dfc66c;background:#fff1b8;box-shadow:0 3px 9px rgba(131,93,11,.12)}
.scene-landmarks{position:absolute;inset:0;z-index:2;pointer-events:none}.scene-landmark{position:absolute;display:block;opacity:.12;filter:grayscale(1);transform:translateY(9px) scale(.82);transition:.4s ease}.scene-landmark.is-restored{opacity:.92;filter:none;transform:none}.scene-landmark::before{content:"✦";display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#75540b;background:rgba(255,239,175,.86);box-shadow:0 5px 14px rgba(72,74,31,.15)}.scene-landmark--1{left:5%;bottom:24%}.scene-landmark--2{left:25%;top:18%}.scene-landmark--3{right:25%;bottom:15%}.scene-landmark--4{right:8%;top:34%}.scene-landmark--5{left:47%;bottom:7%}.scene-stage-rail{position:absolute;z-index:6;right:16px;bottom:14px;display:flex;gap:5px}.current-scene-milestone{display:flex;gap:9px;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid rgba(40,91,76,.14)}.current-scene-milestone>span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;color:#72520d;background:#fff0b5}.current-scene-milestone div{display:grid;text-align:left}.current-scene-milestone strong{font-size:.78rem}.current-scene-milestone small{color:#53665f;font-size:.67rem;line-height:1.3}
.bonus-objective-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,.42fr);gap:18px;align-items:center;margin:20px 24px 0;padding:17px 18px;border:1px solid #e1c86c;border-radius:18px;background:linear-gradient(135deg,#fff9dc,#f2fbf7)}.bonus-objective-card h3{margin:3px 0 5px}.bonus-objective-card p{margin:0;color:var(--muted);line-height:1.45}.bonus-objective-progress{display:grid;gap:6px}.bonus-objective-progress>strong{color:#6e500b;font-size:1.3rem}.bonus-objective-progress>div{height:9px;overflow:hidden;border-radius:99px;background:#e8e2ca}.bonus-objective-progress>div span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d5aa23,#4d9f7f);transition:width .25s ease}.bonus-objective-progress small{color:var(--muted)}.bonus-objective-card.is-complete{border-color:#74bd9f;background:linear-gradient(135deg,#e7f8f0,#fff8d8)}.bonus-objective-card.is-failed{border-color:#d79a84;background:#fff2ed}.bonus-objective-card.is-failed .bonus-objective-progress>div span{background:#ca7558}
.collection-page{min-height:100vh;background:radial-gradient(circle at top,#fbfcf6,#e7f0ea 55%,#dbe8e1)}.collection-shell{width:min(1120px,calc(100% - 28px));margin:0 auto;padding:30px 0 60px}.collection-header{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:24px 26px;border:1px solid rgba(255,255,255,.95);border-radius:26px;background:rgba(255,255,255,.88);box-shadow:0 18px 50px rgba(23,63,54,.1)}.collection-header h1{margin:4px 0;font-size:clamp(1.8rem,4vw,2.7rem)}.collection-header p{margin:0;color:var(--muted)}.collection-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.collection-stats article{display:grid;gap:4px;padding:16px;border:1px solid rgba(255,255,255,.95);border-radius:17px;background:rgba(255,255,255,.86)}.collection-stats span{color:var(--muted);font-size:.7rem;font-weight:850;text-transform:uppercase}.collection-stats strong{font-size:1.55rem;color:var(--primary-dark)}.collection-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.collection-filters button{padding:8px 12px;border:1px solid #d4e0da;border-radius:999px;color:#52635e;background:#fff;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}.collection-filters button.is-active{color:#fff;border-color:var(--primary);background:var(--primary)}.collection-cabinet{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.collection-card{position:relative;display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:14px;align-items:center;min-height:132px;padding:18px;border:1px solid #dce6e1;border-radius:21px;background:rgba(255,255,255,.91);box-shadow:0 12px 30px rgba(23,63,54,.07)}.collection-card__symbol{width:64px;height:64px;display:grid;place-items:center;border-radius:20px;color:#72520d;background:linear-gradient(145deg,#fff3bf,#e5c65e);box-shadow:inset 0 0 0 2px rgba(255,255,255,.65);font-size:1.55rem}.collection-card__copy{display:grid;gap:4px}.collection-card__copy>span{color:var(--muted);font-size:.68rem;font-weight:850;text-transform:uppercase}.collection-card h2{margin:0;font-size:1.1rem}.collection-card p{margin:0;color:var(--muted);line-height:1.4}.collection-card__status{padding:6px 9px;border-radius:99px;color:#376c5c;background:#e5f4ed;font-size:.68rem;font-weight:850}.collection-card.is-locked{opacity:.68;background:rgba(247,249,248,.8)}.collection-card.is-locked .collection-card__symbol{color:#99a6a1;background:#e4eae7;filter:grayscale(1)}.collection-card.is-locked .collection-card__status{color:#7a8984;background:#e9eeeb}.collection-card.rarity-rare.is-earned{border-color:#ddc36c}.collection-card.rarity-epic.is-earned{border-color:#ad8dd1}.collection-card.rarity-legendary.is-earned{border-color:#e6a64e;box-shadow:0 14px 34px rgba(166,103,20,.15)}.collection-empty{text-align:center;color:var(--muted)}
@media(max-width:760px){.bonus-objective-card{grid-template-columns:1fr;margin-inline:14px}.scene-stage-rail{right:9px;bottom:8px}.scene-stage-rail i{width:20px;height:20px}.collection-header{align-items:flex-start;flex-direction:column;padding:20px}.collection-stats{grid-template-columns:1fr 1fr}.collection-cabinet{grid-template-columns:1fr}.collection-card{grid-template-columns:54px minmax(0,1fr)}.collection-card__symbol{width:50px;height:50px;border-radius:16px}.collection-card__status{grid-column:2;justify-self:start}.journey-header__actions{align-items:flex-start}}

/* Package 10 cumulative player experience */
.account-page{min-height:100vh;background:radial-gradient(circle at top,#f8fcf9,#e7f1eb 55%,#dce9e3)}.account-shell{width:min(1000px,calc(100% - 24px));margin:0 auto;padding:22px 0 60px}.account-topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:14px 18px;border:1px solid rgba(255,255,255,.94);border-radius:22px;background:rgba(255,255,255,.88);box-shadow:0 12px 36px rgba(23,63,54,.09)}.account-brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}.account-brand>span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(145deg,var(--primary),var(--primary-dark));font-weight:950}.account-brand div{display:grid}.account-brand small{color:var(--muted)}.account-topbar nav{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.account-topbar nav a{padding:8px 10px;border-radius:10px;color:#4a5e58;text-decoration:none;font-size:.8rem;font-weight:850}.account-topbar nav a:hover,.account-topbar nav a.is-active{color:var(--primary-dark);background:#e8f5ef}.account-auth-card,.account-panel,.account-hero,.account-verification{padding:25px;border:1px solid rgba(255,255,255,.95);border-radius:24px;background:rgba(255,255,255,.93);box-shadow:var(--shadow)}.account-auth-card{width:min(100%,560px);margin:35px auto}.account-auth-card h1,.account-panel h1{margin:5px 0 8px}.account-auth-card>p,.account-hero p{color:var(--muted);line-height:1.55}.account-form{display:grid;gap:14px;margin-top:20px}.account-form>label:not(.account-check):not(.account-honeypot){display:grid;gap:6px;color:#40514c;font-size:.8rem;font-weight:850}.account-form input:not([type=checkbox]):not([type=range]){width:100%;min-height:46px;padding:11px 12px;border:1px solid #c8d8d0;border-radius:12px;background:#fff;color:var(--ink)}.account-form label small{color:var(--muted);font-weight:500;line-height:1.4}.account-form fieldset{display:grid;gap:10px;margin:0;padding:16px;border:1px solid var(--line);border-radius:15px}.account-form legend{padding:0 7px;color:var(--primary-dark);font-weight:900}.account-check{display:flex;align-items:center;gap:10px;color:#40514c;font-size:.84rem;font-weight:750}.account-check input{width:20px;height:20px;accent-color:var(--primary)}.account-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.account-auth-links{text-align:center}.account-auth-links a{color:var(--primary);font-weight:850}.account-alert{margin:12px 0;padding:12px 14px;border-radius:12px;font-weight:750}.account-alert--error{color:#8e2d35;border:1px solid #e6b9be;background:#fff0f1}.account-alert--success{color:#145b46;border:1px solid #abd7c7;background:#ebf8f3}.account-alert--warning{color:#77520f;border:1px solid #e6cf96;background:#fff8e5}.human-slider{--slider-progress:0%;display:grid;gap:8px;padding:13px;border:1px solid #cbdcd4;border-radius:15px;background:#f5faf7}.human-slider>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:.78rem}.human-slider>div:first-child span{color:var(--muted)}.human-slider input[type=range]{width:100%;accent-color:var(--primary)}.human-slider__track{height:6px;overflow:hidden;border-radius:99px;background:#dde9e3}.human-slider__track span{display:block;width:var(--slider-progress);height:100%;background:linear-gradient(90deg,var(--primary),var(--gold));transition:width .12s}.human-slider.is-complete{border-color:#77bf9e;background:#eaf8f1}.human-slider.is-complete [data-slider-status]{color:#1d744f;font-weight:900}.human-slider--compact{min-width:245px;padding:9px}.account-dashboard{display:grid;gap:18px}.account-hero{display:flex;justify-content:space-between;align-items:center;gap:24px}.account-hero__actions{display:flex;gap:9px;flex-wrap:wrap}.account-verification{display:flex;justify-content:space-between;align-items:center;gap:20px;border-color:#e5ce81;background:#fff9e8}.account-verification p{margin:4px 0;color:#695c38}.account-verification form{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.account-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.account-stat-grid article{display:grid;gap:4px;padding:17px;border:1px solid rgba(255,255,255,.95);border-radius:18px;background:rgba(255,255,255,.9);box-shadow:0 10px 30px rgba(23,63,54,.07)}.account-stat-grid span{color:var(--muted);font-size:.7rem;font-weight:850;text-transform:uppercase}.account-stat-grid strong{font-size:1.65rem;color:var(--primary-dark)}.account-stat-grid small{color:var(--muted)}.account-panel__heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.account-panel__heading h1,.account-panel__heading h2{margin:4px 0 0}.account-recent-list{display:grid;gap:8px}.account-recent-list>a{display:flex;justify-content:space-between;gap:15px;padding:13px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:#fbfdfc;text-decoration:none}.account-recent-list>a:hover{border-color:#99cbb8;background:#f0faf5}.account-recent-list>a>div{display:grid;gap:2px}.account-recent-list span,.account-recent-list small{color:var(--muted);font-size:.72rem}.account-recent-list b{color:#d69b23;letter-spacing:.06em}.account-settings-panel{max-width:760px;margin:0 auto}.account-status-pill{padding:7px 10px;border-radius:999px;font-size:.72rem;font-weight:900}.account-status-pill.is-verified{color:#145b46;background:#dff4eb}.account-status-pill.is-pending{color:#7b560e;background:#fff0c2}.player-account-link{display:inline-flex;align-items:center;gap:5px;padding:8px 10px;border-radius:12px;color:var(--primary-dark);background:rgba(255,255,255,.85);font-size:.74rem;font-weight:900;text-decoration:none}
@media(max-width:760px){.account-topbar,.account-hero,.account-verification{align-items:flex-start;flex-direction:column}.account-topbar nav{width:100%}.account-stat-grid{grid-template-columns:1fr 1fr}.account-verification form{width:100%;display:grid}.human-slider--compact{min-width:0}.account-panel__heading{align-items:flex-start;flex-direction:column}}@media(max-width:480px){.account-shell{width:min(100% - 14px,1000px);padding-top:8px}.account-stat-grid{grid-template-columns:1fr}.account-auth-card,.account-panel,.account-hero,.account-verification{padding:18px}.account-recent-list>a{align-items:flex-start;flex-direction:column}}
.reduced-motion-mode *,.reduced-motion-mode *::before,.reduced-motion-mode *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}

/* Package 10: replay mastery */
.level-mastery-panel{margin-top:1rem;padding:1rem;border:1px solid rgba(33,84,70,.16);border-radius:18px;background:rgba(255,255,255,.64)}
.level-mastery-panel>div:first-child{display:flex;justify-content:space-between;gap:1rem;align-items:center}.level-mastery-panel>div:first-child span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#55716a}.level-mastery-panel>div:first-child strong{font-size:.88rem}.level-mastery-panel>a{display:inline-block;margin-top:.75rem;font-weight:800;color:#23654f;text-decoration:none}
.level-mastery-medals{display:grid;grid-template-columns:repeat(5,1fr);gap:.42rem;margin-top:.65rem}.level-mastery-medals span{display:grid;place-items:center;min-height:38px;border-radius:12px;background:#e4ebe7;color:#8a9b95;font-size:1.1rem}.level-mastery-medals span.is-earned{background:#fff1b6;color:#815b00;box-shadow:inset 0 0 0 1px rgba(145,99,0,.18)}
.completion-mastery{margin:.85rem 0;padding:.8rem;border-radius:14px;background:#f4ecd0}.completion-mastery strong{display:block;margin-bottom:.45rem}.completion-mastery div{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem}.completion-mastery span{padding:.35rem .58rem;border-radius:999px;background:#fff;color:#6a4e00;font-size:.82rem;font-weight:800}
.mastery-page{background:linear-gradient(180deg,#eaf4ed 0,#f8f1dc 100%);color:#173f36;min-height:100vh}.mastery-shell{width:min(1480px,calc(100% - 28px));margin:0 auto;padding:22px 0 56px}.mastery-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:24px;border-radius:28px;background:#173f36;color:#fff;box-shadow:0 18px 50px rgba(18,55,45,.18)}.mastery-header h1{margin:.15rem 0;font-size:clamp(2rem,5vw,3.4rem)}.mastery-header p{margin:0;color:#dbeae5}.mastery-header__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.mastery-header .icon-button{color:#fff;border-color:rgba(255,255,255,.24)}
.mastery-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.mastery-stat-grid article{padding:18px;border-radius:20px;background:rgba(255,255,255,.86);box-shadow:0 10px 30px rgba(34,77,63,.08)}.mastery-stat-grid span,.mastery-stat-grid small{display:block;color:#61776f}.mastery-stat-grid strong{display:block;margin:.25rem 0;font-size:1.75rem}
.mastery-explainer{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:20px 24px;border-radius:24px;background:#fff}.mastery-explainer h2{margin:.2rem 0}.mastery-explainer p{margin:0;color:#61776f}.mastery-medal-key{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.mastery-medal-key span{padding:.58rem .72rem;border-radius:999px;background:#f4ecd0;font-weight:800;font-size:.84rem}
.mastery-layout{display:grid;grid-template-columns:minmax(235px,285px) minmax(0,1fr);gap:18px;margin-top:18px}.mastery-chapters{align-self:start;position:sticky;top:14px;max-height:calc(100vh - 28px);overflow:auto;padding:16px;border-radius:24px;background:rgba(255,255,255,.84)}.mastery-chapters h2{margin:.2rem .4rem 1rem}.mastery-chapter-link{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:10px;border-radius:14px;color:#23483d;text-decoration:none}.mastery-chapter-link>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e7efe9;font-weight:900}.mastery-chapter-link strong,.mastery-chapter-link small{display:block}.mastery-chapter-link small{color:#6d807a;font-size:.75rem}.mastery-chapter-link.is-active{background:#173f36;color:#fff}.mastery-chapter-link.is-active small{color:#d0e1db}.mastery-chapter-link.is-mastered>b{color:#c79000}
.mastery-content{display:grid;gap:18px}.mastery-chapter-hero,.mastery-goals,.mastery-levels,.mastery-runs{padding:22px;border-radius:26px;background:rgba(255,255,255,.9);box-shadow:0 12px 36px rgba(33,72,60,.07)}.mastery-chapter-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;background:linear-gradient(135deg,#fff,#eef5e9)}.mastery-chapter-hero h2{margin:.2rem 0;font-size:2rem}.mastery-chapter-hero p{margin:0;color:#60776e}.mastery-chapter-hero>strong{padding:.65rem .85rem;border-radius:999px;background:#173f36;color:#fff;white-space:nowrap}.mastery-section-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px}.mastery-section-heading h2{margin:.2rem 0 0}.mastery-section-heading>span{color:#60776e}
.mastery-goal{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #e6ece8}.mastery-goal>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e7ede9;font-weight:900}.mastery-goal strong,.mastery-goal small{display:block}.mastery-goal small{color:#647970}.mastery-goal i{display:block;height:7px;margin-top:8px;border-radius:99px;background:#e4eae6;overflow:hidden}.mastery-goal i b{display:block;height:100%;background:#4e9579;border-radius:inherit}.mastery-goal em{font-style:normal;font-weight:900}.mastery-goal.is-complete>span{background:#dff2c8;color:#2f671d}
.mastery-level-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mastery-level-card{padding:15px;border:1px solid #dfe7e2;border-radius:20px;background:#fbfdfb}.mastery-level-card.is-mastered{border-color:#d5ab2c;background:linear-gradient(145deg,#fffdf2,#f6edc7)}.mastery-level-card header,.mastery-level-card footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.mastery-level-card header span{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:#6d8079}.mastery-level-card h3{margin:.15rem 0}.mastery-level-card header>strong{font-size:1.15rem}.mastery-level-card footer{margin-top:12px}.mastery-level-card footer small{color:#647970}.mastery-level-card footer a{font-weight:900;color:#21654e;text-decoration:none}.mastery-medals{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:12px}.mastery-medals span{display:grid;place-items:center;min-height:50px;border-radius:12px;background:#e7ece9;color:#899892;font-size:1.1rem}.mastery-medals small{display:block;font-size:.62rem}.mastery-medals span.is-earned{background:#fff0ad;color:#755400}
.mastery-run-list{display:grid;gap:8px}.mastery-run-list a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;border-radius:14px;background:#f4f8f5;color:#21483c;text-decoration:none}.mastery-run-list span,.mastery-run-list small{display:block;color:#657a72}.mastery-run-list b{display:block;color:#b38100;text-align:right}
@media(max-width:980px){.mastery-stat-grid{grid-template-columns:repeat(2,1fr)}.mastery-layout{grid-template-columns:1fr}.mastery-chapters{position:static;max-height:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.mastery-chapters h2{grid-column:1/-1}.mastery-level-grid{grid-template-columns:1fr}}
@media(max-width:680px){.mastery-shell{width:min(100% - 16px,1480px);padding-top:8px}.mastery-header,.mastery-explainer,.mastery-chapter-hero,.mastery-section-heading{align-items:flex-start;flex-direction:column}.mastery-header__actions,.mastery-medal-key{justify-content:flex-start}.mastery-stat-grid,.mastery-chapters{grid-template-columns:1fr}.mastery-run-list a{align-items:flex-start;flex-direction:column}.mastery-run-list b{text-align:left}}
.journey-mastery-chip{display:inline-flex;align-items:center;gap:.35rem;margin-top:.55rem;padding:.48rem .62rem;border-radius:999px;background:#edf2ee;color:#49665c;text-decoration:none;font-weight:800;font-size:.78rem}.journey-mastery-chip.is-mastered{background:#fff0b0;color:#765400}
.journey-stats{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1000px){.journey-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.journey-stats{grid-template-columns:1fr}}

/* Package 15 — Daily Echo, missions, streaks, calendar, and sharing */
.header-button.is-current{color:#7d570c;background:#fff0b8;border-color:#f0d37a}.daily-hero{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;padding:20px 23px;border:1px solid rgba(255,255,255,.92);border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(255,247,214,.92));box-shadow:0 12px 34px rgba(23,63,54,.09)}.daily-hero h2{margin:4px 0 6px;font-size:clamp(1.45rem,4vw,2.1rem)}.daily-hero p{margin:0;color:var(--muted)}.daily-streak-card{min-width:215px;display:grid;gap:4px;padding:15px 18px;border:1px solid #efd690;border-radius:18px;background:#fffaf0;text-align:right}.daily-streak-card span,.daily-streak-card small{color:#7a642c}.daily-streak-card strong{color:#8c5d08;font-size:1.55rem}.daily-game-card{grid-column:1}.daily-sidebar{grid-column:2}.daily-missions{margin:20px 24px 0;padding:18px;border:1px solid #d9e7df;border-radius:20px;background:#f9fcfa}.daily-section-heading{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:13px}.daily-section-heading h3{margin:3px 0 0}.daily-section-heading>strong{color:var(--primary)}.daily-mission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.daily-mission{padding:13px;border:1px solid #d8e6df;border-radius:15px;background:#fff;transition:transform .16s ease,border-color .16s ease}.daily-mission>div:first-child{display:flex;align-items:center;gap:8px}.daily-mission>div:first-child span{width:28px;height:28px;display:grid;place-items:center;border-radius:10px;color:#7c5b0f;background:#fff1bd;font-weight:900}.daily-mission p{min-height:38px;margin:8px 0;color:var(--muted);font-size:.77rem;line-height:1.4}.daily-mission-progress{display:grid;gap:5px}.daily-mission-progress i{height:6px;overflow:hidden;border-radius:999px;background:#e7efeb}.daily-mission-progress i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#6bc4a5)}.daily-mission-progress small{display:flex;justify-content:space-between;color:#7a6a38;font-size:.67rem}.daily-mission-progress em{color:var(--primary-dark);font-style:normal;font-weight:900}.daily-mission.is-complete{border-color:#9dd2bc;background:#effaf5}.daily-mission.is-complete>div:first-child span{color:#fff;background:var(--primary)}.daily-calendar-card{display:grid;gap:10px;margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fbfdfc}.daily-calendar-card>div:first-child{display:flex;justify-content:space-between;gap:10px}.daily-calendar-card>div:first-child span{font-weight:900}.daily-calendar-card>div:first-child strong{color:var(--primary);font-size:.74rem}.daily-calendar-weekdays,.daily-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.daily-calendar-weekdays span{color:var(--muted);font-size:.62rem;font-weight:850;text-align:center}.daily-calendar-day{min-height:34px;display:grid;place-items:center;align-content:center;border:1px solid #e0e9e4;border-radius:9px;background:#fff}.daily-calendar-day b{font-size:.72rem}.daily-calendar-day small{height:10px;color:#b7c4be;font-size:.58rem}.daily-calendar-day.is-complete{border-color:#96ceb5;color:#145a46;background:#e8f7f0}.daily-calendar-day.is-complete small{color:#188261}.daily-calendar-day.is-today{box-shadow:0 0 0 2px #e2b84a}.daily-calendar-day.is-future{opacity:.45}.daily-calendar-day.is-empty{visibility:hidden}.daily-campaign-button{margin-top:15px;text-align:center}.share-result-card{width:min(94vw,620px);display:grid;gap:18px;margin:6vh auto;padding:32px;border:1px solid rgba(255,255,255,.95);border-radius:28px;background:#fff;box-shadow:0 24px 70px rgba(23,63,54,.16);text-align:center}.share-result-card .account-brand{justify-self:center;text-align:left}.share-result-card h1{margin:0;font-size:clamp(2rem,7vw,3rem)}.shared-stars{color:var(--gold);font-size:2.2rem;letter-spacing:.12em}.share-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.share-stat-grid article{display:grid;gap:5px;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface-soft)}.share-stat-grid span{color:var(--muted);font-size:.68rem;font-weight:850;text-transform:uppercase}.share-stat-grid strong{color:var(--primary-dark);font-size:1.25rem}.share-result-card>.primary-button,.share-result-card>.icon-button{justify-self:center;text-decoration:none}.daily-page .completion-modal .modal-card{background:linear-gradient(180deg,#fffdf4,#fff)}
@media(max-width:900px){.daily-game-card,.daily-sidebar{grid-column:1/-1}.daily-mission-grid{grid-template-columns:1fr}.daily-hero{align-items:stretch;flex-direction:column}.daily-streak-card{text-align:left}.share-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.daily-hero{padding:16px;border-radius:19px}.daily-missions{margin-inline:14px;padding:14px}.daily-section-heading{align-items:flex-start;flex-direction:column}.share-result-card{padding:23px 17px}.share-stat-grid{grid-template-columns:1fr 1fr}}

/* Package 16: Word Archive, achievements, weekly goals, and leaderboards */
.retention-page{min-height:100vh;background:linear-gradient(160deg,#edf6f1,#f8f4e8);color:#173f36}.retention-shell{width:min(1180px,calc(100% - 28px));margin:0 auto;padding:28px 0 56px}.retention-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:24px}.retention-header h1{font-size:clamp(2rem,5vw,3.6rem);margin:.2rem 0}.retention-header p{max-width:650px;margin:0;color:#527068}.retention-header nav{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}.retention-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.retention-stat-grid article{background:#fff;border:1px solid #d7e7df;border-radius:20px;padding:19px;box-shadow:0 12px 30px rgba(23,63,54,.07)}.retention-stat-grid span,.retention-stat-grid small{display:block;color:#668078}.retention-stat-grid strong{display:block;font-size:1.8rem;margin:6px 0}.retention-toolbar{background:#fff;border:1px solid #d7e7df;border-radius:18px;padding:15px;margin-bottom:18px}.retention-toolbar form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.retention-toolbar label{display:grid;gap:6px;flex:1;min-width:190px;font-weight:700}.retention-toolbar input,.retention-toolbar select{border:1px solid #bdd3c8;border-radius:11px;padding:11px 12px;background:#fbfdfc;color:#173f36}.word-archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.word-archive-card{background:#fff;border:1px solid #d7e7df;border-radius:18px;padding:17px;box-shadow:0 10px 24px rgba(23,63,54,.055)}.word-archive-card header,.word-archive-card footer{display:flex;justify-content:space-between;gap:12px;align-items:center}.word-archive-card header strong{font-size:1.45rem;letter-spacing:.08em}.word-archive-card header span,.word-archive-card footer small{color:#6b817a}.word-archive-card footer{align-items:flex-end;margin-top:14px}.word-archive-card footer small:last-child{text-align:right}.word-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.word-tags span{font-size:.8rem;font-weight:800;background:#eef7f2;border-radius:999px;padding:6px 9px;color:#285c4e}.retention-filter-row,.leaderboard-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.retention-filter-row button,.leaderboard-tabs a{border:1px solid #bdd3c8;background:#fff;border-radius:999px;padding:9px 14px;color:#315f53;font-weight:800;text-decoration:none}.retention-filter-row button.is-active,.leaderboard-tabs a.is-active{background:#173f36;color:#fff;border-color:#173f36}.achievement-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.achievement-card{display:grid;grid-template-columns:64px 1fr;gap:15px;background:#fff;border:1px solid #d7e7df;border-radius:20px;padding:18px;opacity:.72}.achievement-card.is-earned{opacity:1;box-shadow:0 13px 30px rgba(23,63,54,.08)}.achievement-symbol{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#e8f2ed;font-size:1.55rem;font-weight:900}.achievement-card.tier-silver .achievement-symbol{background:#edf1f2}.achievement-card.tier-gold .achievement-symbol{background:#fff1c8}.achievement-card.tier-platinum .achievement-symbol{background:linear-gradient(135deg,#dcefff,#efe5ff)}.achievement-card span,.achievement-card small{color:#6a8179}.achievement-card h2{margin:3px 0 7px}.achievement-card p{margin:0 0 12px;color:#506b63}.retention-progress{height:9px;background:#e8f0ec;border-radius:999px;overflow:hidden}.retention-progress i{display:block;height:100%;background:linear-gradient(90deg,#2b8068,#efbb51);border-radius:inherit}.weekly-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;background:linear-gradient(135deg,#173f36,#2f735f);color:#fff;border-radius:24px;padding:24px;margin:20px 0}.weekly-hero h2{font-size:2rem;margin:6px 0}.weekly-hero p{margin:0;color:#d6e8e1}.weekly-hero>strong{font-size:2.2rem;text-align:center;white-space:nowrap}.weekly-hero>strong small{font-size:.78rem;display:block;color:#d6e8e1}.weekly-goal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.weekly-goal-card{background:#fff;border:1px solid #d7e7df;border-radius:20px;padding:19px}.weekly-goal-card.is-complete{border-color:#70ab8f;background:#f5fbf7}.weekly-goal-card header{display:flex;align-items:center;gap:12px}.weekly-goal-card header>span{font-size:1.6rem}.weekly-goal-card header div{flex:1}.weekly-goal-card header small{color:#6b817a}.weekly-goal-card h2{margin:2px 0}.weekly-goal-card header b{color:#9b6b10}.weekly-goal-card p{color:#536d65}.weekly-goal-card footer{display:flex;justify-content:space-between;margin-top:9px;color:#496a60}.retention-note,.leaderboard-privacy{margin-top:18px;background:#fff8dc;border:1px solid #ead896;border-radius:16px;padding:15px}.retention-note p{margin:5px 0 0}.leaderboard-privacy{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.leaderboard-privacy span{flex:1}.leaderboard-privacy em{font-style:normal;font-weight:800;color:#316353}.leaderboard-table-wrap{overflow:auto;background:#fff;border:1px solid #d7e7df;border-radius:20px}.leaderboard-table{width:100%;border-collapse:collapse}.leaderboard-table th,.leaderboard-table td{text-align:left;padding:14px 16px;border-bottom:1px solid #e4eee9}.leaderboard-table th{background:#eef6f2;color:#536e65}.leaderboard-table tr:last-child td{border-bottom:0}.leaderboard-table tr.is-current-player{background:#fff6d7}.leaderboard-table td small{background:#173f36;color:#fff;border-radius:999px;padding:3px 7px;margin-left:6px}.empty-state{grid-column:1/-1;background:#fff;border:1px dashed #bcd0c7;border-radius:16px;padding:24px;text-align:center;color:#617870}
@media(max-width:850px){.retention-header{display:block}.retention-header nav{justify-content:flex-start;margin-top:18px}.retention-stat-grid{grid-template-columns:repeat(2,1fr)}.word-archive-grid{grid-template-columns:repeat(2,1fr)}.achievement-grid,.weekly-goal-grid{grid-template-columns:1fr}}
@media(max-width:540px){.retention-shell{width:min(100% - 18px,1180px);padding-top:18px}.retention-stat-grid,.word-archive-grid{grid-template-columns:1fr}.weekly-hero{align-items:flex-start;display:block}.weekly-hero>strong{display:block;text-align:left;margin-top:18px}.achievement-card{grid-template-columns:50px 1fr}.achievement-symbol{width:46px;height:46px}.leaderboard-table th,.leaderboard-table td{padding:11px 10px;font-size:.88rem}}

/* Package 17 — daily rewards, inbox, and re-engagement */
.reward-hero-card{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px;border:1px solid #c8dfd4;border-radius:24px;background:linear-gradient(135deg,#edf9f3,#fff8dc);box-shadow:0 14px 38px rgba(23,63,54,.1)}.reward-hero-card h2{margin:5px 0 8px;font-size:clamp(1.5rem,4vw,2.3rem)}.reward-hero-card p{max-width:650px;margin:0 0 12px;color:var(--muted);line-height:1.55}.reward-hero-card>div>strong{color:#8a620f;font-size:1.15rem}.reward-path{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:11px;margin:18px 0}.reward-day-card{display:grid;gap:6px;min-height:150px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff;text-align:center}.reward-day-card>span{color:var(--muted);font-size:.72rem;font-weight:850;text-transform:uppercase}.reward-day-card>strong{font-size:2rem}.reward-day-card h2{margin:0;font-size:.9rem}.reward-day-card p{margin:0;color:#87600f;font-weight:850}.reward-day-card.is-current{border-color:#e0b94d;background:#fff9e5;box-shadow:0 0 0 3px rgba(224,185,77,.16)}.reward-day-card.is-claimed{opacity:.72}.engagement-feedback{min-height:28px;margin:12px 0;padding:0;font-weight:800}.engagement-feedback.is-success,.engagement-feedback.is-error{padding:11px 14px;border-radius:12px}.engagement-feedback.is-success{color:#145a46;background:#dff3ea}.engagement-feedback.is-error{color:#8c2630;background:#ffe5e8}.inbox-list{display:grid;gap:12px}.inbox-card{display:grid;grid-template-columns:auto 1fr;gap:15px;padding:19px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 9px 24px rgba(23,63,54,.06)}.inbox-card.is-unread{border-color:#8fc6b1;background:linear-gradient(135deg,#f1fbf6,#fff)}.inbox-card__symbol{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#e8f5ef;font-size:1.45rem}.inbox-card__copy>span{color:var(--muted);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.inbox-card__copy h2{margin:5px 0 7px;font-size:1.15rem}.inbox-card__copy p{margin:0;color:#50635d;line-height:1.55}.inbox-card__actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:13px}.text-button{padding:8px 0;border:0;color:var(--primary);background:transparent;font-weight:850}.reward-claimed-badge{padding:8px 11px;border-radius:999px;color:#145a46;background:#dff3ea;font-size:.78rem;font-weight:850}.retention-filter-row a{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:var(--ink);background:#fff;text-decoration:none;font-weight:800}.retention-filter-row a.is-active{color:#fff;border-color:var(--primary);background:var(--primary)}
@media(max-width:950px){.reward-path{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:680px){.reward-hero-card{align-items:stretch;flex-direction:column}.reward-path{grid-template-columns:repeat(2,minmax(0,1fr))}.inbox-card{grid-template-columns:1fr}.inbox-card__actions{align-items:stretch;flex-direction:column}.inbox-card__actions>*{width:100%;justify-content:center}}

/* Package 18 — Spark Store, cosmetics, and campaign hints */
.store-wallet{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.store-wallet article{padding:19px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(23,63,54,.07)}.store-wallet span,.store-wallet small{display:block;color:var(--muted)}.store-wallet strong{display:block;margin:6px 0;font-size:1.65rem}.archive-filters{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.archive-filters a{padding:9px 14px;border:1px solid var(--line);border-radius:999px;color:var(--ink);background:#fff;text-decoration:none;font-weight:800}.archive-filters a.is-active{color:#fff;border-color:var(--primary);background:var(--primary)}.store-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.store-card{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 12px 30px rgba(23,63,54,.065)}.store-card.is-equipped{border-color:#e1b64b;box-shadow:0 0 0 3px rgba(225,182,75,.15),0 12px 30px rgba(23,63,54,.08)}.store-preview{height:120px;display:grid;place-items:center;background:linear-gradient(135deg,#dff2e8,#f8f2d9)}.store-preview span{font-size:3rem;filter:drop-shadow(0 8px 14px rgba(23,63,54,.15))}.store-card.theme-sunset .store-preview{background:linear-gradient(135deg,#ffb76f,#d56b82)}.store-card.theme-midnight .store-preview{background:linear-gradient(135deg,#172a46,#354c73)}.store-card.theme-aurora .store-preview{background:linear-gradient(135deg,#213f5c,#45c69e,#ae79dc)}.store-card.wheel-wood .store-preview{background:linear-gradient(135deg,#b77942,#e2b879)}.store-card.wheel-glass .store-preview{background:linear-gradient(135deg,#d9eff2,#fff)}.store-card.wheel-neon .store-preview{background:#10182b;color:#71ffe3}.store-card__copy{padding:17px}.store-card__copy small{color:var(--muted);font-weight:800;text-transform:uppercase}.store-card__copy h2{margin:5px 0 8px;font-size:1.2rem}.store-card__copy p{margin:0;color:#556b64;line-height:1.5}.store-card__actions{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 17px 17px}.store-card__actions>strong{color:#8d6310}.store-ledger{margin-top:25px;padding:22px;border:1px solid var(--line);border-radius:22px;background:#fff}.store-ledger-list{display:grid;gap:8px;margin-top:14px}.store-ledger-list article{display:flex;align-items:center;gap:13px;padding:11px 0;border-top:1px solid #e8efeb}.store-ledger-list article>span{min-width:78px;font-weight:900}.store-ledger-list .is-credit{color:#187153}.store-ledger-list .is-debit{color:#a44a45}.store-ledger-list strong,.store-ledger-list small{display:block}.store-ledger-list small{color:var(--muted);margin-top:2px}.hint-panel{margin-top:16px;padding:16px;border:1px solid #d9e7df;border-radius:18px;background:linear-gradient(135deg,#f4fbf7,#fff9e7)}.hint-panel>div:first-child{display:flex;justify-content:space-between;gap:12px}.hint-panel>div:first-child span{font-weight:900}.hint-panel p{margin:8px 0;color:#5d6f69;font-size:.9rem}.hint-actions{display:flex;gap:8px;flex-wrap:wrap}.hint-result{min-height:26px;margin:9px 0;color:#665017;font-weight:800}.hint-panel>a{font-weight:850;color:var(--primary)}.assisted-run .level-mastery-medals [data-medal="clean_medal"]{opacity:.35}.assisted-run .level-mastery-medals [data-medal="clean_medal"]::after{content:" assisted";font-size:.55rem}.player-account-link{border-radius:999px}.player-account-link::before{content:""}
body[data-player-theme="theme-sunset"]{--primary:#994f57;--primary-dark:#743a43;--echo:#dd8c72;background:radial-gradient(circle at top,#fff4e8,#f0c9bd 48%,#c6858f)}body[data-player-theme="theme-midnight"]{--ink:#eef5ff;--muted:#aabbd0;--surface:#18283d;--surface-soft:#20344d;--line:#354b65;--primary:#79c9c6;--primary-dark:#58aaa7;--echo:#7ed8d0;background:radial-gradient(circle at top,#243b5b,#111c2b 65%,#0d1622)}body[data-player-theme="theme-midnight"] .game-card,body[data-player-theme="theme-midnight"] .rules-card,body[data-player-theme="theme-midnight"] .topbar .score-card{color:var(--ink);background:var(--surface);border-color:var(--line)}body[data-player-theme="theme-midnight"] .rules-card p,body[data-player-theme="theme-midnight"] .target-panel h3{color:#b8c7d8}body[data-player-theme="theme-aurora"]{--primary:#297f7c;--primary-dark:#1e6260;--echo:#63d7b3;background:linear-gradient(145deg,#152e48,#376474 45%,#6f55a3 100%)}body[data-player-theme="theme-aurora"] .app-shell{filter:drop-shadow(0 12px 30px rgba(0,0,0,.12))}
body[data-wheel-style="wheel-wood"] .letter-tile{border-radius:13px;background:linear-gradient(135deg,#e9c58f,#c58a52);box-shadow:inset 0 0 0 2px rgba(100,56,23,.18),0 8px 22px rgba(72,42,20,.2)}body[data-wheel-style="wheel-glass"] .letter-tile{background:rgba(255,255,255,.58);border:2px solid rgba(255,255,255,.82);backdrop-filter:blur(8px)}body[data-wheel-style="wheel-neon"] .letter-wheel{background:#121a2e;border-color:#52698e}body[data-wheel-style="wheel-neon"] .letter-tile{color:#dffef8;background:#17233a;border:2px solid #61efd8;box-shadow:0 0 15px rgba(97,239,216,.48)}body[data-trail-style="trail-leaves"] .trace-layer span{background:#d0843b}body[data-trail-style="trail-starlight"] .trace-layer span{background:linear-gradient(90deg,#fff3a2,#9ee9ff);box-shadow:0 0 8px #fff}body[data-trail-style="trail-lightning"] .trace-layer span{height:5px;background:#58dfff;box-shadow:0 0 10px #58dfff}.player-account-link[data-frame-style="frame-crown"],body[data-frame-style="frame-crown"] .player-account-link{box-shadow:0 0 0 3px #e8bd4b}.player-account-link[data-frame-style="frame-aurora"],body[data-frame-style="frame-aurora"] .player-account-link{box-shadow:0 0 0 3px #73d7c6,0 0 14px rgba(156,102,218,.5)}
@media(max-width:900px){.store-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.store-wallet{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){.store-grid,.store-wallet{grid-template-columns:1fr}.store-card__actions{align-items:stretch;flex-direction:column}.store-card__actions>*{width:100%;justify-content:center}.hint-actions{display:grid;grid-template-columns:1fr}}

/* Package 19 — Premium products, receipts, and paid entitlements */
.premium-status{display:flex;align-items:center;gap:18px;margin:20px 0;padding:22px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 12px 30px rgba(23,63,54,.07)}.premium-status>span{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:#edf4f0;color:#71827c;font-size:2rem}.premium-status.is-premium{border-color:#d5b04d;background:linear-gradient(135deg,#fffdf4,#fff4c9)}.premium-status.is-premium>span{color:#72520c;background:#ffe39b}.premium-status small{color:var(--muted);font-weight:850;text-transform:uppercase}.premium-status h2{margin:4px 0 6px}.premium-status p{margin:0;color:#566963}.premium-notice{margin:18px 0;padding:22px;border:1px solid #d9e6e0;border-radius:22px;background:linear-gradient(135deg,#f4faf7,#fff)}.premium-notice h2{margin:0 0 8px}.premium-notice p{color:var(--muted)}.premium-notice>div{display:flex;gap:10px;flex-wrap:wrap}.premium-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin:20px 0}.premium-card{position:relative;display:flex;flex-direction:column;padding:23px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 14px 34px rgba(23,63,54,.08)}.premium-card.is-featured{border-color:#d8b14c;box-shadow:0 0 0 3px rgba(216,177,76,.14),0 16px 38px rgba(23,63,54,.1)}.premium-card.is-featured:before{content:"Best value";position:absolute;right:15px;top:15px;padding:5px 9px;border-radius:999px;color:#72520c;background:#ffe59b;font-size:.68rem;font-weight:900;text-transform:uppercase}.premium-card__symbol{width:58px;height:58px;display:grid;place-items:center;margin-bottom:14px;border-radius:17px;color:#75540c;background:linear-gradient(145deg,#fff0af,#e6ba4c);font-size:2rem}.premium-card>small{color:var(--muted);font-weight:850;text-transform:uppercase}.premium-card h2{margin:5px 0 9px}.premium-card>p{margin:0;color:#586a64;line-height:1.55}.premium-card ul{display:grid;gap:8px;margin:18px 0;padding-left:20px;color:#40554e}.premium-card__footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:15px;border-top:1px solid #e5ece8}.premium-card__footer>strong{font-size:1.3rem}.premium-provider-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.premium-policy{margin:26px 0;padding:23px;border:1px solid var(--line);border-radius:24px;background:#fff}.premium-policy>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.premium-policy article{padding:17px;border-radius:17px;background:#f4f8f6}.premium-policy p{margin:7px 0 0;color:var(--muted);line-height:1.5}.payment-result{width:min(720px,100%);margin:8vh auto;padding:35px;border:1px solid var(--line);border-radius:28px;background:#fff;text-align:center;box-shadow:0 20px 55px rgba(23,63,54,.12)}.payment-result>span{width:70px;height:70px;display:grid;place-items:center;margin:0 auto;border-radius:50%;font-size:2.4rem;font-weight:900}.payment-result.is-success>span{color:#176b56;background:#dff3ea}.payment-result.is-pending>span{color:#8b6311;background:#fff0c9}.payment-result.is-error>span{color:#9a3039;background:#ffe3e6}.payment-result dl,.receipt-card dl{display:grid;gap:1px;margin:22px 0;border-radius:16px;overflow:hidden;background:#e4ece8}.payment-result dl div,.receipt-card dl div{display:flex;justify-content:space-between;gap:18px;padding:13px 15px;background:#fff}.payment-result dt,.receipt-card dt{color:var(--muted);font-weight:800}.payment-result dd,.receipt-card dd{margin:0;font-weight:850;text-align:right}.payment-result__actions,.receipt-card footer{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.receipt-card{width:min(760px,100%);margin:5vh auto;padding:30px;border:1px solid var(--line);border-radius:25px;background:#fff;box-shadow:0 18px 48px rgba(23,63,54,.1)}.receipt-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.receipt-card header>strong{padding:8px 12px;border-radius:999px;color:#145a46;background:#dff3ea}.receipt-card>p{color:var(--muted);line-height:1.55}.theme-sanctuary-gold .store-preview{background:linear-gradient(135deg,#fff7d2,#d6a62d)}.wheel-crystal-premium .store-preview{background:linear-gradient(135deg,#dffaff,#cfccff)}.trail-prism-premium .store-preview{background:linear-gradient(135deg,#ffa8d8,#8de9ff,#dbbdff)}.frame-premium-gold .store-preview,.frame-supporter .store-preview{background:linear-gradient(135deg,#fff2a9,#ecc463)}body[data-player-theme="theme-sanctuary-gold"]{--primary:#8a6814;--primary-dark:#5f470b;--echo:#d9b747;background:radial-gradient(circle at top,#fffdf2,#f2df9d 55%,#c89f2c)}body[data-wheel-style="wheel-crystal-premium"] .letter-tile{color:#213b43;background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(203,239,248,.78));border:2px solid rgba(255,255,255,.95);box-shadow:inset 0 0 0 2px rgba(92,170,193,.2),0 8px 25px rgba(67,129,151,.22)}body[data-trail-style="trail-prism-premium"] .trace-layer span{height:5px;background:linear-gradient(90deg,#ff75bd,#7eeaff,#af82ff);box-shadow:0 0 10px rgba(128,206,255,.75)}body[data-frame-style="frame-premium-gold"] .player-account-link{box-shadow:0 0 0 3px #e5bd3f,0 0 14px rgba(229,189,63,.35)}body[data-frame-style="frame-supporter"] .player-account-link{box-shadow:0 0 0 3px #d97b8e,0 0 14px rgba(217,123,142,.35)}
@media(max-width:900px){.premium-grid,.premium-policy>div{grid-template-columns:1fr}.premium-card__footer{align-items:stretch;flex-direction:column}.premium-provider-buttons{justify-content:flex-start}}@media(max-width:560px){.premium-status{align-items:flex-start}.payment-result,.receipt-card{padding:22px}.payment-result dl div,.receipt-card dl div{display:grid;text-align:left}.payment-result dd,.receipt-card dd{text-align:left}.payment-result__actions,.receipt-card footer{display:grid}.payment-result__actions>*,.receipt-card footer>*{width:100%}}

.account-dashboard .admin-table-wrap{width:100%;overflow:auto}.account-dashboard .leaderboard-table{min-width:720px}

/* Package 20 — announcements and private player support */
.public-announcement{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;padding:13px 17px;border:1px solid #ebd27d;border-radius:16px;color:#624c13;background:linear-gradient(135deg,#fff9df,#fff2b9);box-shadow:0 8px 24px rgba(104,82,20,.08)}.public-announcement>div{display:grid;gap:3px}.public-announcement strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.public-announcement span{line-height:1.45}.public-announcement a{flex:0 0 auto;color:#654805;font-weight:900}.account-shell>.public-announcement{margin:14px 18px 0}.support-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.65fr);gap:18px}.support-create,.support-thread,.support-sidebar,.support-ticket-list{padding:24px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 13px 36px rgba(23,63,54,.08)}.support-create h2,.support-ticket-list h2{margin:4px 0 18px}.support-ticket-list{align-content:start;display:grid;gap:10px}.support-ticket-list>a{display:grid;gap:4px;padding:13px;border:1px solid var(--line);border-radius:14px;color:var(--primary-dark);text-decoration:none;background:var(--surface-soft)}.support-ticket-list>a:hover{border-color:#92c8b0;transform:translateY(-1px)}.support-ticket-list span,.support-ticket-list small{color:var(--muted)}.support-thread>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--line)}.support-thread h2{margin:4px 0 0}.support-status{display:inline-flex;padding:7px 10px;border-radius:999px;color:#41534d;background:#eaf0ed;font-size:.72rem;font-weight:900;text-transform:capitalize}.support-status--open,.support-status--in_progress{color:#145a46;background:#dff3ea}.support-status--waiting_player{color:#79570e;background:#fff0c9}.support-status--resolved,.support-status--closed{color:#5f6864;background:#e9edeb}.support-messages{display:grid;gap:12px;margin:20px 0}.support-message{max-width:86%;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#f8fbf9}.support-message--player{margin-left:auto;border-color:#aad6c3;background:#edf9f4}.support-message>header{display:flex;justify-content:space-between;gap:12px}.support-message small{color:var(--muted)}.support-message p{margin:9px 0 0;line-height:1.65}.support-reply-form{display:grid;gap:12px;padding-top:18px;border-top:1px solid var(--line)}.support-reply-form label{display:grid;gap:7px;font-weight:850}.support-reply-form textarea,.support-create textarea,.support-create input,.support-create select{width:100%;padding:11px;border:1px solid #c9d8d1;border-radius:11px;background:#fff;font:inherit}.support-sidebar{align-self:start}.support-sidebar dl{display:grid;margin:20px 0 0}.support-sidebar dl div{display:grid;gap:3px;padding:11px 0;border-bottom:1px solid var(--line)}.support-sidebar dt{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.support-sidebar dd{margin:0;font-weight:850}.support-closed-note{padding:14px;border-radius:13px;background:#f0f3f1;color:var(--muted)}
@media(max-width:850px){.support-layout{grid-template-columns:1fr}.support-ticket-list{order:-1}.public-announcement{align-items:flex-start;flex-direction:column}.support-message{max-width:100%}}


/* Package 21 — public information, privacy, and PWA readiness */
.public-info-page{background:linear-gradient(180deg,#edf7f2,#f9fbfa);color:#173f36;min-height:100vh}.public-info-header,.public-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px clamp(18px,4vw,56px);background:#fff;border-bottom:1px solid #dce9e2}.public-info-header nav,.public-footer nav,.account-footer-links{display:flex;gap:16px;flex-wrap:wrap}.public-info-header a,.public-footer a,.account-footer-links a{color:#285f52;text-decoration:none;font-weight:700}.public-info-shell{max-width:1180px;margin:36px auto;padding:0 20px;display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px}.public-info-shell--single{display:block;max-width:980px}.legal-nav{display:flex;flex-direction:column;gap:8px;position:sticky;top:20px;align-self:start}.legal-nav a{padding:12px 14px;border-radius:12px;text-decoration:none;color:#315f55}.legal-nav a.is-active{background:#173f36;color:#fff}.legal-document,.install-hero,.install-grid article{background:#fff;border:1px solid #dce9e2;border-radius:24px;box-shadow:0 14px 40px rgba(23,63,54,.08)}.legal-document{padding:clamp(24px,5vw,56px)}.legal-document h1{font-size:clamp(2rem,5vw,3.5rem);margin:.35rem 0 1rem}.legal-summary{font-size:1.15rem;line-height:1.7;color:#4d746a}.legal-body{line-height:1.75}.legal-body h2{margin-top:2rem}.legal-updated{margin-top:32px;color:#6f8d85;font-size:.9rem}.public-footer{border-top:1px solid #dce9e2;border-bottom:0;margin-top:50px}.public-footer>div{display:flex;flex-direction:column}.compact-footer{justify-content:center;background:transparent;border:0;margin:28px auto;padding:12px}.how-grid,.install-grid,.data-rights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.how-grid section,.data-rights-grid article{border:1px solid #dce9e2;border-radius:18px;padding:20px;background:#f8fcfa}.how-grid b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#173f36;color:#fff}.example-play{margin:28px 0;padding:20px;border-radius:18px;background:#e9f5ef}.faq-list details{border-bottom:1px solid #dce9e2;padding:16px 0}.faq-list summary{cursor:pointer;font-weight:800;font-size:1.05rem}.faq-list p{line-height:1.65;color:#4d746a}.install-app-shell{max-width:1100px;margin:36px auto;padding:0 20px}.install-hero{padding:clamp(24px,5vw,52px);display:flex;align-items:center;gap:34px}.install-hero img{width:150px;height:150px;border-radius:32px;box-shadow:0 15px 30px rgba(23,63,54,.18)}.install-grid{margin-top:22px}.install-grid article{padding:24px}.data-rights-grid article h2{margin-top:0}.danger-zone{border-color:#e4b6b6!important;background:#fff8f8!important}.danger-button{border:0;background:#9a2d2d;color:#fff;border-radius:12px;padding:12px 18px;font-weight:800;cursor:pointer}.consent-history{display:flex;flex-direction:column;gap:5px;margin-top:14px}.account-footer-links{justify-content:center;padding:18px;border-top:1px solid #dce9e2}.account-honeypot{position:absolute!important;left:-10000px!important}.primary-button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:760px){.public-info-header,.public-footer,.install-hero{align-items:flex-start;flex-direction:column}.public-info-shell{grid-template-columns:1fr}.legal-nav{position:static;flex-direction:row;overflow:auto}.how-grid,.install-grid,.data-rights-grid{grid-template-columns:1fr}.install-hero img{width:100px;height:100px}}
