:root{color-scheme:light;--ink:#0b1a51;--blue:#086cf0;--muted:#526c98;--line:#d5e7fb}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.65 Inter,"Segoe UI",Arial,sans-serif;background:radial-gradient(circle at 90% 4%,#cbe8ff 0,transparent 28%),radial-gradient(circle at 4% 44%,#e1f3ff 0,transparent 27%),#f5faff}a{color:#075ecb;text-underline-offset:3px}a:focus-visible{outline:3px solid #6cadff;outline-offset:4px}.wrap{width:min(1200px,calc(100% - 48px));margin:auto}
.site-header{background:#ffffffed;border-bottom:1px solid var(--line)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:80px}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:18px;font-weight:850;line-height:1.05;text-decoration:none;white-space:nowrap}.brand img{width:49px;height:49px;object-fit:contain}.site-header nav,.site-footer nav{display:flex;align-items:center;gap:10px 21px;flex-wrap:wrap}.site-header nav a{text-decoration:none;color:#36598e;font-size:13px;font-weight:750}.site-header nav a:hover,.site-header nav a[aria-current="page"]{color:var(--blue)}.site-header nav .cta{padding:9px 17px;border-radius:11px;background:var(--blue);color:#fff}.site-header nav .cta:hover{background:#0555c2;color:#fff}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);align-items:center;gap:clamp(24px,5vw,74px);padding:68px 0 50px}.hero-copy{min-width:0}.eyebrow{display:inline-block;margin-bottom:17px;padding:6px 13px;border:1px solid #c8e1ff;border-radius:999px;background:#e6f3ff;color:#145cae;font-size:12px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.hero h1{max-width:770px;margin:0;color:#07144b;font-size:clamp(38px,4.3vw,61px);line-height:1.08;letter-spacing:-.052em;text-wrap:balance}.lead{max-width:680px;margin:21px 0 0;color:#48648f;font-size:clamp(17px,1.55vw,20px);line-height:1.65}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 19px;border:1px solid #98c5ff;border-radius:12px;background:#fff;color:#075ecb;font-size:14px;font-weight:750;text-decoration:none;box-shadow:0 7px 17px #216bb910;transition:transform .16s,background .16s,box-shadow .16s}.button.primary{border-color:var(--blue);background:var(--blue);color:#fff;box-shadow:0 10px 22px #106ce829}.button:hover{transform:translateY(-2px);background:#eaf5ff;box-shadow:0 12px 23px #216bb91b}.button.primary:hover{background:#0558c9}
.hero-visual{position:relative;min-width:0;margin:0;padding:14px;border:1px solid #c8e2ff;border-radius:29px;background:linear-gradient(145deg,#fff,#e7f4ff);box-shadow:0 25px 55px #1260ac20;transform:rotate(1deg)}.hero-visual:before{content:"";position:absolute;inset:-18px 19px 18px -18px;z-index:-1;border-radius:35px;background:linear-gradient(135deg,#b8e1ff,#e5dfff)}.hero-visual img{display:block;width:100%;height:clamp(270px,27vw,365px);object-fit:cover;object-position:center;border-radius:18px;background:#e4f2ff}.hero-visual figcaption{position:absolute;left:28px;bottom:28px;max-width:calc(100% - 56px);padding:8px 13px;border:1px solid #e4efff;border-radius:10px;background:#fffef9f2;color:#284e82;font-size:12px;font-weight:750;box-shadow:0 8px 20px #14376320}.hero-visual.phone img{object-fit:contain;background:linear-gradient(130deg,#dfefff,#f7fbff)}
.panel{margin:0 0 24px;padding:clamp(24px,3.3vw,41px);border:1px solid var(--line);border-radius:24px;background:#fffffff0;box-shadow:0 15px 35px #2468a80d}.panel h2{max-width:820px;margin:0 0 13px;font-size:clamp(25px,2.65vw,34px);letter-spacing:-.04em;line-height:1.2;text-wrap:balance}.panel h3{margin:0 0 7px;font-size:19px;line-height:1.3}.panel p{max-width:850px;margin:0 0 13px;color:#4b658f;line-height:1.74}.panel p:last-child{margin-bottom:0}.section-intro{max-width:790px;margin-bottom:22px!important}.split-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.82fr);align-items:center;gap:clamp(22px,4vw,48px)}.split-panel.reverse{grid-template-columns:minmax(280px,.82fr) minmax(0,1fr)}.split-panel.reverse .section-photo{order:-1}.section-photo{display:block;width:100%;max-height:290px;aspect-ratio:1.55;object-fit:cover;border:1px solid #dbeaff;border-radius:18px;background:#eaf4ff;box-shadow:0 15px 26px #1d68b217}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{min-width:0;padding:17px;border:1px solid #dceafa;border-radius:19px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 7px 18px #1955970b}.card img{display:block;width:100%;height:160px;object-fit:cover;margin-bottom:17px;border:1px solid #e4eef9;border-radius:13px;background:#eaf5ff}.card h3{padding:0 2px;font-size:18px}.card p{padding:0 2px;font-size:14px;line-height:1.65}.card a{display:inline-block;margin:3px 2px 2px;font-size:14px;font-weight:750}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;list-style:none;padding:0;margin:22px 0 0;counter-reset:steps}.steps li{position:relative;min-width:0;padding:52px 21px 22px;border:1px solid #dbe9fb;border-radius:18px;background:#f6faff;counter-increment:steps}.steps li:before{content:counter(steps,decimal-leading-zero);position:absolute;top:17px;left:20px;width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#e0f0ff;color:#075ecb;font-size:12px;font-weight:850}.steps strong{display:block;margin-bottom:6px;color:#113e80}.steps span{display:block;color:#526a91;font-size:14px;line-height:1.6}
.split-panel .steps{grid-template-columns:1fr;gap:9px}.split-panel .steps li{padding:11px 14px 11px 51px}.split-panel .steps li:before{top:15px;left:13px}.pill-list{display:flex;gap:9px;flex-wrap:wrap;list-style:none;margin:18px 0 0;padding:0}.pill-list li{padding:8px 13px;border:1px solid #d4e8ff;border-radius:999px;background:#eef7ff;color:#245894;font-size:13px;font-weight:700}.note{margin-top:18px!important;padding:16px 19px;border-left:4px solid #3a91f9;border-radius:10px;background:#eff7ff;color:#315781}.section-link{display:inline-block;margin-top:13px;font-weight:750}.cta-panel{display:flex;align-items:center;justify-content:space-between;gap:25px;background:linear-gradient(115deg,#e8f4ff,#fff 70%)}.cta-panel .actions{margin-top:0;flex:none}.site-footer{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;padding:25px 0 42px;color:#6c82a7;font-size:12px}.site-footer a{color:#5875a0}
@media(max-width:950px){.hero{grid-template-columns:1fr 1fr;gap:27px}.cards.three{grid-template-columns:repeat(2,minmax(0,1fr))}.cards.three .card:last-child{grid-column:1/-1}}@media(max-width:760px){.site-header .wrap{align-items:flex-start;flex-direction:column;padding:12px 0}.site-header nav{width:100%;gap:7px 15px}.hero{grid-template-columns:1fr;padding:45px 0 34px}.hero-visual{max-width:620px;transform:none}.hero-visual img{height:280px}.split-panel,.split-panel.reverse{grid-template-columns:1fr}.split-panel.reverse .section-photo{order:0}.cards,.cards.three,.steps{grid-template-columns:1fr}.cards.three .card:last-child{grid-column:auto}.card img{height:170px}.cta-panel{display:block}.cta-panel .actions{margin-top:20px}}@media(max-width:480px){.wrap{width:min(100% - 30px,1200px)}.site-header nav a{font-size:12px}.site-header nav{gap:5px 10px}.hero h1{font-size:clamp(35px,10vw,48px)}.lead{font-size:16px}.hero-visual img{height:215px}.hero-visual figcaption{left:23px;bottom:24px}.panel{padding:21px}.actions .button{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Public guide pages: previews show the current product without cropped screenshots. */
.hero{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);padding-top:56px}.hero h1{font-size:clamp(37px,4vw,58px)}.lead{line-height:1.52}.hero-visual{transform:none;padding:14px;overflow:hidden}.hero-visual:before{inset:-14px 14px 14px -14px}.hero-points{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0 0;padding:0;list-style:none}.hero-points li{padding:5px 11px;border:1px solid #d0e4fa;border-radius:999px;background:#fff;color:#28588d;font-size:12px;font-weight:750}
.section-heading{margin-bottom:22px}.section-heading p{margin:0}.section-kicker{display:block;margin-bottom:6px;color:#0964d4;font-size:11px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.compact-panel{padding-top:30px}.panel p{line-height:1.58}.panel h2{margin-bottom:9px}
.product-preview{min-height:370px;padding:17px;border-radius:17px;background:linear-gradient(145deg,#f5faff,#e7f4ff);color:#0b1a51}.preview-bar{display:flex;align-items:center;gap:9px;min-height:38px;margin-bottom:15px}.preview-bar strong{font-size:19px}.preview-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#0874f2;color:white;font-size:20px}.preview-toggle,.preview-tag{margin-left:auto;padding:6px 10px;border:1px solid #d2e5ff;border-radius:999px;background:#fff;color:#2468aa;font-size:10px;font-weight:800;white-space:nowrap}.preview-toggle b{color:#a9bad2}.preview-filters{display:flex;gap:8px;margin-bottom:13px}.preview-filters span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:8px 10px;border:1px solid #cddff6;border-radius:9px;background:white;color:#5a739a;font-size:11px}.preview-filters span:last-child{flex:.7}.preview-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.preview-card{min-width:0;overflow:hidden;border:1px solid #d4e5fb;border-radius:12px;background:#fff;box-shadow:0 7px 16px #164a8e12}.preview-card img{display:block;width:100%;height:120px;object-fit:cover}.preview-card small,.preview-card strong,.preview-card span{display:block;margin:7px 9px}.preview-card small{color:#7250bd;font-size:9px;font-weight:800}.preview-card strong{min-height:31px;font-size:11px;line-height:1.3}.preview-card span{color:#62799b;font-size:9px}
.games-preview{background:linear-gradient(140deg,#f6f0ff,#e9f4ff)}.game-spotlight{display:grid;grid-template-columns:48% 1fr;gap:15px;align-items:center;padding:9px;border:1px solid #dddafb;border-radius:15px;background:#fff}.game-spotlight img{display:block;width:100%;height:178px;object-fit:cover;border-radius:10px}.game-spotlight small,.game-spotlight strong,.game-spotlight span{display:block}.game-spotlight small{color:#7651b9;font-size:11px;font-weight:850}.game-spotlight strong{margin:7px 0;font-size:21px}.game-spotlight span{color:#6577a0;font-size:12px}.game-minis{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:9px}.game-minis>div{display:flex;align-items:center;gap:9px;min-width:0;padding:7px;border:1px solid #dddafb;border-radius:12px;background:white}.game-minis img{width:58px;height:53px;object-fit:cover;border-radius:8px}.game-minis strong{font-size:11px}
.topic-preview{background:linear-gradient(130deg,#f3faff,#e7f1ff)}.topic-layout{display:grid;grid-template-columns:46% 1fr;gap:9px}.topic-list,.topic-detail{min-width:0;padding:9px;border:1px solid #d6e5fa;border-radius:13px;background:#fff}.topic-list span,.topic-detail span{display:block;padding:9px 7px;border-bottom:1px solid #e8f0fb;color:#365989;font-size:10px;font-weight:750}.topic-list .selected{border-radius:8px;background:#e3f2ff;color:#065fd0}.topic-detail small,.topic-detail strong{display:block;margin:7px}.topic-detail small{color:#6081af;font-size:9px;font-weight:800}.topic-detail strong{font-size:14px;line-height:1.25}.topic-detail .topic-open{border-radius:7px;background:#e9f4ff;color:#075fd2}.topic-detail .topic-open b{float:right}.topic-detail p{margin:5px 7px 7px;color:#4c6289;font-size:10px;line-height:1.4}
.access-preview{background:linear-gradient(145deg,#f3f8ff,#e1f5ff)}.access-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:10px;margin-top:25px}.access-code,.access-progress{min-width:0;padding:18px 12px;border:1px solid #cee2fa;border-radius:16px;background:#fff;box-shadow:0 12px 22px #1556a013}.access-code{text-align:center}.access-code span,.access-code small,.access-code strong{display:block}.access-code span,.access-code small{color:#617eaa;font-size:11px}.access-code strong{margin:17px 0;color:#006bea;font-size:clamp(20px,2.6vw,32px);letter-spacing:.05em}.access-progress>strong{display:block;margin-bottom:14px;font-size:13px}.access-progress>span{display:block;margin:7px 0;padding:6px;border-radius:8px;background:#edf7ff;font-size:11px}.access-progress b{color:#1bc17a}.access-progress i{float:right;color:#0668df;font-style:normal;font-weight:850}.access-caption{margin-top:18px;text-align:center;color:#426b9d;font-size:12px}
.path-grid,.level-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.path-card,.level-grid article{padding:20px;border:1px solid #d9e9fa;border-radius:17px;background:#f7fbff}.path-icon{display:grid;place-items:center;width:36px;height:36px;margin-bottom:13px;border-radius:10px;background:#e3f1ff;color:#0468de;font-size:12px;font-weight:850}.path-card p,.level-grid p{margin:0;font-size:14px}.level-grid article>span{display:block;margin-bottom:10px;color:#0870e8;font-size:12px;font-weight:850;letter-spacing:.08em}
.exercise-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.exercise-card{min-width:0;overflow:hidden;border:1px solid #dceafa;border-radius:15px;background:#fbfdff}.exercise-card img{display:block;width:100%;height:118px;object-fit:cover;background:#e9f4ff}.exercise-card h3{margin:12px 13px 2px;font-size:15px}.exercise-card p{margin:0 13px 14px;font-size:12px;line-height:1.4}.feature-band{display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:25px;background:linear-gradient(120deg,#f2f9ff,#fff)}.feature-band .button{margin-top:8px}.feature-art{display:flex;gap:11px;align-items:center}.feature-art img{width:calc(50% - 6px);aspect-ratio:1/1;object-fit:cover;border:1px solid #d9e9fc;border-radius:17px;box-shadow:0 14px 23px #1b63ae1a}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.compare-grid article{padding:20px;border:1px solid #d9e9fa;border-radius:17px;background:#f7fbff}.compare-grid h3{margin-top:11px}.compare-grid p{margin:0;font-size:14px}.compare-badge{display:inline-block;padding:4px 10px;border-radius:999px;background:#ddebff;color:#075bca;font-size:11px;font-weight:850}.compare-badge.private{background:#eee8ff;color:#6131ae}
.student-preview{padding:25px;border:1px solid #cee1fb;border-radius:21px;background:linear-gradient(150deg,#e6f3ff,#fff);box-shadow:0 14px 30px #145dab16}.student-preview-top{display:flex;gap:9px;align-items:center;margin-bottom:24px}.student-preview-top span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#0870ef;color:#fff}.student-preview label{display:block;color:#4c678f;font-size:12px;font-weight:800}.student-preview-code{margin-top:7px;padding:12px;border:1px solid #c8dffc;border-radius:10px;background:white;color:#0d3674;font-size:22px;font-weight:850;letter-spacing:.1em;text-align:center}.student-preview-button{margin-top:14px;padding:11px;border-radius:10px;background:#086cf0;color:#fff;font-size:13px;font-weight:800;text-align:center}
.access-code strong{font-size:clamp(14px,1.65vw,23px);letter-spacing:.02em;white-space:nowrap}.student-preview-code{font-size:clamp(17px,4vw,22px);letter-spacing:.04em}
@media(max-width:950px){.hero{grid-template-columns:1fr 1fr;gap:24px}.exercise-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.preview-card img{height:100px}}@media(max-width:760px){.hero{grid-template-columns:1fr}.product-preview{min-height:0}.path-grid,.level-grid{grid-template-columns:1fr}.exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-band{grid-template-columns:1fr}.feature-art{max-width:450px}.access-layout{margin-top:12px}}@media(max-width:480px){.hero-visual{padding:9px}.product-preview{padding:11px}.preview-card img{height:80px}.preview-card strong{font-size:10px}.preview-card span{font-size:8px}.game-spotlight img{height:130px}.game-spotlight strong{font-size:16px}.topic-layout{grid-template-columns:1fr}.topic-list span:nth-child(n+3){display:none}.access-layout{grid-template-columns:1fr}.access-code strong{margin:7px 0}.exercise-card img{height:92px}.exercise-card h3{font-size:13px}.exercise-card p{font-size:11px}.compare-grid{grid-template-columns:1fr}}
