@import "https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;1,400&family=Cinzel:wght@400;600&display=swap";@font-face{font-family:SketchedCassius;src:url(/assets/SketchedCassiusBroken-B8sFIrde.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--bg:#0e0b07;--bg-card:#1a1410;--bg-card2:#221d17;--border:#4a3a22;--border-gold:#c8972a;--gold:#d4a843;--gold-light:#f0c96a;--gold-dim:#8a6520;--text:#c9b99a;--text-dim:#7a6a55;--text-bright:#f0e2c0;--red:#a83228;--red-bg:#3b1410;--green:#2e7d32;--green-bg:#0d2e10;--green-light:#5dba60;--font-fantasy:"SketchedCassius", "Papyrus", fantasy;--font-serif:"Crimson Text", "Georgia", serif;--font-heading:"Cinzel", "Trajan Pro", serif;--max-w:680px;--radius:6px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{background-color:var(--bg);color:var(--text);font-family:var(--font-serif);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-image:radial-gradient(#0000 55%,#000000b3 100%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");font-size:18px;line-height:1.6}#root{flex-direction:column;align-items:center;display:flex}.app-wrapper{width:100%;max-width:var(--max-w);flex-direction:column;min-height:100svh;padding:2rem 1.25rem 3rem;display:flex}.page{flex-direction:column;flex:1;gap:2rem;display:flex}.gold-rule{background:linear-gradient(90deg, transparent, var(--border-gold), transparent);border:none;height:1px;margin:.25rem 0}.quiz-title{font-family:var(--font-fantasy);color:var(--gold);text-align:center;letter-spacing:.03em;text-shadow:0 0 30px #d4a84366,0 2px 4px #000c;padding:.5rem 0 .25rem;font-size:clamp(2.8rem,8vw,4.8rem);line-height:1.1}.highscore-section{background:var(--bg-card);border:1px solid var(--border);border-top:2px solid var(--border-gold);border-radius:var(--radius);padding:1.25rem 1.5rem 1.5rem;box-shadow:inset 0 1px #c8972a1a,0 4px 20px #00000080}.section-heading{font-family:var(--font-heading);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dim);text-align:center;margin-bottom:1rem;font-size:.85rem;font-weight:600}.highscore-empty{text-align:center;color:var(--text-dim);padding:.5rem 0;font-style:italic}.highscore-list{flex-direction:column;gap:.4rem;list-style:none;display:flex}.highscore-entry{border-radius:4px;grid-template-columns:1.4rem 1fr auto auto;align-items:center;gap:.6rem;padding:.45rem .6rem;font-size:1rem;transition:background .15s;display:grid}.highscore-entry:nth-child(odd){background:#ffffff05}.highscore-entry:first-child{color:var(--gold-light)}.hs-rank{font-family:var(--font-heading);color:var(--gold-dim);text-align:right;font-size:.8rem}.hs-name{color:var(--text-bright);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.hs-score{font-family:var(--font-heading);color:var(--gold);white-space:nowrap;font-size:.9rem}.hs-day{color:var(--text-dim);white-space:nowrap;font-size:.78rem}.start-form{flex-direction:column;gap:.75rem;display:flex}.name-label{font-family:var(--font-heading);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dim);font-size:.8rem}.name-input{background:var(--bg-card2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-bright);font-family:var(--font-serif);outline:none;width:100%;padding:.75rem 1rem;font-size:1.1rem;transition:border-color .2s,box-shadow .2s}.name-input::placeholder{color:var(--text-dim)}.name-input:focus{border-color:var(--border-gold);box-shadow:0 0 0 3px #c8972a26}.name-input--error{border-color:var(--red)}.field-error{color:#e07070;font-size:.88rem;font-style:italic}.btn{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius);cursor:pointer;-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;padding:.8rem 2rem;font-size:.95rem;transition:all .2s;display:inline-flex}.btn-primary{color:#0e0b07;background:linear-gradient(160deg,#c8972a 0%,#8a6010 100%);border:1px solid #a07820;font-weight:600;box-shadow:inset 0 1px #ffffff26,0 4px 16px #c8972a40}.btn-primary:hover:not(:disabled){background:linear-gradient(160deg,#daa93a 0%,#9a7020 100%);transform:translateY(-1px);box-shadow:inset 0 1px #fff3,0 4px 24px #c8972a66}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #c8972a33}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-next{align-self:flex-end;margin-top:.5rem}.quiz-header{text-align:center}.creature-name{font-family:var(--font-fantasy);color:var(--gold);text-shadow:0 0 20px #d4a84359,0 2px 4px #000c;margin-bottom:.4rem;font-size:clamp(2rem,6vw,3.2rem);line-height:1.15}.question-progress{font-family:var(--font-heading);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.6rem;font-size:.95rem}.progress-bar-outer{background:#ffffff0f;border-radius:2px;height:3px;overflow:hidden}.progress-bar-inner{background:linear-gradient(90deg, var(--gold-dim), var(--gold));border-radius:2px;height:100%;transition:width .4s}.question-card{background:var(--bg-card);border:1px solid var(--border);border-top:2px solid var(--border-gold);border-radius:var(--radius);flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex;box-shadow:0 4px 24px #00000080,inset 0 1px #c8972a14}.question-text{color:var(--text-bright);font-size:1.15rem;font-weight:600;line-height:1.55}.question-text strong{color:var(--gold-light);font-weight:700}.answers-list{flex-direction:column;gap:.6rem;list-style:none;display:flex}.answer-btn{background:var(--bg-card2);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);cursor:pointer;font-family:var(--font-serif);text-align:left;align-items:center;gap:.85rem;padding:.75rem 1rem;font-size:1.05rem;line-height:1.45;transition:background .15s,border-color .15s,color .15s;display:flex}.answer-btn:hover:not(:disabled){border-color:var(--gold-dim);color:var(--text-bright);background:#2a231a}.answer-btn:disabled{cursor:default}.answer-btn--selected{border-color:var(--gold);color:var(--text-bright);background:#d4a84314}.answer-btn--correct{background:var(--green-bg);border-color:var(--green-light);color:#c8f5ca}.answer-btn--wrong{background:var(--red-bg);color:#f5c0c0;border-color:#c84848}.answer-btn--dim{opacity:.45}.answer-circle{border:2px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.8rem;line-height:1;transition:background .15s;display:flex}.answer-btn--selected .answer-circle{background:var(--gold);border-color:var(--gold);color:#0e0b07}.answer-btn--correct .answer-circle{background:var(--green-light);border-color:var(--green-light);color:#0d2e10}.answer-btn--wrong .answer-circle{color:#fff;background:#c84848;border-color:#c84848}.answer-dot{background:#0e0b07;border-radius:50%;width:10px;height:10px}.answer-check,.answer-x{font-size:.75rem;font-weight:700}.feedback-banner{border-radius:var(--radius);font-size:.95rem;font-family:var(--font-heading);letter-spacing:.03em;padding:.65rem 1rem}.feedback--correct{background:var(--green-bg);border:1px solid var(--green-light);color:#c8f5ca}.feedback--wrong{background:var(--red-bg);color:#f5c0c0;border:1px solid #c84848}.result-page{justify-content:center;align-items:center;gap:2rem}.result-card{background:var(--bg-card);border:1px solid var(--border);border-top:2px solid var(--border-gold);border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;gap:1.25rem;width:100%;max-width:520px;padding:2.5rem 2rem;display:flex;box-shadow:0 4px 32px #0009,inset 0 1px #c8972a1a}.result-heading{font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dim);font-size:1.05rem}.result-score{align-items:baseline;gap:.3rem;line-height:1;display:flex}.score-number{font-family:var(--font-fantasy);letter-spacing:-.02em;font-size:5rem}.score-divider,.score-total{font-family:var(--font-heading);color:var(--text-dim);font-size:2.5rem}.score--bad .score-number{color:#a83228;text-shadow:0 0 20px #a8322880}.score--poor .score-number{color:#c07030;text-shadow:0 0 20px #c0703066}.score--ok .score-number{color:var(--gold);text-shadow:0 0 20px #d4a84366}.score--good .score-number{color:#6ab068;text-shadow:0 0 20px #6ab06866}.score--perfect .score-number{color:var(--gold-light);text-shadow:0 0 30px #f0c96a99}.result-label{color:var(--text);font-size:1.05rem}.result-label strong{color:var(--text-bright)}.result-congrats{color:var(--text);border-top:1px solid var(--border);max-width:420px;padding-top:1.1rem;font-size:1.15rem;font-style:italic;line-height:1.7}@media (width<=768px){.app-wrapper{padding:1.5rem 1rem 2.5rem}.quiz-title{overflow-wrap:break-word;word-break:break-word;padding-left:.5rem;padding-right:.5rem;font-size:clamp(1.9rem,5.5vw,2.4rem)}.creature-name{font-size:clamp(1.8rem,7vw,2.6rem)}.question-text{font-size:1.05rem}.answer-btn{padding:.7rem .9rem;font-size:1rem}.result-card{padding:2rem 1.25rem}.score-number{font-size:4.2rem}}@media (width<=480px){.app-wrapper{gap:1.5rem;padding:1rem .85rem 2rem}.quiz-title{font-size:clamp(2rem,11vw,3rem)}.highscore-section{padding:1rem 1rem 1.25rem}.highscore-entry{gap:.4rem;padding:.4rem;font-size:.92rem}.question-card{gap:1rem;padding:1.1rem 1rem}.question-text{font-size:1rem}.answer-btn{gap:.7rem;padding:.8rem .85rem;font-size:.97rem}.answer-circle{width:24px;height:24px}.btn{width:100%;padding:.9rem 1.5rem}.btn-next{align-self:stretch}.score-number{font-size:3.8rem}.score-divider,.score-total{font-size:2rem}.result-card{padding:1.5rem 1rem}}.admin-root{color:#e5e7eb;background:#111827;min-height:100svh;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px}.admin-login-wrap{justify-content:center;align-items:center;min-height:100svh;padding:1rem;display:flex}.admin-login-card{background:#1f2937;border:1px solid #374151;border-radius:10px;flex-direction:column;gap:1.25rem;width:100%;max-width:380px;padding:2.5rem 2rem;display:flex;box-shadow:0 8px 32px #00000080}.admin-login-card h1{color:#f9fafb;text-align:center;margin:0;font-size:1.3rem;font-weight:700}.admin-login-card p{color:#9ca3af;text-align:center;margin:-.5rem 0 0;font-size:.85rem}.admin-header{z-index:10;background:#1f2937;border-bottom:1px solid #374151;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex;position:sticky;top:0}.admin-header h1{color:#f9fafb;margin:0;font-size:1rem;font-weight:700}.admin-header span{color:#6b7280;font-size:.8rem}.admin-tabs{gap:.25rem;display:flex}.admin-tab{color:#9ca3af;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:.4rem .9rem;font-size:.85rem;transition:all .15s}.admin-tab:hover{color:#e5e7eb;background:#374151}.admin-tab--active{color:#f9fafb;background:#374151;border-color:#4b5563;font-weight:600}.admin-content{flex-direction:column;gap:1.5rem;max-width:900px;margin:0 auto;padding:2rem 1.5rem;display:flex}.a-label{color:#9ca3af;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.4rem;font-size:.8rem;font-weight:600;display:block}.a-input{color:#f9fafb;background:#374151;border:1px solid #4b5563;border-radius:6px;outline:none;width:100%;padding:.55rem .85rem;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.a-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f133}.a-input[type=file]{cursor:pointer;padding:.4rem .65rem}.a-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:6px;justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1.2rem;font-size:.875rem;font-weight:600;transition:all .15s;display:inline-flex}.a-btn--primary{color:#fff;background:#4f46e5}.a-btn--primary:hover:not(:disabled){background:#4338ca}.a-btn--danger{color:#fff;background:#dc2626}.a-btn--danger:hover:not(:disabled){background:#b91c1c}.a-btn--ghost{color:#d1d5db;background:#374151;border:1px solid #4b5563}.a-btn--ghost:hover:not(:disabled){color:#f9fafb;background:#4b5563}.a-btn--sm{padding:.3rem .75rem;font-size:.78rem}.a-btn:disabled{opacity:.45;cursor:not-allowed}.a-btn--logout{color:#9ca3af;cursor:pointer;background:0 0;border:1px solid #374151;border-radius:6px;padding:.35rem .75rem;font-size:.8rem;transition:all .15s}.a-btn--logout:hover{color:#f9fafb;background:#374151}.a-card{background:#1f2937;border:1px solid #374151;border-radius:10px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.a-card-title{color:#f9fafb;margin:0;font-size:.95rem;font-weight:700}.a-card-sub{color:#6b7280;margin:-.5rem 0 0;font-size:.82rem}.a-msg{border-radius:6px;padding:.6rem .9rem;font-size:.875rem}.a-msg--ok{color:#86efac;background:#052e16;border:1px solid #166534}.a-msg--err{color:#fca5a5;background:#450a0a;border:1px solid #991b1b}.bl-list{flex-wrap:wrap;gap:.4rem;list-style:none;display:flex}.bl-tag{color:#d1d5db;background:#374151;border:1px solid #4b5563;border-radius:4px;align-items:center;gap:.35rem;padding:.25rem .5rem;font-size:.82rem;display:inline-flex}.bl-tag button{color:#6b7280;cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;line-height:1;transition:color .15s}.bl-tag button:hover{color:#ef4444}.bl-add-row{align-items:flex-end;gap:.5rem;display:flex}.bl-add-row .a-input{flex:1}.hs-table-wrap{border:1px solid #374151;border-radius:6px;overflow-x:auto}.hs-table{border-collapse:collapse;width:100%;font-size:.875rem}.hs-table th{color:#9ca3af;letter-spacing:.06em;text-align:left;text-transform:uppercase;white-space:nowrap;background:#111827;padding:.6rem .85rem;font-size:.75rem;font-weight:600}.hs-table td{color:#e5e7eb;vertical-align:middle;border-top:1px solid #374151;padding:.55rem .85rem}.hs-table tr:hover td{background:#ffffff05}.hs-censored{color:#9ca3af;font-style:italic}.hs-actions{gap:.4rem;display:flex}.hs-reset-row{align-items:center;gap:1rem;display:flex}.hs-empty{color:#6b7280;text-align:center;padding:1.5rem 0;font-style:italic}@media (width<=600px){.admin-header{flex-wrap:wrap;gap:.5rem}.admin-tabs{order:3;width:100%}.admin-tab{text-align:center;flex:1}.a-card,.admin-content{padding:1rem}.bl-add-row{flex-direction:column;align-items:stretch}}
