.error-boundary{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center}.menu-btn{--btn-bg: var(--btn-default-bg);--btn-hover: var(--btn-default-hover);--btn-accent: var(--btn-default-accent);--btn-text: var(--fg-primary);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6em;padding:.7em 1.4em;border:none;background:var(--btn-accent);color:var(--btn-text);font-family:var(--font-display);font-weight:var(--font-display-weight);font-stretch:var(--font-display-stretch);font-size:var(--fs-medium);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;clip-path:polygon(var(--notch) 0,calc(100% - var(--notch)) 0,100% var(--notch),100% calc(100% - var(--notch)),calc(100% - var(--notch)) 100%,var(--notch) 100%,0 calc(100% - var(--notch)),0 var(--notch));filter:drop-shadow(0 2px 3px rgba(0,0,0,.55));transition:transform var(--dur-hover) var(--ease-out-quad),filter var(--dur-hover) var(--ease-out-quad)}.menu-btn__fill{position:absolute;top:1.5px;right:1.5px;bottom:1.5px;left:1.5px;background:linear-gradient(180deg,color-mix(in srgb,var(--btn-bg) 80%,#ffffff) 0%,var(--btn-bg) 52%,color-mix(in srgb,var(--btn-bg) 86%,#000000) 100%);clip-path:inherit;transition:background var(--dur-hover) var(--ease-out-quad);z-index:0}.menu-btn__label{position:relative;z-index:2;display:inline-flex;align-items:center;gap:.6em}.menu-btn__icon{width:1.2em;height:1.2em;object-fit:contain}.menu-btn:hover:not(:disabled){transform:scale(var(--hover-scale));filter:drop-shadow(0 2px 3px rgba(0,0,0,.55)) drop-shadow(0 0 7px var(--btn-accent))}.menu-btn:hover:not(:disabled) .menu-btn__fill{background:linear-gradient(180deg,color-mix(in srgb,var(--btn-hover) 78%,#ffffff) 0%,var(--btn-hover) 52%,color-mix(in srgb,var(--btn-hover) 84%,#000000) 100%)}.menu-btn:active:not(:disabled){transform:scale(.985);transition-duration:var(--dur-press)}.menu-btn:disabled{cursor:not-allowed;background:var(--disabled);color:var(--highlight)}.menu-btn:disabled .menu-btn__fill{background:var(--btn-dark-bg)}.menu-btn__ripple{position:absolute;z-index:1;width:8px;height:8px;border-radius:50%;background:var(--btn-accent);transform:translate(-50%,-50%) scale(0);opacity:.5;pointer-events:none;animation:menu-btn-ripple .55s var(--ease-out-cubic) forwards}@keyframes menu-btn-ripple{to{transform:translate(-50%,-50%) scale(28);opacity:0}}.menu-btn--primary{--btn-bg: var(--btn-primary-bg);--btn-hover: var(--btn-primary-hover);--btn-accent: var(--btn-primary-accent)}.menu-btn--danger{--btn-bg: var(--btn-danger-bg);--btn-hover: var(--btn-danger-hover);--btn-accent: var(--btn-danger-accent)}.menu-btn--success{--btn-bg: var(--btn-success-bg);--btn-hover: var(--btn-success-hover);--btn-accent: var(--btn-success-accent)}.menu-btn--warning{--btn-bg: var(--btn-warning-bg);--btn-hover: var(--btn-warning-hover);--btn-accent: var(--btn-warning-accent);--btn-text: var(--btn-warning-text)}.menu-btn--info{--btn-bg: var(--btn-info-bg);--btn-hover: var(--btn-info-hover);--btn-accent: var(--btn-info-accent)}.sound-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.4em;height:2.4em;padding:0;border:none;background:var(--btn-default-accent);color:var(--fg-secondary);cursor:pointer;clip-path:polygon(var(--notch) 0,calc(100% - var(--notch)) 0,100% var(--notch),100% calc(100% - var(--notch)),calc(100% - var(--notch)) 100%,var(--notch) 100%,0 calc(100% - var(--notch)),0 var(--notch));transition:color var(--dur-hover) var(--ease-out-quad),filter var(--dur-hover) var(--ease-out-quad)}.sound-toggle:before{content:"";position:absolute;top:1.5px;right:1.5px;bottom:1.5px;left:1.5px;background:var(--btn-default-bg);clip-path:inherit;transition:background var(--dur-hover) var(--ease-out-quad)}.sound-toggle svg{position:relative;z-index:1}.sound-toggle:hover{color:var(--fg-primary);filter:drop-shadow(0 0 5px var(--border))}.sound-toggle:hover:before{background:var(--btn-default-hover)}.sound-toggle[aria-pressed=true]{color:var(--selected)}.lang-switcher{display:inline-flex;align-items:center;gap:.5em}.lang-switcher__label{font-family:var(--font-display);font-stretch:var(--font-display-stretch);text-transform:uppercase;letter-spacing:.05em;font-size:var(--fs-small);color:var(--fg-secondary)}.lang-switcher__select{font-family:var(--font-body);font-size:var(--fs-small);color:var(--fg-primary);background:var(--btn-default-bg);border:var(--border-hairline) solid var(--btn-default-accent);padding:.4em .6em;cursor:pointer;transition:background var(--dur-hover) var(--ease-out-quad),border-color var(--dur-hover) var(--ease-out-quad)}.lang-switcher__select:hover{background:var(--btn-default-hover);border-color:var(--selected)}.lang-switcher__select option{background:var(--surface-bg);color:var(--fg-primary)}.site-header{position:sticky;top:0;z-index:20;background:var(--surface-bg);border-bottom:var(--border-hairline) solid var(--border)}.site-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:.7rem 1.5rem}.site-nav__list{list-style:none;display:flex;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap}.site-nav__list .menu-btn{font-size:var(--fs-medium);padding:.7em 1.35em}.site-nav__controls{display:flex;align-items:center;justify-content:flex-end;gap:.8rem;justify-self:end}.nav-toggle{position:relative;display:none;align-items:center;justify-content:center;width:2.4em;height:2.4em;padding:0;border:none;background:var(--btn-default-accent);color:var(--fg-secondary);cursor:pointer;clip-path:polygon(var(--notch) 0,calc(100% - var(--notch)) 0,100% var(--notch),100% calc(100% - var(--notch)),calc(100% - var(--notch)) 100%,var(--notch) 100%,0 calc(100% - var(--notch)),0 var(--notch));transition:color var(--dur-hover) var(--ease-out-quad),filter var(--dur-hover) var(--ease-out-quad)}.nav-toggle:before{content:"";position:absolute;top:1.5px;right:1.5px;bottom:1.5px;left:1.5px;background:var(--btn-default-bg);clip-path:inherit;transition:background var(--dur-hover) var(--ease-out-quad)}.nav-toggle svg{position:relative;z-index:1}.nav-toggle:hover{color:var(--fg-primary);filter:drop-shadow(0 0 5px var(--border))}.nav-toggle:hover:before{background:var(--btn-default-hover)}.nav-toggle[aria-expanded=true]{color:var(--selected)}@media (max-width: 880px){.site-nav{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.55rem 1rem}.nav-toggle{display:inline-flex}.site-nav__list{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:.5rem;padding:.8rem 1rem 1rem;background:var(--surface-bg);border-bottom:var(--border-hairline) solid var(--border);max-height:calc(100dvh - var(--header-height, 0px));overflow-y:auto}.site-nav--open .site-nav__list{display:flex;transform-origin:top center;animation:panel-open var(--dur-panel-open) var(--ease-out-cubic) both}.site-nav--open .site-nav__list li{animation:panel-content-reveal var(--dur-panel-open) var(--ease-out-cubic) both}.site-nav__list li{display:flex}.site-nav__list .menu-btn{flex:1}}.site-footer{position:sticky;bottom:0;z-index:20;background:var(--surface-bg);border-top:var(--border-hairline) solid var(--border)}.site-footer__bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:.7rem 1.5rem .3rem}.site-footer__cta--left{justify-self:start}.site-footer__cta--right{justify-self:end}.site-footer__links{list-style:none;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:1.1rem;margin:0}.site-footer__links a{display:inline-flex;align-items:center;color:var(--fg-secondary);transition:color var(--dur-hover) var(--ease-out-quad),filter var(--dur-hover) var(--ease-out-quad),transform var(--dur-hover) var(--ease-out-quad)}.site-footer__links svg{display:block;width:1.7rem;height:1.7rem}.site-footer__links a:hover,.site-footer__links a:focus-visible{color:var(--title-accent);transform:scale(1.12);filter:drop-shadow(0 0 6px var(--title-accent))}.site-footer__legal{margin:0;padding:0 1.5rem .6rem;text-align:center;color:var(--fg-secondary);font-size:var(--fs-small);opacity:.8}@media (max-width: 880px){.site-footer{position:static}.site-footer__bar{grid-template-columns:1fr;justify-items:center;gap:.6rem;padding:.7rem 1rem .3rem}.site-footer__cta--left,.site-footer__cta--right{justify-self:center}}.home-bg{position:fixed;top:var(--header-height, 0px);left:0;right:0;bottom:0;z-index:0;overflow:hidden;pointer-events:none;background:var(--surface-bg)}.home-bg__video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.home-bg__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#060a078c,#060a07c7),radial-gradient(ellipse at 50% 42%,transparent 28%,rgba(6,10,7,.65) 100%)}.home{position:relative;z-index:1;container-type:inline-size;display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:.5rem}.home__content{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%}.fg-entered .home{transform-origin:center;animation:panel-open var(--dur-panel-open) var(--ease-out-cubic) both}.fg-entered .home__content{animation:panel-content-reveal var(--dur-panel-open) var(--ease-out-cubic) both}.home__logo{max-width:100%;font-family:var(--font-display);font-weight:var(--font-display-weight);font-stretch:var(--font-display-stretch);font-size:clamp(1rem,7.2cqw,4.5rem);line-height:1.05;letter-spacing:.03em;white-space:nowrap;color:var(--title-accent);text-shadow:0 0 18px rgba(180,230,200,.35),2px 2px 0 var(--title-shadow)}.home__tagline{text-wrap:balance;white-space:nowrap;font-family:var(--font-display);font-stretch:var(--font-display-stretch);text-transform:uppercase;letter-spacing:.03em;color:var(--fg-secondary);font-size:clamp(.8rem,1.95cqw,1.5rem)}@media (max-width: 880px){.home__tagline{white-space:normal}}.panel{--panel-fill: var(--panel-default);--panel-border: var(--border);position:relative;padding:1px;background:var(--panel-border);filter:drop-shadow(0 6px 18px rgba(0,0,0,.55));clip-path:polygon(var(--notch) 0,calc(100% - var(--notch)) 0,100% var(--notch),100% calc(100% - var(--notch)),calc(100% - var(--notch)) 100%,var(--notch) 100%,0 calc(100% - var(--notch)),0 var(--notch));transform-origin:center;animation:panel-open var(--dur-panel-open) var(--ease-out-cubic) both}@keyframes panel-open{0%{transform:scaleX(.06) scaleY(.015)}32%{transform:scaleX(1) scaleY(.015)}74%{transform:scaleX(1) scaleY(.97)}to{transform:scaleX(1) scaleY(1)}}.panel__content{animation:panel-content-reveal var(--dur-panel-open) var(--ease-out-cubic) both}@keyframes panel-content-reveal{0%,70%{opacity:0}to{opacity:1}}.panel__fill{position:relative;padding:var(--panel-pad);background:var(--panel-fill);clip-path:inherit;overflow:hidden}.panel__title{position:relative;display:inline-block;margin-bottom:1rem;padding-bottom:.4rem}.panel__title:after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--border);transform:scaleX(0);transform-origin:left center;animation:panel-underline-sweep var(--dur-underline-sweep) var(--ease-out-cubic) calc(var(--dur-panel-open) + var(--delay-underline)) forwards}@keyframes panel-underline-sweep{to{transform:scaleX(1)}}.panel--modal{--panel-fill: var(--panel-modal)}.panel--menu{--panel-fill: var(--panel-menu)}.panel--danger{--panel-fill: var(--panel-danger-modal);--panel-border: var(--fg-error)}.panel--tooltip{--panel-fill: var(--panel-tooltip);clip-path:none;border-radius:var(--radius-tooltip)}.panel--tooltip .panel__fill{clip-path:none;border-radius:var(--radius-tooltip)}.scene-root{position:relative}.scene-layer{width:100%}.scene-layer--exit{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5;will-change:opacity,transform}.scene-exit--crossfade{animation-name:scene-crossfade-out;animation-fill-mode:forwards}.scene-exit--slide_up{animation-name:scene-slide-up-out;animation-fill-mode:forwards}@keyframes scene-crossfade-out{0%{opacity:1}to{opacity:0}}@keyframes scene-slide-up-out{0%{opacity:1;transform:translateY(0)}to{opacity:.45;transform:translateY(-100%)}}.media-tabs{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.5rem}.media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.media-item{margin:0}.media-video{display:block;width:100%;aspect-ratio:16 / 9;background:#000;border:var(--border-hairline) solid var(--border);clip-path:polygon(var(--notch) 0,calc(100% - var(--notch)) 0,100% var(--notch),100% calc(100% - var(--notch)),calc(100% - var(--notch)) 100%,var(--notch) 100%,0 calc(100% - var(--notch)),0 var(--notch))}.media-art{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;border:var(--border-hairline) solid var(--border);cursor:pointer;transition:box-shadow var(--dur-hover) var(--ease-out-quad)}.media-art:hover{box-shadow:0 0 12px var(--border)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,4vh,3rem);background:#000000d9;cursor:zoom-out;animation:lightbox-in var(--dur-hover) var(--ease-out-quad) both}.lightbox__close{position:absolute;top:1rem;right:1rem;font-family:var(--font-display);font-size:var(--fs-medium);color:var(--fg-primary);background:var(--btn-default-bg);border:var(--border-hairline) solid var(--border);padding:.4em .7em;cursor:pointer}.lightbox__close:hover,.lightbox__close:focus-visible{color:var(--fg-error);box-shadow:0 0 12px var(--border)}.lightbox__img{max-width:100%;max-height:100%;object-fit:contain;border:var(--border-hairline) solid var(--border)}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}.media-item__caption{margin-top:.6rem;color:var(--fg-secondary);font-size:var(--fs-small);text-align:center}.media-empty{display:flex;flex-direction:column;align-items:flex-start;gap:1.2rem}.story-reader__nav{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.4rem}.story-reader__nav .menu-btn{font-size:var(--fs-small);padding:.45em .85em}.story-reader__heading{color:var(--title-accent);margin-bottom:.9rem}.story-reader__body{white-space:pre-line;line-height:1.7;color:var(--fg-primary);opacity:.92;max-width:68ch;max-height:calc(100dvh - var(--header-height, 0px) - 16rem);overflow-y:auto;padding-right:.7rem}.story-page{position:relative}.story-page__content{position:relative;z-index:1;display:flex;flex-direction:column;gap:1.5rem}.vault-tabs{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.25rem}.vault-loading{color:var(--fg-secondary);font-size:var(--fs-small)}.vault-scroll{max-height:min(62vh,640px);overflow-y:auto;border:var(--border-hairline) solid var(--border);background:#10161266;padding:.75rem;scrollbar-color:var(--border) var(--scrollbar-track);scrollbar-width:thin}.vault-scroll::-webkit-scrollbar{width:10px}.vault-scroll::-webkit-scrollbar-track{background:var(--scrollbar-track)}.vault-scroll::-webkit-scrollbar-thumb{background:var(--border)}.vault-tab{display:flex;flex-direction:column;gap:1rem}.vault-section-header{margin:0;text-align:center;font-family:var(--font-display);font-weight:var(--font-display-weight);font-stretch:var(--font-display-stretch);font-size:var(--fs-large);letter-spacing:.06em;color:var(--title-accent);text-shadow:0 2px 4px var(--title-shadow)}.vault-subtabs{display:flex;flex-wrap:wrap;gap:.4rem}.vault-subtab.menu-btn{padding:.4em .9em;font-size:var(--fs-small);letter-spacing:.03em}.vault-val--text{color:var(--fg-primary)}.vault-val--secondary{color:var(--fg-secondary)}.vault-val--warning{color:var(--fg-warning)}.vault-val--error{color:var(--fg-error)}.vault-val--success{color:var(--fg-success)}.vault-val--accent{color:var(--title-accent)}.vault-hostile{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:1.5rem;align-items:start}.vault-hostile__art{display:flex;align-items:center;justify-content:center;min-height:0}.vault-hostile__art img{max-width:100%;max-height:340px;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.6))}.vault-hostile__info{display:flex;flex-direction:column;gap:.75rem}.vault-entry-name{margin:0;font-family:var(--font-display);font-weight:var(--font-display-weight);font-stretch:var(--font-display-stretch);font-size:var(--fs-medium);letter-spacing:.04em}.vault-stats{margin:0;display:flex;flex-direction:column;gap:.35rem}.vault-stat{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;border-bottom:1px dotted color-mix(in srgb,var(--border) 55%,transparent);padding-bottom:.25rem}.vault-stat dt{color:var(--fg-secondary);font-size:var(--fs-small);letter-spacing:.03em}.vault-stat dd{margin:0;font-family:var(--font-body);font-size:var(--fs-medium)}.vault-catalog-header{margin:0;color:var(--fg-warning);font-size:var(--fs-small);letter-spacing:.05em;text-transform:uppercase}.vault-entries{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.vault-entry{display:flex;align-items:flex-start;gap:.9rem;padding-bottom:.6rem;border-bottom:1px solid color-mix(in srgb,var(--border) 35%,transparent)}.vault-entry__thumb{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:76px;height:76px;background:var(--btn-dark-bg);border:var(--border-hairline) solid color-mix(in srgb,var(--border) 55%,transparent)}.vault-entry__thumb img{max-width:100%;max-height:100%;object-fit:contain}.vault-entry__body{display:flex;flex-direction:column;gap:.3rem;min-width:0;flex:1}.vault-entry .vault-entry-name{color:var(--fg-primary)}.vault-chips{display:flex;flex-wrap:wrap;gap:.4rem}.vault-chip{font-family:var(--font-body);font-size:var(--fs-small);color:var(--fg-secondary);background:var(--btn-dark-bg);border:1px solid color-mix(in srgb,var(--border) 45%,transparent);padding:.15em .55em}.vault-terminal-desc{margin:0;color:var(--fg-primary);font-size:var(--fs-medium)}.vault-cmd-header{margin:.5rem 0 0;font-family:var(--font-display);font-weight:var(--font-display-weight);font-stretch:var(--font-display-stretch);font-size:var(--fs-small);letter-spacing:.06em}.vault-commands{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.vault-command{display:flex;flex-direction:column;gap:.15rem}.vault-command--inline{flex-direction:row;flex-wrap:wrap;gap:.5rem;align-items:baseline}.vault-cmd-name{font-family:var(--font-body);font-weight:700;letter-spacing:.04em}.vault-cmd-desc{color:var(--fg-secondary);font-size:var(--fs-small)}.vault-cmd-usage{font-size:var(--fs-small);font-family:var(--font-body)}@media (max-width: 720px){.vault-hostile{grid-template-columns:1fr}.vault-hostile__art img{max-height:260px}}.devlog{display:flex;flex-direction:column;gap:.6rem}.devlog-month__body{max-height:min(52vh,540px);overflow-y:auto;scrollbar-color:var(--border) var(--scrollbar-track);scrollbar-width:thin}.devlog-month__body::-webkit-scrollbar{width:10px}.devlog-month__body::-webkit-scrollbar-track{background:var(--scrollbar-track)}.devlog-month__body::-webkit-scrollbar-thumb{background:var(--border)}.devlog-intro{display:flex;flex-direction:column;align-items:flex-start;gap:1.2rem}.devlog-year,.devlog-month{border:var(--border-hairline) solid var(--border);background:#10161266}.devlog-year__summary,.devlog-month__summary{display:flex;align-items:center;justify-content:space-between;gap:.8rem;cursor:pointer;padding:.7rem 1rem;font-family:var(--font-display);font-stretch:var(--font-display-stretch);text-transform:uppercase;letter-spacing:.05em;color:var(--title-accent);list-style:none;-webkit-user-select:none;user-select:none}.devlog-year__summary{font-size:var(--fs-medium)}.devlog-month__summary{font-size:var(--fs-small);color:var(--fg-secondary)}.devlog-year__summary::-webkit-details-marker,.devlog-month__summary::-webkit-details-marker{display:none}.devlog-count{color:var(--fg-primary);background:var(--btn-default-bg);border:var(--border-hairline) solid var(--border);padding:.05em .55em;font-size:var(--fs-small)}.devlog-month{margin:.4rem .6rem}.devlog-day{padding:.8rem 1rem 1rem;border-top:var(--border-hairline) solid rgba(100,150,100,.25)}.devlog-day__date{color:var(--fg-secondary);font-size:var(--fs-small);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.6rem;opacity:.85}.devlog-entry{margin-bottom:1rem}.devlog-entry__title{font-family:var(--font-display);font-stretch:var(--font-display-stretch);font-size:var(--fs-small);color:var(--fg-primary);margin-bottom:.4rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.devlog-entry__version{color:var(--btn-success-accent);border:var(--border-hairline) solid var(--btn-success-accent);padding:.05em .5em;font-size:.85em}.devlog-entry__items{list-style:none;display:flex;flex-direction:column;gap:.3rem}.devlog-entry__items li{position:relative;padding-left:1.1rem;line-height:1.5;font-size:var(--fs-small)}.devlog-entry__items li:before{content:"▪";position:absolute;left:0;color:var(--border)}.site-main{flex-grow:1;width:min(1045px,100%);margin:0 auto;padding:2rem 1.2rem;display:flex;flex-direction:column;gap:2rem}@media (max-width: 880px){.site-main{padding:1.5rem 1rem}}.scroll-section{position:relative;z-index:1;scroll-margin-top:var(--header-height, 0px);scroll-margin-bottom:var(--footer-height, 0px)}#home{min-height:calc(100dvh - var(--header-height, 0px) - var(--footer-height, 0px))}@media (max-width: 880px){.scroll-section{scroll-margin-bottom:0}#home{min-height:calc(100dvh - var(--header-height, 0px))}}.welcome{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,rgba(20,36,24,.6),transparent 70%),var(--surface-bg);animation:welcome-fade-in .7s var(--ease-out-cubic) both}@keyframes welcome-fade-in{0%{opacity:0}to{opacity:1}}.welcome__scanlines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.35) 0,rgba(0,0,0,.35) 2px,transparent 2px,transparent 4px);opacity:.35;animation:welcome-scan 6s linear infinite}@keyframes welcome-scan{0%{background-position-y:0}to{background-position-y:100vh}}.welcome__content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.4rem;padding:2rem;max-height:100dvh;max-width:100%;overflow:hidden auto;box-sizing:border-box}.welcome__mark{position:relative;font-family:var(--font-display);font-weight:var(--font-display-weight);font-stretch:var(--font-display-stretch);font-size:min(5.5rem,calc((100vw - 4rem) / 13.6));letter-spacing:.04em;line-height:1;color:var(--title-accent);text-shadow:0 0 22px rgba(180,230,200,.4),2px 2px 0 var(--title-shadow);animation:welcome-flicker 3.2s steps(1) infinite;overflow:clip;overflow-clip-margin:28px}.welcome__mark:before,.welcome__mark:after{content:attr(data-text);position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.welcome__mark:before{color:var(--fg-success);mix-blend-mode:screen;animation:welcome-glitch-a 2.6s infinite steps(2)}.welcome__mark:after{color:var(--fg-secondary);mix-blend-mode:screen;animation:welcome-glitch-b 2.9s infinite steps(2)}@keyframes welcome-glitch-a{0%,92%,to{transform:none;clip-path:inset(0 0 0 0);opacity:0}93%{transform:translate(-3px,-2px);clip-path:inset(0 0 62% 0);opacity:.75}96%{transform:translate(3px,1px);clip-path:inset(40% 0 20% 0);opacity:.75}99%{transform:translate(-2px,2px);clip-path:inset(75% 0 0 0);opacity:.75}}@keyframes welcome-glitch-b{0%,90%,to{transform:none;clip-path:inset(0 0 0 0);opacity:0}91%{transform:translate(3px,2px);clip-path:inset(0 0 70% 0);opacity:.6}95%{transform:translate(-3px,-1px);clip-path:inset(55% 0 10% 0);opacity:.6}98%{transform:translate(2px,-2px);clip-path:inset(80% 0 0 0);opacity:.6}}@keyframes welcome-flicker{0%,96%,to{opacity:1}97%{opacity:.72}98%{opacity:1}99%{opacity:.85}}.welcome__tagline{font-family:var(--font-display);font-stretch:var(--font-display-stretch);text-transform:uppercase;letter-spacing:.1em;color:var(--fg-secondary);font-size:var(--fs-medium);animation:welcome-rise .9s var(--ease-out-cubic) .25s both}.welcome__enter{margin-top:.6rem;animation:welcome-rise .9s var(--ease-out-cubic) .5s both}.welcome__prompt{max-width:34rem;color:var(--fg-primary);opacity:.9;animation:welcome-rise .9s var(--ease-out-cubic) .35s both}.welcome__fields{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;animation:welcome-rise .9s var(--ease-out-cubic) .45s both}.welcome__field{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;font-family:var(--font-display);font-stretch:var(--font-display-stretch);text-transform:uppercase;letter-spacing:.05em;font-size:var(--fs-small);color:var(--fg-secondary)}.welcome__field select{font-family:var(--font-body);font-size:var(--fs-medium);text-transform:none;letter-spacing:normal;color:var(--fg-primary);background:var(--btn-default-bg);border:var(--border-hairline) solid var(--border);padding:.5em .7em;min-width:5rem;cursor:pointer}.welcome__field select:focus-visible{outline:var(--border-hairline) solid var(--selected);outline-offset:2px}.welcome__denied h3{color:var(--fg-error);margin-bottom:.8rem}.welcome__denied p{color:var(--fg-primary);opacity:.9}@keyframes welcome-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@font-face{font-family:Science Gothic;src:url(/assets/fonts/ScienceGothic_ExtraExpanded-ExtraBold.ttf) format("truetype");font-weight:800;font-stretch:125%;font-display:swap}@font-face{font-family:Xolonium;src:url(/assets/fonts/xolonium_regular.otf) format("opentype");font-weight:400;font-display:swap}@font-face{font-family:Noto Sans CJK;src:url(/assets/fonts/NotoSansCJKsc-Regular.otf) format("opentype");font-weight:400;font-display:swap;unicode-range:U+4E00-9FFF,U+3400-4DBF,U+F900-FAFF}@font-face{font-family:Noto Sans CJK;src:url(/assets/fonts/NotoSansCJKjp-Regular.otf) format("opentype");font-weight:400;font-display:swap;unicode-range:U+3040-309F,U+30A0-30FF,U+FF66-FF9F}@font-face{font-family:Noto Sans CJK;src:url(/assets/fonts/NotoSansCJKkr-Regular.otf) format("opentype");font-weight:400;font-display:swap;unicode-range:U+AC00-D7AF,U+1100-11FF,U+3130-318F}:root{--fg-primary: #FFFFFF;--fg-secondary: #96C896;--fg-warning: #FFC800;--fg-error: #FF6464;--fg-success: #96FF96;--title-accent: #B4E6C8;--danger-title-accent: #FF8C8C;--title-shadow: #000000;--surface-bg: #0F190F;--surface-bg-alpha: rgba(15, 25, 15, .78);--border: #649664;--highlight: #787878;--selected: #78C878;--disabled: #506450;--mod-positive: #64FF64;--mod-negative: #FF6464;--scrollbar-track: #505050;--btn-default-bg: #161C18;--btn-default-hover: #2A382F;--btn-default-accent: #6EA06E;--btn-dark-bg: #0E1210;--btn-dark-hover: #202A24;--btn-dark-accent: #649664;--btn-primary-bg: #3A5C6E;--btn-primary-hover: #5C8AA2;--btn-primary-accent: #82B4D2;--btn-danger-bg: #A51E26;--btn-danger-hover: #DC373E;--btn-danger-accent: #F5505A;--btn-success-bg: #1E8237;--btn-success-hover: #3CB45A;--btn-success-accent: #6EDC82;--btn-warning-bg: #B48219;--btn-warning-hover: #E1AA32;--btn-warning-accent: #FFD75A;--btn-warning-text: #141414;--btn-info-bg: #23649B;--btn-info-hover: #418CC8;--btn-info-accent: #6EB4F0;--panel-default: rgba(16, 22, 18, .84);--panel-modal: rgba(10, 18, 12, .94);--panel-menu: rgba(12, 20, 14, .86);--panel-tooltip: rgba(8, 14, 10, .96);--panel-danger-modal: rgba(22, 10, 10, .94);--font-display: "Science Gothic", "Noto Sans CJK", sans-serif;--font-body: "Xolonium", "Noto Sans CJK", sans-serif;--font-display-weight: 800;--font-display-stretch: 125%;--fs-title: clamp(1.35rem, 2.6vh, 1.9rem);--fs-large: clamp(1.25rem, 2.4vh, 1.7rem);--fs-medium: clamp(1rem, 1.85vh, 1.25rem);--fs-small: clamp(.8rem, 1.3vh, .95rem);--panel-pad: clamp(1rem, 2.4vh, 2rem);--notch: 12px;--border-hairline: 1px;--radius-tooltip: 6px;--bp-nav-stack: 880px;--ease-out-cubic: cubic-bezier(.215, .61, .355, 1);--ease-out-quad: cubic-bezier(.25, .46, .45, .94);--ease-in-out-cubic: cubic-bezier(.645, .045, .355, 1);--dur-hover: .22s;--dur-press: .11s;--dur-panel-open: .52s;--dur-underline-sweep: .55s;--delay-underline: 50ms;--hover-scale: 1.02;--grime-alpha: .06}*{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden;scroll-behavior:smooth}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}body,#root{background-color:var(--surface-bg);color:var(--fg-primary);font-family:var(--font-body);display:flex;flex-direction:column;min-height:100vh}body{font-size:var(--fs-medium);line-height:1.6;letter-spacing:.01em}h1,h2,h3{font-family:var(--font-display);font-weight:var(--font-display-weight);font-stretch:var(--font-display-stretch);color:var(--title-accent);text-transform:uppercase;letter-spacing:.04em;text-shadow:1px 1px 0 var(--title-shadow)}h1{font-size:var(--fs-title)}h2{font-size:var(--fs-large)}h3{font-size:var(--fs-medium)}a{color:var(--fg-secondary);text-decoration:none;transition:color var(--dur-hover) var(--ease-out-quad),text-shadow var(--dur-hover) var(--ease-out-quad)}a:hover{color:var(--fg-primary);text-shadow:0 0 8px var(--border)}main{flex-grow:1;width:100%}.grime-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.5) 0,rgba(0,0,0,.5) 1px,transparent 1px,transparent 3px);opacity:var(--grime-alpha);animation:grime-drift 8s linear infinite}@keyframes grime-drift{0%{background-position-y:0}to{background-position-y:3px}}
