:root{--accent: #ff056b;--accent-soft: #ffe3ee;--ink: #1c1330;--muted: #9a8e6f;--bg: #fdedc4;--card: #ffffff;--ring: #f3c33f;--good: #19b36b;--good-soft: #e2f7ed;--bad: #e23b54;--bad-soft: #fde6ea;--ball: #f0ecf7;--ball-edge: #ded7ec}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden}body{font-family:Schibsted Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:#e7d6ab;display:flex;justify-content:center;align-items:center}button,input,select,textarea{font-family:inherit}#root{width:100%;height:100%;display:flex;justify-content:center}.loading{align-self:center;text-align:center;color:var(--muted);padding:24px}.slide-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted);font-weight:500}.app{position:relative;width:100%;height:100%;display:flex;justify-content:center;align-items:center;padding:10px 20px}.landing-container{display:flex;width:100%;height:100%;justify-content:center;align-items:center}.landing-info{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#fdf4d1;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding:0 0 32px;text-align:center;font-family:Schibsted Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow-y:auto}.landing-info.dismissed-mobile{display:none}.landing-hero-img{width:100%;height:auto;display:block;margin-bottom:0}.landing-body{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:32px 8px;width:100%}.landing-close-btn{position:absolute;top:16px;left:16px;background:#fff;border-radius:50%;color:#111;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;z-index:10;border:2px solid #FEC007;box-shadow:0 3px #fec007}.landing-info h1{font-size:2.2rem;font-weight:800;margin:0 0 16px;line-height:1.1;color:#111;letter-spacing:-.02em}.landing-intro{font-size:1.15rem;line-height:1.6;margin:0 0 24px;color:#333}.try-lessons-btn{display:inline-block;background-color:var(--accent);background-image:radial-gradient(#d10053 15%,transparent 16%),radial-gradient(#d10053 15%,transparent 16%);background-size:10px 10px;background-position:0 0,5px 5px;color:#fff;text-align:center;text-decoration:none;font-weight:700;font-size:1.15rem;padding:16px 36px;border-radius:50px;box-shadow:inset 0 0 0 2px #c70042,0 6px #c70042;align-self:center;transition:transform .1s ease,background-color .1s ease,box-shadow .1s ease;margin-bottom:0}.landing-btn-separator{align-self:center;margin:12px 0;font-weight:600;color:#666;font-size:1.1rem}.try-lessons-btn:hover{background-color:#ff2b82;background-image:radial-gradient(#d10053 15%,transparent 16%),radial-gradient(#d10053 15%,transparent 16%);box-shadow:inset 0 0 0 2px #c70042,0 6px #c70042}.try-lessons-btn:active{transform:translateY(6px);box-shadow:inset 0 0 0 2px #c70042,0 0 #c70042}.try-lessons-btn.hiding,.landing-btn-separator.hiding{animation:fadeOut .3s forwards ease-in-out;pointer-events:none}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.landing-info .subscribe-cta{display:inline-block;background-color:#00a5c6;background-image:radial-gradient(#008CA8 15%,transparent 16%),radial-gradient(#008CA8 15%,transparent 16%);background-size:10px 10px;background-position:0 0,5px 5px;color:#fff;text-align:center;text-decoration:none;font-weight:700;font-size:1.15rem;padding:16px 36px;border-radius:50px;box-shadow:inset 0 0 0 2px #00607a,0 6px #00607a;align-self:center;transition:transform .1s ease,background-color .1s ease,box-shadow .1s ease;margin-top:0}.landing-info .subscribe-cta:hover{background-color:#00b5d6;background-image:radial-gradient(#008CA8 15%,transparent 16%),radial-gradient(#008CA8 15%,transparent 16%);box-shadow:inset 0 0 0 2px #00607a,0 6px #00607a}.landing-info .subscribe-cta:active{transform:translateY(6px);box-shadow:inset 0 0 0 2px #00607a,0 0 #00607a}.landing-header-meta{display:flex;flex-direction:row;align-items:center;justify-content:center;width:100%;margin-bottom:24px;gap:16px}.instructor-logo{width:48px;height:48px;border-radius:10px;box-shadow:0 2px 8px #0000001f;object-fit:contain}.landing-rating{display:flex;align-items:center;gap:8px;background:#ffc10714;padding:6px 12px;border-radius:20px;border:1px solid rgba(255,193,7,.2)}.stars-row{display:flex;align-items:center;gap:2px}.star-icon{width:18px;height:18px}.rating-text{font-size:13px;color:#444;font-weight:500}.rating-text strong{color:#111;font-weight:700}.try-lessons-pointer{display:none}.phone-wrap{position:relative;z-index:10;width:100%;height:100%;display:flex;justify-content:center;align-items:center;min-width:0}.demo-badge{display:none}.interactive-hint{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;background:#1c133080;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;opacity:1;transition:opacity .35s ease}.interactive-hint-closing{opacity:0;pointer-events:none}.interactive-hint-hand{width:64px;height:64px;margin-bottom:6px;animation:hintTap 1.4s infinite ease-in-out;filter:drop-shadow(0 4px 8px rgba(0,0,0,.35))}@keyframes hintTap{0%,to{transform:translateY(0) scale(1)}40%{transform:translateY(10px) scale(.92)}}.interactive-hint-text{font-family:Chalkboard SE,Comic Sans MS,Comic Neue,Caveat,Patrick Hand,cursive,sans-serif;font-size:1.5rem;font-weight:700;text-shadow:0 2px 6px rgba(0,0,0,.4)}.phone{position:relative;width:100%;max-width:375px;min-width:375px;flex-shrink:0;height:100%;max-height:812px;background:var(--bg);border:14px solid #000;border-radius:55px;box-shadow:0 18px 50px #1c13302e;overflow:hidden;display:flex;flex-direction:column}@media (max-width: 480px){.app{padding:0}.phone{max-width:none;min-width:0;flex-shrink:1;max-height:none;border-radius:0;box-shadow:none;border:none}.topbar{padding:16px 18px 10px!important}}@media (min-width: 800px){body{background:#fdf4d1;transition:background .3s ease}.landing-container{max-width:1200px;gap:clamp(24px,4vw,60px);padding:20px 40px;background:#fdf4d1}.landing-info{position:static;z-index:auto;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;flex:1;max-width:520px;text-align:left;padding:0}.landing-body{padding:24px 8px;align-items:flex-start;text-align:left}.landing-info.dismissed-mobile{display:flex!important}.landing-hero-img,.landing-close-btn{display:none}.landing-header-meta{justify-content:flex-start}.try-lessons-btn{align-self:flex-start}.landing-btn-separator{align-self:center}.landing-info .subscribe-cta{align-self:flex-start}.phone-wrap{flex-shrink:0;width:auto;max-height:812px}.demo-badge{display:block;position:absolute;top:-16px;left:50%;transform:translate(-50%);z-index:50;background:var(--accent);color:#fff;font-weight:700;font-size:.95rem;padding:8px 20px;border-radius:50px;box-shadow:0 4px 12px #1c133040;white-space:nowrap;animation:badgeBob 2s infinite ease-in-out}@keyframes badgeBob{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-5px)}}.try-lessons-pointer{display:none;flex-direction:column;align-items:center;gap:12px;color:#f9175c;flex-shrink:0;align-self:center;margin-left:20px;margin-top:-60px}.try-lessons-action{display:flex;align-items:center;gap:16px}.try-lessons-text{font-family:Chalkboard SE,Comic Sans MS,Comic Neue,Caveat,Patrick Hand,cursive,sans-serif;font-size:1.5rem;font-weight:700;letter-spacing:.02em;transform:rotate(-3deg);text-shadow:0 2px 4px rgba(0,0,0,.1);-webkit-user-select:none;user-select:none;white-space:nowrap}.try-lessons-arrow{width:80px;height:40px;animation:arrowBounceSlide 1.6s infinite ease-in-out;filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}@keyframes arrowBounceSlide{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-12px) scale(1.05)}}}@media (min-width: 1100px){.try-lessons-pointer{display:flex}.demo-badge{left:187px}}.topbar{display:flex;align-items:center;gap:10px;padding:10px 18px}.progress{flex:1;height:10px;background:#e6d5ab;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .35s ease}.progress-label{font-size:12px;font-weight:700;color:var(--muted);min-width:42px;text-align:right}.viewport{flex:1;overflow:hidden;position:relative}.viewport:has(.module-page){overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.viewport::-webkit-scrollbar{display:none}.track{display:flex;height:100%;transition:transform .4s cubic-bezier(.4,0,.2,1);will-change:transform}.slide{flex:0 0 100%;width:100%;height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.slide::-webkit-scrollbar{display:none}.slide-body{min-height:100%;padding:24px 22px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;gap:14px}.slide-header{width:100%;display:flex;flex-direction:column;align-items:center;flex-shrink:0}.slide-content{width:100%;margin-top:auto;margin-bottom:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.slide-footer{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px;flex-shrink:0}.badge{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.badge-icon{width:16px;height:16px;object-fit:contain}.muted{color:var(--muted)}.small{font-size:12.5px}.hint{margin:0}.explanation{background:var(--good-soft);color:#0f7a48;border-radius:14px;padding:12px 14px;font-size:14px;line-height:1.45;margin:4px 0 0}.nc-tip{color:var(--muted);font-size:13.5px;font-style:italic;margin:2px 0 0}.footer{padding:14px 18px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(244,241,248,0) 0%,var(--bg) 40%)}.continue{width:100%;border:none;border-radius:1000px;padding:16px;font-size:16px;font-weight:800;color:#fff;background-color:#00a5c6;background-image:radial-gradient(#008CA8 15%,transparent 16%),radial-gradient(#008CA8 15%,transparent 16%);background-size:10px 10px;background-position:0 0,5px 5px;box-shadow:inset 0 0 0 2px #00607a,0 6px #00607a;cursor:pointer;transition:transform .08s ease,box-shadow .08s ease,opacity .2s ease,background-color .1s ease}.continue:hover:not(:disabled){background-color:#00b5d6}.continue:active:not(:disabled){transform:translateY(6px);box-shadow:inset 0 0 0 2px #00607a,0 0 #00607a}.continue:disabled{background:#d8d2e4;box-shadow:0 6px #bcb6c9;color:#fff;cursor:not-allowed}.inline-continue{border:none;border-radius:14px;padding:12px 22px;font-weight:800;color:#fff;background:var(--accent);cursor:pointer}.video-slide{gap:16px}.vimeo-holder{position:relative;width:100%;border-radius:20px;overflow:hidden;background:#14101f}.vimeo-holder:after{content:"";position:absolute;top:0;right:0;width:52px;height:46px;z-index:2}.video-end-cover{position:absolute;top:0;right:0;bottom:0;left:0;background:#14101f;z-index:10}.vimeo-holder iframe{display:block;width:100%;border:0}.video-fallback{width:100%;background:#14101f;color:#fff;border-radius:20px;padding:40px 24px;display:flex;flex-direction:column;align-items:center;gap:8px}.video-fallback-icon{width:64px;height:64px;border-radius:50%;background:#ffffff1f;display:flex;align-items:center;justify-content:center;font-size:26px;padding-left:4px}.video-fallback .muted{color:#b8b2c6}.nc-slide{gap:12px}.nc-header{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;text-align:left}.nc-title{font-size:21px;line-height:1.3;margin:0;white-space:pre-line}.nc-subtitle{margin:0;color:#4a4357;font-size:14px;line-height:1.4}.circle{position:relative;width:min(85vw,350px);aspect-ratio:1 / 1;margin:6px 0;flex:0 0 auto}.circle-deco{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;color:#009cc5;pointer-events:none}.nc-ring{fill:none;stroke:#009cc5;stroke-width:1.2;opacity:.55}.cycle-arrow{fill:none;stroke:#009cc5;stroke-width:1.6;opacity:.55}.connector{stroke:#009cc5;stroke-width:2.4;stroke-linecap:round;opacity:.6}.highlight-brush{fill:none;stroke:var(--accent);stroke-linecap:round;pointer-events:none}.nc-ball{position:absolute;width:48px;height:48px;transform:translate(-50%,-50%);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:clamp(9px,2.8vw,14px);background:#fff;border:2px solid #009cc5;color:#009cc5;box-shadow:none;-webkit-user-select:none;user-select:none;z-index:1;transition:transform .12s ease,background .15s ease,border-color .15s ease}.nc-ball.clickable{cursor:pointer}.nc-ball.clickable:active{transform:translate(-50%,-50%) scale(.9)}.ball-label-narrow{font-size:.8em;letter-spacing:-.03em;white-space:nowrap}.ball-acc-flat{margin-left:-.18em}.nc-ball.static{background:#fff;border-color:#009cc5;color:#009cc5}.nc-ball.disabled{background:var(--bg);border-color:#009cc580;color:#009cc580;cursor:default;pointer-events:none}.nc-ball.locked{background:#fff;border-color:#009cc5;color:#009cc5}.nc-ball.placed,.nc-ball.revealed,.nc-ball.tapped{background:var(--good-soft);border-color:var(--good);color:#0f7a48;box-shadow:none}.nc-ball.active{transform:translate(-50%,-50%) scale(1.15);background:#009cc5;border-color:#009cc5;color:#fff;box-shadow:none}.nc-ball.slot{background:#fbd649;border:3px solid #dfb527;box-shadow:none;color:transparent}.nc-ball.slot.wrong{background:var(--bad-soft);border:2px solid var(--bad);box-shadow:none;color:transparent;animation:shake .4s}.nc-ball.wrong{background:var(--bad-soft);border:2px solid var(--bad);box-shadow:none;color:var(--bad);animation:shake .4s;cursor:pointer}.nc-ball.placed-pending{cursor:pointer}@keyframes shake{0%,to{transform:translate(-50%,-50%)}25%{transform:translate(calc(-50% - 5px),-50%)}75%{transform:translate(calc(-50% + 5px),-50%)}}.tray{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding:4px 0}.nc-tray{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:2.5px solid var(--ring);padding:0;width:100%;overflow:hidden}.tray-ball{width:62px;height:62px;padding:0;display:flex;aspect-ratio:1/1;flex-shrink:0;align-items:center;justify-content:center;border-radius:50%;border:2px solid var(--accent);background:#fff;color:var(--accent);font-weight:800;font-size:17px;cursor:grab;touch-action:none;transition:transform .1s ease}.nc-tray .tray-ball{width:auto;height:auto;aspect-ratio:auto;border-radius:0;border:none;border-right:1px solid rgba(243,195,63,.4);border-bottom:1px solid rgba(243,195,63,.4);background:#fff;color:#009cc5;font-size:14px;padding:14px 4px;box-shadow:none}.nc-tray .tray-ball:nth-child(4n){border-right:none}.tray-ball.selected{background:var(--accent);color:#fff;transform:scale(1.08)}.nc-tray .tray-ball.selected{background:#009cc51f;color:#009cc5;transform:none}.tray-ball:active{cursor:grabbing}.check-btn{width:100%;border:none;border-radius:1000px;padding:14px;font-size:16px;font-weight:800;background:#009cc5;color:#fff;box-shadow:0 4px #026984;cursor:pointer;transition:opacity .2s ease;flex-shrink:0}.check-btn:disabled{background:#c8d4d9;box-shadow:0 4px #a8bac0;cursor:not-allowed}.success-overlay{position:absolute;bottom:0;left:0;right:0;z-index:25}.success-banner{background:#afdddb;border-top:2px solid #00635A;padding:18px 20px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px}.success-top{display:flex;align-items:center;gap:12px}.success-icon{width:34px;height:34px;border-radius:50%;background:#00000026;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;color:#fff;flex-shrink:0}.success-label{font-size:22px;font-weight:800;color:#fff}.success-continue{width:100%;border:none;border-radius:1000px;padding:16px;font-size:16px;font-weight:800;color:#fff;background:#016d64;box-shadow:0 4px #004b44;cursor:pointer;transition:transform .08s ease,box-shadow .08s ease}.success-continue:active{transform:translateY(3px);box-shadow:0 1px #004b44}.drag-ghost{position:fixed;transform:translate(-50%,-50%);border-radius:50%;font-weight:800;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:50}.drag-ghost--nc{width:48px;height:48px;font-size:15px;background:#fff;border:2px solid #009cc5;color:#009cc5;box-shadow:0 4px 10px #009cc54d}.drag-ghost--fb{width:40px;height:40px;font-size:15px;background:radial-gradient(rgba(12,48,66,.1) 1.1px,transparent 1.3px) center / 7px 7px,#fff;border:3px solid #f6c12f;color:#1c1330;box-shadow:0 4px #c2890f,0 6px 9px #0000002e}.mm-slide{gap:12px}.mm-title{font-size:20px;line-height:1.3;margin:0;white-space:pre-line;text-align:left;align-self:flex-start}.mm-subtitle{margin:0;color:var(--muted);font-size:14px;text-align:left;align-self:flex-start}.mm-question{font-size:17px;font-weight:700;margin:6px 0 2px;text-align:left;align-self:flex-start}.mm-options{width:100%;display:flex;flex-direction:column;gap:10px}.mm-option{width:100%;padding:16px;border-radius:14px;border:2px solid var(--ball-edge);background:#fff;color:var(--ink);font-size:16px;font-weight:700;cursor:pointer;transition:transform .08s ease,border-color .15s ease,background .15s ease}.mm-option:active{transform:scale(.99)}.mm-option.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.mm-option.correct{border-color:var(--good);background:var(--good-soft);color:#0f7a48}.mm-option.wrong{border-color:var(--bad);background:var(--bad-soft);color:var(--bad);animation:fb-shake .4s ease-in-out}.mm-option:disabled{cursor:default;opacity:1;-webkit-text-fill-color:currentColor}.mm-option.dim{opacity:.5}.complete-slide,.complete-slide .slide-content{gap:14px}.complete-emoji{font-size:64px;line-height:1}.complete-stars{display:flex;gap:6px;font-size:44px;line-height:1}.complete-star{color:#e0d8f0;transition:color .15s ease,transform .25s cubic-bezier(.34,1.56,.64,1);display:inline-block}.complete-star--lit{color:#ffb800;transform:scale(1.25);animation:star-pop .3s cubic-bezier(.34,1.56,.64,1)}@keyframes star-pop{0%{transform:scale(0)}to{transform:scale(1.25)}}.complete-title{font-size:26px;font-weight:800;margin:0}.complete-sub{margin:0;color:var(--muted);font-size:15px;line-height:1.5;max-width:280px;text-align:center}.complete-score{display:flex;gap:16px;margin:4px 0}.complete-score-item{display:flex;flex-direction:column;align-items:center;background:var(--bad-soft);border:1.5px solid var(--bad);border-radius:14px;padding:10px 20px;min-width:80px}.complete-score-item--wrong{background:var(--bad-soft);border-color:var(--bad)}.complete-score-num{font-size:28px;font-weight:800;color:var(--bad);line-height:1}.complete-score-label{font-size:12px;color:var(--bad);margin-top:2px}.cta-button{display:inline-block;margin-top:6px;padding:16px 40px;border-radius:16px;background:var(--accent);color:#fff;font-weight:800;font-size:17px;text-decoration:none;box-shadow:0 10px 26px #ff056b59}.cta-button:active{transform:scale(.98)}.topbar-btn{flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:#fff;border:2px solid #fec007;box-shadow:0 3px #fec007;color:#0d161c;display:flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;padding:0;transition:transform .08s ease,box-shadow .08s ease}.topbar-btn:active{transform:translateY(2px);box-shadow:0 1px #fec007}.fb-slide{gap:14px}.fb-wrap{width:100%;display:flex;justify-content:center}.fb-outer{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;width:min(247px,100%)}.fb-pegs{display:flex;width:100%;height:clamp(38px,11vw,46px);padding:0;position:relative;z-index:2}.fb-peg-cell{position:absolute;top:0;bottom:0;width:40px;transform:translate(-50%);display:flex;align-items:center;justify-content:center}.fb-peg-cell:before{content:none}.fb{width:100%;background:#fff;border:2px solid #137a87;border-left:0;border-right:0;border-radius:14px 14px 0 0;padding:0;box-shadow:0 4px 12px #0000001f}.fb-nut{height:8px;margin:0;background:#137a87;border-radius:12px 12px 0 0;position:relative;z-index:4}.fb-row{display:flex}.fb-cells{display:flex;flex:1;height:clamp(40px,11vw,48px);position:relative}.fb-cell{position:absolute;top:0;bottom:0;width:40px;transform:translate(-50%);display:flex;align-items:center;justify-content:center;z-index:1}.fb-cell:nth-child(1),.fb-peg-cell:nth-child(1){left:0%}.fb-cell:nth-child(2),.fb-peg-cell:nth-child(2){left:20%}.fb-cell:nth-child(3),.fb-peg-cell:nth-child(3){left:40%}.fb-cell:nth-child(4),.fb-peg-cell:nth-child(4){left:60%}.fb-cell:nth-child(5),.fb-peg-cell:nth-child(5){left:80%}.fb-cell:nth-child(6),.fb-peg-cell:nth-child(6){left:100%}.fb-cell:before{content:"";position:absolute;top:0;bottom:0;left:50%;background:#137a87;transform:translate(-50%)}.fb-cell:nth-child(1):before{width:4px}.fb-cell:nth-child(2):before{width:3.2px}.fb-cell:nth-child(3):before{width:2.4px}.fb-cell:nth-child(4):before{width:1.8px}.fb-cell:nth-child(5):before{width:1.2px}.fb-cell:nth-child(6):before{width:.8px}.fb-row .fb-cells{border-top:2px solid #137a87}.fb-inlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:clamp(12px,3.4vw,16px);height:clamp(12px,3.4vw,16px);border-radius:50%;background:#137a87;z-index:0;pointer-events:none}.fb-dot{position:relative;z-index:2;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:clamp(11px,3.2vw,14px);border:0;padding:0;-webkit-user-select:none;user-select:none;aspect-ratio:1 / 1;flex-shrink:0}.fb-dot.tap,.fb-dot.filled{background:radial-gradient(rgba(12,48,66,.1) 1.1px,transparent 1.3px) center / 7px 7px,#fff}.fb-dot.tap{border:3px solid #009cc5;color:#009cc5;box-shadow:0 4px #026984,0 6px 12px #0003;cursor:pointer;transition:transform .08s ease,box-shadow .08s ease}.fb-dot.tap:active{transform:translateY(2px);box-shadow:0 1px #026984,0 2px 6px #0003}.fb-dot.tap.tapped{transform:translateY(2px);box-shadow:0 2px #026984,0 3px 7px #0003}.fb-dot.filled{border:3px solid #009cc5;color:#009cc5;box-shadow:none}.fb-dot.placed{background:var(--good-soft);border:3px solid var(--good);color:#0f7a48;box-shadow:none}.fb-dot.tap.peg,.fb-dot.filled.peg,.fb-dot.placed.peg{z-index:5}.fb-dot.slot{background:#fbd649;border:3px solid #dfb527;box-shadow:none;cursor:pointer}.fb-dot.slot.peg{z-index:5}.fb-dot.slot.droppable{background:#fff2c0;border:3px solid #009cc5;box-shadow:none}.fb-dot.slot.wrong{background:var(--bad-soft);border:3px solid var(--bad);box-shadow:none;animation:fb-shake .4s}.fb-dot.placed-pending{background:#fff;border:3px solid #009cc5;color:#009cc5;box-shadow:none;cursor:pointer}.fb-dot.wrong{background:var(--bad-soft);border:3px solid var(--bad);color:var(--bad);box-shadow:none;animation:fb-shake .4s;cursor:pointer}@keyframes fb-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.fb-tray{gap:12px;margin-top:6px}.fb-tray .tray-ball{width:40px;height:40px;min-width:40px;min-height:40px;padding:0;display:flex;align-items:center;justify-content:center;aspect-ratio:1 / 1;border-radius:50%;flex-shrink:0;background:radial-gradient(rgba(12,48,66,.1) 1.1px,transparent 1.3px) center / 7px 7px,#fff;border:3px solid #f6c12f;color:#1c1330;font-size:15px;box-shadow:0 4px #c2890f,0 6px 9px #0000002e}.fb-tray .tray-ball.selected{background:radial-gradient(circle at 38% 30%,#ffe588,#f6c12f 72%);border-color:#f6c12f;color:#4a3700;transform:translateY(2px);box-shadow:0 2px #c2890f,0 4px 7px #0000002e}.module-page{min-height:100%;background:var(--card)}.module-hero{position:relative;height:220px;overflow:hidden;background:url(/assets/module-1-header.png) center / cover no-repeat}.module-hero-close{position:absolute;top:16px;left:16px;z-index:2;width:40px;height:40px;border-radius:50%;background:#fff;border:2px solid #fec007;box-shadow:0 3px #fec007;color:#0d161c;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:transform .08s ease,box-shadow .08s ease}.module-hero-close:active{transform:translateY(2px);box-shadow:0 1px #fec007}.module-content{padding:22px 20px calc(28px + env(safe-area-inset-bottom))}.unit-label{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#000;margin-bottom:4px;display:block}.module-title{font-size:34px;font-weight:800;line-height:1.1;letter-spacing:-.01em;margin:0 0 10px}.module-sub{color:#4a4357;font-size:15px;line-height:1.5;font-weight:600;margin:0}.module-sub span{font-weight:800}.module-section{margin-top:26px}.module-section-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.module-section-label{font-weight:800;font-size:14px}.module-section-rule{flex:1;height:2px;border-radius:1px;background:var(--ring)}.module-section-count{font-weight:800;font-size:14px;color:var(--ink)}.module-lessons{display:flex;flex-direction:column;gap:12px}.lesson-card{display:flex;align-items:center;gap:6px;background:var(--card);border:2px solid var(--ring);border-radius:0;padding:16px 18px;text-decoration:none;color:var(--ink);transition:transform .08s ease}.lesson-card:active{transform:scale(.99)}.lesson-card.locked{border-color:#e3ddec;color:#b6aec5}.lesson-card-num{font-weight:800;margin-right:4px}.lesson-card-title{flex:1;font-size:16px;font-weight:700}.lesson-card-lock{flex:0 0 auto;width:20px;height:20px;background:currentColor;-webkit-mask:no-repeat center / contain;mask:no-repeat center / contain;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1a5 5 0 0 0-5 5v3H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-9a2 2 0 0 0-2-2h-1V6a5 5 0 0 0-5-5zm3 8H9V6a3 3 0 0 1 6 0v3z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1a5 5 0 0 0-5 5v3H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-9a2 2 0 0 0-2-2h-1V6a5 5 0 0 0-5-5zm3 8H9V6a3 3 0 0 1 6 0v3z'/%3E%3C/svg%3E")}.subscribe-cta{margin-top:20px;background:var(--accent);color:#fff;text-decoration:none;padding:18px 18px 18px 16px;display:flex;align-items:center;gap:12px}.subscribe-cta-lock{flex:0 0 auto;width:26px;height:26px;background:#fff;opacity:.9;-webkit-mask:no-repeat center / contain;mask:no-repeat center / contain;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1a5 5 0 0 0-5 5v3H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-9a2 2 0 0 0-2-2h-1V6a5 5 0 0 0-5-5zm3 8H9V6a3 3 0 0 1 6 0v3z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1a5 5 0 0 0-5 5v3H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-9a2 2 0 0 0-2-2h-1V6a5 5 0 0 0-5-5zm3 8H9V6a3 3 0 0 1 6 0v3z'/%3E%3C/svg%3E")}.subscribe-cta-text{flex:1;display:flex;flex-direction:column;gap:2px}.subscribe-cta-text strong{font-size:15px;font-weight:800}.subscribe-cta-text span{font-size:12px;opacity:.85}.subscribe-cta-btn{flex:0 0 auto;background:#fff;color:var(--accent);border:none;border-radius:20px;font-size:14px;font-weight:800;padding:9px 18px;cursor:pointer;white-space:nowrap}.payment-success-page{position:relative;min-height:100vh;width:100%;background:#faf1d6;display:flex;flex-direction:column;padding:24px 20px 40px;box-sizing:border-box;font-family:inherit;z-index:5;overflow-y:auto}.payment-success-card{position:relative;width:100%;max-width:480px;margin:auto;background:#fff;border-radius:24px;box-shadow:0 12px 40px #1c13301f;padding:36px 28px;display:flex;flex-direction:column;align-items:center;text-align:center;box-sizing:border-box;z-index:10}.success-app-icon{width:72px;height:72px;border-radius:18px;box-shadow:0 4px 12px #1c13301a;margin-bottom:16px;object-fit:cover}.payment-title{font-size:26px;font-weight:800;color:#1c1330;margin:0 0 10px;line-height:1.2}.payment-subtitle{font-size:15px;font-weight:600;color:var(--ink);line-height:1.45;margin:0 0 28px;max-width:380px}.success-steps{width:100%;display:flex;flex-direction:column;gap:18px;margin-bottom:24px;box-sizing:border-box}.success-step-box{width:100%;background:#fdfbfc;border:1.5px solid #f3ece6;border-radius:16px;padding:18px;box-sizing:border-box;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.step-label{font-size:11px;font-weight:800;text-transform:uppercase;color:#ff056b;letter-spacing:1px;margin-bottom:4px}.step-title{font-size:15px;font-weight:800;color:#1c1330;margin:0 0 12px;line-height:1.35}.step-subtitle{font-size:13.5px;font-weight:600;color:#5a5266;margin:0 0 12px}.store-badges-row,.store-badges{display:flex;gap:10px;width:100%;box-sizing:border-box;justify-content:center;align-items:center}.store-badge-link{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;background:#000;color:#fff;padding:8px 10px;border-radius:8px;text-decoration:none;height:40px;box-sizing:border-box;transition:transform .08s ease}.store-badge-link:active{transform:scale(.98)}.store-logo-svg{width:18px;height:18px;fill:currentColor;flex-shrink:0}.store-badge-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1}.badge-sub-text{font-size:7.5px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;opacity:.75;margin-bottom:2px}.badge-main-text{font-size:12px;font-weight:700}.desktop-text{display:inline}.mobile-text{display:none}.qr-container-relative{position:relative;display:inline-flex;align-items:center;justify-content:center}.redeem-action-container{display:flex;align-items:center;justify-content:center;gap:16px;position:relative;width:100%;box-sizing:border-box}.qr-wrapper{background:#fff;border:1.5px solid #e3ddec;border-radius:12px;padding:6px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #1c13300a;flex-shrink:0}.qr-code{width:120px;height:120px;display:block}.justin-pointing-hand{position:absolute;left:auto;right:-40px;bottom:-5px;width:90px;height:auto;transform:scaleX(-1) rotate(-15deg);pointer-events:none;z-index:5}.redeem-btn-mobile{display:none;align-items:center;justify-content:center;width:100%;background:#ff056b;color:#fff;font-weight:800;font-size:15px;padding:12px 16px;border-radius:12px;text-decoration:none;box-shadow:0 4px 12px #ff056b40;height:44px;box-sizing:border-box;text-align:center;transition:transform .08s ease,box-shadow .08s ease}.redeem-btn-mobile:active{transform:scale(.98);box-shadow:0 2px 6px #ff056b33}.success-step-3{background:transparent;border:none;padding:0;align-items:center;margin-top:10px}.success-step-3-content{width:100%;display:flex;justify-content:center;align-items:center}.lets-rock-img{max-width:320px;width:100%;height:auto;object-fit:contain;display:block}.success-footer{font-size:13px;font-weight:600;color:#706880;line-height:1.5;margin:0;max-width:360px}@media (max-width: 600px){.payment-success-page{background:#faf1d6!important;padding:16px;align-items:center;justify-content:center;min-height:100vh}.payment-success-card{background:#fff!important;padding:28px 18px;border-radius:20px;box-shadow:0 6px 20px #0000000d;width:100%;max-width:100%;margin:0 auto}.redeem-btn-mobile{display:flex}.desktop-text{display:none}.mobile-text{display:inline}.qr-container-relative,.qr-wrapper,.justin-pointing-hand{display:none}.redeem-action-container{justify-content:center}}@media (max-width: 340px){.payment-success-page{padding:0}.payment-success-card{border-radius:0;min-height:100vh;display:flex;flex-direction:column;justify-content:center}}.paywall-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d161cd9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:1000;padding:16px;animation:fadeIn .25s ease-out}.paywall-modal{background:#fdf7d5;border:4px solid #0d161c;border-radius:24px;width:100%;max-width:440px;max-height:90vh;overflow-y:auto;position:relative;padding:0;box-shadow:0 20px 40px #0006;animation:scaleIn .3s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}.paywall-close-btn{position:absolute;top:16px;right:16px;background:#fff;border:none;color:#0d161c;cursor:pointer;padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .2s;box-shadow:0 2px 8px #00000026;z-index:10}.paywall-close-btn:hover{transform:scale(1.1)}.paywall-hero-img{width:100%;height:auto;display:block;border-top-left-radius:20px;border-top-right-radius:20px}.paywall-header{text-align:left;margin-bottom:24px;padding:24px 24px 0}.paywall-title{font-size:1.8rem;font-weight:850;color:#0d161c;margin:0 0 12px;line-height:1.2}.paywall-subtitle{font-size:.95rem;color:#1a202c;line-height:1.5;margin:0}.paywall-body{padding:0 24px 24px}.paywall-loading,.paywall-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;color:#0d161c}.paywall-spinner{width:40px;height:40px;border:4px solid rgba(0,156,197,.2);border-top:4px solid #009cc5;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.paywall-retry-btn{margin-top:16px;background:#0d161c;color:#fff;border:none;padding:8px 16px;border-radius:8px;font-weight:600;cursor:pointer}.paywall-features{display:flex;flex-direction:column;gap:16px;margin-bottom:28px;padding:0}.feature-item{display:flex;align-items:flex-start;gap:16px;font-family:var(--Brand, "Schibsted Grotesk"),sans-serif;font-size:var(--Body-Medium-Size, 16px);font-style:normal;font-weight:400;line-height:var(--Body-Medium-Line-Height, 20px);letter-spacing:var(--Body-Medium-Tracking, 0);color:#1a202c}.feature-icon-container{display:flex;align-items:flex-start;justify-content:center;width:32px;color:#ff056b;flex-shrink:0}.feature-icon-container svg{width:26px;height:26px}.feature-text{flex-grow:1}.feature-text strong{color:#0d161c;font-weight:700}.paywall-packages{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.paywall-package-card{background:#fff;border:3px solid #ffc107;border-bottom-width:7px;border-radius:4px;padding:16px 20px;cursor:pointer;transition:all .2s ease;position:relative;display:flex;flex-direction:column;width:100%;max-width:325px;margin:0 auto;box-sizing:border-box}.paywall-package-card:hover{transform:translateY(-2px)}.paywall-package-card.selected{border-color:#009cc5;background:#eef9fc;box-shadow:0 4px 12px #009cc526;max-width:335px}.package-badge{position:absolute;top:-1.5px;right:23px;transform:translateY(-50%);background:#fec007;color:#181c21;font-family:var(--Brand, "Schibsted Grotesk");font-size:var(--Label-Small-Size, 10px);font-style:normal;font-weight:700;line-height:var(--Label-Small-Line-Height, 12px);letter-spacing:var(--Label-Small-Tracking, 0);padding:var(--spacing-xs, 4px);border-radius:0 1px 0 2px}.package-card-inner{display:flex;align-items:center;justify-content:space-between;width:100%}.package-card-left{display:flex;align-items:center;gap:12px}.package-details{display:flex;flex-direction:column}.package-title{font-weight:700;font-size:1.1rem;color:#0d161c}.package-subtitle-gray{font-size:.85rem;color:#1a202c;margin-top:2px}.package-price-info{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}.package-price-row{display:flex;align-items:baseline;gap:2px}.package-price-original{font-size:.95rem;font-weight:500;color:#1a202c;text-decoration:line-through}.package-price-bold{font-size:1.25rem;font-weight:800;color:#0d161c}.package-price-period{font-size:.9rem;color:#1a202c;font-weight:500}.paywall-rating-row{display:flex;justify-content:center;align-items:center;gap:6px;margin-bottom:16px;font-size:1.1rem;font-weight:700;color:#0d161c}.rating-stars{color:#ffc107;letter-spacing:2px}.paywall-subscribe-btn{background-color:#1ba9d0;background-image:radial-gradient(rgba(10,74,92,.3) 1px,transparent 1.1px);background-size:6px 6px;color:#fff;border:3px solid #0a4a5c;padding:14px 32px;border-radius:999px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 5px #0a4a5c;margin:0 auto 17px;text-align:center;width:100%;max-width:327px;display:block}.paywall-subscribe-btn:hover:not(:disabled){background-color:#25b6dd;transform:translateY(-1px);box-shadow:0 6px #0a4a5c}.paywall-subscribe-btn:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px #0a4a5c}.paywall-subscribe-btn:disabled{background:#cbd5e0;color:#a0aec0;border-color:#a0aec0;cursor:not-allowed;box-shadow:none;transform:none}.paywall-footnote-text{font-size:.85rem;color:#1a202c;text-align:center;line-height:1.4;margin:0 0 20px;font-weight:500}.paywall-footnote-text strong{color:#0d161c;font-weight:800}.paywall-footer-links{display:flex;justify-content:center;align-items:center;gap:32px;margin-top:12px;font-size:.8rem}.paywall-footer-link{color:#1a202c;text-decoration:none;font-weight:700;transition:color .2s ease}.paywall-footer-link:hover{color:#0d161c;text-decoration:underline}@media (max-width: 600px){.paywall-overlay{padding:0}.paywall-modal{max-width:none;height:100%;max-height:100vh;max-height:100dvh;border:none;border-radius:0}.paywall-hero-img{border-radius:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
