:root{--ink:#17243d;--muted:#65738d;--paper:#f5f8ff;--white:#fff;--navy:#17284d;--blue:#4d6bdb;--blue-soft:#e8eeff;--mint:#dff7ec;--green:#20976e;--yellow:#ffca56;--orange:#ff985b;--purple:#8c78e8;--pink:#ef8bb7;--line:#e2e9f4;--shadow:0 14px 32px rgba(33,54,96,.08);--radius:22px;--radius-sm:14px;--font:'Nunito','Plus Jakarta Sans',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.55}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #f0a735;outline-offset:3px}button:disabled{opacity:.55;cursor:not-allowed}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{background:var(--navy);color:white;padding:22px 15px;display:flex;flex-direction:column;gap:24px;min-height:100vh;position:sticky;top:0;height:100vh;overflow:auto;z-index:20}.brand{display:flex;align-items:center;gap:12px;padding:2px 10px 12px}.brand-mark{width:46px;height:46px;border-radius:15px;background:linear-gradient(145deg,#ffd168,#ff9c57);color:#26375e;display:grid;place-items:center;font-size:28px;font-weight:900;box-shadow:0 7px 18px #0c183b66}.brand strong{display:block;font-size:15px;line-height:1.12;letter-spacing:.4px}.brand span{color:#b9c8ed;font-size:11px;font-weight:700;letter-spacing:1.3px}.nav-label{color:#8294bf;text-transform:uppercase;font-size:10px;letter-spacing:1.6px;font-weight:900;padding:0 13px;margin:0 0 6px}.main-nav{display:grid;gap:6px}.nav-btn{border:0;background:transparent;color:#ced8f4;text-align:left;display:flex;align-items:center;gap:13px;border-radius:13px;padding:12px 13px;min-height:46px;font-weight:800;font-size:13px;transition:background .18s,color .18s,transform .18s}.nav-btn .nav-icon{width:22px;font-size:20px;text-align:center}.nav-btn:hover{background:#ffffff12;color:#fff;transform:translateX(2px)}.nav-btn.active{background:linear-gradient(100deg,#536fe0,#5260bd);color:#fff;box-shadow:0 8px 20px #111c4c55}.sidebar-bottom{margin-top:auto;background:#ffffff0d;border:1px solid #ffffff18;border-radius:18px;padding:14px}.sidebar-bottom p{color:#cad4ee;font-size:12px;margin:7px 0 12px}.sidebar-bottom .mini-progress{height:7px;background:#ffffff20;border-radius:20px;overflow:hidden}.sidebar-bottom .mini-progress span{height:100%;background:var(--yellow);display:block;border-radius:20px}.sidebar-bottom small{color:#a8b8df;font-size:11px}.main-area{min-width:0;display:flex;flex-direction:column}.topbar{height:76px;padding:0 clamp(18px,3vw,44px);display:flex;align-items:center;justify-content:space-between;gap:18px;background:#f8faffd9;border-bottom:1px solid #e7edf8;position:sticky;top:0;z-index:10;backdrop-filter:blur(14px)}.topbar-left{display:flex;align-items:center;gap:12px;min-width:0}.topbar h2{font-size:15px;margin:0;font-weight:900}.topbar .date-line{font-size:12px;color:var(--muted)}.topbar-right{display:flex;align-items:center;gap:10px}.greeting-pill{display:flex;align-items:center;gap:9px;background:white;border:1px solid var(--line);border-radius:30px;padding:6px 12px 6px 7px;font-weight:800;font-size:12px}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#ffe5b5;font-size:20px}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:42px;height:42px;font-size:18px;color:var(--navy)}.mobile-brand{display:none}.content{width:100%;max-width:1560px;margin:0 auto;padding:28px clamp(18px,3vw,44px) 50px;min-width:0}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:24px}.eyebrow{font-size:11px;font-weight:900;color:var(--blue);letter-spacing:1.6px;text-transform:uppercase;display:block;margin-bottom:7px}.page-title{font-size:clamp(26px,3vw,36px);line-height:1.15;letter-spacing:-.9px;margin:0;font-weight:900}.page-subtitle{color:var(--muted);font-size:14px;max-width:740px;margin:9px 0 0}.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;background:#eef3ff;color:#455bc2;font-size:11px;font-weight:900;border-radius:99px}.btn{border:0;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:13px;min-height:46px;padding:11px 17px;font-weight:900;font-size:13px;line-height:1.2;transition:transform .16s,box-shadow .16s,background .16s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--blue);color:#fff;box-shadow:0 8px 17px #4d6bdb2b}.btn-primary:hover{background:#3f59c8;box-shadow:0 10px 20px #4d6bdb44}.btn-secondary{background:white;color:var(--navy);border:1px solid var(--line)}.btn-soft{background:var(--blue-soft);color:#3f56bc}.btn-orange{background:var(--yellow);color:#362d18}.btn-danger{background:#fff0ef;color:#b8403e;border:1px solid #f9d4d0}.btn-success{background:#ddf7ea;color:#167451}.btn-small{min-height:37px;padding:8px 12px;font-size:12px;border-radius:11px}.card{background:var(--white);border:1px solid #e9eef7;border-radius:var(--radius);box-shadow:var(--shadow)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:28px 0 14px}.section-heading h2{font-size:19px;letter-spacing:-.3px;margin:0;font-weight:900}.section-heading p{color:var(--muted);font-size:12px;margin:4px 0 0}.text-link{border:0;background:transparent;color:var(--blue);font-weight:900;font-size:12px;padding:9px}.text-muted{color:var(--muted)}.small{font-size:12px}.microcopy{font-size:11px;color:var(--muted);margin:9px 0 0}.badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:900;padding:5px 9px;border-radius:99px;background:#f1f4fa;color:#51617c}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.stat-card{padding:17px 18px;display:flex;align-items:center;gap:13px;min-width:0}.stat-icon{width:47px;height:47px;border-radius:15px;display:grid;place-items:center;font-size:24px;flex-shrink:0}.stat-card small{display:block;color:var(--muted);font-size:11px;font-weight:800}.stat-card strong{display:block;font-size:24px;line-height:1.15;font-weight:900}.stat-card .tiny-note{font-size:10px;color:var(--muted);margin-top:3px}.hero-panel{position:relative;overflow:hidden;background:linear-gradient(115deg,#263d73,#506bd7 57%,#8b7bea);border-radius:27px;padding:clamp(24px,4vw,42px);color:#fff;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(200px,.65fr);align-items:center;gap:20px;box-shadow:0 18px 38px #394eab25}.hero-panel:before,.hero-panel:after{content:'';position:absolute;border:1px solid #ffffff23;border-radius:50%;pointer-events:none}.hero-panel:before{width:390px;height:390px;right:-72px;top:-190px}.hero-panel:after{width:270px;height:270px;right:45px;bottom:-210px}.hero-copy,.hero-art{position:relative;z-index:1}.hero-copy .hero-eyebrow{font-size:11px;letter-spacing:2px;font-weight:900;color:#fbd676}.hero-copy h1{font-size:clamp(28px,4vw,44px);line-height:1.05;letter-spacing:-1px;margin:12px 0 13px;font-weight:900;max-width:650px}.hero-copy p{color:#e0e7ff;max-width:600px;font-size:14px;margin:0 0 22px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.hero-panel .btn-primary{background:#ffce62;color:#27365c;box-shadow:none}.hero-panel .btn-secondary{background:#ffffff17;border-color:#ffffff40;color:#fff}.hero-art{height:205px;display:flex;align-items:center;justify-content:center}.hero-shapes{width:250px;height:210px;position:relative}.hero-shapes span{position:absolute;display:grid;place-items:center;filter:drop-shadow(0 10px 8px #14234b45);font-size:95px;line-height:1}.hero-shapes .shape-one{left:20px;top:20px;color:#ffd066;transform:rotate(-14deg)}.hero-shapes .shape-two{right:18px;top:4px;color:#b4f0d4;font-size:118px;transform:rotate(8deg)}.hero-shapes .shape-three{left:75px;bottom:0;color:#ff9f8a;font-size:91px;transform:rotate(20deg)}.hero-spark{position:absolute;font-size:20px;color:#fff6c9}.hero-spark.a{right:3px;top:20px}.hero-spark.b{left:10px;bottom:28px}.journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.journey-card{padding:17px 18px;min-height:160px;position:relative;overflow:hidden;cursor:pointer;transition:transform .18s,box-shadow .18s;border:1px solid #e7ecf5}.journey-card:hover{transform:translateY(-3px);box-shadow:0 16px 30px #23396815}.journey-card .land-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;font-size:25px;margin-bottom:13px}.journey-card h3{font-size:15px;margin:0 0 4px;font-weight:900}.journey-card p{font-size:12px;color:var(--muted);margin:0;max-width:250px}.journey-card .land-arrow{position:absolute;right:17px;bottom:16px;color:#7a8baa;font-weight:900;font-size:18px}.journey-card .land-progress{position:absolute;left:18px;right:54px;bottom:21px;height:5px;background:#edf1f7;border-radius:99px;overflow:hidden}.journey-card .land-progress span{display:block;height:100%;background:var(--green);border-radius:99px}.split-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:18px}.panel-card{padding:21px}.panel-card h3{margin:0;font-size:16px;font-weight:900}.panel-card>p{color:var(--muted);font-size:12px;margin:6px 0 15px}.continue-card{background:#fff;border:1px solid #e7edf7;border-radius:21px;padding:20px;display:flex;gap:14px;align-items:center}.continue-icon{width:60px;height:60px;display:grid;place-items:center;border-radius:19px;background:#fff0ca;font-size:30px;flex-shrink:0}.continue-card h3{font-size:15px;margin:0 0 3px}.continue-card p{color:var(--muted);font-size:12px;margin:0 0 10px}.shape-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.shape-card{padding:13px;min-width:0;cursor:pointer;transition:transform .17s,box-shadow .17s;border:1px solid #e7edf7}.shape-card:hover{transform:translateY(-3px);box-shadow:0 14px 26px #223a6814}.shape-illustration{aspect-ratio:4/3;width:100%;max-width:400px;margin:0 auto 11px;border-radius:14px;overflow:hidden;background:#f8faff;display:flex;align-items:center;justify-content:center}.shape-illustration img{display:block;width:100%;height:100%;object-fit:contain;padding:5px}.shape-card .shape-title{font-size:13px;font-weight:900;line-height:1.25;margin:0 0 4px}.shape-card .shape-meta{color:var(--muted);font-size:10px;margin:0 0 11px}.shape-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.shape-card-bottom span{font-size:10px;color:#62718b}.shape-card-bottom button{min-height:32px;padding:6px 9px;border:0;border-radius:9px;background:#edf1ff;color:#4358bd;font-size:11px;font-weight:900}.filter-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.filter-chip{min-height:39px;border-radius:99px;padding:8px 14px;border:1px solid var(--line);background:#fff;color:#64718b;font-size:12px;font-weight:900}.filter-chip.active{background:var(--navy);color:white;border-color:var(--navy)}.search-field{border:1px solid #dfe6f2;background:#fff;border-radius:13px;min-height:43px;padding:10px 14px;min-width:220px;color:var(--ink);outline:none}.search-field:focus{border-color:#788ce3;box-shadow:0 0 0 3px #697fdb1c}.detail-hero{padding:22px;display:grid;grid-template-columns:220px minmax(0,1fr);gap:25px;align-items:center}.detail-hero .shape-illustration{width:100%;margin:0}.detail-hero h2{font-size:26px;margin:8px 0 7px;line-height:1.2}.detail-hero p{color:var(--muted);margin:0 0 12px}.detail-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.92fr);gap:17px;margin-top:17px}.list-check{list-style:none;margin:0;padding:0;display:grid;gap:10px}.list-check li{position:relative;padding-left:27px;font-size:13px;color:#42516e}.list-check li:before{content:'✓';position:absolute;left:0;top:0;width:19px;height:19px;background:#e0f8ec;border-radius:7px;color:#1b8d65;display:grid;place-items:center;font-size:12px;font-weight:900}.example-box{background:#fff8e6;border:1px solid #f8e9bc;border-radius:16px;padding:15px}.example-box h4{margin:0 0 6px;font-size:13px}.example-box p{margin:0;font-size:13px;color:#625538}.application-list{display:flex;flex-wrap:wrap;gap:7px}.application-list span{padding:6px 9px;border-radius:10px;background:#eff4fb;color:#536380;font-size:11px;font-weight:800}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{display:grid;gap:6px;min-width:0}.field label{font-size:12px;font-weight:900;color:#43516d}.field input,.field select{width:100%;min-width:0;min-height:47px;padding:10px 12px;border-radius:12px;border:1px solid #dce4f0;background:#fbfcff;color:var(--ink);font-weight:800}.field input.invalid,.field select.invalid{border-color:#dd5c56;background:#fff4f2;box-shadow:0 0 0 3px #dd5c5614}.field-hint{font-size:10px;color:#7d8ba2}.inline-alert{padding:12px 14px;border-radius:13px;background:#fff1ef;color:#ae3934;font-size:12px;border:1px solid #f3d1cd;margin:12px 0}.inline-success{padding:12px 14px;border-radius:13px;background:#e7f9ef;color:#19724e;font-size:12px;border:1px solid #c9efd9;margin:12px 0}.lab-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:17px;align-items:start}.lab-chooser{padding:14px;position:sticky;top:92px;max-height:calc(100vh - 115px);overflow:auto}.lab-chooser h3{font-size:12px;color:#8090aa;text-transform:uppercase;letter-spacing:1px;margin:12px 7px 8px}.lab-shape-btn{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;text-align:left;padding:9px;border-radius:12px;color:#50607a;font-size:12px;font-weight:800;min-height:42px}.lab-shape-btn:hover{background:#f3f6ff}.lab-shape-btn.active{background:#e9eeff;color:#4058c3}.lab-shape-btn .s-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#f3f5fa;font-size:17px;flex-shrink:0}.lab-main{min-width:0;display:grid;gap:16px}.lab-top-panel{padding:21px}.lab-controls-grid{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:19px;align-items:start}.lab-control-side h3{margin:0 0 13px;font-size:16px}.lab-drawing-side{min-width:0}.geometry-wrap{width:100%;min-width:0;overflow:hidden;border:1px solid #e7ecf5;border-radius:17px;background:#fbfdff}.geometry-svg{display:block;width:100%;height:auto;min-width:0}.dim-label{font:800 11px Nunito,system-ui,sans-serif;fill:#334562;paint-order:stroke;stroke:#fbfdff;stroke-width:3px;stroke-linejoin:round}.small-label{font:800 11px Nunito,system-ui,sans-serif;fill:#7787a0}.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:13px}.result-tile{padding:13px 14px;border:1px solid #e7edf6;border-radius:15px;background:#fff;min-width:0}.result-tile small{display:block;color:var(--muted);font-size:10px;font-weight:900;margin-bottom:3px}.result-tile strong{display:block;font-size:19px;line-height:1.2;font-weight:900;overflow-wrap:anywhere}.result-tile span{font-size:10px;color:#8794a9}.formula-steps{display:grid;gap:10px}.formula-step{background:#f8faff;border:1px solid #e6ebf5;border-radius:13px;padding:12px 14px}.formula-step .step-title{font-size:11px;font-weight:900;color:#6f7e98;margin-bottom:4px}.formula-step .step-formula{font-size:14px;font-weight:900;color:#26375a}.formula-step .step-substitution{font-size:12px;color:#52627d;margin-top:3px;overflow-wrap:anywhere}.comparison-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-top:10px}.comparison-row strong{color:var(--ink)}.viewer-panel{width:100%}.viewer-stage{width:100%;border:1px solid #e7ecf5;border-radius:17px;background:#fbfdff;overflow:hidden}.viewer-toolbar{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.mini-btn{min-height:37px;padding:7px 11px;border:1px solid #dfe6f2;background:#fff;border-radius:11px;color:#445473;font-weight:900;font-size:11px}.mini-btn.active{background:#e9efff;border-color:#cbd5ff;color:#4058be}.book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.formula-card{padding:14px;min-width:0}.formula-card h3{font-size:14px;margin:3px 0 11px;font-weight:900}.formula-card .shape-illustration{margin-bottom:12px}.formula-row{padding:10px 11px;background:#f7f9fe;border-radius:12px;margin-bottom:7px}.formula-row small{display:block;color:#7b8aa4;font-size:10px;font-weight:900;margin-bottom:3px}.formula-row .math{font-size:15px;font-weight:900;overflow-x:auto;max-width:100%;padding:2px 0;color:#2b3b5e}.formula-symbols{font-size:11px;color:#687791;margin:8px 2px 12px}.progress-list{display:grid;gap:12px}.progress-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:13px;align-items:center;padding:13px;background:#fff;border:1px solid #e7edf6;border-radius:15px}.progress-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:22px;background:#f1f4ff}.progress-item strong{display:block;font-size:13px}.progress-item small{color:var(--muted);font-size:11px}.progress-bar{height:7px;background:#ecf0f7;border-radius:99px;overflow:hidden;margin-top:7px}.progress-bar span{display:block;height:100%;background:linear-gradient(90deg,#536de0,#32b48a);border-radius:99px}.badge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.achievement{padding:15px 10px;text-align:center;border-radius:16px;background:#fff;border:1px solid #e6edf7}.achievement .medal{width:49px;height:49px;display:grid;place-items:center;border-radius:50%;font-size:25px;background:#f2f4f9;margin:0 auto 8px;filter:grayscale(1);opacity:.5}.achievement.earned .medal{background:#fff0c4;filter:none;opacity:1;box-shadow:0 6px 14px #eeb74828}.achievement strong{display:block;font-size:11px}.achievement small{font-size:10px;color:var(--muted)}.quiz-shell{max-width:880px;margin:0 auto}.quiz-progress-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px;color:var(--muted);font-size:12px;font-weight:900}.quiz-progress{height:8px;background:#e9edf6;border-radius:99px;overflow:hidden;margin-bottom:17px}.quiz-progress span{display:block;height:100%;background:linear-gradient(90deg,#536be0,#31b68b);border-radius:99px;transition:width .3s}.question-card{padding:clamp(19px,3vw,30px)}.question-kicker{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:#6d7b94;font-size:11px;font-weight:900;margin-bottom:12px}.question-title{font-size:clamp(18px,2.4vw,25px);line-height:1.35;margin:0 0 20px;font-weight:900}.question-visual{max-width:400px;margin:0 auto 17px}.answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.answer-option{border:1.5px solid #e1e8f3;background:#fff;color:#354563;border-radius:14px;text-align:left;padding:13px 14px;min-height:54px;font-weight:800;font-size:13px;display:flex;align-items:center;gap:10px}.answer-option:hover{border-color:#a9b5ed;background:#f7f8ff}.answer-option.selected{border-color:#526de0;background:#edf1ff;color:#3149b7;box-shadow:0 0 0 2px #526de01c}.answer-option.correct{border-color:#56bd90;background:#e8f9ef;color:#187b53}.answer-option.incorrect{border-color:#ea8c86;background:#fff0ee;color:#b33f39}.answer-option .option-letter{width:28px;height:28px;flex-shrink:0;border-radius:9px;background:#f0f3f9;display:grid;place-items:center;font-size:11px}.answer-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:20px}.quiz-feedback{padding:13px 15px;border-radius:14px;margin-top:14px;font-size:13px}.quiz-feedback.ok{background:#e8f9ef;border:1px solid #caefd9;color:#1b7551}.quiz-feedback.no{background:#fff3e6;border:1px solid #f5dfbf;color:#80511f}.hint-panel{background:#f6f7ff;border:1px solid #dfe5ff;padding:14px;border-radius:15px;margin-top:14px}.hint-panel h4{margin:0 0 7px;font-size:12px}.hint-panel p{margin:0;color:#52617c;font-size:12px}.hint-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px}.toast{position:fixed;right:22px;bottom:22px;max-width:min(420px,calc(100vw - 32px));padding:13px 16px;border-radius:14px;background:#18284b;color:white;box-shadow:0 14px 32px #10214838;z-index:1000;font-weight:800;font-size:12px;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:#a53b3a}.toast.success{background:#146f52}.empty-state{text-align:center;padding:48px 20px}.empty-state .empty-emoji{font-size:45px}.empty-state h3{margin:10px 0 4px}.empty-state p{max-width:400px;color:var(--muted);font-size:13px;margin:0 auto 16px}.app-footer{padding:0 clamp(18px,3vw,44px) 22px;color:#8b98ad;font-size:10px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.toast-region{position:relative;z-index:99}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid var(--line)}.setting-row:last-child{border-bottom:0}.setting-row strong{font-size:13px}.setting-row p{font-size:11px;color:var(--muted);margin:4px 0 0}.switch{appearance:none;width:46px;height:27px;border-radius:99px;background:#d8deea;position:relative;cursor:pointer;flex-shrink:0;transition:background .18s}.switch:before{content:'';position:absolute;width:21px;height:21px;left:3px;top:3px;background:#fff;border-radius:50%;box-shadow:0 2px 4px #18284b20;transition:transform .18s}.switch:checked{background:#4e6bdb}.switch:checked:before{transform:translateX(19px)}.math-note{font-size:11px;color:#6f7f9b;margin-top:8px}.hidden{display:none!important}

.bottom-nav{display:none}

/* Ruang tambahan khusus Peta Petualangan di beranda: deskripsi tidak tertindih progres. */
.adventure-map-grid{gap:18px}
.adventure-map-grid .journey-card{display:flex;flex-direction:column;align-items:stretch;min-height:210px;padding:18px 20px 17px;overflow:visible}
.adventure-map-grid .journey-card .land-icon{flex:0 0 auto}
.adventure-map-grid .journey-card h3{font-size:15px;line-height:1.4;overflow-wrap:anywhere;margin-bottom:6px}
.adventure-map-grid .journey-card p{font-size:12px;line-height:1.6;max-width:none;overflow-wrap:anywhere}
.adventure-map-grid .journey-card .land-progress{position:relative;left:auto;right:auto;bottom:auto;flex:0 0 6px;width:calc(100% - 30px);height:6px;margin-top:auto;margin-bottom:0}
.adventure-map-grid .journey-card .land-arrow{right:17px;bottom:11px}
.formula-row .math{display:block;line-height:1.8;min-height:30px}
.formula-row .math mjx-container{max-width:100%;overflow-x:auto;overflow-y:hidden}
.formula-row .math mjx-container[display="true"]{margin:.35em 0!important}
