/* Public landing only: never changes signed-in dashboards or tenant pages. */
body.vm-public-home{--home-bg:#faf8f5;--home-panel:#f4f1ea;--home-ink:#191919;--home-muted:#646464;--home-gold:#b56b00;--home-line:#ded8cb;background:var(--home-bg);color:var(--home-ink);overflow-x:clip}
[data-theme="dark"] body.vm-public-home{--home-bg:#090909;--home-panel:#141414;--home-ink:#e4e7ec;--home-muted:#a1a8b4;--home-gold:#f5a800;--home-line:#303030}
.vm-public-home *{box-sizing:border-box}.vm-public-home h1,.vm-public-home h2,.vm-public-home h3{color:inherit;text-transform:none;font-family:'Be Vietnam Pro',sans-serif;letter-spacing:-.04em}.vm-public-home h2{font-size:clamp(30px,3.8vw,52px);line-height:1.2;font-weight:600}.vm-public-home h2 span{color:var(--home-muted)}.vm-public-home em{font-style:normal;color:var(--home-gold)}.home-shell{width:min(1320px,calc(100% - 96px));margin-inline:auto}.home-section{padding-block:104px;scroll-margin-top:90px}.home-kicker{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--home-gold);margin:0 0 28px;line-height:1.6}.home-kicker>span{width:6px;height:6px;border-radius:50%;background:currentColor}.home-skip{position:fixed;left:16px;top:-100px;z-index:2000;padding:12px;background:#f3c568;color:#171a15}.home-skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.vm-public-home .topbar{box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--home-bg);border-bottom:1px solid var(--home-line)}.vm-public-home .topbar .nav{max-width:none;padding:12px clamp(16px,2vw,32px);min-height:68px}.home-nav-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}.vm-public-home .logo{font-size:19px}.vm-public-home .logo .brand-vinh{color:var(--home-gold)}.vm-public-home .navlinks>a{font-size:13px}.vm-public-home .navlinks>a.active::after{box-shadow:none}
.home-hero{position:relative;overflow:hidden;background:transparent}.hero-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding-block:80px 65px}.hero-copy h1{font-size:clamp(45px,4.6vw,70px);line-height:1.12;margin:0;font-weight:600;letter-spacing:-.055em}.hero-description{font-size:15px;line-height:1.85;color:var(--home-muted);max-width:470px;margin:28px 0 30px}.home-actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap}.home-button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;text-decoration:none;font-size:12px;font-weight:600;min-height:50px;padding:14px 21px;border-radius:4px;transition:transform .2s,background .2s}.home-button.primary{background:linear-gradient(120deg,#d47c00,#ffbd0a);color:#191100;border:1px solid #eea000}.home-button:hover{transform:translateY(-2px);background:#ffbf19}.home-button>span{font-size:19px}.home-text-link{display:inline-flex;align-items:center;gap:16px;color:inherit;text-decoration:none;font-size:12px;font-weight:600;padding-block:12px;border-bottom:1px solid var(--home-line)}.home-text-link:hover{color:var(--home-gold)}.hero-footnote{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:10px;color:var(--home-muted);margin-top:34px}.hero-footnote i{height:14px;border-left:1px solid var(--home-line)}.hero-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--home-line);padding-block:21px;font-size:9px;letter-spacing:.13em;color:var(--home-muted)}.hero-bottom a{color:inherit;text-decoration:none}.hero-bottom a span{margin-left:20px}
.section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:0 100px;align-items:end;margin-bottom:50px}.section-heading .home-kicker{grid-column:1/-1}.section-heading h2{margin:0}.section-heading>p:last-child:not(.home-kicker){font-size:14px;color:var(--home-muted);line-height:1.9;margin:0}.section-heading.compact{display:block}.system-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--home-line);border-bottom:1px solid var(--home-line)}.system-item{padding:27px 26px 34px;text-decoration:none;color:inherit;border-right:1px solid var(--home-line);transition:background .25s}.system-item:first-child{padding-left:0}.system-item:last-child{border-right:0}.system-item:hover{background:var(--home-panel)}.item-number{font:11px monospace;color:var(--home-gold)}.system-item svg{display:block;width:100%;height:114px;margin:8px 0 16px;stroke:var(--home-gold);stroke-width:1.3;fill:none}.system-item h3{font-size:17px;letter-spacing:-.025em;margin-bottom:14px;display:flex;justify-content:space-between;gap:6px}.system-item h3 span{font-size:16px;font-weight:400;color:var(--home-gold)}.system-item p{font-size:12px;line-height:1.85;color:var(--home-muted);margin:0;max-width:26ch}
.learning-band{padding-block:85px;background:linear-gradient(120deg,#ed980018,#ffbb0028);color:var(--home-ink)}.learning-band .home-kicker{color:var(--home-gold)}.learning-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:center}.learning-layout h2{margin:0 0 25px}.learning-layout em{color:var(--home-gold)}.learning-layout p{font-size:14px;line-height:1.9;max-width:440px;color:var(--home-muted)}.learning-band .home-text-link{border-color:#a48744}.learning-steps{padding:0;margin:0;list-style:none}.learning-steps li{padding:25px 0;display:flex;gap:25px;border-bottom:1px solid var(--home-line)}.learning-steps li:first-child{border-top:1px solid var(--home-line)}.learning-steps li>span{font:italic 22px Georgia,serif;color:var(--home-gold)}.learning-steps h3{font-size:19px;margin:0 0 8px}.learning-steps p{font-size:12px;margin:0}
.vm-public-home .vm-home-showcase{margin-top:0;overflow:hidden;border-radius:5px;border:1px solid var(--home-line)}.vm-public-home .vm-showcase{border-radius:0;padding:48px 38px 25px}.vm-public-home .vm-showcase .vm-cosmos{opacity:.35}.vm-public-home .vm-showcase .vm-title{font-size:clamp(28px,3vw,43px)}.vm-public-home .vm-showcase .vm-teaching-grid{border-top:1px solid #ffffff18}.vm-public-home .vm-showcase .vm-teaching-grid article{box-shadow:none}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;border-top:1px solid var(--home-line)}.about-photos{position:relative;padding-right:85px;align-self:start}.about-main{width:100%;height:480px;object-fit:cover;object-position:center 30%;border-radius:4px}.about-secondary{position:absolute;bottom:24px;right:0;width:52%;height:200px;object-fit:cover;border:8px solid var(--home-bg);border-radius:4px}.photo-note{font-size:10px;letter-spacing:.06em;color:var(--home-muted);display:block;line-height:1.8;margin-top:16px}.about-copy h2{font-size:clamp(28px,3.1vw,43px);margin:0 0 24px}.about-copy>p:not(.home-kicker){font-size:13px;line-height:1.9;color:var(--home-muted)}.about-copy blockquote{margin:25px 0;padding-left:20px;border-left:2px solid var(--home-gold);font:italic 22px/1.5 Georgia,serif}.vm-public-home .vm-contact-panel{box-shadow:none}
.public-updates{padding-top:0;display:grid;gap:80px}.public-updates .sec-label{font-size:10px;letter-spacing:.15em;color:var(--home-gold);font-weight:700;margin-bottom:18px}.public-updates h2{font-size:34px}.public-updates .card{box-shadow:none;border-radius:4px}.public-updates .features>p{font-size:13px;line-height:1.8}.public-updates table{min-width:620px}.public-updates #blogCongKhai>a{box-shadow:none!important;border-radius:4px!important;transition:transform .2s}.public-updates #blogCongKhai>a:hover{transform:translateY(-3px)}.home-closing{padding:80px 0;background:var(--home-panel);border-top:1px solid var(--home-line)}.home-closing h2{font-size:clamp(38px,5vw,70px);margin:0 0 32px}.home-footer{border-top:1px solid var(--home-line);padding-block:30px}.home-footer .home-shell{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.home-footer .home-shell>span{font-size:12px}.home-footer small{margin-left:auto;font-size:10px;color:var(--home-muted)}.home-footer a:last-child{font-size:10px;color:var(--home-muted);text-decoration:none}
.home-reveal{opacity:1;transform:none}.home-motion-enabled .home-reveal{transition:opacity .65s ease,transform .65s cubic-bezier(.2,.65,.2,1)}.home-motion-enabled .home-reveal.is-pending{opacity:0;transform:translateY(18px)}.vm-public-home :focus-visible{outline:2px solid var(--home-gold);outline-offset:5px}.math-lab :focus-visible{outline-color:#f3d592}
@media(min-width:1600px){.hero-layout{padding-block:100px 85px}.math-stage{height:430px}}
@media(max-width:1050px){.home-shell{width:calc(100% - 56px)}.hero-layout{gap:32px}.hero-copy h1{font-size:49px}.math-stage{height:330px}.section-heading{gap:0 35px}.learning-layout,.about-layout{gap:45px}.system-item{padding-inline:18px}.system-item h3{font-size:15px}.home-install-inner{width:calc(100% - 56px)}.vm-public-home .topbar .nav{padding-inline:28px}.about-main{height:400px}}
@media(max-width:760px){.home-shell{width:calc(100% - 40px)}.home-section{padding-block:65px}.home-install-inner{width:calc(100% - 40px);padding:8px 0;gap:8px}.home-install-first-copy p{display:none}.home-install-first-copy h2{font-size:9px!important}.home-install-first-action{font-size:9px}.install-mark{font-size:15px}.vm-public-home .topbar .nav{padding:12px 20px;min-height:64px}.vm-public-home .logo{font-size:16px}.hero-layout{grid-template-columns:1fr;padding-block:48px 30px;gap:40px}.hero-copy h1{font-size:clamp(43px,9vw,64px)}.home-kicker{margin-bottom:22px;font-size:9px}.hero-description{font-size:13px;max-width:440px;margin-block:22px}.hero-footnote{margin-top:26px;font-size:9px}.home-actions{gap:15px}.home-button{font-size:11px;padding-inline:17px;gap:18px}.home-text-link{font-size:11px}.math-lab{padding:16px 18px}.math-stage{height:320px}.math-lab figcaption{font-size:10px}.hero-bottom{font-size:8px}.hero-bottom>a{white-space:nowrap}.hero-bottom>a span{margin-left:4px}.section-heading{display:block;margin-bottom:32px}.section-heading>p:last-child:not(.home-kicker){margin-top:22px;font-size:13px}.system-grid{grid-template-columns:1fr 1fr}.system-item{padding:22px 18px!important}.system-item:nth-child(2){border-right:0}.system-item:nth-child(-n+2){border-bottom:1px solid var(--home-line)}.system-item svg{height:90px}.system-item h3{font-size:14px}.system-item p{font-size:11px}.learning-band{padding-block:55px}.learning-layout,.about-layout{grid-template-columns:1fr;gap:35px}.learning-steps h3{font-size:17px}.learning-layout p{font-size:13px}.vm-public-home .vm-showcase{padding:26px 18px 20px}.about-photos{max-width:520px;padding-right:70px}.about-main{height:380px}.about-secondary{height:165px;bottom:32px}.public-updates{padding-top:0;gap:50px}.public-updates h2{font-size:28px}.home-closing{padding-block:55px}.home-footer .home-shell{gap:16px}.home-footer small{margin-left:0}.home-footer .home-shell>span{flex-basis:100%}.graph-control{left:0;right:0;gap:8px}.graph-control input{width:80px}}
/* Keep public-page hierarchy despite the shared app's compact mobile headings. */
@media(max-width:768px){.vm-public-home .hero-copy h1{font-size:clamp(36px,9vw,52px)!important}.vm-public-home .section-heading h2,.vm-public-home .learning-layout h2,.vm-public-home .about-copy h2{font-size:30px!important}.vm-public-home .system-item h3{font-size:14px!important}.vm-public-home .home-closing h2{font-size:38px!important}.vm-public-home .home-install-first-copy h2{font-size:9px!important}}
@media(max-width:768px){body.vm-public-home{overflow-x:clip!important;overflow-y:visible!important}}
@media(max-width:360px){.vm-public-home .topbar .logo{font-size:13px!important}.vm-public-home .topbar .btn{padding:8px;font-size:11px}.vm-public-home .hero-copy h1{font-size:34px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.vm-public-home *, .vm-public-home *::before,.vm-public-home *::after{animation:none!important;transition:none!important}.home-motion-enabled .home-reveal.is-pending{opacity:1;transform:none}}
/* Mathematical illustrations are transparent parts of the page, not UI cards. */
.vm-public-home{isolation:isolate}
#homeAmbientCanvas{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.vm-public-home main,.home-footer{position:relative}
.math-art{margin:0;position:relative;min-width:0;height:510px}
.math-art canvas{display:block;width:100%;height:100%}
.vm-public-home #vmInstallBtn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;min-width:38px;padding:0;border:1px solid var(--home-line);border-radius:6px;background:var(--home-panel);color:var(--home-gold);cursor:pointer}
.vm-public-home #vmInstallBtn .vm-install-label{display:none}
.vm-public-home #vmInstallBtn .vm-install-icon{font-size:0;width:20px;height:20px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M12 3v12m-4-4 4 4 4-4M4 16v4h16v-4'/%3E%3C/svg%3E") center/contain no-repeat}
.vm-public-home #vmInstallBtn:hover{border-color:var(--home-gold)}
@media(min-width:1600px){.math-art{height:570px}}
@media(max-width:1050px){.math-art{height:430px}}
@media(max-width:760px){.math-art{height:370px}.hero-layout{gap:18px}.vm-public-home .navlinks{gap:12px}}
@media(max-width:360px){.math-art{height:320px}.vm-public-home #vmInstallBtn{width:30px;height:32px;min-width:30px}.vm-public-home .topbar .logo{font-size:12px!important;gap:4px!important}.vm-public-home .topbar .logo img{width:22px!important;height:22px!important}.vm-public-home .home-nav-actions .btn{font-size:10px!important;padding:7px!important}.vm-public-home .topbar .nav{gap:4px!important}}
@media(display-mode:standalone){.vm-public-home #vmInstallBtn{display:none}}
/* Open feature layout: consistent line icons, no enclosing cards or dividers. */
.vm-public-home .system-grid{gap:40px;border:0}
.vm-public-home .system-item,.vm-public-home .system-item:first-child,.vm-public-home .system-item:nth-child(-n+2){padding:16px 0!important;border:0;background:transparent}
.vm-public-home .system-item .system-icon{width:50px;height:50px;margin:0 0 26px;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;color:var(--home-gold);transition:transform .25s ease}
.vm-public-home .system-item:hover .system-icon{transform:translateY(-3px)}
.vm-public-home .system-item h3{font-weight:600}
.vinh-values{margin:0}
.vinh-values>div{display:grid;grid-template-columns:180px 1fr;gap:22px;padding:23px 0;border-bottom:1px solid var(--home-line);align-items:center}
.vinh-values>div:first-child{padding-top:0}.vinh-values>div:last-child{border:0;padding-bottom:0}
.vinh-values dt{display:flex;gap:18px;align-items:center;font-size:18px;font-weight:600}
.vinh-values .value-letter{width:38px;font-size:44px;line-height:1;font-weight:500;color:var(--home-gold)}
.vinh-values small{display:block;margin-top:5px;font-size:10px;font-weight:400;color:var(--home-muted);letter-spacing:.04em}
.vinh-values dd{margin:0;font-size:12px;line-height:1.85;color:var(--home-muted)}
@media(max-width:1050px){.vm-public-home .system-grid{gap:26px}.vinh-values>div{grid-template-columns:155px 1fr;gap:14px}.vinh-values dt{gap:12px}}
@media(max-width:760px){.vm-public-home .system-grid{gap:24px}.vm-public-home .system-item .system-icon{width:42px;height:42px;margin-bottom:20px}.vinh-values>div{grid-template-columns:145px 1fr;gap:15px}.vinh-values dt{font-size:16px}.vinh-values .value-letter{font-size:36px;width:28px}.vinh-values dd{font-size:11px}}
@media(max-width:360px){.vinh-values>div{grid-template-columns:1fr;gap:12px}.vinh-values dd{padding-left:40px}}
/* Contain the entire black-hole silhouette inside the public showcase. */
.vm-public-home .vm-showcase .vm-cosmos{top:0;height:100%;opacity:.5;mask-image:linear-gradient(transparent,#000 4%,#000 94%,transparent)}
.vm-public-home .vm-showcase{padding-top:128px}
.vm-public-home .vm-slideshow-toggle{border:1px solid var(--vm-line);background:var(--vm-panel);color:var(--vm-muted);border-radius:999px;font-size:11px;padding:8px 12px;white-space:nowrap}
.home-section-rail{position:fixed;right:10px;top:50%;transform:translateY(-50%);z-index:45;display:flex;flex-direction:column;gap:8px;width:26px;--rail-progress:0}
.home-section-rail a{position:relative;display:grid;place-items:center;width:26px;height:26px;color:var(--home-muted);text-decoration:none}
.home-section-rail a:after{content:'';width:5px;height:5px;border:1px solid currentColor;background:var(--home-bg);border-radius:50%;transition:height .3s,width .3s,background .3s,color .3s}
.home-section-rail a[aria-current]:after{height:20px;width:5px;border-radius:8px;background:var(--home-gold);border-color:var(--home-gold)}
.home-section-rail a span{position:absolute;right:32px;white-space:nowrap;font-size:10px;padding:6px 0;color:var(--home-muted);opacity:1;transition:color .2s;pointer-events:none}
.home-section-rail a[aria-current] span{color:var(--home-gold);font-weight:600}
.home-section-rail a:hover span,.home-section-rail a:focus-visible span{opacity:1;transform:none}
.rail-track{position:absolute;top:13px;bottom:13px;left:12px;width:1px;background:var(--home-line);pointer-events:none}
.rail-track i{display:block;width:100%;height:100%;background:var(--home-gold);transform-origin:top;transform:scaleY(var(--rail-progress));transition:transform .12s linear}
#tinh-than-vinh,#gioi-thieu{scroll-margin-top:90px}
.public-timetable{border:1px solid var(--home-line);border-radius:16px;overflow:hidden;background:var(--home-bg)}
.public-timetable svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.timetable-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid var(--home-line)}
.timetable-toolbar strong{display:flex;align-items:center;gap:10px;font-size:16px}.timetable-toolbar strong svg{color:var(--home-gold);width:20px;height:20px}
.timetable-toolbar>div>span{display:block;font-size:10px;color:var(--home-muted);margin-top:6px}
.timetable-toolbar label{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--home-muted)}
.timetable-toolbar select{width:210px;max-width:100%;font:inherit;color:var(--home-ink);background:var(--home-panel);border:1px solid var(--home-line);border-radius:8px;padding:10px}
.vm-public-home #vmCompanionDock,.vm-public-home #aiChatBubble,.vm-public-home #aiChatBox{display:none!important}
.home-zalo-contact{position:fixed;right:24px;bottom:max(24px,env(safe-area-inset-bottom));z-index:90;width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:#0068ff;box-shadow:0 4px 22px #0068ff40;border:1px solid #ffffff50;transition:transform .2s ease}
.home-zalo-contact{padding:0;cursor:pointer;background:transparent;border:0;border-radius:20px}.home-zalo-contact svg{width:100%;height:100%;display:block}.home-zalo-contact:hover{transform:translateY(-3px)}.home-zalo-contact:focus-visible{outline:3px solid var(--home-gold);outline-offset:4px}
.home-zalo-contact>span{position:absolute;right:68px;white-space:nowrap;padding:8px 12px;border-radius:8px;background:var(--home-panel);color:var(--home-ink);border:1px solid var(--home-line);font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s}.home-zalo-contact:hover>span,.home-zalo-contact:focus-visible>span{opacity:1}
@media(max-width:760px){.home-zalo-contact{right:20px;bottom:max(18px,env(safe-area-inset-bottom));width:50px;height:50px}.home-zalo-contact svg{width:44px;height:44px}}
.timetable-scroll{overflow-x:auto}.timetable-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:1080px}
.timetable-day{border-right:1px solid var(--home-line);min-width:0}.timetable-day:last-child{border-right:0}
.timetable-day>header{display:flex;justify-content:space-between;gap:5px;align-items:center;padding:16px 12px;border-bottom:1px solid var(--home-line);background:var(--home-panel)}
.vm-public-home .timetable-day h3{font-size:12px!important;letter-spacing:0;margin:0;font-weight:600}
.timetable-day>header>span{font-size:9px;color:var(--home-muted)}.timetable-day.is-today>header{box-shadow:inset 0 3px var(--home-gold)}.timetable-day.is-today>header>span{color:var(--home-gold)}
.day-events{display:flex;flex-direction:column;gap:10px;padding:10px;min-height:140px}
.timetable-event{padding:12px 10px;border:1px solid hsl(var(--class-hue) 50% 50% / .2);border-left:3px solid hsl(var(--class-hue) 62% 48%);border-radius:8px;background:hsl(var(--class-hue) 65% 50% / .07);min-width:0}
[data-theme=dark] .timetable-event{background:hsl(var(--class-hue) 55% 50% / .1)}
.event-time{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--home-ink)}.event-time svg{width:13px;height:13px;color:hsl(var(--class-hue) 60% 48%)}
.timetable-event h4{font-size:12px;line-height:1.5;margin:9px 0;color:var(--home-ink);overflow-wrap:anywhere;font-weight:600}
.event-tags{display:flex;gap:4px;flex-wrap:wrap}.event-tags span{font-size:9px;padding:2px 5px;border-radius:4px;background:hsl(var(--class-hue) 50% 50% / .1);color:var(--home-muted)}
.event-mode{display:flex;gap:5px;align-items:center;font-size:10px;color:var(--home-muted);margin-top:10px}.event-mode svg{width:13px;height:13px}
.event-cycle{display:flex;align-items:center;gap:5px;font-size:9px;margin-top:8px;color:var(--home-muted)}
.timetable-event .event-note{font-size:10px;line-height:1.6;margin:9px 0 0;color:var(--home-muted);border-top:1px solid hsl(var(--class-hue) 40% 50% / .15);padding-top:8px}
.day-empty{font-size:10px;line-height:1.6;color:var(--home-muted);padding:12px 0;text-align:center}
.timetable-empty{padding:24px;color:var(--home-muted);font-size:13px}.timetable-footnote{font-size:10px;color:var(--home-muted);margin:0;padding:18px 24px;border-top:1px solid var(--home-line);line-height:1.7}
.timetable-once{padding:20px 24px;border-top:1px solid var(--home-line)}.timetable-once h3{font-size:15px!important;margin:0 0 16px}.timetable-once>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
@media(max-width:760px){.timetable-toolbar{align-items:stretch;flex-direction:column;padding:18px}.timetable-toolbar label{justify-content:space-between}.timetable-toolbar select{flex:1;max-width:230px}.timetable-week{display:block;min-width:0}.timetable-day{border-right:0;border-bottom:1px solid var(--home-line)}.timetable-day>header{padding:14px 18px}.day-events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;min-height:0}.day-empty{grid-column:1/-1;text-align:left;padding:0;margin:0}.timetable-event h4{font-size:13px}.timetable-footnote{padding:16px 18px}.timetable-once{padding:18px}}
@media(max-width:400px){.day-events{grid-template-columns:1fr}.timetable-event{padding:14px}.event-time{font-size:12px}.event-tags span,.event-mode{font-size:11px}}
@media(max-width:1050px){.home-section-rail{right:0;width:20px}.home-section-rail a{width:20px}.rail-track{left:9px}}
@media(max-width:760px){.vm-public-home .vm-showcase{padding-top:118px}.home-section-rail{gap:6px;width:16px;right:0}.home-section-rail a{width:16px;height:24px}.rail-track{left:7px;top:12px;bottom:12px}.home-section-rail a:after{width:3px;height:3px}.home-section-rail a[aria-current]:after{width:3px;height:15px}.home-section-rail a span{right:22px}.vm-public-home .vm-slideshow-toggle{font-size:9px;padding:7px 9px}}
/* Keep the named navigation outside the reading column. */
@media(min-width:761px){.home-shell{width:min(1320px,calc(100% - 218px));margin-right:max(172px,calc((100% - 1320px)/2));margin-left:auto}.home-section-rail{right:12px;width:140px}.home-section-rail a{width:140px;justify-items:end;padding-right:10px}.rail-track{left:auto;right:12px}.home-section-rail a span{right:30px}.home-section-rail a:hover span{color:var(--home-ink)}}
/* Touch navigation uses readable labels rather than hover-only dots. */
@media(max-width:760px){.home-section-rail{top:auto;bottom:82px;right:20px;width:calc(100% - 40px);transform:none;flex-direction:row;gap:4px;overflow-x:auto;padding:6px;background:var(--home-bg);border:1px solid var(--home-line);border-radius:10px;scrollbar-width:thin;box-shadow:0 3px 16px #0002}.home-section-rail a{width:auto;height:30px;flex-shrink:0;padding:0 10px;display:flex;gap:7px;border-radius:6px}.home-section-rail a span{position:static;opacity:1;font-size:10px;padding:0;transform:none}.home-section-rail a:after{display:none}.home-section-rail a[aria-current]{background:var(--home-panel)}.home-section-rail .rail-track{display:none}}
