.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;width:fit-content;font-weight:600;margin-top:1rem;padding:var(--btn-padding, .75rem 1.25rem);border:4px solid var(--color-base);color:var(--color-contrast);corner-shape:squircle;opacity:1;transition:transform .15s ease,box-shadow .15s ease,background-color .2s ease,background .2s ease}.btn--primary{background-color:var(--color-base);color:var(--color-contrast);border-color:var(--color-contrast)}.btn--secondary{background-color:var(--color-contrast);color:var(--color-base)!important;border-color:var(--color-base)}.btn--outline{background:transparent;color:var(--color-contrast);border-color:var(--color-base)}.btn--ghost{background:transparent;color:var(--color-contrast);border-color:transparent;box-shadow:none}.btn:hover{text-decoration:none;font-weight:600;opacity:1;transform:translateY(-1px)}.btn:active{transform:translateY(4px);box-shadow:0 4px var(--color-contrast),0 -4px var(--color-contrast),4px 0 var(--color-contrast),-4px 0 var(--color-contrast),inset 0 4px #00000038}.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.init-screen-container{display:flex;flex-direction:column;justify-content:center;align-items:center;flex:1;width:100%;min-height:100%;max-height:100vh;max-height:100svh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;background-color:var(--color-contrast);text-align:center;padding:clamp(1rem,4vw,2rem);gap:clamp(.75rem,2.5vw,1.25rem)}.init-screen-container h1,.init-screen-container h2,.init-screen-container p{color:var(--color-base)}.init-screen-container h1{font-size:clamp(1.4rem,4.8vw,2.6rem);line-height:1.1}.init-screen-container h2{max-width:min(90vw,52rem);font-size:clamp(.95rem,2.9vw,1.5rem);line-height:1.35;font-style:italic}.init-screen__hint{max-width:min(92vw,56rem);color:var(--color-base);font-size:clamp(.9rem,2.4vw,1.05rem);line-height:1.35}@media(max-width:480px){.init-screen-container .btn-container{width:100%;display:grid;gap:.75rem;justify-items:center}.init-screen-container .btn-container .btn{width:min(100%,18rem)}}.map-app__header{padding:clamp(4px,1.5vw,.5rem);border:4px double var(--color-contrast);background-color:var(--color-base);color:var(--color-contrast);display:flex;flex-direction:column;gap:.25rem;cursor:pointer}.map-app__header h1{max-width:100%;margin:0;font-size:clamp(1.25rem,2vw,3rem);color:var(--color-contrast);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-app__header h2{margin:0;font-size:clamp(1rem,1.5vw,2rem);color:var(--color-contrast)}.map-app__header .map-app__header-subtitle{margin:0;font-size:clamp(1rem,1.5vw,2rem);color:var(--color-contrast);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.map-app__header.is-expanded h1{white-space:normal;overflow:visible;text-overflow:clip}.map-app__header.is-expanded .map-app__header-subtitle{overflow:visible;display:block;-webkit-line-clamp:unset;-webkit-box-orient:initial}@media screen and (max-width:768px){.map-app__header{padding:.25rem .5rem;gap:.125rem}.map-app__header h1{font-size:clamp(1rem,5vw,1.35rem)}.map-app__header .map-app__header-subtitle{font-size:clamp(.875rem,3.75vw,1.05rem);-webkit-line-clamp:1}}@media screen and (orientation:landscape)and (max-height:560px){.map-app__header{padding:.15rem .5rem;gap:0}.map-app__header h1{font-size:clamp(.95rem,2.6vw,1.2rem)}.map-app__header:not(.is-expanded) .map-app__header-subtitle{display:none}}.map-app__footer{font-size:.875rem}.map-app__footer>*{flex:1 1 0;display:flex;align-items:center;justify-content:center;text-align:center}.map-app__footer a{text-decoration:underline}.map-app__footer a,.map-app__footer a:visited,.map-app__footer a:active{font-size:inherit}.map-app__footer .footer-nav nav{width:100%;display:flex;justify-content:flex-start}.map-app__footer .footer-nav nav a{display:inline-flex;flex-direction:row;align-items:start;gap:.5rem}.map-app__footer .footer-info-center{display:flex;justify-content:center;align-items:center;flex-direction:row;gap:var(--layout-section-gap)}.map-app__footer .footer-info-right{display:flex;justify-content:center;align-items:flex-end;flex-direction:column}@media(max-width:768px){.map-app__footer{font-size:.75rem}}.map-app__footer,.map-app__footer *{color:var(--color-contrast)}.map-object-hitbox-wrapper{position:absolute}.map-object--journal{image-rendering:pixelated;pointer-events:none}@keyframes map-object-journal-pending-pop{0%{transform:translateY(0) scale(1);filter:brightness(1)}35%{transform:translateY(-2px) scale(1.06);filter:brightness(1.18)}to{transform:translateY(0) scale(1);filter:brightness(1)}}.map-object--journal.map-object--idle{animation:var(--idle-keyframe, idle-float-a) var(--idle-duration, 5.2s) ease-in-out var(--idle-delay, 0ms) infinite}.map-object--journal.map-object--pending{animation:map-object-journal-pending-pop .16s ease-out both}.map-object-hitbox{position:absolute;left:50%;top:50%;width:clamp(20px,42%,84px);height:clamp(20px,42%,84px);transform:translate(-50%,-50%);border-radius:9999px;border:2px solid transparent;background:transparent;box-shadow:none;cursor:pointer;pointer-events:auto;z-index:60}@media(prefers-reduced-motion:reduce){.map-object--journal.map-object--idle,.map-object--journal.map-object--pending{animation:none}}.map-object__img{image-rendering:pixelated}.map-object--legend,.map-object--legend:hover{cursor:default}.map-object__img,.map-object--media{image-rendering:pixelated}.map-object{position:absolute;transition:transform .5s ease,opacity .2s ease}.map-object:hover{z-index:30;cursor:pointer}.map-object--active{filter:brightness(1.3) contrast(1.1)}.map-object--selected{z-index:40;filter:brightness(1.18) contrast(1.06)}.map-object__img,.map-object--nav{image-rendering:pixelated}@keyframes idle-float-a{0%,to{transform:translateY(0)}50%{transform:translateY(calc(var(--idle-shift, 1px) * -1))}}@keyframes idle-float-b{0%,to{transform:translate(0)}35%{transform:translate(var(--idle-shift-x, .2px),calc(var(--idle-shift, 1px) * -.65))}75%{transform:translate(calc(var(--idle-shift-x, .2px) * -1),calc(var(--idle-shift, 1px) * -.2))}}.map-object--nav.map-object--idle{animation:var(--idle-keyframe, idle-float-a) var(--idle-duration, 5.2s) ease-in-out var(--idle-delay, 0ms) infinite}@media(prefers-reduced-motion:reduce){.map-object--nav.map-object--idle{animation:none}}.map-app__journal .map-app__journal-content{height:100%;display:flex;flex-direction:column;padding:var(--layout-card-padding)}.map-app__journal .journal-header{display:flex;justify-content:center;align-items:center;border-bottom:2px solid var(--color-contrast);margin-bottom:1rem}.map-app__journal .journal-header h2{font-size:clamp(1rem,2vw,2rem);margin-bottom:clamp(.5rem,1vw,1rem);text-align:center}.map-app__journal .journal-body{flex:1;overflow-y:auto}.map-app__journal-tabs{--journal-tab-size: 40px;--journal-tab-icon-size: 24px;position:absolute;top:1rem;right:-2.5rem;display:flex;flex-direction:column;gap:.25rem;z-index:99}.map-app__journal-tab,.map-app__journal-tab-options{display:flex;justify-content:center;align-items:center;width:var(--journal-tab-size);height:var(--journal-tab-size);padding:0;flex-shrink:0;background:var(--color-base);color:var(--color-contrast);letter-spacing:1px;cursor:pointer;z-index:99;border:4px double var(--color-contrast);border-top-right-radius:4px;border-bottom-right-radius:4px;transition:all 50ms ease-in}.map-app__journal-tab:hover,.map-app__journal-tab-options:hover{background:var(--color-contrast);color:var(--color-base);border-color:var(--color-base);stroke:var(--color-base)}.map-app__journal-tab.is-active,.is-active.map-app__journal-tab-options{background:var(--color-contrast);color:var(--color-base);border-color:var(--color-base)}.map-app__journal-tab-icon{display:block;width:var(--journal-tab-icon-size);height:var(--journal-tab-icon-size);aspect-ratio:1/1;color:inherit;fill:currentColor;stroke:currentColor}.journal-entry.is-unlocked .journal-entry__body,.journal-entry.is-unlocked .journal-entry__body *,.journal-entry.is-unlocked .journal-entry__title,.journal-entry.is-unlocked .journal-entry__title *{font-family:Special Elite,system-ui,sans-serif}.journal-entry.is-locked .journal-entry__body,.journal-entry.is-locked .journal-entry__body *,.journal-entry.is-locked .journal-entry__title,.journal-entry.is-locked .journal-entry__title *{font-family:Morse Code,monospace}.journal-entry__body *{margin-bottom:.75rem}.journal-entry{scroll-margin-block:3.5rem}.journal-entry__body p a{text-decoration:underline}.journal-button{margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;min-height:44px;padding:.5rem;box-sizing:border-box;border:2px solid var(--color-contrast);border-radius:4px;background:var(--color-base);color:var(--color-contrast);line-height:1.2;text-align:center;cursor:pointer;transition:all 50ms ease-in}.journal-button:hover,.journal-button.is-active{background:var(--color-contrast);color:var(--color-base)}.journal-body{padding:.5rem}.map-app__info-container{background-color:var(--color-contrast);display:flex;flex-direction:column;cursor:pointer;border-top:4px double var(--color-base);border-left:4px double var(--color-base);border-right:4px double var(--color-base);border-bottom:4px double var(--color-base);overflow:hidden}.map-app__info-container.is-expanded .map-app__info-body{max-height:24rem}.map-app__info-container.is-expanded .map-app__info-body p{white-space:normal;overflow:visible;text-overflow:clip}.map-app__info-body{display:flex;align-items:center;justify-content:center;max-height:12rem;padding:.25rem .5rem}.map-app__info-body p{max-width:85ch;color:var(--color-base);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media screen and (max-width:768px){.map-app__info-container{width:min(100dvw - .5rem,34rem);padding:.25rem;border-radius:6px 6px 0 0}}.loading-screen-container{--loading-stack-gap: clamp(.75rem, 2.2vw, 1.25rem);display:grid;grid-auto-flow:row;justify-items:center;align-content:center;flex:1;width:100%;min-height:100%;max-height:100vh;max-height:100svh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;background-color:var(--color-contrast);padding:clamp(.75rem,3vw,1.5rem);gap:var(--loading-stack-gap)}.loading-screen-container h1{font-size:clamp(1.1rem,3.8vw,1.8rem);margin:0;color:var(--color-base);line-height:1.2;text-align:center}.loading-screen__gif-frame{width:min(88vw,22rem);aspect-ratio:1/1;border:4px double var(--color-base);box-sizing:border-box;overflow:hidden;background:var(--color-contrast)}.loading-screen__gif-media,.loading-screen__gif-placeholder{width:100%;height:100%;display:block}.loading-screen__gif-media{object-fit:contain}.loading-screen__gif-placeholder{background:#00000014}.loading-screen__quote{display:flex;flex-direction:column;align-items:center;text-align:center;font-style:italic;max-width:min(92vw,62rem);gap:.5rem}.loading-screen__quote h2,.loading-screen__quote h3{font-size:clamp(.9rem,2.7vw,1.2rem);margin:0;color:var(--color-base);line-height:1.35;overflow-wrap:anywhere}.loading-screen__quote em{font-style:italic;color:var(--color-base)}.progress-bar__container{display:inline-flex;place-items:center;gap:.55em;min-height:1.5rem}.progress-bar__asterisk{color:var(--color-base);font-size:clamp(1rem,2.4vw,1.25rem);line-height:1;opacity:.9}.progress-bar__container.is-complete .progress-bar__asterisk{opacity:1}
