:root{font-family:DM Sans,Arial,sans-serif;color:#f6f2e8;background:#061019;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--gold:#c4a35a;--goldLight:#e2cc9a;--cream:#f6f2e8;--navy:#061019;--border:#33404b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,a,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,textarea:focus-visible,input:focus-visible{outline:3px solid #edc979;outline-offset:4px}.app{min-height:100vh;overflow:hidden;background:radial-gradient(ellipse at 85% 38%,#0e1c27,#061019 65%)}.topbar{height:78px;width:100%;position:relative;z-index:5;display:flex;align-items:center;gap:clamp(18px,3vw,65px);padding:0 clamp(22px,3.5vw,68px);background:linear-gradient(90deg,#061019,#061019dc 62%,#07101888);border-bottom:1px solid #ffffff12}.brand{display:flex;gap:15px;align-items:center;flex:none;font-family:Cinzel,Georgia,serif;font-size:22px;font-weight:700;line-height:1.08;letter-spacing:.04em;color:var(--goldLight)}.brand-emblem{font-size:52px;line-height:.8;color:var(--goldLight);transform:rotate(-5deg)}.topnav{display:flex;gap:clamp(12px,2vw,34px);align-items:center;flex:1}.topnav button,.topnav a{background:none;border:0;padding:26px 0 21px;color:#e1e2e7;font-size:13px;white-space:nowrap;border-bottom:2px solid transparent;transition:color .2s}.topnav :is(button,a):hover,.topnav .nav-active{color:var(--goldLight);border-color:var(--gold)}.header-right{margin-left:auto;display:flex;align-items:center;gap:20px}.privacy{font-size:12px;color:#b3b9bd;display:flex;gap:8px;align-items:center;white-space:nowrap}.menu-toggle{display:none;background:#0d1a27;border:1px solid var(--border);border-radius:8px;color:var(--goldLight);padding:9px}.hero{min-height:clamp(575px,42vw,680px);position:relative;isolation:isolate;display:flex;align-items:center;padding:36px clamp(22px,5vw,96px) 40px;overflow:hidden;background:linear-gradient(110deg,#040b12 4%,#08131b 54%,#172b34)}.hero-image{position:absolute;z-index:-2;top:0;right:0;bottom:0;left:0;background-image:url(../assets/hero-david-goliath-v2.jpg);background-size:cover;background-position:right center;filter:saturate(1.08) contrast(1.06)}.hero:after{content:"";position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#040b12 0%,rgba(4,11,18,.92) 28%,rgba(4,11,18,.55) 52%,transparent 72%),linear-gradient(0deg,#061019 0%,transparent 26%);pointer-events:none}.hero-copy{position:relative;max-width:780px;width:min(64%,780px);margin-top:-8px}.eyebrow,.section-pre{color:var(--goldLight);font-size:11px;letter-spacing:.28em;font-weight:700}.eyebrow{display:flex;align-items:center;gap:13px;margin-bottom:32px}.line{width:31px;height:1px;background:var(--gold)}.hero h1{font-family:Cinzel,Georgia,serif;font-size:clamp(64px,7.2vw,126px);font-weight:700;letter-spacing:-.065em;line-height:.92;margin:0 0 20px;text-shadow:0 3px 22px #0008}.hero h1 em{font-style:normal;display:inline-block;color:#e6c47b;background:linear-gradient(175deg,#fff2bd,#dcae56 55%,#a16a30);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero-lead{font-family:Georgia,serif;font-size:clamp(19px,1.75vw,28px);line-height:1.2;max-width:720px;margin:0 0 6px}.byline{font-family:Georgia,serif;color:var(--goldLight);font-size:clamp(15px,1.2vw,20px);margin:0 0 28px}.features{display:flex;align-items:center;gap:0;margin-bottom:30px}.features span{display:flex;gap:11px;align-items:center;font-family:Georgia,serif;font-size:14px;line-height:1.3;padding:0 17px;border-right:1px solid #e6ca7d5c}.features span:first-child{padding-left:0}.features span:last-child{border:0}.features svg{color:var(--goldLight);width:31px;height:31px;stroke-width:1.6;flex-shrink:0}.gold-button{border:1px solid #f9d48f;background:linear-gradient(120deg,#d1a253,#f2d59a,#c89443);box-shadow:inset 0 1px #fff6,0 5px 25px #0005;border-radius:8px;color:#211707;font-family:Georgia,serif;font-weight:700;font-size:20px;padding:15px 31px;display:inline-flex;align-items:center;justify-content:center;gap:28px;transition:transform .2s,filter .2s}.gold-button:hover{transform:translateY(-3px);filter:brightness(1.07)}.mini-meta{font-size:10px;letter-spacing:.14em;line-height:1.8;color:#e9deca;margin:35px 0 0;max-width:660px}.mini-meta b{color:var(--gold)}.verse{position:absolute;top:18%;right:3.5%;width:240px;text-align:center;color:#fff;font-family:Georgia,serif;font-style:italic;font-size:24px;line-height:1.35;padding:16px 20px;background:none;border:none;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;text-shadow:0 2px 14px #000,0 1px 4px #000,0 0 24px rgba(0,0,0,.95)}.verse small{display:block;margin-top:16px;line-height:1.45;padding-top:10px;border-top:1px solid rgba(196,163,90,.75);font-size:11px;font-style:normal;letter-spacing:.04em;color:#e2cdac;text-shadow:0 2px 10px #000,0 1px 3px #000}.modules{margin-top:-4px;position:relative;z-index:1;padding:14px 16px 50px;background:linear-gradient(180deg,#07111a,#07131d)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:22px;margin:0 clamp(0px,2vw,38px) 16px}.section-heading h2{font-family:Cinzel,Georgia,serif;margin:5px 0 0;letter-spacing:.1em;font-size:clamp(23px,2.4vw,35px);font-weight:500}.heading-side{display:flex;gap:20px;align-items:center;margin-bottom:5px;font-size:10px;letter-spacing:.19em;color:#b2b9c2}.progress-number{color:var(--goldLight);letter-spacing:0;white-space:nowrap}.progress-track{height:2px;width:calc(100% - 48px);margin:0 auto 11px;background:#2b343a}.progress-track div{height:100%;background:var(--gold);transition:width .3s}.module-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px}.module-card{padding:0;min-width:0;height:clamp(370px,28vw,505px);position:relative;overflow:hidden;isolation:isolate;border:1px solid #45515d;border-radius:7px;color:#fff;background:#061019;text-align:left;box-shadow:inset 0 0 0 1px #ffffff08;transition:transform .25s,box-shadow .25s,border-color .25s}.module-card:hover{transform:translateY(-8px);box-shadow:0 22px 30px #0008;border-color:#d6aa5e}.module-art{position:absolute;z-index:-2;top:50%;right:0;bottom:0;left:0;background-image:var(--art);background-size:cover;background-position:center top;filter:saturate(.95)}.module-shade{position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#061019 0%,#061019 50%,rgba(6,16,25,.7) 62%,transparent 78%,#061019 100%);pointer-events:none}.module-text{position:absolute;top:28px;left:0;right:0;text-align:center;display:flex;align-items:center;flex-direction:column;padding:0 8px;z-index:2;box-sizing:border-box}.module-tag{font-size:10px;color:#c4a35a;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}.module-text h3{font-family:Georgia,serif;font-weight:600;line-height:1.2;font-size:clamp(13px,1.1vw,18px);margin:4px 0 5px;text-shadow:0 2px 10px #000;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;width:100%;max-width:100%}.module-text p{font-size:clamp(8.5px,.65vw,10.5px);line-height:1.35;text-transform:uppercase;letter-spacing:.08em;color:#e2cc9a;margin:0;width:100%;max-width:100%;word-wrap:break-word}.circle-arrow{display:grid;place-items:center;position:absolute;bottom:19px;left:50%;transform:translate(-50%);border:1.5px solid #e9c88d;background:#08131bb7;border-radius:50%;width:41px;height:41px;color:#fff;transition:background .2s}.module-card:hover .circle-arrow{background:#bf924b}.completed{position:absolute;bottom:72px;left:50%;transform:translate(-50%);background:#081712e6;border:1px solid #a7c8ad;border-radius:50px;color:#d2efd0;font-size:10px;padding:4px 8px;display:flex;align-items:center;gap:3px;white-space:nowrap}.swipe-hint{display:none}.dashboard{max-width:1420px;margin:40px auto 80px;padding:40px 48px;background:linear-gradient(130deg,#101d29,#07121b);border:1px solid #293a45;border-radius:16px;display:grid;grid-template-columns:1fr 1fr;gap:30px}.dashboard h2{font-family:Georgia,serif;font-size:33px;font-weight:400;margin:10px 0 14px}.dashboard p{max-width:580px;color:#b5bdc4;line-height:1.65}.dashboard-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px}.dashboard-actions button,.lesson-controls>button:not(.gold-button),.confirm-row button{border:1px solid #52606a;border-radius:7px;background:#122431;color:#f3eee1;padding:11px 15px;display:flex;align-items:center;gap:8px;font-size:12px}.dashboard-actions button:hover,.lesson-controls>button:not(.gold-button):hover{border-color:var(--gold)}.dashboard-actions .danger{color:#eab2ac}.stat{text-align:center;padding-right:20px}.stat strong{font-size:37px;color:var(--goldLight);display:block}.stat small{display:block;font-size:11px;color:#adb9c1}footer{border-top:1px solid #ffffff20;padding:28px 5vw;display:flex;justify-content:space-between;gap:15px;color:#a7b2b9;font-size:12px}footer strong{font-family:Cinzel,Georgia,serif;color:var(--goldLight)}.modal-backdrop{position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;background:#02070cdb;display:flex;justify-content:center;align-items:center;padding:25px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.lesson,.info-modal{background:#0c1923;border:1px solid #43515d;box-shadow:0 30px 90px #000b;color:#f2efe8}.lesson{width:min(850px,100%);max-height:min(92vh,1000px);overflow:auto;border-radius:13px}.lesson-top{padding:13px 23px;display:flex;justify-content:space-between;align-items:center;color:var(--goldLight);font-size:11px;letter-spacing:.15em}.lesson-top button,.info-close{color:#fff;border:0;background:transparent;display:grid;place-items:center}.lesson-hero{min-height:185px;background-image:linear-gradient(90deg,#071019,#071019b8 45%,#07101947),var(--art);background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:center;padding:25px 36px}.lesson-hero span{color:var(--goldLight);font-size:11px;letter-spacing:.14em}.lesson-hero h2{font-family:Georgia,serif;font-size:40px;margin:12px 0 0;font-weight:400}.lesson-hero p{font-size:14px;color:#e1d4c1;margin:7px 0}.lesson-body{padding:26px 36px 36px}.lesson-body article{border-bottom:1px solid #ffffff1b;padding:18px 0}.lesson-body article h3{display:flex;align-items:center;gap:10px;color:#e9c383;font-size:18px;font-family:Georgia,serif;font-weight:400;margin:0 0 9px}.lesson-body article p{margin:0;line-height:1.7;color:#dce0e1}.lesson-intro{display:flex;gap:10px;color:#e5d5b6;font-size:13px;border:1px solid #896c3f6e;background:#84652c18;padding:13px;border-radius:7px}.note-label{font-size:20px;font-family:Georgia,serif;color:#e6c88f;display:block;margin-top:25px}.prompt{color:#cad1d6;font-size:14px}.lesson textarea{width:100%;resize:vertical;min-height:140px;background:#08121c;color:#fff;border:1px solid #52616d;border-radius:9px;padding:16px;line-height:1.6}.local-note{font-size:11px;color:#9facb6;display:flex;gap:6px;align-items:center}.done-line{display:flex;gap:10px;align-items:center;margin:24px 0;cursor:pointer}.done-line input{accent-color:#cba55e;width:20px;height:20px}.lesson-controls{display:flex;justify-content:space-between;gap:10px}.lesson-controls button:disabled{opacity:.35;cursor:not-allowed}.lesson-controls .gold-button{font-size:15px;padding:12px 20px}.info-modal{width:min(540px,100%);position:relative;border-radius:14px;padding:38px}.info-close{position:absolute;right:15px;top:15px}.info-modal h2{font-family:Georgia,serif;font-size:31px;font-weight:400;color:#e9c88b}.info-modal p{line-height:1.7;color:#dae0e4}.info-modal .gold-button{font-size:15px;margin-top:15px}.confirm-row{display:flex;gap:10px;justify-content:flex-end}.confirm-row .delete-button{background:#79332e;color:#fff;border-color:#bc746c}@media(max-width:1350px){.topbar{gap:27px}.privacy{display:none}.hero-copy{width:70%}.verse{right:2%;top:13%;font-size:20px;width:160px}.features span{font-size:12px;padding:0 10px}.features svg{width:25px}.module-grid{grid-template-columns:repeat(10,minmax(145px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-color:#977b50 #0d1922}.module-card{height:430px;scroll-snap-align:start}.module-text h3{font-size:23px}.module-text p{font-size:11px}}@media(max-width:850px){.topbar{height:69px;padding:0 20px}.brand{font-size:17px}.brand-emblem{font-size:41px}.menu-toggle{display:grid}.topnav{display:none;position:absolute;top:69px;left:0;right:0;background:#07131ef8;border-bottom:1px solid #7c684c;padding:13px 20px;flex-direction:column;align-items:stretch;gap:0}.topnav.open{display:flex}.topnav button,.topnav a{text-align:left;padding:14px 0;width:100%}.hero{min-height:715px;padding:60px 25px 35px;align-items:end}.hero-image{top:0;right:0;bottom:0;left:0;background-position:68% 30%;opacity:.88}.hero:after{background:linear-gradient(0deg,#061019 5%,#061019ef 23%,#061019a8 45%,#06101900 86%),linear-gradient(90deg,#06101987,transparent)}.hero-copy{width:100%;max-width:650px}.eyebrow{margin-bottom:14px;letter-spacing:.15em}.hero h1{font-size:clamp(53px,10vw,85px);margin-bottom:14px}.hero-lead{font-size:20px}.byline{font-size:16px}.verse{display:none}.features{flex-wrap:wrap;gap:10px;margin:22px 0}.features span{width:calc(50% - 6px);border:0;padding:0}.mini-meta{font-size:9px;line-height:1.6;margin-top:18px}.modules{padding:5px 15px 30px}.section-heading{align-items:start;flex-direction:column;gap:9px}.heading-side{justify-content:space-between;width:100%}.heading-side>span:first-child{font-size:9px;line-height:1.4;max-width:200px}.module-grid{gap:12px;grid-template-columns:repeat(10,185px);margin-right:-15px;padding-right:15px}.module-card{height:390px}.swipe-hint{display:block;color:#abb4ba;font-size:11px;text-align:center;margin:13px 0 0}.dashboard{margin:30px 15px 50px;padding:25px 20px;display:block}.dashboard h2{font-size:27px}.dashboard-actions{justify-content:flex-start;margin-top:18px}footer{flex-wrap:wrap}.lesson-body{padding:20px}.lesson-hero{padding:23px}.lesson-hero h2{font-size:34px}.modal-backdrop{padding:10px}.lesson{max-height:96vh}}@media(max-width:390px){.hero h1{font-size:51px}.gold-button{font-size:17px}.hero{min-height:730px}.features span{font-size:11px}.brand{gap:8px}.brand-emblem{font-size:34px}.lesson-controls .gold-button{gap:5px;padding:11px}.lesson-controls>button:not(.gold-button){padding:10px}.info-modal{padding:26px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
