@font-face{font-family:Cutive Mono;src:url(/media/fonts/CutiveMono-Regular.ttf) format("truetype");font-display:swap}:root{color-scheme:dark;--bg: #111317;--surface: #1b1d22;--surface-soft: #22252b;--line: #34373f;--text: #f8f9fb;--muted: #a2a7b1;--blue: #5ac5f3;--deep-blue: #142c7d;--green: #52d68a;--danger: #ff695e;--header-height: calc(76px + env(safe-area-inset-top)) ;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;background:var(--bg);color:var(--text);font-synthesis:none}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--bg);touch-action:pan-x pan-y}body{min-width:320px;min-height:100vh;min-height:100svh;margin:0;overflow-x:hidden;background:var(--bg);touch-action:pan-x pan-y}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid white;outline-offset:3px}img{display:block;max-width:100%}.boot,.fatal{display:grid;min-height:100svh;place-content:center;margin:0;color:var(--muted);text-align:center}.fatal img{width:190px;margin:0 auto 28px}.fatal h1{color:var(--text)}.fatal button,.empty-view button{min-height:48px;padding:0 24px;border:0;border-radius:12px;background:var(--blue);color:#08202a;font-weight:750}.app-header{position:sticky;z-index:30;top:0;display:grid;grid-template-columns:172px minmax(100px,1fr) auto auto;gap:20px;align-items:center;min-height:calc(76px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(30px,env(safe-area-inset-right)) 0 max(30px,env(safe-area-inset-left));border-bottom:1px solid color-mix(in srgb,var(--line),transparent 30%);background:color-mix(in srgb,var(--bg),transparent 8%);-webkit-backdrop-filter:blur(24px) saturate(130%);backdrop-filter:blur(24px) saturate(130%)}.logo-button{width:150px;padding:0;border:0;background:transparent;cursor:pointer}.header-title{overflow:hidden;margin:0;color:var(--muted);font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.app-header nav{display:flex;gap:4px}.app-header nav button{min-height:42px;padding:0 14px;border:0;border-radius:10px;background:transparent;color:#d3d6dc;cursor:pointer;font-size:.78rem;font-weight:650}.app-header nav button:active{background:var(--surface-soft);transform:scale(.97)}.connection{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:.72rem;white-space:nowrap}.connection i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 12px currentColor}.connection.online{color:var(--green)}.connection.offline{color:var(--danger)}.page{width:100%;max-width:1440px;min-width:0;margin:0 auto;padding:40px max(34px,env(safe-area-inset-right)) max(58px,env(safe-area-inset-bottom)) max(34px,env(safe-area-inset-left))}.mode-home{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:100vh;min-height:100svh;overflow:hidden;background:#0b0d10}.home-brand{position:fixed;z-index:5;top:max(28px,env(safe-area-inset-top));left:50%;display:grid;justify-items:center;width:180px;transform:translate(-50%);pointer-events:none}.home-brand img{width:160px;filter:drop-shadow(0 3px 20px #0007)}.home-brand span{margin-top:8px;color:#ffffffb5;font:.58rem Cutive Mono,monospace;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.mode{position:relative;overflow:hidden;min-width:0;padding:120px clamp(28px,5vw,72px) 44px;border:0;color:#fff;text-align:left;cursor:pointer;isolation:isolate}.mode:before{position:absolute;z-index:-1;inset:0;content:"";background:linear-gradient(180deg,transparent 50%,#0005)}.mode:after{position:absolute;z-index:3;top:0;bottom:0;width:1px;content:"";background:#ffffff2b}.mode-classic{background:#55bfe9}.mode-classic:after{right:0}.mode-pedago{background:#142c7d}.mode-pedago:after{left:0}.mode-copy{position:relative;z-index:2;display:grid;align-content:start;max-width:380px}.mode-copy small{margin-bottom:18px;font:.67rem Cutive Mono,monospace;letter-spacing:.1em;text-transform:uppercase}.mode-copy strong{font-size:clamp(3.1rem,6.1vw,6.2rem);font-weight:780;line-height:.82;letter-spacing:-.075em}.mode-copy em{max-width:300px;margin-top:24px;font-size:clamp(.84rem,1.25vw,1.05rem);font-style:normal;line-height:1.45}.mode>img{position:absolute;z-index:1;right:-2%;bottom:5%;width:min(45%,360px);max-height:58%;object-fit:contain;object-position:right bottom;transition:transform .45s cubic-bezier(.2,.8,.2,1)}.mode b{position:absolute;z-index:4;bottom:max(38px,env(safe-area-inset-bottom));left:clamp(28px,5vw,72px);display:flex;gap:16px;align-items:center;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}.mode b span{display:grid;width:34px;height:34px;place-items:center;border:1px solid #fff7;border-radius:50%;transition:transform .25s ease,background .25s ease}@media(hover:hover){.mode:hover>img{transform:translateY(-10px) scale(1.04)}.mode:hover b span{transform:translate(5px);background:#fff;color:#142c7d}}.mode:active{filter:brightness(.94)}.install-hint{position:fixed;z-index:8;top:164px;left:50%;width:max-content;max-width:calc(100vw - 44px);padding:10px 14px;border-radius:10px;background:#05070abf;color:#fff;font-size:.72rem;transform:translate(-50%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.page-heading{display:flex;gap:48px;align-items:end;justify-content:space-between;padding:26px 0 38px}.page-heading.compact{padding-top:10px}.kicker{margin:0 0 10px;color:var(--blue);font:.68rem Cutive Mono,monospace;letter-spacing:.12em;text-transform:uppercase}.page-heading h1,.episode-heading h1,.universe-heading h1{max-width:850px;margin:0;font-size:clamp(2.7rem,5.5vw,5.7rem);line-height:.9;letter-spacing:-.065em}.page-heading>p{max-width:360px;margin:0 0 7px;color:var(--muted);font-size:.95rem;line-height:1.5}.back{min-height:42px;margin:0 0 22px;padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:.78rem}.universe-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;border-block:1px solid var(--line)}.universe{position:relative;display:grid;min-height:min(55vw,540px);padding:26px;overflow:hidden;border:0;border-right:1px solid var(--line);background:transparent;color:#fff;text-align:left;cursor:pointer;isolation:isolate}.universe:last-child{border-right:0}.universe:before{position:absolute;z-index:-2;inset:0;content:"";background:var(--surface)}.universe:after{position:absolute;z-index:-1;right:0;bottom:0;left:0;height:3px;content:"";background:var(--universe-accent);transform:scaleX(.25);transform-origin:left;transition:transform .35s ease}.universe>span{display:grid;align-self:start}.universe small,.content-menu small{color:var(--universe-accent);font:.66rem Cutive Mono,monospace}.universe strong{max-width:250px;margin-top:10px;font-size:clamp(1.45rem,2.4vw,2.5rem);line-height:.95;letter-spacing:-.045em}.universe img{position:absolute;right:0;bottom:58px;left:0;width:100%;height:67%;object-fit:cover;filter:saturate(.9);transition:transform .4s ease,filter .4s ease}.universe b{align-self:end;color:var(--muted);font-size:.72rem}@media(hover:hover){.universe:hover:after{transform:scaleX(1)}.universe:hover img{transform:scale(1.035);filter:saturate(1.08)}}.shortcut-section{min-width:0;padding-top:46px}.section-label{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;color:var(--blue);font:.67rem Cutive Mono,monospace;letter-spacing:.1em;text-transform:uppercase}.section-label i{height:1px;background:var(--line)}.shortcut-rail{display:grid;grid-auto-columns:minmax(275px,1fr);grid-auto-flow:column;gap:1px;width:100%;min-width:0;margin-top:18px;overflow-x:auto;border-block:1px solid var(--line);scroll-snap-type:x mandatory}.shortcut{display:grid;grid-template-columns:68px 1fr auto;gap:15px;align-items:center;min-height:100px;padding:15px;border:0;background:transparent;color:#fff;text-align:left;cursor:pointer;scroll-snap-align:start}.shortcut+.shortcut{border-left:1px solid var(--line)}.shortcut img{width:68px;height:68px;border-radius:15px;object-fit:cover}.shortcut span{display:grid;gap:4px}.shortcut strong{font-size:.95rem}.shortcut small{color:var(--muted);font-size:.68rem;line-height:1.35}.shortcut b{color:var(--muted);font-weight:400}.universe-heading{display:grid;grid-template-columns:1fr minmax(320px,46%);min-height:48vh;overflow:hidden;border-bottom:3px solid var(--universe-accent);background:var(--surface)}.universe-heading>div{display:grid;align-content:center;padding:44px}.universe-heading img{width:100%;height:100%;object-fit:cover}.content-menu{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.content-menu button{display:grid;grid-template-rows:auto 180px auto auto;gap:12px;min-width:0;padding:24px;border:0;border-right:1px solid var(--line);background:transparent;color:#fff;text-align:left;cursor:pointer}.content-menu button:last-child{border-right:0}.content-menu img{width:100%;height:180px;object-fit:cover}.content-menu strong{font-size:1.25rem}.content-menu span{color:var(--muted);font-size:.7rem}.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.audience-grid button{position:relative;min-height:min(48vw,520px);padding:0;overflow:hidden;border:0;border-right:1px solid var(--line);background:var(--surface);color:#fff;text-align:left;cursor:pointer}.audience-grid button:last-child{border-right:0}.audience-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.audience-grid span{position:absolute;right:0;bottom:0;left:0;display:grid;padding:52px 25px 24px;background:linear-gradient(transparent,#05070be8)}.audience-grid small{color:var(--blue);font:.66rem Cutive Mono,monospace}.audience-grid strong{margin-top:7px;font-size:clamp(1.3rem,2.3vw,2.35rem);line-height:1;letter-spacing:-.035em}.audience-grid em{margin-top:6px;color:#d4d7dd;font-size:.7rem;font-style:normal}@media(hover:hover){.audience-grid button:hover img{transform:scale(1.035)}}.episode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.episode-grid button{position:relative;min-height:370px;padding:0;overflow:hidden;border:0;background:var(--surface);color:#fff;text-align:left;cursor:pointer}.episode-grid img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.episode-grid span{position:absolute;right:0;bottom:0;left:0;display:grid;padding:72px 22px 22px;background:linear-gradient(transparent,#090b0fee)}.episode-grid small{color:var(--blue);font:.65rem Cutive Mono,monospace;text-transform:uppercase}.episode-grid strong{margin-top:6px;font-size:1.8rem;letter-spacing:-.04em}.episode-grid em{margin-top:8px;color:var(--muted);font-size:.7rem;font-style:normal}@media(hover:hover){.episode-grid button:hover img{transform:scale(1.035)}}.episode-heading{display:flex;align-items:end;justify-content:space-between;padding:4px 0 32px}.episode-heading>p{color:var(--muted);font:.72rem Cutive Mono,monospace}.step-rail{display:grid;grid-auto-columns:minmax(240px,25vw);grid-auto-flow:column;gap:18px;padding:0 0 20px;overflow-x:auto;scroll-padding-inline:2px;scroll-snap-type:x mandatory}.step-rail button{display:grid;grid-template-rows:minmax(360px,56vh) auto;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:#fff;text-align:left;cursor:pointer;scroll-snap-align:start}.step-rail img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.step-rail span{display:grid;padding:16px}.step-rail small{color:var(--blue);font:.63rem Cutive Mono,monospace;text-transform:uppercase}.step-rail strong{margin-top:6px;font-size:1.05rem}.step-rail em{margin-top:10px;color:var(--muted);font-size:.65rem;font-style:normal}.step-rail em.available{color:var(--green)}@media(hover:hover){.step-rail button:hover img{transform:scale(1.025)}}.fullscreen-gallery{display:grid;grid-auto-columns:100%;grid-auto-flow:column;height:calc(100svh - 76px);overflow-x:auto;background:#000;scroll-snap-type:x mandatory}.fullscreen-gallery figure{position:relative;display:grid;width:100%;height:100%;margin:0;place-items:center;scroll-snap-align:start}.fullscreen-gallery img{width:100%;height:100%;object-fit:contain}.fullscreen-gallery figcaption,.dialog-gallery figcaption{position:absolute;right:20px;bottom:18px;padding:7px 10px;border-radius:9px;background:#000b;color:#fff;font:.65rem Cutive Mono,monospace}.close-gallery{position:fixed;z-index:40;top:max(92px,calc(env(safe-area-inset-top) + 86px));right:max(22px,env(safe-area-inset-right));display:grid;width:48px;height:48px;place-items:center;border:1px solid #fff4;border-radius:50%;background:#000a;color:#fff;font-size:1.7rem;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.offline-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);border-block:1px solid var(--line)}.download-panel{padding:36px 42px 42px 0;border-right:1px solid var(--line)}.storage-panel{padding:36px 0 42px 42px}.download-number{display:flex;align-items:end;justify-content:space-between}.download-number strong{font-size:clamp(5rem,11vw,10rem);line-height:.75;letter-spacing:-.08em}.download-number strong small{margin-left:5px;color:var(--blue);font-size:.25em;letter-spacing:-.02em}.download-number span{color:var(--muted);font:.68rem Cutive Mono,monospace}.progress{height:10px;margin-top:38px;overflow:hidden;border-radius:99px;background:var(--surface-soft)}.progress i{display:block;height:100%;border-radius:inherit;background:var(--blue);box-shadow:0 0 22px #5ac5f388;transition:width .2s ease}.download-copy{display:flex;justify-content:space-between;margin-top:10px;color:var(--muted);font-size:.68rem}.download-actions{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:8px;margin-top:30px}.download-actions button{min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:transparent;color:#fff;cursor:pointer;font-size:.72rem;font-weight:700}.download-actions button.primary{border-color:var(--blue);background:var(--blue);color:#08202a}.download-actions button.danger{grid-column:-2;border-color:#ff695e66;color:var(--danger)}.download-actions button:disabled{opacity:.3;cursor:default}.offline-ready{display:flex;gap:14px;align-items:center;margin-top:24px;padding:18px;border:1px solid #52d68a55;border-radius:12px;background:#52d68a0b}.offline-ready b{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:var(--green);color:#072114}.offline-ready span{display:grid}.offline-ready small{margin-top:3px;color:var(--muted)}.status-message{margin-top:18px;padding:12px 14px;border-left:3px solid var(--blue);background:#5ac5f30c;color:#dbeff8;font-size:.75rem}.storage-panel dl{margin:27px 0 0}.storage-panel dl div{display:flex;align-items:baseline;justify-content:space-between;padding:17px 0;border-top:1px solid var(--line)}dt{color:var(--muted);font:.66rem Cutive Mono,monospace;text-transform:uppercase}dd{margin:0;font-size:1.15rem;font-weight:720}.danger-text{color:var(--danger)}.storage-warning{color:var(--danger);font-size:.72rem;line-height:1.5}.text-link{min-height:42px;padding:0;border:0;background:transparent;color:var(--blue);cursor:pointer;font-size:.76rem}.diagnostics{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.diagnostics div{display:grid;grid-template-columns:minmax(130px,.65fr) 1.35fr;gap:18px;padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.diagnostics dd{overflow-wrap:anywhere;font-size:.76rem;font-weight:500}.error-list{padding-top:36px}.error-list h2{font-size:1.5rem}.error-list p{display:grid;grid-template-columns:160px 160px 1fr;gap:14px;padding:13px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.7rem}.error-list strong{color:var(--danger)}.empty-view{display:grid;min-height:60vh;place-content:center;text-align:center}.content-dialog{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0;overflow:hidden;border:0;background:#000;color:#fff}.content-dialog::backdrop{background:#000}.content-dialog video{display:block;width:100%;height:100%;background:#000}.content-dialog video.contain{object-fit:contain}.content-dialog video.cover{object-fit:cover}.dialog-close{position:fixed;z-index:60;top:max(20px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right));display:grid;width:50px;height:50px;place-items:center;border:1px solid #fff5;border-radius:50%;background:#05070abd;color:#fff;font-size:1.8rem;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dialog-title{position:fixed;z-index:55;top:max(24px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left));display:grid;padding:9px 13px;border-radius:9px;background:#05070a9c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dialog-title small{color:var(--blue);font:.6rem Cutive Mono,monospace;text-transform:uppercase}.dialog-title strong{margin-top:3px;font-size:.85rem}.dialog-gallery{display:grid;grid-auto-columns:100%;grid-auto-flow:column;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory}.dialog-gallery figure{position:relative;display:grid;width:100%;height:100%;margin:0;place-items:center;scroll-snap-align:start}.dialog-gallery img{width:100%;height:100%;object-fit:contain}@media(max-width:900px){.app-header{grid-template-columns:130px 1fr auto}.header-title{display:none}.logo-button{width:125px}.app-header nav button{padding-inline:9px}.mode{padding-inline:30px}.mode-copy strong{font-size:clamp(2.7rem,7vw,4.5rem)}.page-heading{align-items:start}.page-heading>p{max-width:280px}.content-menu{grid-template-columns:repeat(2,1fr)}.offline-layout{grid-template-columns:1fr}.download-panel{padding-right:0;border-right:0}.storage-panel{padding-left:0;border-top:1px solid var(--line)}}@media(orientation:landscape)and (min-width:768px){html,body,#app{width:100%;height:100%;overflow:hidden;overscroll-behavior:none}.app-header{position:relative;height:var(--header-height);min-height:var(--header-height)}.page{height:calc(100svh - var(--header-height));padding:20px max(28px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(28px,env(safe-area-inset-left));overflow:hidden}.page-heading{min-height:0;padding:8px 0 20px}.page-heading.compact{padding:0 0 14px}.page-heading h1,.episode-heading h1,.universe-heading h1{font-size:clamp(2.6rem,4.7vw,4.8rem)}.page-heading>p{font-size:.82rem}.back{min-height:32px;margin-bottom:8px}.page:has(.universe-rail){display:grid;grid-template-rows:auto minmax(0,1fr) auto}.universe-rail{min-height:0}.universe{min-height:0;height:100%;padding:20px}.universe img{bottom:42px;height:65%}.universe strong{font-size:clamp(1.25rem,2vw,2rem)}.shortcut-section{padding-top:16px}.section-label{display:none}.shortcut-rail{height:96px;margin-top:0}.shortcut{min-height:94px;padding-block:12px}.shortcut img{width:62px;height:62px}.page:has(.universe-heading){display:grid;grid-template-rows:auto minmax(0,1fr) auto}.universe-heading{min-height:0;height:100%}.universe-heading>div{padding:30px}.content-menu{height:190px}.content-menu button{grid-template-rows:auto 102px auto auto;gap:5px;padding:12px 16px}.content-menu img{height:102px}.content-menu strong{font-size:1rem}.page:has(.audience-grid){display:grid;grid-template-rows:auto minmax(0,1fr)}.audience-grid,.audience-grid button{min-height:0;height:100%}.audience-grid span{padding:42px 20px 18px}.page:has(.episode-grid){display:grid;grid-template-rows:auto auto minmax(0,1fr)}.episode-grid,.episode-grid button{min-height:0;height:100%}.page:has(.step-rail){display:grid;grid-template-rows:auto auto minmax(0,1fr)}.episode-heading{padding:0 0 14px}.step-rail{min-height:0;height:100%;padding-bottom:5px;overflow-y:hidden;touch-action:pan-x}.step-rail button{height:100%;grid-template-rows:minmax(0,1fr) 90px}.step-rail span{padding:11px 14px}.step-rail em{margin-top:4px}.page:has(.offline-layout){display:grid;grid-template-rows:auto minmax(0,1fr)}.offline-layout{min-height:0;height:100%;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);overflow:hidden}.download-panel{padding:24px 28px 18px 0;overflow:hidden}.storage-panel{padding:24px 0 18px 28px;overflow:hidden;border-top:0}.download-number strong{font-size:clamp(4.2rem,8vw,7rem)}.progress{margin-top:24px}.download-actions{margin-top:18px}.offline-ready{margin-top:14px;padding:12px}.status-message{margin-top:10px;padding-block:8px}.storage-panel dl{margin-top:14px}.storage-panel dl div{padding:11px 0}.page:has(.diagnostics){display:grid;grid-template-rows:auto auto auto minmax(0,1fr)}.diagnostics{min-height:0}.diagnostics div{padding:11px 14px}.error-list{min-height:0;padding-top:14px;overflow:hidden}.error-list h2{margin:0 0 8px;font-size:1rem}.error-list p{margin:0;padding:7px 0}}@media(orientation:portrait){.mode-home{grid-template-columns:1fr}.home-brand{top:18px}.mode{min-height:50svh;padding-top:90px}.mode-copy strong{font-size:clamp(2.7rem,10vw,5rem)}.mode>img{max-height:55%}.install-hint{top:148px;left:50%;max-width:calc(100vw - 44px)}.universe-rail{grid-template-columns:1fr}.universe{min-height:420px;border-right:0;border-bottom:1px solid var(--line)}.audience-grid,.episode-grid{grid-template-columns:1fr}.audience-grid button{min-height:55vw;border-right:0;border-bottom:1px solid var(--line)}.episode-grid button{min-height:55vw}.step-rail{grid-auto-columns:minmax(260px,45vw)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
