:root{--color-bg:#2e2110;--color-surface:#4a3620;--color-surface-raised:#5c4527;--color-border:#7c5a30;--color-text:#fff6e0;--color-text-muted:#d8c39a;--color-accent:#f2b134;--color-accent-strong:#e0951c;--color-success:#8bc34a;--color-danger:#e2572a;--color-bark:#8b5e3c;--color-bark-dark:#6b4423;--color-bark-light:#a97848;--color-leaf:#4c9a52;--color-leaf-dark:#2f6b34;--color-leaf-light:#7dc383;--radius:14px;--control-height:38px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:radial-gradient(circle at top, #4a3010, var(--color-bg));color:var(--color-text);margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif}button{cursor:pointer;font-family:inherit}.app-shell{z-index:0;max-width:1140px;margin:0 auto;padding:88px 20px 60px;position:relative}.top-bar{z-index:5;background:var(--color-surface);border-bottom:1px solid var(--color-border);position:fixed;top:0;left:0;right:0;box-shadow:0 2px 12px #00000059}.top-bar-content{justify-content:space-between;align-items:center;max-width:1140px;margin:0 auto;padding:14px 20px;display:flex}.top-bar-right{align-items:center;gap:12px;display:flex}.brand{color:var(--color-text-muted);align-items:center;gap:6px;font-size:1rem;font-weight:700;display:flex}.brand-logo{object-fit:cover;object-position:50% 35%;border-radius:50%;width:30px;height:30px;box-shadow:0 0 10px 2px #f2b13473}.btn{height:var(--control-height);box-sizing:border-box;border:none;border-radius:999px;justify-content:center;align-items:center;padding:0 20px;font-size:.95rem;font-weight:600;text-decoration:none;transition:transform .1s,opacity .1s;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-accent);color:#201200}.btn-secondary{background:var(--color-surface-raised);color:var(--color-text);border:1px solid var(--color-border)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-icon{width:var(--control-height);padding:0;font-size:1.05rem;line-height:1}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px}.card-title{margin:0 0 4px;font-size:1.1rem}.muted{color:var(--color-text-muted);text-shadow:0 1px 4px #0009}.error-text{color:var(--color-danger);font-size:.9rem}.spinner-row{color:var(--color-text-muted);justify-content:center;padding:40px 0;display:flex}.lang-switch{background:var(--color-surface-raised);border:1px solid var(--color-border);height:var(--control-height);box-sizing:border-box;border-radius:999px;align-items:center;gap:2px;padding:0 3px;display:inline-flex}.lang-switch-btn{color:var(--color-text-muted);letter-spacing:.02em;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:5px 11px;font-family:inherit;font-size:.78rem;font-weight:700}.lang-switch-btn-active{background:var(--color-accent);color:#201200}.elly-badge{background:var(--color-surface-raised);border:1px solid var(--color-border);height:var(--control-height);box-sizing:border-box;color:var(--color-text);border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-family:inherit;display:inline-flex}.elly-badge:hover{border-color:var(--color-accent)}.elly-badge-icon{font-size:1.1rem}.elly-badge-value{font-weight:700}.animal-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;display:grid}.animal-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);flex-direction:column;align-items:center;gap:6px;padding:16px 10px;display:flex}.animal-card-emoji{font-size:2.2rem}.animal-card-name{text-align:center;font-size:.9rem;font-weight:600}.animal-card-status{color:var(--color-text-muted);text-align:center;font-size:.75rem}.animal-card-locked{opacity:.45;filter:grayscale()}.animal-card-dead{opacity:.6}.animal-card-dead .animal-card-emoji{filter:grayscale()}.animal-card-selected{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent)}.question-card{flex-direction:column;gap:12px;max-width:420px;margin:0 auto;display:flex}.question-progress{font-size:.85rem}.question-prompt{text-align:center;padding:20px 0;font-size:1.6rem;font-weight:700}.question-input{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);text-align:center;border-radius:10px;padding:12px 14px;font-size:1.1rem}.question-input:focus{outline:2px solid var(--color-accent)}.answer-choices{grid-template-columns:1fr 1fr;gap:10px;display:grid}.answer-choice-btn{text-align:center;justify-content:center;padding:14px 10px;font-size:1.05rem}.question-card-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.streak-chip{border-color:var(--color-accent);color:var(--color-accent);padding:2px 10px;font-size:.8rem}.question-card.flash-correct{animation:.5s flash-correct}.question-card.flash-wrong{animation:.5s flash-wrong}@keyframes flash-correct{0%{background:var(--color-success);border-color:var(--color-success)}to{background:var(--color-surface);border-color:var(--color-border)}}@keyframes flash-wrong{0%{background:var(--color-danger);border-color:var(--color-danger)}to{background:var(--color-surface);border-color:var(--color-border)}}.question-prompt{animation:.3s fade-slide-in}@keyframes fade-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.auth-shell{justify-content:center;align-items:center;min-height:100%;display:flex;position:relative}.auth-lang-switch{position:absolute;top:20px;right:20px}.auth-split-card{width:100%;max-width:900px;padding:0;display:flex}.auth-image-frame{border-radius:var(--radius) 0 0 var(--radius);flex:48%;min-height:420px;position:relative;overflow:hidden;box-shadow:0 0 70px 14px #f2b13466}.auth-image{object-fit:cover;width:100%;height:100%;display:block}.auth-content{border-radius:0 var(--radius) var(--radius) 0;flex-direction:column;flex:52%;justify-content:center;gap:12px;padding:32px;display:flex}.auth-content h2{margin:0}.auth-google-btn{color:#1f1f1f;border:1px solid var(--color-border);background:#fff;justify-content:center;align-self:flex-start;align-items:center;gap:10px;display:inline-flex}@media (width<=640px){.auth-split-card{flex-direction:column}.auth-image-frame{border-radius:var(--radius) var(--radius) 0 0;min-height:240px}.auth-content{border-radius:0 0 var(--radius) var(--radius);padding:24px}.auth-google-btn{align-self:stretch}}.section-title{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;text-shadow:0 1px 4px #0009;margin:24px 0 12px;font-size:1rem}.results-card{text-align:center;flex-direction:column;gap:14px;max-width:420px;margin:0 auto;display:flex}.results-headline{font-size:1.6rem;font-weight:700}.elo-delta{color:var(--color-text-muted);font-size:1.4rem;font-weight:700}.elo-delta.positive{color:var(--color-success)}.elo-delta.negative{color:var(--color-danger)}.unlock-banner{background:var(--color-surface-raised);border:1px solid var(--color-accent);border-radius:var(--radius);padding:12px;font-weight:600}.race-track-canvas{border:1px solid var(--color-border);border-radius:var(--radius);touch-action:none;background:linear-gradient(#6b4a24 0%,#4a3620 60%,#2e2110 100%);height:280px;margin-bottom:20px;position:relative;overflow:hidden}.race-runner-badge{pointer-events:none;flex-direction:column;align-items:center;gap:2px;display:flex}.race-runner-emoji{filter:drop-shadow(0 3px 4px #0000008c);font-size:1.9rem;line-height:1}.race-runner-name{color:var(--color-text);white-space:nowrap;background:#00000073;border-radius:999px;padding:1px 6px;font-size:.62rem;font-weight:600}.race-finish-badge{filter:drop-shadow(0 3px 4px #0000008c);pointer-events:none;font-size:1.7rem}.animal-tree-canvas{z-index:-1;touch-action:none;background:linear-gradient(#6b4a24 0%,#8a5f2c 32%,#6e4622 62%,#2e2110 100%);position:fixed;inset:0;overflow:hidden}.tree-animal-badge{pointer-events:auto;width:96px}.tree-animal-badge .animal-card{border-width:2px;border-radius:12px;gap:2px;padding:10px 6px 8px;box-shadow:0 6px 14px #0006}.tree-animal-badge .animal-card-emoji{filter:drop-shadow(0 2px 3px #00000080);font-size:2.1rem}.tree-animal-badge .animal-card-name{font-size:.72rem;line-height:1.1}.tree-animal-badge .animal-card-status{font-size:.6rem;line-height:1.15}.animal-card{position:relative}.animal-card-danger{gap:2px;animation:1.1s ease-in-out infinite danger-pulse;display:flex;position:absolute;top:6px;right:8px}.animal-card-danger-dot{background:var(--color-danger);width:5px;height:5px;box-shadow:0 0 4px var(--color-danger);border-radius:50%}@keyframes danger-pulse{0%,to{opacity:1}50%{opacity:.35}}.match-timer{text-align:center;color:var(--color-text-muted);margin-bottom:12px;font-size:1.1rem;font-weight:700}.match-timer-low{color:var(--color-danger);animation:1s ease-in-out infinite danger-pulse}.pvp-search-wrap{justify-content:center;align-items:center;min-height:calc(100vh - 280px);display:flex}.pvp-search-card{text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:380px;margin:0 auto;display:flex}.pvp-search-image{object-fit:cover;object-position:50% 35%;border-radius:50%;width:140px;height:140px;animation:1.8s ease-in-out infinite pvp-search-pulse;box-shadow:0 0 40px 8px #f2b13466}@keyframes pvp-search-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.chip-row{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:12px 0;display:flex}.chip{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);height:var(--control-height);box-sizing:border-box;border-radius:999px;align-items:center;padding:0 16px;font-size:.9rem;display:inline-flex}.chip-selected{background:var(--color-accent);color:#201200;border-color:var(--color-accent)}.chip:disabled{opacity:.4;cursor:not-allowed}.top-bar-left{align-items:center;gap:10px;display:flex}.brand{text-decoration:none}.learning-detail{max-width:480px;margin:20px auto 0}.learning-detail-header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.learning-detail-emoji{font-size:2rem}.learning-detail h4{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin:14px 0 4px;font-size:.85rem}.learning-detail ul{margin:4px 0;padding-left:20px}.learning-detail-actions{align-items:center;gap:12px;margin-top:16px;display:flex}.profile-overlay-backdrop{z-index:20;background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.profile-overlay{width:100%;max-width:420px;max-height:80vh;overflow-y:auto}.profile-overlay h2{margin:0 0 4px}.profile-overlay h4{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin:16px 0 6px;font-size:.85rem}.profile-topic-row{align-items:center;gap:10px;padding:6px 0;display:flex}.profile-topic-emoji{font-size:1.3rem}.profile-topic-name{flex:1}.profile-topic-accuracy{font-weight:700}.profile-overlay-close{width:100%;margin-top:16px}@page{size:A4;margin:15mm}.print-mocup{border-radius:var(--radius);width:100%;max-width:420px;margin:0 auto 16px;display:block;box-shadow:0 10px 30px #0006}.print-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;width:210mm;max-width:100%;margin:4px auto 16px;display:flex}.print-toolbar-actions{flex-wrap:wrap;gap:10px;display:flex}.btn-link{color:var(--color-text-muted);background:0 0;border:none;padding:10px 4px;font-size:.95rem;font-weight:600}.btn-link:hover{color:var(--color-text);text-decoration:underline}.print-sheet,.print-answer-key{color:#241505;box-sizing:border-box;background:#fffaf0;width:210mm;max-width:100%;min-height:297mm;margin:0 auto 20px;padding:15mm;box-shadow:0 8px 30px #00000073}.print-tips{color:#241505;box-sizing:border-box;background:#fffaf0;width:210mm;max-width:100%;margin:0 auto 20px;padding:15mm;box-shadow:0 8px 30px #00000073}.print-tips h3{margin:0 0 8px}.print-tips p{margin:0 0 16px}.print-tips p:last-child{margin-bottom:0}.print-sheet-header{border-bottom:2px dashed #c9a765;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:14px;display:flex}.print-sheet-emoji{font-size:3rem;line-height:1}.print-sheet-header h2{margin:0 0 6px}.print-sheet-fields{color:#6b5636;margin:0}.print-question-list{flex-direction:column;gap:14px;margin:0;padding-left:22px;list-style:decimal;display:flex}.print-question-list li{break-inside:avoid;page-break-inside:avoid;flex-wrap:wrap;align-items:baseline;gap:8px;font-size:1.1rem;display:flex}.print-question-prompt{overflow-wrap:break-word;min-width:0;font-weight:600}.print-answer-blank{border-bottom:2px solid #241505;flex:1;min-width:60px;height:1.3em}.print-answer-key h3{margin:0 0 12px}.print-answer-list{columns:4 120px;column-gap:20px;padding-left:20px}@media print{.no-print,.top-bar{display:none!important}body{background:#fff}.app-shell{max-width:none;margin:0;padding:0}.print-sheet,.print-answer-key,.print-tips{box-shadow:none;border:none;width:auto;max-width:none;min-height:0;margin:0;padding:0}.print-answer-key{page-break-before:always}.print-tips{page-break-after:always}}@media (width<=720px){.print-toolbar,.print-sheet,.print-answer-key,.print-tips{width:100%}.print-sheet,.print-answer-key,.print-tips{min-height:0;padding:20px}}
