@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,900;1,400&family=Dancing+Script:wght@500;600&family=Lora:ital,wght@0,400;0,600;1,400&family=Inter:wght@400;500;600;700&display=swap";:root{--color-bg-parchment: #F4EDE0;--color-bg-parchment-dark: #E8DCC8;--color-text-primary: #241F1A;--color-accent-olive: #5C6B3F;--color-accent-ochre: #B8792E;--color-highlight-gold: #C98A2C;--color-state-locked: #9C9488;--color-state-error: #A33B2E;--color-state-success: #3F7A4A;--spacing-8: 8px;--spacing-16: 16px;--spacing-24: 24px;--spacing-32: 32px;--spacing-48: 48px;--spacing-64: 64px;--font-display: "Playfair Display", Georgia, serif;--font-accent: "Dancing Script", cursive;--font-label: "Inter", -apple-system, sans-serif;--font-body: "Lora", Georgia, serif;--radius-sm: 8px;--radius-md: 12px;--radius-full: 999px;--shadow-card: 0 2px 12px rgba(36, 31, 26, .08)}html,body{margin:0;padding:0;background:var(--color-bg-parchment);color:var(--color-text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased}.screen{max-width:480px;margin:0 auto;min-height:100vh;background:var(--color-bg-parchment);display:flex;flex-direction:column}@media(min-width:1024px){.screen{max-width:1040px}.screen.screen--centered-desktop{max-width:640px}}.eyebrow{font-family:var(--font-label);font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent-olive);text-align:center}.wordmark{font-family:var(--font-display);font-weight:900;font-size:40px;text-align:center;margin:0}.world-title{font-family:var(--font-display);font-weight:700;font-size:24px;margin:0}.boss-header{font-family:var(--font-display);font-weight:600;font-size:26px;margin:0;text-align:center}.tagline{font-family:var(--font-accent);font-weight:600;font-size:22px;color:var(--color-highlight-gold);text-align:center;margin:0}.body-text{font-family:var(--font-body);font-size:16px;line-height:1.5;margin:0}.body-small{font-family:var(--font-body);font-size:13px;line-height:1.5;margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-8);font-family:var(--font-label);font-weight:600;font-size:16px;padding:var(--spacing-16) var(--spacing-24);border-radius:var(--radius-md);border:none;cursor:pointer;text-decoration:none;min-height:48px;transition:transform .1s ease,opacity .15s ease}.btn:active{transform:scale(.98)}.btn--primary{background:var(--color-highlight-gold);color:var(--color-text-primary)}.btn--primary:disabled,.btn--primary.is-disabled{background:var(--color-state-locked);color:var(--color-bg-parchment);cursor:not-allowed}.btn--secondary{background:var(--color-bg-parchment);color:var(--color-accent-olive);border:1.5px solid var(--color-accent-olive)}.btn--full{width:100%}.card{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--spacing-24)}.chip{display:inline-flex;align-items:center;gap:var(--spacing-8);font-family:var(--font-label);font-weight:700;font-size:14px}.node-circle{width:56px;height:56px;min-width:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:16px;color:#fff}.node-circle--complete{background:var(--color-accent-olive)}.node-circle--current{background:var(--color-highlight-gold);color:var(--color-text-primary);box-shadow:0 0 0 4px #c98a2c40}.node-circle--locked{background:var(--color-state-locked)}.badge{font-family:var(--font-label);font-size:12px;font-weight:600}.badge--complete{color:var(--color-accent-olive)}.badge--current{color:var(--color-highlight-gold)}.badge--locked{color:var(--color-state-locked)}.footer{background:var(--color-bg-parchment-dark);padding:var(--spacing-24);text-align:center;margin-top:auto}.mockup-nav{font-family:var(--font-label);background:var(--color-text-primary);color:var(--color-bg-parchment);padding:12px 20px;font-size:13px;display:flex;gap:16px;flex-wrap:wrap;position:sticky;top:0;z-index:10}.mockup-nav a{color:var(--color-bg-parchment);text-decoration:none;opacity:.85}.mockup-nav a:hover{opacity:1;text-decoration:underline}.mockup-nav a.active{color:var(--color-highlight-gold);opacity:1;font-weight:600}.state-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-16);padding:var(--spacing-64) var(--spacing-24);text-align:center;flex:1}.state-panel__icon{font-size:40px}.state-panel__title{font-family:var(--font-display);font-weight:600;font-size:20px;margin:0}.state-panel__body{font-family:var(--font-body);font-size:15px;color:var(--color-text-primary);opacity:.8;margin:0;max-width:320px}.challenge-top{display:flex;align-items:center;gap:var(--spacing-16);padding:var(--spacing-24) var(--spacing-24) var(--spacing-16)}.challenge-exit{font-size:20px;color:var(--color-text-primary);opacity:.6;cursor:pointer}.progress-track{flex:1;height:8px;background:var(--color-bg-parchment-dark);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:var(--color-accent-olive);border-radius:var(--radius-full)}.progress-label{font-family:var(--font-label);font-size:12px;font-weight:600;color:var(--color-accent-olive);white-space:nowrap}.challenge-ref{text-align:center;font-family:var(--font-label);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-ochre);margin:0 0 var(--spacing-8)}.challenge-prompt{font-family:var(--font-body);font-size:18px;line-height:1.6;text-align:center;padding:0 var(--spacing-24);margin:0 0 var(--spacing-32)}.challenge-body{flex:1;padding:0 var(--spacing-24)}.challenge-footer{padding:var(--spacing-24)}.recall-blank{border:none;border-bottom:2px solid var(--color-accent-olive);background:transparent;font-family:var(--font-body);font-style:italic;font-size:18px;text-align:center;width:140px;padding:4px 8px;color:var(--color-accent-olive)}.recall-blank:focus{outline:none;border-bottom-color:var(--color-highlight-gold)}.recall-card{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--spacing-32) var(--spacing-24);font-family:var(--font-body);font-size:18px;line-height:1.7;text-align:center}.option-list{display:flex;flex-direction:column;gap:var(--spacing-16)}.option{display:flex;align-items:center;gap:var(--spacing-16);background:#fff;border:2px solid var(--color-bg-parchment-dark);border-radius:var(--radius-md);padding:var(--spacing-16);font-family:var(--font-body);font-size:16px;cursor:pointer;text-align:left}.option:hover{border-color:var(--color-accent-olive)}.option.is-selected{border-color:var(--color-highlight-gold);background:#fbf3e3}.option.is-correct{border-color:var(--color-state-success);background:#eef6ef}.option.is-incorrect{border-color:var(--color-state-error);background:#fbedeb}.option-letter{width:28px;height:28px;min-width:28px;border-radius:50%;background:var(--color-bg-parchment-dark);display:flex;align-items:center;justify-content:center;font-family:var(--font-label);font-weight:700;font-size:13px}.sequence-list{display:flex;flex-direction:column;gap:var(--spacing-16)}.sequence-item{display:flex;align-items:center;gap:var(--spacing-16);background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--spacing-16)}.sequence-handle{font-size:18px;color:var(--color-state-locked);cursor:grab}.sequence-number{width:28px;height:28px;min-width:28px;border-radius:50%;background:var(--color-accent-olive);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-label);font-weight:700;font-size:13px}.sequence-text{font-family:var(--font-body);font-size:15px;flex:1}.sequence-reorder{display:flex;flex-direction:column;gap:2px}.sequence-reorder button{border:none;background:var(--color-bg-parchment-dark);border-radius:4px;width:22px;height:18px;cursor:pointer;font-size:10px;color:var(--color-text-primary)}@media(min-width:1024px){.challenge-body,.challenge-prompt{padding-left:0;padding-right:0;max-width:640px;margin-left:auto;margin-right:auto}.challenge-prompt{padding:0}.challenge-footer{max-width:640px;margin:0 auto}}.skeleton{background:linear-gradient(90deg,var(--color-bg-parchment-dark) 25%,#f0e8d8 37%,var(--color-bg-parchment-dark) 63%);background-size:400% 100%;animation:skeleton-loading 1.4s ease infinite;border-radius:var(--radius-sm)}@keyframes skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%;background:var(--color-bg-parchment);color:var(--color-text-primary)}body{font-family:var(--font-body)}
