*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:Arial,Helvetica,sans-serif;background:#ffffff;color:#2b163d}a{color:inherit}.home{min-height:100vh;display:grid;grid-template-rows:auto auto auto;width:100%;padding:2rem;background:linear-gradient(180deg,#f3eafb,#e4d2ef)}.hero{width:100%;max-width:820px;margin:0 auto;padding:2rem 0 3rem;text-align:center}.eyebrow{color:#5B2A86;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.homepage-brand{margin:0 0 1rem;font-size:clamp(1.4rem,3.2vw,2.15rem);white-space:nowrap}h1{margin:.5rem 0 1rem;font-size:clamp(2.5rem,7vw,5rem);line-height:1}.hero-title{font-family:Great Vibes,cursive!important;font-size:clamp(3.5rem,9vw,6.75rem);font-weight:400;line-height:1.08;letter-spacing:.01em;color:#5B2A86;text-shadow:0 2px 0 rgba(212,175,55,.2)}.tagline{color:#D4AF37;font-size:1.4rem;font-weight:700}.intro{max-width:680px;margin:1.5rem auto 0;font-size:1.1rem;line-height:1.7}.home-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:1.5rem}.dashboard-page{min-height:100vh;padding:0 5vw 4rem;background:linear-gradient(180deg,#fbf8fe,#fff 45%)}.dashboard-topbar{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid #eadff2}.dashboard-topbar div{display:flex;flex-direction:column;gap:.2rem}.dashboard-topbar strong{color:#5B2A86;font-size:1.15rem}.dashboard-topbar span{color:#806d8d;font-size:.82rem}.logout-button{border:1px solid #5b2a86;background:#fff;color:#5B2A86;border-radius:999px;padding:.7rem 1.1rem;font-weight:700;cursor:pointer}.dashboard-welcome{padding:3rem 0 1.6rem}.dashboard-welcome h1{font-size:clamp(2.2rem,5vw,4rem)}.dashboard-welcome p:last-child{color:#715f7e;font-size:1.05rem}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:1rem;gap:1rem;margin-bottom:1.2rem}.feature-card,.stat-card{background:#fff;border:1px solid #eadff2;border-radius:18px;box-shadow:0 10px 30px rgba(91,42,134,.07)}.stat-card{padding:1.25rem;display:flex;flex-direction:column;gap:.35rem}.card-kicker,.stat-card span{color:#5B2A86;font-size:.75rem;font-weight:800;letter-spacing:.08em}.stat-card strong{font-size:1.8rem;color:#2b163d}.stat-card small{color:#806d8d}.dashboard-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.feature-card{padding:1.5rem}.feature-card h2{margin:.4rem 0 .6rem;font-size:1.5rem}.feature-card p:not(.card-kicker){color:#715f7e;line-height:1.55}.battle-card{background:linear-gradient(135deg,#5B2A86,#75429d);color:#fff;border:0}.battle-card .card-kicker,.battle-card p:not(.card-kicker){color:#f0e6f7}.dashboard-action{margin-top:.7rem;background:#D4AF37;color:#2b163d;padding:.75rem 1rem;border-radius:999px}.dashboard-action,.text-action{display:inline-block;text-decoration:none;font-weight:800}.text-action{margin-top:.5rem;color:#5B2A86}.battle-card .dashboard-action{background:#fff;color:#5B2A86}.capitalize{text-transform:capitalize}.battle-page{min-height:100vh;padding:0 5vw 4rem;background:radial-gradient(circle at top,#75429d 0,#5B2A86 30%,#32144d 70%);color:#fff}.battle-topbar{min-height:80px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.16);gap:1rem}.battle-topbar a{text-decoration:none;font-weight:800}.battle-topbar span{color:#e6d8ef;font-size:.85rem}.battle-hero{max-width:850px;margin:0 auto;text-align:center;padding:4.5rem 0 3rem}.battle-eyebrow{color:#E8B7C8;font-weight:900;letter-spacing:.16em}.battle-hero h1{color:#fff;text-shadow:0 3px 18px rgba(0,0,0,.25)}.battle-tagline{color:#D4AF37;font-size:1.3rem;font-weight:900;letter-spacing:.08em}.battle-hero>p:last-child{color:#efe7f4;line-height:1.65}.battle-mode-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:1rem;gap:1rem;max-width:1250px;margin:0 auto}.mode-card{background:#fff;color:#2b163d;border-radius:20px;padding:1.5rem;box-shadow:0 15px 35px rgba(0,0,0,.18);display:flex;flex-direction:column}.mode-card>span{color:#5B2A86;font-size:.74rem;font-weight:900;letter-spacing:.1em}.mode-card h2{margin:.5rem 0}.mode-card p{color:#715f7e;line-height:1.5;flex-grow:1}.mode-meta{display:flex;flex-direction:column;gap:.25rem;padding:1rem 0;border-top:1px solid #eee4f4}.mode-meta small{color:#806d8d}.battle-start{text-align:center;text-decoration:none;background:#D4AF37;color:#2b163d;padding:.8rem 1rem;border-radius:999px;font-weight:900}.battle-note{max-width:850px;margin:2.5rem auto 0;padding:1.5rem;text-align:center;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(255,255,255,.08)}.battle-note h2{margin-top:0;color:#E8B7C8}.battle-note p{line-height:1.6;color:#efe7f4}.game-page{min-height:100vh;padding:0 5vw 4rem;background:#f8f3fb}.game-topbar{min-height:80px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:1rem;gap:1rem;border-bottom:1px solid #e5d9ed;color:#5B2A86}.game-topbar a{text-decoration:none;font-weight:800}.game-topbar>a:last-child{text-align:right}.game-topbar div{text-align:center;display:flex;flex-direction:column}.game-topbar div span{color:#806d8d;font-size:.8rem;margin-top:.2rem}.game-shell{max-width:920px;margin:2.5rem auto}.game-status{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.75rem;gap:.75rem;margin-bottom:1rem}.game-status div{background:#fff;border:1px solid #e5d9ed;border-radius:14px;padding:.9rem;display:flex;flex-direction:column;gap:.3rem}.game-status span{font-size:.7rem;font-weight:900;letter-spacing:.08em;color:#806d8d}.game-status strong{color:#5B2A86}.game-progress{height:8px;background:#e8deef;border-radius:999px;overflow:hidden;margin-bottom:1rem}.game-progress div{height:100%;background:#D4AF37;border-radius:inherit}.question-panel{background:#fff;border:1px solid #e5d9ed;border-radius:22px;padding:2rem;box-shadow:0 15px 35px rgba(91,42,134,.08)}.question-heading{display:flex;justify-content:space-between;gap:1rem;color:#5B2A86;font-size:.75rem;font-weight:900;letter-spacing:.08em}.question-panel h1{font-size:clamp(1.6rem,4vw,2.3rem);line-height:1.2;margin:1.3rem 0 .7rem}.question-instruction{color:#806d8d}.answer-list{display:grid;grid-gap:.75rem;gap:.75rem;margin:1.5rem 0}.answer-list button{width:100%;text-align:left;border:1px solid #ded0e8;background:#fff;color:#3a2448;border-radius:14px;padding:1rem;font-size:1rem;cursor:pointer}.answer-list button b{display:inline-grid;place-items:center;width:30px;height:30px;margin-right:.7rem;border-radius:50%;background:#eee4f4;color:#5B2A86}.answer-list button.answer-selected{border:2px solid #5b2a86;background:#f6effa}.submit-answer{width:100%;border:0;border-radius:999px;padding:1rem;background:#5B2A86;color:#fff;font-weight:900;font-size:1rem;cursor:pointer}.answer-list button:disabled,.submit-answer:disabled{opacity:.62;cursor:not-allowed}.answer-feedback{margin-top:1.25rem;padding:1.25rem;border-radius:16px;line-height:1.55}.answer-feedback h2{margin-top:0}.answer-feedback h3{margin-bottom:.25rem;color:#5B2A86}.answer-feedback p{margin-top:.25rem}.feedback-correct{background:#edf8ef;border:1px solid #b9ddbf}.feedback-review{background:#fff4ed;border:1px solid #e8c5ad}.test-notice{padding:.8rem 1rem;border:1px solid #e0d1e9;border-radius:12px;background:#fff;color:#715f7e;font-size:.88rem;line-height:1.45}.battle-results{background:#fff;border:1px solid #e5d9ed;border-radius:24px;padding:2.5rem;text-align:center;box-shadow:0 15px 35px rgba(91,42,134,.08)}.battle-results h1{font-size:clamp(2rem,5vw,3.5rem)}.result-score{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;margin:1.5rem auto;font-size:2.5rem;font-weight:900}.result-pass{background:#edf8ef;border:8px solid #b9ddbf;color:#236632}.result-review{background:#fff4ed;border:8px solid #e8c5ad;color:#8a4422}.results-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.75rem;gap:.75rem;margin:1.5rem 0}.results-grid div{border:1px solid #e5d9ed;border-radius:14px;padding:1rem;display:flex;flex-direction:column;gap:.35rem}.results-grid span{color:#806d8d;font-size:.7rem;font-weight:900;letter-spacing:.08em}.results-grid strong{color:#5B2A86;font-size:1.4rem}.result-actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem}.result-actions a{text-decoration:none;background:#5B2A86;color:#fff;border-radius:999px;padding:.85rem 1.3rem;font-weight:900}@media (max-width:1000px){.battle-mode-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:800px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-content-grid{grid-template-columns:1fr}}@media (max-width:600px){.game-status,.results-grid{grid-template-columns:repeat(2,1fr)}.game-topbar{grid-template-columns:1fr 1fr}.game-topbar div{display:none}}@media (max-width:560px){.battle-mode-grid{grid-template-columns:1fr}.battle-topbar span{display:none}.battle-hero{padding-top:3rem}}@media (max-width:480px){.battle-page,.dashboard-page,.game-page{padding-left:1rem;padding-right:1rem}.stats-grid{grid-template-columns:1fr}.dashboard-topbar span{display:none}}.founder-section{width:100%;max-width:880px;margin:0 auto 2.4rem;display:grid;grid-template-columns:minmax(240px,.8fr) minmax(300px,1.2fr);align-items:center;grid-gap:3rem;gap:3rem;padding:2.1rem 2.6rem 0;background:rgba(255,255,255,.82);border:1px solid #e6d8ef;border-radius:26px;box-shadow:0 15px 36px rgba(91,42,134,.1);overflow:hidden}.founder-portrait{align-self:end;display:flex;justify-content:center}.founder-portrait img{display:block;width:min(100%,330px);max-height:430px;object-fit:contain;object-position:center bottom}.founder-copy{padding:1.4rem 0 3.1rem;text-align:center}.founder-kicker{margin:0 0 .65rem;color:#D4AF37;font-size:clamp(1.1rem,2.4vw,1.5rem);font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.founder-copy h2{margin:0;color:#5B2A86;font-size:clamp(2.1rem,5vw,3.4rem);line-height:1.05}.founder-name{margin:.9rem 0 .45rem;color:#2b163d;font-size:clamp(2.4rem,5vw,3.65rem);line-height:1.08}.founder-role{margin:0;color:#715f7e;font-size:1.05rem;line-height:1.5}.legal-page{min-height:100vh;padding:3rem 5vw;background:linear-gradient(180deg,#fbf8fe,#fff 50%)}.legal-card{max-width:900px;margin:0 auto;background:#fff;border:1px solid #eadff2;border-radius:22px;padding:clamp(1.5rem,4vw,3rem);box-shadow:0 15px 35px rgba(91,42,134,.08)}.legal-card h1{font-size:clamp(2.3rem,6vw,4rem)}.legal-card h2{margin:2rem 0 .65rem;color:#5B2A86;font-size:1.35rem}.legal-card li,.legal-card p{color:#51405e;line-height:1.7}.legal-card li+li{margin-top:.55rem}.legal-card a,.legal-footer a,.policy-consent a{color:#5B2A86;font-weight:700}.legal-updated{color:#806d8d!important}.legal-footer{width:100%;max-width:900px;margin:2rem auto 0;padding:1.5rem 0;text-align:center;color:#715f7e;font-size:.9rem}.legal-footer nav{display:flex;justify-content:center;gap:1rem 1.5rem;flex-wrap:wrap}.legal-footer a{text-decoration:none}.legal-footer a:hover{text-decoration:underline}.policy-consent{display:grid!important;grid-template-columns:auto 1fr;align-items:start;grid-gap:.65rem;gap:.65rem;font-size:.9rem;line-height:1.5}.policy-consent input{width:auto!important;margin-top:.2rem}.home .legal-footer{align-self:end}@media (max-width:480px){.legal-page{padding:1rem}.legal-card{border-radius:16px;padding:1.25rem}}@media (max-width:720px){.founder-section{grid-template-columns:1fr;gap:0;padding:1.75rem 1.75rem 0;text-align:center}.founder-copy{grid-row:1;padding:.5rem 0 1.5rem}.founder-portrait{grid-row:2}.founder-portrait img{max-height:340px}}@media (max-width:480px){.home{padding:1rem}.homepage-brand{font-size:1.25rem}.founder-kicker{font-size:1rem;letter-spacing:.04em}}.contact-card{text-align:left}.contact-intro{max-width:720px;font-size:1.05rem}.contact-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem;margin:2rem 0}.contact-options section{padding:1.5rem;background:#fbf8fe;border:1px solid #eadff2;border-radius:18px}.contact-options section h2{margin:.45rem 0 .65rem}.contact-options section p:not(.card-kicker){color:#51405e;line-height:1.6}.contact-options section p a{color:#5B2A86;font-weight:800;overflow-wrap:anywhere}.contact-button{display:inline-block;margin-top:.5rem;padding:.8rem 1.15rem;border-radius:999px;background:#5B2A86;color:#fff!important;font-weight:800;text-decoration:none}.contact-button:hover{background:#472068}.contact-note{margin:1.5rem 0;padding:1rem 1.1rem;background:#fff8e7;border-left:4px solid #d4af37;border-radius:10px;color:#51405e;line-height:1.6}@media (max-width:680px){.contact-options{grid-template-columns:1fr}}