:root{--cream:#f4f0e9;--paper:#fbfaf7;--ink:#0a0a0a;--burg:#740b0c;--burg2:#541011;--muted:#77716a;--line:#d8d1c8;--white:#fff;--ok:#1c6b45;--warn:#9a6500;--shadow:0 12px 36px rgba(0,0,0,.09)}
*{box-sizing:border-box}html,body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;min-height:100%;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}
#app{min-height:100dvh}.splash{min-height:100dvh;background:#050505;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px}.splash img{width:min(360px,74vw);height:auto}.splash-academy{font-family:Georgia,'Times New Roman',serif;font-size:clamp(30px,8vw,50px);letter-spacing:.12em;margin-top:18px}.splash p{color:#d7d2cb;margin-top:14px;font-size:15px;letter-spacing:.03em}
.auth-shell{min-height:100dvh;display:grid;grid-template-rows:40vh 1fr;background:var(--cream)}.auth-hero{background:#050505;display:flex;align-items:center;justify-content:center;padding:26px}.auth-hero img{width:min(340px,72vw)}.auth-card{margin-top:-28px;background:var(--cream);border-radius:28px 28px 0 0;padding:30px 24px 48px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;margin:0}.auth-card h1{font-size:42px;line-height:.95;color:var(--burg);margin:7px 0 9px}.tagline{font-family:Georgia,'Times New Roman',serif;font-size:18px;margin:0 0 28px;color:#2a2926}.field{margin:14px 0}.field label{display:block;font-size:12px;font-weight:800;margin-bottom:7px}.field input,.field select{width:100%;border:1px solid #bbb3a9;border-radius:14px;padding:14px 15px;background:white;color:#111;outline:none}.field input:focus,.field select:focus{border-color:var(--burg);box-shadow:0 0 0 3px rgba(116,11,12,.08)}.btn{border:0;border-radius:14px;padding:14px 17px;font-weight:800}.btn-primary{background:var(--burg);color:white;width:100%}.btn-black{background:#050505;color:white}.btn-light{background:white;color:#111;border:1px solid var(--line)}.btn-link{background:none;border:0;padding:10px 0;color:var(--burg);font-weight:800}.auth-actions{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:8px}.message{margin:14px 0;padding:12px 14px;border-radius:12px;background:#fff;border:1px solid var(--line);font-size:13px;line-height:1.45}.message.error{border-color:#d8a3a3;background:#fff7f7;color:#7c1111}.message.success{border-color:#9fc9b4;background:#f4fff8;color:#165438}
.app-shell{max-width:760px;margin:0 auto;min-height:100dvh;background:var(--cream);padding-bottom:90px}.topbar{background:#050505;color:#fff;padding:14px 18px 16px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between}.topbar img{width:116px;height:auto}.topbar .academy-label{font-family:Georgia,'Times New Roman',serif;font-size:18px}.topbar button{background:transparent;color:white;border:0;font-size:12px;font-weight:800}.page{padding:20px 18px 30px}.hero-card{background:#050505;color:white;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);position:relative}.hero-card .hero-img{height:180px;width:100%;object-fit:cover;opacity:.66}.hero-card .hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.8));display:flex;align-items:flex-end;padding:20px}.hero-card h1{font-size:38px;line-height:.95}.hero-card p{margin:6px 0 0;color:#e6e1da}.section-title{display:flex;align-items:end;justify-content:space-between;margin:28px 2px 12px}.section-title h2{font-size:26px;color:var(--burg)}.section-title span{font-size:12px;color:var(--muted);font-weight:700}.progress-box{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:17px;margin-top:16px}.progress-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.progress-top strong{font-family:Georgia,'Times New Roman',serif;font-size:22px}.progress-track{height:9px;background:#ddd6cc;border-radius:999px;overflow:hidden;margin-top:11px}.progress-fill{height:100%;background:var(--burg);border-radius:999px}.continue-card{background:var(--burg);color:white;border-radius:20px;padding:18px;display:flex;justify-content:space-between;gap:18px;align-items:center;box-shadow:var(--shadow)}.continue-card h3{font-size:24px}.continue-card p{margin:6px 0 0;font-size:13px;color:#ead9d7}.continue-card .arrow{width:46px;height:46px;border-radius:50%;background:white;color:var(--burg);display:grid;place-items:center;font-weight:900;font-size:20px;flex:none}.week-list,.module-list{display:grid;gap:10px}.week-card,.module-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:16px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.week-card.locked,.module-card.locked{opacity:.56}.week-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:900;color:var(--muted)}.week-card h3,.module-card h3{font-size:21px;margin-top:3px}.week-card p,.module-card p{font-size:12px;color:var(--muted);margin:5px 0 0;line-height:1.35}.status-pill{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:7px 9px;background:#eee7dd;color:#5f5a53}.status-pill.done{background:#dff3e7;color:#1a6342}.status-pill.live{background:#f5dedb;color:var(--burg)}.status-pill.lock{background:#ece9e4;color:#807a72}.week-head{padding:22px;background:#050505;color:white;border-radius:22px;margin-bottom:16px}.week-head .eyebrow{color:#c7c1b9}.week-head h1{font-size:42px;color:white;margin-top:4px}.week-head p{margin:8px 0 0;color:#ded8d0;line-height:1.4}.module-card .num{font-family:Georgia,'Times New Roman',serif;color:var(--burg);font-size:18px;font-weight:700}.module-screen .module-hero{border-bottom:1px solid var(--line);padding-bottom:18px}.module-screen h1{font-size:43px;line-height:.98;color:var(--burg);margin-top:7px}.module-screen .sub{font-family:Georgia,'Times New Roman',serif;font-size:20px;margin:10px 0}.black-panel{background:#050505;color:white;border-radius:20px;padding:18px;margin:18px 0}.black-panel h3{font-size:19px;margin-bottom:7px}.black-panel p{margin:0;line-height:1.55}.point-list{display:grid;gap:9px;margin:16px 0}.point{background:white;border:1px solid var(--line);border-radius:14px;padding:13px 14px;line-height:1.4}.challenge{border:2px solid #111;border-radius:20px;padding:17px;background:var(--paper);margin:20px 0}.challenge .label{font-weight:900;font-size:12px;letter-spacing:.09em}.challenge p{font-family:Georgia,'Times New Roman',serif;font-size:19px;line-height:1.35;margin:8px 0 0}.practice{background:#fff;border-radius:20px;padding:17px;border:1px solid var(--line);margin:20px 0}.practice h3{font-size:23px;color:var(--burg)}.practice-option{display:block;width:100%;text-align:left;margin:9px 0;padding:13px;border-radius:13px;border:1px solid var(--line);background:#faf8f4}.practice-option.correct{border-color:#67a987;background:#effaf4}.practice-option.wrong{border-color:#cb8585;background:#fff4f4}.feedback{font-size:13px;line-height:1.5;margin-top:10px}.module-actions{display:flex;gap:10px;margin-top:22px}.module-actions .btn{flex:1}.bottom-nav{position:fixed;z-index:30;bottom:0;left:50%;transform:translateX(-50%);width:min(760px,100%);background:rgba(8,8,8,.97);padding:8px 8px calc(8px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.nav-btn{background:none;border:0;color:#aaa;padding:8px 4px;font-size:10px;font-weight:800}.nav-btn .icon{display:block;font-size:20px;margin-bottom:3px}.nav-btn.active{color:white}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat{background:white;border:1px solid var(--line);border-radius:17px;padding:16px}.stat strong{font-family:Georgia,'Times New Roman',serif;font-size:29px;color:var(--burg)}.stat span{display:block;font-size:11px;color:var(--muted);margin-top:3px;font-weight:800}.profile-card{background:white;border:1px solid var(--line);border-radius:20px;padding:18px}.profile-row{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #ece6dd}.profile-row:last-child{border-bottom:0}.profile-row span{font-size:12px;color:var(--muted)}.profile-row strong{text-align:right;font-size:13px}.empty{padding:24px;text-align:center;color:var(--muted)}
@media(min-width:700px){.auth-shell{grid-template-columns:1fr 1fr;grid-template-rows:100dvh}.auth-card{margin:0;border-radius:0;display:flex;flex-direction:column;justify-content:center;padding:60px}.auth-hero{height:100dvh}.page{padding:26px 26px 40px}.hero-card .hero-img{height:250px}}
