.fs-portals{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@media (max-width:1100px){.fs-portals{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.fs-portals{grid-template-columns:minmax(0,1fr);gap:10px}}.fs-portal{border:1px solid var(--fs-hair);isolation:isolate;background:#0a1018;border-radius:14px;flex-direction:column;transition:border-color .2s,transform .25s,box-shadow .25s;display:flex;position:relative;overflow:hidden}.fs-portal:hover,.fs-portal:focus-visible{border-color:#4cb4ff8c;transform:translateY(-2px);box-shadow:0 10px 30px -12px #000000b3,0 0 0 1px #4cb4ff2e}.fs-portal:focus-visible{outline:2px solid var(--fs-accent);outline-offset:3px}.fs-portal-view{aspect-ratio:16/10;background:radial-gradient(120% 90% at 70% 40%,#4cb4ff29,#0000 60%),linear-gradient(#121c28,#070b11);display:block;position:relative;overflow:hidden}.fs-portal-img{object-fit:cover;filter:saturate(.92)brightness(.92);width:100%;height:100%;transition:transform 1.6s cubic-bezier(.2,.6,.2,1),filter .4s;position:absolute;inset:0;transform:scale(1.02)}.fs-portal-view[data-missing] .fs-portal-img{display:none}.fs-portal:hover .fs-portal-img,.fs-portal:focus-visible .fs-portal-img{filter:saturate(1.02)brightness();transform:scale(1.08)}.fs-portal-view:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 35%,#ffffff17 50%,#0000 65%);position:absolute;inset:0;transform:translate(-120%)}.fs-portal:hover .fs-portal-view:after,.fs-portal:focus-visible .fs-portal-view:after{transition:transform 1.1s;transform:translate(120%)}.fs-portal-view:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(#0000 55%,#060a10d9);position:absolute;inset:0}.fs-portal-icon{z-index:2;color:#bfe3ff;-webkit-backdrop-filter:blur(6px);background:#050a119e;border:1px solid #4cb4ff59;border-radius:9px;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:10px;left:10px}.fs-portal-body{z-index:2;flex-direction:column;gap:3px;margin-top:-26px;padding:10px 12px 12px;display:flex;position:relative}.fs-portal-title{color:var(--fs-text);text-shadow:0 1px 8px #0009;font-size:15px;font-weight:700}.fs-portal-line{color:var(--fs-text-3);min-height:2.6em;font-size:12.5px}.fs-portal-progress{align-items:center;gap:8px;margin-top:4px;display:flex}.fs-portal-bar{background:#d6e4f51a;border-radius:4px;flex:1;height:4px;overflow:hidden}.fs-portal-bar>span{border-radius:inherit;background:linear-gradient(90deg,#2f8fe0,#4cb4ff);height:100%;display:block}.fs-portal[data-area=hamptonian] .fs-portal-bar>span{background:linear-gradient(90deg,#e8862c,#ffc861)}.fs-portal-plabel{color:var(--fs-text-3);font-size:10.5px;font-family:var(--font-mono);white-space:nowrap}::view-transition-group(.fs-portal-morph){animation-duration:.48s;animation-timing-function:cubic-bezier(.3,.7,.2,1)}::view-transition-image-pair(.fs-portal-morph){animation-name:fs-portal-blur}@keyframes fs-portal-blur{40%{filter:blur(2px)}}@media (prefers-reduced-motion:reduce){.fs-portal,.fs-portal-img{transition:none}.fs-portal:hover,.fs-portal:focus-visible{transform:none}.fs-portal:hover .fs-portal-img,.fs-portal:focus-visible .fs-portal-img{transform:scale(1.02)}.fs-portal-view:after{display:none}}[data-motion=reduce] .fs-portal,[data-motion=reduce] .fs-portal-img{transition:none}[data-motion=reduce] .fs-portal:hover{transform:none}[data-motion=reduce] .fs-portal-view:after{display:none}@media (max-width:760px){.fs-hero .fs-labels{display:none}}.fs-hero-tools{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex;position:absolute;bottom:14px;right:16px}.fs-hero-tools button{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080c128c}.fs-hero-tools button[aria-pressed=true]{color:#cfe6ff;border-color:#4cb4ffb3}.fs-hero-hint{color:#ecf0f59e;pointer-events:none;font-size:11.5px;position:absolute;top:14px;right:18px}@media (max-width:760px){.fs-hero-tools{justify-content:flex-start;left:12px;right:12px}.fs-hero-hint{display:none}}.fs-portal-film{animation:.35s both fs-portal-film-in;position:absolute;inset:0}.fs-portal-film video{object-fit:cover;width:100%;height:100%;display:block}.fs-portal-film span{letter-spacing:.04em;color:#ecf0f5c7;text-shadow:0 1px 2px #000c;background:#050a1199;border-radius:999px;padding:2px 7px;font-size:10px;position:absolute;top:9px;right:10px}@keyframes fs-portal-film-in{0%{opacity:0}to{opacity:1}}
