@font-face{font-family:Montserrat;font-style:normal;font-weight:500 800;font-display:swap;src:url(/assets/montserrat-latin-C0DLfAtw.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/inter-latin-Dx4kXJAl.woff2)format("woff2")}@font-face{font-family:Caveat;font-style:normal;font-weight:500 700;font-display:swap;src:url(/assets/caveat-latin-C1hSzPvX.woff2)format("woff2")}@font-face{font-family:Fredoka;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fredoka-latin-DM6njrJ3.woff2)format("woff2")}:root{--logo:#fe0000;--red:var(--lightningcss-light,#d32f2f)var(--lightningcss-dark,#ff6b63);--red-deep:var(--lightningcss-light,#b71c1c)var(--lightningcss-dark,#ff8f88);--on-red:var(--lightningcss-light,#fff)var(--lightningcss-dark,#18181b);--cover:var(--lightningcss-light,#fdeceb)var(--lightningcss-dark,#27272a);--on-cover:var(--ink);--red-soft:var(--lightningcss-light,#fde2e0)var(--lightningcss-dark,#2a2a30);--amber:var(--lightningcss-light,#f4b740)var(--lightningcss-dark,#f6c35f);--on-amber:var(--lightningcss-light,#1e1a1d)var(--lightningcss-dark,#18181b);--shade:var(--lightningcss-light,#1e1a1d)var(--lightningcss-dark,#000);--paper:var(--lightningcss-light,#f5f2f3)var(--lightningcss-dark,#121214);--surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1c1c20);--ink:var(--lightningcss-light,#1e1a1d)var(--lightningcss-dark,#ececef);--muted:var(--lightningcss-light,#6b5f63)var(--lightningcss-dark,#a1a1aa);--line:var(--lightningcss-light,#e8ded6)var(--lightningcss-dark,#303036);--success:var(--lightningcss-light,#2e7d5b)var(--lightningcss-dark,#5bbf91);--success-soft:var(--lightningcss-light,#e2f1e9)var(--lightningcss-dark,#16301f);--error:var(--lightningcss-light,#c2410c)var(--lightningcss-dark,#fb8a5a);--error-soft:var(--lightningcss-light,#fdebdf)var(--lightningcss-dark,#3a2116);--warning:var(--lightningcss-light,#92400e)var(--lightningcss-dark,#f6c35f);--warning-soft:var(--lightningcss-light,#fff6e0)var(--lightningcss-dark,#33280f);--l-pa1:var(--lightningcss-light,#3f76a6)var(--lightningcss-dark,#7fb0dc);--l-a1:var(--lightningcss-light,#23806f)var(--lightningcss-dark,#5cc2b4);--l-a2:var(--lightningcss-light,#b7791f)var(--lightningcss-dark,#f2b544);--l-b1:var(--lightningcss-light,#c4552a)var(--lightningcss-dark,#f08a55);--l-b2:var(--lightningcss-light,#6e4aa0)var(--lightningcss-dark,#a88bd6);--l-c1:var(--lightningcss-light,#1f3a5f)var(--lightningcss-dark,#8fb0da);--r:8px;--r-sm:6px;--home-bg:var(--lightningcss-light,#efe8df)var(--lightningcss-dark,#121214);--home-tile:var(--lightningcss-light,#fffdfa)var(--lightningcss-dark,#1c1c20);--home-line:var(--lightningcss-light,#e3d8cb)var(--lightningcss-dark,#303036);--passport-bg:var(--lightningcss-light,#a3161c)var(--lightningcss-dark,#6e0f16);--passport-ink:#fff7ec;--foil:#e9c27a;--foil-deep:#b98a3e;--visa-paper:#f6eedd;--cert-ink:#26262b;--cert-paper:#fff;--glo-body:#e0141e;--glo-face:#fff6f1;--glo-ink:#1e1a1d;--glo-cheek:#f4b740;--glo-charcoal:#3a3236;--glo-mouth:#3a0a10;--glo-tongue:#e8656a;--control-h:38px;--scroll-thumb:color-mix(in srgb, var(--red) 55%, transparent);--scroll-thumb-hover:var(--red);--t-fast:.12s;--t-base:.22s;--t-loading:1.2s;--ease:cubic-bezier(.2, .8, .2, 1);--ease-stamp:cubic-bezier(.2, .9, .3, 1.25);--guilloche:repeating-radial-gradient(circle at 100% 0%, transparent 0 9px, color-mix(in srgb, var(--guilloche-ink,currentColor) 9%, transparent) 9px 10px), repeating-radial-gradient(circle at 0% 100%, transparent 0 13px, color-mix(in srgb, var(--guilloche-ink,currentColor) 6%, transparent) 13px 14px);--gutter:clamp(1rem, 2.5vw, 2rem);--today-tint:var(--lightningcss-light,#d32f2f0a)var(--lightningcss-dark,#ececef0a);--f-display:"Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;color:var(--ink);background:var(--paper);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5}@media (pointer:coarse){:root{--control-h:44px}}@media (width>=1024px){:root{font-size:15px}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--paper);color:var(--ink);margin:0}::-webkit-scrollbar{width:14px;height:14px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);background-clip:padding-box;border:3px solid #0000;border-radius:999px;min-width:2rem;min-height:2rem}::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover);background-clip:padding-box}::-webkit-scrollbar-thumb:active{background:var(--scroll-thumb-hover);background-clip:padding-box}@supports ((-moz-appearance:none)){*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}}h1,h2,h3,.wordmark,.login-tagline,.stamp{font-family:var(--f-display)}h1,h2,h3{letter-spacing:-.015em;text-wrap:balance;font-weight:700;line-height:1.2}h1{font-size:clamp(1.3rem,3vw,1.6rem)}h2{font-size:1.15rem}h3{font-size:1rem}a{color:var(--red)}input,select,textarea,button{font:inherit;box-sizing:border-box;min-height:var(--control-h);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);transition:border-color var(--t-base), box-shadow var(--t-base), background-color var(--t-base), transform var(--t-fast) var(--ease);padding:.4rem .75rem}input:focus,select:focus,textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px color-mix(in srgb, var(--red) 15%, transparent);outline:none}input[type=file]{max-width:100%}.date-field{min-width:0;display:flex;position:relative}.date-field input{width:100%;min-width:0;padding-right:calc(var(--control-h) + .25rem);flex:1}.date-field input::-webkit-calendar-picker-indicator{display:none}button.date-field-button{width:calc(var(--control-h) - 8px);min-height:calc(var(--control-h) - 8px);color:var(--muted);background:0 0;border:0;padding:0;position:absolute;top:4px;right:4px}button.date-field-button:hover:not(:disabled){background:var(--paper);color:var(--ink);border:0}.date-field-button .icon{width:1.1rem;height:1.1rem}.date-pop{box-sizing:border-box;width:17.5rem;box-shadow:0 16px 32px -16px color-mix(in srgb, var(--shade) 40%, transparent);color:var(--ink);overflow:hidden}.date-pop:not(:popover-open){display:none}.date-pop:popover-open{animation:pop .15s var(--ease)}@supports (position-area:bottom){.date-pop{position-area:bottom span-right;position-try-fallbacks:flip-block, flip-inline;margin:4px 0;inset:auto}}.date-pop .mini-head{grid-template-columns:minmax(0,1fr) auto;padding-left:0;display:grid}.date-pop-title{gap:.15rem;min-width:0;display:flex}.date-pop-title select{min-width:0;height:32px;min-height:32px;font-family:var(--f-display);text-transform:capitalize;background-color:#0000;background-position:calc(100% - .85rem),calc(100% - .55rem);border-color:#0000;flex:0 auto;padding:0 1.4rem 0 .4rem;font-size:.9rem;font-weight:700}@media (pointer:fine){@supports (appearance:base-select){.date-pop-title select{gap:.2rem;padding-right:.3rem}.date-pop-title select::picker-icon{font-size:.6rem}}}.date-pop-title select:hover:not(:disabled){border-color:var(--line)}.time-pop{box-sizing:border-box;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);gap:.5rem;width:9.5rem;padding:.5rem;display:grid}.time-pop:not(:popover-open){display:none}.time-cols{grid-template-columns:1fr 1fr;gap:.25rem;display:grid}.time-col{overscroll-behavior:contain;gap:2px;max-height:13rem;display:grid;position:relative;overflow-y:auto}.time-col+.time-col{border-left:1px solid var(--line);padding-left:.25rem}.time-col button{min-height:30px;color:var(--ink);font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:4px;padding:0;font-size:.85rem;font-weight:500}.time-col button:hover:not(:disabled){background:var(--paper);border:0}.time-col button.is-selected,.time-col button.is-selected:hover:not(:disabled){background:var(--red);color:var(--on-red);font-weight:700}button.time-done{min-height:32px;font-size:.85rem}.label-hint{color:var(--muted);font-weight:400}button.date-pop-today{justify-self:start;margin-top:.25rem;font-size:.85rem}@media (pointer:coarse){button.date-field-button{display:none}.date-field input{padding-right:.75rem}.date-field input::-webkit-calendar-picker-indicator{display:block}}select{appearance:none;cursor:pointer;text-overflow:ellipsis;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 1.1rem),calc(100% - .8rem);background-repeat:no-repeat;background-size:.3rem .3rem;padding-right:2.25rem}select:hover:not(:disabled){border-color:var(--muted)}select:disabled{color:var(--muted);cursor:not-allowed}@media (pointer:fine){@supports (appearance:base-select){select{appearance:base-select}::picker(select){appearance:base-select}select{background-image:none;padding-right:.75rem}select::picker-icon{color:var(--muted);transition:rotate var(--t-base) var(--ease)}select:open::picker-icon{rotate:180deg}::picker(select){border:1px solid var(--line);border-radius:var(--r);background:var(--surface);max-height:min(20rem,60vh);color:var(--ink);box-shadow:0 16px 32px -16px color-mix(in srgb, var(--shade) 40%, transparent);margin-block:4px;padding:4px}option{border-radius:4px;padding:.45rem .6rem;font-size:.9rem}option:hover,option:focus-visible{background:var(--paper);outline:none}option:checked{color:var(--red);font-weight:600}option::checkmark{color:var(--red)}}}input[aria-invalid=true]{border-color:var(--error)}input[type=checkbox],input[type=radio]{width:1.15rem;height:1.15rem;min-height:0;accent-color:var(--red)}button{cursor:pointer;background:var(--red);border-color:var(--red);color:var(--on-red);font-weight:600}button:hover:not(:disabled){background:var(--red-deep);border-color:var(--red-deep)}button:active:not(:disabled){transform:scale(.98)}button:disabled{opacity:.5;cursor:not-allowed}button.danger{border-color:var(--error);color:var(--error);background:0 0}button.danger:hover:not(:disabled){background:var(--error-soft);border-color:var(--error);box-shadow:none}button.secondary,.actions button:not(.danger):last-child:not(:first-child){background:var(--surface);color:var(--ink);border-color:var(--line)}button.secondary:hover:not(:disabled),.actions button:not(.danger):last-child:not(:first-child):hover:not(:disabled){background:var(--surface);border-color:var(--muted);box-shadow:none}:focus-visible{outline:3px solid var(--red);outline-offset:2px}label{grid-template-columns:minmax(0,1fr);gap:.25rem;font-size:.875rem;font-weight:600;display:grid}label.checkbox{align-items:center;gap:.5rem;font-weight:500;display:flex}[role=alert]{color:var(--error);background:var(--error-soft);border-radius:var(--r-sm);animation:shake .3s var(--ease);padding:.6rem .8rem}.success{color:var(--success)}.muted{color:var(--muted)}.warning{color:var(--warning);background:var(--warning-soft);border-radius:var(--r-sm);padding:.6rem .8rem}main.login{--login-bg:var(--paper);--glow:var(--lightningcss-light,color-mix(in srgb, var(--glo-body) 15%, transparent))var(--lightningcss-dark,color-mix(in srgb, var(--glo-body) 18%, transparent));--glow-amber:var(--lightningcss-light,color-mix(in srgb, var(--amber) 22%, transparent))var(--lightningcss-dark,color-mix(in srgb, var(--amber) 6%, transparent));--guilloche-ink:var(--lightningcss-light,var(--red))var(--lightningcss-dark,color-mix(in srgb, var(--red) 40%, transparent));background-color:var(--login-bg);background-image:radial-gradient(ellipse 30% 40% at 50% 74%, var(--glow), transparent 70%), radial-gradient(ellipse 30% 30% at 6% 4%, var(--glow-amber), transparent 70%), var(--guilloche);grid-template-rows:auto 1fr auto;min-height:100dvh;display:grid;overflow-x:hidden}.login-topbar{animation:rise .6s var(--ease) both;justify-content:space-between;align-items:center;gap:1rem;padding:1rem clamp(1rem,4vw,3.5rem);display:flex}.login-brand{align-items:center;gap:1rem;display:flex}.login-back{min-height:var(--control-h);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);transition:border-color var(--t-fast) var(--ease);align-items:center;gap:.25rem;padding:0 .75rem 0 .4rem;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.login-back:hover{border-color:var(--red);color:var(--red)}.login-back svg{width:1.1rem;height:1.1rem}.login-toggles{gap:.5rem;display:flex}button.lang-toggle{font-size:.8rem;font-weight:700}.login-meta{color:var(--muted);margin:0;font-size:.8rem}.login-stage{box-sizing:border-box;grid-template-columns:minmax(0,1fr) minmax(20rem,26rem);align-items:center;gap:clamp(2rem,6vw,6rem);width:100%;max-width:1280px;margin:0 auto;padding:0 clamp(1rem,4vw,3.5rem) 2.5rem;display:grid}.login-hero{flex-direction:column;justify-content:center;min-height:min(56vh,520px);padding:clamp(2rem,5vh,3.5rem) clamp(1.75rem,3.5vw,3.25rem) clamp(4.5rem,12vh,7rem);display:flex;position:relative}.login-bubble{width:100%;height:100%;fill:var(--lightningcss-light,color-mix(in srgb, var(--surface) 72%, transparent))var(--lightningcss-dark,color-mix(in srgb, var(--surface) 60%, transparent));stroke:color-mix(in srgb, var(--red) 30%, transparent);stroke-width:1.5px;translate:calc(var(--px,0) * -14px) calc(var(--py,0) * -10px);transition:translate .9s var(--ease);animation:bubble-in .8s var(--ease-stamp) both;position:absolute;inset:0;overflow:visible}.login-bubble path{vector-effect:non-scaling-stroke}@keyframes bubble-in{0%{opacity:0;scale:.92}}.login-hero .glo-say{translate:calc(var(--px,0) * -8px) calc(var(--py,0) * -5px);transition:translate .9s var(--ease);position:relative}.login-hero .glo-say-line{max-width:9ch;font-size:clamp(2.8rem,min(6.2vw,11vh),6rem)}.login-by{color:var(--muted);animation:rise .6s .5s var(--ease) both;align-items:center;gap:.75rem;margin:1.1rem 0 0;font-size:.85rem;font-weight:600;display:flex;position:relative}.login-by:before{content:"";background:var(--red);border-radius:2px;block-size:2px;inline-size:1.75rem}.login-hero .glo-stage,.login-hero .glo-sticker{z-index:2;aspect-ratio:1;block-size:auto;inline-size:min(48%,52vh,470px);animation:glo-in 1.1s .2s var(--ease-stamp) both;position:absolute;bottom:-9%;right:-11%}@keyframes glo-in{0%{opacity:0;translate:0 40px;scale:.6}}.login-auth{justify-content:flex-start;align-items:center;width:100%;display:flex;position:relative}.login-auth:before{content:"";z-index:1;background:var(--surface);border-left:1px solid var(--line);border-bottom:1px solid var(--line);block-size:22px;inline-size:22px;animation:rise .5s var(--ease) both;border-radius:0 0 0 4px;position:absolute;top:46%;left:-11px;rotate:45deg}.login-marquee{background:var(--red);color:var(--on-red);margin:0 -1rem 1.5rem;padding-block:.75rem;overflow:hidden;rotate:-1.2deg}.login-marquee-track{width:max-content;animation:45s linear infinite marquee;display:flex}.login-marquee{-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.login-marquee:hover .login-marquee-track{animation-play-state:paused}.login-marquee span{font-family:var(--f-display);white-space:nowrap;align-items:center;gap:2.5rem;padding-inline-end:2.5rem;font-size:1.05rem;font-weight:800;display:inline-flex}.login-marquee span:after{content:"";background:var(--amber);border-radius:50%;block-size:.45rem;inline-size:.45rem}@keyframes marquee{to{translate:-50%}}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:calc(var(--r) * 1.4);width:min(26rem,100%);box-shadow:0 30px 60px -24px color-mix(in srgb, var(--shade) 35%, transparent), 0 2px 6px -2px color-mix(in srgb, var(--shade) 8%, transparent);animation:rise .5s var(--ease) both;flex-direction:column;display:flex;overflow:hidden}.login-card-head,.login-form{margin-inline:clamp(1.25rem,2.4vw,2rem)}.login-card-band{--guilloche-ink:currentColor;background-color:var(--lightningcss-light,var(--red-deep))var(--lightningcss-dark,color-mix(in srgb, var(--red) 18%, var(--surface)));background-image:var(--guilloche);color:var(--lightningcss-light,var(--on-red))var(--lightningcss-dark,var(--ink));font-family:var(--f-display);letter-spacing:.16em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:.85rem clamp(1.25rem,2.4vw,2rem);font-size:.72rem;font-weight:700;display:flex}.login-card-head{flex-direction:column;gap:.25rem;margin-bottom:1rem;padding-top:clamp(1.1rem,2.4vh,1.6rem);display:flex}.login-card-head h2{font-size:clamp(1.35rem,1.8vw,1.55rem);font-family:var(--f-display);letter-spacing:-.02em;color:var(--ink);margin:0;font-weight:700}.login-card-desc{color:var(--muted);margin:0;font-size:.85rem;line-height:1.4}.login-form{flex-direction:column;gap:clamp(.65rem,1.5vh,1rem);display:flex}.login-form .field{flex-direction:column;gap:.3rem;display:flex}.login-form label{color:var(--ink);transition:color var(--t-base) var(--ease);font-size:.84rem;font-weight:600}.login-form .field:focus-within label{color:var(--red)}.login-form>*{animation:rise .5s var(--ease) both}.login-form>:nth-child(2){animation-delay:70ms}.login-form>:nth-child(3){animation-delay:.14s}.login-form>:nth-child(4){animation-delay:.21s}.login-submit-arrow{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;block-size:1rem;inline-size:1rem;transition:translate var(--t-base) var(--ease-stamp)}.login-submit:hover:not(:disabled) .login-submit-arrow{translate:4px}.login-submit:active:not(:disabled){scale:.98}.login-card:has(.login-form>[role=alert]){animation:shake .4s var(--ease)}.login-form input{box-sizing:border-box;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--surface);width:100%;min-height:42px;color:var(--ink);transition:border-color var(--t-base), box-shadow var(--t-base);padding:.5rem .85rem;font-size:.92rem}.login-form input:focus{border-color:var(--red);box-shadow:0 0 0 3px color-mix(in srgb, var(--red) 16%, transparent)}.password-wrap{align-items:center;display:flex;position:relative}.password-wrap input{padding-right:5.8rem}button.password-toggle{height:30px;min-height:30px;color:var(--muted);cursor:pointer;transition:color var(--t-fast), background var(--t-fast);background:0 0;border:none;border-radius:6px;align-items:center;gap:.3rem;padding:0 .5rem;font-size:.78rem;font-weight:600;display:inline-flex;position:absolute;right:.35rem}button.password-toggle:hover:not(:disabled){color:var(--ink);background:color-mix(in srgb, var(--line) 40%, transparent);box-shadow:none;transform:none}:root[data-kids] .sh-continue .button-link{border-color:var(--red);background:var(--red);color:var(--on-red);font-weight:700}.password-toggle-icon{width:14px;height:14px}.hint-warning{color:var(--warning);animation:pop .2s var(--ease);align-items:center;gap:.3rem;margin:0;font-size:.8rem;display:flex}.login-submit{width:100%;min-height:var(--control-h);letter-spacing:.01em;border-radius:var(--r-sm);justify-content:center;align-items:center;gap:.45rem;margin-top:.15rem;font-size:.95rem;font-weight:700;display:inline-flex}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:.95rem;height:.95rem;animation:.7s linear infinite spin}.login-card-foot{border-top:2px dashed var(--line);background:var(--paper);gap:.6rem;margin-top:1.25rem;padding:1rem clamp(1.25rem,2.4vw,2rem) 1.1rem;display:grid;position:relative}.login-card-foot:before,.login-card-foot:after{content:"";background:var(--login-bg);border:1px solid var(--line);border-radius:50%;width:20px;height:20px;position:absolute;top:-11px}.login-card-foot:before{left:-11px}.login-card-foot:after{right:-11px}.login-mrz{letter-spacing:.14em;color:var(--muted);white-space:nowrap;text-overflow:clip;margin:0;font:600 .68rem ui-monospace,Menlo,monospace;overflow:hidden}.login-form [role=alert]:before{content:"⚠ " / ""}.login-card{transition:width .45s var(--ease), max-width .45s var(--ease)}@media (width>=961px){main.login--mfa .login-stage{grid-template-columns:minmax(0,.6fr) minmax(0,44rem)}main.login--mfa .login-hero .glo-say-line{font-size:clamp(2rem,3.4vw,3.2rem)}}main.login--mfa .glo-say-sub,main.login--mfa .login-by{display:none}main.login--mfa .login-card{width:min(44rem,100%);max-width:44rem}.mfa-form{padding-bottom:clamp(1.1rem,2.4vh,1.6rem)}.mfa-form .login-card-head{margin-inline:0}.mfa-setup{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:clamp(1rem,2.5vw,1.75rem);display:grid}.mfa-qr-panel{justify-items:center;gap:.6rem;width:184px;display:grid}.mfa-qr,.mfa-qr-slot{border-radius:var(--r-sm);width:184px;height:184px}.mfa-qr{border:1px solid var(--line);animation:rise var(--t-base) var(--ease) both}.mfa-qr-slot{box-sizing:border-box;text-align:center;background:var(--paper);color:var(--ink);border:1.5px dashed var(--line);place-items:center;padding:1rem;font-weight:700;display:grid}button.mfa-qr-slot:hover:not(:disabled){border-color:var(--red);background:var(--paper)}.mfa-key{width:100%;color:var(--muted);font-size:.8rem}.mfa-key summary{cursor:pointer;text-align:center}.mfa-key code,.mfa-codes{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.mfa-key code{color:var(--ink);text-align:center;letter-spacing:.04em;margin-top:.4rem;padding:.4rem .5rem;display:block}.mfa-steps-col{flex-direction:column;gap:.9rem;display:flex}.mfa-steps{color:var(--ink);gap:.4rem;margin:0;padding-inline-start:1.25rem;font-size:.9rem;line-height:1.4;display:grid}.mfa-open-app{font-weight:700;display:none}@media (pointer:coarse){.mfa-open-app{display:inline}}.mfa-actions{grid-template-columns:minmax(0,1fr) auto;gap:.6rem;display:grid}.mfa-codes{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.35rem 1.5rem;margin:0;padding:.6rem .8rem .6rem 2.2rem;display:grid}@media (width<=640px){.mfa-setup{grid-template-columns:1fr}.mfa-qr-panel{width:100%}.mfa-actions{grid-template-columns:1fr}}.login-note{color:var(--muted);text-align:center;margin:0;font-size:.8rem;line-height:1.4}@media (width<=960px){main.login{background-image:radial-gradient(ellipse 60% 26% at 78% 12%, var(--glow), transparent 70%), var(--guilloche)}.login-topbar{flex-wrap:wrap;padding-block:.75rem}.login-meta,.login-by,.login-mrz,.login-marquee{display:none}.login-stage{padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px));grid-template-columns:minmax(0,1fr);align-content:start;justify-items:center;gap:1.1rem}.login-hero{box-sizing:border-box;width:100%;max-width:26rem;min-height:0;padding:1rem 8.5rem 2rem 1.1rem}.login-hero .glo-say-line{max-width:none;font-size:clamp(1.6rem,7vw,2.2rem)}.login-hero .glo-say-sub{margin-top:.6rem;font-size:.8rem}.login-hero .glo-stage,.login-hero .glo-sticker{inline-size:9.5rem;bottom:-2.25rem;right:-1.25rem}.login-auth{justify-content:center;max-width:26rem}.login-auth:before{display:none}.login-card{width:100%;max-width:26rem;box-shadow:0 12px 30px -18px color-mix(in srgb, var(--shade) 35%, transparent)}.login-card-band{padding-block:.6rem}}button.theme-toggle,button.lang-toggle{border-color:color-mix(in srgb, currentColor 35%, transparent);width:40px;min-height:40px;color:inherit;box-shadow:none;background:0 0;border-radius:50%;place-items:center;padding:0;display:inline-grid}button.theme-toggle:hover:not(:disabled),button.lang-toggle:hover:not(:disabled){background:color-mix(in srgb, currentColor 12%, transparent);box-shadow:none;border-color:currentColor}.theme-toggle svg{width:20px;height:20px;animation:theme-swap .35s var(--ease)}.login-panel{position:relative}.login-panel>.theme-toggle,.login-panel>.lang-toggle{z-index:1;position:absolute;top:1rem;right:1rem}.login-panel>.lang-toggle{right:calc(1rem + 48px)}.wordmark{letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:.3em;font-weight:800;display:inline-flex}.brand-icon{width:1.5em;height:1.5em;transition:rotate .6s var(--ease)}.wordmark-link{color:inherit;text-decoration:none}.wordmark:hover .brand-icon{rotate:-20deg}.wordmark span{background:var(--amber);color:var(--on-amber);border-radius:.16em;margin-left:.05em;padding:0 .14em}.topbar{padding:0 var(--gutter);padding-top:env(safe-area-inset-top,0px);background:var(--surface);min-height:56px;color:var(--ink);border-top:2px solid var(--red);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.topbar>strong{font-size:1.1rem}.topbar nav{flex:1;align-self:stretch;gap:.25rem;display:flex}.topbar nav a{color:var(--muted);transition:color var(--t-base), box-shadow var(--t-base);align-self:stretch;align-items:center;gap:.45rem;padding:0 .75rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:inset 0 -2px #0000}.topbar nav a:hover{color:var(--ink)}.topbar nav a.active{color:var(--ink);box-shadow:inset 0 -2px 0 var(--red)}.topbar nav a.active .icon{color:var(--red)}.topbar-user{align-items:center;gap:.5rem;margin-left:auto;font-size:.9rem;font-weight:600;display:flex}.topbar-avatar{border-radius:50%;display:inline-flex}.topbar-avatar:focus-visible{outline:2px solid var(--red);outline-offset:2px}.topbar-avatar[aria-current=page]{box-shadow:0 0 0 2px var(--red)}.topbar-user button{border-color:var(--line);min-height:34px;color:var(--ink);box-shadow:none;background:0 0;padding:.3rem .8rem}.topbar-user button:hover:not(:disabled){background:var(--paper);border-color:var(--muted);box-shadow:none}.user-menu-button{anchor-name:--user-menu}.user-menu{inset:auto;top:calc(56px + env(safe-area-inset-top,0px));right:var(--gutter);width:min(18rem, calc(100vw - 2 * var(--gutter)));border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink);box-shadow:0 16px 32px -16px color-mix(in srgb, var(--shade) 40%, transparent);margin:0;padding:.4rem;font-weight:600}@supports (position-area:bottom){.user-menu{position-anchor:--user-menu;position-area:bottom span-left;margin:6px 0;top:auto;right:auto}}.user-menu:popover-open{animation:pop .15s var(--ease);display:grid}.user-menu-who{overflow-wrap:anywhere;margin:0;padding:.5rem .75rem .6rem;display:grid}.user-menu-who .muted{font-size:.85rem;font-weight:400}.user-menu a,.topbar-user .user-menu button{border-radius:calc(var(--r) - 4px);min-height:44px;color:var(--ink);font:inherit;text-align:left;box-shadow:none;background:0 0;border:0;align-items:center;gap:.6rem;padding:0 .75rem;text-decoration:none;display:flex}.user-menu a:hover,.topbar-user .user-menu button:hover:not(:disabled){background:var(--paper);border:0}.user-menu a[aria-current=page] .icon{color:var(--red)}.user-menu hr{border:0;border-top:1px solid var(--line);width:100%;margin:.3rem 0}.page{max-width:88rem;padding:1.25rem var(--gutter) 2rem;margin:0 auto}.icon{flex:none;width:1.2rem;height:1.2rem}.page-head{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"text tabs actions";align-items:end;column-gap:2rem;margin-bottom:1.25rem;display:grid}.page-head-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-bottom:1rem;display:flex}.page-head-row>p{margin:0}.page-head>.page-head-row{display:contents}.page-head-text{grid-area:text;padding-bottom:.6rem}.page-head-actions{grid-area:actions;padding-bottom:.6rem}.page-head .subtabs{border-bottom:0;grid-area:tabs}.page-head:not(:has(.subtabs)){border-bottom:0}@media (width<=760px){.page-head{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"text actions""tabs tabs"}}.page-head-text{gap:.15rem;min-width:0;display:grid}.page-head h1{margin:0}.page-head-text p{max-width:60ch;margin:0}.page-head-actions{flex-wrap:wrap;gap:.5rem;display:flex}.subtabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:.25rem;display:flex;overflow-x:auto}.subtabs a{color:var(--muted);transition:color var(--t-base), background-color var(--t-base);flex:none;padding:.55rem .75rem;font-size:.9rem;font-weight:600;text-decoration:none;position:relative}.subtabs a:hover{color:var(--ink)}.subtabs a.active{color:var(--red)}.subtabs a.active:after{content:"";background:var(--red);height:2px;animation:grow .25s var(--ease);position:absolute;bottom:0;left:.5rem;right:.5rem}@media (width>=641px) and (width<=1100px){.topbar{flex-wrap:nowrap;gap:.75rem}.topbar nav{scrollbar-width:none;overflow-x:auto}.topbar nav a{flex:none;padding:0 .5rem}.topbar nav a .icon{display:none}}@media (width<=640px){.topbar nav{z-index:10;padding:.4rem .25rem calc(.4rem + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--line);color:var(--muted);justify-content:space-around;gap:0;position:fixed;inset:auto 0 0}.topbar nav a{opacity:1;border-radius:14px;flex-direction:column;flex:1;gap:.15rem;padding:.35rem .25rem;font-size:.75rem}.topbar nav a .icon{width:1.5rem;height:1.5rem;transition:background-color var(--t-base);border-radius:999px;padding:.2rem 1rem}.topbar nav a.active{box-shadow:none;background:0 0}.topbar nav a.active .icon{background:var(--red-soft)}.topbar{flex-wrap:nowrap}.topbar-user{margin-left:auto}.page{padding-bottom:calc(5rem + env(safe-area-inset-bottom,0px))}}.fc{--fc-border-color:var(--line);--fc-page-bg-color:var(--surface);--fc-neutral-bg-color:var(--paper);--fc-today-bg-color:var(--today-tint);--fc-now-indicator-color:var(--red);--fc-button-bg-color:var(--surface);--fc-button-border-color:var(--line);--fc-button-text-color:var(--ink);--fc-button-hover-bg-color:var(--paper);--fc-button-hover-border-color:var(--muted);--fc-button-active-bg-color:var(--red);--fc-button-active-border-color:var(--red);--fc-list-event-hover-bg-color:var(--paper);background:var(--surface);border-radius:var(--r);border:1px solid var(--line);padding:.5rem}.fc .fc-button{border-radius:var(--r-sm);min-height:0;box-shadow:none;font-weight:700;transform:none}.fc .fc-button-primary:not(:disabled).fc-button-active{color:var(--on-red)}.fc .fc-day-today .fc-col-header-cell-cushion,.fc .fc-day-today .fc-daygrid-day-number{color:var(--red);font-weight:800}.fc .fc-event{cursor:pointer;transition:transform var(--t-base) var(--ease), box-shadow var(--t-base);border-width:0 0 0 3px;border-radius:4px}@media (hover:hover){.fc .fc-event:hover{filter:brightness(.97)}}.fc .fc-timegrid-event .fc-event-time{opacity:.8;font-weight:700}.event-cancelled{opacity:.7;text-decoration:line-through}@media (width<=640px){.fc{padding:.5rem}}button,a.button{justify-content:center;align-items:center;gap:.45rem;display:inline-flex}a.button{box-sizing:border-box;min-height:var(--control-h);border-radius:var(--r-sm);background:var(--red);color:var(--on-red);transition:background-color var(--t-base), transform var(--t-fast) var(--ease), box-shadow var(--t-base);padding:.5rem .95rem;font-weight:700;text-decoration:none}a.button:hover{background:var(--red-deep)}a.button:active{transform:scale(.97)}@media (hover:hover){a.button:hover{box-shadow:0 8px 18px -10px var(--red);transform:translateY(-1px)}}button.icon-button{border-color:var(--line);width:40px;min-height:40px;color:var(--ink);box-shadow:none;background:0 0;border-radius:50%;padding:0}button.icon-button:hover:not(:disabled){background:var(--paper);border-color:var(--muted);box-shadow:none}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.75rem;font-weight:700}.chip{letter-spacing:.03em;color:var(--lv,var(--muted));background:color-mix(in srgb, var(--lv,var(--muted)) 14%, var(--surface));border:1px solid color-mix(in srgb, var(--lv,var(--muted)) 35%, transparent);white-space:nowrap;border-radius:4px;align-items:center;padding:.1rem .5rem;font-size:.72rem;font-weight:700;display:inline-flex}.segmented{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);gap:2px;padding:3px;display:inline-flex}.segmented-wrap{flex-wrap:wrap}.segmented button{min-height:calc(var(--control-h) - 8px);color:var(--ink);box-shadow:none;background:0 0;border:0;border-radius:5px;padding:.25rem .75rem;font-weight:600}.segmented button:hover:not(:disabled){background:var(--paper);box-shadow:none;border:0;transform:none}.segmented button[aria-pressed=true],.segmented button[aria-pressed=true]:hover:not(:disabled){background:var(--ink);color:var(--surface)}button.is-on{background:var(--red-soft);border-color:var(--red);color:var(--red)}.count{background:var(--red);min-width:1.3rem;height:1.3rem;color:var(--on-red);border-radius:999px;place-items:center;font-size:.75rem;display:inline-grid}.filter-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);animation:pop .2s var(--ease);flex-wrap:wrap;gap:1rem;margin-bottom:.75rem;padding:1rem;display:flex}.filter-panel label{flex:14rem}.filter-chips{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}button.filter-chip{background:var(--red-soft);min-height:32px;color:var(--red);box-shadow:none;border-color:#0000;border-radius:999px;padding:.2rem .4rem .2rem .75rem;font-size:.875rem}button.filter-chip:hover:not(:disabled){background:var(--red-soft);border-color:var(--red);box-shadow:none}.filter-chip .icon{width:1rem;height:1rem}.agenda-head{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-bottom:1rem;display:flex}.agenda-head h1{margin:0 .25rem 0 0}.agenda-title{white-space:nowrap;margin:0;font-size:1rem;font-weight:600}.agenda-actions{align-items:center;gap:.5rem;margin-left:auto;display:flex}.agenda-actions a.button{min-height:0;height:var(--control-h);box-sizing:border-box}.agenda-layout{grid-template-columns:15rem minmax(0,1fr);align-items:start;gap:1rem;display:grid}.agenda-side{gap:1rem;display:grid;position:sticky;top:1rem}.side-block{border-top:1px solid var(--line);gap:.5rem;padding-top:.75rem;display:grid}.side-block h3{margin:0}.side-filters label{font-size:.875rem}.side-filters select{width:100%;min-height:40px}.only-narrow,button.icon-button.only-narrow{display:none}@media (width<=1100px){.agenda-layout{grid-template-columns:minmax(0,1fr)}.only-wide{display:none}.only-narrow{display:block}button.icon-button.only-narrow{display:inline-flex}.filter-panel.only-narrow{display:flex}}button.icon-button{position:relative}button.icon-button .count{min-width:1.1rem;height:1.1rem;font-size:.65rem;position:absolute;top:-4px;right:-4px}button.icon-button.small{border-color:#0000;width:32px;min-height:32px}button.link{min-height:0;color:var(--red);box-shadow:none;background:0 0;border:0;padding:0;font-weight:700}button.link:hover:not(:disabled){box-shadow:none;background:0 0;border:0;text-decoration:underline;transform:none}button.link .icon{width:1rem;height:1rem}.summary-line{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.35rem .9rem;margin:0 0 .75rem;font-size:.9rem;display:flex}.summary-line b{font-family:var(--f-display);color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.05rem}.summary-line .is-closure b{color:var(--warning)}.summary-line.is-empty{justify-items:start;gap:.4rem;display:grid}.agenda-side .summary-line{gap:.3rem;margin:0;display:grid}.mini-month{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);gap:.4rem;padding:.75rem;display:grid}.mini-head{justify-content:space-between;align-items:center;gap:.25rem;padding-left:.25rem;display:flex}.mini-head strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--f-display);font-size:.95rem;overflow:hidden}.mini-arrows{flex:none;display:flex}.mini-head strong:first-letter{text-transform:uppercase}.mini-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.mini-dow{text-align:center;color:var(--muted);padding-bottom:.2rem;font-size:.68rem;font-weight:700}.mini-grid button{min-height:30px;color:var(--ink);font-variant-numeric:tabular-nums;box-shadow:none;background:0 0;border:0;border-radius:4px;padding:0;font-size:.8rem;font-weight:600;position:relative}.mini-grid button:hover:not(:disabled){background:var(--paper);box-shadow:none;border:0;transform:none}.mini-grid button.is-out{color:color-mix(in srgb, var(--muted) 55%, transparent)}.mini-grid button.is-range{background:var(--red-soft);border-radius:0}.mini-grid button.is-today{background:var(--red);color:var(--on-red);border-radius:4px}.mini-grid button.is-closure:not(.is-today){color:var(--warning);-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.mini-grid button i{background:var(--red);border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:3px;left:50%}.mini-grid button.is-today:hover:not(:disabled),.mini-grid button.is-selected:hover:not(:disabled){background:var(--red-deep)}.mini-grid button.is-selected{background:var(--red);color:var(--on-red)}.mini-grid button.is-now:not(.is-selected){color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}.mini-grid button:disabled{color:color-mix(in srgb, var(--muted) 40%, transparent);opacity:1}.mini-grid button.is-today i{background:var(--on-red)}.legend{flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.legend li{background:color-mix(in srgb, var(--lv) 12%, var(--surface));border-radius:4px;align-items:center;gap:.35rem;padding:.15rem .55rem .15rem .4rem;font-size:.75rem;font-weight:700;display:inline-flex}.legend li:before{content:"";background:var(--lv);border-radius:50%;width:8px;height:8px}.fc a{color:inherit;text-decoration:none}.fc .fc-col-header-cell-cushion{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;padding:.5rem .25rem;font-size:.75rem;font-weight:700}.fc .fc-daygrid-day-number{font-weight:600}.fc-dot{border-radius:50%;align-self:center;width:8px;height:8px;display:none}.fc .fc-daygrid-event .fc-dot{display:block}.fc .fc-timegrid-slot{height:1.6rem}.fc .fc-timegrid-col.fc-day-today,.fc .fc-daygrid-day.fc-day-today{background:var(--today-tint)}.fc .fc-timegrid-slot-lane,.fc .fc-daygrid-day{cursor:pointer;transition:background-color var(--t-fast)}@media (hover:hover){.fc .fc-timegrid-slot-lane:hover,.fc .fc-daygrid-day:hover{background:color-mix(in srgb, var(--red) 6%, transparent)}}.fc-ticket{gap:1px;padding:2px 3px;font-size:.78rem;line-height:1.25;display:grid;overflow:hidden}.fc-ticket-time{font-variant-numeric:tabular-nums;opacity:.75;font-size:.72rem;font-weight:700}.fc-ticket strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.fc-ticket-meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.fc .fc-daygrid-event .fc-ticket{grid-template-columns:auto auto 1fr;gap:0 .35rem}.fc .fc-daygrid-event .fc-ticket-time{border:0;margin:0;padding:0}.fc .fc-daygrid-event .fc-ticket-meta{display:none}.day-head{justify-items:center;gap:2px;display:inline-grid}.day-flag{letter-spacing:.06em;background:var(--warning-soft);color:var(--warning);border-radius:4px;padding:0 .4rem;font-size:.62rem}.fc .bg-closure,.fc .is-closure{background:repeating-linear-gradient(-45deg, color-mix(in srgb, var(--warning) 9%, transparent) 0 8px, transparent 8px 16px);opacity:1}.fc .bg-block{background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--muted) 12%, transparent) 0 6px, transparent 6px 12px);opacity:1}.fc .fc-more-link{color:var(--red);font-weight:700}.ticket-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}button.ticket-row{text-align:left;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--lv);border-radius:var(--r-sm);width:100%;min-height:52px;color:var(--ink);box-shadow:none;grid-template-columns:4.2rem 1fr auto;align-items:center;gap:.75rem;padding:.5rem .75rem;font-weight:400;display:grid;position:relative}button.ticket-row:hover:not(:disabled){background:color-mix(in srgb, var(--lv) 6%, var(--surface));border-color:var(--line);border-left-color:var(--lv)}.ticket-time{font-variant-numeric:tabular-nums;border-right:1px solid var(--line);padding-right:.75rem;line-height:1.2;display:grid}.ticket-time strong{font-size:.95rem}.ticket-time span{color:var(--muted);font-size:.8rem}.ticket-body{gap:.15rem;min-width:0;display:grid}.ticket-title{flex-wrap:wrap;align-items:center;gap:.4rem;font-weight:700;display:flex}.ticket-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.ticket-side{color:var(--muted);white-space:nowrap;font-size:.8rem}.is-cancelled .ticket-title,.is-cancelled .ticket-time strong{color:var(--muted);text-decoration:line-through}.badge-cancelled{background:var(--error-soft);color:var(--error);border-radius:4px;padding:.1rem .5rem;font-weight:700}dialog.sheet{border:0;border-left:1px solid var(--line);border-radius:0;grid-template-rows:auto auto 1fr auto;width:min(28rem,100vw);max-width:100vw;height:100dvh;max-height:100dvh;margin:0 0 0 auto;padding:0;display:none}dialog.sheet[open]{animation:slide-in .3s var(--ease);display:grid}.sheet-head{padding:1.5rem 1.5rem 1rem;padding-top:calc(1.5rem + env(safe-area-inset-top,0px));justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.sheet-head h2{margin:.1rem 0 0;font-size:1.25rem}.sheet-body{padding:.5rem 1.5rem 1.5rem;overflow-y:auto}.sheet-foot{padding:1rem 1.5rem calc(1rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line)}.sheet-foot .button{box-sizing:border-box;width:100%}.sheet-foot p{margin:0}.notice{border-radius:var(--r-sm);background:var(--warning-soft);color:var(--warning);gap:.6rem;margin:0 1.5rem .5rem;padding:.75rem .9rem;display:flex}.notice span{color:var(--ink)}.empty-day{text-align:center;color:var(--muted);border:1px solid var(--line);border-radius:var(--r);margin:1rem 0;padding:1.5rem}@media (width<=640px){dialog.sheet{border-left:0;border-top:1px solid var(--line);border-radius:12px 12px 0 0;width:100vw;height:auto;max-height:88dvh;margin:auto 0 0}dialog.sheet[open]{animation:slide-up .3s var(--ease)}dialog.sheet:before{content:"";background:var(--line);border-radius:4px;justify-self:center;width:40px;height:4px;margin-top:8px}dialog.sheet{grid-template-rows:auto auto auto 1fr auto}.sheet-head{padding-top:.75rem}}.agenda-list{gap:.75rem;display:grid}.day-strip{z-index:3;background:var(--paper);grid-template-columns:repeat(7,1fr);gap:.35rem;padding-block:.5rem;display:grid;position:sticky;top:0}.day-strip a{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);color:var(--muted);text-transform:uppercase;justify-items:center;gap:.1rem;padding:.4rem 0;font-size:.7rem;font-weight:700;text-decoration:none;display:grid}.day-strip b{font-family:var(--f-display);color:var(--ink);font-size:1.15rem}.day-strip a.is-today{background:var(--red);border-color:var(--red);color:var(--on-red)}.day-strip a.is-today b{color:var(--on-red)}.dot{background:var(--red);border-radius:50%;width:6px;height:6px}.is-today .dot{background:var(--on-red)}.dot.is-empty{background:0 0}.dot.is-closure{background:var(--warning)}.list-day{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:.25rem .75rem .75rem;scroll-margin-top:5rem}.list-day.is-today{border-color:var(--red)}.list-day.is-empty{background:0 0;border-style:dashed;padding-block:0}.list-day.is-empty .list-day-head{min-height:40px;color:var(--muted);font-weight:600}.list-day.is-empty.is-today{border-style:solid}button.list-day-head{width:100%;min-height:var(--control-h);color:var(--ink);text-transform:capitalize;box-shadow:none;background:0 0;border:0;justify-content:space-between;padding:.4rem 0;font-weight:700}button.list-day-head:hover:not(:disabled){box-shadow:none;color:var(--red);background:0 0;border:0;transform:none}.list-day-head .muted{text-transform:none;font-size:.875rem;font-weight:500}.flag{color:var(--warning);align-items:center;gap:.3rem;display:inline-flex}.flag .icon{width:1rem;height:1rem}.list-day .ticket-list{margin-top:.25rem}@media (width<=640px){.agenda-head{gap:.6rem}.agenda-head h1{flex:1}.agenda-title{order:9;width:100%;font-size:1.05rem}.agenda-actions{order:10;width:100%;margin:0}.agenda-actions .segmented,.agenda-actions .segmented button{flex:1}.hide-phone{display:none}.agenda-actions .button{width:44px;padding:0}button.ticket-row{grid-template-columns:3.6rem 1fr;gap:.75rem}.ticket-side{grid-column:2}.page-head-actions{flex-wrap:nowrap;width:100%}.page-head-actions>.button{flex:1}}dialog{border:1px solid var(--line);background:var(--surface);max-width:min(32rem,92vw);color:var(--ink);border-radius:12px;padding:1.5rem;box-shadow:0 30px 60px -20px #00000059}dialog[open]{animation:pop .25s var(--ease)}dialog::backdrop{background:#140a0c73}dialog h2{margin-top:0}dialog form{gap:.75rem;display:grid}dialog.birthday{text-align:center;width:min(26rem,92vw);padding:0;overflow:hidden}.birthday-scene{background:var(--cover);height:13rem}.birthday-scene canvas{width:100%;height:100%;display:block}.birthday-copy{justify-items:center;gap:.5rem;padding:1.25rem 1.5rem 1.5rem;display:grid}.birthday-copy h2{font-family:var(--f-display);color:var(--red);margin:0}.birthday-copy p{margin:0}.birthday-copy button{margin-top:.5rem}dialog.session-dialog{grid-template-rows:auto minmax(0,1fr) auto;width:min(60rem,94vw);max-width:none;max-height:min(44rem,90dvh);padding:0;display:none}dialog.session-dialog[open]{display:grid}.session-head{border-bottom:1px solid var(--line);align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;display:flex}.session-head-text{flex:1;min-width:0}.session-head h2{margin:.1rem 0 0;font-size:1.3rem}.session-when{color:var(--muted);margin:.15rem 0 0;font-size:.9rem}.session-when:first-letter{text-transform:uppercase}.session-head .tag{margin-top:.2rem}.tag-cancelled{background:var(--error-soft);color:var(--error)}.session-body{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);display:grid;overflow:hidden}.session-body:not(:has(>.roster-section)){grid-template-columns:1fr}.session-main,.session-body>.roster-section{align-content:start;gap:.75rem;padding:1rem 1.25rem;display:grid;overflow-y:auto}.session-body>.roster-section{border-left:1px solid var(--line);background:var(--paper)}.roster-section h3,.roster-section p,.roster-section .roster{margin:0}dl.facts{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.75rem 1rem;margin:0;display:grid}dl.facts>div{gap:.1rem;min-width:0;display:grid}dl.facts>.wide{grid-column:1/-1}dl.facts dt{align-self:start;font-size:.68rem}.session-main form{border:1px solid var(--line);border-radius:var(--r);gap:.75rem;padding:.75rem;display:grid}.session-main .actions{border:0;margin-top:0;padding-top:0}.session-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding:.75rem 1.25rem;display:flex}.session-foot>button:not(:last-child){order:-1}.session-foot>button:last-child{margin-left:auto}@media (width<=760px){dialog.session-dialog{border-radius:12px 12px 0 0;width:100vw;max-height:92dvh;margin:auto 0 0}.session-body{grid-template-columns:1fr;overflow-y:auto}.session-main,.session-body>.roster-section{overflow:visible}.session-body>.roster-section{border-left:0;border-top:1px solid var(--line)}}dl{grid-template-columns:auto 1fr;gap:.4rem 1rem;display:grid}dt{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);align-self:center;font-size:.75rem;font-weight:700}dd{margin:0;font-weight:600}.actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:1rem;display:flex}.schedule{grid-template-columns:minmax(0,1fr) minmax(18rem,22rem);align-items:start;gap:1.5rem;display:grid}.success-banner{border-radius:var(--r-sm);background:var(--success-soft);color:var(--success);animation:pop .25s var(--ease);grid-column:1/-1;margin:0;padding:.75rem 1rem;font-weight:600}.schedule-form{gap:.75rem;display:grid}fieldset.form-block{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);gap:.75rem;margin:0;padding:1rem 1.25rem;display:grid}.form-block>legend{float:left;width:100%;font-family:var(--f-display);padding:0;font-size:.95rem;font-weight:700}.form-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem 1rem;display:grid}.form-grid .wide{grid-column:1/-1}.form-grid input,.form-grid select{box-sizing:border-box;width:100%}.mode{border:1px solid var(--line);border-radius:var(--r);background:var(--paper);justify-self:start;gap:2px;padding:3px;display:inline-flex}.mode label{cursor:pointer;transition:background-color var(--t-base), color var(--t-base);border-radius:5px;padding:.45rem .9rem;font-weight:600;display:block;position:relative}.mode input,.day-pill input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.mode label:has(input:checked){background:var(--ink);color:var(--surface)}.mode label:has(input:focus-visible){outline:3px solid var(--red);outline-offset:2px}.day-pill:has(input:focus-visible){outline:3px solid var(--red);outline-offset:2px}fieldset.weekdays{border:0;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;display:flex}.weekdays legend{float:left;width:100%;margin-bottom:.3rem;padding:0;font-size:.95rem;font-weight:600}.day-pill{display:block;position:relative}.day-pill span{min-width:2.9rem;min-height:var(--control-h);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);transition:background-color var(--t-base), border-color var(--t-base), color var(--t-base), transform var(--t-fast) var(--ease);place-items:center;padding:0 .6rem;font-weight:700;display:grid}.day-pill:hover span{border-color:var(--muted)}.day-pill:has(input:checked) span{background:var(--red);border-color:var(--red);color:var(--on-red)}.day-pill:active span{transform:scale(.94)}.summary{gap:1rem;display:grid;position:sticky;top:1rem}.summary-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);gap:.9rem;padding:1rem 1.25rem;display:grid;position:relative}.summary-card h2{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;font-size:1.15rem;display:flex}.summary-card dl{gap:.45rem 1rem;margin:0}.summary-count{border-top:1px solid var(--line);align-items:baseline;gap:.6rem;padding-top:.9rem;display:flex}.summary-count strong{font-family:var(--f-display);color:var(--red);font-variant-numeric:tabular-nums;font-size:1.9rem;line-height:1}.summary-count span{color:var(--muted);font-size:.875rem}.summary-card>button,.preview>button{width:100%}.preview{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);animation:pop .25s var(--ease);gap:.75rem;padding:1rem 1.25rem;display:grid}.preview h2{margin:0;font-size:1.1rem}.occurrences{max-height:40vh;margin:0;padding:0;list-style:none;overflow-y:auto}.occurrences li{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.occurrences li.skipped>span:first-child{color:var(--muted);text-decoration:line-through}.tag{white-space:nowrap;border-radius:4px;padding:.1rem .55rem;font-size:.78rem;font-weight:700}.parallel-tag{border-radius:var(--r-sm);background:var(--cover);color:var(--red-deep);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;vertical-align:middle;border:1.5px dashed;padding:.05rem .45rem;font-size:.72rem;font-weight:800;line-height:1.4;display:inline-block}.tag-ok{background:var(--success-soft);color:var(--success)}.tag-warn{background:var(--warning-soft);color:var(--warning)}@media (width<=860px){.schedule{grid-template-columns:1fr}.summary{position:static}}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);position:relative;overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th{text-align:left;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);background:var(--paper);padding:.6rem .75rem;font-size:.7rem}td{border-bottom:1px solid var(--line);padding:.5rem .75rem}tbody tr:last-child td{border-bottom:0}td button:not(.danger):not(.link):not(.link-danger){background:var(--surface);border-color:var(--line);min-height:32px;color:var(--ink);padding:.2rem .65rem;font-size:.85rem}td button:not(.danger):not(.link):not(.link-danger):hover:not(:disabled){background:var(--paper);border-color:var(--muted)}tbody tr{transition:background-color var(--t-fast)}tbody tr:hover{background:color-mix(in srgb, var(--paper) 60%, transparent)}tr.skipped{color:var(--muted);text-decoration:line-through}tr.row-error td{background:var(--error-soft);color:var(--error)}.import{grid-template-columns:minmax(0,1fr);gap:1.25rem;display:grid}.steps-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.steps-row li{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);gap:.75rem;padding:1rem;display:flex}.steps-row li>div{align-content:start;gap:.3rem;min-width:0;display:grid}.steps-row p{margin:0;font-size:.9rem}.steps-row .button{justify-self:start;margin-top:.4rem}.step-n{background:var(--red-soft);width:2rem;height:2rem;color:var(--red);font-family:var(--f-display);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}a.button.secondary-link{background:var(--surface);color:var(--ink);border:1px solid var(--line)}a.button.secondary-link:hover{border-color:var(--muted);box-shadow:none}.dropzone{text-align:center;border:1.5px dashed color-mix(in srgb, var(--red) 35%, var(--line));border-radius:var(--r);background:color-mix(in srgb, var(--red-soft) 45%, var(--surface));cursor:pointer;transition:background-color var(--t-base), border-color var(--t-base), transform var(--t-base) var(--ease);justify-items:center;gap:.4rem;padding:clamp(1.5rem,4vw,2.25rem) 1.5rem;font-weight:500;display:grid;position:relative}.dropzone input{opacity:0;cursor:pointer;position:absolute;inset:0}.dropzone:hover,.dropzone.is-over{border-color:var(--red);background:var(--red-soft)}.dropzone.is-over{transform:scale(1.01)}.dropzone:has(input:focus-visible){outline:3px solid var(--red);outline-offset:3px}.dropzone-icon{background:var(--surface);width:3.5rem;height:3.5rem;color:var(--red);box-shadow:0 8px 20px -12px var(--red);transition:transform var(--t-base) var(--ease-stamp);border-radius:50%;place-items:center;margin-bottom:.4rem;display:grid}.dropzone-icon .icon{width:1.6rem;height:1.6rem}.dropzone:hover .dropzone-icon,.dropzone.is-over .dropzone-icon{transform:translateY(-4px)}.dropzone strong{font-family:var(--f-display);font-size:1.05rem}.dropzone u{color:var(--red);font-weight:700}.dropzone.is-compact{text-align:left;grid-template-columns:auto minmax(0,1fr);place-items:center start;gap:.9rem;padding:.9rem 1.1rem}.dropzone.is-compact>span:last-child{min-width:0;display:grid}.dropzone.is-compact strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.95rem;overflow:hidden}.dropzone.is-compact .dropzone-icon{width:2.5rem;height:2.5rem;margin:0}.dropzone.is-compact .dropzone-limits{margin:0}.dropzone.is-compact.is-over,.dropzone.is-compact:hover .dropzone-icon{transform:none}.dropzone-limits{color:var(--muted);margin-top:.4rem;font-size:.8rem}.file-chip{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);animation:pop .25s var(--ease);align-items:center;gap:.75rem;padding:.9rem 1rem;display:flex}.file-chip>.icon{color:var(--success)}.file-chip>span:not(.spinner){flex:1;min-width:0;display:grid}.file-chip strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.import h2{font-size:1.15rem}.tags{flex-wrap:wrap;gap:.35rem;display:inline-flex}@media (width<=760px){.steps-row{grid-template-columns:1fr;gap:.5rem}.steps-row li{align-items:center;padding:.7rem .9rem}.steps-row p{display:none}.steps-row li:first-child>div{flex-wrap:wrap;flex:1;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.steps-row .button{margin:0}}.absences{gap:1rem;display:grid}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.section-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.section-bar h2{margin:0 0 .2rem;font-size:1.25rem}.section-bar p{margin:0}.absence-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);margin:0;padding:0;list-style:none;overflow:hidden}.absence-list li{border-bottom:1px solid var(--line);animation:rise .3s var(--ease) both;align-items:center;gap:1rem;padding:.6rem 1rem;display:flex}.absence-list li:last-child{border-bottom:0}.absence-list li.is-past{opacity:.55}.absence-body{flex:1;gap:.1rem;min-width:0;display:grid}.absence-body strong{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.absence-body .muted{font-size:.875rem}.absence-body .muted:first-letter{text-transform:uppercase}.date-tile{border-radius:var(--r-sm);border:1px solid color-mix(in srgb, var(--warning) 40%, var(--line));background:var(--warning-soft);width:2.75rem;height:2.75rem;color:var(--warning);flex:none;place-items:center;line-height:1;display:grid}.date-tile b{font-family:var(--f-display);font-size:1.25rem}.date-tile span{text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:700}.avatar{background:var(--red-soft);width:2.6rem;height:2.6rem;color:var(--red);font-family:var(--f-display);border-radius:50%;flex:none;place-items:center;font-size:.9rem;font-weight:800;display:grid}.confirm-inline{animation:pop .15s var(--ease);gap:.35rem;display:inline-flex}button.small{min-height:34px;padding:.25rem .7rem;font-size:.85rem}.sheet-form{gap:1rem;display:grid}.sheet-form p{margin:0}.sheet-form input,.sheet-form select{box-sizing:border-box;width:100%}.sheet-form>button{width:100%;margin-top:.5rem}@keyframes rise{0%{opacity:.2;translate:0 8px}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.page-header h1{margin:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.25rem}.card>h2:first-child{margin-top:0}.filters{flex-wrap:wrap;align-items:end;gap:.75rem 1rem;margin-block:.75rem;display:flex}.filters label{flex:0 14rem}button.link-danger{min-height:0;color:var(--error);box-shadow:none;background:0 0;border:none;font-weight:600;text-decoration:underline}button.link-danger:hover:not(:disabled){box-shadow:none;background:0 0;transform:none}.wide-dialog{width:min(44rem,92vw)}.preview-scroll{max-height:50vh;overflow-y:auto}.not-found{text-align:center;justify-items:center;gap:.5rem;max-width:32rem;margin:clamp(2rem,12vh,6rem) auto 0;display:grid}.not-found-code{font-family:var(--f-display);letter-spacing:-.04em;color:var(--line);align-items:center;margin:0 0 .5rem;font-size:clamp(4.5rem,14vw,7rem);font-weight:800;line-height:1;display:flex}.not-found-code .glo-sticker{block-size:.95em;inline-size:.95em;margin-inline:-.04em}dialog.offline{box-sizing:border-box;background:var(--paper);block-size:100%;max-block-size:none;inline-size:100%;max-inline-size:none;color:var(--ink);text-align:center;border:0;border-radius:0;margin:0;padding:1rem}dialog.offline[open]{place-content:center;justify-items:center;gap:.5rem;display:grid}dialog.offline>*{max-inline-size:30rem;margin:0}dialog.offline .glo-sticker{block-size:8rem;inline-size:8rem;margin-bottom:.5rem}dialog.offline .muted{text-wrap:pretty}.offline-waiting{color:var(--muted);align-items:center;gap:.5rem;font-weight:600;display:inline-flex;margin-top:1rem!important}.offline-waiting:before{content:"";background:var(--red);border-radius:50%;block-size:.6rem;inline-size:.6rem;animation:1.4s ease-in-out infinite offline-pulse}@keyframes offline-pulse{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.offline-waiting:before{animation:none}}.not-found h1{margin:0}.not-found .muted{text-wrap:pretty;margin:0}.not-found-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1rem;display:flex}@keyframes pop{0%{opacity:0;translate:0 12px;scale:.97}}@keyframes stamp-in{0%{transform:scale(.4)}}@keyframes drift{to{background-position:40px 40px,-30px 30px}}.loading-bar{color:var(--muted);gap:.4rem;margin-block:1rem;font-size:.9rem;display:grid}.loading-track{border-radius:var(--r-sm);background:var(--line);block-size:4px;position:relative;overflow:hidden}.loading-track>span{border-radius:inherit;background:var(--red);inline-size:40%;animation:loading-slide var(--t-loading) var(--ease) infinite;position:absolute;inset-block:0}@keyframes loading-slide{0%{translate:-100%}to{translate:250%}}@media (prefers-reduced-motion:reduce){.loading-track>span{opacity:.6;inline-size:100%;animation:none}}@keyframes spin{to{rotate:360deg}}@keyframes theme-swap{0%{opacity:0;rotate:-90deg;scale:.6}}@keyframes grow{0%{scale:0 1}}@keyframes slide-in{0%{translate:100%}}@keyframes slide-up{0%{translate:0 100%}}@keyframes shake{25%{transform:translate(-6px)}50%{transform:translate(5px)}75%{transform:translate(-3px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}:root[data-reduce-motion] *,:root[data-reduce-motion] :before,:root[data-reduce-motion] :after{transition:none!important;animation:none!important}:root[data-large-text]{font-size:120%}@media (width<=640px){:root[data-large-text] .topbar{gap:.5rem}:root[data-large-text] .topbar>strong{font-size:.85rem}}:root[data-high-contrast]{--muted:var(--ink);--line:var(--lightningcss-light,#6b5f63)var(--lightningcss-dark,#a1a1aa);--home-line:var(--line)}.book-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.book-head h1{margin:0}.book-week-nav{align-items:center;gap:.5rem;display:flex}.book-week-nav strong{text-align:center;font-variant-numeric:tabular-nums;min-width:11.5rem}.book-quota{align-items:center;gap:.75rem;margin:.75rem 0 1rem;display:flex}.book-quota p{margin:0}.book-quota-slots{gap:4px;display:flex}.book-quota-slots span{background:var(--line);width:1.25rem;height:.5rem;transition:background var(--t-base);border-radius:999px}.book-quota-slots .is-used{background:var(--success)}.book-days{grid-template-columns:repeat(6,1fr);gap:.375rem;display:grid}button.book-day{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);min-height:0;color:var(--ink);box-shadow:none;justify-items:center;gap:.1rem;padding:.5rem .25rem;font-weight:600;display:grid}button.book-day:hover:not(:disabled):not([aria-pressed=true]){border-color:var(--muted);background:var(--surface);box-shadow:none;transform:none}button.book-day[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--surface)}button.book-day:disabled{opacity:.45}.book-day-name{letter-spacing:.06em;text-transform:uppercase;font-size:.7rem}.book-day-num{font-family:var(--f-display);font-variant-numeric:tabular-nums;font-size:1.25rem;line-height:1.1}.book-day-mark{opacity:.75;align-items:center;height:1rem;font-size:.72rem;font-weight:500;display:inline-flex}.book-day-mark svg{width:1rem;height:1rem;color:var(--success)}button.book-day[aria-pressed=true] .book-day-mark svg{color:inherit}.book-day-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:1.25rem 0 .5rem;font-size:.8rem}.book-day-title:first-letter{text-transform:uppercase}.book-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);margin:0 0 1.5rem;padding:0;list-style:none}.book-row{border-left:3px solid #0000;grid-template-columns:6.5rem 1fr auto;grid-template-areas:"time main action";align-items:center;gap:.25rem .75rem;padding:.6rem .75rem .6rem 1rem;display:grid}.book-row+.book-row{border-top:1px solid var(--line)}.book-row:first-child{border-top-left-radius:var(--r)}.book-row:last-child{border-bottom-left-radius:var(--r)}.book-row.is-confirmed{background:var(--success-soft);border-left-color:var(--success)}.book-row.is-waitlisted{background:var(--warning-soft);border-left-color:var(--amber)}.book-row-time{white-space:nowrap;font-variant-numeric:tabular-nums;grid-area:time;line-height:1.2;display:grid}.book-row-time span{color:var(--muted);font-size:.75rem}.book-row-main{grid-area:main;min-width:0;line-height:1.3;display:grid}.book-row-main>span{font-size:.85rem}.book-row-note{font-weight:600}.book-row-action{text-align:right;grid-area:action;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.book-row-action .ticket-status{align-items:center;gap:.25rem;display:inline-flex}.book-row-action .ticket-status svg{width:1rem;height:1rem}.is-confirmed .book-row-action .ticket-status{color:var(--success)}.is-waitlisted .book-row-action .ticket-status{color:var(--warning)}@media (width<=520px){.book-week-nav{justify-content:space-between;width:100%}.book-row{grid-template-columns:1fr auto;grid-template-areas:"time action""main action";padding-left:.75rem}.book-row-time{align-items:baseline;gap:.35rem;font-size:.85rem;display:flex}.book-row-time span:before{content:"– "}.book-row-action{flex-direction:column;align-items:flex-end;gap:.15rem}.book-row-action button:not(.link-danger){min-height:34px}}.class-tickets{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.class-ticket{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);transition:border-color var(--t-base);grid-template-columns:1fr minmax(9.5rem,auto);display:grid;position:relative}.class-ticket.is-confirmed{border-color:var(--success)}.class-ticket.is-waitlisted{border-color:var(--amber)}.class-ticket-main{gap:.05rem;min-width:0;padding:.6rem 1rem;display:grid}.class-ticket-main time{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.85rem;font-weight:600}.class-ticket-stub{border-left:1px solid var(--line);text-align:center;place-content:center;justify-items:center;gap:.25rem;padding:.75rem;display:grid}.is-confirmed .class-ticket-stub{background:var(--success-soft);border-radius:0 var(--r) var(--r) 0}.is-waitlisted .class-ticket-stub{background:var(--warning-soft);border-radius:0 var(--r) var(--r) 0}.ticket-status{font-weight:700}.is-confirmed .ticket-status{color:var(--success)}.is-waitlisted .ticket-status{color:var(--warning)}.roster{margin:0 0 1rem;padding-left:1.25rem}@media (width<=520px){.class-ticket{grid-template-columns:1fr}.class-ticket-stub{border-left:0;border-top:1px solid var(--line);grid-auto-flow:column;place-content:center stretch}.is-confirmed .class-ticket-stub,.is-waitlisted .class-ticket-stub{border-radius:0 0 var(--r) var(--r)}}.attendance-row{border:0;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:0;padding:.25rem 0;display:flex}.attendance-row legend{float:left;min-width:10rem;padding:0;font-weight:600}.attendance-row label{min-height:var(--control-h);align-items:center;gap:.35rem;display:inline-flex}.attendance-present{color:var(--success)}.attendance-absent{color:var(--error)}@media (width<=520px){.attendance-row legend{width:100%}}.kpis{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.75rem;margin:1rem 0 1.5rem;padding:0;list-style:none;display:grid}.kpi .warning{background:0 0;padding:0}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);gap:.2rem;padding:.75rem 1rem;display:grid}.kpi-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.75rem;font-weight:600}.kpi-value{font-family:var(--f-display);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700}.meter{font-variant-numeric:tabular-nums;align-items:center;gap:.5rem;display:inline-flex}.bar{background:var(--line);border-radius:999px;block-size:.5rem;inline-size:5rem;overflow:hidden}.bar>span{border-radius:inherit;block-size:100%;display:block}.bar-low>span{background:var(--error)}.bar-mid>span{background:var(--amber)}.bar-high>span{background:var(--success)}.button-link{min-height:var(--control-h);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);box-sizing:border-box;transition:border-color var(--t-base);align-items:center;padding:.4rem .85rem;font-weight:600;text-decoration:none;display:inline-flex}.button-link:hover{border-color:var(--muted)}.feed-card{margin-top:1.5rem}.feed-card input{font-size:.85rem}.feed-card .actions{flex-wrap:wrap}.class-topic{font-size:1rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.import-options{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));align-items:end;gap:.75rem 1rem;margin-block:1rem;display:grid}.import-options .warning{grid-column:1/-1}.codes-list label{grid-template-columns:minmax(8rem,12rem) minmax(0,1fr);align-items:center;gap:.75rem;display:grid}.codes-card{border-color:var(--amber);margin-block:1rem}.codes-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.codes-list code{font-weight:700}.checks{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.4rem 1rem;display:grid}.form-grid .checks input{flex:none;width:1.15rem}.stack{gap:1rem;display:grid}.stack>button{justify-self:start}.next-class{margin-bottom:1.5rem}.next-class .class-topic{font-size:1.2rem}.class-ticket.is-cancelled{opacity:.7}.class-ticket.is-cancelled .class-topic{text-decoration:line-through}.empty-state{padding-block:1.25rem}.month-stamp{align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.month-stamp .stamp{flex:none;width:6rem}.history{margin-top:1.5rem}.history-list{gap:.25rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.history-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem 0;display:flex}.pill{background:var(--paper);color:var(--muted);border-radius:4px;flex:none;padding:.15rem .6rem;font-size:.8rem;font-weight:700}.pill.attendance-present{background:var(--success-soft);color:var(--success)}.pill.attendance-absent{background:var(--error-soft);color:var(--error)}.program{gap:1.5rem;display:grid}.program-bar{background:var(--red-soft);border-radius:999px;block-size:.45rem;display:block;overflow:hidden}.program-bar>span{background:var(--red);block-size:100%;transition:inline-size var(--t-base) var(--ease);display:block}.program-visa{--guilloche-ink:var(--passport-ink);border-radius:var(--r);background-color:var(--passport-bg);background-image:radial-gradient(ellipse 90% 60% at 20% 0%, #ffffff1a, transparent 70%), var(--guilloche);color:var(--passport-ink);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem 2rem;padding:1.5rem 1.75rem 0;display:grid;overflow:hidden}.program-visa h1{color:inherit;margin:.3rem 0 .4rem;font-size:clamp(2rem,5vw,3rem);line-height:1}.program-visa p{margin:0}.program-kicker{letter-spacing:.14em;text-transform:uppercase;opacity:.8;font-size:.75rem;font-weight:700}.program-count{font-family:var(--f-display);text-align:end}.program-count b{font-size:2.6rem;line-height:1;display:block}.program-count span{opacity:.85;font-size:.8rem;font-weight:600}.program-track{grid-column:1/-1;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;display:grid}.program-track i{background:color-mix(in srgb, var(--passport-ink) 20%, transparent);border-radius:3px;block-size:8px;position:relative;overflow:hidden}.program-track i.is-done{background:var(--passport-ink)}.program-track i.is-current{outline:2px solid var(--amber);outline-offset:1px}.program-track i.is-current:after{content:"";inline-size:var(--p);background:var(--amber);position:absolute;inset:0 auto 0 0}.program-visa .program-mrz{font:600 .62rem / 1.6 var(--f-mono);letter-spacing:.12em;white-space:nowrap;opacity:.7;background:#0003;grid-column:1/-1;margin:0 -1.75rem;padding:.6rem 1.75rem .7rem;overflow:hidden}.program-sec{flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem;margin-block-end:.9rem;display:flex}.program-sec h2{margin:0;font-size:1.05rem}.program-sec>span{color:var(--muted);font-size:.8rem;font-weight:600}.program-now{border:2px solid var(--red);background:var(--surface);box-shadow:8px 8px 0 -1px var(--surface), 8px 8px 0 0 var(--line), 16px 16px 0 -1px color-mix(in srgb, var(--surface) 60%, transparent), 16px 16px 0 0 color-mix(in srgb, var(--line) 60%, transparent), 0 22px 40px -18px color-mix(in srgb, var(--shade) 40%, transparent);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.25rem 1.75rem;margin-inline-end:12px;padding:1.5rem 1.75rem;display:grid;position:relative}.program-now-num{font:800 3.6rem/.9 var(--f-display);color:var(--red);font-variant-numeric:tabular-nums;margin:0}.program-now-num small{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-block-end:.35rem;font-size:.7rem;font-weight:700;display:block}.program-now-body{gap:.8rem;min-inline-size:0;display:grid}.program-now-body h3{margin:0;font-size:1.35rem;line-height:1.25}.program-now-body p{margin:0;font-size:.9rem}.program-now-body b{color:var(--ink)}.program-now-after{border-block-start:1px dashed var(--line);color:var(--muted);grid-column:2/-1;align-items:center;gap:.5rem;margin:0;padding-block-start:.9rem;font-size:.85rem;display:flex}.program-now-after .icon{block-size:.95rem;inline-size:.95rem}.button-link.program-cta{border-color:var(--red);background:var(--red);color:var(--on-red);white-space:nowrap}.button-link.program-cta:hover{border-color:var(--red-deep);background:var(--red-deep)}.program-path{flex-wrap:wrap;gap:.9rem .35rem;margin:0;padding:0;list-style:none;display:flex}.program-path li{text-align:center;inline-size:4.4rem;color:var(--muted);justify-items:center;gap:.35rem;font-size:.7rem;font-weight:600;line-height:1.15;display:grid;position:relative}.program-path li+li:before{content:"";background:var(--line);block-size:1px;inline-size:calc(100% - 2.15rem);position:absolute;inset-block-start:1.1rem;inset-inline-end:calc(50% + 1.25rem)}.program-path li.is-done+li:before{background:var(--success)}.program-path li.is-current{color:var(--red)}.program-step{border:1.5px solid var(--line);background:var(--surface);border-radius:50%;place-items:center;block-size:2.25rem;inline-size:2.25rem;display:grid}.program-step .icon{block-size:1rem;inline-size:1rem}.is-done>.program-step{border-color:var(--success);background:var(--success-soft);color:var(--success)}.is-current>.program-step{border:2px solid var(--red);background:var(--red-soft)}.program-done>summary{cursor:pointer;list-style:none}.program-done>summary::-webkit-details-marker{display:none}.program-done>summary:before{content:"›";transition:rotate var(--t-fast) var(--ease);align-self:center;font-weight:700}.program-done[open]>summary:before{rotate:90deg}.program-stamps{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.75rem;margin:0;padding:.25rem;list-style:none;display:grid}.program-stamps a{aspect-ratio:1.35;border:2px solid var(--success);border-radius:var(--r);outline:1px solid var(--success);outline-offset:-6px;background:color-mix(in srgb, var(--success-soft) 55%, transparent);color:var(--success);text-align:center;transition:rotate var(--t-base) var(--ease), translate var(--t-base) var(--ease);place-content:center;gap:.15rem;padding:.6rem;text-decoration:none;display:grid;rotate:-3deg}.program-stamps li:nth-child(3n+2) a{rotate:2deg}.program-stamps li:nth-child(3n) a{rotate:-1deg}.program-stamps a:hover,.program-stamps a:focus-visible{translate:0 -3px;rotate:0deg}.program-stamps small{font:700 .6rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase}.program-stamps b{font:800 1.5rem/1 var(--f-display)}.program-stamps span{-webkit-line-clamp:2;color:var(--ink);-webkit-box-orient:vertical;font-size:.72rem;font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.program-slots{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.program-slots li{border:1px dashed var(--line);border-radius:var(--r);background:color-mix(in srgb, var(--shade) 5%, var(--paper));box-shadow:inset 0 2px 6px color-mix(in srgb, var(--shade) 8%, transparent);color:var(--muted);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.15rem .8rem;padding:.9rem 1rem;display:grid}.program-slots b{font:800 1.35rem/1 var(--f-display);opacity:.55;font-variant-numeric:tabular-nums;grid-row:span 2}.program-slots strong{color:var(--ink);opacity:.7;font-size:.92rem;font-weight:600;line-height:1.3}.program-slots small{align-items:center;gap:.3rem;font-size:.75rem;display:flex}.program-slots .icon{block-size:.85rem;inline-size:.85rem}.program-slots li.is-next{border:1px solid color-mix(in srgb, var(--red) 40%, var(--line));background:var(--surface);box-shadow:none}.program-slots li.is-next strong{opacity:1}.program-previous{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:1rem;display:flex}.program-finish{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1.5rem;padding:1.5rem;display:grid}.program-finish .stamp{inline-size:7.5rem;rotate:-8deg}.program-finish h2{margin:0}.program-finish p{margin:.25rem 0 .9rem}.exam{max-inline-size:34rem;margin-inline:auto;padding-block:1.5rem}.exam h1{margin:0 0 .75rem}.exam-actions{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-top:1.5rem;display:flex}.exam-stage{position:relative}.exam-stage:fullscreen{background:var(--paper);padding:clamp(1rem,4vh,3rem) 1rem;overflow-y:auto}.exam-stage::backdrop{background:var(--paper)}.exam-stage.is-running .exam{-webkit-user-select:none;user-select:none;max-inline-size:46rem;padding-block:0}.exam-stage.is-running input{-webkit-user-select:text;user-select:text}.exam-intro{gap:1.25rem;display:grid}.exam-stage:not(.is-running) .exam{max-inline-size:40rem}.exam-intro h1{margin:0 0 .75rem}.exam-facts{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.exam-facts li{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:.3rem .75rem;font-size:.9rem;font-weight:600}.exam-forbidden{border:1px solid var(--red);border-radius:var(--r);background:var(--red-soft);border-inline-start-width:6px;padding:1.1rem 1.25rem}.exam-forbidden h2{color:var(--red-deep);align-items:center;gap:.5rem;margin:0 0 .25rem;font-size:1.15rem;display:flex}.exam-forbidden h2 .icon{block-size:1.4rem;inline-size:1.4rem}.exam-forbidden>p{margin:0 0 .9rem}.exam-forbidden ul{gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.exam-forbidden li{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.75rem;display:grid}.exam-forbidden li strong{color:var(--red-deep)}.exam-forbidden li p{margin:.15rem 0 0}.exam-forbidden-icon{background:var(--red);block-size:2.4rem;inline-size:2.4rem;color:var(--on-red);border-radius:50%;place-items:center;display:grid}.exam-forbidden-icon .icon{block-size:1.25rem;inline-size:1.25rem}.exam-keep h2{margin:0 0 .4rem;font-size:1.05rem}.exam-keep ul{margin:0;padding-inline-start:1.25rem}.exam-accept{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);cursor:pointer;align-items:flex-start;gap:.6rem;padding:.85rem 1rem;font-weight:600;display:flex}.exam-accept input{block-size:1.2rem;inline-size:1.2rem;accent-color:var(--red);flex:none;margin-top:.1rem}.exam-bar{z-index:2;border-bottom:1px solid var(--line);border-radius:calc(var(--r) * 2) calc(var(--r) * 2) 0 0;background:var(--surface);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:calc(-1*clamp(1.1rem,2.4vw,2rem)) calc(-1*clamp(1.1rem,2.4vw,2rem)) 0;padding:.75rem clamp(1.1rem,2.4vw,2rem);display:flex;position:sticky;top:0}.exam-where{font-family:var(--f-display);flex:auto;margin:0;font-weight:700}.exam-clock{background:var(--paper);border-radius:999px;padding:.2rem .7rem}.exam-clock time{font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700}.exam-clock.is-low{background:var(--error-soft);color:var(--error)}.exam-exits{background:var(--paper);color:var(--muted);border-radius:999px;padding:.25rem .7rem;font-size:.9rem;font-weight:600}.exam-exits.has-exits{background:var(--warning-soft);color:var(--warning)}.exam-save{min-inline-size:5rem;color:var(--muted);font-size:.85rem}.exam-icon-button{place-items:center;padding-inline:.55rem;display:inline-grid}.exam-reminder{color:var(--red-deep);align-items:center;gap:.4rem;margin:0;font-size:.85rem;font-weight:600;display:flex}.exam-reminder .icon{flex:none;block-size:1rem;inline-size:1rem}button.secondary.exam-finish-early{color:var(--muted);background:0 0;border-color:#0000;margin-inline-start:auto;padding-inline:.4rem;text-decoration:underline}.exam-run .ex-nav{margin-block-end:calc(-1*clamp(1.1rem,2.4vw,2rem))}.exam-watermark{z-index:1;pointer-events:none;color:var(--ink);opacity:.05;white-space:nowrap;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));align-content:space-evenly;justify-items:center;font-weight:700;display:grid;position:absolute;inset:0;overflow:hidden}.exam-watermark span{transform:rotate(-20deg)}.exam-away{z-index:10;background:var(--paper);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.exam-away .card{border-color:var(--red);text-align:center;justify-items:center;gap:.25rem;max-inline-size:28rem;display:grid}.exam-away h2{color:var(--red-deep)}.exam-progress{gap:.4rem;display:grid}.exam-progress-bar{background:var(--line);border-radius:999px;block-size:.6rem;display:block;overflow:hidden}.exam-progress-bar span{border-radius:inherit;background:var(--red);block-size:100%;transition:inline-size var(--t-base) var(--ease);display:block}.exam-run .exam-nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;display:flex}.exam-nav .ex-warn{flex:100%;margin:0}.exam-result{border:1px solid var(--line);border-radius:calc(var(--r) * 2);background:var(--surface);text-align:center;justify-items:center;gap:.6rem;max-inline-size:32rem;margin:1rem auto 0;padding:clamp(1.5rem,4vw,2.5rem);display:grid}.exam-result h1{margin:.5rem 0 0}.exam-result p{margin:0}.exam-result-ring{--c:var(--warning);--ring:var(--pct);aspect-ratio:1;background:radial-gradient(closest-side, var(--surface) 80%, transparent 82%), conic-gradient(var(--c) calc(var(--ring) * 1%), var(--line) 0);inline-size:11rem;font-family:var(--f-display);animation:ring-fill 1.1s var(--ease) both;border-radius:50%;place-items:center;margin-top:.5rem;display:grid}.exam-result[data-passed=true] .exam-result-ring{--c:var(--success)}.exam-result-ring strong{font-size:3rem;line-height:1;display:block}.exam-result-ring small{color:var(--muted);font-size:1rem;font-weight:700}.exam-result-ring .ex-stamp{inline-size:8.5rem}.exam-result-score{font-size:1.1rem}.exam-result-skills{inline-size:min(100%,24rem)}.exam-result-skills h2{margin:0 0 .4rem;font-size:1rem}.exam-result-skills dl{border-block-start:1px solid var(--line);margin:0}.exam-result-skills div{border-block-end:1px solid var(--line);justify-content:space-between;gap:1rem;padding:.45rem 0;display:flex}.exam-result-skills dd{text-align:end;margin:0;font-weight:700}.exam-result-skills dd small{color:var(--muted);font-weight:400;display:block}.exam-result-skills [data-passed=true] dd small{color:var(--success)}.exam-result-actions{justify-items:center;gap:.6rem;margin-top:1rem;display:grid}.exam-result-actions>button,.exam-result-actions>.button-link{justify-content:center;min-inline-size:14rem}.exam-result-actions>.button-link{border-color:var(--red);background:var(--red);color:var(--on-red)}.exam-result-stop{border-radius:var(--r);background:var(--warning-soft);color:var(--warning);padding:.75rem 1rem;font-weight:600}@media print{.exam-stage.is-running{display:none}}.exam-timeline{color:var(--muted);margin:.5rem 0 .75rem;padding-inline-start:1.25rem;font-size:.9rem}.exam-timeline time{color:var(--ink);font-variant-numeric:tabular-nums}@media print{.exam-stage.is-running{display:none}}.certificates article{max-inline-size:60rem;margin:0 auto 2rem}.certificate{border-radius:var(--r);aspect-ratio:6250/4419;background:var(--line);box-shadow:0 .75rem 2rem color-mix(in srgb, var(--shade) 18%, transparent);page:certificate;margin:0;position:relative;overflow:hidden;container-type:inline-size}.certificate img{inline-size:100%;display:block}.certificate figcaption>*{color:var(--cert-ink);font-family:var(--f-display);text-align:center;line-height:1.1;position:absolute}.certificate-name{letter-spacing:.04em;text-transform:uppercase;text-wrap:balance;font-size:2.7cqw;font-weight:700;inset:auto 19% 55.3% 8%}.certificate-id,.certificate-start,.certificate-end{white-space:nowrap;font-size:1.4cqw;font-weight:600;inset-inline:42.5% 42.9%}.certificate-id{bottom:50.5%}.certificate-start{bottom:46.2%}.certificate-end{bottom:42%}.certificate .certificate-qr{aspect-ratio:1;box-sizing:content-box;background:var(--cert-paper);inline-size:9.5%;padding:.8cqw;top:70.5%;left:9.2%;translate:-.8cqw -.8cqw}.certificate-qr img{inline-size:100%;display:block}.certificate-qr img+img{background:var(--cert-paper);border-radius:50%;inline-size:26%;padding:.25cqw;position:absolute;inset:50% auto auto 50%;translate:-50% -50%}.certificate .certificate-scan{letter-spacing:.12em;text-transform:uppercase;font-size:1cqw;font-weight:600;top:76.4%;left:20.2%}.certificate-actions{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-top:1rem;display:flex}.certificate-actions p{margin:0}.verify{gap:1.25rem;max-inline-size:60rem;margin:0 auto;padding:1.5rem 1rem 3rem;display:grid}.verify-status{border-radius:var(--r);margin:0;padding:.75rem 1rem;font-weight:600}.verify-valid{color:var(--success);background:var(--success-soft)}.verify-invalid{color:var(--error);background:var(--error-soft)}.verify-data{grid-template-columns:max-content 1fr;gap:.4rem 1rem;margin:0;display:grid}.verify-data dt{color:var(--muted)}.verify-data dd{margin:0;font-weight:600}@page certificate{size:A4 landscape;margin:0}@media print{.certificates article{max-inline-size:none;margin:0}.certificate{box-shadow:none;break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact;border-radius:0}}.program-dock{display:none}.syllabus{border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}.syllabus>summary{cursor:pointer;padding:.75rem 1rem;font-weight:700}.syllabus ol{margin:0;padding:0;list-style:none}.syllabus>ol>li{border-block-start:1px solid var(--line)}.syllabus li>details>summary{cursor:pointer;grid-template-columns:1.6rem minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.9rem;display:grid}.syllabus li>details>summary[aria-current]{font-weight:700}.syllabus-num{background:var(--red-soft);block-size:1.5rem;inline-size:1.5rem;color:var(--red-deep);border-radius:50%;place-items:center;font-size:.75rem;font-weight:700;display:grid}.is-done>.syllabus-num{background:var(--success-soft);color:var(--success)}.syllabus-count{color:var(--muted);font-size:.75rem}.syllabus-count .icon{block-size:1rem;inline-size:1rem;color:var(--success)}.syllabus details ol{padding:0 .5rem .5rem}.syllabus details li>a,.syllabus details li>span{border-radius:var(--r-sm);color:var(--ink);grid-template-columns:1rem minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.4rem .5rem;font-size:.88rem;text-decoration:none;display:grid}.syllabus details li>a:hover,.syllabus details li>a[aria-current=page]{background:var(--red-soft)}.syllabus details li>a[aria-current=page]{font-weight:600}.syllabus details li.is-locked>span{color:var(--muted)}.syllabus details .icon{block-size:1rem;inline-size:1rem}.syllabus details li.is-done .icon:last-child{color:var(--success)}@media (width<=720px){.program-visa{grid-template-columns:1fr;padding:1.25rem 1.25rem 0}.program-count{text-align:start;align-items:baseline;gap:.5rem;display:flex}.program-count b{font-size:1.8rem}.program-visa .program-mrz{margin-inline:-1.25rem;padding-inline:1.25rem}.program-now{grid-template-columns:1fr;gap:1rem;padding:1.25rem}.program-now-num{align-items:baseline;gap:.6rem;font-size:2.6rem;display:flex}.program-now-num small{margin:0}.program-now-after{grid-column:1}.program-now .program-cta{text-align:center;justify-content:center}.program-path li{inline-size:3.9rem}.program-path li+li:before{display:none}.program-stamps{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr))}.program-finish{text-align:center;grid-template-columns:1fr;justify-items:center}}@media (width<=640px){.program-dock{inset:auto .75rem calc(5.25rem + env(safe-area-inset-bottom,0px));z-index:9;border:1px solid var(--line);background:var(--surface);box-shadow:0 12px 30px -10px color-mix(in srgb, var(--shade) 45%, transparent);transition:translate var(--t-base) var(--ease);border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .5rem .5rem 1rem;display:flex;position:fixed;translate:0 calc(100% + 7rem)}.program-dock.is-shown{translate:0}.program-dock p{min-inline-size:0;color:var(--muted);margin:0;font-size:.8rem;line-height:1.25}.program-dock b{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;display:block;overflow:hidden}}@media (prefers-reduced-motion:reduce){.program-stamps a,.program-done>summary:before,.program-dock{transition:none}}:root:has(.student-home){--paper:var(--home-bg);--surface:var(--home-tile);--line:var(--home-line)}.student-home{grid-template-columns:19rem minmax(0,1fr);align-items:start;gap:1.25rem;padding-block-end:2rem;display:grid}.sh-error{grid-column:1/-1;margin:0}.sh-muted{color:var(--muted);margin:0}.sh-tile{--accent:var(--red);border:1px solid var(--line);border-radius:var(--r);background:var(--home-tile);animation:pop .4s var(--ease) both;padding:1.15rem 1.25rem}.sh-title{align-items:center;gap:.5rem;margin:0 0 .9rem;font-size:.95rem;font-weight:700;display:flex}.sh-title .icon{box-sizing:content-box;border-radius:var(--r-sm);background:color-mix(in srgb, var(--accent) 15%, transparent);block-size:1.05rem;inline-size:1.05rem;color:var(--accent-ink,var(--accent));padding:.4rem}.sh-next,.sh-continue{--wash:var(--lightningcss-light,color-mix(in srgb, var(--accent) 10%, transparent))var(--lightningcss-dark,transparent);border-color:var(--lightningcss-light,color-mix(in srgb, var(--accent) 28%, var(--line)))var(--lightningcss-dark,var(--line));background-image:linear-gradient(160deg, var(--wash), transparent 65%)}.sh-continue{--accent:var(--lvl)}.sh-continue .program-bar{background:color-mix(in srgb, var(--lvl) 18%, transparent)}.sh-continue .program-bar>span{background:var(--lvl)}.sh-month{--accent:var(--success)}.sh-notices{--accent:var(--warning)}.sh-count{background:var(--amber);block-size:1.3rem;min-inline-size:1.3rem;color:var(--on-amber);border-radius:999px;place-items:center;padding-inline:.3rem;font-size:.75rem;display:inline-grid}.sh-side{gap:1.25rem;display:grid;position:sticky;top:1rem}.sh-passport{--guilloche-ink:var(--passport-ink);--gold:var(--amber);--hair:color-mix(in srgb, var(--passport-ink) 30%, transparent);border-radius:var(--r);background-color:var(--passport-bg);background-image:radial-gradient(ellipse 90% 60% at 20% 0%, #ffffff1a, transparent 70%), radial-gradient(ellipse 120% 90% at 50% 40%, transparent 55%, #00000059), linear-gradient(170deg, transparent 40%, #0000002e), var(--guilloche);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--gold) 35%, transparent), 0 14px 30px -18px var(--shade);color:var(--passport-ink);animation:pop .4s var(--ease) both;gap:1.15rem;padding:1.25rem 1.25rem 0;display:grid;position:relative;overflow:hidden}.sh-passport:before{content:"";border:1px solid color-mix(in srgb, var(--gold) 22%, transparent);border-radius:calc(var(--r) - 3px);pointer-events:none;position:absolute;inset:6px}.sh-passport-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.sh-passport-kicker{font-family:var(--f-display);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0;font-size:.68rem;font-weight:700}.sh-emblem{fill:none;block-size:1.6rem;inline-size:1.6rem;stroke:var(--gold);stroke-width:1.3px;opacity:.9;flex:none}.sh-me{align-items:center;gap:.9rem;display:flex}.sh-avatar{border:2px solid var(--gold);border-radius:var(--r-sm);background:linear-gradient(160deg, var(--passport-ink), color-mix(in srgb, var(--passport-ink) 82%, var(--gold)));block-size:3.9rem;inline-size:3.4rem;color:var(--passport-bg);font-family:var(--f-display);box-shadow:0 6px 14px -8px var(--shade);flex:none;place-items:center;font-size:1.2rem;font-weight:800;display:grid;overflow:hidden}.sh-avatar svg{block-size:100%;inline-size:100%}.sh-me-label{letter-spacing:.14em;text-transform:uppercase;opacity:.75;margin:0;font-size:.64rem;font-weight:700}.sh-name{font-family:var(--f-display);overflow-wrap:anywhere;margin:.1rem 0 0;font-size:1.3rem;font-weight:800;line-height:1.15}.sh-level{border-top:1px dashed var(--hair);gap:.9rem;padding-block-start:1.05rem;display:grid}.sh-level-name{grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:.8rem;margin:0;display:grid}.sh-level-badge{box-sizing:border-box;border:2px solid var(--gold);outline:1px dashed color-mix(in srgb, var(--gold) 60%, transparent);outline-offset:2px;block-size:3.2rem;min-inline-size:3.2rem;color:var(--gold);font-family:var(--f-display);border-radius:50%;grid-row:span 2;place-items:center;padding-inline:.3rem;font-size:1.05rem;font-weight:800;display:grid;rotate:-8deg}.sh-level-name strong{font-family:var(--f-display);align-self:end;font-size:1.15rem}.sh-level-name span:not(.sh-level-badge){opacity:.8;align-self:start;font-size:.82rem}.sh-path{grid-template-columns:repeat(6,1fr);margin:0;padding:0;list-style:none;display:grid}.sh-path li{opacity:.65;justify-items:center;gap:.35rem;font-size:.64rem;font-weight:600;display:grid;position:relative}.sh-path li:not(:last-child):after{content:"";background:var(--hair);block-size:2px;inline-size:100%;position:absolute;top:calc(.375rem - 1px);left:50%}.sh-path li.is-passed:not(:last-child):after{background:var(--passport-ink)}.sh-path li:before{content:"";z-index:1;box-sizing:border-box;border:2px solid var(--hair);background:var(--passport-bg);border-radius:50%;block-size:.75rem;inline-size:.75rem;position:relative}.sh-path .is-passed{opacity:1}.sh-path .is-passed:before{border-color:var(--passport-ink);background:var(--passport-ink)}.sh-path .is-current{opacity:1;color:var(--gold);font-weight:800}.sh-path .is-current:before{border-color:var(--gold);background:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb, var(--gold) 30%, transparent);scale:1.35}.sh-mrz{border-top:1px solid var(--hair);font:600 .62rem / 1.6 var(--f-mono);letter-spacing:.08em;white-space:nowrap;opacity:.85;background:#0003;margin:0 -1.25rem;padding:.7rem 1.25rem .8rem;overflow:hidden}.sh-bento{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:1.25rem;display:grid}.sh-next{flex-direction:column;grid-column:span 2;display:flex}.sh-later{grid-column:1/-1}.sh-later .sh-agenda{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.75rem 1.25rem}.sh-later .sh-agenda li{border-top:0;padding-block:0}.sh-courses{grid-column:span 3}.sh-courses.is-wide{grid-column:1/-1}.sh-ticket-empty{text-align:center;border:2px dashed var(--line);border-radius:var(--r);flex:1;place-content:center;justify-items:center;gap:.6rem;padding:1.25rem;display:grid}.sh-ticket-empty .sh-muted{max-inline-size:22ch;margin:0}.sh-ticket{border:1px solid var(--success);border-left:4px solid var(--lvl);border-radius:var(--r);background:var(--home-tile);flex:1;grid-template-columns:minmax(0,1fr) 11rem;display:grid;position:relative}.sh-ticket-main{align-content:start;gap:1rem;min-inline-size:0;padding:1rem 1.15rem;display:grid}.sh-when time{font-family:var(--f-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(2.25rem,4vw,3rem);font-weight:800;line-height:1;display:block}.student-home time small{letter-spacing:0;margin-inline-start:.2em;font-size:.42em;font-weight:700}.sh-when span{color:var(--muted);margin-block-start:.3rem;font-weight:600;display:block}.sh-when span:first-letter{text-transform:uppercase}.sh-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem;margin:0}.sh-facts div{gap:.1rem;min-inline-size:0;display:grid}.sh-facts .is-wide{grid-column:1/-1}.sh-facts dt{font-size:.68rem}.sh-facts dd{margin:0;font-weight:600}.sh-facts .is-wide dd{font-family:var(--f-display);font-size:1.2rem;font-weight:700}.sh-ticket-main .warning{margin:0}.sh-ticket-stub{border-left:2px dashed var(--line);text-align:center;align-content:center;justify-items:center;gap:.5rem;padding:1rem;display:grid;position:relative}.sh-ticket-stub:before,.sh-ticket-stub:after{content:"";background:var(--home-tile);border:1px solid var(--line);border-radius:50%;block-size:20px;inline-size:20px;position:absolute;left:-11px}.sh-ticket-stub:before{border-top-color:#0000;border-left-color:#0000;top:-11px;rotate:45deg}.sh-ticket-stub:after{border-bottom-color:#0000;border-right-color:#0000;bottom:-11px;rotate:45deg}.sh-ticket-stub .ticket-status{color:var(--success)}.sh-ticket-stub button{inline-size:100%}.sh-ticket-stub:has(button) .sh-hint{display:none}.sh-hint{color:var(--muted);font-size:.85rem}.sh-ticket-stub [role=alert]{margin:0;font-size:.85rem}.sh-week{grid-column:span 2}.sh-week-head{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-block-end:1.1rem;display:flex}.sh-big{font-family:var(--f-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:0;font-size:2.4rem;font-weight:800;line-height:1}.sh-big span{color:var(--muted);font-size:.45em}.sh-week-quota{flex:9rem;gap:.4rem;min-inline-size:0;display:grid}.sh-week-quota .sh-muted{font-size:.85rem}.sh-meter{gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.sh-meter li{background:color-mix(in srgb, var(--line) 80%, transparent);border-radius:999px;flex:1;block-size:.5rem}.sh-meter .is-done{background:var(--success)}.sh-meter .is-booked{background:var(--red)}.sh-meter .is-missed{background:var(--error)}.sh-cal{grid-template-columns:repeat(6,minmax(0,1fr));gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.sh-cal li{border-radius:var(--r);background:color-mix(in srgb, var(--line) 30%, transparent);min-block-size:5.75rem;transition:background var(--t-fast) var(--ease);align-content:start;justify-items:center;gap:.35rem;padding:.55rem .3rem;display:grid}.sh-cal li:has(.sh-cal-class){background:color-mix(in srgb, var(--red) 6%, transparent)}.sh-cal li.is-past{opacity:.7}.sh-cal li.is-today{background:color-mix(in srgb, var(--red) 10%, transparent);box-shadow:inset 0 0 0 1.5px var(--red);opacity:1}.sh-cal-day{justify-items:center;gap:.2rem;line-height:1;display:grid}.sh-cal-day span{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.66rem;font-weight:700}.sh-cal-day strong{block-size:2rem;inline-size:2rem;font-family:var(--f-display);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-size:1rem;display:grid}.is-today .sh-cal-day span{color:var(--red)}.is-today .sh-cal-day strong{background:var(--red);color:var(--on-red)}.sh-cal-today{letter-spacing:.08em;text-transform:uppercase;color:var(--red);font-size:.62rem;font-weight:800}.sh-cal-class{box-sizing:border-box;border-radius:var(--r-sm);white-space:nowrap;font-variant-numeric:tabular-nums;justify-items:center;inline-size:100%;padding:.25rem .15rem;font-size:.74rem;font-weight:700;line-height:1.2;display:grid}.sh-cal-class time small{font-size:.8em;font-weight:600;display:block}.sh-cal-class:before,.sh-legend span:before{font-size:.85em;font-weight:800}.sh-cal-class.is-done,.sh-legend .is-done:before{background:var(--success-soft);color:var(--success)}.sh-cal-class.is-booked,.sh-legend .is-booked:before{background:var(--red);color:var(--on-red)}.sh-cal-class.is-missed,.sh-legend .is-missed:before{background:var(--error-soft);color:var(--error)}.sh-cal-class.is-done:before,.sh-legend .is-done:before{content:"✓"}.sh-cal-class.is-booked:before,.sh-legend .is-booked:before{content:"●";font-size:.6em}.sh-cal-class.is-missed:before,.sh-legend .is-missed:before{content:"✕"}.sh-legend{color:var(--muted);flex-wrap:wrap;gap:.25rem 1rem;margin:.85rem 0 0;font-size:.78rem;display:flex}.sh-legend span{align-items:center;gap:.35rem;display:inline-flex}.sh-legend span:before{border-radius:999px;place-items:center;block-size:1.1rem;inline-size:1.1rem;display:inline-grid}.sh-pass{--notch:.6rem;--pass-bg:color-mix(in srgb, var(--success) 7%, var(--home-tile));border-radius:var(--r-sm);background:var(--pass-bg);-webkit-mask:radial-gradient(circle var(--notch) at 0 2.35rem, transparent 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle var(--notch) at 100% 2.35rem, transparent 98%, #000) right / 51% 100% no-repeat;mask:radial-gradient(circle var(--notch) at 0 2.35rem, transparent 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle var(--notch) at 100% 2.35rem, transparent 98%, #000) right / 51% 100% no-repeat;gap:.8rem;padding:.85rem .95rem .9rem;display:grid}.sh-pass-head{border-bottom:2px dashed color-mix(in srgb, var(--success) 35%, transparent);font:700 .66rem / 1.2 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--success);justify-content:space-between;margin:0;padding-block-end:.7rem;display:flex}.sh-punch{grid-template-columns:repeat(8,minmax(0,1fr));gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.sh-punch li{aspect-ratio:1;border:1.5px dashed color-mix(in srgb, var(--muted) 45%, transparent);border-radius:50%}.sh-punch .is-present{background:color-mix(in srgb, var(--home-bg) 88%, var(--shade));box-shadow:inset 0 2px 3px color-mix(in srgb, var(--shade) 35%, transparent), 0 1px 0 #fff9;animation:punch .32s var(--ease-stamp) both;border:0}.sh-punch .is-absent{border:1.5px solid var(--error);position:relative}.sh-punch .is-absent:before,.sh-punch .is-absent:after{content:"";background:var(--error);border-radius:2px;position:absolute;inset:45% 15%;rotate:45deg}.sh-punch .is-absent:after{rotate:-45deg}.sh-punch .is-taken{border:1.5px solid var(--muted)}@keyframes punch{0%{scale:.3}}@media (prefers-reduced-motion:reduce){.sh-punch .is-present{animation:none}}.sh-pass-line{font:600 .74rem / 1.4 var(--f-mono);color:var(--muted);font-variant-numeric:tabular-nums;margin:0}.sh-agenda{margin:0;padding:0;list-style:none;display:grid}.sh-agenda li{border-top:1px solid var(--line);align-items:center;gap:.85rem;padding-block:.6rem;display:flex}.sh-agenda li:first-child{border-top:0;padding-block-start:0}.sh-date{border:1px solid var(--line);border-top:4px solid var(--red);border-radius:var(--r-sm);flex:none;place-items:center;inline-size:2.9rem;padding-block:.25rem;line-height:1.1;display:grid}.sh-date span{text-transform:uppercase;color:var(--muted);font-size:.66rem;font-weight:700}.sh-date strong{font-family:var(--f-display);font-size:1.1rem}.sh-agenda-what{min-inline-size:0;display:grid}.sh-agenda-what>*{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sh-agenda-what>span{color:var(--muted);font-size:.86rem}.sh-agenda-what time small{font-size:.85em;font-weight:400}.sh-wait{background:var(--warning-soft);color:var(--warning);white-space:nowrap;border-radius:4px;margin-inline-start:auto;padding:.1rem .5rem;font-size:.75rem;font-weight:700}.sh-rows{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.sh-row{border:1px solid var(--line);border-left:4px solid var(--lvl);border-radius:var(--r-sm);grid-template-columns:4rem minmax(0,1fr) minmax(0,1.3fr) 8.5rem auto;align-items:center;gap:.3rem 1rem;padding:.65rem .85rem;display:grid}.sh-row-level{font-family:var(--f-display);color:var(--lvl);white-space:nowrap;font-weight:800}.sh-row h3{margin:0;font-size:.98rem}.sh-row-next,.sh-row-attended{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.86rem}.sh-row-actions{gap:1rem;font-weight:600;display:flex}.sh-notices ul{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.sh-notices li{border-left:3px solid var(--warning);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--warning-soft);padding:.5rem .75rem;font-size:.88rem}.sh-notices li.is-cancelled{border-left-color:var(--error);background:var(--error-soft)}@media (width<=1280px){.sh-bento{grid-template-columns:repeat(2,minmax(0,1fr))}.sh-next{grid-row:auto}.sh-courses,.sh-notices{grid-column:1/-1}.sh-row{grid-template-columns:4rem minmax(0,1fr) auto}.sh-row-next,.sh-row-attended{grid-column:2}.sh-row-actions{grid-area:1/3/span 3}}@media (width<=960px){.student-home{grid-template-columns:minmax(0,1fr)}.sh-side{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;position:static}}@media (width<=620px){.sh-side,.sh-bento{grid-template-columns:minmax(0,1fr)}.sh-bento>*{grid-area:auto}.sh-side{display:contents}.sh-bento{order:1}.sh-passport{order:2}.sh-month{order:3}.sh-cal{gap:.25rem}.sh-cal li{min-block-size:5rem;padding:.45rem .15rem}.sh-cal-day strong{block-size:1.7rem;inline-size:1.7rem}.sh-cal-class{font-size:.66rem}.sh-ticket{grid-template-columns:minmax(0,1fr)}.sh-ticket-stub{border-left:0;border-top:2px dashed var(--line)}.sh-ticket-stub:before,.sh-ticket-stub:after{display:none}.sh-row{grid-template-columns:minmax(0,1fr) auto}.sh-row-level,.sh-row h3,.sh-row-next,.sh-row-attended{grid-column:1}.sh-row-actions{flex-direction:column;grid-area:1/2/span 4;align-items:end}}.report-controls{flex-wrap:wrap;align-items:end;gap:.75rem 1rem;margin-bottom:1rem;display:flex}.report-controls label{gap:.25rem;display:grid}.report-controls p{flex-basis:100%;margin:0}.report-sheet{gap:1.25rem;display:grid}.report-head{border-bottom:2px solid var(--red);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;display:flex}.report-head h1,.report-head p{margin:0}.report-head>div{text-align:right;gap:.2rem;display:grid}.report-totals{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.75rem;margin:0;display:grid}.report-totals>div{border:1px solid var(--line);border-radius:var(--r-sm);padding:.6rem .8rem}.report-totals dt{color:var(--muted);font-size:.8rem}.report-totals dd{font-family:var(--f-display);margin:0;font-size:1.5rem;font-weight:700}.report-foot p{margin:.2rem 0;font-size:.8rem}@media print{:root,:root[data-theme=dark]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--surface)}.topbar,.no-print{display:none!important}.page{padding:0}.report-sheet{box-shadow:none;border:0;padding:0}.report tr{break-inside:avoid}}.lesson{gap:1.25rem;max-inline-size:76rem;margin-inline:auto;display:grid}.lesson-bar{grid-template-columns:auto auto minmax(0,1fr) auto auto;align-items:center;gap:.75rem 1.25rem;display:grid}.lesson-bar>a{border:1px solid var(--line);block-size:2.5rem;inline-size:2.5rem;color:var(--ink);transition:border-color var(--t-fast);border-radius:50%;place-items:center;display:grid}.lesson-bar>a:hover{border-color:var(--muted)}.lesson-bar .icon{block-size:1.15rem;inline-size:1.15rem}.lesson-where{margin:0;line-height:1.2;display:grid}.lesson-where span{font-family:var(--f-display);letter-spacing:.12em;text-transform:uppercase;color:var(--red);font-size:.7rem;font-weight:700}.lesson-where strong{font-family:var(--f-display);font-size:1.05rem}.lesson-steps{justify-content:center;align-items:center;margin:0;padding:0;list-style:none;display:flex}.lesson-steps li{align-items:center;display:flex}.lesson-steps li+li:before{content:"";background:var(--line);block-size:2px;inline-size:clamp(.4rem,1.4vw,1.1rem)}.lesson-steps li.is-done+li:before{background:var(--success)}.lesson-steps a,.lesson-steps span{border:1.5px solid var(--line);background:var(--surface);block-size:2.2rem;inline-size:2.2rem;color:var(--muted);transition:transform var(--t-base) var(--ease-stamp), background var(--t-fast);border-radius:50%;place-items:center;display:grid}.lesson-steps .icon{block-size:1rem;inline-size:1rem}.lesson-steps .is-done a{border-color:var(--success);background:var(--success-soft);color:var(--success)}.lesson-steps .is-locked span{opacity:.6;border-style:dashed}.lesson-steps a:hover{transform:translateY(-2px)}.lesson-steps a[aria-current=step]{border-color:var(--red);background:var(--red);color:var(--on-red);box-shadow:0 6px 14px -6px var(--red);transform:scale(1.15)}.lesson-solve{border-style:dashed;place-items:center;padding-inline:.7rem;display:grid}.lesson-syllabus-open{align-items:center;gap:.45rem;display:inline-flex}.lesson-stage{grid-template-columns:minmax(13rem,17rem) minmax(0,1fr);align-items:start;gap:clamp(1rem,3vw,2.5rem);display:grid}.lesson-coach{gap:.25rem;display:grid;position:sticky;inset-block-start:1rem}.lesson-coach .glo-stage,.lesson-coach .glo-sticker{aspect-ratio:1;inline-size:100%;margin-block-end:-.5rem}.lesson-coach .glo-say-line{font-size:clamp(1.5rem,2.3vw,2.1rem);line-height:1.05}.lesson-coach .glo-say-sub{margin-block-start:.7rem;font-size:.95rem}.lesson-card{border:1px solid var(--line);border-radius:calc(var(--r) * 2);background:var(--surface);min-inline-size:0;box-shadow:0 30px 60px -45px color-mix(in srgb, var(--shade) 45%, transparent);animation:pop .45s var(--ease) both;gap:1.25rem;padding:clamp(1.1rem,2.4vw,2rem);display:grid}.lesson-head{align-items:center;gap:1rem;display:flex}.lesson-head h1{margin:0;font-size:clamp(1.35rem,2.2vw,1.85rem)}.lesson-kind{font-family:var(--f-display);letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin:0 0 .15rem;font-size:.72rem;font-weight:700}.lesson-head{--k:var(--red)}.lesson-head .lesson-kind{color:var(--k)}.lesson-kind span{color:var(--muted)}.kind-badge{--k:var(--red);border-radius:var(--r);background:color-mix(in srgb, var(--k) 12%, transparent);block-size:2.75rem;inline-size:2.75rem;color:var(--k);flex:none;place-items:center;display:grid}.kind-badge .icon{block-size:48%;inline-size:48%}.kind-badge.is-sm{border-radius:var(--r-sm);block-size:1.6rem;inline-size:1.6rem}[data-kind=intro]{--k:var(--l-pa1)}[data-kind=grammar]{--k:var(--l-b2)}[data-kind=reading]{--k:var(--l-a1)}[data-kind=exercise]{--k:var(--l-b1)}[data-kind=karaoke]{--k:var(--l-c1)}[data-kind=quiz]{--k:var(--warning)}.lesson-doc{border:1px solid var(--line);border-radius:var(--r);color:var(--ink);transition:border-color var(--t-fast), background var(--t-fast);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.9rem 1.1rem;text-decoration:none;display:grid}.lesson-doc:hover{border-color:var(--muted);background:var(--paper)}.lesson-doc strong,.lesson-doc small{display:block}.lesson-doc small{color:var(--muted)}.lesson-doc>.icon{block-size:1.25rem;inline-size:1.25rem;color:var(--muted)}.lesson-doc:hover>.icon:last-child{color:var(--red)}.study-video{aspect-ratio:16/9;border-radius:calc(var(--r) * 1.5);background:var(--shade);overflow:hidden}.study-video iframe{border:0;block-size:100%;inline-size:100%}.study-body{border-inline-start:3px solid var(--red);border-radius:0 var(--r) var(--r) 0;background:var(--paper);white-space:pre-line;max-inline-size:68ch;padding:1.1rem 1.4rem;font-size:1.05rem;line-height:1.75}.grammar{border:1px solid var(--line);border-block-start:4px solid var(--k);border-radius:calc(var(--r) * 1.5);background:var(--surface);gap:.9rem;max-inline-size:72ch;padding:clamp(1.1rem,3vw,2rem);font-size:1.02rem;line-height:1.7;display:grid}.grammar>*{margin:0}.grammar h2{color:var(--ink);align-items:center;gap:.6rem;margin-block-start:.9rem;font-size:clamp(1.15rem,2vw,1.4rem);display:flex}.grammar h2:before{content:"";background:var(--k);border-radius:99px;flex:none;block-size:1.3em;inline-size:.35rem}.grammar>h2:first-child{margin-block-start:0}.grammar h3{color:var(--k);font-size:1.02rem}.grammar strong{color:var(--k)}.gr-list{padding-inline-start:1.2rem}.gr-list li::marker{color:var(--k)}.gr-examples,.gr-check,.gr-vocab{gap:.5rem;padding:0;list-style:none;display:grid}.gr-examples li{border-inline-start:3px solid var(--k);border-radius:0 var(--r-sm) var(--r-sm) 0;background:color-mix(in srgb, var(--k) 7%, var(--surface));padding:.55rem .9rem;display:grid}.gr-examples span{font-weight:600}.gr-examples small,.gr-vocab small{color:var(--muted);font-size:.9rem}.gr-formula{border:1px dashed var(--k);border-radius:var(--r);background:color-mix(in srgb, var(--k) 6%, var(--surface));flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem;padding:1rem;display:flex}.gr-formula b{background:var(--k);color:var(--surface);font-family:var(--f-display);border-radius:99px;padding:.3rem .7rem;font-size:.9rem;font-weight:700}.gr-formula span{color:var(--k);font-weight:700}.gr-note{border-radius:var(--r);background:var(--warning-soft);gap:.75rem;padding:.8rem 1rem;display:flex}.gr-note>.icon{block-size:1.25rem;inline-size:1.25rem;color:var(--warning);flex:none;margin-block-start:.25rem}.gr-note p{margin:0}.gr-check li{border-radius:var(--r-sm);background:var(--success-soft);align-items:center;gap:.6rem;padding:.45rem .8rem;display:flex}.gr-check li[data-ok=false]{background:var(--error-soft)}.gr-check small{color:var(--muted);font-size:.9rem}.gr-check li[data-ok=false] [lang]{text-decoration:line-through;-webkit-text-decoration-color:var(--error);text-decoration-color:var(--error)}.gr-check .icon{block-size:1.1rem;inline-size:1.1rem;color:var(--success);flex:none}.gr-check li[data-ok=false] .icon{color:var(--error)}.gr-table{border:1px solid var(--line);border-radius:var(--r);overflow-x:auto}.gr-table:focus-visible{outline:2px solid var(--k);outline-offset:2px}.gr-table table{border-collapse:collapse;inline-size:100%;font-size:.95rem}.gr-table th,.gr-table td{text-align:start;vertical-align:top;padding:.5rem .8rem}.gr-table th{background:var(--k);color:var(--surface);font-family:var(--f-display);font-size:.85rem}.gr-table tbody tr:nth-child(2n){background:var(--paper)}.gr-vocab{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr))}.gr-vocab li{border:1px solid var(--line);border-block-end:3px solid var(--k);border-radius:var(--r);background:var(--surface);transition:transform var(--t-fast) var(--ease);gap:.1rem;padding:.75rem .85rem;display:grid}.gr-vocab li:hover{transform:translateY(-2px)}.gr-vocab:has(.has-img){grid-template-columns:repeat(auto-fill,minmax(min(9.5rem,50% - .25rem),1fr))}.gr-vocab:has(.has-img) li{align-content:start}.gr-vocab li.has-img{gap:.25rem;padding:.5rem}.gr-vocab li.has-img img{aspect-ratio:1;border-radius:var(--r-sm);background:var(--line);object-fit:cover;block-size:auto;inline-size:100%;margin-block-end:.3rem}.gr-vocab li.has-img span,.gr-vocab li.has-img small{padding-inline:.3rem}.gr-vocab span{font-family:var(--f-display);font-weight:700}@media (prefers-reduced-motion:reduce){.gr-vocab li{transition:none}}.study-done{color:var(--success);align-items:center;gap:.35rem;margin-inline-end:auto;font-weight:600;display:inline-flex}.study-done .icon{block-size:1.1rem;inline-size:1.1rem}.lesson-go{min-block-size:3rem;box-shadow:0 12px 22px -14px var(--red);justify-content:center;align-items:center;gap:.5rem;padding-inline:1.4rem;font-size:1rem;display:inline-flex}a.lesson-go{border:1px solid var(--red);border-radius:var(--r-sm);background:var(--red);color:var(--on-red)}a.lesson-go:hover{border-color:var(--red-deep);background:var(--red-deep)}.lesson-go .icon{block-size:1.1rem;inline-size:1.1rem;transition:translate var(--t-base) var(--ease-stamp)}.lesson-go:hover .icon{translate:3px}.ex-actions{border-block-start:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;padding-block-start:1rem;display:flex}ol.syllabus{background:0 0;border:0;margin:0;padding:0;list-style:none}ol.syllabus>li+li{border-block-start:1px solid var(--line)}ol.syllabus details li>a,ol.syllabus details li>span{grid-template-columns:auto minmax(0,1fr) auto;gap:.65rem}ol.syllabus details .kind-badge .icon{block-size:55%;inline-size:55%}.exercise{gap:1.25rem;display:grid}.ex-rule{background:var(--warning-soft);color:var(--warning);border-radius:999px;justify-self:start;margin:0;padding:.4rem .8rem;font-size:.85rem;font-weight:600}.ex-track{align-items:center;gap:1rem;display:flex}.ex-count{font-family:var(--f-display);color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:.8rem;font-weight:700}.ex-dots{flex:1;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.ex-dots li{flex:1}.ex-dots button{min-block-size:0;inline-size:100%;box-shadow:none;background:0 0;border:0;padding:.45rem 0;display:block}.ex-dots button:before{content:"";background:var(--line);block-size:.35rem;transition:background var(--t-base);border-radius:999px;display:block}.ex-dots button.is-answered:before{background:var(--ink)}.ex-dots button.is-empty:before{background:var(--amber)}.ex-dots button[aria-current=step]:before{background:var(--red)}.ex-dots button:hover:not(:disabled){background:0 0}.ex-q{min-inline-size:0;animation:lesson-in .35s var(--ease) both;border:0;gap:1rem;margin:0;padding:0;display:grid}.ex-q legend{float:left;inline-size:100%;padding:0}.ex-q legend h2{outline:none;margin:0;font-size:clamp(1.2rem,2vw,1.5rem);font-weight:600;line-height:1.45}@keyframes lesson-in{0%{opacity:0;translate:14px}}.choices{grid-template-columns:repeat(auto-fit,minmax(min(15rem,100%),1fr));gap:.65rem;display:grid}label.choice{border:1.5px solid var(--line);border-radius:calc(var(--r) * 1.5);background:var(--surface);min-block-size:3.6rem;box-shadow:0 3px 0 var(--line);cursor:pointer;transition:border-color var(--t-fast), background var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast);align-items:center;gap:.9rem;padding:.7rem 1rem;font-size:1rem;font-weight:500;display:flex;position:relative}label.choice:hover{border-color:var(--muted);transform:translateY(-1px)}label.choice:active{box-shadow:0 1px 0 var(--line);transform:translateY(2px)}.choice input{opacity:0;pointer-events:none;position:absolute}.choice:has(input:focus-visible){outline:3px solid var(--red);outline-offset:2px}.choice-key{border-radius:var(--r-sm);background:var(--paper);block-size:2rem;inline-size:2rem;font-family:var(--f-display);color:var(--muted);transition:background var(--t-fast), color var(--t-fast);flex:none;place-items:center;font-size:.85rem;font-weight:800;display:grid}.choice-key .icon{block-size:1.1rem;inline-size:1.1rem}.choice:has(input:checked){border-color:var(--red);background:var(--red-soft);box-shadow:0 3px 0 var(--red)}.choice:has(input:checked) .choice-key{background:var(--red);color:var(--on-red);animation:key-pop .35s var(--ease-stamp)}:is(.choice.is-right,.choice.is-right:has(input:checked)){border-color:var(--success);background:var(--success-soft);box-shadow:0 3px 0 var(--success)}.choice.is-right .choice-key{background:var(--success);color:var(--surface)}:is(.choice.is-wrong,.choice.is-wrong:has(input:checked)){border-color:var(--error);background:var(--error-soft);box-shadow:0 3px 0 var(--error)}.choice.is-wrong .choice-key{background:var(--error);color:var(--surface)}fieldset:disabled .choice{cursor:default;transform:none}.choices.is-tf{grid-template-columns:1fr 1fr}.is-tf label.choice{min-block-size:7rem;font-family:var(--f-display);flex-direction:column;justify-content:center;font-size:1.1rem;font-weight:700}.is-tf .choice-key{border-radius:50%;block-size:2.75rem;inline-size:2.75rem}@keyframes key-pop{40%{scale:1.2}}.blanks{white-space:pre-line;margin:0;font-size:1.15rem;line-height:2.6}.blanks input{border:0;border-block-end:2px solid var(--red);border-radius:var(--r-sm) var(--r-sm) 0 0;background:var(--red-soft);min-block-size:0;inline-size:auto;min-inline-size:5rem;font:inherit;text-align:center;margin-inline:.25rem;padding:.1rem .5rem;font-weight:600;line-height:1.4}.blanks input:focus-visible{background:color-mix(in srgb, var(--red) 20%, var(--surface));outline:none}.blanks input.is-right{border-color:var(--success);background:var(--success-soft)}.blanks input.is-wrong{border-color:var(--error);background:var(--error-soft)}.word-bank{flex-wrap:wrap;gap:.5rem;display:flex}.word-bank button{border:1.5px solid var(--line);background:var(--surface);min-block-size:0;box-shadow:0 2px 0 var(--line);color:var(--ink);border-radius:999px;padding:.35rem .95rem;font-weight:600}.word-bank button:hover:not(:disabled){border-color:var(--red);background:var(--surface)}.word-bank button.is-used{opacity:.4;box-shadow:none}.ex-audio{border-radius:calc(var(--r) * 1.5);background:var(--paper);align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.ex-audio>div{flex:1;gap:.4rem;display:grid}.ex-audio p{margin:0;font-weight:600}.ex-audio button{border-radius:50%;place-items:center;block-size:3.25rem;inline-size:3.25rem;padding:0;display:grid;position:relative}.ex-audio button .icon{block-size:1.4rem;inline-size:1.4rem}.ex-audio.is-playing button:before,.ex-audio.is-playing button:after{content:"";border:2px solid var(--red);animation:audio-wave 1.4s var(--ease) infinite;border-radius:50%;position:absolute;inset:-2px}.ex-audio.is-playing button:after{animation-delay:.7s}@keyframes audio-wave{to{opacity:0;scale:1.7}}.ex-audio-bar{background:var(--line);border-radius:999px;block-size:.3rem;display:block;overflow:hidden}.ex-audio-bar span{background:var(--red);block-size:100%;display:block}.ex-warn{border-inline-start:3px solid var(--amber);border-radius:var(--r-sm);background:var(--warning-soft);color:var(--ink);animation:lesson-in .3s var(--ease) both;flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.ex-warn p{margin:0}.ex-warn strong{color:var(--warning)}.ex-nav{border-block-start:1px solid var(--line);border-radius:0 0 calc(var(--r) * 2) calc(var(--r) * 2);background:var(--surface);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;margin-inline:calc(-1*clamp(1.1rem,2.4vw,2rem));padding:1rem clamp(1.1rem,2.4vw,2rem);display:grid;position:sticky;inset-block-end:0}.ex-nav [role=alert]{grid-column:1/-1;margin:0}.ex-prev{align-items:center;gap:.35rem;min-block-size:3rem;display:inline-flex}.ex-prev .icon{block-size:1.1rem;inline-size:1.1rem}.ex-hint{text-align:center;color:var(--muted);margin:0;font-size:.78rem}.ex-hint kbd{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);font:inherit;border-block-end-width:2px;padding:.05rem .4rem}@property --ring{syntax:"<number>";inherits:false;initial-value:0}.ex-score{border-radius:calc(var(--r) * 1.5);background:var(--paper);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1.5rem;padding:1.25rem 1.5rem;display:grid}.ex-score.is-right{background:var(--success-soft)}.ex-ring{--c:var(--warning);--ring:var(--pct);aspect-ratio:1;background:radial-gradient(closest-side, var(--surface) 78%, transparent 80%), conic-gradient(var(--c) calc(var(--ring) * 1%), var(--line) 0);inline-size:8rem;font-family:var(--f-display);animation:ring-fill 1.1s var(--ease) both;border-radius:50%;place-items:center;font-size:1.7rem;font-weight:800;display:grid;position:relative}.is-right .ex-ring{--c:var(--success)}@keyframes ring-fill{0%{--ring:0}}.ex-stamp{inline-size:82%;animation:lesson-stamp .6s .8s var(--ease-stamp) both;rotate:-10deg}@keyframes lesson-stamp{0%{opacity:0;scale:1.8}}.ex-score-text p{margin:0 0 .35rem}.ex-score-pct strong{font-family:var(--f-display);font-size:1.35rem}.ex-review h2{margin:0 0 .75rem;font-size:1.05rem}.ex-review ol{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.ex-review li{border:1px solid var(--line);border-radius:calc(var(--r) * 1.5);gap:.6rem;padding:1rem;display:grid}.ex-review legend{gap:.6rem;margin-block-end:.75rem;font-weight:600;display:flex}.ex-review .ex-q{animation:none}.ex-num{background:var(--paper);block-size:1.6rem;inline-size:1.6rem;font-family:var(--f-display);border-radius:50%;flex:none;place-items:center;font-size:.8rem;display:grid}.feedback{border-inline-start:3px solid var(--success);border-radius:var(--r-sm);background:var(--success-soft);padding:.6rem .8rem}.feedback.is-wrong{border-inline-start-color:var(--error);background:var(--error-soft)}.feedback p{flex-wrap:wrap;align-items:center;gap:.35rem;margin:0;display:flex}.feedback .icon{block-size:1.1rem;inline-size:1.1rem}.feedback .feedback-why{margin-block-start:.35rem}.feedback-blanks{gap:.4rem;margin:.5rem 0 0;padding-inline-start:1.1rem;display:grid}.feedback-blanks li{flex-direction:column;display:flex}.feedback-blanks del{color:var(--error)}.blank-fix{color:var(--success);margin-inline-end:.25rem;font-weight:700;text-decoration:none}@media (width<=860px){.lesson-bar{grid-template-columns:auto minmax(0,1fr) auto auto}.lesson-steps{grid-area:2/1/auto/-1}.lesson-syllabus-open{padding-inline:.7rem}.lesson-syllabus-open span,.ex-prev span,.ex-hint{display:none}.lesson-stage{grid-template-columns:minmax(0,1fr);gap:.5rem}.lesson-coach{grid-template-columns:6rem minmax(0,1fr);align-items:center;gap:.5rem;position:static}.lesson-coach .glo-stage,.lesson-coach .glo-sticker{margin:-.75rem 0 -1rem}.lesson-coach .glo-say-line{font-size:1.2rem}.lesson-coach .glo-say-sub{margin-block-start:.3rem;font-size:.85rem}.ex-nav{grid-template-columns:auto minmax(0,1fr);padding-block-end:calc(1rem + env(safe-area-inset-bottom,0px))}.ex-nav .lesson-go{inline-size:100%}.ex-score{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center}.ex-actions>*{flex:1}}@media (width<=640px){.ex-nav{border-radius:0;padding-block-end:1rem;inset-block-end:calc(3.9rem + env(safe-area-inset-bottom,0px))}}@media (prefers-reduced-motion:reduce){.lesson-card,.ex-q,.ex-ring,.exam-result-ring,.ex-warn,.ex-stamp,.ex-audio.is-playing button:before,.ex-audio.is-playing button:after{animation:none}.choice:has(input:checked) .choice-key{animation:none}.lesson-steps a,label.choice,.lesson-doc{transition:none}}.sh-continue{grid-column:1/-1}.sh-continue-body{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.sh-continue-body>div{flex:18rem;gap:.35rem;display:grid}.sh-continue-body .program-bar{margin:.35rem 0 0}.sh-continue-lesson{margin:0;font-size:1.05rem}.sh-stamps{gap:.5rem;display:grid}.sh-stamps p{opacity:.9;margin:0;font-size:.82rem}.sh-stamps ol{flex-wrap:wrap;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.sh-stamps li{background:color-mix(in srgb, var(--passport-ink,var(--ink)) 18%, transparent);border-radius:50%;place-items:center;block-size:.8rem;inline-size:.8rem;display:grid}.sh-stamps li.is-done{background:var(--amber);animation:stamp-in var(--t-base) var(--ease-stamp) both}.sh-stamps li.is-done:after{content:"✓";color:var(--on-amber);font-size:.5rem;font-weight:900}@media (prefers-reduced-motion:reduce){.sh-stamps li.is-done{animation:none}}.sh-prep{align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.sh-prep .icon{block-size:1rem;inline-size:1rem}.glo-stage{cursor:pointer;-webkit-tap-highlight-color:transparent;position:relative}.glo-stage canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.glo-sticker{object-fit:contain;animation:pop .5s var(--ease) both;display:block}.glo-say-line{font-family:var(--f-display);letter-spacing:-.04em;text-wrap:balance;margin:0;font-weight:800;line-height:.98}.glo-say .w{overflow-clip-margin:.1em;vertical-align:top;margin-bottom:-.24em;padding-bottom:.24em;display:inline-block;overflow:clip}.glo-say .w>span{animation:glo-word .7s calc(var(--i) * 70ms) var(--ease) both;display:inline-block}.glo-say .hi{color:var(--red);-webkit-text-decoration:underline wavy var(--amber);text-decoration:underline wavy var(--amber);-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-underline-offset:.14em;text-decoration-thickness:.06em}.glo-say .w>.hi{animation:glo-word .7s calc(var(--i) * 70ms) var(--ease) both, glo-underline .5s calc(var(--i) * 70ms + .45s) var(--ease) both}@keyframes glo-underline{0%{text-decoration-color:#0000}}.glo-say-sub{max-width:34ch;color:var(--muted);animation:rise .6s .35s var(--ease) both;margin:1.3rem 0 0;font-size:1.05rem}@keyframes glo-word{0%{translate:0 110%}}.hello-pop{z-index:50;pointer-events:none;font-family:var(--f-display);white-space:nowrap;color:var(--ink);animation:hello-pop 1.1s var(--ease) both;font-size:1.1rem;font-weight:800;position:fixed;translate:-50% -50%}.hello-pop:nth-child(odd){color:var(--red)}.hello-ring{z-index:50;aspect-ratio:1;border:2px solid var(--red);pointer-events:none;inline-size:24px;animation:hello-ring .6s var(--ease) forwards;border-radius:50%;position:fixed;translate:-50% -50%}@keyframes hello-pop{0%{opacity:0;scale:.3}25%{opacity:1;scale:1.1}to{opacity:0;scale:.9;transform:translate(var(--x), var(--y)) rotate(var(--r))}}@keyframes hello-ring{to{opacity:0;scale:7}}.sh-hero{--glo-size:clamp(8rem, 11vw, 10.5rem);--hero-glow:var(--lightningcss-light,color-mix(in srgb, var(--glo-body) 16%, transparent))var(--lightningcss-dark,transparent);--hero-amber:var(--lightningcss-light,color-mix(in srgb, var(--amber) 28%, transparent))var(--lightningcss-dark,transparent);--guilloche-ink:var(--lightningcss-light,var(--red))var(--lightningcss-dark,color-mix(in srgb, var(--red) 40%, transparent));grid-column:1/-1;grid-template-columns:var(--glo-size) minmax(0, 1fr);border:1px solid var(--line);border-radius:var(--r);background-color:var(--home-tile);background-image:radial-gradient(ellipse 32% 95% at 9% 100%, var(--hero-glow), transparent 70%), radial-gradient(ellipse 30% 90% at 100% 0%, var(--hero-amber), transparent 70%), var(--guilloche);animation:pop .4s var(--ease) both;align-items:center;gap:.5rem clamp(1rem,2.5vw,2rem);padding:1rem clamp(1.25rem,3vw,2.5rem) 1rem .75rem;display:grid}.sh-hero .glo-stage,.sh-hero .glo-sticker{inline-size:var(--glo-size);block-size:var(--glo-size)}.sh-hero-text{justify-items:start;gap:.85rem;min-inline-size:0;display:grid}.sh-hero h1{letter-spacing:-.03em;overflow-wrap:anywhere;margin:0;font-size:clamp(1.6rem,2.8vw,2.4rem);line-height:1.05}.sh-bubble{border:1px solid color-mix(in srgb, var(--red) 28%, var(--line));background:var(--surface);max-inline-size:40rem;box-shadow:0 6px 18px -12px var(--shade);border-radius:1rem;gap:.3rem;padding:.75rem 1.1rem .85rem;display:grid;position:relative}.sh-bubble:before{content:"";background:inherit;border-left:inherit;border-bottom:inherit;border-radius:0 0 0 3px;block-size:14px;inline-size:14px;position:absolute;top:50%;left:-8px;translate:0 -50%;rotate:45deg}.sh-glo-kicker{font-family:var(--f-display);letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin:0;font-size:.7rem;font-weight:700}.sh-hero .glo-say-line{letter-spacing:-.02em;margin:0;font-size:clamp(1.1rem,1.7vw,1.45rem);line-height:1.15}.sh-hero-action{flex-wrap:wrap;align-items:center;gap:.6rem 1rem;display:flex}.sh-hero-action p{color:var(--muted);margin:0}.empty-state .glo-sticker{block-size:7rem;inline-size:7rem;margin-inline:auto}.empty-state:has(.glo-sticker){text-align:center}@media (width<=620px){.sh-hero{--glo-size:6.5rem;align-items:start;padding:1rem 1rem 1.1rem .25rem}.sh-hero .glo-say-line{font-size:1.05rem}}.grade-launch{justify-self:start;align-items:center;gap:.5rem;display:inline-flex}.grade-launch .icon,.skill-name .icon,.grade-level .icon,.grade-legend .icon,.level-picker .icon,.note-toggle .icon{flex:none;width:1.1rem;height:1.1rem}.skill-name,.grade-level{align-items:center;gap:.35rem;display:inline-flex}dialog.grade-sheet{grid-template-rows:auto auto minmax(0,1fr) auto;width:min(64rem,96vw);max-width:none;max-height:92dvh;padding:0;display:none}dialog.grade-sheet[open]{display:grid}.grade-sheet-head{justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem .75rem;display:flex}.grade-sheet-head h2{margin:.1rem 0 0;font-size:1.2rem}.grade-legend{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;padding:0 1.5rem .75rem;font-size:.85rem;font-weight:600;display:flex}.grade-legend span{align-items:center;gap:.35rem;display:inline-flex}.grade-legend .muted{font-weight:400}.level-needs_practice .icon{color:var(--warning)}.level-strong .icon{color:var(--success)}.grade-sheet-body{padding:0 1.5rem;overflow:auto}.grade-table{border-collapse:separate;border-spacing:0;width:100%}.grade-table thead th{z-index:2;background:var(--surface);text-align:center;white-space:nowrap;border-bottom:1px solid var(--line);padding:.75rem .5rem;font-size:.85rem;position:sticky;top:0}.grade-table thead th:first-child,.grade-table tbody th{text-align:left}.grade-table tbody th{min-width:10rem;padding:.4rem .75rem .4rem .5rem;font-weight:600}.grade-table td{text-align:center;padding:.35rem .4rem}.grade-table tbody th,.grade-table td{border-bottom:1px solid var(--line)}.grade-all th,.grade-all td{background:var(--paper)}.grade-table tr.is-dirty th{box-shadow:inset 3px 0 var(--amber)}.level-picker{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);display:inline-flex;overflow:hidden}.level-picker label{cursor:pointer;width:2.25rem;height:2.25rem;color:var(--muted);transition:background var(--t-fast) var(--ease);place-items:center;display:grid;position:relative}.level-picker label+label{border-left:1px solid var(--line)}.level-picker label:hover{background:var(--paper)}.level-picker label:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:-2px}.level-picker label:has(input:checked){color:var(--ink);background:var(--paper);box-shadow:inset 0 0 0 2px var(--ink)}.level-picker .level-needs_practice:has(input:checked){background:var(--warning-soft);box-shadow:inset 0 0 0 2px var(--warning)}.level-picker .level-strong:has(input:checked){background:var(--success-soft);box-shadow:inset 0 0 0 2px var(--success)}.level-picker label:not(:has(input:checked)) .icon{color:inherit}button.note-toggle{border-radius:var(--r-sm);border-color:var(--line);width:2.25rem;min-height:2.25rem;color:var(--muted);box-shadow:none;background:0 0;place-items:center;padding:0;display:inline-grid}button.note-toggle.has-note,button.note-toggle[aria-expanded=true]{color:var(--ink);background:var(--paper);border-color:var(--ink)}.grade-note-row td{text-align:left;padding:.5rem .5rem .75rem}.grade-note-row label{margin-bottom:.25rem;font-weight:600;display:block}.grade-note-row textarea{box-sizing:border-box;width:100%}.grade-note-row .muted{font-size:.8rem}.grade-sheet-foot{padding:.9rem 1.5rem calc(.9rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;display:flex}.grade-sheet-foot p,.grade-sheet-foot .actions{margin:0}@media (width<=720px){dialog.grade-sheet{border-radius:12px 12px 0 0;width:100vw;max-height:94dvh;margin:auto 0 0}.grade-sheet-head,.grade-legend,.grade-sheet-body,.grade-sheet-foot{padding-inline:1rem}.grade-table thead{display:none}.grade-table,.grade-table tbody{display:block}.grade-table tbody tr{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:.4rem .75rem;padding:.75rem 0;display:grid}.grade-table tbody th,.grade-table td{background:0 0;border:0;min-width:0;padding:0}.grade-table tr.grade-all{background:var(--paper);border-radius:var(--r);border:0;margin:.75rem 0 0;padding:.75rem}.grade-table tr.is-dirty th{box-shadow:none}.grade-table tr.is-dirty{box-shadow:inset 3px 0 var(--amber);padding-left:.75rem}.grade-table td[data-label]{grid-column:1/-1;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.grade-table td[data-label]:before{content:attr(data-label);font-size:.9rem}.grade-table tbody tr>td:last-child:not([data-label]){grid-area:1/2}.grade-table tr.grade-note-row td{grid-column:1/-1;display:block}.level-picker label{width:2.75rem;height:2.5rem}}.history-list li{flex-wrap:wrap}.grade-summary-wrap{flex-basis:100%}.grade-summary ul{flex-wrap:wrap;gap:.4rem .5rem;margin:0;padding:0;list-style:none;display:flex}.grade-summary li{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);align-items:center;gap:.6rem;padding:.3rem .6rem;font-size:.85rem;display:inline-flex}.grade-summary .grade-level{font-weight:700}.grade-summary li.level-needs_practice .grade-level{color:var(--warning)}.grade-summary li.level-strong .grade-level{color:var(--success)}.grade-summary .skill-name .icon{color:var(--muted)}.grade-summary p{margin:.4rem 0 0}@media (prefers-reduced-motion:reduce){.level-picker label{transition:none}}.profile-card{flex-wrap:wrap;align-items:center;gap:1.25rem;margin-block:1rem 1.5rem;display:flex}.profile-card p{margin:0}.profile-card .user-avatar{flex:none}.profile-name{font:700 1.25rem var(--f-display)}.profile-prefs{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);gap:.75rem;max-width:34rem;padding:1rem 1.25rem;display:grid}.profile-prefs legend{font-weight:700}.profile-prefs>p{margin:0}.profile-prefs label{min-height:var(--control-h);cursor:pointer;align-items:flex-start;gap:.75rem;display:flex}.profile-prefs input{block-size:1.1rem;inline-size:1.1rem;accent-color:var(--red);margin-top:.3rem}.profile-prefs label>span{display:grid}.profile-prefs .muted{font-weight:400}.spk-list{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.spk-phrase{border:1px solid var(--line);border-radius:calc(var(--r) * 1.5);background:var(--surface);gap:.75rem;padding:1rem;display:grid}.spk-text{font-family:var(--f-display);margin:0;font-size:clamp(1.15rem,2.5vw,1.5rem);font-weight:700}.spk-rec{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.spk-rec p{margin:0}.spk-mic{align-items:center;gap:.5rem;min-block-size:2.75rem;display:inline-flex}.spk-mic .icon{block-size:1.25rem;inline-size:1.25rem}.spk-mic.is-on{background:var(--red-deep);animation:spk-pulse 1.2s var(--ease) infinite}@keyframes spk-pulse{50%{box-shadow:0 0 0 .4rem var(--red-soft)}}@media (prefers-reduced-motion:reduce){.spk-mic.is-on{animation:none}}.spk-result{border-radius:calc(var(--r) * 1.5);background:var(--warning-soft);gap:.6rem;padding:.85rem 1rem;display:grid}.spk-result.is-right{background:var(--success-soft)}.spk-score{flex-wrap:wrap;gap:.25rem .75rem;margin:0;display:flex}.spk-words,.spk-feedback{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.spk-feedback{flex-direction:column}.spk-words li{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);align-items:baseline;gap:.35rem;padding:.15rem .5rem;font-weight:600;display:inline-flex}.spk-words li[data-state=ok]{color:var(--success)}.spk-words li[data-state=missing]{color:var(--error);border-style:dashed;text-decoration:line-through}.spk-words li[data-state=wrong]{color:var(--error);border-color:var(--error)}.spk-words small{color:var(--muted);font-weight:400}.spk-result audio{inline-size:100%}.spk-comment{border-inline-start:3px solid var(--red);background:var(--surface);margin:0;padding:.5rem .75rem}.spk-review-list{gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.spk-review-list>li{border:1px solid var(--line);border-radius:calc(var(--r) * 1.5);background:var(--surface)}.spk-review-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1rem;padding:.75rem 1rem;display:grid}.spk-review-row p{margin:0}.spk-review-detail{border-block-start:1px solid var(--line);gap:.75rem;padding:.75rem 1rem 1rem;display:grid}.spk-review-detail audio,.spk-review-detail textarea{inline-size:100%}@media (width<=40rem){.spk-review-row{grid-template-columns:1fr}}.pager{justify-content:space-between;align-items:center;gap:.75rem;margin-block-start:1rem;display:flex}.check{align-items:center;gap:.5rem;display:flex}.form-grid .check input{width:auto}.letter-text{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);margin:0;padding:1rem}.signature-pad{gap:.4rem;max-width:36rem;display:grid}.signature-sheet{position:relative}.signature-sheet:after{content:"✕";color:color-mix(in srgb, var(--cert-ink) 40%, transparent);pointer-events:none;border-bottom:1.5px solid;padding-bottom:.15rem;font-size:.9rem;line-height:1;position:absolute;inset:auto 8% 22%}.signature-pad canvas{aspect-ratio:3;touch-action:none;border:1px solid var(--line);border-radius:var(--r);width:100%;box-shadow:0 6px 14px -10px var(--shade);cursor:crosshair;display:block}.signature-pad canvas:focus-visible{outline:2px solid var(--red)}.signature-foot{min-height:1.5rem;font-size:.875rem}.commit-page{gap:1rem;max-width:46rem;display:grid}.commit-page>h1,.commit-lead{margin:0}.commit-lead{margin-top:-.75rem}.commit-page .card{padding:clamp(1rem,4vw,1.75rem)}.commit-steps{color:var(--muted);gap:.5rem;margin:0;padding:0;font-size:.875rem;font-weight:600;list-style:none;display:flex}.commit-steps li{border-top:3px solid var(--line);flex:1;align-items:center;gap:.5rem;min-width:0;padding-top:.6rem;display:flex}.commit-steps .step-n{background:var(--line);width:1.6rem;height:1.6rem;color:var(--muted);font-size:.8rem}.commit-steps .step-n .icon{width:1rem;height:1rem}.commit-steps [aria-current]{color:var(--ink);border-color:var(--red)}.commit-steps [aria-current] .step-n{background:var(--red);color:var(--on-red)}.commit-steps [data-done]{border-color:var(--success)}.commit-steps [data-done] .step-n{background:var(--success-soft);color:var(--success)}.commit-form,.commit-sign{gap:1.25rem;display:grid}.commit-block{gap:.6rem;display:grid}.commit-block+.commit-block,.commit-sign{border-top:1px solid var(--line);padding-top:1.25rem}.commit-block>*,.commit-sign>*{margin:0}.commit-privacy{color:var(--success);align-items:center;gap:.4rem;font-size:.85rem;display:flex}.commit-privacy .icon{width:1rem;height:1rem}.commit-read{background:var(--paper);border-radius:var(--r);justify-items:start;gap:.4rem;padding:.9rem;display:grid}.commit-read>*{margin:0}.commit-read progress{width:100%;accent-color:var(--red)}.commit-read [role=status]:empty{display:none}.commit-fields{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.9rem 1rem;display:grid}.commit-fields input{width:100%;font-size:1rem}.commit-id{grid-column:1/-1;max-width:16rem}.commit-id input{font-family:var(--f-mono);letter-spacing:.12em;font-size:1.15rem}button.commit-submit{justify-self:start;min-height:3rem;padding-inline:1.5rem;font-size:1rem}.commit-who{background:var(--paper);border-radius:var(--r);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.75rem 1rem;display:flex}.commit-who p{flex-wrap:wrap;align-items:baseline;gap:.15rem .6rem;margin:0;display:flex}.commit-page .letter-text{background:var(--surface);box-shadow:0 8px 18px -14px var(--shade);padding:clamp(1rem,4vw,2rem);line-height:1.7}.commit-accept{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);cursor:pointer;align-items:flex-start;padding:.9rem 1rem;font-size:1rem}.commit-accept:has(:checked){background:var(--success-soft);border-color:var(--success)}.commit-accept input{flex:none;width:1.25rem;height:1.25rem;min-height:0;margin-top:.1rem}@media (width<=520px){.commit-steps li{flex-direction:column;align-items:flex-start;gap:.25rem;font-size:.78rem}button.commit-submit{justify-self:stretch}}:root[data-kids]{--r:20px;--r-sm:14px;--control-h:46px;--paper:var(--lightningcss-light,#fdf0cf)var(--lightningcss-dark,#121214);--home-line:var(--lightningcss-light,#f0dcae)var(--lightningcss-dark,#303036);font-size:106.25%}:root[data-kids][data-large-text]{font-size:125%}:root[data-kids] :is(h1,h2,h3){font-weight:800}:root[data-kids] :is(a.button,.lesson-go,.program-cta,.sh-continue .button-link,.sh-ticket-stub button){border-radius:999px;padding-inline:1.3rem;transform:none;box-shadow:0 4px var(--lightningcss-light,#8f1414)var(--lightningcss-dark,#b3453f)}:root[data-kids] :is(a.button,.lesson-go,.program-cta,.sh-continue .button-link,.sh-ticket-stub button):active:not(:disabled){translate:0 3px;box-shadow:0 1px var(--lightningcss-light,#8f1414)var(--lightningcss-dark,#b3453f)}:root[data-kids] .topbar nav a{border-radius:999px;align-self:center;min-block-size:2.5rem;font-size:.95rem}:root[data-kids] .topbar nav a.active{background:var(--red-soft);box-shadow:none}:root[data-kids] :is(.sh-tile,.sh-hero){box-shadow:0 4px 0 var(--home-line);border-width:2px}:root[data-kids] .sh-title .icon{background:var(--accent);color:var(--on-red);border-radius:50%;padding:.5rem}:root[data-kids] .sh-hero{--glo-size:clamp(10rem, 15vw, 13.5rem)}:root[data-kids] .sh-bubble{border-width:2px;border-radius:1.5rem}:root[data-kids] .sh-bubble:before{left:-9px}@media (width>=621px){:root[data-kids] .sh-ticket{grid-template-columns:minmax(0,1fr) 9.5rem}}:root[data-kids] .sh-when time{white-space:nowrap;font-size:clamp(2rem,3.2vw,2.5rem)}:root[data-kids] .sh-mrz{display:none}:root[data-kids] .sh-passport{padding-block-end:1.25rem}@media (width<=640px){:root[data-kids] .topbar nav a{border-radius:14px;font-size:.8rem}:root[data-kids] .topbar nav a.active{background:0 0}:root[data-kids] .topbar nav a .icon{width:1.75rem;height:1.75rem}}@media (width<=620px){:root[data-kids] .sh-hero{--glo-size:7.5rem}}:root[data-kids] label.choice{border-width:2px;min-block-size:4.5rem;font-size:1.2rem;font-weight:600}:root[data-kids] .choice-key{border-radius:50%;block-size:2.6rem;inline-size:2.6rem;font-size:1rem}:root[data-kids] .ex-q legend h2{font-size:clamp(1.4rem,2.6vw,1.8rem)}:root[data-kids] .ex-dots button:before{block-size:.7rem}:root[data-kids] .word-bank{gap:.7rem}:root[data-kids] .word-bank button{border:2px solid var(--amber);background:var(--warning-soft);box-shadow:0 3px 0 var(--amber);padding:.55rem 1.25rem;font-size:1.15rem;font-weight:700}:root[data-kids] .word-bank button.is-used{box-shadow:none}:root[data-kids] .blanks{font-size:1.3rem;line-height:3}:root[data-kids] .blanks input{border:2px solid var(--red);border-radius:var(--r-sm);min-inline-size:6rem;padding:.3rem .7rem}:root[data-kids] .blanks input.is-right{border-color:var(--success)}:root[data-kids] .blanks input.is-wrong{border-color:var(--error)}:root[data-kids] .ex-hint{visibility:hidden}:root[data-kids]{--f-display:"Fredoka", "Montserrat", system-ui, sans-serif;--k-blue:var(--lightningcss-light,#2379c9)var(--lightningcss-dark,#7cc0f5);--k-green:var(--lightningcss-light,#1f8f5a)var(--lightningcss-dark,#62d49d);--k-orange:var(--lightningcss-light,#c9610f)var(--lightningcss-dark,#f6a955);--k-purple:var(--lightningcss-light,#7a4fd0)var(--lightningcss-dark,#b59cf2);--k-dots:var(--lightningcss-light,#f4b74061)var(--lightningcss-dark,#0000);--k-sky:var(--lightningcss-light,#bfe4ff)var(--lightningcss-dark,#1c1c20);--k-cloud:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0000);--k-hill:var(--lightningcss-light,#7fd29b)var(--lightningcss-dark,#23382c);background-image:radial-gradient(var(--k-dots) 2px, transparent 2.5px);background-size:26px 26px;font-family:Fredoka,Inter,system-ui,sans-serif}:root[data-kids] body{background:0 0}:root[data-kids] .wordmark{font-family:Montserrat,system-ui,sans-serif}:root[data-kids] :is(h1,h2,h3){letter-spacing:0;font-weight:700}:root[data-kids] .topbar{border-bottom:3px solid var(--amber)}:root[data-kids] .topbar nav a{--k:var(--red);font-size:1.05rem}:root[data-kids] .topbar nav a:nth-child(2){--k:var(--k-blue)}:root[data-kids] .topbar nav a:nth-child(3){--k:var(--k-green)}:root[data-kids] .topbar nav a:nth-child(4){--k:var(--k-purple)}:root[data-kids] .topbar nav a .icon,:root[data-kids] .topbar nav a.active .icon{box-sizing:content-box;background:var(--k);color:var(--on-red);border-radius:50%;padding:.35rem}:root[data-kids] .topbar nav a.active{background:color-mix(in srgb, var(--k) 18%, transparent);color:var(--ink)}:root[data-kids] .sh-tile{border:2.5px solid color-mix(in srgb, var(--accent) 55%, var(--home-tile));background-color:color-mix(in srgb, var(--accent) 9%, var(--home-tile));box-shadow:0 5px 0 color-mix(in srgb, var(--accent) 45%, var(--home-tile))}:root[data-kids] .sh-week{--accent:var(--k-blue)}:root[data-kids] .sh-later{--accent:var(--k-purple)}:root[data-kids] .sh-courses{--accent:var(--k-green)}:root[data-kids] .sh-title{font-size:1.3rem}:root[data-kids] .sh-title .icon{border-radius:.9rem;padding:.55rem;rotate:-6deg}:root[data-kids] .sh-hero{--glo-size:clamp(11rem, 16vw, 14.5rem);border:2.5px solid color-mix(in srgb, var(--k-blue) 55%, var(--home-tile));box-shadow:0 5px 0 color-mix(in srgb, var(--k-blue) 45%, var(--home-tile));background-color:var(--k-sky);background-image:radial-gradient(ellipse 42% 5rem at 12% 100%, var(--k-hill) 98%, transparent), radial-gradient(circle at 93% 22%, var(--amber) 0 2.4rem, transparent 2.5rem), radial-gradient(ellipse 4.5rem 1.3rem at 74% 16%, var(--k-cloud) 98%, transparent), radial-gradient(ellipse 2.6rem 1.1rem at 70% 11%, var(--k-cloud) 98%, transparent), radial-gradient(ellipse 3.6rem 1.1rem at 42% 90%, var(--k-cloud) 98%, transparent)}:root[data-kids] .sh-hero h1{font-size:clamp(2.2rem,4vw,3.4rem)}:root[data-kids] .sh-bubble{border:2.5px solid var(--k-blue)}:root[data-kids] .sh-glo-kicker{color:var(--k-blue)}:root[data-kids] .program-mrz{display:none}:root[data-kids] label.choice{--opt:var(--k-blue)}:root[data-kids] label.choice:nth-child(4n+2){--opt:var(--k-green)}:root[data-kids] label.choice:nth-child(4n+3){--opt:var(--k-orange)}:root[data-kids] label.choice:nth-child(4n+4){--opt:var(--k-purple)}:root[data-kids] label.choice:not(.is-right,.is-wrong){border-color:color-mix(in srgb, var(--opt) 60%, var(--surface));background:color-mix(in srgb, var(--opt) 10%, var(--surface));box-shadow:0 4px 0 color-mix(in srgb, var(--opt) 60%, var(--surface))}:root[data-kids] label.choice:not(.is-right,.is-wrong) .choice-key{background:var(--opt);color:var(--on-red)}:root[data-kids] label.choice:not(.is-right,.is-wrong):has(input:checked){border-color:var(--opt);background:var(--opt);box-shadow:0 4px 0 color-mix(in srgb, var(--opt) 65%, var(--shade));color:var(--on-red)}:root[data-kids] label.choice:not(.is-right,.is-wrong):has(input:checked) .choice-key{background:var(--surface);color:var(--opt)}:root[data-kids] .lesson-card{border:2.5px solid var(--home-line,var(--line))}@media (width<=640px){:root[data-kids] .topbar nav a,:root[data-kids] .topbar nav a.active{background:0 0;font-size:.85rem}:root[data-kids] .topbar nav a .icon,:root[data-kids] .topbar nav a.active .icon{width:1.6rem;height:1.6rem;padding:.45rem}:root[data-kids] .topbar nav a:not(.active) .icon{background:color-mix(in srgb, var(--k) 18%, transparent);color:var(--k)}}@media (width<=620px){:root[data-kids] .sh-hero{--glo-size:7.5rem;background-image:radial-gradient(ellipse 70% 3.5rem at 20% 100%, var(--k-hill) 98%, transparent)}:root[data-kids] .sh-hero h1{overflow-wrap:normal;font-size:1.8rem}}:root{--cam-bg:#0c0c0e;--cam-fg:#fff;--cam-shade:#0000009e}.id-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;max-width:32rem;display:grid}.id-photo{align-content:start;justify-items:start;gap:.4rem;display:grid}.id-photo-label{flex-wrap:wrap;gap:0 .5rem;margin:0;font-size:.875rem;font-weight:600;display:flex}button.id-photo-tile{background:var(--paper);width:100%;min-width:0;color:var(--ink);border:2px dashed var(--line);border-radius:var(--r);justify-items:center;gap:.6rem;padding:.75rem;display:grid}button.id-photo-tile:hover:not(:disabled){background:var(--red-soft);border-color:var(--red)}.id-photo-tile:has(img){border-style:solid;border-color:var(--success)}.id-photo-tile img,.id-photo-hint{aspect-ratio:1.586;object-fit:cover;border-radius:var(--r-sm);width:100%}.id-photo-hint{background:var(--surface);border:1px solid var(--line)}.id-photo-hint .cam-ghost{fill:var(--line);opacity:1}.id-photo-cta{background:var(--red);color:var(--on-red);border-radius:999px;padding:.35rem .9rem;font-size:.875rem}.id-photo-tile:has(img) .id-photo-cta{background:var(--surface);color:var(--ink);border:1px solid var(--line)}@media (width<=520px){.id-photo-cta{border-radius:var(--r);padding-inline:.6rem;font-size:.8rem}button.id-photo-tile{padding:.5rem}}.cam{z-index:1000;background:var(--cam-bg);color:var(--cam-fg);flex-direction:column;gap:.75rem;padding:.75rem 1rem;display:flex;position:fixed;inset:0}.cam-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.cam-head h2{color:inherit;margin:0;font-size:1.05rem}.cam-stage{flex:1;place-items:center;min-height:0;display:grid}.cam-video{border-radius:var(--r);min-width:16rem;max-width:100%;min-height:9rem;max-height:100%;position:relative;overflow:hidden}.cam-video video,.cam-guide{width:100%;height:100%;display:block}.cam-video video{object-fit:cover}.cam-guide{pointer-events:none;position:absolute;inset:0}.cam-shade{fill:var(--cam-shade)}.cam-frame{fill:none;stroke:var(--cam-fg);stroke-width:1.5px;stroke-dasharray:3 2;vector-effect:non-scaling-stroke}.cam-corners{fill:none;stroke:var(--cam-fg);stroke-width:4px;stroke-linecap:round;vector-effect:non-scaling-stroke;animation:1.6s ease-in-out infinite cam-pulse}.cam-ghost{fill:var(--cam-fg);opacity:.22}.cam-starting,.cam-error{text-align:center;position:absolute;inset:auto 0 50%}.cam-error{max-width:28rem;padding:1rem;position:static}.cam-shot{border-radius:var(--r);max-width:100%;max-height:100%}.cam-tips{flex-wrap:wrap;justify-content:center;gap:.4rem 1rem;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.cam-tips li:before{content:"✓ "}.cam-foot{justify-content:center;align-items:center;gap:1rem;min-height:4.5rem;display:flex}.cam-shutter{border:4px solid var(--cam-fg);background:var(--red);width:4.5rem;height:4.5rem;box-shadow:0 0 0 4px var(--cam-bg) inset;border-radius:50%;padding:0}.cam-shutter:disabled{opacity:.4}@keyframes cam-pulse{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.cam-corners{animation:none}}.ex-script{border-inline-start:4px solid var(--red);border-radius:calc(var(--r) * 1.5);background:var(--paper);margin:0;padding:.75rem 1rem}.ex-script p{margin:0 0 .25rem;font-size:.85em;font-weight:600}.exam-phase{text-align:center;justify-items:center;gap:1rem;display:grid}.exam-phase-list{text-align:start;gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.exam-phase-list li{color:var(--muted);align-items:center;gap:.6rem;display:flex}.exam-phase-list small{margin-inline-start:auto}.exam-phase-list [data-state=done]{color:var(--success)}.exam-phase-list [data-state=next]{color:var(--ink);font-weight:600}.exam-phase-count strong{font-family:var(--f-display);font-size:4rem;line-height:1}.landing{background:var(--home-bg);min-block-size:100dvh;color:var(--ink)}.landing-top{z-index:10;transition:translate var(--t-base) var(--ease);isolation:isolate;background:radial-gradient(120% 180% at 30% -40%, color-mix(in oklab, var(--passport-ink) 16%, transparent), transparent 60%), var(--passport-bg);color:var(--passport-ink);box-shadow:0 10px 30px -18px var(--shade);justify-content:space-between;align-items:center;gap:1.5rem;padding:.85rem clamp(1rem,4vw,3.5rem) 1.1rem;display:flex;position:sticky;top:0}.landing-top.is-hidden:not(:focus-within){translate:0 -100%}@media (prefers-reduced-motion:reduce){.landing-top{transition:none}}.landing-top:before{content:"";z-index:-1;opacity:.35;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2 .35' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.landing-top:after{content:"";inset-inline:.6rem;border-top:1.5px dashed color-mix(in oklab, var(--foil) 75%, transparent);pointer-events:none;position:absolute;bottom:.4rem}.landing-top .wordmark{color:var(--passport-ink)}.landing-top .brand-icon{background:var(--passport-ink);border-radius:50%;padding:2px}.landing-nav{align-items:center;gap:clamp(1rem,2.6vw,2.25rem);display:flex}.landing-nav a{font:600 .74rem / 1 var(--f-display);letter-spacing:.2em;text-transform:uppercase;color:color-mix(in oklab, var(--passport-ink) 78%, transparent);cursor:default;padding-block:.35rem;position:relative}.landing-nav a[aria-current]{color:var(--foil)}.landing-nav a[aria-current]:after{content:"";inset-inline:0;border-top:1.5px dashed var(--foil);position:absolute;bottom:-.3rem}.landing-tools{align-items:center;gap:.5rem;display:flex}.landing-login{border-radius:var(--r-sm);background:linear-gradient(135deg, var(--passport-ink), var(--foil) 220%);color:var(--passport-bg);font:700 .9rem / 1 var(--f-display);white-space:nowrap;transition:transform .2s var(--ease);margin-inline-start:.5rem;padding:.6rem 1.15rem;text-decoration:none;-webkit-mask:radial-gradient(6px at 0,#0000 96%,#000) 0/51% 100% no-repeat,radial-gradient(6px at 100%,#0000 96%,#000) 100%/51% 100% no-repeat;mask:radial-gradient(6px at 0,#0000 96%,#000) 0/51% 100% no-repeat,radial-gradient(6px at 100%,#0000 96%,#000) 100%/51% 100% no-repeat}.landing-login:hover{transform:translateY(-1px)rotate(-1.5deg)}.landing-scholar{background:var(--home-bg);padding:clamp(1.5rem,4vh,2.5rem) clamp(1rem,4vw,3.5rem)}.landing-scholar-band{border-radius:var(--r);background:var(--shade);color:#f4f1f2;box-shadow:0 18px 36px -24px var(--shade);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(1rem,3vw,2rem);padding:clamp(1.25rem,3vw,1.75rem) clamp(1.25rem,3vw,2rem);display:grid}.landing-scholar-seal{outline-offset:-6px;border:1.5px solid oklab(100% 0 5.96046e-8/.55);border-radius:50%;outline:1px dashed oklab(100% 0 5.96046e-8/.35);place-items:center;block-size:3.5rem;inline-size:3.5rem;display:grid}.landing-scholar-seal svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;block-size:1.4rem;inline-size:1.4rem}.landing-scholar-copy{gap:.4rem;display:grid}.landing-label{letter-spacing:.22em;text-transform:uppercase;color:oklab(100% 0 5.96046e-8/.6);align-items:center;gap:.6rem;margin:0;font:500 .7rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.landing-label:before{content:"";border-top:1.5px solid var(--red);inline-size:1.5rem}.landing-scholar h2{font:700 clamp(1.15rem, 1.9vw, 1.5rem) / 1.2 var(--f-display);letter-spacing:-.015em;text-wrap:balance;margin:0}.landing-scholar-soft{color:oklab(100% 0 5.96046e-8/.72)}.landing-scholar-body{color:oklab(100% 0 5.96046e-8/.7);max-inline-size:44rem;margin:0;font-size:.92rem}.landing-scholar-body strong{color:#fff;font-weight:700}.landing-scholar-action{justify-items:center;gap:.5rem;display:grid}.landing-scholar-action .landing-cta{white-space:nowrap;padding:.8rem 1.25rem;font-size:.92rem}.landing-scholar-note{color:oklab(100% 0 5.96046e-8/.55);font-size:.75rem}@media (width<=860px){.landing-scholar-band{grid-template-columns:minmax(0,1fr);justify-items:start}.landing-scholar-action{justify-items:start}}.landing-route .landing-label{color:var(--muted)}.landing-route h2{font:800 clamp(2rem, 3.6vw, 3.4rem) / 1.04 var(--f-display);letter-spacing:-.03em;text-wrap:balance;margin:0 0 .4rem}.landing-route-soft{color:var(--red);font-style:italic;position:relative}.landing-route-soft svg{block-size:.4em;inline-size:100%;position:absolute;bottom:-.35em;left:0;overflow:visible}.landing-route-soft path{fill:none;stroke:var(--red);stroke-width:3px;stroke-linecap:round}.landing-route{background:var(--home-bg);position:relative}.landing-route:before{content:"";inset-inline:clamp(1rem,4vw,3.5rem);border-top:2px dashed var(--home-line);position:absolute;top:0}.landing-route-frame{isolation:isolate;box-sizing:border-box;background:radial-gradient(50% 60% at 70% 55%, color-mix(in oklab, var(--surface) 70%, transparent), transparent 70%);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(1.5rem,4vw,4rem);min-block-size:min(80vh,44rem);padding:clamp(4rem,10vh,7rem) clamp(1rem,4vw,3.5rem);display:grid;position:relative}.landing-route-copy{z-index:1;grid-area:1/1;gap:1.25rem;max-inline-size:36rem;display:grid;position:relative}.landing-route-stage{z-index:0;position:absolute;inset:0}.landing-route-stage:empty{display:none}.landing-route-stage canvas{block-size:100%;inline-size:100%;display:block}.landing-route.is-pinned{block-size:320vh}.landing-route.is-pinned .landing-route-frame{block-size:100dvh;padding-block:2rem;position:sticky;top:0}.landing-stops{border-inline-start:2px dashed var(--home-line);margin:0;padding:0;list-style:none;display:grid}.landing-stops li{color:var(--muted);transition:grid-template-rows var(--t-base) var(--ease), color var(--t-base) var(--ease);grid-template-rows:auto 0fr;padding:.55rem 0 .55rem 1.25rem;display:grid;position:relative}.landing-stops li:before{content:"";inset-inline-start:-7px;box-sizing:border-box;border:2px solid var(--home-line);background:var(--home-bg);block-size:12px;inline-size:12px;transition:background var(--t-base) var(--ease), border-color var(--t-base) var(--ease);border-radius:50%;position:absolute;top:.95rem}.landing-stops li[data-on]{color:var(--ink);grid-template-rows:auto 1fr}.landing-stops li[data-on]:before{border-color:var(--red);background:var(--red)}.landing-stops h3{font:700 1.15rem / 1.25 var(--f-display);transition:margin var(--t-base) var(--ease);margin:0}.landing-stops li[data-on] h3{margin-block-end:.3rem}.landing-stops p{min-block-size:0;color:var(--muted);margin:0;overflow:hidden}.landing-route .landing-route-hint{margin-block-start:1.25rem;font-size:1.3rem;position:absolute;inset-block-start:100%}@media (width<=860px),(aspect-ratio<=1){.landing-route-frame{background:0 0;grid-template-columns:minmax(0,1fr);min-block-size:0}.landing-route-stage{grid-area:1/1;block-size:min(55vh,26rem);position:static}.landing-route.is-pinned .landing-route-stage{block-size:auto}.landing-route-copy{grid-area:2/1}.landing-route.is-pinned .landing-route-frame{grid-template-rows:minmax(0,1fr) auto;gap:.75rem;padding-block:1rem 1.5rem}.landing-route.is-pinned .landing-route-copy{gap:.75rem}.landing-route.is-pinned .landing-lede,.landing-route.is-pinned .landing-route-hint{display:none}.landing-route.is-pinned h2{font-size:clamp(1.5rem,6.5vw,2.2rem)}}@media (prefers-reduced-motion:reduce){.landing-stops li,.landing-stops li:before,.landing-stops h3{transition:none}}.landing-partners{isolation:isolate;gap:clamp(1.5rem,3vw,2.25rem);padding:clamp(2.5rem,5vw,3.5rem) 16px;display:grid;position:relative;overflow:hidden}.landing-partners:before{content:"";z-index:-1;background:repeating-radial-gradient(circle at 50% 68%, transparent 0 34px, color-mix(in srgb, var(--red) 16%, transparent) 34px 35px), radial-gradient(color-mix(in srgb, var(--ink) 14%, transparent) 1px, transparent 1.5px) 0 0 / 18px 18px;position:absolute;inset:0;-webkit-mask:radial-gradient(60% 70% at 50% 68%,#000 20%,#0000 75%);mask:radial-gradient(60% 70% at 50% 68%,#000 20%,#0000 75%)}.landing-partners-head{text-align:center;justify-items:center;gap:.6rem;display:grid}.landing-partners-head .landing-label{color:var(--muted)}.landing-partners h2{font:800 clamp(1.7rem, 3.4vw, 2.5rem) / 1 var(--f-display);letter-spacing:-.03em;margin:0}.landing-partners h2 em{color:var(--red)}.landing-partners-lede{max-inline-size:32rem;color:var(--muted);margin:0;line-height:1.55}.landing-partners-row{isolation:isolate;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:clamp(1rem,2.5vw,2rem);inline-size:100%;max-inline-size:60rem;margin:0 auto;padding:0;list-style:none;display:grid;position:relative}.landing-partners-row:before{content:"";z-index:-1;border-block-start:2px dashed var(--glo-body);position:absolute;inset:50% 8% auto}.landing-partner{background:repeating-radial-gradient(circle at 0 0, #00000009 0 1px, transparent 1px 9px), repeating-radial-gradient(circle at 100% 100%, #00000009 0 1px, transparent 1px 9px), var(--visa-paper);color:var(--cert-ink);box-shadow:inset 0 0 0 10px var(--visa-paper), inset 0 0 0 11px #0000002e, 0 14px 30px #0000001f;transition:rotate .4s var(--ease), translate .4s var(--ease), box-shadow .4s var(--ease);border-radius:10px;align-content:center;justify-items:center;gap:.35rem;padding:2.4rem 1.25rem 1.25rem;display:grid;position:relative;rotate:-2deg}.landing-partner:nth-child(3){rotate:2deg}.landing-partner-aval{z-index:1;rotate:0deg;scale:1.06}.landing-partner-aval .landing-partner-tag{color:var(--red)}.landing-partner:hover{box-shadow:inset 0 0 0 10px var(--visa-paper), inset 0 0 0 11px #0000002e, 0 22px 40px #00000029;translate:0 -6px;rotate:0deg}.landing-partner-tag{font:600 .62rem / 1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--glo-body);position:absolute;inset-block-start:1.1rem}.landing-partner img{object-fit:contain;mix-blend-mode:multiply;block-size:5.5rem;inline-size:auto;max-inline-size:85%;margin-block:.5rem}.landing-partner-name{font:700 1.05rem / 1.2 var(--f-display);text-align:center}.landing-partner-place{opacity:.7;font:700 1.3rem/1 Caveat,Segoe Print,cursive}.landing-partners-knot{background:var(--visa-paper);block-size:4.5rem;inline-size:4.5rem;transition:rotate .6s var(--ease-stamp);border-radius:50%;place-items:center;display:grid;position:absolute;inset:auto -1.25rem -1.25rem auto;rotate:-12deg;box-shadow:0 8px 20px #0000001f}.landing-partners-row:hover .landing-partners-knot{rotate:8deg}.landing-partners-knot .stamp{block-size:88%;inline-size:88%}@media (width<=720px){.landing-partners-row{grid-template-columns:1fr 1fr;gap:1rem .75rem}.landing-partner-aval{order:-1;grid-column:1/-1;scale:none}.landing-partners-knot{block-size:3.5rem;inline-size:3.5rem;inset:auto -.5rem -.75rem auto}.landing-partner{padding:1rem .5rem}.landing-partner-tag{display:none}.landing-partner-aval{padding-block-start:2.2rem}.landing-partner-aval .landing-partner-tag{display:block}.landing-partner img{block-size:3.75rem}.landing-partner-name{font-size:.8rem}.landing-partner-place{font-size:1.05rem}}@media (prefers-reduced-motion:reduce){.landing-partner,.landing-partners-knot{transition:none}}.landing-board{isolation:isolate;padding:clamp(3rem,6vw,4.5rem) 16px 0;position:relative;overflow:hidden}.landing-board-sky{z-index:1;pointer-events:none;block-size:15rem;position:absolute;inset:0 0 auto}.landing-board-sky canvas{display:block}.landing-board:before{content:"";z-index:-1;background:linear-gradient(color-mix(in srgb, var(--shade), var(--passport-ink) 6%), var(--shade) 40%);position:absolute;inset:50% 0 0;-webkit-mask:radial-gradient(9px at 50% 100%,#0000 96%,#000) 0 0/26px 100% repeat-x;mask:radial-gradient(9px at 50% 100%,#0000 96%,#000) 0 0/26px 100% repeat-x}.landing-board-departures{align-items:center;gap:1rem;max-inline-size:60rem;margin:1.75rem auto 0;padding-block-end:1.75rem;display:flex}.landing-board-dep-label{background:var(--amber);color:var(--on-amber);font:700 .68rem / 1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;border-radius:3px;flex:none;align-items:center;gap:.45rem;padding:.45rem .7rem;display:flex}.landing-board-dep-label:before{content:"";background:currentColor;border-radius:50%;block-size:.4rem;inline-size:.4rem;animation:1.6s ease-in-out infinite landing-board-blink}.landing-board-dep-track{flex:1;min-inline-size:0;overflow:hidden;-webkit-mask:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.landing-board-flights{inline-size:max-content;margin:0;animation:70s linear infinite landing-board-flights;display:flex}.landing-board-flights span{background:linear-gradient(#0000 calc(50% - .5px), #0000008c calc(50% - .5px) calc(50% + .5px), #0000 0), color-mix(in srgb, var(--passport-ink) 9%, transparent);color:var(--passport-ink);font:600 .72rem / 1 var(--f-mono);letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;opacity:.85;border-radius:3px;margin-inline-end:.5rem;padding:.45rem .65rem}@keyframes landing-board-flights{to{translate:-50%}}.landing-board-wrap{--stub:17rem;filter:drop-shadow(0 18px 28px #00000024);max-inline-size:60rem;margin-inline:auto;position:relative}.landing-board-glo{block-size:7rem;inline-size:7rem;transition:translate .35s var(--ease-stamp);position:absolute;inset-block-end:calc(100% - 3.2rem);inset-inline-end:calc(var(--stub) / 2 - 3.5rem)}.landing-board-wrap.is-hi .landing-board-glo{translate:0 -1.4rem}.landing-board-note{color:var(--red);white-space:nowrap;margin:0;font:700 1.35rem/1 Caveat,Segoe Print,cursive;position:absolute;inset-block-end:calc(100% + .6rem);inset-inline-end:calc(var(--stub) / 2 + 3.6rem);transform:rotate(-6deg)}.landing-board-pass{grid-template-columns:minmax(0, 1fr) var(--stub);background:repeating-linear-gradient(90deg, #00000005 0 2px, transparent 2px 5px), var(--visa-paper);color:var(--cert-ink);--cut:calc(100% - var(--stub));-webkit-mask:radial-gradient(circle at var(--cut) 0, #0000 .85rem, #000 .9rem) top / 100% 51% no-repeat, radial-gradient(circle at var(--cut) 100%, #0000 .85rem, #000 .9rem) bottom / 100% 51% no-repeat;mask:radial-gradient(circle at var(--cut) 0, #0000 .85rem, #000 .9rem) top / 100% 51% no-repeat, radial-gradient(circle at var(--cut) 100%, #0000 .85rem, #000 .9rem) bottom / 100% 51% no-repeat;border-radius:14px;display:grid;position:relative}.landing-board-main{border-inline-start:6px solid var(--glo-body);border-radius:14px 0 0 14px;gap:1rem;padding:clamp(1.5rem,4vw,2.75rem);display:grid}.landing-board-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.landing-board-brand{font:600 .62rem / 1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;opacity:.5;align-items:center;gap:.4rem;display:flex}.landing-board-brand svg{fill:currentColor;block-size:.85rem;inline-size:.85rem}.landing-board-main{position:relative;overflow:hidden}.landing-board-main:after{content:"";filter:grayscale();opacity:.06;pointer-events:none;background:url(/favicon.svg) 50%/contain no-repeat;block-size:15rem;inline-size:15rem;position:absolute;inset:auto -2.5rem -3.5rem auto}.landing-board-stub{position:relative}.landing-board-stub .landing-board-fields{gap:1.75rem;margin:0}.landing-board-stamp{opacity:.8;mix-blend-mode:multiply;pointer-events:none;block-size:5.25rem;inline-size:5.25rem;position:absolute;inset:auto .75rem .6rem auto;rotate:-16deg}.landing-board-label{font:600 .72rem / 1 var(--f-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--glo-body);align-items:center;gap:.55rem;margin:0;display:flex}.landing-board-label:before{content:"";background:currentColor;border-radius:50%;block-size:.5rem;inline-size:.5rem;animation:1.6s ease-in-out infinite landing-board-blink}@keyframes landing-board-blink{50%{opacity:.25}}.landing-board h2{font:800 clamp(1.9rem, 4.2vw, 3rem) / 1 var(--f-display);letter-spacing:-.03em;text-wrap:balance;margin:0}.landing-board h2 em{color:var(--glo-body)}.landing-board-lede{opacity:.8;max-inline-size:34rem;margin:0;line-height:1.55}.landing-board-fields{flex-wrap:wrap;gap:1rem 2.25rem;margin:.5rem 0 0;display:flex}.landing-board-fields dt{font:600 .62rem / 1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;opacity:.6}.landing-board-fields dd{margin:.3rem 0 0;font:700 1.45rem/1 Caveat,Segoe Print,cursive}.landing-board-stub{border-inline-start:2px dashed #00000038;place-content:center;justify-items:center;gap:1.25rem;padding:4.5rem 1.5rem 2rem;display:grid}.landing-board-stub .landing-cta{background:var(--glo-body);color:var(--passport-ink);justify-self:center}.landing-board-code{opacity:.75;background:repeating-linear-gradient(90deg,currentColor 0 2px,#0000 2px 4px,currentColor 4px 5px,#0000 5px 9px,currentColor 9px 12px,#0000 12px 14px);block-size:2.5rem;inline-size:11rem}@media (width<=720px){.landing-board-wrap{--stub:0rem}.landing-board-pass{grid-template-columns:1fr;-webkit-mask:none;mask:none}.landing-board-main{border-radius:14px 14px 0 0}.landing-board-stub{border-block-start:2px dashed #00000038;border-inline-start:0;padding:1.5rem}.landing-board-glo{block-size:5.5rem;inline-size:5.5rem;inset-block-end:calc(100% - 2.4rem);inset-inline-end:1rem}.landing-board-note{font-size:1.15rem;inset-inline-end:6.5rem}}@media (prefers-reduced-motion:reduce){.landing-board-label:before,.landing-board-flights{animation:none}.landing-board-glo{transition:none}}.landing-send{isolation:isolate;text-align:center;justify-items:center;gap:1.5rem;padding:clamp(3.5rem,8vw,6rem) 16px 0;display:grid;position:relative;overflow-x:clip}.landing-send h2{max-inline-size:14ch;font:800 clamp(2.2rem, 6vw, 4.5rem) / .95 var(--f-display);letter-spacing:-.04em;text-wrap:balance;margin:0}.landing-send h2 em{color:var(--red)}.landing-send .landing-cta{box-shadow:0 5px 0 color-mix(in oklab, var(--red-deep), #000 30%);justify-self:center;padding:1rem 2rem}.landing-send .landing-cta:active{box-shadow:0 2px 0 color-mix(in oklab, var(--red-deep), #000 30%);transform:translateY(3px)}@media (prefers-reduced-motion:no-preference){.landing-send .landing-cta{position:relative}.landing-send .landing-cta:before,.landing-send .landing-cta:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0}.landing-send .landing-cta:before{animation:landing-send-pulse 2.4s var(--ease) infinite}.landing-send .landing-cta:after{background:linear-gradient(110deg, #0000 35%, color-mix(in oklab, var(--passport-ink) 35%, transparent) 50%, #0000 65%) 150% 0 / 250% 100% no-repeat;animation:4s ease-in-out 1s infinite landing-send-shine}.landing-send .landing-cta:hover svg,.landing-send .landing-cta:focus-visible svg{animation:landing-send-takeoff 1.1s var(--ease) infinite}}@keyframes landing-send-pulse{0%{box-shadow:0 0 0 0 color-mix(in oklab, var(--red) 45%, transparent)}to{box-shadow:0 0 0 16px color-mix(in oklab, var(--red) 0%, transparent)}}@keyframes landing-send-shine{0%,55%{background-position:150% 0}to{background-position:-60% 0}}@keyframes landing-send-takeoff{0%{opacity:1;transform:none}45%{opacity:0;transform:translate(2.2rem,-1.8rem)rotate(-12deg)scale(.6)}46%{opacity:0;transform:translate(-1.6rem,1.2rem)scale(.6)}to{opacity:1;transform:none}}.landing-send-stage{z-index:1;block-size:clamp(15rem,32vw,23rem);inline-size:min(100%,64rem);margin-block:.5rem .4rem;position:relative}.landing-send-window{aspect-ratio:3/4;border:clamp(10px, 1.3vw, 15px) solid var(--surface);background:radial-gradient(30% 9% at 30% 34%, color-mix(in oklab, var(--surface) 92%, transparent) 60%, transparent), radial-gradient(22% 7% at 62% 30%, color-mix(in oklab, var(--surface) 80%, transparent) 60%, transparent), linear-gradient(color-mix(in oklab, var(--l-pa1) 60%, var(--surface)), color-mix(in oklab, var(--l-pa1) 18%, var(--surface)));inline-size:clamp(8.5rem,17vw,12.5rem);box-shadow:0 0 0 2px var(--line), inset 0 10px 18px -10px color-mix(in oklab, var(--shade) 55%, transparent), 0 22px 30px -20px var(--shade);border-radius:42%;place-items:end center;display:grid;position:absolute;inset-block-end:0;inset-inline-start:50%;overflow:hidden;translate:-50%}.landing-send-window:before{content:"";z-index:1;background:var(--line);block-size:16%;box-shadow:0 2px 0 color-mix(in oklab, var(--shade) 12%, transparent);position:absolute;inset:0 0 auto}.landing-send-window img{inline-size:94%;transition:translate .35s var(--ease-stamp);translate:0 16%}.landing-send:has(.landing-cta:hover,.landing-cta:focus-visible) .landing-send-window img{translate:0 4%}.landing-send-note{color:var(--red);white-space:nowrap;margin:0;font:700 1.45rem/1 Caveat,Segoe Print,cursive;position:absolute;inset-block-end:62%;inset-inline-start:calc(50% + clamp(5rem,9.5vw,7.2rem));rotate:-7deg}.landing-send-thing{filter:drop-shadow(0 14px 8px color-mix(in oklab, var(--shade) 20%, transparent));animation:4.5s ease-in-out infinite alternate landing-send-float;position:absolute}@keyframes landing-send-float{to{translate:0 -12px}}.landing-send-thing.is-stamp-a{block-size:auto;inline-size:clamp(4rem,8vw,6rem);animation-duration:5.2s;inset:8% auto auto 5%;rotate:-14deg}.landing-send-thing.is-stamp-b{block-size:auto;inline-size:clamp(3.5rem,7vw,5.25rem);animation-delay:-2s;inset:0 7% auto auto;rotate:12deg}.landing-send-thing.is-plane{inline-size:clamp(2.5rem,5vw,3.75rem);fill:var(--glo-body);animation-duration:3.6s;animation-delay:-1s;inset:0 auto auto 27%;rotate:-8deg}.landing-send-thing.is-passport{aspect-ratio:.7;background:radial-gradient(circle at 50% 42%, #0000 28%, var(--foil) 29% 33%, #0000 34%), var(--passport-bg);border-radius:5px 9px 9px 5px;inline-size:clamp(2.8rem,5.5vw,4.25rem);animation-duration:5.8s;animation-delay:-3s;inset:auto auto 18% 15%;rotate:16deg;box-shadow:inset 5px 0 oklab(0% none none/.18)}.landing-send-thing.is-postcard{aspect-ratio:1.45;background:linear-gradient(var(--visa-paper), var(--visa-paper)) padding-box, repeating-linear-gradient(45deg, var(--glo-body) 0 7px, var(--visa-paper) 7px 14px, var(--l-pa1) 14px 21px, var(--visa-paper) 21px 28px) border-box;border:5px solid #0000;border-radius:4px;inline-size:clamp(4.5rem,9vw,6.75rem);animation-delay:-1.5s;inset:30% 21% auto auto;rotate:8deg}.landing-send-thing.is-postcard:after{content:"";aspect-ratio:.85;border:1.5px dashed var(--glo-body);background:color-mix(in oklab, var(--glo-body) 18%, var(--visa-paper));inline-size:22%;position:absolute;inset:12% 10% auto auto}.landing-send-thing.is-tag{aspect-ratio:.55;background:radial-gradient(circle at 50% 16%, var(--home-bg) 0 9%, #0000 10%), repeating-linear-gradient(#0000 0 9px, color-mix(in oklab, var(--foil-deep) 50%, transparent) 9px 10px) 0 45% / 100% 40% no-repeat, var(--foil);clip-path:polygon(22% 0,78% 0,100% 14%,100% 100%,0 100%,0 14%);border-radius:4px;inline-size:clamp(2.5rem,4.8vw,3.5rem);animation-duration:4s;animation-delay:-2.5s;inset:auto 6% 16% auto;rotate:-20deg}.landing-send-thing.is-bit{aspect-ratio:1;background:var(--foil);border-radius:2px;inline-size:.75rem;animation-duration:3.2s;rotate:25deg}.landing-send-thing.is-bit:nth-of-type(4){inset:42% auto auto 36%}.landing-send-thing.is-bit:nth-of-type(5){background:var(--l-a1);animation-delay:-1.2s;inset:14% 36% auto auto}.landing-send-wave{z-index:0;block-size:clamp(8rem,19vw,17rem);inline-size:100%;fill:var(--passport-bg);position:absolute;inset:auto 0 0}.landing-foot{isolation:isolate;background:var(--passport-bg);color:var(--passport-ink);margin-block-start:-1px;padding:clamp(1rem,3vw,2rem) clamp(1rem,4vw,3.5rem) 1.25rem;position:relative;overflow:hidden}.landing-foot:before{content:"";z-index:-1;background:repeating-radial-gradient(circle at 12% 120%, #0000 0 11px, color-mix(in oklab, var(--passport-ink) 7%, transparent) 11px 12px), repeating-radial-gradient(circle at 88% 120%, #0000 0 11px, color-mix(in oklab, var(--foil) 7%, transparent) 11px 12px);pointer-events:none;position:absolute;inset:0;-webkit-mask:linear-gradient(#0000,#000 45%);mask:linear-gradient(#0000,#000 45%)}.landing-foot-grid,.landing-foot-mrz,.landing-foot-end{max-inline-size:72rem;margin-inline:auto}.landing-foot-grid{border-block-end:1.5px dashed color-mix(in oklab, var(--foil) 60%, transparent);grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr)) auto;align-items:start;gap:2rem;padding-block-end:clamp(1.5rem,3vw,2rem);display:grid}.landing-foot .wordmark{color:var(--passport-ink);font-size:1.4rem}.landing-foot .brand-icon{background:var(--passport-ink);border-radius:50%;padding:2px}.landing-foot-brand p{max-inline-size:22rem;color:color-mix(in oklab, var(--passport-ink) 80%, transparent);margin:.9rem 0 0;line-height:1.55}.landing-foot .landing-foot-social{gap:.6rem;margin-block-start:1.1rem;display:flex}.landing-foot-social a{border:1.5px solid color-mix(in oklab, var(--foil) 55%, transparent);background:color-mix(in oklab, var(--passport-ink) 10%, transparent);block-size:2.75rem;inline-size:2.75rem;color:var(--passport-ink);transition:background var(--t-base) var(--ease), color var(--t-base) var(--ease), rotate var(--t-base) var(--ease);border-radius:50%;place-items:center;display:grid}.landing-foot-social a:hover,.landing-foot-social a:focus-visible{background:var(--foil);color:var(--passport-bg);rotate:-10deg}.landing-foot-social svg{fill:currentColor;block-size:1.25rem;inline-size:1.25rem}.landing-foot-top{border:1.5px dashed color-mix(in oklab, var(--foil) 75%, transparent);border-radius:var(--r-sm);font:700 .85rem / 1 var(--f-display);color:var(--passport-ink);align-items:center;gap:.5rem;margin-block-start:1.25rem;padding:.6rem 1rem;text-decoration:none;display:inline-flex}.landing-foot-top svg{inline-size:1rem;fill:var(--foil);transition:translate var(--t-base) var(--ease);rotate:-30deg}.landing-foot-top:hover svg,.landing-foot-top:focus-visible svg{translate:3px -4px}.landing-foot nav h2{letter-spacing:.22em;text-transform:uppercase;color:var(--foil);margin:0 0 1rem;font:500 .7rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.landing-foot ul{gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.landing-foot nav a{font:600 .95rem / 1.2 var(--f-display);color:color-mix(in oklab, var(--passport-ink) 88%, transparent);text-decoration:none}.landing-foot nav li{position:relative}.landing-foot nav li:before{content:"";background:var(--foil);opacity:0;block-size:.8rem;inline-size:.8rem;transition:opacity var(--t-base) var(--ease), translate var(--t-base) var(--ease);position:absolute;inset:.15em auto auto -1.2rem;translate:-.5rem .3rem;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 11.5 22 3l-6.5 18-3.2-7.3L2 11.5Z'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 11.5 22 3l-6.5 18-3.2-7.3L2 11.5Z'/%3E%3C/svg%3E") 50%/contain no-repeat}.landing-foot nav li:has(a:hover,a:focus-visible):before{opacity:1;translate:0}.landing-foot nav a:hover,.landing-foot nav a:focus-visible{color:var(--foil);-webkit-text-decoration:underline dashed var(--foil) 1.5px;text-decoration:underline dashed var(--foil) 1.5px;text-underline-offset:.3em}.landing-foot-seal{display:block;position:relative}.landing-foot-seal:before{content:"";background:var(--foil);opacity:.55;position:absolute;inset:22% 55% 22% -5.5rem;rotate:-12deg;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='12'%3E%3Cpath d='M0 6c5-6 15-6 20 0s15 6 20 0' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E"),linear-gradient(90deg,#0000,#000 60%);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='12'%3E%3Cpath d='M0 6c5-6 15-6 20 0s15 6 20 0' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3C/svg%3E"),linear-gradient(90deg,#0000,#000 60%);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:40px 25%,auto;mask-size:40px 25%,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:border-box,border-box;mask-clip:border-box,border-box;-webkit-mask-origin:border-box,border-box;mask-origin:border-box,border-box;-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.landing-foot-stamp{opacity:.9;block-size:7rem;inline-size:7rem;transition:rotate .5s var(--ease-stamp);position:relative;rotate:-12deg}.landing-foot-seal:hover .landing-foot-stamp{rotate:8deg}.landing-foot-emboss{font:800 clamp(2.3rem, 8.6vw, 9.5rem) / .9 var(--f-display);letter-spacing:-.04em;text-align:center;text-transform:uppercase;white-space:nowrap;color:color-mix(in oklab, var(--passport-bg), #000 16%);text-shadow:0 1px 0 color-mix(in oklab, var(--passport-ink) 22%, transparent), 0 -1px 0 oklab(0% none none/.3);margin:clamp(1.25rem,3vw,2rem) 0 0}.landing-foot-mrz{letter-spacing:.35em;white-space:nowrap;color:color-mix(in oklab, var(--passport-ink) 50%, transparent);gap:.2rem;margin-block-start:1.25rem;font:500 clamp(.6rem,1.3vw,.85rem)/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;display:grid;overflow:hidden}.landing-foot-emboss{position:relative}@media (prefers-reduced-motion:no-preference){.landing-foot-emboss:after{content:attr(data-text);color:#0000;text-shadow:none;background:linear-gradient(105deg, #0000 40%, color-mix(in oklab, var(--foil) 60%, transparent) 50%, #0000 60%) 200% 0 / 200% 100% no-repeat;transition:background-position 1.4s var(--ease);-webkit-background-clip:text;background-clip:text;position:absolute;inset:0}.landing-foot:hover .landing-foot-emboss:after{background-position:-100% 0}}.landing-foot-end{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;margin-block-start:.9rem;display:flex}.landing-foot-credit{border-inline-start:1px solid color-mix(in oklab, var(--passport-ink) 30%, transparent);margin-inline-start:.75rem;padding-inline-start:.75rem;display:inline-block}.landing-foot-credit a{color:var(--foil);font-weight:700;text-decoration:none}.landing-foot-credit a:hover,.landing-foot-credit a:focus-visible{text-underline-offset:.3em;-webkit-text-decoration:underline dashed;text-decoration:underline dashed;text-decoration-thickness:1.5px}.landing-foot-sign{color:var(--foil);justify-items:center;margin:0;display:grid}.landing-foot-sign svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;order:-1;inline-size:7rem}.landing-foot-sign span{border-block-start:1px dashed color-mix(in oklab, var(--passport-ink) 40%, transparent);letter-spacing:.2em;text-transform:uppercase;color:color-mix(in oklab, var(--passport-ink) 55%, transparent);padding-block-start:.3rem;font:500 .6rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.landing-foot-legal{color:color-mix(in oklab, var(--passport-ink) 62%, transparent);margin:0;font-size:.75rem}@media (width<=860px){.landing-foot-grid{grid-template-columns:1fr 1fr}.landing-foot-brand{grid-area:1/1}.landing-foot-stamp{grid-area:1/2;justify-self:end;block-size:5rem;inline-size:5rem}}@media (width<=720px){.landing-send-note,.landing-send-thing.is-bit{display:none}.landing-send-thing.is-postcard{inset:34% 2% auto auto}.landing-send-thing.is-passport{inset:auto auto 10% 4%}.landing-send-thing.is-plane{inset-inline-start:30%}}@media (prefers-reduced-motion:reduce){.landing-send-thing{animation:none}.landing-send-window img,.landing-foot-social a,.landing-foot-stamp,.landing-foot nav li:before,.landing-foot-top svg{transition:none}}@media (width<=1024px){.landing-nav{display:none}}.landing-hero{box-sizing:border-box;background:radial-gradient(55% 70% at 72% 42%, color-mix(in oklab, var(--surface) 70%, transparent), transparent 70%);isolation:isolate;align-content:center;min-block-size:clamp(30rem,100dvh - 4.5rem,50rem);padding:1.5rem clamp(1rem,4vw,3.5rem) 2.5rem;display:grid;position:relative;overflow:hidden}.landing-hero:after{content:"";z-index:2;pointer-events:none;opacity:.3;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .3  0 0 0 0 .25  0 0 0 0 .2  0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.landing-stage{z-index:0;animation:rise .8s var(--ease) both;position:absolute;inset:0}.landing-stage canvas{block-size:100%;inline-size:100%;display:block}.landing-stage canvas.is-pointing{cursor:pointer}.landing-stage .landing-glo{z-index:1;aspect-ratio:1;block-size:auto;inline-size:min(24vw,44vh,24rem);animation:glo-in 1.1s .6s var(--ease-stamp) both;position:absolute;bottom:14%;right:4%}.landing-stage .glo-stage canvas{cursor:pointer}.landing-copy{z-index:1;pointer-events:none;gap:clamp(1rem,3.2vh,1.75rem);inline-size:min(46%,42rem);display:grid;position:relative}.landing-copy>*{pointer-events:auto}.landing-word{animation:landing-word .9s var(--ease) both;display:inline-block}.landing-copy h1>span:nth-of-type(2){animation-delay:60ms}.landing-copy h1>span:nth-of-type(3){animation-delay:.12s}.landing-copy h1>span:nth-of-type(4){animation-delay:.18s}.landing-copy h1>span:nth-of-type(5){animation-delay:.24s}.landing-copy h1>span:nth-of-type(6){animation-delay:.3s}.landing-copy h1>span:nth-of-type(7){animation-delay:.36s}.landing-copy h1>span:nth-of-type(n+8){animation-delay:.42s}@keyframes landing-word{0%{opacity:0;transform:translateY(.45em)rotate(2deg)}}.landing-hint{color:var(--red);transform-origin:0;animation:rise .8s .3s var(--ease) both;align-items:flex-end;gap:.25rem;margin:-.5rem 0 0;font:700 1.45rem/1.1 Caveat,Segoe Print,cursive;display:flex;transform:rotate(-3deg)}.landing-hint svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;flex:none;block-size:2.25rem;inline-size:4.5rem}.landing-copy h1{font:800 clamp(2.2rem, min(5.2vw, 9.5vh), 5.2rem) / .98 var(--f-display);letter-spacing:-.035em;text-wrap:balance;margin:0}.landing-soft{color:var(--muted);font-weight:600}.landing-circled{white-space:nowrap;color:var(--red);font-style:italic;position:relative}.landing-circled svg{pointer-events:none;block-size:136%;inline-size:118%;position:absolute;top:-16%;left:-9%;overflow:visible}.landing-circled path{fill:none;stroke:var(--red);stroke-width:3px;stroke-linecap:round;stroke-dasharray:900;stroke-dashoffset:900px;animation:1.1s cubic-bezier(.6,.1,.3,1) 1.1s forwards landing-draw}@keyframes landing-draw{to{stroke-dashoffset:0}}.landing-lede{max-inline-size:30rem;color:var(--muted);margin:0;font-size:1.12rem}.landing-cta{border-radius:var(--r);background:var(--red);color:var(--on-red);font:700 1rem var(--f-display);transition:transform .2s var(--ease), background .2s var(--ease);justify-self:start;align-items:center;gap:.75rem;padding:1rem 1.5rem;text-decoration:none;display:inline-flex}.landing-cta:hover{background:var(--red-deep);transform:translateY(-2px)}.landing-cta svg{fill:currentColor;block-size:1.25rem;inline-size:1.25rem;transition:transform .3s var(--ease)}.landing-cta:hover svg{transform:translate(4px,-4px)rotate(-8deg)}@media (width<=480px){.landing-tools .theme-toggle{display:none}.landing-top{gap:.75rem}.landing-login{margin-inline-start:0;padding:.55rem .9rem;font-size:.85rem}}@media (width<=860px),(aspect-ratio<=1){.landing-hero{align-content:start;min-block-size:0;padding-block:1rem 0}.landing-copy{inline-size:100%}.landing-stage{order:2;block-size:min(115vw,38rem);position:relative}.landing-stage .landing-glo{inline-size:min(42%,15rem);bottom:8%;right:4%}}@media (prefers-reduced-motion:reduce){.landing-word{animation:none}.landing-circled path{stroke-dashoffset:0;animation:none}}.landing-program{background:var(--home-bg);padding:clamp(2.5rem,7vh,4.5rem) clamp(1rem,4vw,3.5rem) clamp(3rem,8vh,5rem)}.landing-program-head{text-align:center;justify-items:center;gap:.75rem;margin-block-end:clamp(1.75rem,4vw,3rem);display:grid}.landing-program-head h2{font:800 clamp(1.8rem, 3.2vw, 2.8rem) / 1.05 var(--f-display);letter-spacing:-.03em;margin:0}.landing-program-head p:last-child{max-inline-size:36rem;color:var(--muted);margin:0}.landing-levels{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:clamp(1rem,2vw,1.5rem);margin:0;padding:0;list-style:none;display:grid}.landing-level{--on-lvl:var(--lightningcss-light,#fff)var(--lightningcss-dark,#18181b);border:1px solid var(--home-line);border-radius:var(--r);background:var(--home-tile);transition:transform var(--t-base) var(--ease), border-color var(--t-base) var(--ease);grid-template-rows:auto auto 1fr auto;gap:.75rem;padding-block-end:1.1rem;display:grid;overflow:hidden}.landing-level:hover{border-color:var(--lvl);transform:translateY(-4px)}.landing-level-head{background:var(--lvl);color:var(--on-lvl);align-items:center;gap:.7rem;padding:.8rem 1rem;display:flex}.landing-level-code{letter-spacing:.04em;border:1.5px solid;border-radius:50%;place-items:center;block-size:2.1rem;inline-size:2.1rem;font:700 .72rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:grid}.landing-level-photo{aspect-ratio:4/3;object-fit:cover;background:var(--home-line);inline-size:100%}.landing-level h3{font:700 1.1rem / 1.1 var(--f-display);letter-spacing:-.01em;margin:0}.landing-level p{color:var(--muted);margin:0 1rem;font-size:.92rem}.landing-level a{color:var(--ink);font:700 .9rem var(--f-display);border-block-end:2px solid var(--lvl);justify-self:start;margin:.25rem 1rem 0;text-decoration:none}.landing-level a:hover{color:var(--lvl)}@media (prefers-reduced-motion:reduce){.landing-level{transition:none}.landing-level:hover{transform:none}}.landing-nav a[href]{cursor:pointer;transition:color .2s var(--ease);text-decoration:none}.landing-nav a[href]:hover{color:var(--passport-ink)}.landing-nav a[href][aria-current]:hover{color:var(--foil)}.landing-burger{border:1.5px solid color-mix(in oklab, var(--passport-ink) 40%, transparent);block-size:2.5rem;inline-size:2.5rem;color:var(--passport-ink);cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;display:none}.landing-burger svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;block-size:1.25rem;inline-size:1.25rem}.landing-menu{border-radius:var(--r);background:radial-gradient(120% 140% at 30% -30%, color-mix(in oklab, var(--passport-ink) 14%, transparent), transparent 60%), var(--passport-bg);inline-size:min(17rem,100vw - 1.5rem);color:var(--passport-ink);box-shadow:0 24px 40px -20px var(--shade);outline:1.5px dashed color-mix(in oklab, var(--foil) 60%, transparent);outline-offset:-.35rem;border:0;margin:0;padding:.6rem;inset:4.6rem .75rem auto auto}.landing-menu:popover-open{animation:rise .25s var(--ease) both;display:grid}.landing-menu a,.landing-menu-soon{border-bottom:1px solid color-mix(in oklab, var(--passport-ink) 14%, transparent);font:600 .8rem / 1 var(--f-display);letter-spacing:.18em;text-transform:uppercase;color:var(--passport-ink);justify-content:space-between;align-items:center;padding:.9rem;text-decoration:none;display:flex}.landing-menu a[aria-current]{color:var(--foil)}.landing-menu-soon{color:color-mix(in oklab, var(--passport-ink) 55%, transparent)}.landing-menu-soon small{font:500 .6rem / 1 var(--f-mono);letter-spacing:.16em}.landing-menu-tools{gap:.5rem;margin:.6rem .4rem .2rem;display:none}@media (width<=480px){.landing-tools .lang-toggle{display:none}.landing-menu-tools{display:flex}}@media (width<=380px){.landing-top .landing-login{padding:.5rem .75rem;font-size:.8rem}}@media (width<=1024px){.landing-burger{display:grid}}@media (prefers-reduced-motion:reduce){.landing-menu:popover-open{animation:none}}.info-hero{isolation:isolate;background:radial-gradient(55% 70% at 72% 50%, color-mix(in oklab, var(--red) 9%, transparent), transparent 70%), radial-gradient(40% 50% at 10% 85%, color-mix(in oklab, var(--amber) 14%, transparent), transparent 70%), var(--home-bg);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(2rem,5vw,4.5rem);min-block-size:calc(100dvh - 4.5rem);padding:clamp(2.5rem,7vh,4.5rem) clamp(1rem,4vw,3.5rem);display:grid;position:relative;overflow:clip}.info-hero:before,.info-hero:after{content:"";z-index:-1;pointer-events:none;position:absolute;inset:0}.info-hero:before{background:var(--red);opacity:.11;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='36'%3E%3Cg fill='none' stroke='%23000' stroke-width='1'%3E%3Cpath d='M0 18q30-14 60 0t60 0 60 0 60 0'/%3E%3Cpath d='M0 18q30 14 60 0t60 0 60 0 60 0'/%3E%3C/g%3E%3C/svg%3E"),radial-gradient(65% 85% at 75% 45%,#000 20%,#0000 75%);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='36'%3E%3Cg fill='none' stroke='%23000' stroke-width='1'%3E%3Cpath d='M0 18q30-14 60 0t60 0 60 0 60 0'/%3E%3Cpath d='M0 18q30 14 60 0t60 0 60 0 60 0'/%3E%3C/g%3E%3C/svg%3E"),radial-gradient(65% 85% at 75% 45%,#000 20%,#0000 75%);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:240px 36px,auto;mask-size:240px 36px,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:border-box,border-box;mask-clip:border-box,border-box;-webkit-mask-origin:border-box,border-box;mask-origin:border-box,border-box;-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.info-deco{z-index:0;pointer-events:none;position:absolute;inset:0}.info-hero>:not(.info-deco){z-index:1;position:relative}.info-ghost{opacity:.07;position:absolute}.info-ghost-1{inline-size:clamp(7rem,13vw,11rem);bottom:6%;left:38%;rotate:14deg}.info-ghost-2{inline-size:clamp(5rem,8vw,7rem);top:7%;left:47%;rotate:-18deg}.info-flight{inline-size:20%;position:absolute;top:31%;left:37%;overflow:visible}.info-flight>path{fill:none;stroke:var(--red);stroke-width:2px;stroke-dasharray:3 9;stroke-linecap:round;opacity:.7}.info-flight g path{fill:var(--red)}.info-flight-note{color:var(--red);white-space:nowrap;animation:rise .8s .9s var(--ease) both;font:700 clamp(1.1rem,1.7vw,1.5rem)/1 Caveat,Segoe Print,cursive;position:absolute;top:25%;left:41%;rotate:-8deg}@media (width<=860px){.info-deco{display:none}}.info-hero:after{opacity:.25;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .3  0 0 0 0 .25  0 0 0 0 .2  0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.info-copy{gap:clamp(.7rem,2.6vh,1.6rem);max-inline-size:38rem;display:grid}.info-copy .landing-label{color:var(--muted)}.info-copy h1{font:800 clamp(1.8rem, min(4.3vw, 7.2vh), 4rem) / 1.02 var(--f-display);letter-spacing:-.035em;text-wrap:balance;gap:clamp(.4rem,1.6vh,.9rem);margin:0;display:grid}.info-sign{border:1.5px solid var(--home-line);border-radius:var(--r-sm);background:var(--home-tile);color:var(--red);letter-spacing:0;box-shadow:0 16px 30px -20px var(--shade);animation:info-sign .9s var(--ease-stamp) both;justify-self:start;padding:.05em .45em .12em;font:700 clamp(2.6rem,min(7.5vw,11vh),6.5rem)/1 Caveat,Segoe Print,cursive;position:relative;rotate:-3deg}.info-sign:before{content:"";background:color-mix(in oklab, var(--amber) 55%, transparent);block-size:1.15rem;inline-size:4.5rem;position:absolute;top:-.55rem;left:50%;translate:-50%;rotate:5deg}.info-line .landing-circled{margin-inline-start:.2em}.info-line{animation:rise .8s .25s var(--ease) both}.info-lede{max-inline-size:32rem;color:var(--muted);animation:rise .8s .4s var(--ease) both;margin:0;font-size:clamp(.95rem,2.1vh,1.12rem)}.info-actions{animation:rise .8s .5s var(--ease) both;flex-wrap:wrap;align-items:center;gap:1rem 1.75rem;display:flex}.info-collage{aspect-ratio:1.08;justify-self:end;inline-size:100%;max-inline-size:48rem;position:relative}.info-route{fill:none;block-size:100%;inline-size:100%;stroke:var(--red);stroke-width:2px;stroke-dasharray:2 10;stroke-linecap:round;opacity:.5;position:absolute;inset:0}.info-photo{border-radius:var(--r-sm);background:var(--home-tile);box-shadow:0 24px 40px -26px var(--shade), 0 2px 6px -3px var(--shade);transition:rotate .3s var(--ease), scale .3s var(--ease);animation:info-drop .9s var(--ease) both;margin:0;padding:.55rem .55rem 0;position:absolute}.info-photo:hover{z-index:5;rotate:0deg;scale:1.03}.info-photo img{object-fit:cover;border-radius:3px;inline-size:100%;display:block}.info-photo figcaption{color:var(--muted);text-align:center;padding:.4rem .25rem .55rem;font:700 clamp(1.1rem,1.8vw,1.4rem)/1 Caveat,Segoe Print,cursive}.info-photo-0{z-index:2;inline-size:66%;top:18%;left:0;rotate:-2deg}.info-photo-0 img{aspect-ratio:16/10}.info-photo-0 figcaption{text-align:start}.info-photo-1{z-index:3;inline-size:32%;animation-delay:.15s;top:2%;right:0;rotate:5deg}.info-photo-1 img{aspect-ratio:3/4}.info-photo-2{z-index:4;inline-size:44%;animation-delay:.3s;bottom:0;right:5%;rotate:3deg}.info-photo-2 img{aspect-ratio:4/3}.info-bubble{background:var(--ink);color:var(--paper);font:700 clamp(.8rem, 1.2vw, .95rem) / 1.2 var(--f-display);white-space:nowrap;box-shadow:0 10px 20px -14px var(--shade);animation:info-pop .5s 1.1s var(--ease-stamp) both;border-radius:1rem 1rem 1rem .25rem;padding:.5rem .9rem;position:absolute}.info-photo-0 .info-bubble{background:var(--red);color:var(--on-red);top:-1rem;right:10%}.info-photo-1 .info-bubble{border-radius:1rem 1rem .25rem;animation-delay:1.4s;bottom:28%;left:-2.5rem}.info-photo-2 .info-bubble{animation-delay:1.7s;top:-1.1rem;left:-1rem}.info-stamp{z-index:5;opacity:.85;pointer-events:none;inline-size:clamp(5rem,9vw,7.5rem);animation:info-stamp .6s .9s var(--ease-stamp) both;position:absolute;bottom:4%;left:8%;rotate:-14deg}@keyframes info-sign{0%{opacity:0;rotate:-14deg;scale:1.25}}@keyframes info-drop{0%{opacity:0;translate:0 -2rem}}@keyframes info-pop{0%{opacity:0;scale:.5}}@keyframes info-stamp{0%{opacity:0;scale:1.8}}@media (width>=861px){.info-hero{box-sizing:border-box;grid-template-rows:minmax(0,1fr);block-size:calc(100dvh - 4.4rem);min-block-size:27rem;padding-block:clamp(1.25rem,5vh,3.5rem)}.info-collage{inline-size:min(100%,48rem,1.08*max(100dvh,31.4rem) - 6.372rem - 1.08*clamp(2.5rem,10vh,7rem))}}@media (width<=860px){.info-hero{grid-template-columns:minmax(0,1fr);min-block-size:0}.info-collage{justify-self:center;max-inline-size:34rem}}@media (width<=520px){.info-photo-0{inline-size:74%}.info-photo-1{inline-size:34%}.info-photo-2{inline-size:52%;right:0}.info-photo figcaption{font-size:1rem}.info-stamp{bottom:2%;left:2%}.info-photo-1 .info-bubble{left:-1rem}}@media (prefers-reduced-motion:reduce){.info-hero *,.info-hero .landing-circled path{transition:none;animation:none}.info-hero .landing-circled path{stroke-dashoffset:0}}.info-perks{gap:clamp(1.5rem,4vh,2.75rem);padding:clamp(3rem,8vh,5.5rem) clamp(1rem,4vw,3.5rem);display:grid}.info-perks-head{text-align:center;justify-items:center;gap:.6rem;margin-block-end:1rem;display:grid}.info-perks-head .landing-label{color:var(--muted)}.info-perks h2,.info-modes h2{font:800 clamp(1.7rem, 3.4vw, 2.6rem) / 1.05 var(--f-display);letter-spacing:-.03em;text-wrap:balance;margin:0}.info-perks h2 em,.info-modes h2 em{color:var(--red)}.info-perks-lede{max-inline-size:32rem;color:var(--muted);margin:0;line-height:1.55}.info-perks-row{--rope:color-mix(in oklab, var(--ink) 45%, transparent);grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2vw,1.75rem);inline-size:100%;max-inline-size:72rem;margin:0 auto;padding:0;list-style:none;display:grid;position:relative}.info-perks-row:before{content:"";border-top:2px solid var(--rope);pointer-events:none;border-radius:50%/100% 100% 0 0;block-size:2.5rem;position:absolute;inset:-.6rem -1rem auto;translate:0 -1.9rem;rotate:180deg}.info-perk{--drop:1.6rem;--c:var(--l-pa1);transform-origin:50% 0;filter:drop-shadow(0 14px 16px color-mix(in oklab, var(--shade) 22%, transparent));transition:rotate .4s var(--ease-stamp);padding-block-start:var(--drop);position:relative;rotate:-2deg}.info-perk:nth-child(2){--drop:2.6rem;--c:var(--red);rotate:1.5deg}.info-perk:nth-child(3){--drop:2.2rem;--c:var(--l-a2);rotate:-1deg}.info-perk:nth-child(4){--drop:1.4rem;--c:var(--l-a1);rotate:2.5deg}.info-perk:hover{rotate:0deg}.info-perk:before{content:"";block-size:calc(var(--drop) + 1.35rem);border-left:2px solid var(--rope);position:absolute;top:0;left:50%}.info-perk-tag{box-sizing:border-box;background:radial-gradient(circle .55rem at 50% 1.35rem, var(--home-bg) 96%, transparent), radial-gradient(circle .85rem at 50% 1.35rem, var(--foil) 96%, transparent), linear-gradient(var(--c) 0 2.7rem, var(--home-tile) 0);clip-path:polygon(18% 0,82% 0,100% 2.2rem,100% 100%,0 100%,0 2.2rem);border-radius:0 0 var(--r) var(--r);justify-items:start;gap:.55rem;block-size:100%;padding:2.6rem 1.35rem 1.5rem;display:grid}.info-perk-icon{border:1.5px solid var(--c);block-size:3.6rem;inline-size:3.6rem;color:var(--c);background:var(--home-tile);border-radius:50%;place-items:center;margin-block-start:.5rem;display:grid;overflow:hidden}.info-perk-icon svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;block-size:1.6rem;inline-size:1.6rem}.info-perk-icon img{object-fit:cover;block-size:100%;inline-size:100%}.info-perk-kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--c);margin:.3rem 0 0;font:500 .66rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.info-perk h3{font:700 1.12rem / 1.2 var(--f-display);letter-spacing:-.015em;text-wrap:balance;margin:0}.info-perk-tag>p:last-child{color:var(--muted);margin:0;font-size:.95rem;line-height:1.5}@media (width<=960px){.info-perks-row{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2.5rem}.info-perks-row:before{display:none}}@media (width<=560px){.info-perks-row{grid-template-columns:minmax(0,1fr);max-inline-size:24rem}}@media (prefers-reduced-motion:reduce){.info-perk{transition:none}}.info-modes{gap:clamp(1.5rem,4vh,2.75rem);padding:clamp(2rem,6vh,4rem) clamp(1rem,4vw,3.5rem) clamp(3.5rem,9vh,6rem);display:grid}.info-passport{box-sizing:border-box;background:radial-gradient(120% 140% at 30% -20%, color-mix(in oklab, var(--passport-ink) 14%, transparent), transparent 60%), var(--passport-bg);inline-size:100%;max-inline-size:64rem;box-shadow:0 40px 60px -40px var(--shade), 0 4px 12px -6px var(--shade);border-radius:1.1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:1.5rem auto 0;padding:clamp(.5rem,1.2vw,.85rem);display:grid;position:relative}.info-passport:after{content:"";z-index:1;border-left:1.5px dashed color-mix(in srgb, var(--cert-ink) 28%, transparent);pointer-events:none;position:absolute;top:1.4rem;bottom:1.4rem;left:50%}.info-passport-or{color:var(--red);white-space:nowrap;margin:0;font:700 clamp(1.2rem,1.9vw,1.55rem)/1 Caveat,Segoe Print,cursive;position:absolute;top:-2.3rem;left:50%;translate:-50%;rotate:-4deg}.info-visa{--c:var(--red);--spine:to left;color:var(--cert-ink);background:linear-gradient(var(--spine), color-mix(in srgb, var(--cert-ink) 16%, transparent), transparent 10%), repeating-radial-gradient(circle at 50% 115%, transparent 0 11px, color-mix(in srgb, var(--c) 9%, transparent) 11px 12px), var(--visa-paper);border-radius:.6rem 0 0 .6rem;align-content:start;gap:.9rem;padding:clamp(1.25rem,3vw,2.25rem);display:grid;position:relative}.info-visa:nth-of-type(2){--c:var(--l-pa1);--spine:to right;border-radius:0 .6rem .6rem 0}.info-visa-top{border-bottom:1px solid color-mix(in srgb, var(--cert-ink) 15%, transparent);font:500 .66rem / 1 var(--f-mono);letter-spacing:.22em;text-transform:uppercase;color:color-mix(in srgb, var(--cert-ink) 60%, transparent);justify-content:space-between;gap:1rem;margin:0;padding-block-end:.7rem;display:flex}.info-visa-photo{background:var(--cert-paper);inline-size:min(100%,21rem);box-shadow:0 14px 24px -16px var(--cert-ink);transition:rotate .35s var(--ease);justify-self:start;margin:.6rem 0 0;padding:.45rem .45rem 0;position:relative;rotate:-2deg}.info-visa:nth-of-type(2) .info-visa-photo{rotate:2deg}.info-visa:hover .info-visa-photo{rotate:0deg}.info-visa-photo:before{content:"";z-index:1;background:color-mix(in oklab, var(--amber) 60%, transparent);block-size:1.15rem;inline-size:4.5rem;position:absolute;top:-.6rem;left:50%;translate:-50%;rotate:-4deg}.info-visa-photo img{aspect-ratio:4/3;object-fit:cover;inline-size:100%;display:block}.info-visa-photo figcaption{color:color-mix(in srgb, var(--cert-ink) 65%, transparent);text-align:center;padding:.3rem 0 .45rem;font:700 1.25rem/1 Caveat,Segoe Print,cursive}.info-visa h3{font:800 clamp(1.7rem, 3vw, 2.3rem) / 1 var(--f-display);letter-spacing:-.03em;margin:.3rem 0 0}.info-visa dl{grid-template-columns:minmax(0,1fr);gap:.55rem;margin:0;display:grid}.info-visa dl>div{border-bottom:1px dotted color-mix(in srgb, var(--cert-ink) 32%, transparent);grid-template-columns:6.5rem minmax(0,1fr);align-items:baseline;gap:.75rem;padding-block-end:.3rem;display:grid}.info-visa dt{font:500 .64rem / 1 var(--f-mono);letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb, var(--cert-ink) 60%, transparent);align-self:baseline}.info-visa dd{margin:0;font:700 1.4rem/1.1 Caveat,Segoe Print,cursive}.info-visa-cta{border-radius:var(--r);background:var(--passport-bg);color:var(--passport-ink);font:700 .95rem / 1 var(--f-display);transition:translate .2s var(--ease);justify-self:start;align-items:center;gap:.55rem;margin-block-start:.5rem;padding:.8rem 1.2rem;text-decoration:none;display:inline-flex}.info-visa-cta:hover{translate:0 -2px}.info-visa-cta svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;block-size:1.1rem;inline-size:1.1rem}.info-visa-stamp{opacity:.8;mix-blend-mode:multiply;pointer-events:none;inline-size:clamp(5.5rem,9vw,7rem);position:absolute;bottom:clamp(9rem,15vw,10.5rem);right:clamp(.75rem,2vw,1.5rem);rotate:-14deg}.info-visa:nth-of-type(2) .info-visa-stamp{rotate:10deg}@media (width<=760px){.info-passport{grid-template-columns:minmax(0,1fr);max-inline-size:30rem}.info-passport:after{border-left:0;border-top:1.5px dashed color-mix(in srgb, var(--cert-ink) 28%, transparent);inset:50% 1.4rem auto}.info-visa{--spine:to top;border-radius:.6rem .6rem 0 0}.info-visa:nth-of-type(2){--spine:to bottom;border-radius:0 0 .6rem .6rem}}@media (prefers-reduced-motion:reduce){.info-visa-photo,.info-visa-cta{transition:none}}.info-block{box-sizing:border-box;gap:clamp(1.5rem,4vh,2.5rem);inline-size:100%;max-inline-size:calc(68rem + 2*clamp(1rem,4vw,3.5rem));margin:0 auto;padding:clamp(3rem,8vh,5rem) clamp(1rem,4vw,3.5rem);display:grid}.info-head{gap:.6rem;display:grid}.info-head .landing-label{color:var(--muted)}.info-head h2,.info-admission h2{font:800 clamp(1.7rem, 3.2vw, 2.5rem) / 1.05 var(--f-display);letter-spacing:-.03em;text-wrap:balance;margin:0}.info-head h2 em{color:var(--red)}.info-link{color:var(--red);font:700 .95rem / 1 var(--f-display);border-bottom:1.5px solid;justify-self:start;align-items:center;gap:.5rem;padding-block:.35rem;text-decoration:none;display:inline-flex}.info-block svg:not(.info-postcard-waves):not(.stamp),.info-admission-cta svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;block-size:1.1rem;inline-size:1.1rem;transition:translate .2s var(--ease)}.info-link:hover svg,.info-board-gate:hover svg,.info-admission-cta:hover svg{translate:3px}.info-board{border-radius:var(--r);background:var(--cert-ink);color:var(--passport-ink);box-shadow:0 30px 50px -34px var(--shade);padding:clamp(1rem,2.5vw,1.75rem)}.info-board-title{font:600 .72rem / 1 var(--f-mono);letter-spacing:.32em;text-transform:uppercase;color:var(--foil);align-items:center;gap:.6rem;margin:0 0 .5rem;display:flex}.info-board-title:before{content:"";background:var(--foil);border-radius:50%;block-size:.5rem;inline-size:.5rem;animation:2.4s steps(2,jump-none) infinite info-blink}@keyframes info-blink{50%{opacity:.25}}.info-board table{border-collapse:collapse;background:0 0;inline-size:100%;font-size:1rem}.info-board th,.info-board td{color:inherit;font-size:inherit;letter-spacing:normal;text-transform:none;background:0 0;border:0}.info-board tbody tr:hover{background:0 0}.info-board thead th{font:500 .62rem / 1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;text-align:start;color:color-mix(in srgb, var(--passport-ink) 55%, transparent);padding:.9rem .75rem .6rem}.info-board tbody tr{border-top:1px solid color-mix(in srgb, var(--passport-ink) 12%, transparent)}.info-board tbody th,.info-board td{text-align:start;vertical-align:top;padding:1.2rem .75rem}.info-flaps{gap:3px;display:inline-flex}.info-flaps span{background:linear-gradient(color-mix(in srgb, var(--passport-ink) 11%, transparent) 0 calc(50% - .5px), var(--cert-ink) 0 calc(50% + .5px), color-mix(in srgb, var(--passport-ink) 7%, transparent) 0);block-size:1.9em;inline-size:1.5em;font:700 clamp(1rem, 1.7vw, 1.3rem) / 1 var(--f-mono);color:var(--foil);border-radius:3px;place-items:center;display:grid}.info-board-for{white-space:nowrap;font-weight:600}.info-board td ul{color:color-mix(in srgb, var(--passport-ink) 78%, transparent);gap:.4rem;margin:0;padding:0;font-size:.92rem;list-style:none;display:grid}.info-board td li:before{content:"— ";color:var(--foil)}.info-board-gate{border:1px solid var(--foil);border-radius:var(--r-sm);color:var(--foil);font:700 .85rem / 1 var(--f-display);white-space:nowrap;transition:background .2s var(--ease), color .2s var(--ease);align-items:center;gap:.45rem;padding:.6rem .9rem;text-decoration:none;display:inline-flex}.info-board-gate:hover{background:var(--foil);color:var(--cert-ink)}.info-method-intro{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:1.25rem clamp(2rem,6vw,5rem);display:grid}.info-method-intro>div{gap:1rem;display:grid}.info-method-intro p{color:var(--muted);margin:0;line-height:1.6}.info-route-map{grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(1rem,2vw,1.75rem);margin:.75rem 0 0;padding:0;list-style:none;display:grid;position:relative}.info-route-map:before{content:"";border-top:3px solid var(--red);position:absolute;top:.5rem;left:0;right:0}.info-route-map li{align-content:start;gap:.45rem;padding-block-start:2.3rem;display:grid;position:relative}.info-route-map li:before{content:"";box-sizing:border-box;border:3px solid var(--red);background:var(--home-bg);border-radius:50%;block-size:1.15rem;inline-size:1.15rem;position:absolute;top:0;left:0}.info-route-map li:last-child:before{background:var(--red)}.info-stop-n{font:500 .62rem / 1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.info-route-map h3{font:700 1.02rem / 1.25 var(--f-display);letter-spacing:-.01em;margin:0}.info-route-map p{color:var(--muted);margin:0;font-size:.93rem;line-height:1.55}.info-postcards{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.25rem,3vw,2.25rem);display:grid}.info-postcard{background:var(--visa-paper);color:var(--cert-ink);box-shadow:0 22px 36px -26px var(--shade), 0 2px 5px -3px var(--shade);transition:rotate .35s var(--ease);grid-template-rows:1fr auto;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);column-gap:clamp(1rem,2vw,1.5rem);margin:0;padding:clamp(1.25rem,2.5vw,1.75rem);display:grid;rotate:-1deg}.info-postcard:nth-child(2){rotate:1.2deg}.info-postcard:hover{rotate:0deg}.info-postcard blockquote{margin:0;font-size:.98rem;line-height:1.6}.info-postcard figcaption{gap:.25rem;margin-block-start:1rem;display:grid}.info-postcard-sign{font:700 1.6rem/1 Caveat,Segoe Print,cursive}.info-postcard-role{font:500 .6rem / 1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:color-mix(in srgb, var(--cert-ink) 60%, transparent)}.info-postcard-side{border-left:1px solid color-mix(in srgb, var(--cert-ink) 25%, transparent);grid-area:1/2/span 2;grid-template-rows:auto 1fr auto;padding-inline-start:clamp(1rem,2vw,1.5rem);display:grid;position:relative}.info-postcard-stamp{border:4px dotted var(--visa-paper);outline:1px solid color-mix(in srgb, var(--passport-bg) 40%, transparent);outline-offset:-8px;background:var(--passport-bg);block-size:4.4rem;inline-size:3.6rem;color:var(--passport-ink);font:800 1.5rem / 1 var(--f-display);justify-self:end;place-items:center;display:grid}.info-postcard-mark{opacity:.55;inline-size:4.4rem;position:absolute;top:1.6rem;right:2.2rem;rotate:-14deg}.info-postcard-waves{fill:none;inline-size:5.5rem;stroke:color-mix(in srgb, var(--cert-ink) 45%, transparent);stroke-width:1.2px;position:absolute;top:2.6rem;right:-.4rem}.info-postcard-to{border-bottom:1px solid color-mix(in srgb, var(--cert-ink) 30%, transparent);background:linear-gradient(color-mix(in srgb, var(--cert-ink) 30%, transparent), color-mix(in srgb, var(--cert-ink) 30%, transparent)) 0 1.2rem / 100% 1px no-repeat;grid-row:3;padding-block:2.6rem .2rem;font:700 1.2rem/1.1 Caveat,Segoe Print,cursive}.info-admission{background:radial-gradient(120% 180% at 20% -40%, color-mix(in oklab, var(--passport-ink) 14%, transparent), transparent 60%), var(--passport-bg);color:var(--passport-ink);padding:clamp(2.75rem,7vh,4.25rem) clamp(1rem,4vw,3.5rem);position:relative}.info-admission:before,.info-admission:after{content:"";border-top:1.5px dashed color-mix(in oklab, var(--foil) 70%, transparent);position:absolute;inset-inline:.6rem}.info-admission:before{top:.5rem}.info-admission:after{bottom:.5rem}.info-admission-inner{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:clamp(1.5rem,5vw,4rem);max-inline-size:68rem;margin:0 auto;display:grid}.info-admission-inner>div:first-child{gap:.8rem;display:grid}.info-admission .landing-label{color:var(--foil)}.info-admission-inner>div:first-child>p:last-child{max-inline-size:36rem;color:color-mix(in oklab, var(--passport-ink) 82%, transparent);margin:0;line-height:1.6}.info-pass{border-radius:var(--r);background:var(--visa-paper);color:var(--cert-ink);gap:1rem;padding:1.5rem clamp(1.25rem,2.5vw,1.75rem);display:grid;rotate:1.5deg;-webkit-mask:radial-gradient(.8rem at 0,#0000 96%,#000) 0/51% 100% no-repeat,radial-gradient(.8rem at 100%,#0000 96%,#000) 100%/51% 100% no-repeat;mask:radial-gradient(.8rem at 0,#0000 96%,#000) 0/51% 100% no-repeat,radial-gradient(.8rem at 100%,#0000 96%,#000) 100%/51% 100% no-repeat}.info-pass-title{border-bottom:1px dashed color-mix(in srgb, var(--cert-ink) 30%, transparent);font:500 .66rem / 1 var(--f-mono);letter-spacing:.22em;text-transform:uppercase;color:color-mix(in srgb, var(--cert-ink) 60%, transparent);margin:0;padding-block-end:.7rem}.info-pass dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0}.info-pass dl>div{gap:.3rem;display:grid}.info-pass dt{font:500 .6rem / 1 var(--f-mono);letter-spacing:.2em;color:color-mix(in srgb, var(--cert-ink) 60%, transparent);align-self:start}.info-pass dd{font:700 1.05rem / 1.2 var(--f-display)}.info-admission-cta{border-radius:var(--r);background:var(--passport-bg);color:var(--passport-ink);font:700 .98rem / 1.2 var(--f-display);transition:translate .2s var(--ease);justify-content:space-between;align-items:center;gap:.6rem;padding:.95rem 1.2rem;text-decoration:none;display:inline-flex}.info-admission-cta:hover{translate:0 -2px}.info-pass-chat{color:var(--cert-ink);font:600 .9rem var(--f-display);text-underline-offset:.35em;justify-self:center}@media (width<=860px){.info-method-intro,.info-admission-inner{grid-template-columns:minmax(0,1fr)}.info-route-map{grid-template-columns:minmax(0,1fr);gap:1.5rem}.info-route-map:before{border-top:0;border-left:3px solid var(--red);inset:.5rem auto .5rem .43rem}.info-route-map li{padding-block-start:0;padding-inline-start:2.1rem}}@media (width<=720px){.info-board thead{display:none}.info-board tbody tr{gap:.7rem;padding-block:1.2rem;display:grid}.info-board tbody th,.info-board td{padding:0}.info-postcards{grid-template-columns:minmax(0,1fr)}}@media (width<=480px){.info-postcard{grid-template-columns:minmax(0,1fr)}.info-postcard-side{border-left:0;border-top:1px solid color-mix(in srgb, var(--cert-ink) 25%, transparent);grid-area:auto/1;margin-block-start:1rem;padding:1rem 0 0}.info-postcard-waves,.info-postcard-mark{display:none}.info-postcard-to{background:0 0;padding-block-start:.5rem}}@media (prefers-reduced-motion:reduce){.info-block svg,.info-postcard,.info-board-gate,.info-admission-cta{transition:none}.info-board-title:before{animation:none}}.mod-trip{--pad:clamp(1rem, 4vw, 3.5rem);isolation:isolate;background:radial-gradient(45% 55% at 80% 30%, color-mix(in oklab, var(--red) 8%, transparent), transparent 70%), radial-gradient(40% 40% at 0% 100%, color-mix(in oklab, var(--amber) 12%, transparent), transparent 70%), var(--home-bg);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);display:grid;position:relative}.mod-trip:after{content:"";z-index:-1;pointer-events:none;opacity:.25;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .3  0 0 0 0 .25  0 0 0 0 .2  0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.mod-pages{min-inline-size:0;padding-inline:var(--pad) clamp(1rem, 3vw, 2.5rem);grid-area:1/1;overflow-x:clip}.mod-hero{box-sizing:border-box;align-content:center;gap:clamp(1rem,3vh,1.6rem);min-block-size:calc(100dvh - 4.4rem);padding-block:2rem 5rem;display:grid;position:relative}.mod-hero>*{animation:rise .7s var(--ease) both}.mod-hero>:nth-child(2){animation-delay:80ms}.mod-hero>:nth-child(3){animation-delay:.16s}.mod-hero>:nth-child(4){animation-delay:.24s}.mod-hero .landing-label,.mod-level .landing-label{color:var(--muted)}.mod-hero h1{font:800 clamp(2.4rem, min(5.6vw, 10vh), 5.4rem) / .98 var(--f-display);letter-spacing:-.035em;text-wrap:balance;margin:0}.mod-actions{flex-wrap:wrap;align-items:center;gap:1rem 1.75rem;display:flex}.mod-scroll{bottom:1.5rem;color:var(--muted);align-items:flex-end;gap:.4rem;margin:0;font:700 1.45rem/1 Caveat,cursive;display:flex;position:absolute;inset-inline-start:0;rotate:-3deg}.mod-scroll svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;block-size:2.25rem;inline-size:1.5rem;animation:1.6s ease-in-out infinite mod-bob}@keyframes mod-bob{50%{translate:0 6px}}.mod-trip:before{content:"";z-index:-1;pointer-events:none;background:var(--red);opacity:.09;position:absolute;inset:0;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='36'%3E%3Cg fill='none' stroke='%23000' stroke-width='1'%3E%3Cpath d='M0 18q30-14 60 0t60 0 60 0 60 0'/%3E%3Cpath d='M0 18q30 14 60 0t60 0 60 0 60 0'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(90deg,#0000 15%,#000 85%);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='36'%3E%3Cg fill='none' stroke='%23000' stroke-width='1'%3E%3Cpath d='M0 18q30-14 60 0t60 0 60 0 60 0'/%3E%3Cpath d='M0 18q30 14 60 0t60 0 60 0 60 0'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(90deg,#0000 15%,#000 85%);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:240px 36px,auto;mask-size:240px 36px,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:border-box,border-box;mask-clip:border-box,border-box;-webkit-mask-origin:border-box,border-box;mask-origin:border-box,border-box;-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.mod-hero,.mod-level{isolation:isolate}.mod-deco{z-index:-1;pointer-events:none;position:absolute;inset:0}.mod-ghost{position:absolute}.mod-ghost .stamp{block-size:auto;inline-size:100%;display:block}.mod-ghost-a{opacity:.08;inline-size:clamp(8rem,13vw,11.5rem);top:9%;right:2%;rotate:14deg}.mod-ghost-b{opacity:.12;inline-size:clamp(4.5rem,7vw,6.5rem);bottom:8%;right:24%;rotate:-18deg}.mod-flight{inline-size:clamp(8rem,16vw,14rem);position:absolute;bottom:20%;right:3%;overflow:visible}.mod-flight>path{fill:none;stroke:var(--red);stroke-width:2px;stroke-dasharray:3 9;stroke-linecap:round;opacity:.55}.mod-flight g path{fill:var(--red)}.mod-level:nth-of-type(odd) .mod-ghost-a{top:auto;bottom:8%;rotate:-10deg}.mod-level:nth-of-type(odd) .mod-ghost-b{top:12%;bottom:auto;right:6%}.mod-level:nth-of-type(odd) .mod-flight{top:14%;bottom:auto;right:18%;scale:-1 1}.mod-level .mod-flight{opacity:0;transition:opacity .8s var(--ease), translate .8s var(--ease);translate:-1.5rem 1rem}.mod-level[data-on] .mod-flight{opacity:1;translate:0}.mod-cta,.mod-level-cta{position:relative;overflow:hidden}.mod-cta{box-shadow:0 18px 30px -14px color-mix(in oklab, var(--red) 75%, transparent);padding:1.15rem 1.75rem;font-size:1.08rem}.mod-cta:after,.mod-level-cta:after{content:"";pointer-events:none;background:linear-gradient(100deg, transparent 30%, color-mix(in oklab, var(--passport-ink) 40%, transparent) 50%, transparent 70%);animation:5s ease-in-out 1.5s infinite mod-shine;position:absolute;inset:0;translate:-120%}@keyframes mod-shine{0%,65%{translate:-120%}to{translate:120%}}.mod-btn-alt{border:2px solid var(--ink);border-radius:var(--r);color:var(--ink);font:700 1rem var(--f-display);transition:background var(--t-base) var(--ease), color var(--t-base) var(--ease);align-items:center;gap:.6rem;padding:1rem 1.4rem;text-decoration:none;display:inline-flex}.mod-btn-alt:hover{background:var(--ink);color:var(--home-bg)}.mod-btn-alt svg,.mod-level-cta svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;block-size:1.15rem;inline-size:1.15rem;transition:translate .2s var(--ease)}.mod-btn-alt:hover svg,.mod-level-cta:hover svg{translate:4px}.mod-bag-foot{margin:1.4rem calc(-1 * var(--bx)) calc(-1 * var(--by));padding:1.2rem var(--bx) 1.35rem;border-top:2px dashed color-mix(in oklab, var(--cert-ink) 25%, transparent);border-radius:0 0 var(--r) var(--r);background:color-mix(in oklab, var(--k-ink) 9%, var(--visa-paper));flex-wrap:wrap;align-items:center;gap:.6rem 1.1rem;display:flex;position:relative}.mod-bag-foot:before,.mod-bag-foot:after{content:"";aspect-ratio:1;background:var(--home-bg);border-radius:50%;inline-size:1.3rem;position:absolute;top:calc(-.65rem - 1px)}.mod-bag-foot:before{left:-.65rem}.mod-bag-foot:after{right:-.65rem}.mod-level-cta{border-radius:var(--r);background:var(--k-ink);color:var(--visa-paper);font:700 1rem / 1.15 var(--f-display);box-shadow:0 14px 24px -12px var(--k-ink);transition:transform .2s var(--ease);align-items:center;gap:.65rem;padding:.95rem 1.4rem;text-decoration:none;display:inline-flex}.mod-level-cta:hover{transform:translateY(-2px)}.mod-bag-via{color:color-mix(in oklab, var(--cert-ink) 65%, transparent);font:700 1.35rem/1 Caveat,cursive;rotate:-2deg}.mod-guide-cta{justify-self:center}.mod-level{--k:var(--l-a1);--k-ink:color-mix(in oklab, var(--k) 70%, var(--cert-ink));isolation:isolate;box-sizing:border-box;border-inline-start:2px dashed color-mix(in oklab, var(--ink) 20%, transparent);align-content:center;gap:1rem;min-block-size:92dvh;padding-block:clamp(3rem,10vh,6rem);padding-inline-start:clamp(1.75rem,4vw,3rem);scroll-margin-top:4.4rem;display:grid;position:relative}.mod-level:nth-of-type(3){--k:var(--l-pa1)}.mod-level:nth-of-type(4){--k:var(--l-b2)}.mod-level:nth-of-type(5){--k:var(--red)}.mod-level:after{content:"";top:calc(50% - .6rem);box-sizing:border-box;aspect-ratio:1;border:2px solid color-mix(in oklab, var(--ink) 30%, transparent);background:var(--home-bg);inline-size:1.2rem;transition:background .4s var(--ease), border-color .4s var(--ease), box-shadow .4s var(--ease);border-radius:50%;position:absolute;inset-inline-start:calc(-.6rem - 1px)}.mod-level[data-on]:after{border-color:var(--k);background:var(--k);box-shadow:0 0 0 6px color-mix(in oklab, var(--k) 20%, transparent)}.mod-level-kicker{flex-wrap:wrap;align-items:center;gap:.4rem 1rem;margin:0;display:flex}.mod-level-note{color:var(--k);font:700 1.5rem/1 Caveat,cursive;rotate:-2deg}.mod-level h2{font:800 clamp(2.5rem, 5.5vw, 4.75rem) / .95 var(--f-display);letter-spacing:-.04em;text-wrap:balance;margin:0}.mod-level-text{max-inline-size:36rem;color:var(--muted);margin:0;font-size:1.08rem}.mod-bag{--bx:1.75rem;--by:1.5rem;max-inline-size:34rem;padding:var(--by) var(--bx);border-radius:var(--r);background:var(--visa-paper);color:var(--cert-ink);outline:1.5px dashed color-mix(in oklab, var(--cert-ink) 22%, transparent);outline-offset:-.55rem;box-shadow:0 26px 44px -30px var(--shade);margin-block:.5rem;position:relative;rotate:-.6deg}.mod-bag-title{font:600 .72rem / 1 var(--f-mono);letter-spacing:.28em;text-transform:uppercase;color:color-mix(in oklab, var(--cert-ink) 60%, transparent);margin:0 0 .9rem}.mod-bag ul{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.mod-bag li{grid-template-columns:1.3rem minmax(0,1fr);align-items:start;gap:.75rem;font-weight:600;line-height:1.35;display:grid}.mod-bag li svg{box-sizing:border-box;border:1.5px solid color-mix(in oklab, var(--cert-ink) 45%, transparent);fill:none;block-size:1.3rem;inline-size:1.3rem;stroke:var(--k-ink);stroke-width:3.2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:22;stroke-dashoffset:22px;transition:stroke-dashoffset .35s calc(.3s + var(--i) * .12s) var(--ease);border-radius:4px}.mod-level[data-on] .mod-bag li svg{stroke-dashoffset:0}.mod-bag-stamp{top:-2.25rem;mix-blend-mode:multiply;pointer-events:none;opacity:0;inline-size:clamp(5.5rem,9vw,7.5rem);position:absolute;inset-inline-end:-1.5rem;rotate:12deg}.mod-bag-stamp .stamp{block-size:auto;inline-size:100%;display:block}.mod-level[data-on] .mod-bag-stamp{opacity:.9;animation:info-stamp .6s .9s var(--ease-stamp) both}.mod-guide{box-sizing:border-box;block-size:calc(100dvh - 4.4rem);padding:clamp(1.5rem, 5vh, 3rem) var(--pad) clamp(1.25rem, 4vh, 2.5rem) 1rem;grid-area:1/2;grid-template-rows:auto auto minmax(0,1fr) auto;gap:1.5rem;display:grid;position:sticky;top:4.4rem}.mod-say{background:var(--surface);min-block-size:2.2em;max-inline-size:22rem;box-shadow:0 18px 36px -24px var(--shade);text-align:center;animation:bubble-in .6s .3s var(--ease-stamp) both;border-radius:1.25rem;justify-self:center;align-items:center;padding:.9rem 1.3rem 1rem;font-size:clamp(1.4rem,2.4vw,2.1rem);display:grid;position:relative}.mod-say:after{content:"";aspect-ratio:1;background:inherit;border-radius:0 0 .3rem;inline-size:1.2rem;position:absolute;bottom:-.55rem;left:50%;translate:-50%;rotate:45deg}.mod-glo-spot{place-items:center;display:grid;position:relative;container-type:size}.mod-glo{aspect-ratio:1;block-size:auto;inline-size:min(100cqi,100cqb,28rem);animation:glo-in 1.1s .2s var(--ease-stamp) both}.mod-itin{position:relative}.mod-itin ol{grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid;position:relative}.mod-itin ol:before,.mod-itin ol:after{content:"";top:calc(.45rem - 1px);position:absolute;inset-inline-start:12.5%}.mod-itin ol:before{border-top:2px dashed color-mix(in oklab, var(--ink) 25%, transparent);inline-size:75%}.mod-itin ol:after{inline-size:calc(var(--at) * 25%);border-top:2px solid var(--red);transition:inline-size .7s var(--ease)}.mod-itin li{text-align:center;justify-items:center;gap:.55rem;display:grid;position:relative}.mod-itin li:before{content:"";z-index:1;box-sizing:border-box;aspect-ratio:1;border:2px solid color-mix(in oklab, var(--ink) 35%, transparent);background:var(--home-bg);inline-size:.9rem;transition:background .4s var(--ease), border-color .4s var(--ease);border-radius:50%}.mod-itin li[data-on]:before{border-color:var(--red);background:var(--red)}.mod-itin a{border-radius:var(--r-sm);color:var(--muted);font:600 .78rem / 1.15 var(--f-display);text-wrap:balance;transition:color var(--t-fast) var(--ease);padding-inline:.2rem;text-decoration:none}.mod-itin a:hover{color:var(--red)}.mod-itin a[aria-current]{color:var(--ink);font-weight:800}.mod-itin-plane{z-index:2;top:-1.05rem;left:calc(12.5% + var(--at) * 25%);block-size:1.4rem;inline-size:1.4rem;fill:var(--red);transition:left .7s var(--ease);position:absolute;translate:-50%;rotate:22deg}@media (width<=860px){.mod-trip{grid-template-columns:minmax(0,1fr)}.mod-pages{grid-row:2}.mod-guide{z-index:3;block-size:auto;padding:.5rem var(--pad);border-bottom:1px solid var(--line);background:color-mix(in oklab, var(--home-bg) 90%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:top .3s var(--ease);grid-area:1/1;grid-template-rows:auto auto;grid-template-columns:4.25rem minmax(0,1fr);align-items:center;gap:.35rem .85rem;top:0}.landing:has(.landing-top:not(.is-hidden)) .mod-guide{top:4.4rem}.mod-glo-spot{grid-area:1/1/3;container-type:normal}.mod-glo{inline-size:4.25rem}.mod-say{min-block-size:0;max-inline-size:none;box-shadow:none;text-align:start;background:0 0;grid-area:1/2;justify-self:start;padding:0;font-size:1.15rem}.mod-say:after{display:none}.mod-itin{grid-area:2/2}.mod-itin li{gap:0}.mod-itin a{color:#0000;position:absolute;inset:-.6rem 0;overflow:hidden}.mod-itin a:hover,.mod-itin a[aria-current]{color:#0000}.mod-itin-plane{block-size:1.05rem;inline-size:1.05rem;top:-.75rem}.mod-hero{min-block-size:auto;padding-block:2.5rem 5.5rem}.mod-level{min-block-size:auto;padding-block:3.5rem;scroll-margin-top:6rem}.mod-level:after{top:4.1rem}.mod-bag{--bx:1.25rem;--by:1.4rem}.mod-guide-cta{display:none}.mod-ghost-a{opacity:.06;inline-size:7rem}.mod-flight{inline-size:7rem}.mod-bag-stamp{inset-inline-end:0}}@media (prefers-reduced-motion:reduce){.mod-hero>*,.mod-say,.mod-glo,.mod-scroll svg,.mod-level[data-on] .mod-bag-stamp,.mod-cta:after,.mod-level-cta:after{animation:none}.mod-bag li svg,.mod-itin ol:after,.mod-itin-plane{transition:none}}.contact{isolation:isolate;background:radial-gradient(50% 65% at 70% 50%, color-mix(in oklab, var(--l-pa1) 10%, transparent), transparent 70%), radial-gradient(40% 50% at 8% 90%, color-mix(in oklab, var(--amber) 14%, transparent), transparent 70%), var(--home-bg);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(2rem,5vw,4.5rem);padding:clamp(3rem,10vh,6rem) clamp(1rem,4vw,3.5rem) clamp(3.5rem,10vh,6rem);display:grid;position:relative;overflow:clip}.contact:after{content:"";z-index:-1;pointer-events:none;opacity:.25;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .3  0 0 0 0 .25  0 0 0 0 .2  0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.contact-copy{gap:clamp(.8rem,2.6vh,1.5rem);max-inline-size:34rem;display:grid}.contact-copy .landing-label{color:var(--muted)}.contact-copy h1{font:800 clamp(2rem, min(4.6vw, 7.5vh), 4.2rem) / 1.02 var(--f-display);letter-spacing:-.035em;text-wrap:balance;animation:rise .8s .1s var(--ease) both;margin:0}.contact-lede{color:var(--muted);animation:rise .8s .25s var(--ease) both;margin:0;font-size:clamp(.95rem,2.1vh,1.1rem)}.contact-ways{gap:.7rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.contact-ways li{animation:rise .7s var(--ease) both}.contact-ways li:first-child{animation-delay:.4s}.contact-ways li:nth-child(2){animation-delay:.5s}.contact-ways li:nth-child(3){animation-delay:.6s}.contact-ways a{border:1.5px solid var(--home-line);background:var(--home-tile);color:var(--ink);box-shadow:0 12px 24px -20px var(--shade);transition:translate .25s var(--ease), border-color .25s var(--ease);border-radius:.4rem .9rem .9rem .4rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:.85rem 1rem .85rem 1.6rem;text-decoration:none;display:grid;position:relative}.contact-ways a:before{content:"";border:1.5px solid var(--home-line);background:var(--home-bg);border-radius:50%;block-size:.5rem;inline-size:.5rem;position:absolute;top:50%;left:.55rem;translate:0 -50%}.contact-ways a:hover{border-color:var(--red);translate:4px}.contact-way-icon{background:var(--red-soft);block-size:2.5rem;inline-size:2.5rem;color:var(--red);border-radius:50%;place-items:center;display:grid}.contact-way-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;block-size:1.25rem;inline-size:1.25rem}.contact-way-text{font:700 1rem / 1.2 var(--f-display);overflow-wrap:anywhere;gap:.2rem;display:grid}.contact-way-text small{font:500 .62rem / 1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.contact-way-hint{color:var(--red);white-space:nowrap;font:700 1.2rem/1 Caveat,Segoe Print,cursive;rotate:-4deg}.contact-desk{justify-items:center;gap:.9rem;display:grid}.contact-card{--stripe:12px;box-sizing:border-box;border:var(--stripe) solid transparent;inline-size:100%;max-inline-size:36rem;color:var(--cert-ink);background:linear-gradient(var(--visa-paper) 0 0) padding-box, repeating-linear-gradient(-45deg, var(--red) 0 16px, var(--visa-paper) 16px 24px, var(--l-pa1) 24px 40px, var(--visa-paper) 40px 48px) border-box;box-shadow:0 40px 60px -40px var(--shade), 0 4px 12px -6px var(--shade);animation:contact-card .9s .2s var(--ease-stamp) both;border-radius:.5rem;gap:1rem;padding:clamp(1.25rem,3vw,2rem);display:grid;position:relative}@keyframes contact-card{0%{opacity:0;translate:0 2rem}}.contact-card-top{border-bottom:1px solid color-mix(in srgb, var(--cert-ink) 15%, transparent);font:500 .66rem / 1.3 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:color-mix(in srgb, var(--cert-ink) 60%, transparent);justify-content:space-between;gap:1rem;margin:0;padding-block-end:.7rem;padding-inline-end:5.5rem;display:flex}.contact-card h2{font:800 clamp(1.4rem, 2.6vw, 1.85rem) / 1.1 var(--f-display);letter-spacing:-.02em;margin:0;padding-inline-end:5.5rem}.contact-postage{aspect-ratio:4/5;background:var(--cert-paper);inline-size:4.6rem;filter:drop-shadow(0 6px 8px color-mix(in srgb, var(--cert-ink) 30%, transparent));place-items:center;padding:.35rem;display:grid;position:absolute;top:clamp(.9rem,2.4vw,1.5rem);right:clamp(.9rem,2.4vw,1.5rem);rotate:4deg;-webkit-mask:radial-gradient(3px,#0000 98%,#000) -4px -4px/8px 8px,linear-gradient(#000 0 0) 4px 4px/calc(100% - 8px) calc(100% - 8px) no-repeat;mask:radial-gradient(3px,#0000 98%,#000) -4px -4px/8px 8px,linear-gradient(#000 0 0) 4px 4px/calc(100% - 8px) calc(100% - 8px) no-repeat}.contact-postage img{object-fit:contain;background:var(--red-soft);block-size:100%;inline-size:100%}.contact-postmark{opacity:.2;mix-blend-mode:multiply;pointer-events:none;inline-size:5rem;position:absolute;top:clamp(1.4rem,3vw,2rem);right:clamp(3.4rem,6vw,4.2rem);rotate:-16deg}.contact-card.is-sent .contact-postmark{opacity:.9;animation:contact-postmark .5s var(--ease-stamp) both}@keyframes contact-postmark{0%{opacity:0;scale:1.8}}.contact-form{gap:1.1rem;display:grid}.contact-field{gap:.4rem;display:grid}.contact-field>label{font:700 1rem / 1.2 var(--f-display)}.contact-field small,.contact-privacy{color:color-mix(in srgb, var(--cert-ink) 70%, transparent);font-size:.9rem}.contact-field input,.contact-field textarea{box-sizing:border-box;border:1.5px solid color-mix(in srgb, var(--cert-ink) 30%, transparent);border-radius:var(--r);background:var(--cert-paper);min-block-size:3rem;inline-size:100%;color:var(--cert-ink);font:inherit;padding:.75rem .9rem;font-size:1.05rem;line-height:1.5}.contact-field textarea{resize:vertical}.contact-field input:hover,.contact-field textarea:hover{border-color:color-mix(in srgb, var(--cert-ink) 55%, transparent)}.contact-field input:focus-visible,.contact-field textarea:focus-visible{outline:3px solid color-mix(in srgb, var(--red) 45%, transparent);outline-offset:1px;border-color:var(--red)}.contact-trap{clip-path:inset(50%);block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.contact-error{border-radius:var(--r);background:var(--error-soft);color:var(--error);margin:0;padding:.75rem .9rem;font-weight:600}.contact-submit{cursor:pointer;border:0;justify-content:center;justify-self:stretch;min-block-size:3.25rem;font-size:1.1rem}.contact-submit:disabled{opacity:.7;cursor:progress}.contact-done{justify-items:start;gap:.75rem;padding-block:.5rem 1rem;display:grid}.contact-done p{margin:0;font-size:1.1rem;font-weight:600}.contact-done .contact-sent{color:var(--red);font:700 2.2rem/1 Caveat,Segoe Print,cursive;rotate:-4deg}.contact-alt{color:var(--cert-ink);font:700 1rem var(--f-display);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:.6rem 0;text-decoration:underline}.contact-privacy{max-inline-size:32rem;color:var(--muted);text-align:center;margin:0}.contact-map{box-sizing:border-box;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(2rem,5vw,4.5rem);inline-size:100%;max-inline-size:calc(72rem + 2*clamp(1rem,4vw,3.5rem));margin:0 auto;padding:clamp(3rem,9vh,5.5rem) clamp(1rem,4vw,3.5rem);display:grid}.contact-map-copy{justify-items:start;gap:1rem;display:grid}.contact-map-copy .landing-label{color:var(--muted)}.contact-map h2{font:800 clamp(1.8rem, 3.4vw, 2.6rem) / 1.05 var(--f-display);letter-spacing:-.03em;margin:0}.contact-map h2 em{color:var(--red)}.contact-map address{gap:.2rem;font-size:1.15rem;font-style:normal;display:grid}.contact-map-frame{background:var(--cert-paper);box-shadow:0 30px 50px -30px var(--shade);margin:0;padding:.6rem;position:relative;rotate:1deg}.contact-map-frame:before{content:"";z-index:1;background:color-mix(in oklab, var(--amber) 60%, transparent);block-size:1.3rem;inline-size:5.5rem;position:absolute;top:-.7rem;left:50%;translate:-50%;rotate:-4deg}.contact-map-frame iframe{aspect-ratio:16/10;border:0;inline-size:100%;display:block}.contact-map-frame figcaption{color:var(--red);font:700 clamp(1.4rem,2vw,1.8rem)/1 Caveat,Segoe Print,cursive;position:absolute;bottom:-1.6rem;right:1.2rem;rotate:-6deg}@media (width<=960px){.contact,.contact-map{grid-template-columns:minmax(0,1fr)}.contact-copy{max-inline-size:40rem}}@media (width<=620px){.contact-card{--stripe:9px}.contact-way-hint{display:none}.contact-map-frame{rotate:0deg}.contact-map-frame iframe{aspect-ratio:1}}@media (prefers-reduced-motion:reduce){.contact *,.contact-card,.contact-card.is-sent .contact-postmark{transition:none;animation:none}}.glo-chat{inset:auto max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) auto;z-index:40;justify-items:end;gap:.75rem;display:grid;position:fixed}.glo-chat-btn{border:3px solid var(--surface);background:radial-gradient(circle at 50% 30%, var(--surface), color-mix(in oklab, var(--red-soft), var(--surface) 30%));block-size:4.25rem;inline-size:4.25rem;box-shadow:0 0 0 3px var(--glo-body), 0 14px 28px -12px var(--shade);cursor:pointer;transition:scale var(--t-base) var(--ease);border-radius:50%;place-items:center;padding:0;animation:3.2s ease-in-out infinite glo-chat-bob;display:grid;position:relative}.glo-chat-btn:hover{scale:1.07}.glo-chat-btn img{inline-size:118%;translate:0 -8%}.glo-chat-btn.has-news:after{content:"";border:2px solid var(--surface);background:var(--glo-body);block-size:.9rem;inline-size:.9rem;animation:landing-send-pulse 1.6s var(--ease) infinite;border-radius:50%;position:absolute;inset:-2px -2px auto auto}@keyframes glo-chat-bob{50%{translate:0 -5px}}.glo-chat-hello{border:1.5px solid var(--line);background:var(--surface);max-inline-size:16rem;color:var(--ink);box-shadow:0 16px 30px -18px var(--shade);transform-origin:100% 100%;animation:glo-chat-in .4s var(--ease-stamp) both;border-radius:18px 18px 4px;align-items:flex-start;margin-inline-end:.5rem;display:flex;position:relative}.glo-chat-hello-text{color:inherit;font:600 .92rem / 1.4 var(--f-display);text-align:start;cursor:pointer;background:0 0;border:0;padding:.85rem .25rem .85rem 1rem}.glo-chat-x{block-size:2rem;inline-size:2rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;margin:.35rem;padding:0;display:grid}.glo-chat-x:hover{background:color-mix(in oklab, currentColor 12%, transparent)}.glo-chat-x svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;inline-size:1rem}@keyframes glo-chat-in{0%{opacity:0;scale:.6}}.glo-chat-panel{border:1px solid var(--line);background:var(--surface);block-size:min(34rem,100dvh - 7.5rem);inline-size:min(22rem,100vw - 2rem);color:var(--ink);box-shadow:0 28px 60px -24px var(--shade);transform-origin:100% 100%;animation:glo-chat-in .3s var(--ease-stamp) both;border-radius:20px;grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.glo-chat-head{background:var(--passport-bg);color:var(--passport-ink);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.7rem .6rem .7rem 1rem;display:grid}.glo-chat-head img{background:color-mix(in oklab, var(--passport-ink) 16%, transparent);border-radius:50%;block-size:3rem;inline-size:3rem}.glo-chat-head h2{font:800 1.1rem / 1.1 var(--f-display);margin:0}.glo-chat-head p{color:color-mix(in oklab, var(--passport-ink) 80%, transparent);align-items:center;gap:.4rem;margin:.15rem 0 0;font-size:.78rem;display:flex}.glo-chat-head p:before{content:"";background:var(--l-a1);block-size:.5rem;inline-size:.5rem;box-shadow:0 0 0 2px color-mix(in oklab, var(--passport-ink) 30%, transparent);border-radius:50%}.glo-chat-head .glo-chat-x{color:var(--passport-ink)}.glo-chat-log{background:radial-gradient(color-mix(in oklab, var(--ink) 7%, transparent) 1px, transparent 1.5px) 0 0 / 16px 16px, var(--paper);flex-direction:column;gap:.6rem;margin:0;padding:1rem;list-style:none;display:flex;overflow-y:auto}.glo-chat-msg{max-inline-size:85%;animation:glo-chat-rise .25s var(--ease) both;border-radius:16px;padding:.65rem .9rem;font-size:.92rem;line-height:1.45}@keyframes glo-chat-rise{0%{opacity:0;translate:0 8px}}.glo-chat-msg.is-glo{border:1px solid var(--line);background:var(--surface);border-end-start-radius:4px;align-self:flex-start}.glo-chat-msg.is-me{background:var(--red);color:var(--on-red);border-end-end-radius:4px;align-self:flex-end}.glo-chat-go{border-radius:var(--r-sm);background:var(--red);color:var(--on-red);font:700 .85rem / 1 var(--f-display);margin-block-start:.6rem;padding:.5rem .85rem;text-decoration:none;display:table}.glo-chat-go:hover{background:var(--red-deep)}.glo-chat-msg.is-typing{gap:.3rem;padding-block:.85rem;display:flex}.glo-chat-msg.is-typing span{background:var(--muted);border-radius:50%;block-size:.45rem;inline-size:.45rem;animation:1s ease-in-out infinite glo-chat-dot}.glo-chat-msg.is-typing span:nth-child(2){animation-delay:.15s}.glo-chat-msg.is-typing span:nth-child(3){animation-delay:.3s}@keyframes glo-chat-dot{30%{opacity:.5;translate:0 -4px}}.glo-chat-chips{border-block-start:1px solid var(--line);flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem 1rem;display:flex}.glo-chat-chip{border:1.5px solid var(--red);color:var(--red);font:600 .82rem / 1.2 var(--f-display);cursor:pointer;transition:background var(--t-fast) var(--ease);background:0 0;border-radius:999px;padding:.45rem .85rem}.glo-chat-chip:hover:not(:disabled){background:var(--red-soft)}.glo-chat-chip:disabled{opacity:.5;cursor:default}@media (width<=480px){.glo-chat-btn{block-size:3.75rem;inline-size:3.75rem}}@media (prefers-reduced-motion:reduce){.glo-chat-btn,.glo-chat-btn.has-news:after,.glo-chat-hello,.glo-chat-panel,.glo-chat-msg,.glo-chat-msg.is-typing span{animation:none}}
