.world-loading{position:absolute;inset:0;z-index:4;display:grid;place-items:center;padding:80px 24px calc(var(--navigation-height, 120px) + 24px);background:radial-gradient(ellipse at 50% 43%,#102634,#071423 36%,#030a18 74%);color:#b0c8d9;text-align:center;pointer-events:none;transition:opacity .55s ease,visibility .55s}.world-loading.is-ready{opacity:0;visibility:hidden}.loading-content{display:flex;flex-direction:column;align-items:center}.loading-art{display:block;width:216px;height:155px;margin-bottom:13px;overflow:visible}.loading-crescent{fill:url(#loading-moon-silver);filter:drop-shadow(0 0 13px #adcbd83d)}.loading-ripple{stroke:#84aeb3;stroke-width:.7;opacity:.23;transform-box:fill-box;transform-origin:center;animation:loading-water 5s ease-in-out infinite}.loading-ripple-outer{opacity:.1;animation-delay:-1.8s}.loading-ripple-inner{opacity:.32;animation-delay:-3.4s}.loading-reflection{stroke:#cbb182;stroke-width:1.2;stroke-linecap:round;opacity:.34;animation:loading-shimmer 4s ease-in-out infinite}.loading-fireflies{fill:#cbb182;animation:loading-shimmer 4s ease-in-out -2s infinite}.loading-title{margin:0;color:#e7e2d5;font:400 clamp(28px,4vw,34px)/1.2 Marcellus,Georgia,serif;letter-spacing:.015em}.loading-status{margin:13px 0 0;font:400 12px/1.6 Jost,sans-serif;color:#95adbd}.loading-track{position:relative;display:block;width:112px;height:1px;margin-top:21px;overflow:hidden;background:#94b5bd26}.loading-track:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#cbb182,transparent);animation:loading-travel 2.4s ease-in-out infinite}.loading-browse{display:flex;align-items:center;gap:9px;min-height:44px;margin-top:17px;padding:0 10px;color:#8ca2ae;font:400 11px/1.4 Jost,sans-serif;text-decoration:none;pointer-events:auto;transition:color .2s}.loading-browse:hover{color:#e7e2d5}.loading-browse:focus-visible{outline:2px solid #cbb182;outline-offset:3px}@keyframes loading-water{0%,to{transform:scale(.94)}50%{transform:scale(1.06)}}@keyframes loading-shimmer{0%,to{opacity:.22}50%{opacity:.5}}@keyframes loading-travel{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(max-height:500px){.world-loading{padding:56px 20px calc(var(--navigation-height, 80px) + 8px)}.loading-art{width:120px;height:86px;margin-bottom:3px}.loading-title{font-size:24px}.loading-status{margin-top:6px}.loading-track{margin-top:12px}.loading-browse{margin-top:3px}}@media(prefers-reduced-motion:reduce){.world-loading{transition:none}.loading-art *,.loading-track:after{animation:none}}.project-visit{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:12px;width:296px;max-width:100%;min-height:72px;padding:18px 36px;border:0;border-radius:4px;background:transparent;color:#f6e9ca;font:400 18px/1.3 Marcellus,Georgia,serif;text-decoration:none;text-shadow:0 1px 3px #000b;vertical-align:middle;-webkit-tap-highlight-color:transparent}.project-visit:before,.project-visit:after{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:center / 100% 100% no-repeat}.project-visit:before{background-image:url(/assets/ui/project-visit-normal.webp)}.project-visit:after{background-image:url(/assets/ui/project-visit-hover.webp);opacity:0;transition:opacity .18s ease-out}.project-visit:hover,.project-visit:focus-visible,.project-visit:active{color:#fff4d9;text-decoration:none}@media(hover:hover){.project-visit:hover:after{opacity:1}}.project-visit:focus-visible:after,.project-visit:active:after{opacity:1}.project-visit:focus-visible{outline:2px solid #eed6a0;outline-offset:4px}.project-visit>svg{width:16px;height:16px;flex-shrink:0;color:#d8bf8c;stroke-width:1.8}@media(prefers-reduced-motion:reduce){.project-visit:after{transition:none}}@media(forced-colors:active){.project-visit{border:2px solid LinkText;color:LinkText;text-shadow:none}.project-visit:before,.project-visit:after{display:none}}.project-footer{--footer-gold:#cbb182;--footer-line:#a08d6938;--footer-ink:#e7e2d5;display:grid;gap:24px}.project-footer .project-updates{margin:0;padding:0;border:0}.project-footer .project-footer-heading{display:flex;align-items:center;gap:12px;margin:0 0 12px;color:#a9b9ba;font:400 10px/1.5 Jost,sans-serif;letter-spacing:.12em;text-transform:uppercase}.project-footer-heading:after{content:"";flex:1;height:1px;background:var(--footer-line)}.project-update-list{list-style:none;margin:0;padding:0}.project-update-list>li+li{margin-top:10px}.project-footer .project-update{display:grid;grid-template-columns:132px minmax(0,1fr) 24px;align-items:center;gap:20px;min-height:94px;padding:7px 18px 7px 7px;border:1px solid var(--footer-line);background:linear-gradient(110deg,#1d343f30,#030d1855);color:var(--footer-ink);text-decoration:none;transition:border-color .2s,background-color .2s}.project-update-image{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border:1px solid #a08d6926}.project-update-copy{min-width:0}.project-update time{display:block;margin-bottom:7px;color:#9bafb6;font:400 11px/1.4 Jost,sans-serif}.project-update-copy :is(h3,h4){margin:0;color:var(--footer-ink);font:400 20px/1.3 Marcellus,Georgia,serif;text-wrap:pretty}.project-update:not(:has(.project-update-image)){grid-template-columns:minmax(0,1fr) 24px;padding:18px}.project-footer-arrow{justify-self:end;color:var(--footer-gold);font:400 22px/1 Jost,sans-serif;transition:transform .2s}.project-footer .project-switcher{display:block}.project-switcher-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-footer .project-switch-link{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;min-height:94px;padding:14px 18px;border:1px solid var(--footer-line);background:radial-gradient(ellipse at 20% 0%,#31424333,transparent 85%),#030d1840;box-shadow:inset 0 0 0 3px #07121c55;text-decoration:none;transition:border-color .2s,background-color .2s}.project-switch-identity{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}.project-footer .project-switch-identity img{display:block;width:120px;max-width:100%;height:38px;object-fit:contain;object-position:left center;margin:0}.project-switch-identity>span{color:#9bafb6;font:400 11px/1.4 Jost,sans-serif}.project-footer :is(.project-update,.project-switch-link):is(:hover,:focus-visible){border-color:#cbb18299;background-color:#cbb18209;text-decoration:none}.project-footer :is(.project-update,.project-switch-link):focus-visible{outline:2px solid var(--footer-gold);outline-offset:3px}.project-footer :is(.project-update,.project-switch-link):is(:hover,:focus-visible) .project-footer-arrow{transform:translate(3px)}@media(max-width:600px){.project-footer{gap:20px}.project-footer .project-update{grid-template-columns:100px minmax(0,1fr) 18px;gap:12px;padding-right:12px}.project-update-copy :is(h3,h4){font-size:18px}.project-footer .project-switch-link{padding:12px;gap:8px}.project-footer .project-switch-identity img{width:105px;height:34px}}@media(max-width:380px){.project-footer .project-update{grid-template-columns:76px minmax(0,1fr) 16px;gap:10px}.project-update-copy :is(h3,h4){font-size:16px}.project-update time{font-size:10px;margin-bottom:5px}.project-switcher-links{grid-template-columns:minmax(0,1fr);gap:8px}.project-footer .project-switch-link{min-height:76px}}@media(prefers-reduced-motion:reduce){.project-footer :is(.project-update,.project-switch-link,.project-footer-arrow){transition:none}.project-footer :is(.project-update,.project-switch-link):is(:hover,:focus-visible) .project-footer-arrow{transform:none}}a svg.external-icon{display:inline-block;width:16px;height:16px;flex-shrink:0;margin-inline-start:.3em;vertical-align:-.15em;color:#d8bf8c;stroke-width:1.8}:is(.project-visit,.primary-button)>svg.external-icon{margin-inline-start:0}.primary-button:has(>svg.external-icon){gap:12px}@font-face{font-family:Jost;src:url(/fonts/Jost-VariableFont_wght.ttf) format("truetype");font-weight:100 900;font-display:swap}@font-face{font-family:Source Sans;src:url(/fonts/SourceSans3-VariableFont_wght.ttf) format("truetype");font-weight:200 900;font-display:swap}@font-face{font-family:Marcellus;src:url(/fonts/Marcellus-Regular.ttf) format("truetype");font-weight:400;font-display:swap}:root{color-scheme:dark;font-family:Jost,sans-serif;color:var(--text);background:var(--background);font-synthesis:none;--background:#030a18;--surface:#071426;--ink:#d5e6f0;--text:#b0c8d9;--muted:#84a0b3;--teal:#67d8ca;--gold:#f2bc69;--line:#142b4d;--menu-gold:#cbb182;--menu-line:#a08d6938;--menu-ink:#e7e2d5;--menu-surface:radial-gradient(ellipse at 8% 0%,#31424366,transparent 46%),linear-gradient(120deg,#101f2c,#081421 75%);--control-surface:linear-gradient(145deg,#243530ed,#0c1925f2);--ease-menu:cubic-bezier(.2,.75,.25,1);--hover-fade:.3s var(--ease-menu)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{color:inherit;border:0;background:none;cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:default}button svg,a svg{width:21px;height:21px;flex-shrink:0}button:focus-visible,a:focus-visible,summary:focus-visible,canvas:focus-visible{outline:2px solid var(--menu-gold);outline-offset:5px}button:hover{filter:none}button{transition:background-color .22s var(--ease-menu),color .22s var(--ease-menu),box-shadow .22s var(--ease-menu),border-color .22s var(--ease-menu)}svg{display:block}button[hidden],[hidden]{display:none!important}#app{position:relative;height:100dvh;min-height:0;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 62% 30%,#11314b,#071426 55%,#030a18)}#world-wrap{position:absolute;inset:0}#world{display:block;width:100%;height:100%;touch-action:none;outline-offset:-6px}.atmosphere{pointer-events:none;position:absolute;inset:0;background:linear-gradient(90deg,#030a1899,transparent 45%),linear-gradient(0deg,#030a18ad,transparent 24%),linear-gradient(180deg,#030a1859,transparent 17%);z-index:1}#landmarks{position:absolute;inset:0;pointer-events:none;z-index:3}.header{position:absolute;z-index:5;top:0;left:0;right:0;padding:30px 42px;display:flex;align-items:center;gap:23px;pointer-events:none}.header>*{pointer-events:auto}.brand{display:flex;align-items:center;flex-shrink:0;min-height:44px;padding:0;line-height:1}.brand:hover img,.brand:focus-visible img{filter:brightness(1.15)}.brand img{display:block;width:182px;height:auto;transition:filter .2s var(--ease-menu)}.brand-caption{font-size:11px;color:var(--muted);border-left:1px solid #41638740;padding-left:23px;letter-spacing:.025em;line-height:1.5}.icon-button{width:40px;height:40px;display:grid;place-items:center;border:1px solid #a08d6959;border-radius:2px;background:var(--control-surface);color:#b9bba9;box-shadow:inset 0 0 0 3px #a28d6308,0 3px 12px #00081026}.icon-button:hover,.icon-button[aria-pressed=true]{border-color:var(--menu-gold);box-shadow:inset 0 0 0 3px #cbb18212,inset 0 0 0 40px #cbb18210,0 3px 12px #00081026;color:var(--menu-gold)}.icon-button:active{box-shadow:inset 0 2px 6px #0008}.icon-button svg,a svg{width:19px;height:19px}.small-star{font-size:17px;color:var(--gold)}h1{font-family:Marcellus,Georgia,serif;color:var(--ink);text-shadow:0 2px 24px #00071699;font-size:clamp(44px,4.45vw,70px);line-height:1.04;font-weight:400;letter-spacing:-.035em;margin:24px 0 23px}p{margin:0}#world-fallback{position:absolute;inset:42% 20%;text-align:center;color:var(--ink);z-index:4;line-height:1.8}.landmark{pointer-events:auto;position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;gap:6px;min-width:54px;min-height:34px;padding:8px 10px;border-radius:1px;background:linear-gradient(90deg,transparent,#0b1923b3 20%,#0b1923b3 80%,transparent);color:#9bbdb7;font-size:11px;letter-spacing:.035em;text-shadow:0 1px 5px #020913;line-height:1;white-space:nowrap;will-change:transform}.landmark>svg{width:17px;height:17px;flex-shrink:0;color:var(--menu-gold)}.landmark:before{content:"";position:absolute;left:50%;bottom:-14px;width:1px;height:14px;background:linear-gradient(#cbb18266,#cbb1821a);pointer-events:none}.landmark:after{content:"";position:absolute;left:calc(50% - 2px);bottom:-17px;width:4px;height:4px;border:1px solid #cbb18288;background:#24322d;transform:rotate(45deg);pointer-events:none}.landmark:hover,.landmark:focus-visible,.landmark.is-near,.landmark.is-highlighted{color:var(--menu-gold);box-shadow:inset 0 -1px #cbb18299,inset 0 0 0 40px #cbb1820c,0 3px 12px #00081233}.landmark:hover:after,.landmark:focus-visible:after,.landmark.is-near:after,.landmark.is-highlighted:after{border-color:var(--menu-gold);background:var(--menu-gold)}.landmark.is-open{background:var(--control-surface);color:var(--menu-gold)}.landmark.is-open:after{background:var(--menu-gold);border-color:var(--menu-gold)}.landmark .place-tick{width:4px;height:4px;transform:rotate(45deg);background:var(--menu-gold);display:none}.landmark.is-visited .place-tick{display:block}a svg{width:16px;height:16px}.world-navigation{position:absolute;left:50%;bottom:17px;transform:translate(-50%);display:grid;width:max-content;max-width:calc(100% - 32px);gap:11px;z-index:5}.places{--frame-size:8px;--frame-inset:4px;display:flex;align-items:center;gap:0;padding:7px;border:1px solid #8e805b80;border-radius:2px;color:#b8c2c3;background:var(--menu-surface);box-shadow:0 0 0 3px #0c172280,0 12px 32px #00040d66,inset 0 1px #f2d9a21a;backdrop-filter:blur(12px);z-index:5}.places .nav-group:before{content:""}.place-button{position:relative;padding:12px 20px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;border-radius:0;border-right:1px solid #a08d6926;white-space:nowrap}.place-button:last-child{border-right:0}.place-button svg,a svg{width:17px;height:17px;color:#a9ae99}.place-button:hover,.place-button:focus-visible,.place-button.is-active,.place-button.is-highlighted{color:var(--menu-gold);background-color:#b99a5d10;box-shadow:inset 0 -1px var(--menu-gold)}.place-button:hover svg,.place-button:focus-visible svg,.place-button.is-active svg,.place-button.is-highlighted svg{color:var(--menu-gold)}.place-button:after,.menu-tab:after{content:"";position:absolute;width:5px;height:5px;bottom:-3px;left:calc(50% - 2px);transform:translateY(2px) rotate(45deg) scale(.75);background:var(--menu-gold);opacity:0;pointer-events:none;transition:opacity .2s var(--ease-menu),transform .24s var(--ease-menu)}.place-button:hover:after,.place-button:focus-visible:after,.place-button.is-active:after,.place-button.is-highlighted:after,.menu-tab.is-active:after{opacity:1;transform:translateY(0) rotate(45deg) scale(1)}.place-button:focus-visible{outline-offset:-4px}.world-footer{display:flex;justify-content:flex-end;font-size:10px;letter-spacing:.025em;color:var(--muted);z-index:4}.world-footer>div{display:flex;gap:18px}.world-footer a:hover{color:var(--menu-gold);text-decoration:underline;text-underline-offset:3px}kbd{font-family:Jost,sans-serif;display:inline-grid;place-items:center;min-width:24px;height:24px;font-size:11px;border:1px solid #9d90684d;border-bottom-width:2px;border-radius:2px;padding:1px 5px;color:#c2b491;background:#b0a16d08;box-shadow:0 1px #0008}.skip-link{position:fixed;top:-100px;left:16px;z-index:30;padding:12px;background:var(--control-surface);color:var(--menu-ink);border:1px solid var(--menu-gold);border-radius:2px}.skip-link:focus{top:16px}dialog{color:var(--menu-ink);border:1px solid #8e805b9c;border-radius:3px;background:var(--menu-surface);box-shadow:0 0 0 1px #040a12,0 0 0 4px #0c1722b3,0 24px 100px #000710cc,inset 0 1px #f2d9a21a;padding:0}dialog::backdrop{background:#02081280;backdrop-filter:blur(3px)}#content-panel{position:fixed;inset:0;margin:auto;width:min(760px,calc(100% - 48px));height:fit-content;max-height:calc(100dvh - 64px);max-width:none;overflow:hidden}#content-panel::backdrop{background:#02081285;backdrop-filter:blur(4px)}#content-panel[open]{display:flex;flex-direction:column}dialog[open]{animation:menu-open .28s cubic-bezier(.16,1,.3,1) both;transform-origin:50% 55%}dialog[open]::backdrop{animation:veil-open .24s ease-out both}dialog[open].is-closing{animation:menu-close .18s ease-in both;pointer-events:none}dialog[open].is-closing::backdrop{animation:veil-close .18s ease-in both}@keyframes menu-open{0%{opacity:0;transform:translateY(7px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes menu-close{0%{opacity:var(--menu-exit-opacity,1);transform:var(--menu-exit-transform,none)}to{opacity:0;transform:translateY(4px) scale(.992)}}@keyframes veil-open{0%{opacity:0}to{opacity:1}}@keyframes veil-close{0%{opacity:1}to{opacity:0}}@keyframes menu-content-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}#content-panel.is-switching #panel-body>*{animation:menu-content-in .2s var(--ease-menu) both}.panel-frame,.places .nav-group:before{position:absolute;inset:var(--frame-inset,6px);pointer-events:none;z-index:3;border:1px solid #a08d6926;background:linear-gradient(var(--menu-gold),var(--menu-gold)) left top / var(--frame-size,15px) 1px,linear-gradient(var(--menu-gold),var(--menu-gold)) left top / 1px var(--frame-size,15px),linear-gradient(var(--menu-gold),var(--menu-gold)) right top / var(--frame-size,15px) 1px,linear-gradient(var(--menu-gold),var(--menu-gold)) right top / 1px var(--frame-size,15px),linear-gradient(var(--menu-gold),var(--menu-gold)) left bottom / var(--frame-size,15px) 1px,linear-gradient(var(--menu-gold),var(--menu-gold)) left bottom / 1px var(--frame-size,15px),linear-gradient(var(--menu-gold),var(--menu-gold)) right bottom / var(--frame-size,15px) 1px,linear-gradient(var(--menu-gold),var(--menu-gold)) right bottom / 1px var(--frame-size,15px);background-repeat:no-repeat}.panel-top{padding:25px 30px 22px;display:flex;flex-shrink:0;align-items:center;gap:17px;background:linear-gradient(180deg,#c3b78708,transparent)}.panel-place{display:grid;place-items:center;position:relative;flex-shrink:0;width:46px;height:46px;color:var(--menu-gold);border:1px solid #a28d6366;border-radius:50%;background:radial-gradient(circle at 35% 25%,#42534b55,#081421);box-shadow:0 0 0 4px #0a1520,inset 0 0 0 3px #0b1925,inset 0 0 0 4px #a28d6326}.panel-place:after{content:"";position:absolute;width:4px;height:4px;top:-3px;background:var(--menu-gold);transform:rotate(45deg)}.panel-place svg{width:23px;height:23px}.panel-top h2{font-family:Marcellus,Georgia,serif;font-size:30px;letter-spacing:-.025em;line-height:1.2;font-weight:400;margin:0}.panel-top .icon-button{margin-left:auto;flex-shrink:0;width:34px;height:34px}.panel-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:0 25px;flex-shrink:0;border-block:1px solid var(--menu-line);background:#030b1447}.menu-tab{position:relative;min-width:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 5px;font-size:12px;color:#91a6b4;border-right:1px solid #a08d6914}.menu-tab:last-child{border-right:0}.menu-tab svg{width:18px;height:18px}.menu-tab:hover{color:var(--menu-ink);background-color:#a8c9cc09}.menu-tab.is-active{color:var(--menu-gold);background-color:#b99a5d10;box-shadow:inset 0 -1px var(--menu-gold)}.menu-tab:focus-visible{outline-offset:-5px}.panel-scroll{overflow:auto;padding:26px 30px 28px;min-height:0;flex:0 1 auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#6b7164 transparent}.panel-description{font-family:Source Sans,sans-serif;font-size:16px;line-height:1.5;color:var(--text);margin:0 0 21px}.panel-bottom{padding:12px 30px 15px;flex-shrink:0;border-top:1px solid var(--menu-line);display:flex;align-items:center;justify-content:space-between;background:#020a124d}.panel-moon{font-family:Georgia,serif;font-size:22px;line-height:1;color:#b59e7166;transform:rotate(-20deg)}.text-button{padding:4px 0;font-size:11px;display:flex;align-items:center;gap:10px;color:#b5b8ad}.text-button kbd{font-size:9px;min-width:27px;height:20px;border:1px solid #9d90684d;background:#b0a16d08;color:#c2b491;box-shadow:0 1px #0008}.text-button:hover{color:var(--menu-ink)}.feature-image{display:block;width:100%;height:auto;aspect-ratio:2.5;object-fit:cover;border-radius:1px;border:1px solid #9d90686b;outline:1px solid #9d906826;outline-offset:4px;margin:4px 0 25px;box-shadow:0 8px 30px #0005}.project-heading{display:flex;gap:12px;align-items:center;justify-content:space-between}.project-title{font-family:Marcellus,Georgia,serif;color:var(--menu-ink);font-size:24px;line-height:1.3;font-weight:400;letter-spacing:-.02em;margin:0}.status-pill{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:var(--menu-gold);font-size:11px;line-height:1.5}.status-pill:before{content:"";width:4px;height:4px;transform:rotate(45deg);background:currentColor}.status-pill.is-live{color:#8ac6b5}.prose,.feature-caption{font-family:Source Sans,sans-serif;font-size:16px;line-height:1.65;color:var(--text)}.prose p{margin:0 0 16px}.feature-caption{margin:9px 0 18px}.text-link{display:inline;padding:0;border:0;border-bottom:1px solid #cbb18255;border-radius:0;font-family:inherit;font-size:inherit;color:var(--menu-gold);line-height:inherit}.text-link:hover{color:#f1d6a7;border-bottom-color:currentColor}.section-link{display:inline-flex;align-items:center;gap:24px;padding:9px 14px;border:1px solid #a18d635c;background:linear-gradient(180deg,#a18d6314,#a18d6308);font-size:12px;box-shadow:inset 0 0 0 3px #a18d6305}.section-link:hover{box-shadow:inset 0 0 0 3px #cbb18212,inset 0 0 0 50px #cbb18210}.about-image{aspect-ratio:3}.about-copy{max-width:57ch;margin-bottom:21px}.about-copy p{margin:0}.project-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-block:10px}.project-logo-link{display:flex;align-items:center;justify-content:center;min-width:0;min-height:142px;padding:22px 16px;border:1px solid var(--menu-line);background:radial-gradient(ellipse,#1d343f45,transparent);box-shadow:inset 0 0 0 3px #07121c55;transition:border-color .2s var(--ease-menu),background-color .2s var(--ease-menu)}.project-logo-link:hover,.project-logo-link:focus-visible{border-color:var(--menu-gold);background-color:#cbb1820a}.project-logo{display:block;object-fit:contain;width:100%;height:82px}.project-list:has(>:only-child){grid-template-columns:minmax(0,260px);justify-content:center}.news-list{border-block:1px solid var(--menu-line)}.news-date{font-size:11px;line-height:1.4;color:#92a5b0;white-space:nowrap}.primary-button{display:inline-flex;gap:20px;justify-content:center;align-items:center;background:linear-gradient(160deg,#36443d,#223536);color:#ece2cc;padding:11px 17px;border:1px solid #a99b6f88;border-radius:1px;box-shadow:inset 0 0 0 3px #0c192b33;font-size:12px}.primary-button:hover{box-shadow:inset 0 0 0 3px #cbb18212,inset 0 0 0 60px #cbb18210;border-color:var(--menu-gold)}#guide{max-width:470px;width:calc(100% - 36px);padding:26px 32px 32px}.guide-top{display:flex;justify-content:space-between;align-items:center}.guide-top .panel-place{width:38px;height:38px;font-size:21px}#guide h2{font-family:Marcellus,Georgia,serif;font-weight:400;font-size:32px;line-height:1.2;letter-spacing:-.03em;margin:20px 0 12px}#guide>p{font-family:Source Sans,sans-serif;font-size:16px;color:var(--muted);line-height:1.6}.controls-list{margin:28px 0}.controls-list>div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:12px 0;border-top:1px solid var(--menu-line);font-size:12px;line-height:1.65}.controls-list dt{font-weight:500}.controls-list dd{margin:0;color:var(--text)}.controls-list kbd{margin-right:3px;min-width:20px;height:21px;font-size:10px}:is(.icon-button,.place-button,.menu-tab) svg{transition:transform .24s var(--ease-menu),color .22s var(--ease-menu)}:is(.icon-button,.place-button,.menu-tab):hover svg{transform:translateY(-1px)}:is(.icon-button,.place-button,.menu-tab):active svg{transform:translateY(0)}.primary-button,.section-link{transition:color .22s var(--ease-menu),border-color .22s var(--ease-menu),box-shadow .22s var(--ease-menu)}:is(.primary-button,.section-link,.project-visit)>span{display:inline-block;transition:transform .24s var(--ease-menu)}:is(.primary-button,.section-link,.project-visit):hover>span{transform:translate(2px)}a[target=_blank]:is(.primary-button,.project-visit):hover>span{transform:translate(1px,-1px)}.text-link:not(.section-link),.world-footer a{transition:color .22s var(--ease-menu),border-color .22s var(--ease-menu)}.landmark,.places .place-button{transition:color var(--hover-fade),background-color var(--hover-fade),box-shadow var(--hover-fade),border-color var(--hover-fade)}.landmark svg,.places .place-button svg{transition:color var(--hover-fade),transform .24s var(--ease-menu)}.landmark:after,.landmark:before{transition:background-color var(--hover-fade),border-color var(--hover-fade)}.places .place-button:after{transition:opacity var(--hover-fade),transform var(--hover-fade)}.no-script{position:fixed;z-index:30;inset:0;display:grid;align-content:center;gap:20px;padding:40px;background:var(--background);color:var(--ink)}.no-script a{text-decoration:underline}@media(min-width:1600px){.world-navigation{gap:13px}.header{padding:34px 56px}.place-button{padding:14px 25px}}@media(max-width:1100px){.world-navigation{bottom:14px;gap:10px}.header{padding:24px 27px}.brand-caption{display:none}h1{font-size:44px}.place-button{padding:12px 17px}.landmark{font-size:11px;padding:7px 9px}}@media(max-width:700px){.world-navigation{width:calc(100% - 32px);bottom:12px;gap:9px}.header{padding:20px}.brand img{width:158px}.icon-button{width:35px;height:35px}h1{font-size:37px;line-height:1.04;letter-spacing:-.04em;margin:13px 0 12px}.landmark{font-size:10px;gap:4px;padding:7px 8px}.landmark .place-tick{display:none!important}.places{display:grid;grid-template-columns:repeat(3,1fr);padding:7px;gap:2px 0}.place-button{padding:11px 6px;font-size:11px;gap:7px}.place-button svg,a svg{width:17px;height:17px}.world-footer{font-size:8px}.world-footer>div{gap:12px}.atmosphere{background:linear-gradient(180deg,#030a187a,transparent 44%),linear-gradient(0deg,#030a18b3,transparent 32%)}#content-panel{width:calc(100% - 24px);max-height:calc(100dvh - 32px)}.panel-top{padding:23px 22px 20px;gap:14px}.panel-top h2{font-size:25px}.panel-place{width:38px;height:38px}.panel-place svg{width:20px;height:20px}.panel-nav{margin:0 17px}.menu-tab{flex-direction:column;gap:5px;padding:11px 2px;font-size:10px}.menu-tab svg{width:18px;height:18px}.panel-scroll{padding:24px 23px}.panel-description{font-size:15px;margin-bottom:19px}.panel-bottom{padding:10px 23px 13px}.feature-image{aspect-ratio:1.9;margin-bottom:22px}.about-image{aspect-ratio:2.2}.project-title{font-size:21px}.project-heading{gap:9px}.status-pill{font-size:10px;gap:5px}.project-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-block:0}.project-logo-link{min-height:116px;padding:17px 12px}.project-logo{height:70px}.project-list>:last-child:nth-child(odd):not(:only-child){grid-column:1 / -1;width:calc((100% - 12px)/2);justify-self:center}.news-date{grid-column:1;font-size:11px}}@media(max-width:380px){h1{font-size:32px}.header{padding:17px 19px}.header-tools{gap:0}.place-button{font-size:10px;padding:10px 4px}.panel-scroll{padding:20px 18px 23px}.project-heading{align-items:flex-start;flex-wrap:wrap;gap:7px}}@media(max-height:660px)and (min-width:701px){.world-navigation{bottom:10px;gap:6px}h1{font-size:39px;margin:15px 0}.header{padding:20px 30px}}@media(max-height:480px){.world-navigation{width:max-content;bottom:6px;gap:5px}#content-panel{max-height:calc(100dvh - 24px)}.panel-top{padding:14px 23px 12px}.panel-top h2{font-size:23px}.panel-place{width:32px;height:32px}.panel-place svg{width:18px;height:18px}.menu-tab{flex-direction:row;padding:10px 4px;font-size:11px}.menu-tab svg{width:16px;height:16px}.panel-scroll{padding-block:20px}.panel-bottom{padding-block:8px}.header{padding:12px 20px}.brand img{width:142px}h1{font-size:30px;margin:10px 0}.places{display:flex;padding:6px;gap:0}.place-button{padding:8px 11px;font-size:10px;gap:6px}.place-button svg,a svg{width:15px;height:15px}.world-footer{font-size:8px}#guide{max-height:calc(100dvh - 24px);overflow:auto}.controls-list{margin:16px 0}.controls-list>div{padding:7px 0}.guide-top{float:right}#guide h2{margin-top:10px;font-size:25px}.landmark{font-size:9px;padding:6px}}@media(max-height:480px)and (orientation:landscape){h1{font-size:28px}}@media(min-width:701px)and (max-width:900px)and (orientation:portrait){h1{font-size:40px;margin:17px 0}}@media(min-width:701px)and (max-width:1100px)and (orientation:landscape){h1{font-size:38px}}@media(min-width:901px)and (max-width:1100px)and (orientation:portrait){h1{font-size:40px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after,*::backdrop{animation:none!important;transition:none!important;scroll-behavior:auto!important}:is(.icon-button,.place-button,.menu-tab):hover svg,:is(.primary-button,.section-link,.project-visit):hover>span,a[target=_blank]:is(.primary-button,.project-visit):hover>span{transform:none}}.places{gap:18px;padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none}.nav-group{position:relative;display:flex;min-width:0;border:1px solid #8e805b66;border-radius:2px;background:var(--menu-surface)}.nav-group>:is(button,a){flex:1}.nav-projects{border-color:#cbb18299;background:linear-gradient(140deg,#2b3b36f5,#12242bf5)}.nav-projects>:is(button,a){color:#ddd8c5}.nav-projects svg{color:var(--menu-gold)}.nav-group>:last-child{border-right:0}.places .nav-group{padding:7px;box-shadow:0 0 0 3px #0c172280,0 12px 32px #00040d66,inset 0 1px #f2d9a21a;backdrop-filter:blur(12px)}.panel-nav{display:flex;gap:14px;border:0;background:none}.panel-nav .nav-projects{flex:2}.panel-nav .nav-community{flex:4}.board-button{display:flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;padding:0 14px;min-height:40px;border:1px solid #a08d6980;border-radius:2px;color:var(--menu-ink);background:var(--control-surface);box-shadow:inset 0 0 0 3px #a28d6308,0 3px 12px #00081026;font-size:12px;transition:color .2s var(--ease-menu),border-color .2s var(--ease-menu),box-shadow .2s var(--ease-menu)}.board-button svg{width:16px;height:16px;color:var(--menu-gold)}.board-button:hover{color:var(--menu-gold);border-color:var(--menu-gold);box-shadow:inset 0 0 0 3px #cbb18212,inset 0 0 0 40px #cbb18210,0 3px 12px #00081026}.board-button:active{box-shadow:inset 0 2px 6px #0008}.board-invitation{display:flex;flex-direction:column;align-items:center;text-align:center;padding:10px 0 17px}.board-emblem{display:grid;place-items:center;width:76px;height:76px;border:1px solid #a28d6366;border-radius:50%;color:var(--menu-gold);background:radial-gradient(#62765825,transparent 70%);box-shadow:inset 0 0 0 5px #a28d6309}.board-emblem svg{width:30px;height:30px}.board-invitation h3{margin:23px 0 0;font:400 27px/1.3 Marcellus,Georgia,serif;color:var(--menu-ink)}.board-invitation .feature-caption{margin:10px 0 25px}.board-domain{margin-top:13px;font-size:11px;color:#8299a4}.menu-form{display:grid;gap:18px}.menu-form label{display:grid;gap:7px;color:#c1c6be;font-size:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.menu-form .form-row label{grid-template-columns:1fr auto}.form-row input{grid-column:1 / -1}.field-optional{color:#7f929d;font-size:10px}.menu-form input:not([type=checkbox]),.menu-form textarea{width:100%;min-width:0;border:1px solid #7e85744d;border-radius:1px;color:var(--menu-ink);background:linear-gradient(150deg,#030c17aa,#0a18246b);box-shadow:inset 0 2px 7px #0003;padding:10px 12px;outline:none;transition:border-color .2s,box-shadow .2s;font-size:16px}.menu-form input:hover,.menu-form textarea:hover{border-color:#b3a68080}.menu-form input:focus-visible,.menu-form textarea:focus-visible{border-color:var(--menu-gold);box-shadow:0 0 0 2px #cbb18219;outline:1px solid var(--menu-gold);outline-offset:2px}.menu-form textarea{font-family:Source Sans,sans-serif;resize:vertical;min-height:115px;max-height:300px}.menu-form input::placeholder{color:#748892}.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 23px;font-size:12px}.form-actions>*{white-space:nowrap}.form-actions .form-privacy{margin-left:auto}.menu-form [type=submit]{min-height:42px}.menu-form [type=submit]:disabled{opacity:.6}.form-note{margin:0;font-family:Source Sans,sans-serif;color:#849aa5;font-size:12px;line-height:1.55}.form-feedback{margin:0;border-left:2px solid var(--menu-gold);padding:9px 12px;background:#cbb18208;font:15px/1.5 Source Sans,sans-serif;color:var(--menu-ink)}.form-feedback[data-state=error]{border-color:#d59c89;color:#ecc4b5}.form-feedback[data-state=success]{border-color:#8ac6b5;color:#a8d5c7}.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.signup-intro{margin:0 0 23px}.signup-row{display:flex;gap:0;margin-top:-12px}.signup-row input{flex:1}.signup-row button{flex-shrink:0;min-width:115px}.menu-form .consent-row{display:flex;align-items:flex-start;gap:10px;color:#b1c0c5;font:14px/1.5 Source Sans,sans-serif}.consent-row input{flex-shrink:0;margin:3px 0 0;width:15px;height:15px;accent-color:var(--menu-gold)}.updates-link{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;border-top:1px solid var(--menu-line);margin-top:25px;padding-top:19px;font:14px/1.5 Source Sans,sans-serif;color:#93a7b0}#privacy-dialog{width:min(440px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:24px;overflow:auto}#privacy-dialog::backdrop{background:#020812e6;backdrop-filter:none}.privacy-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.privacy-top h2{margin:0;font:400 26px/1.2 Marcellus,Georgia,serif;letter-spacing:-.025em}.privacy-top .icon-button{flex-shrink:0;width:44px;height:44px}#privacy-dialog>p{margin:0 0 14px;color:#b1c0c5;font:16px/1.5 Source Sans,sans-serif}#privacy-dialog>.privacy-note{font-size:14px}#privacy-dialog>.form-note{margin-bottom:0;color:#849aa5;font-size:13px}.privacy-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.privacy-actions>button{flex:1 1 145px;min-height:44px;padding:10px}.news-row{display:grid;grid-template-columns:94px 1fr 20px;align-items:center;gap:18px;padding:20px 12px;border-top:1px solid var(--menu-line);transition:background-color .2s}.news-row:first-child{border-top:0}.news-row:hover{background:#cbb18208}.news-row .project-title{font-size:18px;letter-spacing:0}.news-arrow{color:var(--menu-gold);font-size:17px;transition:transform .22s var(--ease-menu)}.news-row:hover .news-arrow{transform:translate(2px)}.reader-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px;font-size:12px}.article-reader>h3{font:400 clamp(24px,3vw,31px)/1.3 Marcellus,Georgia,serif;color:var(--menu-ink);margin:0 0 25px}.article-image{aspect-ratio:2.7}.article-reader .prose{max-width:64ch;font-size:17px;line-height:1.75}.prose a{color:var(--menu-gold);text-decoration:underline;text-decoration-color:#cbb18255;text-underline-offset:4px}.prose a:hover{text-decoration-color:currentColor}.reader-pagination{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--menu-line);margin-top:25px;padding-top:20px;font-size:12px}.detail-logo{display:block;width:190px;height:85px;object-fit:contain;margin:5px auto 25px}.project-detail{text-align:center;padding:0 15px 25px}.project-detail .feature-caption{max-width:57ch;margin:12px auto 22px}.game-logo-heading{margin:0}.game-detail-logo{width:min(280px,100%);height:auto}.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 28px}.project-gallery a{display:block;overflow:hidden;border:1px solid var(--menu-line);background:#030a18;transition:border-color .2s var(--ease-menu)}.project-gallery a:hover,.project-gallery a:focus-visible{border-color:var(--menu-gold)}.project-gallery img{display:block;width:100%;height:auto;aspect-ratio:16 / 9;object-fit:contain}#screenshot-viewer{width:min(1320px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 32px);overflow:hidden}.screenshot-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:12px 16px;color:var(--menu-gold)}.screenshot-arrows{display:flex;gap:8px}.screenshot-toolbar .icon-button{width:44px;height:44px}.screenshot-toolbar>.icon-button{justify-self:end}.screenshot-toolbar [data-image-position]{font-size:13px;font-variant-numeric:tabular-nums}.screenshot-stage{padding:16px 16px 0;touch-action:pan-y pinch-zoom}.screenshot-viewport{position:relative;overflow:hidden;cursor:grab;user-select:none}.screenshot-stage.is-dragging .screenshot-viewport{cursor:grabbing}.screenshot-stage img{display:block;width:100%;height:auto;max-height:calc(100dvh - 120px);object-fit:contain}.screenshot-stage .screenshot-outgoing{position:absolute;inset:0;height:100%;pointer-events:none}@media(max-width:480px){#screenshot-viewer{width:calc(100% - 16px)}.screenshot-toolbar{padding:8px;gap:8px}.screenshot-arrows{gap:4px}.screenshot-stage{padding:8px 8px 0}.screenshot-stage img{max-height:calc(100dvh - 104px)}}.small-heading{color:#a2b1b6;font-size:11px;font-weight:400;margin:12px 0}.related-projects{display:flex;justify-content:space-between;gap:25px;margin-top:23px;font-size:12px}.legal-copy{font-size:16px;overflow-wrap:anywhere}.legal-copy h1,.legal-copy h2,.legal-copy h3{font:400 21px/1.5 Marcellus,Georgia,serif;color:var(--menu-ink);margin:25px 0 13px}.legal-copy h1:first-child,.legal-copy h2:first-child{margin-top:0}.legal-copy strong{font-weight:600}.legal-copy ul{padding-left:22px}.about-copy p+p{margin-top:16px}.empty-note{margin:20px 12px;font-size:14px}@media(max-width:700px)and (min-height:481px){.places{grid-template-columns:1fr;gap:8px}.places .nav-group{padding:5px}.places .nav-projects .place-button{padding:8px 6px}.places .nav-community .place-button{padding:9px 3px;gap:5px}.places .nav-community svg{width:15px;height:15px}}@media(max-width:700px){.panel-nav,.header{gap:10px}.board-button{min-height:35px;padding:0 10px;gap:6px;font-size:11px}.form-row{gap:13px}.menu-form{gap:16px}.menu-form input:not([type=checkbox]),.menu-form textarea{padding:9px 10px}.signup-row button{padding:10px 12px;min-width:100px}.updates-link{align-items:flex-start}.news-row{grid-template-columns:1fr 20px;gap:6px 12px;padding:17px 8px}.news-row .news-date{grid-column:1}.news-row .project-title{grid-column:1;font-size:18px}.news-arrow{grid-column:2;grid-row:1 / 3}.article-reader .prose{font-size:16px}.project-detail{padding-inline:0}.detail-logo{height:70px;margin-bottom:20px}.game-detail-logo{height:auto}.project-gallery{gap:9px}}@media(max-width:480px){.project-gallery{grid-template-columns:minmax(0,1fr)}}@media(max-width:370px){.board-button svg{display:none}.form-row{grid-template-columns:1fr}}@media(max-height:480px){.places{gap:13px}.places .nav-group{padding:5px}.board-button{min-height:35px}}@media(prefers-reduced-motion:reduce){.news-row:hover .news-arrow{transform:none}}.world-navigation{bottom:max(12px,env(safe-area-inset-bottom))}.places{display:grid;grid-template-areas:"activities utilities" "projects community";grid-template-columns:max-content max-content;gap:9px 18px;align-items:stretch}.places .nav-projects{grid-area:projects}.places .nav-community{grid-area:community}.places .place-button{min-width:44px;min-height:44px}.places .nav-activities{grid-area:activities;justify-self:start;width:max-content;padding:0}.nav-utilities{grid-area:utilities;justify-self:end;display:flex;gap:8px;width:max-content}.places .nav-action{flex:0 0 44px;width:44px;padding:0}.places .nav-single{flex:none;padding:0}.places :is(.nav-activities,.nav-single):before{content:none}.places .nav-single>:is(button,a){flex:none}.places .nav-help{width:46px;min-width:46px;background:var(--control-surface)}.places .nav-external .place-button{padding:0 14px}@media(max-width:1100px){.places{column-gap:12px}.places :is(.nav-projects,.nav-community) .place-button{padding-inline:10px}}@media(max-width:700px){.world-navigation{width:calc(100% - 24px);max-width:calc(100% - 24px)}.places{grid-template-columns:minmax(98px,2fr) minmax(186px,4fr);gap:8px}.places :is(.nav-projects,.nav-community){display:grid;padding:4px}.places .nav-projects{grid-template-columns:repeat(2,minmax(0,1fr))}.places .nav-community{grid-template-columns:repeat(4,minmax(0,1fr))}.places :is(.nav-projects,.nav-community) .place-button{flex-direction:column;min-height:48px;padding:5px 1px;gap:3px;font-size:10px}.places :is(.nav-projects,.nav-community) svg{width:16px;height:16px}.places .nav-external .place-button{padding-inline:10px;font-size:11px;gap:6px}}.fishing-spot{z-index:3}.fishing-spot svg{width:17px;height:17px;color:var(--menu-gold)}.fishing-hud{--fishing-bottom:calc(var(--navigation-height,130px) + max(12px,env(safe-area-inset-bottom)) + 16px);position:absolute;z-index:5;bottom:var(--fishing-bottom);right:max(12px,env(safe-area-inset-right),calc((100% - var(--navigation-width,720px)) / 2));display:grid;grid-template-columns:76px 164px;grid-template-rows:14px 62px;align-items:center;gap:10px 12px;width:252px;max-width:calc(100% - 32px);color:var(--menu-ink);animation:fishing-menu-in .22s var(--ease-menu) both}.fishing-heading{grid-column:1 / -1;display:flex;align-items:center;gap:10px;color:var(--menu-gold);font-size:10px;line-height:14px;letter-spacing:.2em;text-transform:uppercase;text-shadow:0 2px 8px #000}.fishing-heading:before{content:"";width:5px;height:5px;background:var(--menu-gold);transform:rotate(45deg)}.fishing-heading:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,#cbb18280,transparent)}.fishing-readout{position:absolute;bottom:calc(100% + 12px);right:0;display:flex;align-items:center;gap:12px;min-height:48px;min-width:0;width:max-content;max-width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - var(--fishing-bottom) - 98px - max(16px,env(safe-area-inset-top)));overflow:auto;padding:10px 14px;border:1px solid #a08d6973;border-radius:2px;background:var(--menu-surface);box-shadow:0 0 0 3px #0c172280,0 8px 24px #00040d55,inset 0 1px #f2d9a21a}.fishing-hud[data-phase=reeling] .fishing-readout{width:270px}.fishing-hud[data-phase=reeling] .fishing-message{flex:1;max-width:none}#fishing-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.fishing-message{min-width:140px;max-width:230px}.fishing-specimen{width:128px;height:100px;display:grid;place-items:center;flex-shrink:0}.fishing-specimen img{max-width:100%;height:auto;max-height:150px;object-fit:contain;filter:drop-shadow(0 5px 8px #0009)}.fishing-hud[data-phase=caught] .fishing-message{min-width:0;max-width:255px}.fishing-hud[data-phase=caught] .fishing-message strong{color:var(--menu-gold);font-family:Marcellus,Georgia,serif;font-size:17px}#fishing-lore{margin:8px 0;font-family:Source Sans,sans-serif;font-size:13px;line-height:1.35;color:#bec7bf}#fishing-link{font-size:11px;color:var(--menu-gold)}#fishing-saved{display:block;margin-top:7px;color:#95aaad;font-size:10px}.fishing-meter{position:relative;height:9px;margin-top:8px;border:1px solid #8e805b88;background:#030c17}.fishing-target{position:absolute;height:100%;left:var(--target-start);width:var(--target-width);background:#bca06b;box-shadow:0 0 8px #c8b98c33}.fishing-needle{position:absolute;top:-3px;bottom:-3px;width:3px;left:var(--needle);transform:translate(-50%);background:#e7e7cf;box-shadow:0 0 4px #f6f0c766}#fishing-log{position:fixed;inset:0;margin:auto;width:min(520px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 40px);overflow:auto}#fishing-log .panel-top{position:sticky;top:0;z-index:2;background:var(--menu-surface)}#fishing-log h2{font-size:24px}.fish-species{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 22px;padding:7px 0 12px;border-bottom:1px solid var(--menu-line)}.fish-best{text-align:center;min-width:0;opacity:.65;padding:4px 0;border:1px solid transparent;border-radius:1px}.fish-best.is-caught{opacity:1}.fish-best:hover,.fish-best[aria-expanded=true]{opacity:1;border-color:var(--menu-line);background:#cbb18208}.fish-best img{display:block;width:78px;height:48px;object-fit:contain;margin:auto}.fish-best span{display:block;color:var(--menu-ink);font-size:11px}.fish-best strong{display:block;color:var(--menu-gold);font-size:11px;font-weight:400;margin-top:4px;font-variant-numeric:tabular-nums}.fish-records-body{padding:0 22px}.fish-personal{display:flex;justify-content:space-between;align-items:center;padding:13px 0;gap:12px;color:var(--muted);font-size:11px}.fish-personal strong{color:var(--menu-gold);font-size:16px;font-weight:400;white-space:nowrap;font-variant-numeric:tabular-nums}.fish-ranking{width:100%;border-collapse:collapse;font-size:12px}.fish-ranking caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.fish-ranking th{color:#95aaad;text-align:left;font-size:10px;font-weight:400;padding:7px 0}.fish-ranking td{border-top:1px solid var(--menu-line);padding:9px 0;vertical-align:top}.fish-ranking td:first-child{color:var(--muted);width:26px}.fish-ranking :is(td,th):last-child{text-align:right;white-space:nowrap;color:var(--menu-gold);font-variant-numeric:tabular-nums}.fish-ranking summary{cursor:pointer;overflow-wrap:anywhere;padding-right:10px}.fish-ranking summary::marker{color:#829384;font-size:9px}.fish-breakdown{display:grid;gap:4px;margin-top:8px;color:#95aaad;font-size:10px}.fish-ranking .fish-empty{text-align:center;padding:20px 0;color:var(--muted)}#fish-records-status{min-height:15px;font-size:11px;color:#adbbaf;margin:12px 0}.fish-name-form{border-top:1px solid var(--menu-line);padding:15px 22px 20px}.fish-name-form label{color:var(--muted);display:block;margin-bottom:6px;font-size:10px}.fish-name-form>div{display:flex;gap:8px}.fish-name-form input{min-width:0;width:100%;border:1px solid #8e805b66;border-radius:1px;background:#07131e;color:var(--menu-ink);padding:8px 10px;font-size:12px}.fish-item-popup{position:fixed;inset:auto;margin:0;width:min(312px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:14px 18px 16px;border:1px solid #a08d6973;border-radius:2px;background:var(--menu-surface);color:var(--menu-ink);box-shadow:0 0 0 3px #0c172280,0 12px 32px #000b,inset 0 1px #f2d9a21a}.fish-item-popup::backdrop{background:transparent;pointer-events:none}.fish-item-popup>img{display:block;width:160px;height:82px;object-fit:contain;margin:0 auto 5px;filter:drop-shadow(0 4px 6px #0008)}.fish-item-popup h3{font-family:Marcellus,Georgia,serif;font-size:19px;font-weight:400;color:var(--menu-gold);margin:0 0 10px}.fish-item-popup .fish-item-close{position:absolute;top:7px;right:7px;width:27px;height:27px;background:none;border-color:transparent;box-shadow:none}.fish-item-close svg{width:15px;height:15px}.fish-item-range{margin:0;font-size:11px}.fish-item-range>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:3px 0}.fish-item-range dt{color:var(--muted)}.fish-item-range dd{margin:0;color:var(--menu-gold);white-space:nowrap;font-variant-numeric:tabular-nums}.fish-item-lore{font-family:Source Sans,sans-serif;font-size:13px;line-height:1.4;color:#bec7bf;border-top:1px solid var(--menu-line);padding-top:10px;margin:10px 0}.fish-item-popup>a{font-size:11px;color:var(--menu-gold)}.fishing-message strong{display:block;font-size:13px;line-height:1.4;font-weight:400}.fishing-message span{display:block;margin-top:2px;color:#95aaad;font-size:10px}.fishing-action{min-height:36px;padding:7px 13px;flex-shrink:0;border:1px solid #a08d6966;border-radius:1px;background:var(--control-surface);color:var(--menu-gold);font-size:12px}.fishing-action:hover:not(:disabled){border-color:var(--menu-gold);box-shadow:inset 0 0 0 2px #cbb1820c;color:var(--menu-ink)}.fishing-action:disabled{opacity:.4}.fishing-hud .fishing-control{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;min-height:62px;padding:5px 14px 5px 5px;border:1px solid #cbb182a3;border-radius:34px 5px 5px 34px;font-family:Marcellus,Georgia,serif;font-size:17px;white-space:nowrap;flex-shrink:0;color:#f0e5c9;background:linear-gradient(120deg,#31524a,#162e32 70%,#101f2b);box-shadow:inset 0 0 0 3px #07131b,inset 0 0 0 4px #cbb18230,0 5px 20px #0007;transition:background .18s var(--ease-menu),border-color .18s var(--ease-menu),color .18s var(--ease-menu)}#fishing-action-label{flex:1;text-align:center}.fishing-emblem{display:grid;place-items:center;width:50px;height:50px;flex-shrink:0;border:1px solid #d8bf85;border-radius:50%;background:radial-gradient(circle at 35% 25%,#466255,#172c30 75%);color:#ebd49b;box-shadow:inset 0 0 0 3px #101f25,inset 0 0 0 4px #cbb18245,0 2px 6px #0006}.fishing-hud .fishing-control:hover:not(:disabled){color:#fff3d4;border-color:#efdaa7;background:linear-gradient(120deg,#42675a,#203d3d 70%,#152933)}.fishing-hud .fishing-control:disabled{color:#9faeaa;border-color:#8b947d;cursor:default}.fishing-hud .fishing-control svg{width:29px;height:29px;flex-shrink:0}#fishing-leaderboard{flex-direction:column;justify-content:center;gap:5px;min-height:62px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;font-family:Jost,sans-serif;font-size:10px;color:var(--menu-gold);text-shadow:0 2px 6px #000}#fishing-leaderboard .fishing-emblem{width:40px;height:40px;border-color:#b69f7080;background:var(--menu-surface)}#fishing-leaderboard svg{width:20px;height:20px}#fishing-leaderboard:hover{background:none}#fishing-leaderboard:hover .fishing-emblem{border-color:#efdaa7;color:#fff3d4}.is-fishing .touch-pad{visibility:hidden;pointer-events:none}@keyframes fishing-menu-in{0%{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}@media(max-width:700px)and (min-height:481px){.fishing-readout{padding:9px 11px}.fishing-message{min-width:0;max-width:none;flex:1}.fishing-message strong{font-size:12px}.fishing-action{padding:7px 10px;font-size:11px}.fishing-hud[data-phase=caught] .fishing-readout{width:calc(100vw - 32px);gap:8px}.fishing-hud[data-phase=caught] .fishing-specimen{width:90px;height:100px;align-self:center}.fishing-hud[data-phase=caught] .fishing-message{max-width:none}.fishing-hud[data-phase=caught] .fishing-message strong{font-size:15px}#fishing-lore{font-size:12px}.fish-species{margin:0 16px}.fish-records-body{padding:0 16px}.fish-name-form{padding-inline:16px}#fishing-log .panel-top{padding:16px}#fishing-log h2{font-size:21px}}@media(prefers-reduced-motion:reduce){.fishing-hud{animation:none}}.bottle-spot,.bottle-pickup{z-index:3}.bottle-spot svg,.bottle-pickup svg{width:17px;height:17px;color:var(--menu-gold)}#bottle-dialog,#bottle-reader,#bottle-close-confirm{position:fixed;inset:0;margin:auto;width:min(480px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);overflow:auto}:is(#bottle-dialog,#bottle-reader,#bottle-close-confirm) .panel-top{position:sticky;top:0;z-index:2;background:var(--menu-surface)}:is(#bottle-dialog,#bottle-reader,#bottle-close-confirm) h2{font-size:23px}#bottle-close-confirm{width:min(400px,calc(100% - 32px))}.bottle-close-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px 20px}.bottle-body{padding:0 24px 22px}.bottle-intro{margin:0 0 18px;font-family:Source Sans,sans-serif;font-size:14px;line-height:1.5;color:var(--text)}#bottle-incoming{margin-bottom:14px}#bottle-letter{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:12px 15px;border-left:1px solid var(--menu-gold);font-family:Source Sans,sans-serif;font-size:16px;line-height:1.5;color:var(--menu-ink)}#bottle-letter:focus-visible{outline:1px solid var(--menu-gold);outline-offset:3px}.bottle-fate{color:var(--muted);font-size:11px;margin:10px 0}#bottle-form label{display:block;color:var(--menu-gold);font-size:12px;margin-bottom:7px}#bottle-message{display:block;width:100%;min-height:112px;max-height:220px;resize:vertical;padding:10px 12px;border:1px solid #8e805b66;border-radius:1px;background:#07131e;color:var(--menu-ink);font-family:Source Sans,sans-serif;font-size:15px;line-height:1.4}#bottle-message:focus-visible{outline:1px solid var(--menu-gold);outline-offset:2px}#bottle-message::placeholder{color:var(--muted);opacity:.8}.bottle-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}#bottle-count{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}#bottle-status,#bottle-reader-status{font-size:12px;line-height:1.4;color:var(--menu-gold);margin:16px 0 0;min-height:17px}#bottle-reader-status:empty{display:none}#bottle-retry,#bottle-reader-retry{margin-top:10px;font-size:12px}@media(max-width:480px){:is(#bottle-dialog,#bottle-reader,#bottle-close-confirm) h2{font-size:20px}.bottle-body{padding:0 18px 18px}}:root{--cursor-default:default;--cursor-pointer:pointer;--cursor-text:text;--cursor-grab:grab;--cursor-grabbing:grabbing;--cursor-unavailable:not-allowed;--cursor-progress:progress}html,body,dialog,dialog::backdrop{cursor:var(--cursor-default)}:root body a[href],:root body button:not(:disabled),:root body summary,:root body select:not(:disabled),:root body input:is([type=checkbox],[type=radio],[type=button],[type=submit],[type=reset]):not(:disabled),:root body label:has(input:is([type=checkbox],[type=radio]):not(:disabled)){cursor:var(--cursor-pointer)}:root body input:not([type]),:root body input:is([type=text],[type=email],[type=search],[type=tel],[type=url],[type=password],[type=number]),:root body textarea,:root body [contenteditable=true],:root body [contenteditable=""],:root body [contenteditable=plaintext-only]{cursor:var(--cursor-text)}:root .screenshot-viewport{cursor:var(--cursor-grab)}:root .screenshot-stage.is-dragging .screenshot-viewport{cursor:var(--cursor-grabbing)}:root body button:disabled,:root body input:disabled,:root body textarea:disabled,:root body select:disabled,:root body :is(a,button,input,textarea,select,summary,[role])[aria-disabled=true],:root body label:has(input:is([type=checkbox],[type=radio]):disabled){cursor:var(--cursor-unavailable)}:root body [aria-busy=true],:root body [aria-busy=true] :disabled,:root body [aria-busy=true] :is(input,textarea)[readonly],:root body [aria-busy=true] label:has(input:is([type=checkbox],[type=radio]):disabled){cursor:var(--cursor-progress)}@media(any-pointer:fine)and (forced-colors:none){:root{--cursor-default:url(/cursors/ghost-default.png) 3 2,default;--cursor-pointer:url(/cursors/ghost-pointer.png) 12 2,pointer;--cursor-text:url(/cursors/ghost-text.png) 16 16,text;--cursor-grab:url(/cursors/ghost-grab.png) 16 16,grab;--cursor-grabbing:url(/cursors/ghost-grabbing.png) 16 16,grabbing;--cursor-unavailable:url(/cursors/ghost-unavailable.png) 16 16,not-allowed;--cursor-progress:url(/cursors/ghost-progress.png) 3 2,progress}@supports (cursor:image-set(url(/cursors/ghost-default.png) 1x,url(/cursors/ghost-default@2x.png) 2x) 3 2,default){:root{--cursor-default:image-set(url(/cursors/ghost-default.png) 1x, url(/cursors/ghost-default@2x.png) 2x) 3 2,default;--cursor-pointer:image-set(url(/cursors/ghost-pointer.png) 1x, url(/cursors/ghost-pointer@2x.png) 2x) 12 2,pointer;--cursor-text:image-set(url(/cursors/ghost-text.png) 1x, url(/cursors/ghost-text@2x.png) 2x) 16 16,text;--cursor-grab:image-set(url(/cursors/ghost-grab.png) 1x, url(/cursors/ghost-grab@2x.png) 2x) 16 16,grab;--cursor-grabbing:image-set(url(/cursors/ghost-grabbing.png) 1x, url(/cursors/ghost-grabbing@2x.png) 2x) 16 16,grabbing;--cursor-unavailable:image-set(url(/cursors/ghost-unavailable.png) 1x, url(/cursors/ghost-unavailable@2x.png) 2x) 16 16,not-allowed;--cursor-progress:image-set(url(/cursors/ghost-progress.png) 1x, url(/cursors/ghost-progress@2x.png) 2x) 3 2,progress}}}
