/* Grim & Goldie Studios — lightweight gothic-celestial art system v163.
 * Shared by Avatar Studio, Avatar Home, and Gremlin Island. The painted
 * backdrops are ordinary WebP images; no full-map SVG filters or blend modes.
 */
:root{
  --gg-v163-ink:#17151d;
  --gg-v163-paper:#f4f0e9;
  --gg-v163-silver:#c7cdd4;
  --gg-v163-indigo:#273a85;
  --gg-v163-cyan:#62c9d3;
  --gg-v163-blush:#dfa6bc;
  --gg-v163-magenta:#aa3e83;
  --gg-v163-gold:#d5ad45;
}

/* Avatar Studio — pale graphite portrait paper framed by crooked lace and
   celestial patchwork. The saved avatar SVG stays completely authoritative. */
body.avatar-page{
  background-color:#24202a!important;
  background-image:linear-gradient(rgba(20,17,25,.16),rgba(20,17,25,.4)),url("gg-studio-backdrop-v163.webp")!important;
  background-position:center top!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-attachment:scroll!important;
}
body.avatar-page :is(.avatar-preview-card.rich-avatar-card,.avatar-controls-card,.avatar-utility-panel,.avatar-mood-card-v068,#ggV514Right,.option-drawer){
  border:2px solid var(--gg-v163-ink)!important;
  border-radius:25px 16px 29px 18px!important;
  background:linear-gradient(146deg,rgba(250,248,242,.97),rgba(210,216,223,.96) 57%,rgba(170,179,191,.97))!important;
  color:var(--gg-v163-ink)!important;
  box-shadow:inset 0 2px rgba(255,255,255,.9),inset 0 -4px rgba(23,21,29,.11),0 15px 34px rgba(10,7,14,.34)!important;
}
body.avatar-page #avatarStage{
  border:3px solid var(--gg-v163-ink)!important;
  border-radius:31px 19px 35px 17px!important;
  background-color:#e7e3e2!important;
  background-image:linear-gradient(rgba(250,247,241,.08),rgba(38,28,52,.13)),url("gg-studio-backdrop-v163.webp")!important;
  background-position:center 39%!important;
  background-size:cover!important;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.68),0 13px 0 rgba(23,21,29,.18),0 24px 40px rgba(9,6,12,.28)!important;
}
body.avatar-page :is(.avatar-preview-top,.avatar-mode-label,.option-drawer-head,.utility-block,.avatar-mood-card-head-v068) :is(span,strong,small,b){color:var(--gg-v163-ink)!important;text-shadow:none!important}
body.avatar-page :is(.category-icon,.option-chip,.tiny-icon-button,.avatar-mood-controls button,.saved-look-slots button,.share-format-controls button){
  min-height:44px;
  border:2px solid #34303b!important;
  border-radius:17px 10px 20px 12px!important;
  background:linear-gradient(145deg,#fbfaf5,#c7cdd4)!important;
  color:#17151d!important;
  box-shadow:inset 0 1px #fff,0 4px 0 #767c86!important;
}
body.avatar-page :is(.category-icon,.option-chip):nth-child(4n+1){border-color:var(--gg-v163-indigo)!important}
body.avatar-page :is(.category-icon,.option-chip):nth-child(4n+2){border-color:var(--gg-v163-magenta)!important}
body.avatar-page :is(.category-icon,.option-chip):nth-child(4n+3){border-color:#287f88!important}
body.avatar-page :is(.category-icon.active,.option-chip.selected,.tiny-icon-button[aria-pressed="true"]){
  background:linear-gradient(145deg,#fff0b4,var(--gg-v163-gold))!important;
  border-color:#5f4610!important;
  color:#17130d!important;
  box-shadow:inset 0 2px rgba(255,255,255,.55),0 4px 0 #765a1f!important;
}
body.avatar-page .avatar-badge{border:2px solid #3b2f12!important;border-radius:999px 760px 999px 680px!important;background:linear-gradient(135deg,#f5d979,#c99b2c)!important;color:#1c170f!important}

/* Avatar Home — the default room becomes a moonlit crooked drawing room. User
   selected wall/scene classes remain selectable and all furniture layers stay
   above this single static paint. */
body.avatar-room-page:not(.gg-salon-room-v206){background:linear-gradient(145deg,#17151e,#4b4050 54%,#9e8b9a)!important}
body.avatar-room-page:not(.gg-salon-room-v206) :is(.avatar-preview-card.rich-avatar-card,.room-studio-card,#ggRoomEditBelowV658,.room-studio-drawer){
  border:2px solid var(--gg-v163-ink)!important;
  border-radius:25px 16px 29px 18px!important;
  background:linear-gradient(146deg,rgba(248,246,241,.98),rgba(204,211,219,.97) 58%,rgba(164,174,185,.98))!important;
  color:var(--gg-v163-ink)!important;
  box-shadow:inset 0 2px rgba(255,255,255,.9),0 16px 38px rgba(5,4,8,.38)!important;
}
body.avatar-room-page:not(.gg-salon-room-v206) #avatarRoom.room-wall-plain{
  background-color:#ddd8d5!important;
  background-image:linear-gradient(rgba(18,17,27,.03),rgba(32,26,43,.13)),url("gg-home-backdrop-v163.webp")!important;
  background-position:center top!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  border:3px solid var(--gg-v163-ink)!important;
  border-radius:30px 17px 34px 20px!important;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.56),0 18px 42px rgba(4,3,7,.38)!important;
}
body.avatar-room-page:not(.gg-salon-room-v206) #avatarRoom.room-wall-plain #roomWallBackdropV068{background:transparent!important}
body.avatar-room-page:not(.gg-salon-room-v206) :is(.room-category-icon,.room-option-chip,#ggRoomModeRailV668 button){
  min-height:44px;
  border:2px solid #33303a!important;
  border-radius:17px 10px 20px 12px!important;
  background:linear-gradient(145deg,#fbfaf5,#c7cdd4)!important;
  color:#17151d!important;
  box-shadow:inset 0 1px #fff,0 4px 0 #737b84!important;
}
body.avatar-room-page:not(.gg-salon-room-v206) :is(.room-category-icon,.room-option-chip):nth-child(4n+1){border-color:var(--gg-v163-indigo)!important}
body.avatar-room-page:not(.gg-salon-room-v206) :is(.room-category-icon,.room-option-chip):nth-child(4n+2){border-color:var(--gg-v163-magenta)!important}
body.avatar-room-page:not(.gg-salon-room-v206) :is(.room-category-icon.active,.room-option-chip.selected){background:linear-gradient(145deg,#fff0b4,var(--gg-v163-gold))!important;border-color:#5f4610!important;color:#17130d!important}

/* Gremlin Island — one viewport-sized translucent paint, never a 3980x2700
   DOM/SVG layer. The authoritative terrain, collision, camera, and actors are
   untouched. */
body.ggi-dream-gothic-v163 #ggIslandViewportV682{isolation:isolate;background-color:#169eb3!important}
body.ggi-dream-gothic-v163 #ggIslandViewportV682::after{
  content:"";
  position:absolute;
  z-index:2147480;
  inset:0;
  pointer-events:none;
  opacity:.105;
  background-image:url("gg-island-surface-v163.webp");
  background-repeat:repeat;
  background-position:center;
  background-size:min(74vw,680px) auto;
}
body.ggi-dream-gothic-v163 .gg-island-world-v682{background-color:#159aae}
body.ggi-dream-gothic-v163 :is(.gg-island-lobby-card-v682,.gg-island-home-card-v683,.ggi-house-modal-v766>section,.ggi-island-menu-modal-v772>section,.ggi-lighthouse-repair-modal-v733>section,.ggi-sand-dig-modal-v716>section,.ggi-cove-cave-card-v847,.ggi-appearance-modal-v136>section,.ggi-weather-control-v884>section,.ggi-digital-shop-v885>section,.ggi-pet-options-v907>section,.ggi-chat-wheel-v708>section,.ggi-dev-panel-v708,.gg-island-shop-card-v687){
  border:3px solid #30323a!important;
  border-radius:27px 17px 31px 19px!important;
  background:linear-gradient(145deg,#f7f4ed,#d0d6dc 56%,#a8b1ba)!important;
  color:#17191e!important;
  box-shadow:inset 0 2px rgba(255,255,255,.92),inset 0 -5px rgba(24,27,34,.12),0 16px 40px rgba(4,6,9,.42)!important;
}
body.ggi-dream-gothic-v163 :is(.gg-island-home-card-v683,.ggi-house-modal-v766>section,.ggi-island-menu-modal-v772>section,.ggi-lighthouse-repair-modal-v733>section,.ggi-sand-dig-modal-v716>section,.ggi-cove-cave-card-v847,.ggi-appearance-modal-v136>section,.ggi-weather-control-v884>section,.ggi-digital-shop-v885>section,.ggi-pet-options-v907>section,.ggi-chat-wheel-v708>section,.ggi-dev-panel-v708,.gg-island-shop-card-v687,.gg-island-lobby-card-v682) :is(h1,h2,h3,p,small,span,b,strong,label){color:#17191e;text-shadow:none}
body.ggi-dream-gothic-v163 :is(.gg-island-home-card-v683,.ggi-house-modal-v766>section,.ggi-island-menu-modal-v772>section,.ggi-lighthouse-repair-modal-v733>section,.ggi-sand-dig-modal-v716>section,.ggi-cove-cave-card-v847,.ggi-appearance-modal-v136>section,.ggi-weather-control-v884>section,.ggi-digital-shop-v885>section,.ggi-pet-options-v907>section,.ggi-chat-wheel-v708>section,.ggi-dev-panel-v708,.gg-island-shop-card-v687,.gg-island-lobby-card-v682) button{
  min-height:44px;
  border:2px solid #4d535b!important;
  border-radius:15px 9px 17px 11px!important;
  background:linear-gradient(#fbfaf5,#c3cad0)!important;
  color:#15171b!important;
  box-shadow:inset 0 1px #fff,0 4px 0 #747d84!important;
}
body.ggi-dream-gothic-v163 .ggi-boss-confirm-v158 .ggi-boss-preview-v158{border:2px solid #535b65!important;border-radius:19px 12px 22px 14px!important;background:linear-gradient(145deg,#f5f1e7,#bcc5cc)!important;color:#17191e!important;box-shadow:inset 0 2px #fff,0 5px 11px rgba(8,11,13,.2)!important}
body.ggi-dream-gothic-v163 .ggi-boss-confirm-v158 .ggi-boss-preview-v158 :is(b,span){color:#17191e!important;text-shadow:none!important}

/* Saved avatar parts are never replaced. This is a one-pass ink/value finish
   and is removed entirely in automatic phone lite mode. */
body.ggi-dream-gothic-v163 .ggi-dream-gremlin-v163:not(.ggi-salon-piloting-v138) .gg-island-avatar-art-v682>svg{filter:contrast(1.08) saturate(.82) drop-shadow(1px 2px 0 rgba(18,14,24,.72))}
body.ggi-dream-gothic-v163 .ggi-dream-gremlin-v163:not(.ggi-salon-piloting-v138) .gg-island-avatar-direction-v685{transform-origin:50% 92%}
body.ggi-dream-gothic-v163.ggi-dream-night-v163 #ggIslandViewportV682::after{opacity:.14}
body.ggi-dream-gothic-v163.ggi-dream-blood-v163 #ggIslandViewportV682::after{opacity:.17;background-color:rgba(105,0,28,.15)}

/* v173 — asymmetric inked beach finds, shared by full and lite rendering. */
body.ggi-dream-gothic-v163 .ggi-starfish-v687{width:64px;height:64px;filter:drop-shadow(2px 2px 0 rgba(25,20,24,.72)) drop-shadow(0 7px 3px rgba(38,27,22,.34))}
body.ggi-dream-gothic-v163 .ggi-starfish-v687 .star{inset:5px;clip-path:polygon(48% 0,60% 31%,91% 14%,70% 47%,100% 61%,65% 63%,58% 100%,44% 70%,12% 96%,31% 60%,0 43%,37% 39%);border-radius:42% 28% 47% 31%;background:linear-gradient(137deg,#d89a75 0 34%,#a34e52 71%,#65363f);box-shadow:inset 7px 5px 0 rgba(255,235,196,.19),inset -8px -7px 0 rgba(41,26,35,.24)}
body.ggi-dream-gothic-v163 .ggi-starfish-v687 .star::before{content:"";position:absolute;inset:10px 12px 12px 9px;clip-path:inherit;background:radial-gradient(circle at 31% 23%,#fff0c7 0 2px,transparent 3px),radial-gradient(circle at 68% 34%,#4a2c38 0 2px,transparent 3px),radial-gradient(circle at 44% 72%,#fff0c7 0 1.5px,transparent 2.5px),repeating-linear-gradient(112deg,transparent 0 7px,rgba(49,29,39,.25) 8px 9px);opacity:.82}
body.ggi-dream-gothic-v163 .ggi-starfish-v687 .star::after{content:"";position:absolute;left:21px;top:20px;width:12px;height:9px;border:2px solid #392631;border-left-color:transparent;border-radius:50%;rotate:-16deg;color:transparent;font-size:0;letter-spacing:0}
body.ggi-dream-gothic-v163 .ggi-starfish-v687.star-color-1 .star{background:linear-gradient(140deg,#d9b060,#b55c39 70%,#63383b)}body.ggi-dream-gothic-v163 .ggi-starfish-v687.star-color-2 .star{background:linear-gradient(140deg,#91b67e,#477c62 70%,#2f4143)}body.ggi-dream-gothic-v163 .ggi-starfish-v687.star-color-3 .star{background:linear-gradient(140deg,#9a8aba,#68527f 70%,#382f4d)}body.ggi-dream-gothic-v163 .ggi-starfish-v687.star-color-4 .star{background:linear-gradient(140deg,#75abb1,#426e84 70%,#273e54)}

/* Bloomkeeper keeps the solid root collider and 30% behind occlusion from
   v158. The lightweight skull and petals add no DOM nodes or raster layers. */
body.ggi-dream-gothic-v163 .ggi-bamboo-boss-art-v158::before{
  content:"";position:absolute;z-index:5;left:50%;top:9%;width:52px;height:58px;translate:-50% 0;
  border:3px solid #19161a;border-radius:48% 52% 42% 44%;
  background:radial-gradient(ellipse at 33% 41%,#17131b 0 12%,transparent 13%),radial-gradient(ellipse at 68% 40%,#17131b 0 12%,transparent 13%),radial-gradient(ellipse at 50% 62%,#49352d 0 7%,transparent 8%),linear-gradient(145deg,#f5ecd2,#b9aa89 67%,#746756);
  box-shadow:inset 4px 2px rgba(255,255,255,.32),0 3px 0 #19161a,0 0 10px rgba(224,187,79,.36);
  clip-path:polygon(17% 5%,83% 4%,97% 34%,88% 72%,67% 83%,62% 100%,38% 100%,32% 83%,12% 72%,3% 34%);
}
body.ggi-dream-gothic-v163 .ggi-bamboo-boss-art-v158::after{
  content:"";position:absolute;z-index:6;left:50%;top:20%;width:34px;height:18px;translate:-50% 0;
  border:3px solid #19161a;border-top-width:2px;border-radius:0 0 12px 12px;
  background:repeating-linear-gradient(90deg,#ded2b5 0 5px,#28221f 5px 7px);box-shadow:0 2px 0 rgba(8,8,9,.38);
  transform-origin:50% 0;animation:ggV163SkullJaw 4.8s steps(2,end) infinite;
}
body.ggi-dream-gothic-v163 .ggi-bamboo-world-flower-v158::before{content:"";position:absolute;inset:-5px;border:2px dashed hsl(var(--hue) 95% 76%/.78);border-radius:47% 53% 42% 58%;animation:ggV163PetalTurn 4.2s steps(8,end) calc(var(--i)*-.34s) infinite}
body.ggi-dream-gothic-v163 .ggi-bamboo-boss-world-v158[data-grove-state="dormant"] .ggi-bamboo-boss-art-v158>img{opacity:.64}
body.ggi-dream-gothic-v163 .ggi-bamboo-boss-world-v158[data-grove-state="dormant"] .ggi-bamboo-world-flower-v158{opacity:.22;animation-duration:8s}
body.ggi-dream-gothic-v163 .ggi-bamboo-boss-world-v158[data-player-behind="1"] .ggi-bamboo-boss-art-v158{opacity:.3!important}
body.ggi-dream-gothic-v163 .ggi-boss-flower-v158::before{content:"";position:absolute;inset:-14px;border:3px dotted var(--flower);border-radius:42% 58% 48% 52%;opacity:.24;scale:.78;transition:opacity .18s ease,scale .18s ease;animation:ggV163PetalTurn 1.35s steps(6,end) infinite}
body.ggi-dream-gothic-v163 .ggi-boss-flower-v158[data-target="1"]::before{opacity:.98;scale:1.17;box-shadow:0 0 0 5px rgba(255,255,255,.18),0 0 24px var(--flower)}

@keyframes ggV163SkullJaw{0%,82%,100%{transform:translateY(0)}87%,94%{transform:translateY(4px)}}
@keyframes ggV163PetalTurn{to{transform:rotate(360deg)}}

/* Permanent regression guard: the stone bridge never receives a painted or
   CSS drop shadow from this shared theme. */
body.ggi-dream-gothic-v163 .ggi-stone-bridge-v839,
body.ggi-dream-gothic-v163 .ggi-stone-bridge-v839::before,
body.ggi-dream-gothic-v163 .ggi-stone-bridge-v839::after,
body.ggi-dream-gothic-v163 .ggi-stone-bridge-v839 img{filter:none!important;box-shadow:none!important;text-shadow:none!important}

@media(max-width:760px),(pointer:coarse){
  body.avatar-page{background-image:linear-gradient(rgba(20,17,25,.12),rgba(20,17,25,.31)),url("gg-studio-backdrop-v163.webp")!important}
  body.avatar-page #avatarStage{background-image:linear-gradient(rgba(250,247,241,.04),rgba(38,28,52,.08)),url("gg-studio-backdrop-v163.webp")!important}
  body.avatar-page :is(.avatar-preview-card.rich-avatar-card,.avatar-controls-card,.avatar-utility-panel,.avatar-mood-card-v068,#ggV514Right,.option-drawer),
  body.avatar-room-page:not(.gg-salon-room-v206) :is(.avatar-preview-card.rich-avatar-card,.room-studio-card,#ggRoomEditBelowV658,.room-studio-drawer){box-shadow:inset 0 1px rgba(255,255,255,.8),0 8px 18px rgba(7,5,10,.23)!important}
  body.ggi-dream-gothic-v163 #ggIslandViewportV682::after{opacity:.055;background-size:640px auto}
  body.ggi-dream-gothic-v163.ggi-dream-night-v163 #ggIslandViewportV682::after{opacity:.075}
  body.ggi-dream-gothic-v163.ggi-dream-blood-v163 #ggIslandViewportV682::after{opacity:.09}
  body.ggi-dream-gothic-v163 .ggi-dream-gremlin-v163 .gg-island-avatar-art-v682>svg{filter:none!important}
  body.ggi-dream-gothic-v163 .ggi-bamboo-boss-art-v158::after,
  body.ggi-dream-gothic-v163 .ggi-bamboo-world-flower-v158::before,
  body.ggi-dream-gothic-v163 .ggi-boss-flower-v158::before{animation:none!important}
  body.ggi-dream-gothic-v163 :is(.gg-island-lobby-card-v682,.gg-island-home-card-v683,.ggi-house-modal-v766>section,.ggi-island-menu-modal-v772>section,.ggi-lighthouse-repair-modal-v733>section,.ggi-sand-dig-modal-v716>section,.ggi-cove-cave-card-v847,.ggi-appearance-modal-v136>section,.ggi-weather-control-v884>section,.ggi-digital-shop-v885>section,.ggi-pet-options-v907>section,.ggi-chat-wheel-v708>section,.ggi-dev-panel-v708,.gg-island-shop-card-v687){border-width:2px!important;box-shadow:inset 0 1px rgba(255,255,255,.85),0 8px 20px rgba(4,6,9,.26)!important}
}
@media(prefers-reduced-motion:reduce){
  body.ggi-dream-gothic-v163 .ggi-bamboo-boss-art-v158::after,
  body.ggi-dream-gothic-v163 .ggi-bamboo-world-flower-v158::before,
  body.ggi-dream-gothic-v163 .ggi-boss-flower-v158::before{animation:none!important;transition:none!important}
}
