:root{--felt-base:#0d6b3d;--felt-light:#1a8a52;--felt-dark:#043219;--accent:#f5c451;--ui-text:#f6f3ec;--ui-muted:#f6f3ec99;--ui-border:#ffffff1a;--glass:#0a0e1257;--glass-strong:#12161ce6;--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--app-h:calc(100dvh + var(--vp-short,0px));--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ease-out:cubic-bezier(.2, .75, .25, 1);--ease-spring:cubic-bezier(.2, 1.4, .4, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{overscroll-behavior:none;height:100%;color:var(--ui-text);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-text-size-adjust:100%;margin:0;overflow:hidden}html{background-color:var(--felt-dark);background-image:radial-gradient(ellipse 85% 75% at 50% 45%, transparent 55%, #0000006b 100%), var(--felt-noise,linear-gradient(transparent, transparent)), radial-gradient(ellipse 130% 95% at 50% 28%, var(--felt-light) 0%, var(--felt-base) 42%, var(--felt-dark) 100%);background-image:radial-gradient(ellipse 85% 75% at 50% 45%, transparent 55%, #0000006b 100%), var(--felt-noise,linear-gradient(transparent, transparent)), radial-gradient(ellipse 130% 95% at 50% 28%, rgb(from var(--felt-light) calc(r * 1.05) calc(g * 1.05) calc(b * 1.05)) 0%, rgb(from var(--felt-base) calc(r * 1.05) calc(g * 1.05) calc(b * 1.05)) 42%, rgb(from var(--felt-dark) calc(r * 1.05) calc(g * 1.05) calc(b * 1.05)) 100%);background-size:100% 100%, var(--felt-noise-size,160px) var(--felt-noise-size,160px), 100% 100%;background-repeat:no-repeat,repeat,no-repeat}body{background:0 0}button{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}.vlogo{background:radial-gradient(120% 90% at 22% 8%, #fff3, transparent 55%), linear-gradient(150deg, var(--vl-hi), var(--vl-lo));border-radius:26%;flex:none;display:inline-block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #e7c46e8c,inset 0 1px 0 1px #ffffff1f,0 2px 6px #0000004d}.vlogo-g{width:100%;height:100%;color:var(--vl-ink);display:block;position:absolute;top:0;bottom:0;left:0;right:0}.vlogo-g .vl-b{fill:var(--vl-lo)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}:root{--hub-bg:#f2f2ef;--hub-bg-top:#f8f8f6;--hub-surface:#fff;--hub-line:#14161c12;--hub-text:#15171c;--hub-muted:#6c6f77;--hub-body:#3c3f46;--hub-shadow:0 1px 2px #14161c0a, 0 8px 24px #14161c0f;--hub-shadow-hi:0 2px 4px #14161c0d, 0 18px 40px #14161c1c;--hub-icon-shadow:0 1px 2px #0000001f, 0 6px 16px #00000024;--hub-ring:#2f6bff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--hub-bg:#0f1013;--hub-bg-top:#16171b;--hub-surface:#1b1c21;--hub-line:#ffffff12;--hub-text:#f4f4f6;--hub-muted:#ebecf28f;--hub-body:#ebecf2cc;--hub-shadow:0 1px 2px #0000004d, 0 10px 28px #00000047;--hub-shadow-hi:0 2px 4px #0000004d, 0 20px 44px #00000073;--hub-icon-shadow:0 1px 2px #0000004d, 0 6px 16px #00000059;--hub-ring:#7aa2ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}html{background:linear-gradient(180deg, var(--hub-bg-top), var(--hub-bg) 420px) var(--hub-bg)}html,body{color:var(--hub-text)}.toast-host{color:var(--ui-text)}html,body{height:auto;overflow:visible}html{min-height:100%}body{min-height:var(--app-h);padding:calc(var(--safe-t) + 16px) calc(var(--safe-r) + 16px) calc(var(--safe-b) + 16px) calc(var(--safe-l) + 16px);flex-direction:column;display:flex}#app{flex-direction:column;flex:1;display:flex}.hub{flex-direction:column;flex:1;justify-content:center;gap:28px;width:100%;max-width:960px;margin:0 auto;padding-bottom:4vh;display:flex}@media (max-width:600px) and (orientation:portrait){.hub{justify-content:flex-start;padding:clamp(8px,5vh,48px) 0 0}}.hub-header{align-items:center;gap:14px;padding:0 2px;display:flex}.hub-logo{width:44px;height:44px;box-shadow:var(--hub-icon-shadow);outline:1px solid var(--hub-line);outline-offset:-1px;border-radius:22%;flex:none}.hub-mark{width:100%;height:100%;display:block}.hub-titles{flex-direction:column;min-width:0;display:flex}.hub-title{letter-spacing:-.01em;margin:0;font-size:28px;font-weight:800;line-height:1.1}.hub-sub{color:var(--hub-muted);margin:3px 0 0;font-size:14px;line-height:1.35}.hub-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.hub-item{display:flex}.hub-tile{min-width:0;color:inherit;background:var(--hub-surface);border:1px solid var(--hub-line);box-shadow:var(--hub-shadow);cursor:pointer;transition:transform .25s var(--ease-out);border-radius:22px;flex:1;grid-template:"icon head""desc desc"1fr"play play"/76px minmax(0,1fr);align-items:center;gap:14px 16px;padding:18px;text-decoration:none;display:grid;position:relative}.hub-tile:after{content:"";border-radius:inherit;box-shadow:var(--hub-shadow-hi);opacity:0;pointer-events:none;transition:opacity .25s;position:absolute;top:-1px;bottom:-1px;left:-1px;right:-1px}.hub-tile:focus-visible{outline:2px solid var(--hub-ring);outline-offset:3px}@media (hover:hover) and (pointer:fine){.hub-tile:hover{transform:translateY(-2px)}.hub-tile:hover:after{opacity:1}.hub-tile:hover .hub-play .icon{transform:translate(2px)}}.hub-tile:active{transition-duration:.1s;transform:scale(.98)}.hub-icon{width:76px;height:76px;box-shadow:var(--hub-icon-shadow);border-radius:22%;grid-area:icon;display:block}.hub-head{flex-direction:column;grid-area:head;gap:4px;min-width:0;display:flex}.hub-name{letter-spacing:-.005em;margin:0;font-size:20px;font-weight:800;line-height:1.15}.hub-tag{color:var(--hub-muted);font-size:13.5px;line-height:1.3}.hub-desc{color:var(--hub-body);grid-area:desc;align-self:start;margin:0;font-size:14px;line-height:1.45}.hub-play{color:#fff;background:var(--hi);border-radius:999px;grid-area:play;justify-self:start;align-items:center;gap:6px;height:40px;padding:0 15px 0 18px;font-size:15px;font-weight:700;display:inline-flex}.hub-play .icon{transition:transform .25s var(--ease-out)}.hub-foot{text-align:center;color:var(--hub-muted);padding-top:24px;font-size:12px}@media (orientation:landscape) and (max-height:560px){.hub{gap:18px;padding-bottom:0}.hub-title{font-size:24px}.hub-logo{width:40px;height:40px}.hub-tile{grid-template-rows:auto auto 1fr;grid-template-areas:"icon head""icon desc""icon play";align-items:start;row-gap:8px;padding:16px}.hub-play{align-self:end;height:36px;margin-top:4px}.hub-foot{padding-top:16px}}html .toast-host{bottom:calc(var(--safe-b) + 24px)}.toast-host{left:50%;bottom:calc(var(--safe-b) + 86px);z-index:1100;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 24px);display:flex;position:fixed;translate:-50%}.toast{pointer-events:auto;opacity:0;transition:opacity .25s ease, translate .35s var(--ease-spring);background:#101318eb;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:12px;padding:10px 12px 10px 18px;font-size:14px;font-weight:550;display:flex;translate:0 12px;box-shadow:0 12px 30px #0006}.toast:not(:has(button)){padding-right:18px}.toast.show{opacity:1;translate:0}.toast button{color:#1d1503;background:var(--accent);cursor:pointer;border:0;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700}@media (min-width:900px) and (min-height:560px){.toast-host{bottom:calc(var(--safe-b) + 28px)}}html{touch-action:manipulation}.pwa-hint{left:50%;bottom:calc(var(--safe-b) + 86px);z-index:1090;width:min(420px, calc(100vw - 24px - var(--safe-l) - var(--safe-r)));color:var(--ui-text);opacity:0;transition:opacity .25s ease, translate .35s var(--ease-spring,ease);pointer-events:none;background:linear-gradient(165deg,#282e36f2,#12151af7);border:1px solid #ffffff1f;border-radius:20px;grid-template-columns:auto 1fr auto;grid-template-areas:"icon text close""icon ok ok";align-items:center;gap:4px 12px;padding:12px 10px 12px 12px;font-size:13.5px;line-height:1.4;display:grid;position:fixed;translate:-50% 16px;box-shadow:0 18px 40px #00000073,inset 0 1px #ffffff0f}.pwa-hint.show{opacity:1;pointer-events:auto;translate:-50%}.pwa-hint-icon{border-radius:11px;grid-area:icon;align-self:start;width:48px;height:48px;box-shadow:0 4px 12px #00000059}.pwa-hint-text{flex-direction:column;grid-area:text;gap:2px;min-width:0;display:flex}.pwa-hint-text strong{font-size:15px;font-weight:700}.pwa-hint-text span{color:var(--ui-muted)}.pwa-hint-text b{color:var(--ui-text);font-weight:650}.pwa-share{vertical-align:-3px;color:#4aa3ff;margin:0 1px;display:inline-block}.pwa-hint-close{width:30px;height:30px;color:var(--ui-muted);cursor:pointer;background:#ffffff14;border:0;border-radius:50%;grid-area:close;align-self:start;place-items:center;margin:-4px -2px 0 0;padding:0;display:grid}.pwa-hint-close:hover{color:var(--ui-text)}.pwa-hint-ok{background:var(--accent);color:#1d1503;cursor:pointer;border:0;border-radius:999px;grid-area:ok;justify-self:end;margin-top:6px;padding:7px 18px;font-size:13.5px;font-weight:700}@media (min-width:900px) and (min-height:560px){.pwa-hint{bottom:calc(var(--safe-b) + 28px)}}@media (max-height:520px) and (orientation:landscape){.pwa-hint{bottom:calc(var(--safe-b) + 10px);width:min(600px, calc(100vw - 100px - var(--safe-l) - var(--safe-r)));grid-template-columns:auto 1fr auto auto;grid-template-areas:"icon text ok close";padding:10px;font-size:13px;translate:calc(-50% - 30px) 16px}.pwa-hint-icon{border-radius:9px;align-self:center;width:40px;height:40px}.pwa-hint-close{align-self:center;margin:0}.pwa-hint-ok{align-self:center;margin-top:0}.pwa-hint.show{translate:calc(-50% - 30px)}}@media (prefers-reduced-motion:reduce){.pwa-hint{transition:opacity .2s}}
