.jm-demo{--paper:#f9f5eb;--paper-2:#f0eadc;--card:#ffffff;--ink:#17212e;--ink-dim:#5f6975;--ink-dim-base:#5f6975;--rail:#e3ddcf;--accent:#00807d;--accent-hover:#006f6b;--accent-2:#f3aa75;--accent-3:#7a5bc0;--accent-4:#f27462;--lilac:#b596ef;--lilac-soft:#f0eafa;--teal-soft:#e2f3ee;--coral-soft:#fdeae6;--peach-soft:#fdf0e4;--accent-text:#006e6b;--accent-2-text:#94561d;--accent-3-text:#6a4fa3;--accent-4-text:#b8412f;--hero-a:#ffe9da;--hero-b:#f7c4a5;--hero-c:#ea9f7c;--hero-ink:#3b2012;--hero-ink-2:#4d2b19;--deep-a:#6b3b27;--deep:#4a2a1c;--deep-c:#33190f;--deep-dim:#ecd6c9;--again:oklch(58% 0.20 25);--hard:oklch(56% 0.17 70);--good:oklch(54% 0.15 145);--easy:oklch(54.5% 0.14 240);--brand-coral:#ee5a4d;--shadow-sm:0 2px 8px -4px rgba(35,32,29,.16);--shadow-md:0 14px 34px -18px rgba(35,32,29,.28);--shadow-lg:0 30px 70px -30px rgba(59,32,18,.5);--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);--wrap:min(1180px,100% - 40px)}.jm-demo svg.i{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.jm-demo svg.i-fill{fill:currentColor;stroke-width:1.5}.jm-demo .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:54px;padding:0 26px;border-radius:999px;font-weight:700;letter-spacing:-.01em;white-space:nowrap;transition:transform .16s var(--ease-out),background-color .2s ease,box-shadow .2s ease}.jm-demo .btn:active{transform:scale(.97)}.jm-demo .btn svg.i{width:18px;height:18px;transition:transform .25s var(--ease-out)}.jm-demo .btn-primary{background:var(--accent);color:#fff;box-shadow:0 12px 24px -12px rgba(0,110,107,.75)}.jm-demo .btn-light{background:#fff;color:#17212e;box-shadow:var(--shadow-sm)}.jm-demo .btn-sm{min-height:44px;padding:0 20px;font-size:.94rem;box-shadow:none}@media (hover:hover) and (pointer:fine){.jm-demo .btn-primary:hover{background:var(--accent-hover)}.jm-demo .btn-light:hover{box-shadow:var(--shadow-md)}.jm-demo .btn:hover svg.i{transform:translateX(3px)}.jm-demo .btn-light[href^="#"]:hover svg.i{transform:translateY(3px)}}.jm-demo .frag-toast svg.i{margin-top:1px;color:#7fe0c4}@keyframes pop{from{opacity:0;scale:.92}}.jm-demo .film-frame.is-playing .film-play{opacity:0;pointer-events:none}.jm-demo .clock-arc{width:100%;overflow:visible}.jm-demo .arc-track{fill:none;stroke:var(--rail);stroke-width:2;stroke-dasharray:2 7;stroke-linecap:round}.jm-demo .arc-ground{stroke:var(--rail);stroke-width:2;stroke-linecap:round}.jm-demo .arc-sun{transform-box:view-box;transform-origin:100px 100px;transform:rotate(calc((var(--p,.4) - .5) * 176deg));transition:transform .9s var(--ease-in-out)}.jm-demo .arc-sun circle{fill:var(--accent-2);transition:fill .6s ease}.jm-demo .clock.is-night .arc-sun circle{fill:var(--lilac)}.jm-demo .scene .demo{--ink-dim:var(--ink-dim-base)}.jm-demo .ticks svg.i{margin-top:3px;color:#f3b27f}.jm-demo .demo{position:relative;padding:18px;border-radius:26px;background:var(--paper);box-shadow:var(--shadow-md)}.jm-demo .demo-label{margin:18px 4px 8px;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim)}.jm-demo .demo-foot{margin-top:14px;padding-inline:4px;font-size:.84rem;line-height:1.45;color:var(--ink-dim);min-height:2.9em}.jm-demo .demo-toast{position:absolute;left:50%;bottom:62px;z-index:3;width:max-content;max-width:calc(100% - 36px);padding:12px 16px;border-radius:16px;background:#23221f;color:#fff;font-size:.88rem;font-weight:600;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,10px);transition:opacity .2s ease,transform .2s var(--ease-out)}.jm-demo .demo-toast.is-on{opacity:1;transform:translate(-50%,0);transition-duration:.35s,.45s}.jm-demo .demo-dict{display:grid;gap:12px;background:none;box-shadow:none;padding:0}.jm-demo .player{background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.13);padding:26px}.jm-demo .player-screen{min-height:118px;display:grid;align-content:center;gap:6px;text-align:center}.jm-demo .player-es{font-size:clamp(1.6rem,3vw,2.1rem);line-height:1.12;font-weight:800;letter-spacing:-.035em;color:#fff}.jm-demo .player-en{font-size:1.05rem;font-weight:600;color:#f3b27f}.jm-demo .player-es,.jm-demo .player-en{transition:opacity .3s ease,filter .3s ease,transform .4s var(--ease-out)}.jm-demo .player .is-hidden{opacity:0;filter:blur(5px);transform:translateY(6px)}.jm-demo .wave{display:flex;align-items:center;justify-content:center;gap:4px;height:44px;margin-top:12px}.jm-demo .wave i{width:4px;height:100%;border-radius:4px;background:#f3b27f;transform:scaleY(.14);transition:transform .4s var(--ease-out)}.jm-demo .player.is-speaking .wave i{animation:wave 1s ease-in-out infinite;animation-delay:calc(var(--n) * -137ms)}@keyframes wave{0%,100%{transform:scaleY(.18)}50%{transform:scaleY(var(--amp,.9))}}.jm-demo .player-bar{height:5px;margin-top:18px;border-radius:5px;background:rgba(255,255,255,.16);overflow:hidden}.jm-demo .player-bar span{display:block;height:100%;border-radius:5px;background:#fff;transform-origin:left;transform:scaleX(0);transition:transform .6s var(--ease-out)}.jm-demo .player-row{display:flex;gap:18px;align-items:center;margin-top:22px}.jm-demo .play-btn{position:relative;flex-shrink:0;display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:#fff;color:var(--deep);box-shadow:0 14px 28px -14px rgba(0,0,0,.7);transition:transform .16s var(--ease-out)}.jm-demo .play-btn:active{transform:scale(.94)}.jm-demo .play-btn svg{grid-area:1 / 1;width:26px;height:26px;transition:opacity .2s ease,transform .3s var(--ease-out)}.jm-demo .play-btn .ic-play{margin-left:3px}.jm-demo .play-btn .ic-stop{opacity:0;transform:scale(.7)}.jm-demo .player.is-playing .ic-play{opacity:0;transform:scale(.7)}.jm-demo .player.is-playing .ic-stop{opacity:1;transform:none}.jm-demo .player-opts{display:grid;gap:8px;min-width:0}.jm-demo .seg{display:flex;align-items:center;gap:1px;padding:3px;border-radius:999px;background:rgba(255,255,255,.1);width:fit-content}.jm-demo .seg button{min-height:36px;padding:0 10px;border-radius:999px;color:#fff;font-size:.86rem;font-weight:600;font-variant-numeric:tabular-nums;transition:background-color .2s ease,color .2s ease,transform .16s var(--ease-out)}.jm-demo .seg button:active{transform:scale(.95)}.jm-demo .seg button[aria-pressed="true"]{background:#fff;color:var(--deep)}.jm-demo .seg-unit{padding:0 10px 0 4px;font-size:.8rem;font-weight:600;color:var(--deep-dim)}.jm-demo .player .demo-foot{color:var(--deep-dim);min-height:0;padding:0}.jm-demo .player :focus-visible{outline-color:#f3b27f}.jm-demo .review{display:grid}.jm-demo .review-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.jm-demo .review-count{padding:7px 14px;border-radius:999px;background:var(--card);font-size:.84rem;font-weight:700;color:var(--ink-dim);box-shadow:var(--shadow-sm);font-variant-numeric:tabular-nums}.jm-demo .review-hint{font-size:.8rem;color:var(--ink-dim);text-align:right}.jm-demo .stack{position:relative;display:grid}.jm-demo .rcard{grid-area:1 / 1;position:relative;min-height:268px;padding:24px;border-radius:26px;background:var(--card);box-shadow:var(--shadow-md);touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab;will-change:transform}.jm-demo .rcard:active{cursor:grabbing}.jm-demo .rcard-under{transform:translateY(12px) scale(.94);opacity:.7;box-shadow:var(--shadow-sm);cursor:default}.jm-demo .rcard.is-entering{animation:card-in .45s var(--ease-out)}.jm-demo .rcard-meta{display:flex;align-items:center;gap:8px;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim)}.jm-demo .rcard-meta i{width:9px;height:9px;border-radius:50%;background:var(--accent-3)}.jm-demo .rcard-front{margin-top:22px;font-size:clamp(2rem,4vw,2.6rem);line-height:1.05;font-weight:800;letter-spacing:-.04em;color:var(--ink)}.jm-demo .rcard-pron{margin-top:8px;font-weight:600;color:var(--ink-dim)}.jm-demo .rcard-back{margin-top:16px;padding-top:16px;border-top:2px solid var(--paper-2);transition:opacity .3s ease,filter .3s ease,transform .4s var(--ease-out)}.jm-demo .review:not(.is-shown) .rcard-back{opacity:0;filter:blur(6px);transform:translateY(8px)}.jm-demo .rcard-mean{font-size:1.4rem;font-weight:800;letter-spacing:-.025em;color:var(--accent-text)}.jm-demo .rcard-ex{margin-top:12px;padding:12px 14px;border-radius:14px;background:var(--paper-2)}.jm-demo .rcard-ex p:first-child{font-weight:600;color:var(--ink)}.jm-demo .rcard-ex p+p{font-size:.9rem}.jm-demo .swipe-tag{position:absolute;top:20px;padding:6px 14px;border-radius:999px;color:#fff;font-weight:800;font-size:.86rem;opacity:0}.jm-demo .tag-again{right:20px;background:var(--again)}.jm-demo .tag-good{left:20px;background:var(--good)}.jm-demo .show-btn{margin-top:26px;width:100%}.jm-demo .grades{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:26px}.jm-demo .review:not(.is-shown) .grades,.jm-demo .review.is-shown .show-btn{display:none}.jm-demo .grade{display:grid;justify-items:center;gap:1px;min-height:76px;padding:10px 4px;border-radius:18px;background:var(--card);border-top:5px solid var(--c);font-weight:700;font-size:.92rem;color:var(--ink);box-shadow:var(--shadow-sm);transition:transform .16s var(--ease-out);animation:rise .4s var(--ease-out) both}.jm-demo .grade:nth-child(2){animation-delay:40ms}.jm-demo .grade:nth-child(3){animation-delay:80ms}.jm-demo .grade:nth-child(4){animation-delay:120ms}.jm-demo .grade:active{transform:scale(.95)}.jm-demo .grade svg.i{width:16px;height:16px;color:var(--c);stroke-width:3}.jm-demo .grade:not(:has(svg))::before{content:"";height:16px}.jm-demo .grade small{font-size:.78rem;font-weight:500;color:var(--ink-dim);font-variant-numeric:tabular-nums}.jm-demo .h-ic svg.i{width:24px;height:24px;color:var(--accent-text)}.jm-demo .tile-csv .h-ic svg.i{color:var(--accent-2-text)}.jm-demo .link svg.i,.jm-demo .guide-read svg.i{transition:transform .25s var(--ease-out)}@media (hover:hover) and (pointer:fine){.jm-demo .guide-tile:hover .guide-read svg.i,.jm-demo .link:hover svg.i{transform:translateX(5px)}}.jm-js .jm-demo [data-scene] .demo{opacity:0;transform:translateY(20px) scale(.97);transition:opacity .6s ease .15s,transform .9s var(--ease-out) .15s}.jm-js .jm-demo [data-scene].in .demo{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.jm-js .jm-demo [data-reveal],.jm-js .jm-demo [data-scene],.jm-js .jm-demo [data-scene] .demo{transform:none;transition:opacity .3s ease}.jm-demo .arc-sun,.jm-demo .tl-line span,.jm-demo .tabs-active,.jm-demo .bars i{transition-duration:.01ms!important}.jm-demo .btn:active,.jm-demo .grade:active,.jm-demo .play-btn:active,.jm-demo .capture-log:active,.jm-demo .save-btn:active{transform:none}}@media (max-width:900px){.jm-demo .nav-pill .btn{margin-left:auto}}@media (max-width:600px){.jm-demo .hero-actions .btn{flex:1 1 100%}.jm-demo .demo{padding:14px;border-radius:22px}.jm-demo .player{padding:20px 16px}.jm-demo .player-row{flex-direction:column;gap:16px}.jm-demo .player-opts{justify-items:center}.jm-demo .player .demo-foot{text-align:center}.jm-demo .seg button{padding:0 9px}.jm-demo .review-hint{display:none}.jm-demo .rcard{padding:20px;min-height:250px}}.jm-demo .plan-pro .ticks svg.i{color:var(--paper)}.jm-demo .plan .ticks svg.i{color:var(--accent-text)}.jm-demo .plan-pro .ticks svg.i{color:var(--paper)}@media (pointer:coarse){.jm-demo .seg button{min-height:44px;min-width:40px}}@media (max-width:600px){.jm-demo .chip,.jm-demo .rcard-meta{font-size:.75rem}.jm-demo .g small,.jm-demo .grade small,.jm-demo .week em{font-size:.75rem}}@media (max-width:600px){.jm-demo .player-opts{width:100%;justify-items:stretch}.jm-demo .player-opts .seg{width:100%}.jm-demo .seg button{flex:1 1 0;min-width:0;padding:0;min-height:46px}}.jm-demo .tile-own .h-ic svg.i{color:var(--accent-2-text)}.jm-demo,.jm-demo *{box-sizing:border-box}.jm-demo button{font:inherit;border:0;background:none;cursor:pointer;padding:0;color:inherit}.jm-demo p{padding:0}.jm-clock-steps ul{list-style:none!important;padding:0!important;margin:0;border-left:2px solid #e3ddcf}.jm-clock-steps li{margin-left:-2px;padding:2px 0 2px 16px;border-left:2px solid transparent;transition:color .3s ease,border-color .3s ease}.jm-clock-steps li.is-on{color:#17212e;border-color:#00807d}.jm-clock-time p,.jm-clock-place p{transition:opacity .22s ease}.jm-clock.is-swapping .jm-clock-time p,.jm-clock.is-swapping .jm-clock-place p{opacity:0}.jm-save.is-saved,.jm-save.is-saved .et_pb_button,.jm-save .et_pb_button.is-saved{background:#17212e!important}.jm-clock.is-night .arc-sun circle{fill:#b596ef}.jm-arc svg{display:block;width:100%;overflow:visible}@keyframes jmword{from{opacity:0;transform:translateY(.35em);filter:blur(8px)}}@keyframes jmrise{from{opacity:0;transform:translateY(18px)}}@keyframes jmpop{from{opacity:0;scale:.92}}@keyframes jmphone{from{opacity:0;transform:translateY(40px) rotate(6deg)}}@keyframes jmblink{50%{opacity:0}}.jm-hero-phone{transform:rotate(2.5deg)}.jm-js .jm-words .w{display:inline-block;animation:jmword .8s cubic-bezier(.23,1,.32,1) both;animation-delay:calc(var(--i)*45ms + 60ms)}.jm-js .jm-rise-1{animation:jmrise .7s cubic-bezier(.23,1,.32,1) .55s both}.jm-js .jm-rise-2{animation:jmrise .7s cubic-bezier(.23,1,.32,1) .65s both}.jm-js .jm-rise-3{animation:jmrise .7s cubic-bezier(.23,1,.32,1) .75s both}.jm-js .jm-hero-phone{animation:jmphone 1s cubic-bezier(.23,1,.32,1) .2s both}.jm-js .jm-frag-save{animation:jmpop .5s cubic-bezier(.23,1,.32,1) .8s both}.jm-js .jm-frag-grades{animation:jmpop .5s cubic-bezier(.23,1,.32,1) 1s both}.jm-js .jm-frag-toast{opacity:0;scale:.94;transition:opacity .35s ease,scale .45s cubic-bezier(.23,1,.32,1)}.jm-js .jm-frag-toast.is-on{opacity:1;scale:1}.jm-frag{will-change:translate}.jm-frag-log{transition:transform .16s cubic-bezier(.23,1,.32,1)}.jm-frag-log.is-pressed{transform:scale(.92)}.jm-frag-field p::after{content:"";display:inline-block;width:2px;height:1.1em;margin-left:2px;vertical-align:-3px;background:#00807d;animation:jmblink 1s step-end infinite}.jm-tilt-cloze{transform:rotate(-1.5deg)}.jm-tilt-card{transform:rotate(-2deg)}.jm-tilt-left{transform:rotate(-7deg) translateY(30px)}.jm-tilt-right{transform:rotate(5deg) translateY(-10px)}.jm-blank{display:inline-block;padding:0 10px;border-radius:8px;background:#f0eafa;color:#6a4fa3}.jm-sub{font-size:.88rem;font-weight:400;color:#5f6975}.jm-chip p,.jm-caps p{letter-spacing:.08em;text-transform:uppercase}@keyframes jmmarquee{to{transform:translateX(-50%)}}.jm-marquee{margin-left:-28px!important;margin-right:-28px!important;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}.jm-marquee p.jm-marquee-row{display:flex;gap:10px;width:max-content;margin:0 0 10px;padding:0;animation:jmmarquee 60s linear infinite}.jm-marquee p.jm-marquee-row+p.jm-marquee-row{animation-direction:reverse}.jm-marquee span{padding:11px 18px;border-radius:999px;background:#fff;white-space:nowrap;box-shadow:0 2px 8px -4px rgba(35,32,29,.16)}.jm-marquee p.jm-marquee-row:first-child span:nth-child(4n+2){background:#f0eafa;color:#6a4fa3;box-shadow:none}.jm-tabs.et_pb_tabs{border:0!important;background:none!important}.jm-tabs .et_pb_tabs_controls{display:flex;flex-wrap:wrap;gap:6px;background:none!important;border:0!important}.jm-tabs .et_pb_tabs_controls:after{display:none}.jm-tabs .et_pb_tabs_controls li{border:0!important;border-radius:999px;overflow:hidden;margin:0!important;height:auto!important}.jm-tabs .et_pb_tabs_controls li a{display:block;padding:13px 18px!important;line-height:1.2!important}.jm-tabs .et_pb_all_tabs{padding:30px 0 0!important;background:none!important}.jm-guide-card{transition:transform .25s cubic-bezier(.23,1,.32,1),box-shadow .25s ease}.jm-guide-card:active{transform:scale(.985)}.et_pb_button{transition:transform .16s cubic-bezier(.23,1,.32,1),background-color .2s ease,box-shadow .2s ease!important}.et_pb_button:active{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.jm-guide-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px -18px rgba(35,32,29,.4)}}@media (prefers-reduced-motion:reduce){.jm-js .jm-words .w,.jm-js .jm-rise-1,.jm-js .jm-rise-2,.jm-js .jm-rise-3,.jm-js .jm-hero-phone,.jm-js .jm-frag-save,.jm-js .jm-frag-grades,.jm-marquee p.jm-marquee-row{animation:none}.jm-js .jm-frag-toast{opacity:1;scale:1}}.jm-navpill{-webkit-backdrop-filter:blur(20px) saturate(170%);backdrop-filter:blur(20px) saturate(170%);margin-left:auto!important;margin-right:auto!important}.jm-header{pointer-events:none}.jm-header .jm-navpill{pointer-events:auto}.admin-bar .jm-header{top:46px!important}.jm-navlinks p{display:flex;gap:4px;justify-content:center}.jm-navlinks a{min-height:44px;display:inline-flex;align-items:center;padding:0 14px;border-radius:999px;color:#17212e;transition:background-color .2s ease}.jm-footlinks p{display:flex;flex-wrap:wrap;gap:0 26px;justify-content:flex-end}.jm-footlinks a{min-height:44px;display:inline-flex;align-items:center;color:#17212e;transition:color .2s ease}@media (hover:hover) and (pointer:fine){.jm-navlinks a:hover{background:rgba(23,33,46,.07)}.jm-footlinks a:hover{color:#006e6b}}@media (max-width:980px){.jm-footlinks p{justify-content:flex-start}}