.gate{display:none}html{scrollbar-gutter:stable}html.gate-on{background:#0b0c10;overflow:hidden}@media screen{html.gate-on:not(.gate-assemble) .k18>.gate:not([hidden])~main{visibility:hidden}}html.gate-on .gate:not([hidden]){--k:calc(72px / 49);z-index:200;padding:var(--sp-4);color:#eceef2;overscroll-behavior:contain;background:#0b0c10;flex-direction:column;display:flex;position:fixed;inset:0;overflow:auto}.gate:focus-visible{box-shadow:none;border-radius:0}.gate-half{pointer-events:none;background:radial-gradient(70% 62%,#0b0c1000 0%,#0b0c10 84%),linear-gradient(#ffffff0b 1px,#0000 1px) 50%/64px 64px,linear-gradient(90deg,#ffffff0b 1px,#0000 1px) 50%/64px 64px,#0b0c10;position:fixed;inset:0}.gate-half-l{clip-path:polygon(0 0, calc(50% + 1.5 * var(--k) + 8vh) 0, calc(50% + 1.5 * var(--k) - 8vh) 100%, 0 100%)}.gate-half-r{clip-path:polygon(calc(50% + 1.5 * var(--k) + 8vh - 1px) 0, 100% 0, 100% 100%, calc(50% + 1.5 * var(--k) - 8vh - 1px) 100%)}.gate-rain{z-index:1;pointer-events:none;opacity:0;width:100%;height:100%;position:fixed;inset:0}.gate[data-phase=seal] .gate-rain{opacity:1}.gate-in{z-index:2;flex-direction:column;align-items:center;width:min(480px,100%);margin:auto;display:flex;position:relative}.gate-mark{width:calc(49 * var(--k));height:calc(50 * var(--k));flex:none;display:block;position:relative}.gate-mark svg{fill:#fff;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.gate-mark svg:last-child{fill:#d3d8e4}.gate-idle{margin-top:var(--sp-6);text-align:center;flex-direction:column;align-items:center;display:flex}.gate-title{letter-spacing:-.03em;color:#fff;font-size:28px;font-weight:700;line-height:1.2}.gate-note{margin-top:var(--sp-2);font-size:var(--fs-md);line-height:var(--lh-md);color:#c3c6ce;max-width:34ch}.gate-actions{margin-top:var(--sp-6);justify-content:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.k18 .gate .btn-primary{color:#fff;background:#2d5bea;border-color:#2d5bea}.k18 .gate .btn-primary:hover{background:#2650d6;border-color:#2650d6}.k18 .gate .btn:not(.btn-primary){color:#eceef2;background:0 0;border-color:#3a3e49}.k18 .gate .btn:not(.btn-primary):hover{background:#eceef20f;border-color:#6e7380}.gate-error{margin-top:var(--sp-4);padding:var(--sp-2) var(--sp-3);border:1px solid var(--danger-line);border-radius:var(--r-sm);background:var(--danger-wash);color:var(--danger);font-size:var(--fs-sm);line-height:var(--lh-sm);text-align:left}.gate-skip{margin-top:var(--sp-5);min-height:36px;padding:0 var(--sp-3);color:#c3c6ce;font:inherit;font-size:var(--fs-sm);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;border-radius:18px;text-decoration:underline}.gate-skip:hover{color:#fff}.gate-skip:focus-visible,.gate .btn:focus-visible{box-shadow:0 0 0 2px #0b0c10,0 0 0 4px #9db3ff}.gate-run{top:calc(100% + var(--sp-5));width:min(560px, 100vw - 2 * var(--sp-4));text-align:center;flex-direction:column;align-items:center;display:flex;position:absolute;left:50%;transform:translate(-50%)}.gate-file{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:var(--fs-md);line-height:var(--lh-md);font-weight:var(--fw-semibold);letter-spacing:-.01em;color:#fff;overflow:hidden}.gate-line{margin-top:var(--sp-1);min-height:40px;font:500 12.5px/20px var(--mono);color:#b9bfcc}.gate-line[data-sealed]{color:#72d495}.gate-run .gate-skip{margin-top:var(--sp-2)}.intro-replay{margin-top:var(--sp-2);min-height:32px;padding:0 var(--sp-2);color:var(--text-2);font:inherit;font-size:var(--fs-sm);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;text-decoration:underline}.intro-replay:hover{color:var(--text)}@media (max-width:599.98px){html.gate-on .gate:not([hidden]){--k:calc(56px / 49)}.gate-title{font-size:23px}.gate-idle{margin-top:var(--sp-5)}}@media (max-height:499.98px){html.gate-on .gate:not([hidden]){--k:calc(40px / 49)}.gate-idle{margin-top:var(--sp-3)}.gate-title{font-size:22px}.gate-actions{margin-top:var(--sp-4)}.gate-skip{margin-top:var(--sp-2)}}@media (prefers-reduced-motion:no-preference){.gate-in{animation:gate-in .7s var(--ease-out) both}.gate-mark svg{transition:transform var(--hover)}.gate[data-phase=over] .gate-mark svg:first-child{transform:translate(-6px)}.gate[data-phase=over] .gate-mark svg:last-child{transform:translate(6px)}.gate-rain{transition:opacity .35s ease-out}.gate-run{animation:.3s ease-out .12s both gate-say}html.gate-on .k18 .drop{transition:transform var(--t-slow) var(--ease-out)}html.gate-on .gate[data-phase=open]{pointer-events:none}html.gate-on .gate[data-phase=open]:not([data-ran]){animation:gate-out .48s var(--ease-out) both}html.gate-on .gate[data-phase=open][data-ran]{background:0 0}.gate[data-phase=open][data-ran] .gate-run{animation:.2s ease-out both gate-gone}.gate[data-phase=open][data-ran] .gate-rain{opacity:0}.gate[data-phase=open][data-ran] :is(.gate-half-l,.gate-mark svg:first-child){animation:.92s cubic-bezier(.7,0,.2,1) 80ms both gate-part-l}.gate[data-phase=open][data-ran] :is(.gate-half-r,.gate-mark svg:last-child){animation:.92s cubic-bezier(.7,0,.2,1) 80ms both gate-part-r}html.gate-assemble .k18>:is(.bar,main,footer){animation:gate-assemble .58s var(--ease-out) .26s both}html.gate-assemble .k18>main{animation-delay:.32s}html.gate-assemble :is(.intro-kicker,.intro-title,.drop){position:relative}html.gate-assemble :is(.tb-dock,.intro-kicker,.intro-title,.rcpt,.drop):after{content:"";z-index:3;background:#fff;border-radius:14px;animation:.38s ease-out .1s both gate-gone;position:absolute;inset:0;box-shadow:0 0 0 1px #0c111d12,0 12px 30px -18px #0c111d59}.gate[data-ran]~:is(.bar,main) :is(.tb-dock,.intro-kicker,.intro-title,.rcpt,.drop):after{animation-duration:.46s;animation-delay:.58s}}@keyframes gate-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes gate-say{0%{opacity:0}to{opacity:1}}@keyframes gate-gone{to{opacity:0}}@keyframes gate-out{0%{opacity:1}35%{opacity:1}to{opacity:0}}@keyframes gate-part-l{to{transform:translate(calc(-50vw - 9vh))}}@keyframes gate-part-r{to{transform:translate(calc(50vw + 9vh))}}@keyframes gate-assemble{0%{transform:translateY(28px)}to{transform:none}}@media print{html.gate-on,html.gate-on.lenis.lenis-stopped{background:0 0;overflow:visible}html.gate-on .gate:not([hidden]){display:none}}
