/* Approved three-screen concept: 480 x 920 game canvas, not viewport-driven. */
.bf-world{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;min-height:0;padding:0 14px 12px;box-sizing:border-box;color:#123e40;background:linear-gradient(#f6f4e5e8,#f0f1dfde),url('../assets/world-will-v1.png') center bottom/auto 75% no-repeat;font-family:KaiTi,STKaiti,serif;container-type:size;border:1px solid #b6a264}
.bf-world *{box-sizing:border-box}.bf-world [hidden]{display:none!important}.bf-world button,.bf-world input{font:inherit}.bf-world button{min-height:44px;border:1px solid #a89c66;border-radius:6px;background:linear-gradient(#f6f4e6,#d7dfca);color:#163f42;padding:7px 12px;cursor:pointer}.bf-world button:disabled{opacity:.5;cursor:default}.bf-world button:focus-visible,.bf-world input:focus-visible{outline:2px solid #387c73;outline-offset:2px}.bf-world__brand{height:55px;flex-shrink:0;margin:0 -14px;background:linear-gradient(90deg,#17484be8,#245956c9,#17484be8),url('../assets/world-will-v1.png') center 25%/cover;border-bottom:2px solid #b9a567;color:#fff0ba;text-align:center;font-size:36px;line-height:53px;font-weight:bold;letter-spacing:5px;text-shadow:1px 2px #12383c}
.bf-world__header{position:relative;display:flex;justify-content:center;align-items:center;height:58px;flex-shrink:0}.bf-world h2{font-size:27px;letter-spacing:3px;font-weight:bold;margin:0;text-align:center;color:#12383b}.bf-world__header button{position:absolute;right:0;border:0;background:transparent;padding:4px;font-size:30px;color:#153f42}.bf-world__header [data-refresh]{left:0;right:auto;font-size:12px;opacity:.65}.bf-world__tabs{display:flex;gap:4px;flex-shrink:0;height:48px}.bf-world__tabs button{flex:1;border-radius:6px;font-size:22px;letter-spacing:1px}.bf-world__tabs button[aria-selected=true],.bf-world [data-submit]{background:linear-gradient(120deg,#255f60,#113d44);color:#fff0ba;border-color:#b49952;box-shadow:inset 0 0 0 2px #e0ce8c55}
.bf-world__scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-width:none}.bf-world__scroll::-webkit-scrollbar{display:none}.bf-world [data-panel=repair]{display:flex;flex-direction:column;gap:12px;padding:12px 0 18px;overflow-y:auto}.bf-world__art{position:relative;align-self:center;margin:0;width:100%;max-width:400px;aspect-ratio:4/3;flex-shrink:0;isolation:isolate;overflow:hidden}.bf-world__art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%;mask-image:linear-gradient(#000 85%,transparent)}.bf-world h3{font-size:22px;margin:0;font-weight:bold}
.bf-world p{line-height:1.5;margin:8px 0;font-size:17px}.bf-world .bf-world__note{color:#344e45;font-size:15px}.bf-world__goal{flex-shrink:0;min-height:115px;text-align:center;padding:12px 20px 8px;border:1px solid #b49e60;border-radius:6px;background:#f8f5e6b3;box-shadow:inset 0 0 0 3px #f6f2dd}.bf-world__goal h3{font-size:22px}.bf-world__progress-heading{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:12px}.bf-world progress{display:block;width:100%;min-width:0;height:21px;border:1px solid #a69d6a;border-radius:12px;overflow:hidden;background:#dce0c9;accent-color:#2e7475}.bf-world progress::-webkit-progress-bar{background:#dce0c9;border:2px solid #f4f2db;border-radius:10px}.bf-world progress::-webkit-progress-value{background:linear-gradient(90deg,#1c555a,#3b8286);border-radius:6px}.bf-world [data-progress-text]{font-variant-numeric:tabular-nums;font-size:18px;margin:0;max-width:46%;line-height:1.2}.bf-world [data-realm]{margin:7px 0 0}.bf-world__offering{flex-shrink:0;padding:5px 40px 0;text-align:center}.bf-world__offering label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.bf-world__quantity{display:grid;grid-template-columns:55px minmax(55px,1fr) 55px;gap:8px;height:50px}.bf-world__quantity button{padding:5px;font-size:27px}.bf-world input{width:100%;min-width:0;border:1px solid #a69d70;border-radius:6px;background:#f7f5e8;color:#173f41;text-align:center;font-size:27px;appearance:textfield}.bf-world input::-webkit-inner-spin-button{appearance:none}.bf-world [data-submit]{display:block;width:100%;margin-top:15px;min-height:58px;font-size:30px;letter-spacing:4px}.bf-world__offering .bf-world__note{display:none}.bf-world footer{flex-shrink:0}.bf-world footer p{font-size:13px;margin:0;color:#725f3e}.bf-world footer [data-retry]{width:100%}
.bf-world [data-panel=rank]{display:flex;flex-direction:column;overflow:hidden;padding-bottom:12px}.bf-world .bf-world__rank-title{display:flex;align-items:center;justify-content:center;gap:13px;text-align:center;margin:18px 0;font-size:25px;flex-shrink:0}.bf-world__table{border:1px solid #a4b18e;border-radius:7px;overflow:hidden;flex:1;min-height:0;background:#f6f4e8a6;display:flex;flex-direction:column}.bf-world__rank-head,.bf-world__rank{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;align-items:center;text-align:center}.bf-world__rank-head{padding:9px 12px;background:#d3dcc9;font-size:17px;flex-shrink:0}.bf-world__ranking{flex:1;overflow-y:auto;scrollbar-width:none;min-height:0;overscroll-behavior:contain;touch-action:pan-y}.bf-world__ranking::-webkit-scrollbar{display:none;width:0;height:0}.bf-world__rank{padding:8px 12px;border-bottom:1px solid #c9cfb7;font-size:19px;min-height:55px}.bf-world__rank:last-child{border-bottom:0}.bf-world__rank span:first-child{font-size:30px;font-style:italic;font-weight:bold;color:#84602c}.bf-world__rank:nth-child(1) span:first-child{color:#a48120}.bf-world__rank:nth-child(2) span:first-child{color:#617579}.bf-world__rank span{min-width:0;padding:0 3px;overflow-wrap:anywhere}.bf-world__rank span:nth-child(3){font-size:18px}.bf-world__empty{text-align:center;padding:44px 5px;color:#60735b}.bf-world__own{display:flex;justify-content:space-around;align-items:center;gap:12px;padding:17px 8px;border:1px solid #b09e64;border-radius:7px;background:linear-gradient(#e8eddb,#d2dfc9);font-size:21px;flex-shrink:0;min-height:65px}.bf-world__own span{flex:1;text-align:center}.bf-world__own span+span{border-left:1px solid #9dae8c}
@container (max-height:820px){.bf-world__goal{padding:8px 12px}}
@container (max-width:400px){.bf-world__offering{padding-left:18px;padding-right:18px}.bf-world__goal h3{font-size:19px}.bf-world__quantity{grid-template-columns:50px minmax(45px,1fr) 50px}.bf-world__own{font-size:17px}}
/* An opaque base prevents the underlying battlefield controls showing through. */
.bf-world{background-color:#f1f1df}
/* Framed season strip only; preserve all existing entrance sections. */
#game-root .realm-season-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:0;width:100%;height:44px;flex-shrink:0;margin:0 0 9px;padding:3px 5px;box-sizing:border-box;border:1px solid #b3a06a;border-radius:7px;background:linear-gradient(#f4f1ddcc,#e4e9d1cc);box-shadow:inset 0 0 0 2px #fbf6e055;color:#204e4c}
#game-root .realm-season-bar strong{font-size:20px;font-weight:normal;text-align:center;white-space:nowrap}
#game-root .realm-season-bar [data-season-time]{font-size:13px;line-height:16px;text-align:center;white-space:pre-line;color:#244c49;font-variant-numeric:tabular-nums;border-left:1px solid #bfc5a4}
#game-root .realm-season-bar button{height:36px;min-height:36px;padding:4px 6px;font:inherit;font-size:17px;white-space:nowrap;border:1px solid #b59e5f;border-radius:5px;background:linear-gradient(120deg,#2a6061,#194a50)!important;color:#f9ecc0!important;box-shadow:inset 0 0 0 2px #d4c58f55!important}

/* Both entry rows use identical column boundaries and inset. */
#game-root .realm-battlefield .realm-mode-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:100%;height:46px;flex-shrink:0;padding:0 5px;box-sizing:border-box;border:1px solid transparent}
#game-root .realm-mode-row .realm-battlefield__modes{display:contents}
#game-root .realm-mode-row .realm-battlefield__modes button{min-width:0;width:100%;height:44px;min-height:44px;padding:5px 2px;font-size:19px;border:1px solid #8ca898;border-radius:0}
#game-root .realm-mode-row .realm-battlefield__modes button:first-child{border-radius:6px 0 0 6px}
#game-root .realm-mode-row .realm-battlefield__modes button:last-child{border-radius:0 6px 6px 0;border-left:0}
#game-root .realm-mode-row .realm-stamina-slot{align-self:stretch;height:44px;min-width:0;display:flex;align-items:center;justify-content:center;box-sizing:border-box;border:1px solid #a7b396;border-radius:6px;background:#edf0dd99}
#game-root .realm-mode-row .realm-stamina-slot .dungeon-stamina{position:relative;display:flex;flex:none;width:100%;height:42px;padding:0 9px;box-sizing:border-box;font-family:KaiTi,STKaiti,"Noto Serif SC","Songti SC",SimSun,serif!important;font-size:17px;line-height:22px}
#game-root .realm-mode-row .realm-stamina-slot .dungeon-stamina__value-row{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;height:100%;font-family:inherit!important}
#game-root .realm-mode-row .realm-stamina-slot .dungeon-stamina__label{font-family:inherit!important;font-size:19px;font-weight:normal;line-height:22px}
#game-root .realm-mode-row .realm-stamina-slot [data-battlefield-stamina]{font-family:inherit!important;font-size:17px;font-weight:normal;line-height:22px;white-space:nowrap}
#game-root .realm-mode-row .realm-stamina-slot .dungeon-stamina__recovery{position:absolute;right:9px;bottom:0;height:10px;line-height:10px;font-family:inherit!important;font-size:10px}
