.wsx{--wsx-amber: var(--ds-amber-500, #f5a400);--wsx-ink: var(--ds-amber-950, #1a0f00);--wsx-choc: #2c170e;--wsx-choc-hi: color-mix(in srgb, var(--wsx-choc) 70%, var(--ds-orange-700, #c2410c) 30%);--wsx-choc-lo: color-mix(in srgb, var(--wsx-choc) 65%, black);--wsx-navy: var(--ws-university-sidebar, #0b1526);--wsx-navy-hi: color-mix(in srgb, var(--wsx-navy) 75%, var(--wsx-steel) 25%);--wsx-navy-lo: color-mix(in srgb, var(--wsx-navy) 50%, black);--wsx-steel: var(--ds-blue-300, #7aa2d6);--wsx-cream: var(--ds-amber-50, #f8ead6);--wsx-ease: cubic-bezier(.7, 0, .2, 1);--wsx-out: cubic-bezier(.16, 1, .3, 1);--wsx-spring: cubic-bezier(.34, 1.56, .64, 1);--wsx-slow: calc(.55s * var(--ds-motion-scale, 1));--wsx-display: var(--ds-font-display, "Segoe UI Variable Display", "SF Pro Display", ui-sans-serif, system-ui, sans-serif);position:relative;isolation:isolate;height:100vh;height:100dvh;overflow:hidden;color:#fff;background:var(--wsx-navy-lo);font-family:var(--ds-font-sans, "Segoe UI Variable Text", "SF Pro Text", ui-sans-serif, system-ui, sans-serif)}.wsx-chrome{position:absolute;inset:0 0 auto;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 28px;pointer-events:none;animation:wsx-drop .9s var(--wsx-out) .2s both}.wsx-chrome>*{pointer-events:auto}.wsx-company{display:block;width:auto;height:40px;user-select:none}.wsx-chrome__actions{display:flex;flex:none;gap:8px}.wsx .wsx-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 14px;border-radius:999px;border:1px solid rgb(255 255 255 / .18);background:#ffffff1a;color:#ffffffd9;font-size:13px;cursor:pointer;transition:background-color .2s}.wsx .wsx-ghost:hover{background:#ffffff1f;color:#fff}.wsx .wsx-ghost:focus-visible{outline:2px solid var(--wsx-amber);outline-offset:2px}.wsx .wsx-ghost:disabled{opacity:.5;cursor:default}.wsx .wsx-ghost svg{width:16px;height:16px}.wsx .wsx-ghost--icon{width:36px;padding:0}.wsx-split{position:relative;display:flex;height:100%}.wsx-stage{position:absolute;inset:0;overflow:hidden;pointer-events:none}.wsx-world{position:absolute;inset:0;transition:filter var(--wsx-slow) var(--wsx-ease)}.wsx-world--coffee{background:radial-gradient(90% 90% at 78% 22%,var(--wsx-navy-hi) 0%,var(--wsx-navy) 50%,var(--wsx-navy-lo) 100%);animation:wsx-fade 1.2s ease both}.wsx-cut{position:absolute;inset:0;overflow:hidden;transform:translate3d(-50%,0,0);will-change:transform}.wsx-cut__paint{position:absolute;inset:0;transform:translate3d(50%,0,0);will-change:transform}.wsx-cocoa-paint{background:radial-gradient(70% 90% at 18% 20%,var(--wsx-choc-hi) 0%,var(--wsx-choc) 50%,var(--wsx-choc-lo) 100%)}.wsx-fringe,.wsx-seam{position:absolute;top:0;left:0;width:440px;height:100%;overflow:visible;transform:translate3d(-9999px,0,0);will-change:transform}.wsx-fringe__hi{stop-color:var(--wsx-choc-hi)}.wsx-fringe__mid{stop-color:var(--wsx-choc)}.wsx-fringe__lo{stop-color:var(--wsx-choc-lo)}.wsx[data-active=UNIVERSITY] .wsx-world--cocoa,.wsx[data-active=PREUNIVERSITY] .wsx-world--coffee{filter:saturate(.4) brightness(.5)}.wsx[data-chosen] .wsx-world{filter:none}.wsx-glow{position:absolute;top:0;left:0;width:480px;height:400px;opacity:0;transform:translate3d(-9999px,0,0);will-change:transform;transition:opacity .6s}.wsx[data-active=PREUNIVERSITY] .wsx-glow{background:radial-gradient(closest-side,color-mix(in srgb,var(--wsx-amber) 14%,transparent),transparent);opacity:1}.wsx[data-active=UNIVERSITY] .wsx-glow{background:radial-gradient(closest-side,color-mix(in srgb,var(--wsx-steel) 13%,transparent),transparent);opacity:1}.wsx-vortex{position:absolute;inset:0;width:100%;height:100%}.wsx-seam{color:var(--wsx-amber)}.wsx-seam path{fill:none;stroke-linecap:round}.wsx-seam__glow{stroke:url(#wsx-seam-ink);stroke-width:9;opacity:.22}.wsx-seam__line{stroke:url(#wsx-seam-ink);stroke-width:1.6}.wsx-seam__pulse{stroke:var(--ds-amber-200, #ffe2a0);stroke-width:3;stroke-dasharray:70 930;animation:wsx-pulse 4.5s var(--wsx-ease) infinite}.wsx[data-active] .wsx-seam__pulse{animation-duration:2.2s}.wsx[data-chosen] .wsx-seam{opacity:0;transition:opacity .6s .5s}.wsx-half{position:relative;z-index:1;flex:1;min-width:0;overflow:hidden;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;outline:none;transition:flex var(--wsx-slow) var(--wsx-out),opacity var(--wsx-slow)}.wsx[data-active] .wsx-half.is-active{flex:1.38}.wsx[data-active] .wsx-half:not(.is-active){flex:.62;opacity:.6}.wsx[data-chosen] .wsx-half{opacity:0;transition-duration:.4s}.wsx-half[aria-disabled=true]{cursor:not-allowed;filter:grayscale(1);opacity:.55}.wsx-content{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 clamp(28px,6vw,96px);transform-origin:left center;transition:transform var(--wsx-slow) var(--wsx-out)}.wsx-half--coffee .wsx-content{align-items:flex-end;text-align:right;transform-origin:right center}.wsx[data-active] .wsx-half:not(.is-active) .wsx-content{transform:scale(.78)}.wsx-content>*{animation:wsx-rise .9s var(--wsx-out) backwards}.wsx-content>:nth-child(1){animation-delay:.45s}.wsx-content>:nth-child(2){animation-delay:.55s}.wsx-content>:nth-child(3){animation-delay:.7s}.wsx-content>:nth-child(4){animation-delay:.8s}.wsx-half--coffee .wsx-content>*{animation-name:wsx-rise-late}.wsx-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;color:#ffffff9e}.wsx-eyebrow:before{content:"";width:28px;height:1px;background:var(--wsx-amber);transform-origin:left;transition:width var(--wsx-slow) var(--wsx-out)}.wsx-half.is-active .wsx-eyebrow:before{width:52px}.wsx-half--coffee .wsx-eyebrow{flex-direction:row-reverse}.wsx-wordmark{position:relative;display:block;margin:22px 0 18px;transform-origin:left center;transform:perspective(900px);will-change:transform;transition:scale var(--wsx-slow) var(--wsx-spring)}.wsx-half--coffee .wsx-wordmark{transform-origin:right center}.wsx-half.is-active .wsx-wordmark{scale:1.08}.wsx-wordmark img{display:block;width:clamp(240px,30vw,460px);height:auto;filter:drop-shadow(0 18px 40px rgb(0 0 0 / .45));user-select:none;animation:wsx-wipe 1.2s var(--wsx-ease) both;animation-delay:inherit}.wsx-half--coffee .wsx-wordmark img{width:clamp(230px,28vw,430px)}.wsx-wordmark__shine{position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 35%,rgb(255 255 255 / .55) 50%,transparent 65%);background-size:250% 100%;background-position:150% 0;mix-blend-mode:overlay}.wsx-half--cocoa .wsx-wordmark__shine{-webkit-mask:url(/assets/cocoaums-wordmark-BaY_3vgw.png) left / contain no-repeat;mask:url(/assets/cocoaums-wordmark-BaY_3vgw.png) left / contain no-repeat}.wsx-half--coffee .wsx-wordmark__shine{-webkit-mask:url(/assets/coffeeums-wordmark-Dq0D2FoL.png) left / contain no-repeat;mask:url(/assets/coffeeums-wordmark-Dq0D2FoL.png) left / contain no-repeat}.wsx-half.is-active .wsx-wordmark__shine{animation:wsx-shine 1.1s var(--wsx-ease) .1s}.wsx-lede{display:block;max-width:420px;font-size:17px;font-weight:300;line-height:1.55;color:#ffffffb8}.wsx-cta{position:relative;display:inline-flex;align-items:center;gap:12px;height:52px;margin-top:34px;padding:0 10px 0 24px;overflow:hidden;border-radius:999px;border:1px solid rgb(255 255 255 / .18);background:#ffffff1f;font-size:15px;font-weight:600;isolation:isolate;transition:color .5s var(--wsx-out),border-color .5s var(--wsx-out),box-shadow .5s var(--wsx-out),opacity .4s var(--wsx-out),scale .4s var(--wsx-out)}.wsx-cta:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--wsx-amber);clip-path:circle(0 at calc(100% - 27px) 50%);transition:clip-path .6s var(--wsx-ease)}.wsx-cta i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--wsx-amber);color:var(--wsx-ink);transition:transform .5s var(--wsx-spring),background-color .5s var(--wsx-out),color .5s var(--wsx-out)}.wsx-cta svg{width:16px;height:16px}.wsx[data-active] .wsx-half:not(.is-active) .wsx-cta{opacity:0;scale:.9;pointer-events:none}.wsx-half.is-active .wsx-cta{border-color:var(--wsx-amber);color:var(--wsx-ink);box-shadow:0 18px 40px -12px color-mix(in srgb,var(--wsx-amber) 70%,transparent)}.wsx-half.is-active .wsx-cta:before{clip-path:circle(150% at calc(100% - 27px) 50%)}.wsx-half.is-active .wsx-cta i{background:var(--wsx-ink);color:var(--wsx-amber);transform:translate(4px) rotate(-45deg)}.wsx-half:focus-visible .wsx-cta{outline:2px solid rgb(255 255 255);outline-offset:3px}.wsx-cta--locked{gap:10px;padding:0 20px;color:#ffffffb3}.wsx-cta--locked:before{display:none}.wsx-spin{animation:wsx-spin .9s linear infinite}.wsx-foot{position:absolute;right:28px;bottom:24px;left:28px;z-index:10;display:flex;justify-content:space-between;gap:16px;font-size:12px;letter-spacing:.04em;color:#fff6;pointer-events:none;animation:wsx-fade 1s ease 1.1s both}.wsx-error{position:absolute;bottom:64px;left:50%;z-index:40;max-width:min(560px,calc(100% - 32px));translate:-50% 0;padding:12px 18px;border-radius:14px;border:1px solid var(--ds-red-400, #f87171);background:var(--ds-red-950, #450a0a);color:var(--ds-red-100, #fee2e2);font-size:14px}.wsx-veil{position:fixed;inset:0;z-index:200;display:grid;place-items:center;opacity:0;pointer-events:none;visibility:hidden}.wsx-veil--cocoa{background:radial-gradient(circle at 50% 42%,var(--wsx-choc-hi),var(--wsx-choc) 55%,var(--wsx-choc-lo))}.wsx-veil--coffee{background:radial-gradient(circle at 50% 42%,var(--wsx-navy-hi),var(--wsx-navy) 55%,var(--wsx-navy-lo))}.wsx-veil.is-open{opacity:1;pointer-events:auto;visibility:visible;transition:opacity .4s ease .35s}.wsx-veil__box{display:flex;flex-direction:column;align-items:center;gap:26px;animation:wsx-settle .8s var(--wsx-out) .45s both}.wsx-veil__box img{width:min(420px,70vw)}.wsx-veil__bar{width:240px;height:3px;overflow:hidden;border-radius:3px;background:#ffffff24}.wsx-veil__bar i{display:block;width:0;height:100%;border-radius:3px;background:var(--wsx-amber);box-shadow:0 0 12px var(--wsx-amber);animation:wsx-fill 2.4s var(--wsx-ease) .6s forwards}.wsx-veil__box small{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#fff9}@keyframes wsx-bob{0%,to{translate:0 0;rotate:var(--wsx-rotate, 0deg)}50%{translate:0 -18px;rotate:calc(var(--wsx-rotate, 0deg) * -1)}}@keyframes wsx-spin{to{rotate:360deg}}@keyframes wsx-fade{0%{opacity:0}}@keyframes wsx-drop{0%{opacity:0;transform:translateY(-14px)}}@keyframes wsx-rise{0%{opacity:0;transform:translateY(26px);filter:blur(10px)}}@keyframes wsx-rise-late{0%,15%{opacity:0;transform:translateY(26px);filter:blur(10px)}}@keyframes wsx-wipe{0%{clip-path:inset(-40% 100% -40% 0);filter:blur(6px) drop-shadow(0 18px 40px rgb(0 0 0 / .45))}to{clip-path:inset(-40% 0 -40% 0)}}@keyframes wsx-pop{0%{opacity:0;scale:.4}}@keyframes wsx-shine{0%{background-position:150% 0}to{background-position:-60% 0}}@keyframes wsx-pulse{0%{stroke-dashoffset:1000}to{stroke-dashoffset:0}}@keyframes wsx-settle{0%{opacity:0;transform:scale(1.12);filter:blur(12px)}}@keyframes wsx-fill{to{width:88%}}@media(max-width:860px){.wsx{height:auto;min-height:100dvh;overflow:auto}.wsx-stage,.wsx-foot{display:none}.wsx-split{flex-direction:column;height:auto}.wsx-half{min-height:62vh;opacity:1!important}.wsx-half--cocoa{background:radial-gradient(120% 90% at 30% 20%,var(--wsx-choc-hi) 0%,var(--wsx-choc) 55%,var(--wsx-choc-lo) 100%)}.wsx-half--coffee{background:radial-gradient(120% 90% at 70% 20%,var(--wsx-navy-hi) 0%,var(--wsx-navy) 55%,var(--wsx-navy-lo) 100%)}.wsx-content{position:relative;padding:96px 24px 56px;transform:none!important}.wsx-half--coffee .wsx-content{align-items:flex-start;text-align:left}.wsx-half--coffee .wsx-eyebrow{flex-direction:row}}@media(prefers-reduced-motion:reduce){.wsx *,.wsx *:before,.wsx *:after,.wsx-veil{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}.mnt-root{position:fixed;top:12px;right:0;left:0;z-index:90;display:flex;justify-content:center;padding:0 calc(var(--spacing, 4px) * 3);pointer-events:none}.mnt-island{--mnt-amber: var(--ds-amber-500, #fda209);--mnt-amber-soft: var(--ds-amber-300, #fdc15a);--mnt-mono: var(--ds-font-mono, ui-monospace, "Cascadia Mono", "SF Mono", Menlo, Consolas, monospace);position:relative;width:min(94vw,560px);overflow:hidden;color:#fff;pointer-events:auto;background:radial-gradient(90% 160% at 0% 0%,color-mix(in srgb,var(--mnt-amber) 20%,transparent),transparent 48%),linear-gradient(180deg,color-mix(in srgb,var(--ds-slate-800, #15243a) 97%,transparent),color-mix(in srgb,var(--ds-slate-900, #0b1526) 97%,transparent));-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);box-shadow:inset 0 0 0 1px #ffffff14,inset 0 1px #ffffff1a,0 0 0 1px color-mix(in srgb,var(--ds-slate-950, #020617) 25%,transparent),0 24px 60px -18px var(--ds-shadow-color-25, rgb(2 6 23 / .6))}.mnt-island[data-state=collapsed]{width:auto;max-width:min(94vw,480px)}.mnt-row{display:flex;align-items:flex-start;gap:calc(var(--spacing, 4px) * 3.5);padding:calc(var(--spacing, 4px) * 4) calc(var(--spacing, 4px) * 3) calc(var(--spacing, 4px) * 3.5) calc(var(--spacing, 4px) * 4)}.mnt-island[data-state=collapsed] .mnt-row{align-items:center;gap:calc(var(--spacing, 4px) * 2.5);padding:calc(var(--spacing, 4px) * 1.5) calc(var(--spacing, 4px) * 1.5) calc(var(--spacing, 4px) * 1.5) calc(var(--spacing, 4px) * 1.5)}.mnt-orb{position:relative;flex-shrink:0;width:44px;height:44px}.mnt-island[data-state=collapsed] .mnt-orb{width:32px;height:32px}.mnt-orb-ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,var(--mnt-amber),color-mix(in srgb,var(--mnt-amber) 0%,transparent) 35%,color-mix(in srgb,var(--mnt-amber) 20%,transparent) 55%,var(--ds-amber-200, #ffe0a3) 80%,var(--mnt-amber));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 2px));animation:mnt-spin 3.2s linear infinite}.mnt-orb-ping{position:absolute;inset:5px;border-radius:50%;animation:mnt-ping 2.4s cubic-bezier(0,0,.2,1) infinite}.mnt-orb-core{position:absolute;inset:5px;display:grid;place-items:center;border-radius:50%;color:var(--ds-amber-950, #3a2300);background:radial-gradient(circle at 30% 25%,var(--ds-amber-200, #ffd998),var(--mnt-amber) 58%,var(--ds-amber-600, #e38900));box-shadow:inset 0 1px #ffffff8c,0 6px 16px -4px color-mix(in srgb,var(--mnt-amber) 75%,transparent)}.mnt-island[data-state=collapsed] .mnt-orb-core{inset:4px}.mnt-orb-core svg{width:18px;height:18px;stroke-width:2.2;animation:mnt-tighten 4s ease-in-out infinite}.mnt-island[data-state=collapsed] .mnt-orb-core svg{width:13px;height:13px}.mnt-body,.mnt-compact{display:flex;flex:1;flex-direction:column;min-width:0}.mnt-compact{flex:0 1 auto}.mnt-kicker{display:inline-flex;align-items:center;gap:calc(var(--spacing, 4px) * 2);font-size:calc(var(--text-base, 1rem) * 11 / 16);font-weight:700;letter-spacing:.08em;line-height:16px;text-transform:uppercase;color:var(--mnt-amber-soft)}.mnt-kicker:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--mnt-amber);box-shadow:0 0 0 3px color-mix(in srgb,var(--mnt-amber) 22%,transparent);animation:mnt-live 1.6s ease-in-out infinite}.mnt-island[data-state=collapsed] .mnt-kicker{font-size:calc(var(--text-base, 1rem) * 10 / 16);line-height:14px}.mnt-island[data-state=collapsed] .mnt-kicker:before{display:none}.mnt-message{margin-top:var(--spacing, 4px);font-size:calc(var(--text-base, 1rem) * 14 / 16);font-weight:500;line-height:1.5;color:#ffffffeb;overflow-wrap:anywhere}.mnt-compact-message{max-width:250px;overflow:hidden;font-size:calc(var(--text-base, 1rem) * 12.5 / 16);line-height:17px;white-space:nowrap;text-overflow:ellipsis;color:#ffffffdb}.mnt-actions{display:flex;flex-shrink:0;gap:var(--spacing, 4px);margin-left:auto}.mnt-btn{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;color:#fff9;background:#ffffff0f;transition:color var(--ds-duration-fast, .15s),background-color var(--ds-duration-fast, .15s),transform var(--ds-duration-fast, .15s)}.mnt-btn:hover{color:#fff;background:#ffffff24}.mnt-btn:active{transform:scale(.92)}.mnt-btn:focus-visible{outline:2px solid var(--mnt-amber);outline-offset:2px}.mnt-btn svg{width:15px;height:15px}.mnt-foot{display:block;padding:0 calc(var(--spacing, 4px) * 4) calc(var(--spacing, 4px) * 4) calc(var(--spacing, 4px) * 7.5 + 44px);animation:mnt-fade-up calc(.36s * var(--ds-motion-scale, 1)) calc(80ms * var(--ds-motion-scale, 1)) cubic-bezier(.2,.8,.2,1) both}.mnt-timer{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--spacing, 4px) calc(var(--spacing, 4px) * 2.5)}.mnt-timer-label,.mnt-until{font-size:calc(var(--text-base, 1rem) * 12 / 16);color:#ffffff8c}.mnt-count{display:inline-flex;align-items:baseline;overflow:hidden;font:700 calc(var(--text-base, 1rem) * 22 / 16) / 1.1 var(--mnt-mono);letter-spacing:.01em;font-variant-numeric:tabular-nums;color:#fff}.mnt-count--compact{flex-shrink:0;padding:calc(var(--spacing, 4px) * 1.5) calc(var(--spacing, 4px) * 2.5);border-radius:999px;font-size:calc(var(--text-base, 1rem) * 12.5 / 16);color:var(--mnt-amber-soft);background:#00000047;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mnt-amber) 28%,transparent)}.mnt-days{margin-right:.45em}.mnt-digit{display:inline-block;animation:mnt-roll calc(.38s * var(--ds-motion-scale, 1)) cubic-bezier(.2,.8,.2,1)}.mnt-sep{padding:0 .08em;opacity:.4}.mnt-progress{position:relative;display:block;height:6px;margin-top:calc(var(--spacing, 4px) * 3);overflow:hidden;border-radius:99px;background:#ffffff14}.mnt-progress>span{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:repeating-linear-gradient(-45deg,var(--mnt-amber) 0 6px,var(--ds-amber-300, #ffc453) 6px 12px);background-size:16.97px 100%;box-shadow:0 0 12px color-mix(in srgb,var(--mnt-amber) 55%,transparent);animation:mnt-tape .9s linear infinite;transition:width 1s linear}.mnt-progress[data-indeterminate]>span{opacity:.55}@keyframes mnt-spin{to{transform:rotate(360deg)}}@keyframes mnt-ping{0%{box-shadow:0 0 color-mix(in srgb,var(--mnt-amber) 50%,transparent)}70%,to{box-shadow:0 0 0 14px color-mix(in srgb,var(--mnt-amber) 0%,transparent)}}@keyframes mnt-tighten{0%,68%,to{transform:rotate(0)}75%{transform:rotate(-30deg)}83%{transform:rotate(14deg)}90%{transform:rotate(-6deg)}}@keyframes mnt-live{50%{opacity:.35}}@keyframes mnt-roll{0%{opacity:0;transform:translateY(60%);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}@keyframes mnt-tape{to{background-position:16.97px 0}}@keyframes mnt-fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(max-width:520px){.mnt-foot{padding-left:calc(var(--spacing, 4px) * 4)}.mnt-compact-message{max-width:38vw}}@media(prefers-reduced-motion:reduce){.mnt-orb-ring,.mnt-orb-ping,.mnt-orb-core svg,.mnt-kicker:before,.mnt-digit,.mnt-progress>span,.mnt-foot{animation:none}.mnt-progress>span{transition:none}}.app-boot{--boot-scene: var(--ws-university-sidebar, #070e1d);--boot-accent: var(--ds-amber-500, #fda209);--boot-ok: var(--ds-emerald-400, #34d399);--boot-bad: var(--ds-red-400, #f87171);--boot-ink: var(--ds-slate-200, #d6e1f2);--boot-muted: color-mix(in srgb, var(--boot-ink) 50%, transparent);--boot-display: var(--ds-font-display, "Segoe UI Variable Display", "SF Pro Display", ui-sans-serif, system-ui, sans-serif);--boot-mono: var(--ds-font-mono, ui-monospace, "Cascadia Mono", "SF Mono", Menlo, Consolas, monospace);position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100svh;overflow:hidden;padding:calc(var(--spacing, 4px) * 12) calc(var(--spacing, 4px) * 5) calc(var(--spacing, 4px) * 24);color:var(--ds-slate-100, #eef3fb);font-family:var(--ds-font-sans, "Segoe UI Variable Text", "SF Pro Text", ui-sans-serif, system-ui, sans-serif);background:radial-gradient(60% 45% at 50% -5%,color-mix(in srgb,var(--ds-blue-600, #2563eb) 18%,transparent),transparent 70%),radial-gradient(50% 40% at 50% 105%,color-mix(in srgb,var(--boot-accent) 7%,transparent),transparent 70%),var(--boot-scene)}.app-boot__ruling{position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(to bottom,transparent 0 51px,rgb(255 255 255 / .035) 51px 52px);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 45%,#000,transparent 78%);mask-image:radial-gradient(ellipse 70% 60% at 50% 45%,#000,transparent 78%);pointer-events:none}.app-boot__stage{display:flex;flex-direction:column;align-items:center;width:min(100%,468px)}.app-boot__seal{position:relative;margin-bottom:calc(var(--spacing, 4px) * 5)}.app-boot[aria-busy=false] .app-boot__seal:after{content:"";position:absolute;inset:0;border:1.5px solid color-mix(in srgb,var(--boot-ok) 70%,transparent);border-radius:50%;opacity:0;pointer-events:none;animation:app-boot-confirm 1.1s cubic-bezier(.2,.6,.3,1) .15s}.app-boot .login-seal{--seal-size: 176px}.app-boot__institution{max-width:400px;margin:0 0 calc(var(--spacing, 4px) * 6.5);color:#fff;font-family:var(--boot-display);font-size:calc(var(--text-base, 1rem) * 21 / 16);font-weight:600;line-height:1.3;letter-spacing:-.015em;text-align:center;text-wrap:balance;animation:app-boot-rise calc(.6s * var(--ds-motion-scale, 1)) cubic-bezier(.2,.7,.2,1) calc(.15s * var(--ds-motion-scale, 1)) backwards}.app-boot__log{width:100%;overflow:hidden;border:1px solid rgb(255 255 255 / .09);border-radius:calc(var(--radius, 10px) + 8px);background:linear-gradient(180deg,color-mix(in srgb,var(--ds-slate-800, #15223c) 72%,transparent),color-mix(in srgb,var(--ds-slate-900, #0a1326) 80%,transparent));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 1px #ffffff0f,0 30px 60px -30px var(--ds-shadow-color-25, rgb(0 0 0 / .75));animation:app-boot-rise calc(.6s * var(--ds-motion-scale, 1)) cubic-bezier(.2,.7,.2,1) calc(.25s * var(--ds-motion-scale, 1)) backwards}.app-boot__log header{display:flex;align-items:center;justify-content:space-between;padding:calc(var(--spacing, 4px) * 3) calc(var(--spacing, 4px) * 4);border-bottom:1px solid rgb(255 255 255 / .07);color:var(--boot-muted);font-family:var(--boot-mono);font-size:calc(var(--text-base, 1rem) * 10.5 / 16);letter-spacing:.14em;text-transform:uppercase}.app-boot__stopwatch{color:#fff;font-size:calc(var(--text-base, 1rem) * 11.5 / 16);font-variant-numeric:tabular-nums;letter-spacing:.02em;text-transform:none}.app-boot__log ol{display:grid;grid-template-columns:18px max-content minmax(0,1fr) auto;column-gap:calc(var(--spacing, 4px) * 3);margin:0;padding:calc(var(--spacing, 4px) * 1.5) calc(var(--spacing, 4px) * 4) 2px;list-style:none}.app-boot__step{position:relative;display:grid;grid-column:1 / -1;grid-template-columns:subgrid;align-items:center;padding:calc(var(--spacing, 4px) * 2.5) 0;animation:app-boot-rise calc(.45s * var(--ds-motion-scale, 1)) cubic-bezier(.2,.7,.2,1) calc((.4s + var(--i) * .11s) * var(--ds-motion-scale, 1)) backwards}.app-boot__step[data-status=running]:before,.app-boot__step[data-status=done]:before{content:"";position:absolute;inset:0 calc(var(--spacing, 4px) * -4);pointer-events:none}.app-boot__step[data-status=running]:before{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--boot-accent) 8%,transparent) 45%,color-mix(in srgb,var(--boot-accent) 14%,transparent) 50%,transparent 60%);background-size:220% 100%;animation:app-boot-sweep 1.6s linear infinite}.app-boot__step[data-status=done]:before{background:color-mix(in srgb,var(--boot-ok) 10%,transparent);opacity:0;animation:app-boot-flash calc(.9s * var(--ds-motion-scale, 1)) ease-out calc((.45s + var(--i) * .11s) * var(--ds-motion-scale, 1)) backwards}.app-boot__step-label{color:#fff;font-size:calc(var(--text-base, 1rem) * 13.5 / 16);font-weight:500;white-space:nowrap;transition:color var(--ds-duration-base, .3s)}.app-boot__step-detail{overflow:hidden;color:var(--boot-muted);font-family:var(--boot-mono);font-size:calc(var(--text-base, 1rem) * 11 / 16);text-overflow:ellipsis;white-space:nowrap}.app-boot__step-time{color:color-mix(in srgb,var(--boot-ink) 72%,transparent);font-family:var(--boot-mono);font-size:calc(var(--text-base, 1rem) * 11 / 16);font-variant-numeric:tabular-nums}.app-boot__step[data-status=waiting] .app-boot__step-label{color:color-mix(in srgb,var(--ds-slate-100, #f1f5fb) 45%,transparent)}.app-boot__step[data-status=running] .app-boot__step-detail{color:var(--ds-amber-300, #ffc766)}.app-boot__step[data-status=failed] .app-boot__step-detail{color:var(--boot-bad)}.app-boot__glyph{position:relative;display:grid;place-items:center;width:18px;height:18px;border-radius:50%}.app-boot__step[data-status=waiting] .app-boot__glyph{border:1.5px dashed rgb(255 255 255 / .22)}.app-boot__step[data-status=running] .app-boot__glyph{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--boot-accent) 18%,transparent)}.app-boot__step[data-status=running] .app-boot__glyph:before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(transparent 0 30%,var(--boot-accent));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1.5px));animation:app-boot-spin .9s linear infinite}.app-boot__step[data-status=running] .app-boot__glyph:after{content:"";width:5px;height:5px;border-radius:50%;background:var(--boot-accent);box-shadow:0 0 10px var(--boot-accent);animation:app-boot-breathe 1.2s ease-in-out infinite}.app-boot__step[data-status=done] .app-boot__glyph{background:color-mix(in srgb,var(--boot-ok) 16%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--boot-ok) 45%,transparent)}.app-boot__step[data-status=failed] .app-boot__glyph{background:color-mix(in srgb,var(--boot-bad) 16%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--boot-bad) 50%,transparent)}.app-boot__glyph svg{width:12px;height:12px;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.app-boot__step[data-status=done] .app-boot__glyph svg{stroke:var(--boot-ok);stroke-dasharray:1;animation:app-boot-draw calc(.4s * var(--ds-motion-scale, 1)) ease-out calc((.5s + var(--i) * .11s) * var(--ds-motion-scale, 1)) backwards}.app-boot[data-revealed] .app-boot__step[data-status=done] .app-boot__glyph svg,.app-boot[data-revealed] .app-boot__step[data-status=done]:before{animation-delay:0s}.app-boot__step[data-status=failed] .app-boot__glyph svg{stroke:var(--boot-bad)}.app-boot__rail{height:2px;margin:calc(var(--spacing, 4px) * 1.5) calc(var(--spacing, 4px) * 4) calc(var(--spacing, 4px) * 3.5);overflow:hidden;border-radius:2px;background:#ffffff14}.app-boot__rail i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ds-blue-600, #2563eb),var(--ds-cyan-600, #12a5b8) 55%,var(--boot-accent));box-shadow:0 0 12px color-mix(in srgb,var(--boot-accent) 50%,transparent);transition:width var(--ds-duration-base, .6s) var(--ds-ease, cubic-bezier(.2, .7, .2, 1))}.app-boot[data-failed] .app-boot__rail i{background:linear-gradient(90deg,var(--ds-blue-600, #2563eb),var(--ds-cyan-600, #12a5b8) 55%,var(--boot-bad));box-shadow:0 0 12px color-mix(in srgb,var(--boot-bad) 45%,transparent)}.app-boot__alert{width:100%;margin-top:calc(var(--spacing, 4px) * 3.5);padding:calc(var(--spacing, 4px) * 4) calc(var(--spacing, 4px) * 4.5);border:1px solid color-mix(in srgb,var(--boot-bad) 32%,transparent);border-radius:calc(var(--radius, 10px) + 6px);background:linear-gradient(180deg,color-mix(in srgb,var(--ds-red-900, #7f1d1d) 28%,transparent),color-mix(in srgb,var(--ds-red-950, #450a0a) 30%,transparent));animation:app-boot-rise calc(.5s * var(--ds-motion-scale, 1)) cubic-bezier(.2,.7,.2,1) backwards}.app-boot__alert h2{margin:0;color:#fff;font-family:var(--boot-display);font-size:calc(var(--text-base, 1rem) * 15.5 / 16);font-weight:600;letter-spacing:-.01em}.app-boot__alert p{margin:calc(var(--spacing, 4px) * 1.5) 0 0;color:color-mix(in srgb,var(--ds-red-100, #fee2e2) 82%,transparent);font-size:calc(var(--text-base, 1rem) * 13 / 16);line-height:1.5}.app-boot__actions{display:flex;flex-wrap:wrap;gap:calc(var(--spacing, 4px) * 2.5);margin-top:calc(var(--spacing, 4px) * 3.5)}.app-boot__retry,.app-boot__signout{display:inline-flex;align-items:center;gap:calc(var(--spacing, 4px) * 2);height:40px;padding:0 calc(var(--spacing, 4px) * 4);border-radius:calc(var(--radius, 10px) + 2px);font-family:inherit;font-size:calc(var(--text-base, 1rem) * 13.5 / 16);font-weight:600;cursor:pointer;transition:transform var(--ds-duration-fast, .18s),background var(--ds-duration-fast, .18s),border-color var(--ds-duration-fast, .18s)}.app-boot__retry{border:0;background:var(--card, #fff);color:var(--ds-slate-900, #0b1526);box-shadow:0 8px 20px -10px var(--ds-shadow-color-25, rgb(0 0 0 / .6))}.app-boot__retry:hover{transform:translateY(-1px)}.app-boot__signout{border:1px solid rgb(255 255 255 / .16);background:#ffffff0a;color:var(--ds-slate-200, #e2e8f0)}.app-boot__signout:hover{border-color:#ffffff4d;background:#ffffff14}.app-boot__retry:focus-visible,.app-boot__signout:focus-visible{outline:2px solid var(--boot-accent);outline-offset:3px}.app-boot__footer{position:absolute;left:0;right:0;bottom:26px;display:flex;align-items:center;justify-content:center;gap:calc(var(--spacing, 4px) * 3)}.app-boot__footer img{width:auto;height:26px;opacity:.92}.app-boot__footer span{color:color-mix(in srgb,var(--boot-ink) 40%,transparent);font-family:var(--boot-mono);font-size:calc(var(--text-base, 1rem) * 10 / 16);letter-spacing:.14em;text-transform:uppercase}@keyframes app-boot-rise{0%{opacity:0;translate:0 8px}}@keyframes app-boot-spin{to{transform:rotate(360deg)}}@keyframes app-boot-breathe{50%{opacity:.35;scale:.7}}@keyframes app-boot-sweep{0%{background-position:120% 0}to{background-position:-100% 0}}@keyframes app-boot-flash{0%{opacity:1}to{opacity:0}}@keyframes app-boot-confirm{0%{opacity:.9;transform:scale(.72)}to{opacity:0;transform:scale(1.45)}}@keyframes app-boot-draw{0%{stroke-dashoffset:1}}@media(max-width:480px){.app-boot .login-seal{--seal-size: 140px}.app-boot__institution{font-size:calc(var(--text-base, 1rem) * 18 / 16)}.app-boot__log ol{grid-template-columns:18px max-content minmax(0,1fr)}.app-boot__step-time{display:none}}@media(max-height:640px){.app-boot .login-seal{--seal-size: 128px}.app-boot__footer{display:none}}@media(prefers-reduced-motion:reduce){.app-boot *,.app-boot *:before,.app-boot *:after{animation:none!important;transition:none!important}}
