.vertical-menu-home{isolation:isolate;background:#f3efe6;grid-template-rows:minmax(0,1fr);min-height:100dvh;padding:clamp(2.5rem,6vh,5rem) clamp(1.5rem,7vw,8rem) clamp(2rem,4vh,4rem);display:grid;position:relative;overflow:hidden}.vertical-menu-home:before{z-index:-2;content:"";pointer-events:none;background:radial-gradient(circle at 8% 82%,#ffd34d2e 0 5rem,#0000 5.1rem),radial-gradient(circle at 92% 16%,#315d6914 0 7rem,#0000 7.1rem);position:absolute;inset:0}.launcher-header{z-index:1;width:min(21rem,100%);position:absolute;top:clamp(2.5rem,6vh,5rem);left:clamp(1.5rem,7vw,8rem)}.launcher-title{color:#182023;letter-spacing:-.08em;margin:0;font-size:clamp(3.25rem,5vw,5.5rem);font-weight:750;line-height:.86}.launcher-title:after{content:"";background:#ffd34d;border-radius:999px;width:4.5rem;height:.55rem;margin-top:1.1rem;display:block;transform:rotate(-3deg)}.vertical-menu-instruction{color:#5c625e;margin:1.1rem 0 0;font-size:clamp(1rem,1.25vw,1.25rem);font-weight:600;line-height:1.35}.launcher-main{align-items:center;min-width:0;min-height:0;display:grid}.game-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(1.25rem,2vw,2rem);width:min(100%,60rem);margin:0 auto;display:grid;transform:translateY(-10vh)}.game-entry{grid-column:span 2;gap:clamp(.6rem,1.2vh,.9rem);min-width:0;display:grid}.game-card-shell{min-width:0}.game-card-shell--with-control{background:var(--card-surface,#fffdf8);box-shadow:0 .45rem 0 var(--card-shadow,#403d341a), 0 1.25rem 2.5rem #403d3429;border:.125rem solid #d7d1c5;border-radius:1.5rem;overflow:hidden}.game-card-shell--geography{--card-surface:#e5f1ed;--card-shadow:#2568692e}.game-card-shell--tangram{--card-surface:#fff3d8;--card-shadow:#b578222e}.game-card-shell--painting{--card-surface:#e4eef8;--card-shadow:#2f639c2e}.game-card-shell--robot{--card-surface:#eee7f5;--card-shadow:#60408e2e}.game-card-shell--telepresence{--card-surface:#f2ece3;--card-shadow:#7553342b}.game-entry:nth-of-type(4){grid-column:2/span 2}.game-entry:nth-of-type(5){grid-column:4/span 2}.game-card{color:#182023;background:var(--card-surface,#fffdf8);width:100%;min-width:0;min-height:clamp(12rem,21vh,15.5rem);box-shadow:0 .45rem 0 var(--card-shadow,#403d341a), 0 1.25rem 2.5rem #403d3429;cursor:pointer;touch-action:manipulation;border:.125rem solid #d7d1c5;border-radius:1.5rem;align-content:center;justify-items:center;gap:clamp(.8rem,1.5vh,1.25rem);padding:clamp(1.25rem,1.8vw,1.75rem) clamp(.9rem,1.4vw,1.5rem);transition:border-color .16s cubic-bezier(.16,1,.3,1),box-shadow .16s cubic-bezier(.16,1,.3,1),transform .16s cubic-bezier(.16,1,.3,1);display:grid}.game-card--geography{--card-surface:#e5f1ed;--card-shadow:#2568692e}.game-card--tangram{--card-surface:#fff3d8;--card-shadow:#b578222e}.game-card--painting{--card-surface:#e4eef8;--card-shadow:#2f639c2e}.game-card--robot{--card-surface:#eee7f5;--card-shadow:#60408e2e}.game-card--telepresence{--card-surface:#f2ece3;--card-shadow:#7553342b}.game-card:hover{box-shadow:0 .45rem 0 var(--card-shadow,#403d341a), 0 1.5rem 2.75rem #403d3433;border-color:#315d69;transform:translateY(-.3rem)}.game-card:active{box-shadow:0 .2rem 0 var(--card-shadow,#403d341a), 0 .8rem 1.75rem #403d3429;transform:translateY(.1rem)}.game-card:focus-visible{outline-offset:.35rem;box-shadow:0 0 0 .55rem #ffd34d, 0 .45rem 0 var(--card-shadow,#403d341a), 0 1.25rem 2.5rem #403d3429;border-color:#183f49;outline:.25rem solid #183f49}.game-card .app-icon{background:0 0;border:.125rem solid #ffffffbf;border-radius:1.25rem;width:clamp(7rem,8vw,9.5rem);box-shadow:0 .25rem #18202324}.game-card__label{overflow-wrap:anywhere;text-align:center;max-width:100%;font-size:clamp(1rem,1.15vw,1.35rem);font-weight:800;line-height:1.15}.game-secondary{color:#183f49;cursor:pointer;white-space:nowrap;background:#fffdf8;border:.125rem solid #315d69;border-radius:.875rem;justify-self:center;min-width:3rem;min-height:3rem;padding:.5rem 1rem;font-size:.9rem;font-weight:800;line-height:1.1;transition:color .16s cubic-bezier(.16,1,.3,1),background-color .16s cubic-bezier(.16,1,.3,1),border-color .16s cubic-bezier(.16,1,.3,1)}.game-secondary:hover{color:#fffdf8;background:#315d69;border-color:#315d69}.game-secondary:active{color:#fffdf8;background:#183f49;border-color:#183f49}.decor{z-index:-1;pointer-events:none;-webkit-user-select:none;user-select:none;display:block;position:absolute}.decor--sun{aspect-ratio:1;background:#ffd34d;border:.5rem solid #fffdf8cc;border-radius:50%;width:clamp(4rem,7vw,7rem);top:clamp(2rem,9vh,7rem);right:clamp(2rem,8vw,9rem);transform:rotate(8deg);box-shadow:0 0 0 .35rem #ffd34d47}.decor--sun:after{aspect-ratio:1;content:"";background:#315d69;border:.25rem solid #f3efe6;border-radius:50%;width:1rem;position:absolute;bottom:-.8rem;right:-1.25rem}.decor--dots{opacity:.78;background-image:radial-gradient(#315d69 .3rem,#0000 .36rem);background-position:0 0;background-size:1.35rem 1.35rem;width:8rem;height:5rem;bottom:clamp(2rem,8vh,7rem);left:clamp(2rem,8vw,9rem);transform:rotate(-8deg)}.vertical-menu-viewer{--viewer-shelf-height:clamp(5.75rem, 12vh, 7rem);z-index:10;background:#f7f8f5;min-width:20rem;position:fixed;inset:0;overflow:hidden}.game-card-shell--with-control .game-card{box-shadow:none;border-color:#0000;border-radius:1.35rem 1.35rem 0 0}.game-card-shell--with-control .game-secondary{width:fit-content;margin:.75rem auto 1rem}.vertical-menu-toggle{z-index:2;color:#fff;cursor:pointer;background:#183f49;border:.1875rem solid #f7f8f5;border-radius:1.25rem;place-items:center;width:3.5rem;height:3.5rem;padding:0;transition:background-color .16s cubic-bezier(.16,1,.3,1),transform .16s cubic-bezier(.16,1,.3,1);display:grid;position:absolute;top:1rem;right:1rem;box-shadow:0 0 0 .0625rem #1820232e,0 .6rem 1.25rem #1820233d}.vertical-menu-toggle:hover{background:#315d69;transform:translateY(-.1875rem)}.vertical-menu-viewer[data-launcher-placement=bottom-center] .vertical-menu-toggle{inset:auto auto 1rem 50%;translate:-50%}.vertical-menu-toggle:active{transform:translateY(0)}.vertical-menu-toggle__icon,.vertical-menu-home-button__icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:1.5rem;height:1.5rem}.vertical-menu-dialog{z-index:3;width:min(26rem,100vw - 3rem);max-width:none;height:fit-content;max-height:min(80dvh,46rem);padding:max(1.25rem, env(safe-area-inset-top,0rem)) max(1.25rem, env(safe-area-inset-right,0rem)) max(1.25rem, env(safe-area-inset-bottom,0rem)) 1.25rem;color:#f8faf9;background:#0a0c0deb;border:0;border-radius:1.25rem;margin:auto;position:fixed;inset:0;overflow-y:auto;box-shadow:0 1.5rem 3rem #00000052}.vertical-menu-dialog[open]{animation:.2s cubic-bezier(.16,1,.3,1) vertical-menu-enter}.vertical-menu-dialog::backdrop{background:0 0}.vertical-menu-dialog__header{z-index:1;background:#0a0c0df5;justify-content:space-between;align-items:center;gap:1rem;padding:0 0 1.25rem;display:flex;position:sticky;top:0}.vertical-menu-dialog__header h2{letter-spacing:-.03em;margin:0;font-size:1.35rem}.vertical-menu-dialog__close{color:#f8faf9;cursor:pointer;background:0 0;border:.0625rem solid #ffffff52;border-radius:.75rem;min-width:3rem;min-height:3rem;padding:0 .875rem;font-size:.875rem;font-weight:700}.vertical-menu-navigation{gap:.5rem;display:grid}.vertical-menu-home-button,.vertical-menu-game{color:#f8faf9;cursor:pointer;text-align:left;background:0 0;border:.0625rem solid #0000;border-radius:1rem;width:100%;min-height:4.75rem;transition:background-color .16s cubic-bezier(.16,1,.3,1),border-color .16s cubic-bezier(.16,1,.3,1)}.vertical-menu-home-button{align-items:center;gap:.875rem;padding:.875rem 1rem;font-weight:700;display:flex}.vertical-menu-game{grid-template-columns:3.25rem minmax(0,1fr) auto;align-items:center;gap:.875rem;padding:.625rem .75rem;display:grid}.vertical-menu-home-button:hover,.vertical-menu-game:hover{background:#ffffff17}.vertical-menu-game[aria-current=page]{background:#ffffff21;border-color:#ffffff47}.vertical-menu-game .app-icon{width:3.25rem;box-shadow:none;border-color:#ffffff38;border-radius:.875rem}.vertical-menu-game__name{overflow-wrap:anywhere;min-width:0;font-weight:700;line-height:1.2}.vertical-menu-game__status{color:#f8faf9;white-space:nowrap;justify-items:center;gap:.125rem;font-size:.6875rem;font-weight:700;line-height:1;display:grid}.vertical-menu-home[hidden],.vertical-menu-viewer[hidden],.vertical-menu-game__status[hidden]{display:none}.vertical-menu-game__status img{object-fit:contain;width:3.5rem;height:3.5rem;display:block}.game-secondary:focus-visible,.vertical-menu-toggle:focus-visible,.vertical-menu-dialog button:focus-visible{outline-offset:.1875rem;outline:.1875rem solid #fff;box-shadow:0 0 0 .125rem #182023}@media (width<=44rem){.vertical-menu-viewer{--viewer-shelf-height:5.5rem}}@keyframes vertical-menu-enter{0%{opacity:0;transform:translate(2rem)}to{opacity:1;transform:translate(0)}}@media (width<=70rem){.vertical-menu-home{grid-template-rows:auto auto;padding-inline:clamp(1.25rem,5vw,4rem);overflow-y:auto}.launcher-header{position:relative;top:auto;left:auto}.launcher-main{padding-top:2rem}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,50rem);transform:none}.game-entry,.game-entry:nth-of-type(4),.game-entry:nth-of-type(5){grid-column:auto}}@media (height<=50rem) and (width>=44.01rem){.vertical-menu-home{padding-block:2rem}.game-card{gap:.65rem;min-height:10.5rem;padding-block:.9rem}.game-card .app-icon{width:6.25rem}}@media (width<=44rem){.vertical-menu-home{min-height:100dvh;padding:2.5rem 1rem;display:block;overflow:visible}.launcher-header{text-align:center;width:auto}.launcher-title:after{margin-inline:auto}.launcher-main{padding-top:2.75rem}.game-grid{grid-template-columns:1fr;gap:1rem;width:min(100%,28rem)}.game-entry{gap:.75rem}.game-card{grid-template-rows:1fr;grid-template-columns:5.5rem minmax(0,1fr);justify-items:start;gap:1.1rem;min-height:8.75rem;padding:1rem 1.25rem}.game-card .app-icon{border-radius:1rem;width:5.5rem}.game-card__label{text-align:left;font-size:1.15rem}.decor--sun{border-width:.35rem;width:3.5rem;top:1.5rem;right:1.25rem}.decor--dots{background-size:1rem 1rem;width:5rem;height:3rem;bottom:1.5rem;left:1rem}}@media (width<=30rem){.launcher-title{font-size:3.15rem}.game-card{grid-template-columns:5rem minmax(0,1fr);gap:.9rem;min-height:8rem;padding-inline:1rem}.game-card .app-icon{width:5rem}.game-card__label{font-size:1.05rem}}@media (width<=52rem){.vertical-menu-dialog{width:min(24rem,100vw - 3rem)}}@media (prefers-reduced-motion:reduce){.game-card,.game-secondary,.vertical-menu-toggle,.vertical-menu-home-button,.vertical-menu-game,.vertical-menu-dialog[open]{transition:none;animation:none}}:root{font-size:var(--launcher-root-font-size,100%);color:#182023;font-synthesis:none;text-rendering:optimizelegibility;background:#f7f8f5;font-family:Avenir Next,Avenir,Trebuchet MS,sans-serif}*{box-sizing:border-box;-webkit-user-select:none;user-select:none}img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}html,body,.app-root{min-height:100%;margin:0}body{background:#f7f8f5;min-width:20rem;min-height:100vh}button,iframe{font:inherit}.launcher-home{min-height:100vh;padding:clamp(2rem,7vw,6rem) clamp(1.25rem,6vw,5rem)}.launcher-home h1{letter-spacing:-.06em;max-width:72rem;margin:0 auto;font-size:clamp(2.5rem,8vw,5.5rem);font-weight:650;line-height:.95}.launcher-instruction{color:#5c6669;max-width:72rem;margin:1rem auto 0;font-size:1rem}.app-grid{grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:clamp(1.5rem,4vw,3rem);width:100%;max-width:72rem;margin:clamp(3rem,8vw,7rem) auto 0;display:grid}.app-entry{min-width:0}.app-entry--actions{grid-column:span 2;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;display:grid}.app-button{color:#182023;cursor:pointer;background:0 0;border:0;border-radius:1.25rem;justify-items:center;gap:.875rem;width:100%;min-width:0;min-height:8rem;padding:.75rem .5rem;transition:background-color .16s cubic-bezier(.16,1,.3,1),transform .16s cubic-bezier(.16,1,.3,1);display:grid}.app-button:hover{background:#ecefea;transform:translateY(-.1875rem)}.app-button:active{transform:translateY(0)}.app-secondary{color:#315d69;cursor:pointer;white-space:nowrap;background:#f7f8f5;border:.0625rem solid #9fb0ad;border-radius:.75rem;min-width:3rem;min-height:3rem;padding:.5rem .625rem;font-size:.75rem;font-weight:700;line-height:1.1;transition:color .16s cubic-bezier(.16,1,.3,1),background-color .16s cubic-bezier(.16,1,.3,1),border-color .16s cubic-bezier(.16,1,.3,1)}.app-secondary:hover{color:#182023;background:#ecefea;border-color:#315d69}.app-secondary:active{background:#e0e5e1}.app-button:focus-visible,.app-secondary:focus-visible{outline-offset:.25rem;outline:.1875rem solid #315d69}.app-icon{aspect-ratio:1;background:#e5e9e5;border:.0625rem solid #d9ded9;border-radius:1.5rem;place-items:center;width:clamp(4.5rem,10vw,6rem);display:grid;overflow:hidden;box-shadow:0 .75rem 2rem #dfe3df}.app-icon img,.app-icon__fallback{width:100%;height:100%}.app-icon img{object-fit:cover;display:block}.app-icon__fallback{color:#eff4f2;background:#315d69;place-items:center;font-size:2rem;font-weight:700;display:grid}.app-name{overflow-wrap:anywhere;text-align:center;max-width:9rem;font-size:.95rem;font-weight:600;line-height:1.25}.launcher-empty{color:#5c6669;grid-column:1/-1;margin:0}.launcher-viewer{z-index:10;background:#f7f8f5;min-width:20rem;display:block;position:fixed;inset:0;overflow:hidden}.viewer-toolbar{z-index:1;pointer-events:none;position:absolute;inset:0}.viewer-title{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:.0625rem;height:.0625rem;margin:-.0625rem;padding:0;position:absolute;overflow:hidden}.viewer-close{top:max(.75rem, env(safe-area-inset-top,0rem));right:max(.75rem, env(safe-area-inset-right,0rem));color:#182023;cursor:pointer;pointer-events:auto;background:#f7f8f5;border:.0625rem solid #b7c0bd;border-radius:.875rem;justify-content:center;align-items:center;gap:.5rem;width:auto;min-width:3rem;height:3rem;padding:0 .875rem;font-family:inherit;font-size:.95rem;font-weight:700;line-height:1;transition:color .14s cubic-bezier(.16,1,.3,1),background-color .14s cubic-bezier(.16,1,.3,1),border-color .14s cubic-bezier(.16,1,.3,1);display:inline-flex;position:absolute;box-shadow:0 .25rem .75rem #1820232e}.viewer-close__icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;flex:none;width:1.25rem;height:1.25rem}.viewer-close:hover{background:#e7eae6;border-color:#879394}.viewer-close:active{background:#dce2de}.viewer-close:focus-visible{border-color:#315d69;outline:0;box-shadow:inset 0 0 0 .125rem #315d69,0 .25rem .75rem #1820232e}.app-frame{background:#f7f8f5;border:0;width:100%;height:100%;display:block;position:absolute;inset:0}[hidden]{display:none}.not-found{text-align:center;place-content:center;gap:1rem;min-height:100vh;padding:clamp(1.25rem,6vw,5rem);display:grid}.not-found h1{letter-spacing:-.06em;margin:0;font-size:clamp(2.5rem,8vw,5.5rem);font-weight:650;line-height:.95}.not-found__message{color:#5c6669;margin:0}.not-found__home{color:#182023;text-underline-offset:.25rem;justify-self:center;font-weight:700}.not-found__home:focus-visible{outline-offset:.25rem;border-radius:.25rem;outline:.1875rem solid #315d69}@media (width<=32rem){.app-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.app-button,.app-secondary,.viewer-close{transition:none}}[data-dwell-positioned]{position:relative}button[data-dwelling]:before{z-index:10;content:"";pointer-events:none;transform-origin:0;background:#ffd34d;height:8px;animation:.85s linear infinite dwell-sweep;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}@keyframes dwell-sweep{to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){button[data-dwelling]:before{animation:none;transform:scaleX(1)}}
