/* Forever Island: the Codex, three realms, cinematic 3D CSS and guided archive. */
.hero-visual>img{height:auto;aspect-ratio:1700/957;object-fit:cover}
.realm-intro{padding:85px 0 105px;text-align:center;position:relative}
.realm-intro:before{content:"";position:absolute;inset:0 -10vw;z-index:-1;background:radial-gradient(ellipse at 50% 13%,#a6ce6f12,transparent 55%)}
.realm-intro-top{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid #668355;border-bottom:1px solid #668355;padding:13px 10px}
.rune-divider{font:700 23px var(--pixel);color:var(--gold);letter-spacing:14px;white-space:nowrap}
.realm-intro h2{margin:35px 0 18px;font:700 clamp(44px,5.9vw,87px)/.99 var(--pixel);letter-spacing:-1.5px;text-shadow:4px 5px #0c170f}
.realm-intro h2 span,.guild-copy h2 span,.etd-copy h2 span{color:var(--lime)}
.realm-intro>p{max-width:740px;margin:0 auto 40px;color:#c0d3b5;font-size:17px;line-height:1.8}
.realm-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px;perspective:1200px;text-align:left}
.realm-card{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:330px;padding:25px;overflow:hidden;background:linear-gradient(155deg,#345d37 0%,#1d3829 78%);border:3px solid #6f9a5b;box-shadow:7px 7px #0b1b11;transform:rotateX(0) rotateY(0);transition:transform .35s,filter .35s,box-shadow .35s}
.realm-card:hover,.realm-card:focus-visible{transform:translateY(-8px) rotateX(3deg) rotateY(-3deg);box-shadow:12px 15px #08160e;filter:brightness(1.12)}
.realm-card:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(145deg,#fff3 0%,transparent 32%),repeating-linear-gradient(0deg,#ffffff06 0 2px,transparent 2px 19px);pointer-events:none}
.realm-card.realm-guild{background:linear-gradient(140deg,#51466c,#262a45 70%,#1a2530);border-color:#9e87c7}
.realm-card.realm-etd{background:linear-gradient(145deg,#78573f,#47332c 65%,#282321);border-color:#d19b67}
.realm-art{font-size:80px;line-height:1;filter:drop-shadow(7px 9px #0d1b16a0);align-self:flex-end;animation:realm-float 6s ease-in-out infinite}
.realm-guild .realm-art{animation-delay:-1.7s}.realm-etd .realm-art{animation-delay:-3s}
.realm-eyebrow{color:#ddedb9;font:700 13px var(--pixel);margin:12px 0 4px;letter-spacing:1px}
.realm-card h3{font:700 clamp(24px,2.5vw,34px)/1.08 var(--pixel);margin:0 0 10px;color:#fff8d8}
.realm-card p{margin:0;color:#dbebd5;line-height:1.65;font-size:14px;min-height:72px}
.realm-link{margin-top:auto;color:#d4f69d;font:700 16px var(--pixel);padding-top:17px}
.realm-guild .realm-link{color:#d9beff}.realm-etd .realm-link{color:#ffd99e}
.realm-stats{background:radial-gradient(ellipse at 75% 12%,#7261a018,transparent 45%),#15241b}
.records-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.records-card{min-height:360px;display:flex;flex-direction:column;background:#1b3224;border:3px solid #527a48;box-shadow:6px 6px #0a1a11;overflow:hidden}
.records-card.guild-record{background:linear-gradient(145deg,#2c2a3e,#1b2d29);border-color:#8070a0}
.records-card.etd-record{background:linear-gradient(145deg,#3a3028,#242b23);border-color:#9f8063}
.record-head{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:15px;border-bottom:1px solid #8fba8150;font:700 17px var(--pixel)}
.record-head strong{font:700 10px var(--body);letter-spacing:1px;color:#e4f1b8;border:1px solid #73966b;padding:4px 5px;text-align:right}
.record-content{padding:24px 18px;flex:1;display:flex;flex-direction:column;gap:13px}
.record-highlight{display:flex;align-items:baseline;gap:11px;flex-wrap:wrap;border-bottom:1px solid #668b6a50;padding-bottom:17px}
.record-highlight>span{font:700 clamp(44px,4vw,62px)/1 var(--pixel);color:#d9f7a4}
.guild-record .record-highlight>span{color:#d9bbff}.etd-record .record-highlight>span{color:#fbd29b}
.record-highlight small{font:700 11px var(--pixel);color:#a6bda0;max-width:110px;line-height:1.3}
.record-splits{display:flex;gap:8px;flex-wrap:wrap;color:#c4d7c1;font-size:12px}
.record-splits span{border:1px solid #668b6a5c;padding:4px 7px;background:#10211877}
.mini-player{display:flex;align-items:center;gap:9px;padding:8px 0;border-bottom:1px solid #668b6a3e;font:700 16px var(--pixel)}
.mini-player img{width:35px;height:35px;image-rendering:pixelated;border:1px solid #99b78a}
.mini-rank{font-size:13px;color:var(--gold)}.mini-name{min-width:0;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.mini-player strong{white-space:nowrap;font-size:14px;color:#f7df9d}
.record-soon,.record-extra,.record-disclaimer{font-size:12px;color:#acc6a5;line-height:1.7}
.record-soon{margin-top:auto;border-top:1px dashed #78947b;padding-top:12px}
.record-disclaimer{margin:23px 0 0;max-width:1000px}
.waiting-source{margin:auto;text-align:center;padding:28px 10px;max-width:270px}
.waiting-source span{font:700 65px var(--pixel);color:#d7bc83;display:block;animation:realm-float 5s infinite}
.waiting-source strong{display:block;font:700 23px var(--pixel)}.waiting-source p{color:#b8c5b1;font-size:13px;line-height:1.75}
.guild-section{background:radial-gradient(ellipse at 70% 50%,#6b629342,transparent 47%),linear-gradient(125deg,#1c2c26,#172124);border-bottom:3px solid #45604e}
.guild-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(350px,.95fr);gap:50px;align-items:center}
.guild-copy h2,.etd-copy h2{font:700 clamp(49px,5.5vw,80px)/.97 var(--pixel);margin:18px 0 21px;text-shadow:4px 5px #0d131b;letter-spacing:-1px}
.guild-lead{font-size:18px;color:#cbdaca;line-height:1.8;max-width:625px}
.guild-points{display:grid;gap:13px;margin:30px 0}.guild-points>div{display:flex;gap:16px;align-items:flex-start;border-bottom:1px solid #708a713e;padding:10px 0}
.guild-points span{display:grid;place-items:center;width:44px;height:44px;flex:none;background:#9c8bc5;color:#1b1933;font:700 24px var(--pixel);box-shadow:3px 3px #1a1726}
.guild-points p{margin:0;color:#bbcdbb}.guild-points strong{color:#f9f4d5}
.fine-print{font-size:12px;color:#96a7a1;max-width:620px;margin-top:25px}
.guild-orbit-wrap{position:relative;min-height:520px;display:grid;place-items:center;perspective:900px;overflow:hidden;isolation:isolate}
.guild-orbit-wrap:before{content:"";position:absolute;width:390px;height:390px;background:radial-gradient(circle,#ab89e476,#9181c727 35%,transparent 67%);filter:blur(30px);z-index:-1}
.guild-orbit{position:relative;width:min(65vw,370px);height:min(65vw,370px);display:grid;place-items:center;transform-style:preserve-3d;animation:portal-breathe 6s ease-in-out infinite}
.orbit-ring{position:absolute;inset:12px;border:12px solid #a98ae6;border-radius:50%;box-shadow:0 0 18px #a384fb,0 0 55px #9e75ef85,inset 0 0 28px #e4c0ff70;transform-style:preserve-3d}
.ring-one{transform:rotateY(60deg) rotateX(27deg);animation:orbit-spin 14s linear infinite}
.ring-two{inset:35px;border:6px dashed #efceff;transform:rotateY(-65deg) rotateX(50deg);animation:orbit-spin-alt 17s linear infinite}
.portal-core{width:54%;height:54%;border-radius:50%;background:radial-gradient(circle at 42% 38%,#e5f6ff,#9a90d9 23%,#322858 70%,#110e22);border:8px solid #d7c0ff;box-shadow:0 0 38px #b5a0ffcf,inset 0 0 45px #b8a0f9;color:#fff7c9;font:700 110px/1 var(--pixel);display:flex;align-items:center;justify-content:center;flex-direction:column;text-shadow:0 0 20px #fff;transform:translateZ(45px);animation:portal-pulse 4s ease-in-out infinite}
.portal-core small{font-size:20px;letter-spacing:3px;color:#312457;text-shadow:none}
.orbit-shard{position:absolute;font-size:45px;color:#e1c3ff;text-shadow:0 0 16px #b9a1ff;animation:realm-float 5s ease-in-out infinite}
.shard-one{top:0;right:9%}.shard-two{left:2%;bottom:12%;animation-delay:-1.5s}.shard-three{bottom:0;right:12%;animation-delay:-3s}
.guild-seal{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;white-space:nowrap;padding:10px 15px;background:#201d32e8;border:2px solid #9278b2;box-shadow:4px 5px #0b1114}
.guild-seal span{font-size:28px;color:#dec6ff}.guild-seal strong{font:700 18px var(--pixel)}.guild-seal small{font:700 10px var(--pixel);color:#c5a1ff}
.etd-section{background:radial-gradient(ellipse at 25% 45%,#8b633e36,transparent 40%),#221f1a;border-top:1px solid #6b4e37;border-bottom:3px solid #78553d}
.etd-layout{display:grid;grid-template-columns:minmax(380px,1.1fr) minmax(0,.9fr);align-items:center;gap:65px}
.etd-copy h2 span{color:#ffb86d}.etd-copy>p{max-width:600px;color:#d6c5b7;font-size:17px;line-height:1.75}
.etd-steps{margin:26px 0;display:grid;gap:9px}.etd-steps>div{display:flex;gap:16px;align-items:center;border-top:1px solid #8a685064;padding:12px 0;color:#ecd8c1;font-size:14px}
.etd-steps b{flex:none;width:39px;height:39px;display:grid;place-items:center;font:700 22px var(--pixel);background:#b38354;color:#271a13}
.etd-note{background:#443324;border-left:4px solid #f2b56e;padding:16px;margin-bottom:24px;color:#f3dec4;font-size:13px;line-height:1.6}
.etd-stage{position:relative;min-height:475px;background:radial-gradient(ellipse at 50% 45%,#41634a,#152b28 64%,#0b1915);border:5px solid #8c6c46;box-shadow:9px 10px #10110f;overflow:hidden;isolation:isolate}
.etd-stage:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,#fff1 0 1px,transparent 1px 5px);opacity:.23}
.battle-perspective{position:absolute;inset:12% 8% 19%;perspective:720px;display:grid;place-items:center}
.battle-board{position:relative;width:80%;height:88%;max-width:490px;max-height:370px;transform-style:preserve-3d;transform:rotateX(55deg) rotateZ(-34deg);background-color:#517249;background-image:linear-gradient(#32553788 2px,transparent 2px),linear-gradient(90deg,#32553788 2px,transparent 2px);background-size:41px 41px;border:14px solid #375632;box-shadow:16px 26px #203b27,18px 31px 0 9px #112219,30px 45px 80px #030a09c9}
.battle-board:after{content:"";position:absolute;inset:-6px;border:3px solid #8ca96d;pointer-events:none}
.battle-road{position:absolute;inset:15% 19%;border:35px solid #a98b60;border-top-width:30px;border-right-width:27px;box-shadow:inset 0 0 0 5px #7c694a,0 0 0 5px #7c694a}
.tower{position:absolute;z-index:4;display:grid;place-items:center;width:67px;height:67px;border:9px solid #576f4f;background:linear-gradient(140deg,#9ca8a2,#576d68);box-shadow:12px 12px #293e31;transform:translateZ(38px);animation:tower-idle 3s ease-in-out infinite}
.tower span{font-size:45px;filter:drop-shadow(3px 5px #172119)}.tower-archer{top:6%;left:7%}.tower-mage{top:62%;right:2%;animation-delay:-1s}.tower-fire{bottom:6%;left:7%;animation-delay:-1.9s}
.enemy{position:absolute;z-index:3;font-size:46px;filter:drop-shadow(5px 4px #142b1b);animation:enemy-march 7s steps(9,end) infinite}
.enemy-one{top:8%;left:40%}.enemy-two{top:55%;left:55%;animation-delay:-3.7s}
.impact{position:absolute;z-index:5;color:#ffdd80;font-size:41px;animation:projectile 2.1s ease-out infinite}.impact-one{top:25%;left:46%}.impact-two{top:65%;right:29%;animation-delay:-1.2s}
.battle-overlay{position:absolute;left:15px;right:15px;top:15px;display:flex;justify-content:space-between;gap:10px;font:700 20px var(--pixel);color:#f1d29b;text-shadow:2px 3px #0d1b14}.battle-overlay span{border:1px solid #ca986d;background:#253628b5;padding:4px 9px}
.battle-control{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);white-space:nowrap;z-index:6;border:2px solid #e9bc7d;background:#e6a96b;color:#30200f;padding:10px 19px;font:700 18px var(--pixel);box-shadow:4px 5px #1c1a15}
.battle-control:hover{background:#ffcb8d}.battle-pulse{animation:battle-flash .5s ease-out}
.codex-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#223a29;border:2px solid #597c52;padding:15px;margin-bottom:14px}
.codex-filters{display:flex;flex-wrap:wrap;gap:6px}.codex-filters button,.codex-more{padding:11px 13px;color:#e7f2d9;background:#183020;border:2px solid #57814c;font:700 14px var(--pixel);white-space:nowrap}
.codex-filters button.selected{background:#c4ee80;color:#1a2b1b}.codex-search{display:flex;align-items:center;gap:7px;border:2px solid #6d8c61;background:#102419;padding:0 11px;flex:1;min-width:220px}.codex-search span{font-size:22px;color:#b6d998}
.codex-search input{width:100%;border:0;outline:0;background:transparent;color:white;min-height:44px;font:600 13px var(--body)}.codex-search input::placeholder{color:#a8b9a1}
#codexChapter{border:2px solid #68875f;background:#182e20;color:#e6f0da;padding:13px 9px;font:700 12px var(--pixel);min-height:46px;max-width:100%}
.codex-overview{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:22px;color:#bbd49f;font:700 13px var(--pixel)}.source-date{color:#96ad8d}
.codex-card{cursor:pointer;justify-content:flex-end;transition:transform .2s,filter .2s,border-color .2s;animation:fade-up .5s both;animation-delay:var(--card-delay);min-height:250px}
.codex-card:hover,.codex-card:focus-visible{transform:translateY(-5px);filter:saturate(1);border-color:#c7ea87}
.codex-card.locked:hover{border-color:#a09aa4}.codex-card.locked{filter:saturate(.42)}
.codex-card .dungeon-icon{font-size:42px;opacity:.9}
.codex-card .codex-label{position:absolute;top:20px;left:22px;color:#b5dc97;font:700 12px var(--pixel);max-width:65%;text-transform:uppercase;letter-spacing:1px}
.codex-card h3{font-size:clamp(22px,2vw,29px);max-width:90%;overflow-wrap:anywhere}
.codex-card .codex-type{color:#b9cdb0;font-size:12px;line-height:1.3;margin-bottom:12px}
.codex-card p{font-size:12px}.codex-card .codex-inspect{color:#e2d29d;font:700 11px var(--pixel);margin-top:14px;letter-spacing:.5px}
.codex-more{display:block;margin:25px auto 0;width:min(100%,450px);background:#345b37;font-size:18px}.codex-more[hidden]{display:none}
.codex-dialog{width:min(91vw,640px);max-height:90dvh;overflow:auto;background:radial-gradient(circle at 90% 5%,#4f4c69,#203425 40%,#13251a);border:4px solid #9bbc81;color:#f4eed9;padding:28px;box-shadow:10px 10px #040b07}
.codex-dialog::backdrop{background:#060a09dd;backdrop-filter:blur(5px)}.codex-dialog h2{font:700 clamp(32px,5vw,50px)/1 var(--pixel);margin:17px 0;clear:both}
.codex-dialog-icon{font-size:83px;line-height:1;margin:12px 0;filter:drop-shadow(8px 10px #0e2017)}
.codex-status,.chapter-state{display:inline-block;color:#d2f7a9;border:1px solid #73975c;background:#294f2e;padding:6px 10px;font:700 13px var(--pixel)}
.codex-status.status-locked{color:#d6cedc;background:#4b4651;border-color:#85778e}
.codex-lore{font:700 clamp(22px,3vw,28px)/1.35 var(--pixel);color:#f1d9a9;border-left:5px solid #b99e70;padding:17px 0 17px 22px;margin:24px 0}
.codex-dialog-row{display:flex;justify-content:space-between;gap:14px;border-top:1px solid #6c806b;padding:13px 0;font-size:13px}
.codex-dialog-row span{color:#9db897}.codex-dialog-row strong{text-align:right;color:#e1eacb}.codex-warning{font-size:12px;color:#a9b49d;line-height:1.7}
.quest-section{background:linear-gradient(160deg,#28372c,#1b2c21)}
.quest-chapters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.quest-chapter{position:relative;min-height:385px;border:3px solid #9db17b;padding:20px;overflow:hidden;background:radial-gradient(circle at 80% 15%,#687e4d66,transparent 50%),#2e4732;box-shadow:5px 6px #0d1b13}
.quest-chapter.sealed{background:linear-gradient(140deg,#353b39,#222e29);border-color:#676b66;filter:saturate(.6)}
.chapter-ordinal{font:700 57px/.9 var(--pixel);color:#bad49c55;position:absolute;right:16px;top:12px}.chapter-icon{font-size:71px;filter:drop-shadow(4px 7px #0a2012);margin:32px 0}
.chapter-body{display:flex;flex-direction:column;gap:7px;min-height:205px}.chapter-hint{font:700 12px var(--pixel);color:#dfc58c;text-transform:uppercase}
.chapter-body h3{font:700 29px/1.04 var(--pixel);margin:0}.chapter-body p{font-size:13px;line-height:1.7;color:#d1dec5;flex:1;margin:0}
.quest-chapter.sealed .chapter-state{background:#555655;color:#d1d0ca;border-color:#858581}.quest-tips{display:flex;gap:15px;align-items:center;margin-top:25px;padding:18px 20px;background:#1b3322;border-left:4px solid #c3d889;color:#bacfb2;font-size:14px;line-height:1.6}.quest-tips>span{font-size:30px}.quest-tips strong{color:#e5efce}
.legend-banner{position:relative;min-height:580px;display:flex;align-items:center;overflow:hidden;background:#14201b}
.legend-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;filter:saturate(.86)}
.legend-veil{position:absolute;inset:0;background:linear-gradient(90deg,#07140bf0 3%,#0e2119c7 43%,#0c1d1130 95%),linear-gradient(0deg,#09130dcc,transparent 40%)}
.legend-copy{position:relative;z-index:1;padding-block:80px}.legend-copy h2{font:700 clamp(42px,5.5vw,73px)/1 var(--pixel);max-width:870px;text-shadow:5px 6px #07100c;margin:18px 0 21px}.legend-copy p{max-width:530px;color:#d4e5c8;font-size:17px;line-height:1.7;margin-bottom:30px}
.archivist{position:fixed;right:22px;bottom:22px;z-index:85;display:flex;align-items:flex-end;flex-direction:column;gap:12px;max-width:min(92vw,370px)}
.archivist-trigger{background:#283e2b;border:3px solid #c0db91;display:flex;align-items:center;gap:8px;color:#ecf7d2;padding:7px 13px 7px 6px;box-shadow:5px 6px #07130c;font:700 14px var(--pixel);max-width:100%}
.archivist-trigger img{width:51px;height:51px;image-rendering:pixelated;animation:archivist-bob 4s ease-in-out infinite}
.archivist-trigger:hover{border-color:#ffe0a1;background:#3c5535}.archivist-trigger span{white-space:nowrap}
.archivist-message{position:relative;background:#20382a;border:3px solid #b3cf85;box-shadow:8px 9px #07130c;padding:17px 19px;width:370px;max-width:100%;color:#f2f3d6;animation:fade-up .2s ease-out}
.archivist-message[hidden]{display:none}.archivist-name{color:#dbd99f;font:700 15px var(--pixel)}.archivist-message p{font-size:14px;line-height:1.65;margin:11px 0 16px}
.archivist-controls{display:flex;gap:7px}.archivist-controls button{border:2px solid #9fbf75;background:#3a643d;color:#f1ffe0;font:700 13px var(--pixel);padding:7px 10px}.archivist-controls button:last-child{background:#182b20;color:#b2c6ab}
.epic-reveal{opacity:0;transform:translateY(21px);transition:opacity .6s ease,transform .6s ease}.epic-reveal.appeared{opacity:1;transform:translateY(0)}
@keyframes realm-float{50%{transform:translateY(-10px) rotate(3deg)}}
@keyframes portal-breathe{50%{transform:translateY(-10px) scale(1.025)}}
@keyframes portal-pulse{50%{box-shadow:0 0 55px #b5a0ff,inset 0 0 55px #dac0ff}}
@keyframes orbit-spin{to{transform:rotateY(420deg) rotateX(387deg)}}
@keyframes orbit-spin-alt{to{transform:rotateY(-425deg) rotateX(-310deg)}}
@keyframes enemy-march{0%{transform:translate(-35px,-40px) translateZ(20px)}50%{transform:translate(50px,28px) translateZ(20px)}100%{transform:translate(-35px,-40px) translateZ(20px)}}
@keyframes tower-idle{50%{transform:translateZ(44px) rotate(5deg)}}
@keyframes projectile{0%,100%{opacity:0;transform:translate(30px,-20px) scale(.35)}45%{opacity:1;transform:translate(-15px,20px) scale(1.4)}}
@keyframes battle-flash{40%{filter:brightness(1.7) saturate(1.5)}}
@keyframes archivist-bob{50%{transform:translateY(-4px) rotate(-2deg)}}
@media(max-width:1120px){.records-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.records-card.etd-record{grid-column:1/-1;min-height:245px}.quest-chapters{grid-template-columns:repeat(2,minmax(0,1fr))}.etd-layout{gap:30px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:850px){.realm-cards{grid-template-columns:1fr}.realm-card{min-height:245px}.realm-card p{min-height:0}.realm-art{position:absolute;right:24px;top:20px;opacity:.55}.realm-card h3,.realm-card p{max-width:80%}.guild-layout,.etd-layout{grid-template-columns:1fr;gap:20px}.guild-orbit-wrap{min-height:360px;order:-1}.guild-orbit{width:260px;height:260px}.portal-core{font-size:78px}.portal-core small{font-size:14px}.guild-seal{bottom:0}.etd-stage{min-height:430px}.codex-toolbar{align-items:stretch}.codex-search{order:3;flex-basis:100%}.records-grid{grid-template-columns:1fr}.records-card.etd-record{grid-column:auto}.record-content{min-height:250px}.legend-banner{min-height:520px}}
@media(max-width:600px){.realm-intro{padding:55px 0 68px}.realm-intro-top{flex-direction:column;gap:3px}.rune-divider{font-size:15px}.realm-intro h2{font-size:clamp(36px,10vw,56px);letter-spacing:-.4px}.realm-intro>p{font-size:14px}.realm-card{min-height:260px;padding:20px}.realm-card h3{font-size:26px}.records-card{min-height:315px}.guild-copy h2,.etd-copy h2{font-size:clamp(44px,12vw,61px)}.guild-lead{font-size:15px}.guild-orbit-wrap{min-height:320px}.guild-orbit{width:230px;height:230px}.guild-seal{bottom:0;padding:8px}.guild-seal strong{font-size:14px}.etd-stage{min-height:330px}.battle-perspective{inset:10% 0 21%}.battle-board{width:78%;height:82%;border-width:8px}.battle-road{border-width:20px}.tower{width:43px;height:43px;border-width:5px}.tower span{font-size:27px}.enemy{font-size:27px}.impact{font-size:28px}.battle-overlay{font-size:13px}.battle-control{font-size:14px;padding:8px 11px}.codex-toolbar{padding:9px}.codex-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:3px}.codex-filters button{font-size:11px;padding:10px 2px}.codex-search{min-width:0}.codex-overview{font-size:11px}.codex-card{min-height:205px}.codex-card .codex-label{top:10px;left:10px;font-size:10px}.codex-card .codex-type{font-size:11px}.codex-card h3{font-size:22px}.codex-card .codex-inspect{font-size:10px}.quest-chapters{grid-template-columns:1fr}.quest-chapter{min-height:285px}.chapter-icon{margin:9px 0;font-size:50px}.chapter-body{min-height:160px}.legend-banner{min-height:490px}.legend-copy{padding-block:55px}.legend-copy h2{font-size:clamp(37px,9.5vw,52px)}.legend-copy p{font-size:14px}.archivist{right:10px;bottom:84px;max-width:calc(100vw - 20px)}.archivist-trigger{padding:3px 8px 3px 3px;font-size:12px}.archivist-trigger img{width:36px;height:36px}.archivist-message{width:320px;padding:13px}.archivist-message p{font-size:12px}.codex-dialog{padding:16px}.codex-dialog-icon{font-size:63px}}
@media(prefers-reduced-motion:reduce){.realm-art,.guild-orbit,.orbit-ring,.portal-core,.orbit-shard,.tower,.enemy,.impact,.archivist-trigger img,.waiting-source span{animation:none!important}.epic-reveal{opacity:1;transform:none}.realm-card{transition:none}}
