.social-entry { background: #edc368 !important; color: #352719 !important; position: relative; }
.social-entry.has-unread::after { content: ''; position: absolute; right: 4px; top: 4px; width: 10px; height: 10px; border-radius: 50%; background: #b52626; }
body[data-ui-version="3"] dialog#social-panel.social-panel { box-sizing: border-box; width: min(720px, calc(100vw - 24px)); max-width: calc(100vw - 24px); height: min(620px, calc(100dvh - 24px)); max-height: calc(100dvh - 24px); margin: auto; padding: 16px; overflow: auto; background: #fff8e9 !important; color: #352719 !important; border: 2px solid #c59b54; border-radius: 16px; }
body[data-ui-version="3"] #social-panel.social-panel::backdrop { background: #35271966; }
body[data-ui-version="3"] #social-panel.social-panel header, #social-panel form, .social-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 8px 0; }
body[data-ui-version="3"] #social-panel.social-panel header { justify-content: space-between; }
body[data-ui-version="3"] #social-panel.social-panel h2, #social-panel h3, #social-panel p, #social-panel span { color: #352719 !important; margin: 6px 0; }
body[data-ui-version="3"] #social-panel.social-panel button:not(.guild-territory-npc):not(.guild-map-entry):not(.guild-territory-door-integrated) { background: #edc368 !important; color: #352719 !important; border: 1px solid #9d7734; border-radius: 8px; min-height: 36px; padding: 6px 12px; cursor: pointer; }
body[data-ui-version="3"] #social-panel.social-panel input { background: #fff !important; color: #352719 !important; border: 1px solid #a58e6c; min-width: 0; width: 230px; max-width: 100%; padding: 8px; box-sizing: border-box; }
body[data-ui-version="3"] #social-panel.social-panel input::placeholder { color: #705c46; }
.social-row span { flex: 1 1 120px; overflow-wrap: anywhere; }
.social-messages { height: clamp(80px, 30dvh, 260px); overflow: auto; background: #fff; padding: 8px; border: 1px solid #d5c5a7; }
.social-messages > div { overflow-wrap: anywhere; padding: 6px; border-bottom: 1px solid #eee2cd; }
.social-messages button { margin-left: 8px; }
.social-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
body[data-ui-version="3"] #social-panel.social-panel .social-tabs [aria-selected="false"] { background: #fff1d5 !important; }
body[data-ui-version="3"] #social-panel.social-panel .social-tabs [aria-selected="true"] { background: #edc368 !important; font-weight: bold; }
body[data-ui-version="3"] #social-panel.social-panel select { background: #fff8e9; color: #352719; width: auto; max-width: 100%; padding: 6px; margin: 4px; border: 1px solid #a58e6c; }
.social-messages > div > span { display: block; }
body[data-ui-version="3"] #social-panel.social-panel [hidden] { display: none !important; }
body[data-ui-version="3"] #social-panel.chatting:not(.needs-profile) .social-profile,
body[data-ui-version="3"] #social-panel p:empty { display: none !important; }
@media (max-height: 440px) {
  body[data-ui-version="3"] dialog#social-panel.social-panel { padding: 10px 16px; }
  body[data-ui-version="3"] #social-panel.social-panel header { margin: 2px 0; }
  #social-panel .social-messages { height: 120px; }
}

body[data-ui-version="3"] #app#app .settings-controls .social-entry { background: #edc368 !important; color: #352719 !important; }

/* v681 guild progression uses the existing cream / ink / gold palette. */
#social-panel .guild-progression { background: #fff1d5; border: 1px solid #c59b54; border-radius: 10px; padding: 10px; overflow-wrap: anywhere; }
#social-panel .guild-progression progress { display: block; width: 100%; height: 14px; appearance: none; border: 0; border-radius: 7px; overflow: hidden; background: #e6d7bb; color: #b78327; }
#social-panel .guild-progression progress::-webkit-progress-bar { background: #e6d7bb; }
#social-panel .guild-progression progress::-webkit-progress-value { background: #b78327; }
#social-panel .guild-progression progress::-moz-progress-bar { background: #b78327; }
#social-panel .guild-progression button { margin: 4px 6px 0 0; max-width: 100%; white-space: normal; }
#social-panel button:disabled { opacity: .6; cursor: default; }

/* Home chat stays inside the map; it never enters the modal top layer. */
html body[data-ui-version="3"] #app dialog#social-panel.social-map-dock {
  position:absolute; inset:auto auto 90px 76px; margin:0; z-index:24;
  width:min(440px, calc(100% - 152px)); max-width:none;
  height:min(350px, calc(100dvh - 210px)); max-height:none;
  padding:10px; border:1px solid #8cb9d5; border-radius:16px;
  background:linear-gradient(135deg,#f4fbfff5,#e1f1fff5)!important;
  box-shadow:0 5px 18px #173e6533; overflow:auto; pointer-events:auto;
  font-size:13px; text-align:left;
}
html body[data-ui-version="3"] #app #social-panel.social-map-dock header {margin:0 0 4px;}
html body[data-ui-version="3"] #app #social-panel.social-map-dock h2 {font-size:16px;}
html body[data-ui-version="3"] #app #social-panel.social-map-dock button {min-height:32px;padding:4px 9px;font-size:13px;}
html body[data-ui-version="3"] #app #social-panel.social-map-dock .social-tabs {gap:4px;flex-wrap:nowrap;}
html body[data-ui-version="3"] #app #social-panel.social-map-dock .social-tabs button {flex:1;}
html body[data-ui-version="3"] #app #social-panel.social-map-dock .social-messages {height:110px;overscroll-behavior:contain;border-radius:8px;}
html body[data-ui-version="3"] #app #social-panel.social-map-dock form {flex-wrap:nowrap;}
html body[data-ui-version="3"] #app #social-panel.social-map-dock input {flex:1;width:0;}
html body.home-v4 #app .v4-chat-entry[aria-expanded="true"], body.v4-photo #social-panel.social-map-dock {display:none!important;}
@media(max-width:600px){
 html body[data-ui-version="3"] #app dialog#social-panel.social-map-dock {left:12px;bottom:90px;width:calc(100% - 24px);height:min(320px,42dvh);}
}
@media(max-height:500px){
 html body[data-ui-version="3"] #app dialog#social-panel.social-map-dock {left:auto;right:62px;bottom:76px;width:min(420px,calc(100% - 138px));height:calc(100dvh - 155px);}
 html body[data-ui-version="3"] #app #social-panel.social-map-dock .social-messages {height:65px;}
}

#social-panel input {user-select:text!important;-webkit-user-select:text!important;touch-action:auto;}
html body[data-ui-version="3"] #app #social-panel.social-map-dock.needs-profile .social-profile{display:flex!important;flex-wrap:wrap}
html body[data-ui-version="3"] #app #social-panel.social-map-dock.needs-profile .social-profile input{flex:1 1 100%;width:100%}

/* Reference chat design: real conversations, sky panels, gold active tabs. */
html body[data-ui-version="3"] #social-panel#social-panel.social-designed{display:flex;flex-direction:column;gap:7px;background:#e7f5ff!important;border:2px solid #89c9ee;border-radius:22px;box-shadow:0 8px 32px #123d6555;color:#133453!important;overflow:hidden}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed:not([open]){display:none}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed>header{flex:none;display:flex;justify-content:flex-start;gap:10px;margin:0;padding:4px}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed>header h2{flex:1;margin:0!important;color:#102b50!important;font-size:20px;font-weight:900}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed>header h2::before{content:'💬';display:inline-block;margin-right:8px}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed button:not(.guild-territory-npc):not(.guild-map-entry):not(.guild-territory-door-integrated){background:linear-gradient(#fff,#e6f3fd)!important;color:#173857!important;border:1px solid #a7cce4;border-radius:12px;font-weight:700;min-height:36px;padding:7px 12px}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed>header>button:last-child,html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-tabs [aria-selected="true"],html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-composer>button{background:linear-gradient(#fff879,#ffd53d)!important;border-color:#e6bc30;color:#182342!important;box-shadow:inset 0 1px #fff,0 2px 4px #b78d1633}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-tabs{flex:none;display:flex;gap:4px;flex-wrap:nowrap}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-tabs button{flex:1;min-width:0;padding:7px 4px}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-tabs button>span{margin-right:7px}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed>[role="status"]{flex:none;margin:0!important;font-size:13px}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-layout{display:flex;flex:1;min-height:0;gap:10px;overflow:hidden}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-contacts{flex:1;min-width:0;overflow:auto;background:#f3fbff;border:1px solid #b9d9ed;border-radius:14px;padding:8px}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-conversation{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;gap:6px;overflow:auto}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-conversation:empty{display:none}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-conversation>p{flex:none;margin:0!important;font-size:12px;color:#4e6e89!important}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-messages{flex:1;min-height:45px;height:auto!important;border:1px solid #b9d9ed;border-radius:14px;background:#edf8ff;overflow:auto;padding:10px;overscroll-behavior:contain}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-message{display:flex;align-items:flex-start;gap:9px;margin:0 0 17px;padding:0;border:0;background:none;text-align:left}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-message.is-mine{flex-direction:row-reverse}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-avatar{display:grid;place-items:center;flex:0 0 36px;height:36px;margin:0!important;border-radius:50%;background:linear-gradient(#b6edff,#78bfe9);border:2px solid #fff;box-shadow:0 0 0 1px #8fc4e6;color:#163c5f!important;font-weight:900;font-size:18px}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-message-body{max-width:80%;min-width:0}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-message-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:12px;color:#294c70}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-message-meta small{color:#aa6c12}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-message-meta time{font-size:11px;color:#6b8198}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-bubble{background:#fff!important;color:#18354c!important;border:1px solid #d4e8f6;border-radius:4px 16px 16px;margin:5px 0 0!important;padding:10px 13px;overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.5}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .is-mine .social-bubble{background:#c6edff!important;border-radius:16px 4px 16px 16px}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-message-actions{margin:0 0 0 auto;max-width:150px}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-message-actions summary{cursor:pointer;list-style:none;color:#718ba1;padding:3px;font-size:19px}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-message-actions button,html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-message-actions select{font-size:12px;margin:3px 0;width:100%}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-compose-tools{display:flex;align-items:center;gap:8px;flex:none;border-top:1px solid #c7dfef;padding-top:4px}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-compose-tools>span{font-size:13px;font-weight:700;margin:0!important}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-compose-tools button{min-height:30px;padding:3px 10px;font-size:20px}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-character-count{margin-left:auto;color:#617d95}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-composer{display:flex;flex:none;flex-wrap:nowrap;gap:8px;margin:0!important;padding:6px;background:#fff;border:1px solid #bddceb;border-radius:15px}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-composer input{flex:1;min-width:0;width:0;min-height:42px;background:#fafdff!important;border:1px solid #d2e6f3;border-radius:10px;padding:10px;font-size:16px}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-composer>button{flex:none;min-width:66px;margin:0}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-emoji-picker{display:flex;flex-wrap:wrap;gap:5px;flex:none;padding:5px;background:#fff9d5;border-radius:10px}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-emoji-picker button{font-size:23px;padding:4px 8px;min-height:34px}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-row{background:#fff;border:1px solid #d4e8f6;border-radius:12px;padding:10px;margin:7px 0}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-row>span{font-weight:800;color:#193857!important}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-profile{flex:none;margin:0;gap:5px}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed.social-expanded{position:fixed!important;inset:14px!important;width:min(1180px,calc(100vw - 28px))!important;max-width:none!important;height:calc(100dvh - 28px)!important;max-height:none!important;margin:auto!important;padding:14px!important;z-index:2147483000}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed.social-expanded>header{min-height:64px;padding:7px 12px;background:linear-gradient(90deg,#e7f5ff 40%,#e7f5ff44),url('../img/logistics/port-cargo-terminal-land-v1.webp') right 45%/56% auto no-repeat;border-radius:12px}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed.social-expanded>header h2{font-size:28px!important}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed.social-expanded .social-tabs{max-width:760px}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed.social-expanded .social-tabs button{min-height:46px;font-size:17px!important}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed.social-expanded[data-channel="friends"] .social-contacts{display:block!important;flex:0 0 240px}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed.social-expanded .social-composer input{min-height:50px}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed.social-expanded .social-composer>button{min-width:110px;font-size:18px!important}
@media(max-width:600px){
 html body[data-ui-version="3"] #social-panel#social-panel.social-designed.social-expanded{inset:8px!important;width:calc(100vw - 16px)!important;height:calc(100dvh - 16px)!important;padding:9px!important}
 html body[data-ui-version="3"] #social-panel#social-panel.social-designed.social-expanded>header{min-height:38px;padding:3px;background-size:cover}
 html body[data-ui-version="3"] #social-panel#social-panel.social-designed.social-expanded>header h2{font-size:20px!important}
 html body[data-ui-version="3"] #social-panel#social-panel.social-designed.social-expanded .social-tabs button{font-size:13px!important;min-height:40px}
 html body[data-ui-version="3"] #social-panel#social-panel.social-designed .social-tabs button>span{display:none}
 html body[data-ui-version="3"] #social-panel#social-panel.social-designed.social-expanded[data-channel="friends"] .social-contacts{flex:1}
 html body[data-ui-version="3"] #social-panel#social-panel.social-designed.social-expanded[data-channel="friends"].chatting .social-contacts{display:none!important}
 html body[data-ui-version="3"] #social-panel#social-panel.social-designed.social-expanded .social-composer>button{min-width:62px;font-size:15px!important}
}
@media(max-height:500px){html body[data-ui-version="3"] #social-panel#social-panel.social-designed.social-expanded>header{min-height:32px}html body[data-ui-version="3"] #social-panel#social-panel.social-designed.social-expanded>header h2{font-size:22px!important}html body[data-ui-version="3"] #social-panel#social-panel.social-designed.social-expanded .social-tabs button{min-height:34px;font-size:14px!important}html body[data-ui-version="3"] #social-panel#social-panel.social-designed.social-expanded .social-composer input{min-height:36px}html body[data-ui-version="3"] #social-panel#social-panel.social-designed.social-expanded{gap:4px}}
/* Guild artwork integration: live controls over responsive navy / sky / gold panels. */
#social-panel .guild-shell{display:flex;gap:12px;flex:1;min-height:0;overflow:hidden}
#social-panel .guild-navigation{display:flex;flex-direction:column;gap:6px;flex:0 0 160px;overflow:auto;padding:5px;background:#e6f5ff;border-radius:14px}
#social-panel .guild-main{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:hidden}
#social-panel .guild-banner{flex:none;padding:16px;border-radius:14px;background:linear-gradient(90deg,#092c50 15%,#092c50e8 65%,#092c5055),url('../img/guild/guild-lobby-detailed-v1.png') center 8%/cover;color:white}
#social-panel .guild-banner h2,#social-panel .guild-banner p{color:white!important;margin:3px 0!important}
#social-panel .guild-body{flex:1;min-height:0;overflow:auto;padding:12px;background:#f2faff;border:1px solid #a9cde6;border-radius:14px;display:flex;flex-direction:column;gap:10px}
#social-panel .guild-body>*{flex-shrink:0}
#social-panel .guild-body-back{align-self:flex-start;min-height:36px;padding:6px 12px;border:1px solid #a9cde6;border-radius:9px;background:#fff;color:#173954;font-weight:700}
#social-panel .guild-body .social-messages{flex:1;min-height:100px}
#social-panel .guild-body form{display:flex;gap:8px;flex-wrap:wrap}
#social-panel .guild-body input{min-width:0;flex:1 1 150px;font-size:16px;padding:10px}
#social-panel .guild-body progress{width:100%;accent-color:#eca916}
#social-panel .guild-progression{padding:14px;border:1px solid #d7ba62;border-radius:14px;background:#fff8dd}
#social-panel .guild-preview-note{padding:10px;background:#fff2bd;color:#553900!important;border-radius:10px;margin:0!important}
#social-panel .guild-preview-image{width:100%;height:auto;display:block;border-radius:12px}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .guild-navigation [aria-pressed="true"]{background:linear-gradient(#fff780,#ffd336)!important;border-color:#d5a623}
@media(max-width:650px){#social-panel .guild-shell{flex-direction:column}#social-panel .guild-navigation{flex:0 0 auto;flex-direction:row;max-height:54px}#social-panel .guild-navigation button{white-space:nowrap}#social-panel .guild-banner{padding:8px}#social-panel .guild-banner h2{font-size:19px}#social-panel .guild-body{padding:8px}}
@media(max-height:500px){#social-panel .guild-banner{padding:6px}#social-panel .guild-banner h2{font-size:18px}#social-panel .guild-banner p{font-size:12px}}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .guild-banner h2,html body[data-ui-version="3"] #social-panel#social-panel.social-designed .guild-banner p{color:#fff!important}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .guild-body{color:#173857!important}
/* Social artwork v2: real messages and composer, separate illustrated service previews. */
#social-panel .guild-lobby-grid{display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(260px,1fr);gap:14px;min-height:100%}
#social-panel .guild-lobby-stage{min-height:350px;border:2px solid #d5ad59;border-radius:18px;background:#14354b url('../img/guild/guild-lobby-detailed-v1.png') 44% 48%/280% auto no-repeat;display:flex;flex-direction:column;justify-content:space-between;padding:14px;overflow:hidden}
#social-panel .guild-identity{background:#07345bea;border:1px solid #efcb75;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:8px}
html body[data-ui-version="3"] #social-panel#social-panel .guild-identity strong,html body[data-ui-version="3"] #social-panel#social-panel .guild-identity span{color:#fff4c0!important;font-size:18px;margin:0}
#social-panel .guild-lobby-shortcuts{display:flex;gap:8px;flex-wrap:wrap}
#social-panel .guild-lobby-shortcuts button{flex:1}
#social-panel .guild-lobby-controls{min-width:0;display:flex;flex-direction:column;gap:10px}
#social-panel .guild-lobby-controls>h3{margin:0}
#social-panel .guild-announcement{order:-1;background:#e4f5ff;border:1px solid #b2d9ec;border-radius:12px;padding:14px;white-space:pre-wrap}
#social-panel .guild-rules{font-size:12px;line-height:1.6}
#social-panel .guild-member-list{border:1px solid #b1d3e6;border-radius:14px;background:#fff;padding:12px}
#social-panel .guild-member-list summary{font-weight:700;cursor:pointer;padding:6px}
#social-panel .guild-member-row{padding:12px;border-bottom:1px solid #d9e9f3;gap:10px}
#social-panel .guild-member-row:last-child{border-bottom:0}
@media(max-width:800px){#social-panel .guild-lobby-grid{grid-template-columns:1fr}#social-panel .guild-lobby-stage{min-height:250px;background-size:240% auto}}
@media(max-height:500px) and (min-width:801px){#social-panel .guild-lobby-stage{min-height:260px}}
#social-panel .guild-live-chat{display:flex;gap:12px;flex:1;min-height:0}
#social-panel .guild-chat-thread{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0;min-height:0}
#social-panel .guild-chat-aside{flex:0 0 220px;overflow:auto;background:#e1f3ff;border:1px solid #b2d3e9;border-radius:14px;padding:12px}
#social-panel .guild-chat-aside h3{margin:6px 0 10px;color:#123c65}
#social-panel .guild-chat-aside p{white-space:pre-wrap;overflow-wrap:anywhere}
#social-panel .guild-chat-member{display:flex;align-items:center;gap:7px;padding:9px 0;border-bottom:1px solid #c7deed;flex-wrap:wrap}
#social-panel .guild-chat-member small{color:#8a6512}
#social-panel .guild-chat-tools{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
#social-panel .guild-chat-tools strong{background:#ffe368;padding:8px;border-radius:9px;color:#153655}
#social-panel .guild-chat-count{margin-left:auto;color:#617d95}
#social-panel .guild-chat-reference{margin-top:16px;font-size:13px}
#social-panel .guild-shell[data-guild-view="chat"] .guild-body{overflow:hidden}
#social-panel .guild-shell[data-guild-view="chat"] .guild-banner{background:linear-gradient(90deg,#092c50f5,#092c50dd),url('../img/guild/guild-chat-detailed-v2.png') center top/cover}
html body[data-ui-version="3"] #social-panel#social-panel.social-designed .guild-chat-tools button{padding:6px 8px;min-height:34px}
@media(max-width:1000px){#social-panel .guild-chat-aside{display:none}}
@media(max-height:500px){#social-panel .guild-shell[data-guild-view="chat"] .guild-banner{display:none}#social-panel .guild-chat-thread{gap:4px}html body[data-ui-version="3"] #social-panel#social-panel.social-designed .guild-chat-tools button{min-height:28px;padding:3px 6px}#social-panel .guild-chat-tools strong{padding:4px}}

/* 10-24 送出中的訊息先顯示、半透明 */
.social-message.is-sending{opacity:.6}

/* The territory is reached from the guild lobby; other rooms keep their existing live controls. */
#social-panel .guild-shell{position:relative}
#social-panel .guild-territory{position:absolute;inset:0;z-index:8;display:flex;flex-direction:column;gap:8px;padding:12px;background:#eef8ff;color:#173954;min-width:0;min-height:0}
#social-panel .guild-territory[hidden]{display:none}
#social-panel .guild-territory>header{display:flex;justify-content:space-between;align-items:center;gap:12px}
#social-panel .guild-territory>header h3{margin:0;color:#173954}
#social-panel .guild-territory-viewport{flex:1;min-height:0;min-width:0;container-type:size;display:grid;place-items:center}
#social-panel .guild-territory-scene{position:relative;box-sizing:border-box;width:min(100cqw,calc(100cqh * 20 / 11));height:min(100cqh,calc(100cqw * 11 / 20));border:2px solid #caa74f;border-radius:15px;overflow:hidden;background:#bed8e6 var(--territory-background,url('../img/guild/plaza-extended-v2.png')) center/100% 100% no-repeat;outline-offset:3px}
#social-panel .guild-territory-door{position:absolute;top:42%;transform:translateX(-50%);z-index:2;min-height:32px;padding:5px 9px;background:#fff9dfed;border:2px solid #b98728;border-radius:9px;color:#173954;font-weight:800;white-space:nowrap}
#social-panel .guild-territory-door-sign{min-height:29px;padding:3px 10px;border-color:#ad7b20;border-radius:14px;background:#fff8ddf2;box-shadow:0 2px 5px #3e2b1855;font-size:clamp(10px,1.45cqw,15px);line-height:1.25}
#social-panel .guild-territory-door-sign:hover,#social-panel .guild-territory-door-sign:focus-visible{background:#ffe690;border-color:#9a6515;outline:2px solid #fff7c3;outline-offset:2px}
#social-panel .guild-territory-scene .guild-territory-door-integrated{top:18%;width:17%;height:7%;min-height:24px;padding:0;background:transparent;border:0;border-radius:8px;box-shadow:none;color:#173954;font-size:clamp(10px,1.4cqw,15px);line-height:1.1;text-shadow:0 1px 2px #fff,0 -1px 2px #fff;cursor:pointer}
#social-panel .guild-territory-scene[data-room="hall"] .guild-territory-door-integrated{top:23%;width:13%;height:7%}
#social-panel .guild-territory-scene[data-room="hall"] .guild-territory-door-integrated[data-target="storage"]{top:21%;width:14%}
#social-panel .guild-territory-scene[data-room="hall"] .guild-territory-door-integrated[data-target="store"]{top:25%;width:14%}
#social-panel .guild-territory-scene[data-room="mission"] .guild-territory-door-integrated[data-target="hall"],#social-panel .guild-territory-scene[data-room="storage"] .guild-territory-door-integrated[data-target="hall"],#social-panel .guild-territory-scene[data-room="store"] .guild-territory-door-integrated[data-target="hall"]{top:15%;width:13%;height:8%}
#social-panel .guild-territory-scene[data-room="mission"] .guild-territory-door-integrated[data-target="missions"]{top:19%;width:19%;height:8%}
#social-panel .guild-territory-scene[data-room="storage"] .guild-territory-door-integrated[data-target="warehouse"]{top:17%;width:14%;height:8%}
#social-panel .guild-territory-scene[data-room="store"] .guild-territory-door-integrated[data-target="shop"]{top:17%;width:17%;height:8%}
#social-panel .guild-territory-scene[data-room="training"] .guild-territory-door-integrated[data-target="plaza"]{top:3%;width:18%;height:9%}
#social-panel .guild-territory-door-integrated:hover,#social-panel .guild-territory-door-integrated:focus-visible{background:#fff2a21f;outline:2px solid #ffe27a;outline-offset:1px}
#social-panel .guild-territory-arena{left:91%;top:43%}
#social-panel .guild-territory-hero{position:absolute;left:50%;bottom:10%;height:19%;aspect-ratio:44/56;transform:translateX(-50%);background-image:url('../img/walk25d/player-8dir.webp');background-position:calc(var(--guild-frame,0) * 100% / 7) calc(var(--guild-hero-row,0) * 100% / 7);background-size:800% 800%;background-repeat:no-repeat;filter:drop-shadow(0 4px 3px #1834489c);transition:left .35s linear,bottom .35s linear;pointer-events:none}
#social-panel .guild-territory-scene:not([data-room="arena"]) .guild-territory-hero{height:30%}
#social-panel .guild-territory-hero[data-moving="true"]{animation:guildTerritoryWalk .34s ease-in-out infinite alternate}
#social-panel .guild-territory-scene[data-room="store"] .guild-territory-npc{height:36%;bottom:10%}
@keyframes guildTerritoryWalk{from{transform:translateX(-50%) scaleX(var(--guild-hero-facing,1)) translateY(0)}to{transform:translateX(-50%) scaleX(var(--guild-hero-facing,1)) translateY(-3%)}}
#social-panel .guild-territory-npc{position:absolute;left:75%;bottom:11%;height:19%;aspect-ratio:2/3;transform:translateX(-50%);background-color:transparent;appearance:none;background-position:center;background-size:contain;background-repeat:no-repeat;border:0;box-shadow:none;color:#123954;font-size:12px;font-weight:800;display:block;padding:0;cursor:pointer}
html body[data-ui-version="3"] #social-panel#social-panel .guild-territory-npc{background-color:transparent!important;border:0!important;box-shadow:none!important;min-height:0!important}
#social-panel .guild-territory-scene:not([data-room="arena"]) .guild-territory-npc{height:30%}
#social-panel .guild-territory-scene[data-room="hall"] .guild-territory-npc{bottom:20%}
#social-panel .guild-territory-npc-label{position:absolute;left:50%;top:-25px;transform:translateX(-50%);white-space:nowrap;padding:2px 7px;background:#fff9e9;border:1px solid #b98728;border-radius:5px;color:#173954;text-shadow:none}
#social-panel .guild-territory-dialogue{position:absolute;z-index:5;right:10px;bottom:10px;max-width:min(330px,70%);padding:12px;background:#fff9e9f2;border:2px solid #c79939;border-radius:12px;color:#173954;box-shadow:0 8px 22px #102b4266}
#social-panel .guild-territory-dialogue p{margin:8px 0;line-height:1.45}
#social-panel .guild-territory-dialogue button{margin:2px 5px 0 0}
#social-panel .guild-territory-boss{position:absolute;left:68%;bottom:16%;width:23%;height:48%;object-fit:contain;transform:translateX(-50%);filter:drop-shadow(0 8px 9px #7a2a11b3);pointer-events:none}
#social-panel .guild-territory-map{position:absolute;inset:44px 12px 12px;z-index:11;background:#e4f2fa;border:2px solid #c79939;border-radius:12px;padding:8px;display:flex;flex-direction:column;align-items:flex-end;gap:5px;overflow:hidden;container-type:size}
#social-panel .guild-territory-map[hidden]{display:none}
#social-panel .guild-territory[data-mode="map"]>header,#social-panel .guild-territory[data-mode="map"]>.guild-territory-viewport,#social-panel .guild-territory[data-mode="map"]>p{display:none}
#social-panel .guild-territory[data-mode="map"]>.guild-territory-map{inset:0;border:0;padding:8px;justify-content:center;align-items:center}
#social-panel .guild-territory[data-mode="map"]>.guild-territory-map>button{position:absolute;top:8px;right:8px;z-index:3}
#social-panel .guild-territory-map-art{position:relative;align-self:center;flex:none;width:min(100cqw,calc((100cqh - 52px) * 1672 / 941));aspect-ratio:1672/941;min-width:0}
#social-panel .guild-territory-map-art>img{display:block;width:100%;height:100%;object-fit:fill}
#social-panel .guild-territory-map .guild-map-entry{position:absolute;z-index:2;transform:translate(-50%,-50%);display:block;min-height:0!important;margin:0;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;cursor:pointer}
#social-panel .guild-map-entry-hall{left:15%;top:29%;width:10%;height:13%}
#social-panel .guild-map-entry-training{left:52%;top:27%;width:11%;height:13%}
#social-panel .guild-map-entry-store{left:70.5%;top:29%;width:10%;height:max(24px,4%)}
#social-panel .guild-map-entry-arena{left:94%;top:60%;width:9%;height:16%}
#social-panel .guild-territory-economy{position:absolute;z-index:12;right:12px;top:50px;bottom:12px;width:min(760px,78%);box-sizing:border-box;overflow:auto;padding:12px;background:#edf7fffa;border:2px solid #bc8e32;border-radius:14px;box-shadow:0 12px 32px #10283b99}
#social-panel .guild-territory-economy-close{position:sticky;top:0;z-index:1;display:block;margin:0 0 8px auto;background:#fff3ca;color:#173954;border:1px solid #b98728;border-radius:8px;padding:6px 12px}
@media(max-width:700px){#social-panel .guild-territory-economy{inset:46px 8px 8px;width:auto;padding:8px}}
#social-panel .guild-map-entry:hover,#social-panel .guild-map-entry:focus-visible{filter:brightness(1.15);outline:2px solid #ffe27a;outline-offset:1px}
#social-panel .guild-territory>p{margin:0;font-size:12px;color:#375c70}
#social-panel .guild-territory-entry{background:#ffdf72!important;border-color:#b98b24!important;color:#173954!important;font-weight:800}
@media(max-width:700px){#social-panel .guild-territory-door{font-size:10px;padding:3px 5px}#social-panel .guild-territory-hero{height:24%}#social-panel .guild-territory-npc{height:24%}}
@media(max-width:700px){#social-panel .guild-territory-scene[data-room="store"]{width:100%;height:100%;background-size:auto 100%;background-position:center}}
@media(max-width:700px){#social-panel .guild-territory-scene[data-room="store"] .guild-territory-door-integrated[data-target="shop"]{left:65%!important;top:22%;width:28%;height:9%}}
.yard-visit{width:min(860px,96vw);max-height:92vh;box-sizing:border-box;padding:14px;border:2px solid #8aa75f;border-radius:16px;background:#f6faed;color:#244233;box-shadow:0 16px 50px #18302288;overflow:auto}
.yard-visit::backdrop{background:#102a2699}
.yard-visit>header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.yard-visit h2{margin:0;font-size:21px}.yard-visit h3{margin:14px 0 8px;font-size:17px}
.yard-visit button{cursor:pointer;border:1px solid #8aa75f;border-radius:8px;background:#fffdf2;color:#23412e;padding:6px 10px}
.yard-visit button:disabled{cursor:default}.yard-visit [data-publish]{background:#dcecaa;font-weight:800;margin-right:8px}
.yard-visit-status{min-height:1.4em;color:#765a15;font-weight:700}
.yard-visit-likes{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:8px 0;padding:9px 12px;border:1px solid #d7bd69;border-radius:10px;background:#fff4cf}
.yard-visit-likes strong{font-size:18px;color:#77500c}.yard-visit-likes small{color:#6d704e}
.yard-visit-likes [data-like]:not(:disabled){background:#ffdc70;font-weight:800}
.yard-visit-grid{display:grid;grid-template-columns:repeat(var(--yard-w),minmax(0,1fr));gap:3px;padding:8px;border:2px solid #90ae69;border-radius:12px;background:linear-gradient(145deg,#b5d67c,#92bb60)}
.yard-visit-grid .yard-visit-cell{aspect-ratio:1;min-width:0;padding:0;position:relative;border:1px solid #ecf9caaa;background:#e8f5b144}
.yard-visit-grid .yard-visit-cell img{width:100%;height:100%;object-fit:contain;pointer-events:none}.yard-visit-grid .yard-visit-cell span{position:absolute;right:0;bottom:0;font-size:14px}
.yard-visit-grid .yard-visit-cell.is-plant:not(:disabled){background:#f6e8a8aa;border-color:#d8aa44}.yard-visit-grid .yard-visit-cell.is-plant:not(:disabled):hover{outline:3px solid #ffd34e}
.yard-visit-factory{position:relative;display:grid;place-items:center;border:2px solid #d4b66e;border-radius:10px;background:#d8ddcc;overflow:hidden}.yard-visit-factory img{width:95%;height:87%;object-fit:contain}.yard-visit-factory b{position:absolute;bottom:3px;background:#fff8ddeb;border-radius:6px;padding:1px 5px;font-size:11px}
.yard-visit-notes ul{list-style:none;padding:0;margin:0;display:grid;gap:6px;max-height:170px;overflow:auto}.yard-visit-notes li{padding:7px;border:1px solid #d4e2bc;border-radius:8px;background:#fff}.yard-visit-notes li p{margin:4px 0;white-space:pre-wrap;overflow-wrap:anywhere}.yard-visit-notes li time{margin-left:8px;color:#667b65;font-size:12px}
.yard-visit-notes form{display:flex;gap:8px;align-items:end;margin-top:10px}.yard-visit-notes label{flex:1}.yard-visit-notes input{display:block;width:100%;box-sizing:border-box;min-height:36px}
@media(max-width:600px){.yard-visit{padding:8px}.yard-visit-grid{gap:2px;padding:4px}.yard-visit h2{font-size:17px}}


/* 10-30 老闆：公會地圖招牌已畫進底圖，被上面面板通用白鈕（兩個 id 的 !important）蓋成白框 → 熱點排除在通用鈕之外 */

#social-panel .guild-territory-hero .hero-3d-canvas{position:absolute;left:50%;bottom:-20%;width:150%;height:auto;transform:translateX(-50%);pointer-events:none}
#social-panel .guild-territory-hero.has-hero-3d{background-image:none;filter:none}
