.world-page{--cosmos-opacity:1;background:#050913;overflow-x:clip}.world-page #cosmos{opacity:1}.world-nav,#world-content{position:relative;z-index:1}.world-nav{display:flex;justify-content:space-between;gap:22px;align-items:center;padding-block:28px;font-size:11px;letter-spacing:.08em}.world-nav a{padding-block:12px}.world-nav span{color:#94adc9}.world-skip{position:fixed;top:-80px;left:20px;z-index:20;padding:14px;background:#091325}.world-skip:focus{top:12px}.world-arrival{min-height:600px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:45px 0 65px}.world-page .eyebrow{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#94c5da}.world-page h1,.world-page h2{font-weight:300;letter-spacing:-.045em;line-height:1.1}.world-page h1{font-size:clamp(48px,6vw,88px);margin:24px 0 32px;background:linear-gradient(110deg,#d9f5ef,#8acff2,#c2a9ed);background-clip:text;color:transparent;text-shadow:0 0 32px #88b5d922}.world-page h2{font-size:clamp(30px,4vw,48px);margin:18px 0}.world-arrival figure{position:relative;isolation:isolate;margin:0;text-align:center}.world-arrival img{display:block;width:100%;height:430px;object-fit:contain;animation:world-float 10s ease-in-out infinite}.world-arrival figcaption{margin-top:14px;font-size:15px;letter-spacing:.12em}.arrival-ring{position:absolute;inset:18% 16%;z-index:-1;border:1px solid #83b6d83c;border-radius:50%;transform:rotate(-15deg);box-shadow:0 0 45px #94cced13}.arrival-ring:after{content:'';position:absolute;inset:10% -8%;border:1px dashed #8bbad02a;border-radius:50%}.world-portraits{padding:45px 0}.world-portraits>header{max-width:600px;padding-bottom:30px}.portrait-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px}.world-portrait{position:relative;isolation:isolate;margin:0;min-width:0;min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:end}.world-portrait:before{content:'';position:absolute;inset:10% -2% 13%;z-index:-1;background:radial-gradient(ellipse,#6288b51c,transparent 65%);border-radius:50%}.world-portrait img{width:100%;height:290px;object-fit:contain;mask-image:radial-gradient(ellipse at center,#000 52%,transparent 78%);animation:world-float 10s ease-in-out infinite}.world-portrait:nth-child(3n) img{animation-delay:-4s}.world-portrait:nth-child(3n+1) img{animation-delay:-7s}.world-portrait figcaption{font-size:12px;letter-spacing:.08em;padding-top:16px;min-height:32px}.world-portrait:not(.in-view) img,.world-arrival:not(.in-view) img,.motion-paused .world-portrait img,.motion-paused .world-arrival img{animation-play-state:paused}.world-relic{max-width:1000px;margin:90px auto 30px;text-align:center}.world-relic img{display:block;width:100%;height:auto;}.world-end{text-align:center;padding:30px 0 130px}.world-motion,.world-music{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:calc(max(18px,env(safe-area-inset-bottom)) + 56px);z-index:5;min-height:44px;padding:12px 16px;border:1px solid #a7cbe344;border-radius:28px;background:#081321ed;color:#c9e6ef;font-size:10px}.world-music{bottom:max(18px,env(safe-area-inset-bottom))}@keyframes world-float{50%{transform:translateY(-7px)}}
#arrival-title:focus{outline:none}
.world-copy{max-width:48ch;font-size:15px;line-height:1.85;color:#c0cddc;margin:20px 0 28px}.world-copy.quiet{color:#93a6bb;font-size:12px}.world-arrival figcaption span{display:block;font-size:11px;letter-spacing:.025em;color:#96afc1;margin-top:10px}.world-chapters{display:flex;flex-wrap:wrap;gap:8px 30px;padding:24px 0;border-block:1px solid #91c8df22;margin-bottom:35px}.world-chapters a{display:flex;gap:12px;align-items:center;min-height:44px;font-size:12px;color:#c6dce8}.world-chapters a span{font-size:9px;color:#81adbf}.world-chapters a:hover{color:#fff}.world-page section[id]{scroll-margin-top:30px}.world-portrait figcaption{width:100%;text-align:center;min-height:48px}.portrait-name{display:block;color:#d6eaf2}.portrait-context{display:block;max-width:24ch;margin:10px auto 0;color:#9badc2;font-size:11px;line-height:1.65;letter-spacing:.015em}.world-portrait{justify-content:start}.world-portrait:before{opacity:.65;transition:opacity .3s}.world-portrait:hover:before{opacity:1}
.tongue-section{position:relative;isolation:isolate;margin:65px 0 100px;padding:65px 0;border-block:1px solid #8bbbdc25;display:grid;grid-template-columns:1fr 1fr;gap:30px 45px}.tongue-section:before{content:'';position:absolute;inset:-15% -5%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 70% 40%,#30577228,transparent 65%)}.tongue-script{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:260px}.tongue-script img{position:relative;width:min(100%,420px);height:160px;object-fit:contain;filter:invert(1) drop-shadow(0 0 9px #9feaff55);animation:world-float 9s ease-in-out infinite}.tongue-script>p{font-size:13px;letter-spacing:.25em;color:#d1e4eb}.script-halo{position:absolute;inset:0 10%;border-radius:50%;border:1px solid #8cbad52b;transform:rotate(-18deg);box-shadow:0 0 70px #618dd415,inset 0 0 40px #618dd40d;pointer-events:none}.script-switch{position:relative;display:flex;gap:8px;margin-top:12px}.script-switch button,.root-choices button{font:inherit;color:#aebfd0;background:#07121d88;border:1px solid #88adcc33;cursor:pointer;transition:background .25s,border-color .25s,color .25s}.script-switch button{font-size:11px;border-radius:25px;min-height:44px;padding:10px 15px}.script-switch button[aria-pressed=true]{background:#21465599;color:#e5fbff;border-color:#9edbec88}.world-page button:focus-visible,.world-page a:focus-visible{outline:2px solid #b7eeff;outline-offset:5px}.element-explorer{--root-color:#aedcff;grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding-top:30px}.element-explorer[data-element=gra]{--root-color:#ffb886}.element-explorer[data-element=ilu]{--root-color:#b7a0e1}.element-explorer[data-element=era]{--root-color:#d8c592}.element-explorer[data-element=shim]{--root-color:#a5e1c3}.element-explorer[data-element=water]{--root-color:#86cbdc}.root-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.root-choices button{padding:22px 8px;font-size:19px;font-weight:300;border-radius:10px;min-height:90px}.root-choices button span{display:block;font-size:10px;letter-spacing:.08em;margin-top:9px;color:#a1b4c9}.root-choices button[aria-pressed=true]{color:var(--root-color);border-color:var(--root-color);background:#192b4099}.root-choices button:hover{background:#26344888}.root-detail{position:relative;min-height:255px;padding:28px 30px;border-left:1px solid #a7c5dc44;background:radial-gradient(ellipse at left,#21344c88,transparent 75%)}.root-detail h3{font-size:clamp(40px,5vw,65px);font-weight:300;letter-spacing:-.03em;margin:12px 0;color:var(--root-color);text-shadow:0 0 28px color-mix(in srgb,var(--root-color) 25%,transparent)}#root-principle{color:#d2e0ec;font-size:15px;line-height:1.7}#root-note{color:#a5b6c9;font-size:12px;line-height:1.8;max-width:42ch}.world-relic .world-copy{margin-inline:auto}.relic-display{position:relative;background:radial-gradient(ellipse,#597fc322,transparent 68%)}.relic-display img{animation:world-float 11s ease-in-out infinite}.relic-caption{font-size:15px;letter-spacing:.12em;color:#d6e6ef}.relic-caption span{display:block;color:#90a6bd;font-size:10px;margin-top:12px}.tongue-section:not(.in-view) img,.world-relic:not(.in-view) img,.motion-paused .tongue-script img,.motion-paused .relic-display img{animation-play-state:paused}
@media(max-width:700px){.tongue-section{grid-template-columns:1fr;margin-block:50px;padding-block:40px;gap:12px}.element-explorer{grid-template-columns:1fr;gap:20px}.root-detail{min-height:240px}.tongue-script{margin-block:15px 30px}.world-chapters{gap:4px 20px}.world-chapters a{flex:1 0 40%;font-size:11px}.world-copy{font-size:14px}.world-arrival .world-copy{margin-inline:auto}.world-portrait figcaption{min-height:48px}.portrait-context{font-size:10px}.root-choices button{padding:17px 8px}}
@media(max-width:850px){.portrait-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.world-arrival{gap:15px;min-height:520px}.world-arrival img{height:350px}}
@media(max-width:600px){.world-nav{font-size:9px;gap:12px}.world-nav span{max-width:110px;text-align:right}.world-arrival{grid-template-columns:1fr;padding-top:28px;gap:32px;text-align:center}.world-arrival h1{font-size:54px}.world-arrival img{height:320px}.portrait-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.world-portrait{min-height:255px}.world-portrait img{height:220px}.world-portrait figcaption{font-size:10px}.world-relic{margin-top:60px}.world-end .dimension-cta{font-size:11px}}
/* Four small portrait groups, with interactive interludes between them. */
.portrait-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}.world-portraits{padding-block:35px 45px}.world-portrait{min-height:330px}.world-portrait img{height:280px}.world-portrait figcaption{line-height:1.6}.world-relic{padding-block:45px;margin-block:50px 70px;border-block:1px solid #91c8df22}
.harmonic-section{--harmonic-color:#9ae5f2;position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px 45px;padding:70px 0 45px;margin:55px 0 75px;border-block:1px solid #91c8df22}.harmonic-section[data-harmonic="6"]{--harmonic-color:#bcb0ff}.harmonic-section[data-harmonic="9"]{--harmonic-color:#f3c49b}.harmonic-hint{color:#94adbf;font-size:12px;line-height:1.7}.harmonic-choices{display:flex;gap:12px;margin-top:25px}.harmonic-choices button{flex:1;max-width:105px;min-height:80px;border:1px solid #91c8df44;border-radius:12px;background:#07121daa;color:#d9eaf0;font-family:inherit;font-size:27px;font-weight:300;line-height:1.3;cursor:pointer;transition:border-color .3s,background .3s}.harmonic-choices button span{display:block;font-size:11px;letter-spacing:.1em;margin-top:5px}.harmonic-choices button:hover{background:#26344888}.harmonic-choices button[aria-pressed=true]{border-color:var(--harmonic-color);color:var(--harmonic-color);background:#20334b99}.harmonic-visual{position:relative;width:100%;max-width:460px;aspect-ratio:1;margin:auto;overflow:clip;pointer-events:none;color:var(--harmonic-color);transition:color .6s}.harmonic-aura{position:absolute;inset:-12%;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,currentColor 13%,transparent),transparent 66%);animation:harmonic-breath 6s ease-in-out infinite}.harmonic-rings{position:absolute;inset:8%;animation:harmonic-orbit 42s linear infinite}.harmonic-rings i{position:absolute;inset:0;border:1px solid currentColor;opacity:.25;border-radius:50%}.harmonic-rings i:nth-child(2){inset:12%;transform:rotate(55deg) scaleX(.7);border-style:dashed;opacity:.3}.harmonic-rings i:nth-child(3){inset:12%;transform:rotate(-55deg) scaleX(.7);opacity:.18}.harmonic-lights{position:absolute;inset:0;animation:harmonic-orbit 32s linear infinite}.harmonic-light{position:absolute;left:var(--x);top:var(--y);width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 9px 3px currentColor;opacity:0;transform:translate(-50%,-50%) scale(.2);transition:left 1s cubic-bezier(.2,.7,.2,1),top 1s cubic-bezier(.2,.7,.2,1),opacity .65s,transform .8s}.harmonic-light.is-active{opacity:1;transform:translate(-50%,-50%) scale(1)}.harmonic-light:after{content:'';position:absolute;inset:-10px;border:1px solid currentColor;border-radius:50%;animation:harmonic-breath 3s ease-in-out var(--delay) infinite;opacity:.35}.harmonic-center{position:absolute;inset:26%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid #b6d6ed22;border-radius:50%;background:radial-gradient(ellipse,#10263a99,transparent 72%)}#harmonic-number{font-size:clamp(54px,6vw,88px);font-weight:200;line-height:1.1;text-shadow:0 0 35px currentColor}#harmonic-root{font-size:13px;letter-spacing:.2em;margin-top:12px}.harmonic-definition{grid-column:1/-1;text-align:center;padding:20px 0 5px;color:#cadce7}.harmonic-definition>span{display:block;font-size:30px;font-weight:300;letter-spacing:.06em;color:var(--harmonic-color)}.harmonic-definition p{font-size:13px;line-height:1.7;color:#a2b8cc;margin-top:12px}
@keyframes harmonic-orbit{to{transform:rotate(360deg)}}@keyframes harmonic-breath{50%{opacity:.55;transform:scale(1.08)}}
.harmonic-section:not(.in-view) .harmonic-aura,.harmonic-section:not(.in-view) .harmonic-rings,.harmonic-section:not(.in-view) .harmonic-lights,.harmonic-section:not(.in-view) .harmonic-light:after,.motion-paused .harmonic-aura,.motion-paused .harmonic-rings,.motion-paused .harmonic-lights,.motion-paused .harmonic-light:after{animation-play-state:paused}.motion-paused .harmonic-light{transition:none}
@media(max-width:700px){.harmonic-section{grid-template-columns:1fr;padding:45px 0 30px;margin-block:40px;gap:20px}.harmonic-visual{max-width:340px;margin-top:25px}.harmonic-definition{padding-top:0}.harmonic-choices button{min-height:74px}.portrait-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.world-portrait{min-height:265px}.world-portrait img{height:220px}.world-portraits{padding-block:25px 35px}}

/* Small character groups alternate with the original Ancient Tongue writing. */
.portrait-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.element-dimension{--element-ink:#ffb172;position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;text-align:center;padding:60px 0 38px;margin:45px 0 60px;border-block:1px solid #91c8df22}.element-dimension[data-active-element=lumi]{--element-ink:#d0efff}.element-dimension[data-active-element=ilu]{--element-ink:#bb9fef}.element-dimension[data-active-element=era]{--element-ink:#c5d5a0}.element-dimension[data-active-element=shim]{--element-ink:#8debd9}.element-dimension[data-active-element=water]{--element-ink:#8ecbff}.element-dimension>header{grid-column:1/-1}.element-dimension .world-copy{margin-inline:auto}.element-switches{grid-column:1/-1;display:flex;justify-content:center;gap:12px}.element-switches button{flex:1;max-width:150px;min-height:76px;padding:12px;border:1px solid #88adcc44;border-radius:12px;background:#07121d99;color:#d0deea;font:inherit;cursor:pointer;transition:background .3s,border-color .3s,color .3s}.element-switches button span{display:block;margin-top:7px;font-size:11px;color:#a6bacb;letter-spacing:.08em}.element-switches button[aria-pressed=true]{background:#26354a99;border-color:var(--element-ink);color:var(--element-ink)}.element-switches button:hover{background:#26344888}.element-stage{grid-area:3/1/4/-1;position:relative;isolation:isolate;height:380px;width:min(100%,650px);margin:auto;overflow:clip;pointer-events:none;color:var(--element-ink);mask-image:radial-gradient(ellipse,#000 45%,transparent 74%)}.element-mist{position:absolute;inset:5% 0;background:radial-gradient(ellipse,color-mix(in srgb,currentColor 18%,transparent),transparent 65%);animation:element-breathe 7s ease-in-out infinite}.element-currents{position:absolute;inset:10% 20%}.element-currents i{position:absolute;inset:10%;border:1px solid currentColor;border-radius:50%;opacity:.35;animation:element-revolve 16s linear infinite}.element-currents i:nth-child(2){inset:0;animation-duration:23s;animation-direction:reverse;opacity:.2}.element-currents i:nth-child(3){inset:-12%;animation-duration:30s;opacity:.1}.element-glyph-aura{position:absolute;inset:28% 32%;background:radial-gradient(ellipse,#071320 20%,transparent 72%);border-radius:50%}.element-particles{position:absolute;inset:0}.element-particles i{position:absolute;left:var(--particle-x);top:var(--particle-y);width:3px;height:3px;background:currentColor;border-radius:50%;box-shadow:0 0 9px 2px currentColor;animation:element-ember 5s ease-out var(--particle-delay) infinite}.element-writing{grid-area:3/1/4/-1;z-index:1;position:relative;margin:auto;width:min(80%,360px);pointer-events:none}.element-writing-svg{display:block;width:100%;height:145px;object-fit:contain;filter:invert(1) drop-shadow(0 0 10px color-mix(in srgb,var(--element-ink) 60%,transparent))}.element-writing figcaption{margin-top:24px}.element-word{display:block;font-size:24px;letter-spacing:.12em;color:var(--element-ink)}.element-name{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:#c8d9e5;margin-top:10px}.element-form-switch{grid-column:1/-1;display:flex;gap:10px;justify-content:center}.element-form-switch button{min-height:44px;padding:11px 17px;background:#07121d99;color:#b4c9d8;border:1px solid #8daec644;border-radius:28px;font:inherit;font-size:11px;cursor:pointer}.element-form-switch button[aria-pressed=true]{color:var(--element-ink);border-color:var(--element-ink);background:#26354a99}.element-principle{grid-column:1/-1;margin:0 auto;max-width:48ch;min-height:46px;color:#c1d3e2;font-size:14px;line-height:1.8;padding-inline:10px}
[data-active-element=gra] .element-currents i{border-radius:40% 60% 68% 32%;animation:element-flame 7s ease-in-out infinite;border-top-color:transparent}[data-active-element=gra] .element-currents i:nth-child(2){animation-delay:-2s}[data-active-element=gra] .element-currents i:nth-child(3){animation-delay:-4s}
[data-active-element=lumi] .element-currents i{border-style:dashed;animation:element-revolve 30s linear infinite}[data-active-element=lumi] .element-particles i{left:50%;top:45%;width:2px;height:65px;border-radius:50%;transform-origin:50% 70px;animation:element-ray 5s ease-in-out var(--particle-delay) infinite}
[data-active-element=ilu] .element-currents i{border-width:2px;border-right-color:transparent;animation:element-revolve 22s linear infinite;box-shadow:inset 12px 0 14px -14px currentColor}[data-active-element=ilu] .element-particles i{animation:element-shadow 8s ease-in-out var(--particle-delay) infinite}[data-active-element=ilu] .element-mist{background:radial-gradient(ellipse,#01050c 20%,color-mix(in srgb,currentColor 15%,transparent) 45%,transparent 65%)}
[data-active-element=era] .element-currents i{border-radius:20%;animation:element-stone 20s linear infinite}[data-active-element=era] .element-particles i{width:7px;height:7px;border:1px solid currentColor;background:transparent;box-shadow:none;border-radius:1px;animation:element-stone-drift 10s ease-in-out var(--particle-delay) infinite}
[data-active-element=shim] .element-currents{inset:14% 8%}[data-active-element=shim] .element-currents i{border-width:2px;border-bottom-color:transparent;animation:element-wind 8s linear infinite}[data-active-element=shim] .element-currents i:nth-child(2){animation-delay:-3s}[data-active-element=shim] .element-currents i:nth-child(3){animation-delay:-6s}[data-active-element=shim] .element-particles i{width:25px;height:1px;animation:element-stream 5s linear var(--particle-delay) infinite}
[data-active-element=water] .element-currents i{inset:15%;animation:element-ripple 7s ease-out infinite}[data-active-element=water] .element-currents i:nth-child(2){animation-delay:-2.3s}[data-active-element=water] .element-currents i:nth-child(3){animation-delay:-4.6s}[data-active-element=water] .element-particles i{width:5px;height:8px;animation:element-droplet 6s ease-in-out var(--particle-delay) infinite}
@keyframes element-breathe{50%{opacity:.55;transform:scale(.9)}}@keyframes element-revolve{to{transform:rotate(360deg)}}@keyframes element-ember{0%{opacity:0;transform:translate(0,70px) scale(.5)}25%{opacity:.8}100%{opacity:0;transform:translate(20px,-150px) scale(.2)}}@keyframes element-flame{50%{transform:translateY(-20px) rotate(20deg) scaleX(.75);opacity:.5}}@keyframes element-ray{0%,100%{opacity:.1;transform:rotate(var(--particle-turn)) translateY(-65px) scaleY(.4)}50%{opacity:.5;transform:rotate(var(--particle-turn)) translateY(-100px) scaleY(1)}}@keyframes element-shadow{50%{opacity:.15;transform:translate(25px,18px) scale(.3)}}@keyframes element-stone{to{transform:rotate(360deg)}}@keyframes element-stone-drift{50%{transform:translateY(-20px) rotate(60deg);opacity:.3}}@keyframes element-wind{50%{transform:rotate(180deg) scaleY(.4)}100%{transform:rotate(360deg)}}@keyframes element-stream{0%{opacity:0;transform:translateX(-120px)}30%{opacity:.6}100%{opacity:0;transform:translateX(170px)}}@keyframes element-ripple{0%{transform:scale(.5);opacity:0}20%{opacity:.5}100%{transform:scale(1.6);opacity:0}}@keyframes element-droplet{50%{transform:translateY(35px);opacity:.2}}
.element-dimension:not(.in-view) .element-stage *,.motion-paused .element-dimension .element-stage *{animation-play-state:paused}
@media(max-width:850px){.portrait-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.element-dimension{padding-block:38px 25px;gap:18px;margin-block:30px}.element-dimension h2{font-size:34px}.element-stage{height:310px}.element-writing-svg{height:110px}.element-writing{width:75%}.element-switches{gap:8px}.element-switches button{padding:10px 5px;font-size:12px;min-height:70px}.element-word{font-size:21px}.element-principle{font-size:12px}.element-currents{inset:16% 15%}}

/* Portraits open into the same star field, then return to their place. */
.portrait-trigger{position:relative;display:block;width:100%;padding:0;border:0;border-radius:12px;background:transparent;color:inherit;font:inherit;cursor:zoom-in;-webkit-tap-highlight-color:transparent}
.portrait-trigger img{display:block;pointer-events:none}
.portrait-trigger:after{content:'↗';position:absolute;right:8px;bottom:8px;display:grid;place-items:center;width:28px;height:28px;border:1px solid #a5dbef38;border-radius:50%;background:#07132099;color:#b0d6e4;font-size:14px;opacity:.5;transition:opacity .2s,border-color .2s}
.portrait-trigger:hover:after,.portrait-trigger:focus-visible:after{opacity:1;border-color:#c2eafa88}
.portrait-trigger.is-focusing img{opacity:0;animation-play-state:paused!important}
.portrait-trigger.is-focusing:after{opacity:0}
.world-portrait-wide{grid-column:span 2;align-self:center}
.world-portrait-wide img{height:clamp(320px,32vw,440px);mask-image:none}
.world-portrait-wide:before{inset:4% 0 8%}
html:has(.world-page){scrollbar-gutter:stable}
.portrait-focus-open{overflow:hidden}
.portrait-focus{position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#d9edf6;overflow:hidden;overscroll-behavior:none}
.portrait-focus::backdrop{background:transparent}
.portrait-focus-scrim{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,#173b576b 0%,#040a16e8 70%);touch-action:none;cursor:zoom-out}
.portrait-focus-image{position:absolute;left:5%;top:max(66px,env(safe-area-inset-top));width:90%;height:calc(100% - 180px);object-fit:contain;transform-origin:center;pointer-events:none}
.portrait-focus-details{position:absolute;inset:0;pointer-events:none}
.portrait-focus-close{position:absolute;right:max(22px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));display:flex;align-items:center;gap:14px;min-height:44px;padding:10px 17px;border:1px solid #b4d6e54a;border-radius:28px;background:#0c1927d9;color:#d4e9f1;font:inherit;font-size:11px;letter-spacing:.05em;cursor:pointer;pointer-events:auto}
.portrait-focus-close span{font-size:21px;line-height:1}.portrait-focus-close:hover{background:#20374a}
.portrait-focus-caption{position:absolute;bottom:max(32px,env(safe-area-inset-bottom));left:7%;width:86%;text-align:center}
.world-page #portrait-focus-name{margin:0;font-size:clamp(20px,3vw,32px);letter-spacing:.06em;line-height:1.3;font-weight:300}
#portrait-focus-hint{margin:12px 0 0;color:#9db6c8;font-size:10px;letter-spacing:.08em;line-height:1.6}
.portrait-focus-timer{width:100px;height:1px;margin:14px auto 0;background:#9ac6dc28}.portrait-focus-timer span{display:block;height:100%;background:#bce9f0;transform-origin:left}.portrait-focus[data-phase=viewing] .portrait-focus-timer span{animation:portrait-countdown 5s linear forwards}.motion-paused .portrait-focus-timer{visibility:hidden}@keyframes portrait-countdown{to{transform:scaleX(0)}}
@media(max-width:600px){.world-portrait-wide img{height:clamp(300px,88vw,420px)}.portrait-focus-image{left:3%;width:94%;height:calc(100% - 190px)}.portrait-focus-caption{bottom:max(36px,env(safe-area-inset-bottom))}.portrait-trigger:after{width:24px;height:24px;right:4px;bottom:4px;font-size:12px}}

.character-gates{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:30px 0 65px}.character-gates a{position:relative;display:grid;gap:17px;padding:28px 0;border-block:1px solid #9fcbe233;transition:border-color .3s;color:#d9e9f5}.character-gates a:before{content:"";position:absolute;inset:-35px 0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse,#5e378329,transparent 70%);opacity:0;transition:opacity .3s}.character-gates a:hover:before{opacity:1}.character-gates a:hover{border-color:#b7dfff88}.character-gates span,.character-gates small{font-size:10px;letter-spacing:.1em;color:#a5b9d3}.character-gates strong{font-size:clamp(23px,3vw,37px);font-weight:300;letter-spacing:-.02em}.character-gates a:last-child:before{background:radial-gradient(ellipse,#25699229,transparent 70%)}.page-hidden *{animation-play-state:paused!important}@media(max-width:600px){.character-gates{gap:18px;margin-bottom:35px}.character-gates span{font-size:8px;letter-spacing:.04em}.character-gates strong{font-size:24px}.character-gates small{font-size:10px}}
