/* UPDATE 25: immersive game shell; deliberately overrides legacy website styling */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700;800&family=Inter:wght@400;500;600;700;800&display=swap');
:root{--ink:#070e16;--paper:#101c29;--gold:#e9bd6c;--purple:#a57cdb;--pink:#c57880;--ui-border:#6f5634;--ui-soft:#a9bbce;--ui-bg:#08121c}
html{scroll-behavior:smooth}body{font-family:Inter,system-ui,sans-serif;font-size:14px;font-weight:500;color:#e9e2d2;background:radial-gradient(ellipse at 50% -20%,#25384b 0%,#101a27 34%,#060d15 82%);background-attachment:fixed;line-height:1.5}
body:before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.24;background:repeating-linear-gradient(90deg,transparent 0 98px,#c29b5220 99px 100px),radial-gradient(ellipse at 50% 110%,#92622828,transparent 65%)}
.top{position:relative;top:auto;z-index:25;min-height:75px;padding:12px clamp(14px,2.4vw,42px);background:linear-gradient(180deg,#101c29,#070d15);border:0;border-bottom:2px solid #a1783e;box-shadow:0 5px 26px #000b;gap:14px}
.top:after,.nav:after{content:'';position:absolute;left:12px;right:12px;bottom:3px;border-bottom:1px solid #d6ae5b52;pointer-events:none}
.logo{font-family:Cinzel,Georgia,serif;font-size:clamp(17px,1.7vw,26px);font-weight:800;letter-spacing:1px;color:#f3ce82;text-shadow:0 2px 5px #000,0 0 22px #be853d55}
.stats{gap:8px;align-items:center}.pill{padding:8px 12px;color:#f5e7c6;background:linear-gradient(180deg,#25364a,#142132);border:1px solid #65563d;border-radius:4px;box-shadow:inset 0 1px #ffffff16;font-size:12px;font-weight:800;white-space:nowrap}
.shell{max-width:1720px;margin:auto;padding:16px clamp(12px,2.2vw,38px) 42px}
.hero-banner{position:relative;min-height:145px;padding:25px 32px;background:linear-gradient(90deg,#08111de8 0%,#132032a8 65%,#13203266 100%),url('/assets/gmc24/guild-hall.jpg') center 47%/cover;background-color:#172738;border:2px solid #795c37;border-radius:6px;box-shadow:inset 0 0 0 2px #050c16,inset 0 0 36px #0009,0 10px 30px #0007;overflow:hidden}
.hero-banner:after{content:'✦';font:80px Cinzel;right:25px;top:12px;color:#f4d49d;opacity:.18;transform:none}
.hero-banner h1{font-family:Cinzel,Georgia,serif;font-size:clamp(27px,3.3vw,45px);color:#f5d595;text-shadow:0 3px 10px #000;margin:4px 0 7px}.hero-banner .subtitle{color:#d9e1e8;text-shadow:0 2px 6px #000}
h1,h2,h3{font-family:Cinzel,Georgia,serif;font-weight:700;letter-spacing:.1px;color:#f0c980;text-shadow:0 2px 4px #0007}h2{font-size:clamp(21px,2vw,28px)}h3{font-size:19px}
.nav{display:flex;position:relative;align-items:stretch;flex-wrap:nowrap;overflow-x:auto;gap:2px;margin:14px 0 18px;padding:6px 9px 10px;background:linear-gradient(#182536,#09121d);border:1px solid #806039;border-radius:5px;box-shadow:inset 0 1px #c99a4b33,0 8px 20px #0008;scrollbar-width:thin;scrollbar-color:#7f623b #0b1520}
.nav button{flex:0 0 auto;min-height:49px;padding:9px 12px;white-space:nowrap;font-size:12px;font-weight:800;letter-spacing:.1px;color:#c9d2db;border:1px solid transparent;border-radius:3px;background:transparent;box-shadow:none;text-shadow:0 1px 2px #000}.nav button:hover{background:#293b4e;color:#fff2d4;border-color:#8c6c3e;transform:none;box-shadow:inset 0 1px #fff2}.nav button.active{background:linear-gradient(180deg,#e8bd6e,#a36c2b);border:1px solid #ffdc91;color:#16130e;box-shadow:inset 0 1px #fff7,0 0 15px #bd812c44;text-shadow:none}
#content{min-height:55vh}#content>.panel,#content>.gmc-dashboard,#content>.gmc-guide{animation:ui-appear .2s ease-out}@keyframes ui-appear{from{opacity:.75;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.panel,.gmc-modal{position:relative;background:linear-gradient(135deg,#16283a 0%,#101d2b 48%,#0a1521 100%);color:#e8e3d8;border:1px solid #80613a;border-radius:5px;box-shadow:inset 0 0 0 2px #09111b,inset 0 1px #f8d38a24,0 8px 25px #0008;padding:20px;margin-bottom:17px}
.panel:before{content:'';position:absolute;inset:5px;pointer-events:none;border:1px solid #a58b5530;border-radius:2px}
.panel h2{padding-bottom:9px;border-bottom:1px solid #ae864455;margin-bottom:14px}.panel h3{color:#e6c78c}
.grid{gap:12px;grid-template-columns:repeat(auto-fill,minmax(215px,1fr))}
.hero-card,.dungeon-card,.rank-card,.combat-window,.gmc-metric{position:relative;color:#e7e5de;background:linear-gradient(160deg,#1d3043,#0d1a29 88%);border:1px solid #6e5637;border-radius:5px;box-shadow:inset 0 1px #ffffff13,0 5px 14px #0007;padding:13px;transition:border-color .18s,transform .18s,box-shadow .18s}
.hero-card:hover,.dungeon-card:hover,.rank-card:hover{transform:translateY(-2px);border-color:#d9ad62;box-shadow:inset 0 1px #ffffff20,0 9px 22px #0009}
.hero-card .name{font-family:Cinzel,serif;font-size:17px;color:#f1d69b}.hero-card p,.dungeon-card p,.rank-card p{color:#d7dce4}
.small,.muted,.gmc-portrait-role{color:#aabacd!important}.tag{border:1px solid #6c885e;background:#253d37;color:#b6ebc8;border-radius:3px;font-size:11px}.tag.Rare{background:#183651;border-color:#347bb5;color:#9ad1ff}.tag.Epic{background:#40254d;border-color:#935ac3;color:#e1adff}
.portrait{background:#0d1b2b;border:1px solid #957447;border-radius:4px;box-shadow:inset 0 0 18px #0009}.gmc24-portrait img{object-position:50% 24%;filter:saturate(1.05) contrast(1.05)}
button{color:#21180b;background:linear-gradient(180deg,#f0d28f 0%,#d2a152 48%,#a9742e 100%);border:1px solid #d8ac63;border-bottom-color:#70461b;border-radius:4px;box-shadow:inset 0 1px #fff8,0 2px 6px #0008;padding:9px 14px;font-weight:800;letter-spacing:.1px;text-shadow:0 1px #ffe7a244;transition:filter .12s,transform .12s}
button:hover{transform:translateY(-1px);filter:brightness(1.13);box-shadow:inset 0 1px #fff8,0 4px 10px #0008}button:disabled{opacity:.66;filter:grayscale(.65);cursor:not-allowed;color:#d3d1c9;background:linear-gradient(#56534c,#343b40);border-color:#5b5b5b;text-shadow:0 1px #000;box-shadow:inset 0 1px #fff1}
.secondary{background:linear-gradient(#476a88,#213b55);border-color:#6689a5;color:#f4f7fc;text-shadow:0 1px #000}.danger{background:linear-gradient(#c86f66,#7c3438);border-color:#b76a68;color:#fff0ed;text-shadow:0 1px #000}
input,textarea,select,.auth-wrap input,.hero-card select,.chat-form input{background:#081522!important;color:#e8e6df!important;border:1px solid #786344!important;border-radius:4px!important;box-shadow:inset 0 2px 6px #0007;padding:9px 11px;max-width:100%}input::placeholder,textarea::placeholder{color:#8799a9}input:focus,select:focus,textarea:focus{outline:1px solid #d2a65c;outline-offset:1px}
.progress{background:#070f17;border:1px solid #685437;height:13px;border-radius:3px}.progress span{background:linear-gradient(90deg,#1d85b6,#6fcfff);box-shadow:0 0 10px #44bcf888}.selected{background:#293b4a!important;outline:2px solid #e2b762!important}
.dungeon-art{border:1px solid #79603f;background:#0a1725;border-radius:4px;box-shadow:inset 0 0 25px #0008}.battle-stage{border:1px solid #9c783f;border-radius:5px;background:linear-gradient(#09152380,#091523aa),url('/assets/gmc24/dungeon.jpg') center/cover,#162638;box-shadow:inset 0 0 40px #000c}.combat-box{background:#07121c;border:1px solid #785a35;border-radius:4px}.combat-window{background:linear-gradient(#1a2b3b,#0c1725);border:1px solid #705537}.combat-line{border-bottom-color:#314153}.chat-box{background:#07121d;border:1px solid #745d3d;border-radius:4px}.chat-line{border-bottom-color:#293d4b}.chat-line strong{color:#f1c77a}.chat-form{align-items:stretch}
.gmc-dashboard{gap:11px}.gmc-metric{min-height:94px;padding:14px}.gmc-metric .metric-number{font-family:Cinzel,serif;color:#f1c77e}.gmc-guide{background:linear-gradient(120deg,#182b3e,#101a29);border:1px solid #7c633e;border-radius:5px;color:#e9e4d7}.gmc-guide h2{color:#f2ce85}.gmc-guide p{color:#bfcdd8}.gmc-modal{background:linear-gradient(#1d2c3e,#0b1724);color:#f3e8d3}.footer{color:#8295a7;font-family:Cinzel,serif;font-size:11px;letter-spacing:2px}
/* Compact tavern recruitment cards: imagery + dense readable copy */
body:has(.gmc-tavern-layout) .gmc-tavern-layout{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.gmc-tavern-layout>.hero-card{display:flex;flex-direction:column;min-width:0;padding:11px;gap:8px}
.gmc-tavern-layout .portrait{height:150px!important;min-height:150px!important;margin:0!important}
.gmc-tavern-layout .portrait img{object-fit:cover;object-position:center 28%}
.gmc-tavern-layout .name{margin:0;font-size:16px}.gmc-tavern-layout p{margin:3px 0!important;line-height:1.45}.gmc-tavern-layout button{margin-top:auto;width:100%}
.gmc-tavern-layout>.hero-card:nth-child(2){border-color:#698fae}.gmc-tavern-layout>.hero-card:nth-child(3){border-color:#9872c0;box-shadow:inset 0 0 18px #68429b20}.gmc-tavern-layout>.hero-card:nth-child(4){border-color:#c89a45;box-shadow:inset 0 0 22px #d7a44722}
/* scrollbars, focus, mobile */
*{scrollbar-width:thin;scrollbar-color:#725b39 #0c1824}button:focus-visible,a:focus-visible{outline:2px solid #f6d18d;outline-offset:2px}
@media(min-width:1400px){.shell{padding-left:30px;padding-right:30px}.grid{grid-template-columns:repeat(auto-fill,minmax(235px,1fr))}}
@media(max-width:1000px){.top{align-items:flex-start}.gmc-tavern-layout{grid-template-columns:repeat(2,minmax(0,1fr))!important}.hero-banner{min-height:120px}}
@media(max-width:650px){.shell{padding:10px 10px 25px}.top{padding:12px}.stats{gap:5px}.pill{font-size:10px;padding:6px}.nav{margin:9px 0 13px}.nav button{font-size:11px;min-height:42px;padding:8px}.panel{padding:13px}.hero-banner{padding:16px;min-height:100px}.gmc-tavern-layout{grid-template-columns:1fr 1fr!important;gap:8px!important}.gmc-tavern-layout .portrait{height:105px!important;min-height:105px!important}.gmc-tavern-layout .name{font-size:13px}.gmc-tavern-layout p{font-size:12px}.grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr))}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
