:root{--ink:#132027;--muted:#647078;--night:#071b28;--navy:#0d2c3b;--teal:#174b54;--gold:#e9bd54;--gold2:#ffdd7c;--paper:#f7f0dd;--cream:#fffaf0;--green:#2b806b;--red:#a3433d;--line:rgba(13,44,59,.14);--shadow:0 24px 70px rgba(3,23,34,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:linear-gradient(180deg,#061924 0,#0b2c3a 480px,#f3eddf 481px,#f8f4e9 100%);font-family:Inter,"Segoe UI",Arial,sans-serif}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}
.night{position:fixed;inset:0 0 auto;height:520px;pointer-events:none;overflow:hidden;z-index:-1;background:radial-gradient(circle at 80% 15%,rgba(239,199,102,.12),transparent 18%),radial-gradient(circle at 20% 25%,rgba(101,179,175,.12),transparent 26%)}.night i{position:absolute;width:4px;height:4px;border-radius:50%;background:#f9dc8e;box-shadow:0 0 11px #f9dc8e;animation:twinkle 3s ease-in-out infinite}.night i:nth-child(1){left:8%;top:17%}.night i:nth-child(2){left:31%;top:9%;animation-delay:.5s}.night i:nth-child(3){left:56%;top:25%;animation-delay:1.2s}.night i:nth-child(4){left:76%;top:8%;animation-delay:1.7s}.night i:nth-child(5){left:90%;top:32%;animation-delay:.8s}.night i:nth-child(6){left:43%;top:39%;animation-delay:2.2s}
.topbar{width:min(1160px,calc(100% - 40px));min-height:88px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#fff}.brand{border:0;background:transparent;color:inherit;display:flex;align-items:center;gap:13px;text-align:left;cursor:pointer}.brand b,.brand small{display:block}.brand b{font-family:Georgia,serif;font-size:18px;letter-spacing:.02em}.brand small{margin-top:3px;color:#9fb6be;font-size:11px}.crest{width:50px;height:55px;display:grid;place-items:center;clip-path:polygon(50% 0,93% 15%,88% 78%,50% 100%,12% 78%,7% 15%);background:linear-gradient(145deg,var(--gold2),#a97820);color:#102f39;font:700 26px Georgia,serif;filter:drop-shadow(0 8px 16px rgba(0,0,0,.25))}.top-actions{display:flex;align-items:center;gap:14px}.parent-link{border:1px solid rgba(255,255,255,.2);border-radius:99px;background:rgba(255,255,255,.07);color:#fff;padding:10px 16px;font-weight:700;cursor:pointer}.sync{font-size:12px;color:#b7c8cd;display:flex;align-items:center;gap:7px}.sync i{width:8px;height:8px;border-radius:50%;background:#5fd1a3;box-shadow:0 0 9px #5fd1a3}.sync.saving i{background:var(--gold);animation:pulse .8s infinite}.sync.offline i{background:#e57967}
main{width:min(1160px,calc(100% - 40px));margin:0 auto 70px}.screen{animation:enter .35s ease both}.hero{position:relative;min-height:455px;overflow:hidden;padding:62px;border:1px solid rgba(235,196,96,.26);border-radius:34px;color:#fff;background:linear-gradient(128deg,rgba(255,255,255,.04),transparent 45%),linear-gradient(125deg,#0b2634,#123f49 60%,#1c5b5b);box-shadow:var(--shadow)}.hero:before{content:"";position:absolute;inset:16px;border:1px solid rgba(233,189,84,.17);border-radius:25px;pointer-events:none}.hero-copy{position:relative;z-index:2;max-width:670px}.kicker{margin:0 0 12px;color:var(--gold2);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.16em}.kicker.dark{color:#9a6b18}.hero h1{max-width:720px;margin:0;font:700 clamp(42px,6vw,76px)/.98 Georgia,serif;letter-spacing:-.035em}.hero-copy>p:not(.kicker){max-width:570px;margin:24px 0 30px;color:#c5d4d7;font-size:18px;line-height:1.55}.button{min-height:52px;border:0;border-radius:12px;padding:0 22px;font-weight:900;cursor:pointer;transition:.2s transform,.2s box-shadow}.button:hover{transform:translateY(-2px)}.gold{background:linear-gradient(180deg,var(--gold2),var(--gold));color:#34270b;box-shadow:0 10px 28px rgba(233,189,84,.23)}.ghost{background:#e8eee9;color:#24505a}.tower{position:absolute;right:70px;bottom:0;width:280px;height:370px}.moon{position:absolute;right:0;top:20px;width:154px;height:154px;border-radius:50%;background:#f7d989;box-shadow:0 0 65px rgba(247,217,137,.35)}.keep{position:absolute;left:80px;bottom:0;width:148px;height:246px;background:linear-gradient(90deg,#091c25,#102d38 55%,#0a202a);clip-path:polygon(0 15%,20% 15%,20% 0,35% 0,35% 15%,66% 15%,66% 0,81% 0,81% 15%,100% 15%,100% 100%,0 100%)}.roof{position:absolute;left:58px;bottom:230px;color:#081820;font-size:168px;line-height:1;transform:scaleX(.65)}.window{position:absolute;z-index:2;width:16px;height:29px;border-radius:10px 10px 2px 2px;background:#ffd777;box-shadow:0 0 14px #ffd777}.w1{left:116px;bottom:176px}.w2{left:176px;bottom:118px}.w3{left:124px;bottom:62px}.flying-owl{position:absolute;left:12px;top:73px;font-size:47px;transform:rotate(-12deg);filter:drop-shadow(0 8px 8px rgba(0,0,0,.3));animation:float 4s ease-in-out infinite}
.progress-card{position:relative;z-index:3;margin:-30px 32px 0;padding:25px 29px 21px;border:1px solid var(--line);border-radius:21px;background:rgba(255,250,240,.98);box-shadow:0 14px 40px rgba(9,35,46,.12);display:grid;grid-template-columns:1fr auto;gap:16px 30px;align-items:center}.progress-card h2,.section-heading h2{margin:0;font:700 27px Georgia,serif}.progress-meta{text-align:right}.progress-meta span{display:block;color:var(--muted);font-size:12px}.progress-meta b{display:block;margin-top:3px;color:#9a6b18;font-size:22px}.progress-track{grid-column:1/-1;height:9px;border-radius:99px;background:#ddd8c9;overflow:hidden}.progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#277362,var(--gold));transition:width .5s}
.route{padding-top:70px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:25px}.section-heading>p{max-width:360px;margin:0;color:var(--muted);line-height:1.5}.lesson-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.lesson-card{position:relative;min-height:235px;overflow:hidden;padding:21px;border:1px solid var(--line);border-radius:20px;background:rgba(255,250,240,.92);box-shadow:0 9px 28px rgba(15,45,56,.08);color:inherit;text-align:left;cursor:pointer;transition:.2s}.lesson-card:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(15,45,56,.14)}.lesson-card.current{outline:2px solid var(--gold);background:#fffaf0}.lesson-card.done{background:#edf7ef}.lesson-card:after{content:attr(data-symbol);position:absolute;right:-8px;bottom:-24px;color:rgba(13,44,59,.06);font:700 90px Georgia,serif}.lesson-number{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.lesson-number i{width:38px;height:43px;display:grid;place-items:center;clip-path:polygon(50% 0,93% 15%,88% 78%,50% 100%,12% 78%,7% 15%);background:var(--teal);color:#fff;font-style:normal;font-size:15px}.lesson-card.done .lesson-number i{background:var(--green)}.lesson-card h3{position:relative;z-index:1;margin:0;font:700 20px/1.2 Georgia,serif}.lesson-card p{position:relative;z-index:1;margin:9px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.card-stars{position:absolute;left:21px;bottom:17px;color:#ad7b1d;letter-spacing:1px}
.lesson-shell{max-width:900px;margin:26px auto 0}.back-button{margin-bottom:18px;border:0;background:transparent;color:#f2d47f;padding:10px 0;font-weight:800;cursor:pointer}.lesson-head{display:flex;justify-content:space-between;gap:30px;align-items:start;margin-bottom:24px;color:#fff}.lesson-head h1{margin:0;font:700 clamp(35px,5vw,56px)/1 Georgia,serif}.lesson-goal{max-width:620px;margin:14px 0 0;color:#b9cbd0;font-size:16px;line-height:1.5}.book-chip{flex:0 0 190px;padding:14px;border:1px solid rgba(255,255,255,.17);border-radius:15px;background:rgba(255,255,255,.06);display:flex;align-items:center;gap:10px;color:#b8c9cd;font-size:11px;line-height:1.35}.book-chip span{font-size:28px}.book-chip b{color:#fff}.task-progress{display:flex;align-items:center;gap:12px;margin:20px 0 13px;color:#b7c9ce;font-size:12px;font-weight:800}.task-dots{display:flex;gap:4px;flex:1}.task-dots i{height:6px;flex:1;border-radius:99px;background:rgba(255,255,255,.18)}.task-dots i.done{background:#68c6a3}.task-dots i.current{background:var(--gold)}.task-card{min-height:460px;padding:35px;border:1px solid rgba(233,189,84,.24);border-radius:27px;background:var(--cream);box-shadow:var(--shadow)}.task-top{display:flex;justify-content:space-between;gap:10px}.task-badge,.task-reward{display:inline-flex;align-items:center;min-height:27px;border-radius:99px;padding:0 10px;font-size:11px;font-weight:900}.task-badge{background:#e7eee9;color:#23545b}.task-reward{color:#9a6b18;background:#fff1c4}.task-card h2{margin:20px 0 24px;font:700 clamp(24px,4vw,34px)/1.25 Georgia,serif}.task-scene:empty{display:none}.task-scene{margin:20px 0 8px;padding:20px;border-radius:18px;background:linear-gradient(145deg,#edf2e9,#f6efd9);border:1px solid rgba(13,44,59,.08)}.icon-scene{display:flex;justify-content:center;align-items:end;gap:15px;flex-wrap:wrap}.icon-piece{min-width:72px;padding:10px 9px;border-radius:13px;background:rgba(255,255,255,.72);text-align:center}.icon-piece b{display:block;font-size:36px;line-height:1.1}.icon-piece small{display:block;margin-top:6px;color:#5e696b;font-size:11px}.venn{position:relative;width:min(470px,100%);height:225px;margin:auto}.venn-circle{position:absolute;top:28px;width:210px;height:170px;border:4px solid #38746e;border-radius:50%;background:rgba(69,143,130,.12)}.venn-circle.right{right:30px;border-color:#a57428;background:rgba(233,189,84,.14)}.venn-circle.left{left:30px}.venn-label{position:absolute;top:0;font-weight:900;color:#345b5d}.venn-label.a{left:68px}.venn-label.b{right:68px}.venn-item{position:absolute;z-index:2;transform:translate(-50%,-50%);font-size:27px}.number-path{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.number-path span{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#fff;border:2px solid #d3c59d;font-weight:900}.number-path i{color:#9a6b18;font-style:normal}.scroll-art{max-width:520px;margin:auto;padding:20px 25px;background:#fff8dc;border:1px solid #d5bd78;border-radius:8px;box-shadow:inset 12px 0 0 rgba(213,189,120,.15),inset -12px 0 0 rgba(213,189,120,.15);text-align:center;font:700 21px/1.5 Georgia,serif}.task-theory{margin:0 0 22px;padding:17px 19px;border-left:4px solid var(--gold);border-radius:0 12px 12px 0;background:#fff4ce;color:#574718;line-height:1.55}.task-answer input{width:100%;min-height:66px;padding:0 18px;border:2px solid #d8d2c3;border-radius:13px;background:#fff;color:var(--ink);font-size:22px;font-weight:800;outline:none}.task-answer input:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(233,189,84,.16)}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.choice{min-height:59px;padding:12px 14px;border:2px solid #dfd8c7;border-radius:13px;background:#fff;color:var(--ink);font-weight:800;cursor:pointer}.choice.visual{min-height:92px;font-size:17px}.choice:hover,.choice.selected{border-color:#2d766d;background:#e7f1eb;color:#174d4a}.choice.correct{border-color:#37846d;background:#e4f5eb}.feedback{min-height:50px;margin-top:14px;border-radius:12px;line-height:1.4;font-weight:700}.feedback.show{padding:13px 15px}.feedback.good{color:#17644f;background:#e3f5ec}.feedback.bad{color:#913a35;background:#fbe9e5}.feedback.hint{color:#665018;background:#fff1c6}.task-actions{display:flex;gap:10px;justify-content:space-between;margin-top:17px}.task-actions .gold{margin-left:auto;min-width:145px}.finish-screen{min-height:70vh;display:grid;place-items:center}.finish-card{width:min(620px,100%);padding:52px 38px;text-align:center;border:1px solid #d8ceb1;border-radius:28px;background:#fffaf0;box-shadow:var(--shadow)}.cup{font-size:70px;animation:bounce .8s}.finish-card h1{margin:8px 0 13px;font:700 46px Georgia,serif}.finish-card>p:not(.kicker){max-width:450px;margin:auto;color:var(--muted);line-height:1.55}.finish-stars{margin:24px 0;font-size:42px;color:#b17c1e;letter-spacing:8px}
.auth-screen{min-height:calc(100vh - 110px);display:grid;place-items:center}.auth-card{width:min(490px,100%);padding:38px;border:1px solid rgba(233,189,84,.35);border-radius:28px;background:#fffaf0;box-shadow:var(--shadow);text-align:center}.owl{font-size:65px;filter:drop-shadow(0 8px 8px rgba(0,0,0,.18))}.auth-card h1{margin:7px 0 12px;font:700 37px/1.05 Georgia,serif}.auth-card>p:not(.kicker){color:var(--muted);line-height:1.5}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:24px 0 18px;padding:4px;border-radius:12px;background:#ebe5d6}.auth-tabs button{min-height:43px;border:0;border-radius:9px;background:transparent;color:#667174;font-weight:800;cursor:pointer}.auth-tabs button.active{background:#fff;color:#163c46;box-shadow:0 4px 12px rgba(0,0,0,.08)}.auth-card label{display:block;margin:13px 0;text-align:left;color:#44575b;font-size:12px;font-weight:800}.auth-card input{width:100%;min-height:54px;margin-top:6px;padding:0 14px;border:2px solid #d9d2c0;border-radius:11px;background:#fff;font-size:17px;outline:none}.auth-card input:focus{border-color:var(--gold)}.auth-card .button{width:100%;margin-top:6px}.auth-help{margin:10px 0;color:#798285;font-size:12px;line-height:1.4}.auth-error{min-height:21px;color:var(--red);font-size:13px;font-weight:700}
.parent-dialog{width:min(760px,calc(100% - 28px));max-height:88vh;padding:0;border:0;border-radius:25px;color:var(--ink);background:#fffaf0;box-shadow:0 30px 90px rgba(0,0,0,.35)}.parent-dialog::backdrop{background:rgba(3,18,27,.76);backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:start;padding:25px 28px 18px;border-bottom:1px solid var(--line)}.dialog-head h2{margin:0;font:700 28px Georgia,serif}.dialog-head small{display:block;margin-top:5px;color:var(--muted)}.close-button{width:40px;height:40px;border:0;border-radius:50%;background:#eae4d5;font-size:25px;cursor:pointer}.parent-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:20px 28px}.parent-stats div{padding:15px;border-radius:15px;background:#f0ebdf}.parent-stats span,.parent-stats b{display:block}.parent-stats span{color:var(--muted);font-size:11px}.parent-stats b{margin-top:4px;font-size:22px}.parent-list{max-height:260px;overflow:auto;margin:0 28px;border:1px solid var(--line);border-radius:15px}.parent-row{display:grid;grid-template-columns:38px 1fr auto;gap:11px;align-items:center;padding:11px 13px;border-bottom:1px solid var(--line)}.parent-row:last-child{border:0}.parent-row .status{width:32px;height:36px;display:grid;place-items:center;clip-path:polygon(50% 0,93% 15%,88% 78%,50% 100%,12% 78%,7% 15%);background:#dcd7c9}.parent-row.done .status{background:#5b9b7c;color:#fff}.parent-row b{display:block;font-size:13px}.parent-row small{color:var(--muted)}.parent-note{margin:18px 28px 10px;padding:16px;border-radius:14px;background:#fff0bd}.parent-note p{margin:6px 0 0;color:#675627;font-size:13px;line-height:1.5}.parent-controls{display:flex;justify-content:space-between;padding:8px 28px 24px}.parent-controls button{border:0;background:transparent;color:#396069;font-weight:700;cursor:pointer}.parent-controls .danger{color:var(--red)}
@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes float{50%{transform:translateY(-12px) rotate(-5deg)}}@keyframes twinkle{50%{opacity:.2;transform:scale(.6)}}@keyframes pulse{50%{opacity:.35}}@keyframes bounce{0%{transform:scale(.5) rotate(-8deg)}70%{transform:scale(1.12) rotate(4deg)}100%{transform:none}}
@media(max-width:980px){.lesson-grid{grid-template-columns:repeat(3,1fr)}.hero{padding:48px 38px}.hero-copy{max-width:62%}.hero h1{font-size:52px}.tower{right:20px;transform:scale(.82);transform-origin:bottom right}}
@media(max-width:690px){body{background:linear-gradient(180deg,#061924 0,#0b2c3a 600px,#f3eddf 601px,#f8f4e9 100%)}.topbar,main{width:min(100% - 24px,1160px)}.topbar{min-height:75px}.crest{width:42px;height:47px}.brand b{font-size:14px}.brand small,.sync{display:none}.parent-link{padding:8px 11px;font-size:11px}.hero{min-height:540px;padding:33px 23px;border-radius:25px}.hero-copy{max-width:none}.hero h1{font-size:43px}.hero-copy>p:not(.kicker){font-size:15px}.tower{right:50%;bottom:-35px;transform:translateX(50%) scale(.62);transform-origin:bottom center}.progress-card{margin:-18px 9px 0;padding:19px 17px 16px}.progress-card h2{font-size:20px}.route{padding-top:50px}.section-heading{display:block}.section-heading>p{margin-top:8px;font-size:13px}.lesson-grid{grid-template-columns:1fr}.lesson-card{min-height:160px}.lesson-head{display:block}.book-chip{width:100%;margin-top:14px}.task-card{min-height:430px;padding:22px 17px;border-radius:21px}.task-card h2{font-size:24px}.choice-grid{grid-template-columns:1fr}.task-actions{flex-wrap:wrap}.task-actions .button{flex:1}.task-actions .gold{margin-left:0}.venn{height:190px;transform:scale(.82);transform-origin:center top;margin-bottom:-28px}.icon-piece{min-width:62px}.auth-card{padding:28px 19px}.auth-card h1{font-size:31px}.parent-stats,.dialog-head{padding-left:18px;padding-right:18px}.parent-list,.parent-note{margin-left:18px;margin-right:18px}.parent-controls{padding-left:18px;padding-right:18px}.parent-row{grid-template-columns:36px 1fr}.parent-row>span:last-child{grid-column:2}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
