/* Teddy's Future Lab — no-menu-bar shell (lab.html only, html[data-gui="future"].hs).
   Floating holographic chips instead of a top bar; Home and All-places orbs instead of a side menu / tab bar. */
html.hs #app{display:block!important;height:100%}
html.hs #sidebar,html.hs #tabbar,html.hs #tfl-quick,html.hs #menuBtn{display:none!important}
html.hs #topbar{position:fixed!important;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;gap:8px;height:auto;min-height:0;padding:max(10px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left))!important;background:none!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;pointer-events:none}
html.hs #topbar::after,html.hs #topbar::before{display:none!important}
html.hs #topbar>*{pointer-events:auto}
html.hs #topbar .grow{pointer-events:none}
/* every top item is its own glowing glass chip */
html.hs #topbar>.klogo{display:flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;border-radius:999px;background:linear-gradient(180deg,rgba(14,48,110,.62),rgba(4,16,46,.72));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 0 0 1px rgba(168,236,255,.55),0 0 18px rgba(76,201,255,.3);text-decoration:none}
html.hs #topbar>.klogo img{width:38px;height:38px;border-radius:12px}
html.hs #topbar .clock,html.hs #topbar .iconbtn,html.hs #topbar .me-chip,html.hs #topbar .appearance-switch,html.hs #topbar .kstat,html.hs #topbar .kme,html.hs #topbar .grownup-btn,html.hs #topbar #helperFab{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 0 0 1px rgba(168,236,255,.6),0 0 14px rgba(76,201,255,.3)!important;border-color:transparent!important}
html.hs #topbar .clock{padding:8px 12px;border-radius:999px;background:rgba(6,24,64,.6);color:#e6f3ff}
html.hs #topbar .iconbtn,html.hs #topbar .me-chip,html.hs #topbar .appearance-switch{background:rgba(6,24,64,.62)!important;border-radius:999px;color:#fff}
html.hs #main{position:fixed;inset:0;overflow-y:auto;overflow-x:hidden}
html.hs #view{padding-top:calc(84px + env(safe-area-inset-top));padding-bottom:calc(120px + env(safe-area-inset-bottom))}
html.hs #view.full{padding:0}

/* ---------- Home + All places orbs ---------- */
.hs-orb,.hs-home{position:fixed;z-index:45;bottom:max(16px,env(safe-area-inset-bottom));display:grid;justify-items:center;gap:4px;padding:0;border:0;background:none;cursor:pointer;text-decoration:none;color:#fff;font:800 12.5px "Lab Sans",system-ui,sans-serif;-webkit-tap-highlight-color:transparent}
.hs-orb[hidden],.hs-home[hidden]{display:none}
.hs-orb{right:max(16px,env(safe-area-inset-right))}
.hs-home{left:max(16px,env(safe-area-inset-left))}
.hs-orb-core,.hs-home-core{position:relative;display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.65),rgba(255,255,255,0) 44%),linear-gradient(160deg,#5ad0ff,#1a62d6 58%,#2a1f8f);box-shadow:inset 0 3px 0 rgba(255,255,255,.7),inset 0 -6px 12px rgba(0,10,40,.5),0 0 0 2px rgba(255,214,110,.9),0 10px 26px rgba(0,0,0,.5),0 0 34px rgba(76,201,255,.6);transition:transform .2s cubic-bezier(.2,.9,.3,1.3),box-shadow .2s}
.hs-orb-core::after,.hs-home-core::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px dashed rgba(168,236,255,.7);animation:hs-spin 10s linear infinite}
.hs-home-core{font-size:30px;background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.7),rgba(255,255,255,0) 44%),linear-gradient(160deg,#ffe58a,#ffc23d 55%,#d98a00)}
.hs-orb-core{grid-template-columns:repeat(3,9px);grid-auto-rows:9px;gap:5px;align-content:center;justify-content:center}
.hs-orb-core i{display:block;width:9px;height:9px;border-radius:3px;background:#fff;box-shadow:0 0 8px rgba(255,255,255,.9)}
.hs-orb-lbl{padding:3px 10px;border-radius:999px;background:rgba(6,24,64,.8);box-shadow:0 0 0 1px rgba(168,236,255,.6);text-shadow:0 1px 2px #000;white-space:nowrap}
.hs-orb:hover .hs-orb-core,.hs-home:hover .hs-home-core,.hs-orb:focus-visible .hs-orb-core,.hs-home:focus-visible .hs-home-core{transform:translateY(-3px) scale(1.07);box-shadow:inset 0 3px 0 rgba(255,255,255,.8),0 0 0 2px #fff,0 14px 30px rgba(0,0,0,.5),0 0 44px rgba(76,201,255,.8)}
.hs-orb:focus-visible,.hs-home:focus-visible{outline:none}
.hs-orb:focus-visible .hs-orb-core,.hs-home:focus-visible .hs-home-core{outline:3px solid #ffc23d;outline-offset:6px}
.hs-home.here{display:none}
@keyframes hs-spin{to{transform:rotate(360deg)}}

/* ---------- holographic launcher ---------- */
.hs-launcher{width:min(1100px,96vw);max-height:min(88vh,900px);padding:0;border:0;border-radius:28px;color:#f3f9ff;background:linear-gradient(180deg,rgba(12,44,104,.9),rgba(4,16,46,.95));-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 0 0 1px rgba(168,236,255,.7),0 0 50px rgba(76,201,255,.45),0 40px 90px rgba(0,0,0,.6);overflow:hidden;font-family:"Lab Sans",system-ui,sans-serif}
.hs-launcher[open]{display:flex;flex-direction:column;animation:hs-pop .32s cubic-bezier(.2,.9,.3,1.2)}
.hs-launcher::backdrop{background:radial-gradient(circle at 50% 40%,rgba(20,60,140,.55),rgba(2,8,24,.85));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
@keyframes hs-pop{from{opacity:0;transform:scale(.94) translateY(18px)}}
.hs-l-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px 6px}
.hs-l-head h2{margin:0;font-size:clamp(22px,2.6vw,32px);font-weight:900;background:linear-gradient(180deg,#fff,#bfeeff 60%,#6fd2ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.hs-close{min-width:48px;min-height:48px;border:0;border-radius:50%;cursor:pointer;font-size:20px;color:#fff;background:rgba(10,40,96,.7);box-shadow:inset 0 0 0 1px rgba(168,236,255,.8)}
.hs-l-body{overflow-y:auto;padding:6px 22px 24px}
.hs-l-group h3{margin:14px 0 8px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#a8ecff}
.hs-l-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:12px}
.hs-l-item{display:grid;justify-items:center;align-content:start;gap:8px;min-height:120px;padding:14px 8px 12px;border-radius:20px;text-decoration:none;color:#fff;text-align:center;background:linear-gradient(180deg,rgba(32,98,190,.6),rgba(8,30,76,.75));box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 0 0 1px rgba(168,236,255,.45);animation:hs-in .4s both cubic-bezier(.2,.9,.3,1.2);animation-delay:var(--d,0ms);transition:transform .16s,box-shadow .16s}
@keyframes hs-in{from{opacity:0;transform:translateY(14px) scale(.9)}}
.hs-l-ico{display:grid;place-items:center;width:62px;height:62px;border-radius:18px;font-size:32px;background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.6),rgba(255,255,255,0) 46%),linear-gradient(160deg,#5ad0ff,#1a62d6 60%,#2a1f8f);box-shadow:inset 0 2px 0 rgba(255,255,255,.75),0 0 0 2px rgba(255,214,110,.75),0 8px 18px rgba(0,0,0,.45),0 0 20px rgba(76,201,255,.45)}
.hs-l-lbl{font-weight:700;font-size:13.5px;line-height:1.2}
.hs-l-item:hover,.hs-l-item:focus-visible{transform:translateY(-3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 0 0 1px #fff,0 0 24px rgba(76,201,255,.6)}
.hs-l-item:focus-visible{outline:3px solid #ffc23d;outline-offset:3px}
.hs-l-item.here{box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 0 0 2px #ffc23d,0 0 22px rgba(255,194,61,.5)}
.hs-kid .hs-l-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}.hs-kid .hs-l-ico{width:72px;height:72px;font-size:38px;border-radius:22px}.hs-kid .hs-l-lbl{font-size:15px}
.hs-adult .hs-l-item{min-height:104px}.hs-adult .hs-l-ico{width:52px;height:52px;font-size:26px;border-radius:14px}
@media (max-width:560px){.hs-l-grid,.hs-kid .hs-l-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.hs-l-item{min-height:100px;padding:10px 4px}.hs-l-ico,.hs-kid .hs-l-ico{width:52px;height:52px;font-size:26px}.hs-l-lbl,.hs-kid .hs-l-lbl{font-size:12px}
 .hs-orb-core,.hs-home-core{width:58px;height:58px}.hs-home-core{font-size:26px}html.hs #topbar>.klogo .txt{display:none}html.hs #topbar>.klogo{padding:4px}}
@media (prefers-reduced-motion:reduce){.hs-orb-core::after,.hs-home-core::after,.hs-l-item,.hs-launcher[open]{animation:none}}
@media (max-height:500px){.hs-orb-core,.hs-home-core{width:48px;height:48px}.hs-home-core{font-size:22px}.hs-orb-core{grid-template-columns:repeat(3,6px);grid-auto-rows:6px;gap:4px}.hs-orb-core i{width:6px;height:6px}.hs-orb-lbl{display:none}.hs-orb,.hs-home{bottom:8px}}

/* ---------- every inner page stands in its world: the age-band scene (children) or the observatory window (grown-ups),
   softly dimmed so text and controls stay crisp ---------- */
html.hs body{background-color:#030c24!important;background-repeat:no-repeat!important;background-size:cover!important;background-position:center!important;background-attachment:fixed!important}
html.hs body:not(.kid-mode){background-image:linear-gradient(180deg,rgba(3,12,36,.82),rgba(3,12,36,.9)),url("/assets/holo/grownup-window-1920.webp")!important}
html.hs body.kid-mode[data-band="early"]{background-image:linear-gradient(180deg,rgba(3,12,36,.62),rgba(3,12,36,.8)),url("/assets/holo/world-discover-bg-1920.webp")!important}
html.hs body.kid-mode[data-band="kid"]{background-image:linear-gradient(180deg,rgba(3,12,36,.66),rgba(3,12,36,.84)),url("/assets/holo/world-adventure-bg-1920.webp")!important}
html.hs body.kid-mode[data-band="tween"]{background-image:linear-gradient(180deg,rgba(3,12,36,.72),rgba(3,12,36,.86)),url("/assets/holo/world-creator-bg-1920.webp")!important}
html.hs body.kid-mode[data-band="teen"],html.hs body.kid-mode[data-band="senior"]{background-image:linear-gradient(180deg,rgba(3,12,36,.78),rgba(3,12,36,.9)),url("/assets/holo/world-future-bg-1920.webp")!important}
html.hs #main{background:none!important}
/* sophistication steps up with age on every inner page too */
html.hs body[data-band="early"] .kcard,html.hs body[data-band="early"] .ktile{border-radius:30px}
html.hs body[data-band="early"] .ktile{min-height:150px}
html.hs body[data-band="early"] .kbtn{min-height:58px;font-size:18px}
html.hs body[data-band="tween"] .khead h1,html.hs body[data-band="teen"] .khead h1{letter-spacing:.01em;font-weight:800}
html.hs body[data-band="teen"] .kcard,html.hs body[data-band="teen"] .ktile{border-radius:16px}
html.hs body[data-band="teen"] .kbtn{border-radius:12px}
html.hs body[data-band="teen"] .ktile .e{filter:saturate(.85)}
@media (max-width:600px){html.hs #topbar .appearance-switch{display:none!important}html.hs #topbar{gap:5px;padding-left:8px!important;padding-right:8px!important}}
/* R7: the Together page's purple hero joins the holographic glass look */
html.hs .ft-hero{background:radial-gradient(60% 80% at 12% 0%,rgba(76,201,255,.22),transparent 60%),radial-gradient(50% 70% at 95% 0%,rgba(255,194,61,.16),transparent 60%),linear-gradient(180deg,rgba(12,44,104,.72),rgba(4,16,46,.86));-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);box-shadow:0 0 0 1px rgba(168,236,255,.6),0 0 26px rgba(76,201,255,.3),inset 0 1px 0 rgba(255,231,161,.35),0 18px 40px rgba(0,0,0,.4)}
html.hs .ft-card{background:linear-gradient(180deg,rgba(12,44,104,.6),rgba(4,16,46,.78));border-color:rgba(168,236,255,.45)}
