/* Grindveil v2 — locations first. Scene art carries the layout; controls are
   readable objects and short labels over it. Data-rich detail stays on demand. */
.gv-v2 {--v2-nav:90px;}
.gv-v2 {--v2-ink:#1b1529;--v2-stone:#30243b;--v2-line:rgba(230,185,104,.3);--v2-gold:#efca7e;--gold:#efca7e;}
.gv-v2 .v2-scene-canvas {display:block;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:0!important;pointer-events:none!important;border:0!important;border-radius:inherit;}
.gv-v2 .v2-scene-canvas[hidden] {display:none!important;}
.v2-motion-toggle {min-height:44px;flex-shrink:0;padding:12px 6px;border:0;border-top:1px solid #d5b77244;background:none;color:#e8d4a6;font-size:12px;cursor:pointer;}
.v2-motion-toggle:disabled {color:#bac5d5;cursor:default;}
.gv-v2 #mainContent > .tab-panel {padding-left:20px;padding-right:20px;}
.gv-v2 #mainContent > #pathStrip.path {background:linear-gradient(90deg,#101522f2,#101522b0,#101522e8);border:0;padding:4px 20px;}
.gv-v2 #mainContent > #pathStrip.path .path-in {padding:8px 24px 8px 0!important;}
.gv-v2 #pathStrip .path-title {font-size:16px;}
.gv-v2 #pathStrip .path-desc {font-size:12px;}

/* Town hub: real destinations, no marketing cards or duplicate profile. */
.gv-v2 #mainContent > #panelHome {padding:0!important;overflow:hidden!important;}
.gv-v2 #panelHome .home-content {max-width:none!important;width:100%!important;padding:0!important;position:relative;}
.gv-v2 #panelHome .home-greet {display:none;}
.gv-v2 #panelHome .home-bg {display:none;}
.v2-world {position:relative;width:100%;isolation:isolate;}
.v2-world-view {width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8f7544 #101522;}
.v2-world-scene {position:relative;aspect-ratio:3/2;min-width:680px;min-height:500px;background:url('/v2/art/town-cartoon.webp') center/100% 100% no-repeat;}
.v2-world-scene::after {content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(#10152260,transparent 15%,transparent 85%,#101522aa);}
.v2-world-title {position:absolute;top:18px;left:28px;pointer-events:none;text-shadow:0 2px 8px #000,0 0 30px #000;z-index:2;}
.v2-world-title h1 {margin:0;color:#f7dfaa;font:600 clamp(22px,2.3vw,36px)/1.15 var(--font-display);}
.v2-world-title p {margin:7px 0 0;color:#eee5d7;font:13px/1.5 var(--font-body);}
.v2-place {position:absolute;z-index:3;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;border:0;background:none;padding:12px 14px;min-width:120px;cursor:pointer;color:#f7dfaa;text-shadow:0 2px 5px #000,0 0 9px #000;}
.v2-place::before {content:'';position:absolute;inset:26px -6px 4px;z-index:-1;background:radial-gradient(ellipse,#080d16eb 15%,#080d16b3 47%,transparent 73%);transition:opacity .18s;}
.v2-place::after {content:'';position:absolute;width:110px;height:70px;bottom:80%;left:50%;transform:translateX(-50%);}
.v2-place strong {font:600 clamp(13px,1.05vw,17px)/1.5 var(--font-display);white-space:nowrap;}
.v2-place-marker {color:#ffe1a3;font-size:17px;line-height:1;filter:drop-shadow(0 0 7px #e5ac45);transition:transform .2s;}
.v2-place-hint {max-width:190px;font:12px/1.5 var(--font-body);color:#fff4dc;opacity:0;transition:opacity .18s;}
.v2-place:hover .v2-place-hint,.v2-place:focus-visible .v2-place-hint {opacity:1;}
.v2-place:hover .v2-place-marker,.v2-place:focus-visible .v2-place-marker {transform:translateY(-5px);}
.v2-place:hover strong,.v2-place:focus-visible strong {color:#fff5d7;}
.v2-place:focus-visible {outline:2px solid #ffe1a3;outline-offset:1px;border-radius:50%;}
.v2-world-atmosphere {position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 16% 23%,#ac79ff2b,transparent 12%),radial-gradient(ellipse at 64% 60%,#ffbe5525,transparent 12%);}
.v2-world-atmosphere::after {content:'';position:absolute;left:37%;top:73%;width:32%;height:20%;background:radial-gradient(ellipse,#96e6ec28,transparent 65%);mix-blend-mode:screen;}
.v2-scene-sleep {position:absolute;left:70%;top:29%;pointer-events:none;z-index:1;}
.v2-scene-sleep i {position:absolute;font:700 12px/1 var(--font-body);font-style:normal;color:#fff0bd;text-shadow:1px 2px #2e2036;opacity:0;}
.v2-pan-hint {display:none;}
.gv-v2 #panelHome .v2-news {position:absolute;z-index:5;right:20px;bottom:18px;margin:0;padding:0;border:0;max-width:420px;width:auto;}
.gv-v2 #panelHome .v2-news > summary {padding:12px 18px;color:#eed7a4;background:linear-gradient(90deg,transparent,#0e1420d9 12%,#0e1420ed 88%,transparent);font-size:13px;}
.gv-v2 #panelHome .v2-news[open] {width:min(420px,calc(100% - 32px));max-height:72%;overflow:auto;background:#131b28f5;box-shadow:0 12px 40px #0009;border-top:1px solid #d5b772;padding:0 16px 16px;}
.gv-v2 #panelHome .v2-news[open] > summary {position:sticky;top:0;background:#131b28;z-index:3;margin:0 -16px 12px;padding:16px;}
.gv-v2 #panelHome .home-news-card {border:0;background:none;padding:12px 0;}
.gv-v2 #panelHome .home-news-body {font-size:13px;line-height:1.7;}

/* Game dock: illustrated sigils on a single ground shadow. */
@media(min-width:960px) {
  .gv-v2 body #mainContent {padding-top:0!important;padding-bottom:90px!important;display:flex;flex-direction:column;height:100dvh;overflow:hidden!important;}
  .gv-v2 #mainContent > #pathStrip.path {position:relative;flex:0 0 auto;}
  .gv-v2 #mainContent > .tab-panel.active {flex:1 1 auto;min-height:0!important;overflow:auto;}
  .gv-v2 body #tabBar {top:auto!important;bottom:0!important;height:90px!important;padding:5px 16px 9px!important;border:0!important;background:linear-gradient(0deg,#080d17 0%,#101522f0 65%,#10152200 100%)!important;box-shadow:none!important;}
  .gv-v2 #tabBar .tab-bar-inner {gap:8px;align-items:center;}
  .gv-v2 #tabBar .tab-bar-inner > .tab-btn {max-width:100px;height:76px;min-width:55px;border:0!important;border-radius:0;background:none!important;position:relative;gap:3px;}
  .gv-v2 #tabBar .tab-btn .tab-icon-img {width:36px;height:36px;object-fit:contain;transition:transform .18s,filter .18s;filter:drop-shadow(0 3px 5px #0008);}
  .gv-v2 #tabBar .tab-btn.active .tab-icon-img,.gv-v2 #tabBar .tab-btn:hover .tab-icon-img {filter:drop-shadow(0 0 10px #d0aa5570);transform:translateY(-3px);}
  .gv-v2 #tabBar .tab-btn.active::after {content:'';position:absolute;bottom:0;left:20%;right:20%;height:2px;background:linear-gradient(90deg,transparent,#f5d38a,transparent);box-shadow:none;}
  .gv-v2 #tabBar .tab-btn.tb-ready::after {top:auto;bottom:0;width:auto;animation:none;}
  .gv-v2 #tabBar .tab-btn .tab-label {font:600 12px/1.3 var(--font-body);color:#d7d1c8;}
  .gv-v2 #tabBar .tab-state {font-size:10px;line-height:1;color:#d0e4db;}
  .gv-v2 .v2-nav-group {max-width:108px;height:76px;}
  .gv-v2 .v2-nav-group > summary {flex-direction:column;gap:4px;border-radius:0;background:none!important;font-size:12px;position:relative;}
  .gv-v2 .v2-nav-group > summary > img {width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 3px 5px #0008);transition:transform .18s;}
  .gv-v2 .v2-nav-group > summary:hover > img {transform:translateY(-3px);}
  .gv-v2 .v2-nav-group > summary::after {position:absolute;right:3px;bottom:18px;font-size:12px;}
  .gv-v2 .v2-nav-group.v2-current > summary > img {filter:drop-shadow(0 0 9px #d0aa5580);}
  .gv-v2 .v2-nav-menu {top:auto;bottom:calc(100% + 12px);right:50%;transform:translateX(50%);min-width:310px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:22px 12px;border:0;border-top:1px solid #d5b77277;border-radius:0;background:linear-gradient(#101522f5,#101522ed);box-shadow:0 -10px 40px #0005;}
  .gv-v2 .v2-nav-group[data-group='social'] .v2-nav-menu {right:0;transform:none;}
  .gv-v2 #tabBar .v2-nav-menu .tab-btn {display:flex;flex-direction:column;text-align:center;align-items:center;gap:8px;padding:12px 6px;border:0;border-radius:0;min-height:96px;background:none;}
  .gv-v2 #tabBar .v2-nav-menu .tab-btn .tab-label {text-align:center;}
  .gv-v2 #tabBar .v2-nav-menu .tab-btn:hover {background:radial-gradient(ellipse,#dbb86818,transparent 70%);}
  .gv-v2 #tabBar .v2-nav-menu .tab-rewards {grid-column:1/-1;justify-content:center;}
  .gv-v2 .v2-events-toggle {min-height:50px;border:0;border-left:1px solid #d5b77235;border-radius:0;padding:0 14px;font-size:12px;background:none;}
  .gv-v2 #mainContent > .tab-panel {padding-bottom:24px!important;}
  .gv-v2 body.v2-events-open #sidebarHudCol {top:24px!important;bottom:110px!important;max-height:calc(100dvh - 134px);}
  .gv-v2 #panelHome .v2-world-scene {min-height:0;min-width:0;width:min(100%,calc((100dvh - 190px)*1.5));margin:0 auto;}
}

/* Mission scenery. Only the actionable information has a soft shadow bed. */
.gv-v2 #panelTavern .rf2-stam {border:0;border-radius:0;background:radial-gradient(ellipse,#101522e8 40%,transparent 73%);box-shadow:none;padding:10px 20px;}
.gv-v2 #panelTavern .rf2-card {border:0;border-radius:0;background:none;box-shadow:none;padding:16px 14px;}
.gv-v2 #panelTavern .rf2-body {background:linear-gradient(transparent,#101522bd 22%,#101522e8 85%,transparent);padding:12px 14px 22px;border:0;}
.gv-v2 #panelTavern .rf2-go {border-radius:3px;background:linear-gradient(90deg,#9a7438,#e6c583 45%,#b68b48);border:1px solid #eed19b;box-shadow:0 3px 8px #0005;text-transform:none;}
.gv-v2 #panelTavern .rf2-tier {background:#101522b0;border:0;border-radius:0;}
.gv-v2 #panelTavern .rf2-plaque {background:linear-gradient(transparent,#101522dd 18%,#101522ed 85%,transparent);border:0;border-radius:0;box-shadow:none;}
.gv-v2 #panelTavern .rf2-plaque::before,.gv-v2 #panelTavern .rf2-plaque::after {display:none;}

/* Expeditions: the map becomes the environment, with a quiet field journal. */
.gv-v2 #panelExpedition {background:linear-gradient(#101522a0,#101522d0),url('/v2/art/expedition-cartoon.webp') center/cover fixed!important;}
.gv-v2 #panelExpedition::before {display:none;}
.gv-v2 #panelExpedition .expmap {background-image:url('/v2/art/expedition-cartoon.webp');filter:drop-shadow(0 18px 35px #0007);}
.gv-v2 #panelExpedition .exp-header-banner {background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;}
.gv-v2 #panelExpedition .exp-header-banner::before {display:none;}
.gv-v2 #panelExpedition .exp-mastery-card {border:0!important;border-radius:0!important;background:linear-gradient(90deg,#101522d9,#10152265)!important;box-shadow:none!important;}
.gv-v2 #panelExpedition .exp-howto-card {border:0!important;border-radius:0!important;background:linear-gradient(90deg,#101522d9,#10152290)!important;}
.gv-v2 #expHowToContent {font-size:13px!important;line-height:1.7!important;color:#d3dce6!important;}
.gv-v2 #expHowToToggle {font-size:13px!important;min-height:44px;letter-spacing:0!important;}
.gv-v2 .expmap-label {font-size:13px!important;padding:7px 14px!important;color:#f3deb4!important;min-width:100px;}
.gv-v2 .expmap-lockreq {font-size:12px!important;color:#eee5d7;}
.gv-v2 .expmap-node.lock .expmap-fog {opacity:.55;}
@media(min-width:960px) {
  .gv-v2 #panelExpedition .exp-content {min-height:0;padding:20px!important;}
  .gv-v2 #panelExpedition .exp-layout {display:grid;width:100%;max-width:1250px;margin:auto;grid-template-columns:260px minmax(0,1fr);align-items:center;gap:20px;}
  .gv-v2 #panelExpedition .exp-mapcol .expmap {max-width:min(100%,calc(100dvh - 215px));}
}

/* Forge: two stations in one room, then tools laid out on the workbench. */
.gv-v2 #panelSoulforge,.gv-v2 #panelAnvil {background:#101522 url('/v2/art/forge-cartoon.webp') center/cover no-repeat!important;}
.gv-v2 #panelSoulforge:has(.fr-hub)::before,.gv-v2 #panelAnvil:has(.fr-hub)::before {background:linear-gradient(#10152270,transparent 40%,#10152250);}
.gv-v2 :is(#panelSoulforge,#panelAnvil) .fr-hub {max-width:none;width:100%;padding:20px 0 0;gap:8px;}
.gv-v2 .fr-title {font-size:30px;letter-spacing:.04em;}
.gv-v2 .fr-lead {color:#e2ded5;text-shadow:0 2px 8px #000;max-width:500px;}
.gv-v2 .fr-hubcards {position:relative;max-width:1100px;min-height:calc(100dvh - 380px);gap:8%;}
.gv-v2 .fr-hubcard {background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;min-height:360px;overflow:visible;align-items:flex-end;}
.gv-v2 .fr-hubcard-art,.gv-v2 .fr-hubcard-emb,.gv-v2 .fr-hubcard-glow {display:none;}
.gv-v2 .fr-hubcard-body {text-align:center;align-items:center;padding:24px 12px 40px;background:radial-gradient(ellipse,#101522eb,transparent 72%);}
.gv-v2 .fr-hubcard-name {font-size:25px;text-shadow:0 2px 8px #000;}
.gv-v2 .fr-hubcard-name::before {content:'◆';display:block;font:16px/2 var(--font-body);color:#f4d596;filter:drop-shadow(0 0 8px #ffd17b);}
.gv-v2 .fr-hubcard-sub {font-size:13px;max-width:30ch;color:#e0e4eb;text-shadow:0 2px 5px #000;}
.gv-v2 .fr-hubcard-flag {align-self:center;background:none;color:#b7e8c9;}
.gv-v2 .fr-hubcard-flag.quiet {background:none;color:#bac5d5;}
.gv-v2 .fr-hubcard:hover {transform:none;}
.gv-v2 .fr-hubcard:hover .fr-hubcard-name {color:#fff0c6;text-shadow:0 0 20px #ffc363;}
.gv-v2 .fr-purse {background:linear-gradient(90deg,transparent,#101522da,transparent);border:0;border-radius:0;}

/* Activities keep their own art; borders no longer divide every region. */
.gv-v2 #panelArena .arena-dash {border:0;border-radius:0;background:linear-gradient(90deg,transparent,#101522e8 15%,#101522e8 85%,transparent);box-shadow:none;padding:16px 24px;}
.gv-v2 #panelArena .gvas-wrap {border:0;border-radius:0;box-shadow:none;}
.gv-v2 #panelArena .arena-dash-pill {border:0;border-radius:0;background:none;box-shadow:none;}
.gv-v2 #panelFishing {background:linear-gradient(#10152285,#101522cc),url('/img/fishing/scene_bg.webp') center/cover fixed!important;}
.gv-v2 #panelFishing .fish-panel {max-width:1300px;margin:auto;}
.gv-v2 .fish-subtab {min-height:44px;color:#e0e4eb;border:0;border-radius:0;background:linear-gradient(0deg,#101522a0,transparent);font-size:13px;}
.gv-v2 .fish-subtab.active {color:#a1e2dd;border-bottom:2px solid #72bebc;background:linear-gradient(0deg,#437f793a,transparent);}
.gv-v2 .fish-header {border:0;background:linear-gradient(90deg,#101522b0,transparent);}
.gv-v2 .fish-header-title {color:#a1e2dd;letter-spacing:.04em;}
.gv-v2 .fshore {border:0;border-radius:0;box-shadow:none;}
.gv-v2 .fshore-tag {background:#101522df;border:0;border-radius:3px;padding:6px 10px;}
.gv-v2 .fshore-name {font-size:13px;color:#f3deb4;}
.gv-v2 .fshore-cost {font-size:11px;color:#d4dfeb;}
.gv-v2 .fish-how-it-works {border:0;border-radius:0;background:linear-gradient(90deg,transparent,#101522d0,transparent);}
.gv-v2 #panelWork .work-card {background:linear-gradient(90deg,#101522dd,#101522a0,transparent);border:0;border-radius:0;box-shadow:none;}
.gv-v2 #panelWork .work-hour-btn {border-radius:3px;background:#101522bf;}
.gv-v2 #panelWork .work-hero {text-shadow:0 2px 10px #000;}
.gv-v2 #panelWork .v2-work-content {width:min(550px,100%);padding:24px 20px;margin:20px 0;background:radial-gradient(ellipse at center,#171426ed 45%,#17142690 70%,transparent 78%);}
.gv-v2 #panelWork .work-card {background:none!important;backdrop-filter:none!important;margin:0 auto;padding:18px 8px;}
.gv-v2 #panelWork .work-hero {padding:10px 8px;text-align:center;}
.gv-v2 #panelWork .work-hero .section-title {text-align:center;color:#ffe0a0;}
.gv-v2 #panelWork .work-hero p {color:#eee5d7;}
.gv-v2 .v2-work-help > summary {padding:14px;text-align:center;color:#eed7a4;cursor:pointer;font-size:13px;}
.gv-v2 .v2-work-help .work-info-card > h3 {display:none;}
.gv-v2 #panelShop .shv-deal {border-image:none;border:0;border-radius:0;background:linear-gradient(90deg,transparent,#2d2013cc 10%,#18151de0 90%,transparent);box-shadow:none;}
.gv-v2 #panelShop .bz-window {border-image:none;border:0;background:linear-gradient(#10152260,#101522a0);border-radius:0;box-shadow:none;}
.gv-v2 #panelShop .bz-corner {display:none;}
.gv-v2 #panelShop .bz-sign {border:0;background:none;box-shadow:none;font-size:17px;}
.gv-v2 #panelShop .shv-tile {box-shadow:none;}
.gv-v2 #panelPets .pet-main {border:0!important;border-radius:0!important;background:linear-gradient(#101522d0,#10152290)!important;}
.gv-v2 #panelPets .pet-header-banner {height:98px!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;}
.gv-v2 #panelPets .pet-header-banner > :first-child {background:none!important;}
.gv-v2 #panelPets .pet-main > div:has(> .pet-subtab) {background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;}
.gv-v2 #panelPets .pet-subtab {background:none!important;border-width:0 0 2px!important;border-radius:0!important;box-shadow:none!important;}
.gv-v2 #panelPets .pet-food-bar-full > div:nth-child(2) > div {background:none!important;border:0!important;padding:4px!important;}
@media(min-width:960px) {
 .gv-v2 #panelPets .pet-food-bar-full > div:nth-child(2) > div {display:grid;grid-template-columns:42px 1fr;align-items:center;text-align:left!important;column-gap:10px;}
 .gv-v2 #panelPets .pet-food-bar-full > div:nth-child(2) > div > img {grid-column:1;grid-row:1/4;}
 .gv-v2 #panelPets .pet-food-bar-full > div:nth-child(2) > div > div {grid-column:2;}
}
.gv-v2 #panelPets .pet-food-bar-full {border:0!important;border-radius:0!important;background:linear-gradient(90deg,transparent,#101522d0,transparent)!important;}
.gv-v2 #panelPets .pet-slot-card {border:0!important;border-radius:0!important;background:radial-gradient(ellipse,#101522d0,transparent 72%)!important;}
.gv-v2 #panelGuild.guild-no-state {background:linear-gradient(90deg,#101522dd,#10152266,transparent),url('/v2/art/town-cartoon.webp') center/cover!important;}
.gv-v2 #panelGuild .v2-guild-intro {background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;text-shadow:0 2px 10px #000;}
.gv-v2 #panelGuild .v2-guild-intro h2 {font-size:34px!important;}
.gv-v2 #panelGuild .v2-guild-intro button {border-radius:3px!important;}
.gv-v2 :is(.gvrk-hd,.gvrk-mybox) {border:0;border-radius:0;background:linear-gradient(90deg,transparent,#101522e0,transparent);}
.gv-v2 .gvrk-cat {border-radius:0;border-width:0 0 1px;}
.gv-v2 #panelCodex,.gv-v2 #panelRankings {background:#211827 url('/v2/art/archive-cartoon.webp') center/cover no-repeat!important;}
.gv-v2 :is(#panelCodex,#panelRankings,#panelWork,#panelSoulforge,#panelAnvil) > :not(canvas) {position:relative;z-index:1;}
.gv-v2 #panelCodex .v2-codex-progress {position:absolute;left:0;bottom:8px;z-index:5;}
.gv-v2 #panelCodex .v2-codex-progress > summary {list-style:disclosure-closed;cursor:pointer;padding:12px 16px;background:#211827eb;color:#f0d8a4;font:13px/1.4 var(--font-body);}
.gv-v2 #panelCodex .v2-codex-progress[open] > summary {list-style:disclosure-open;}
.gv-v2 #panelCodex .v2-codex-progress .mastery {position:absolute;left:0;bottom:100%;width:280px;max-width:calc(100vw - 40px);height:auto;max-height:430px;background:#211827f5;border:0;border-top:1px solid #d5b77277;border-radius:0;margin:0;box-shadow:0 -8px 30px #0006;}
.gv-v2 #panelCodex .tag.prop {display:none;}

@media(max-width:959px) {
  .gv-v2 #mainContent > #pathStrip.path {padding:3px 12px;}
  .gv-v2 #mainContent > #pathStrip.path .path-in {display:grid!important;grid-template-columns:28px minmax(0,1fr) 72px!important;grid-template-areas:'num txt side'!important;gap:8px!important;padding:8px 16px 8px 0!important;}
  .gv-v2 #pathStrip .path-rail,.gv-v2 #pathStrip .path-tip,.gv-v2 #pathStrip .path-num i {display:none;}
  .gv-v2 #pathStrip .path-num b {font-size:23px;}
  .gv-v2 #pathStrip .path-lbl {font-size:10px;}
  .gv-v2 #pathStrip .path-t {font-size:13px;line-height:1.35;}
  .gv-v2 #pathStrip .path-go {padding:8px 6px;min-height:44px;font-size:11px;}
  .gv-v2 #panelHome .v2-world-scene {min-width:780px;min-height:520px;}
  .v2-world-title {top:12px;left:16px;}
  .v2-world-title p {font-size:11px;max-width:250px;}
  .v2-place {min-width:106px;padding:12px 8px;}
  .v2-place strong {font-size:13px;}
  .v2-place-hint {display:none;}
  .v2-pan-hint {display:block;position:absolute;bottom:8px;left:16px;margin:0;color:#e6dcc6;font:11px/1.5 var(--font-body);text-shadow:0 2px 5px #000;pointer-events:none;}
  .gv-v2 #panelHome .v2-news {position:relative;right:auto;bottom:auto;width:100%;max-width:none;padding:0 12px 12px;background:#101522;}
  .gv-v2 #panelHome .v2-news[open] {width:100%;max-height:60vh;}
  .gv-v2 #panelTavern .rf2-card {padding:12px 0;gap:4px;}
  .gv-v2 #panelTavern .rf2-body {padding:12px 10px 18px;}
  .gv-v2 #panelTavern .rf2-stam {padding:10px 4px;}
  .gv-v2 :is(#panelSoulforge,#panelAnvil):has(.fr-hub) {background:#211827!important;}
  .gv-v2 :is(#panelSoulforge,#panelAnvil):has(.fr-hub) .fr {padding:0;}
  .gv-v2 .fr-hubcards {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px;min-height:250px;background:url('/v2/art/forge-cartoon.webp') center/cover;}
  .gv-v2 .fr-hubcard {min-height:250px;}
  .gv-v2 .fr-hubcard-body {padding:18px 4px;}
  .gv-v2 .fr-hubcard-name {font-size:19px;}
  .gv-v2 .fr-hubcard-sub {font-size:12px;}
  .gv-v2 .fr-hubcard-flag {font-size:10px;}
  .gv-v2 .fish-subtab {font-size:11px;}
  .gv-v2 .fshore-name {font-size:11px;}
  .gv-v2 #panelGuild .v2-guild-intro {padding:24px 12px!important;}
}
@media(prefers-reduced-motion:no-preference) {
  .v2-world-atmosphere {animation:v2-lanterns 7s ease-in-out infinite alternate;}
  .v2-scene-sleep i {animation:v2-snooze 3s linear var(--delay) infinite;}
  .gv-v2 .v2-nav-group[open] .v2-nav-menu {animation:v2-dock-reveal .16s ease-out;}
}
@keyframes v2-lanterns {to{opacity:.35;}}
@keyframes v2-snooze {0%{opacity:0;transform:translate(0,0) scale(.6);}20%{opacity:.9;}80%{opacity:.8;}100%{opacity:0;transform:translate(15px,-28px) scale(1.2);}}
.gv-v2.v2-motion-paused :is(.v2-world-atmosphere,.v2-scene-sleep i,.fr-embers i,.rf3-scene,.rf3-bolt,.rf3-edge,.rf3-glow,.rf3-sheen,.rf3-in,.rf2-motes i) {animation-play-state:paused!important;}
@keyframes v2-dock-reveal {from{opacity:0;translate:0 6px;}to{opacity:1;translate:0 0;}}
