/* Guild skin cut from the original client's own guild art (group_box, group_box_btn, group_todaymsg_win, m_honor_g).
   Pieces live in assets/guild (see web-login/guild-assets-tools/extract-guild-ui.cjs) and are drawn at native 1x size:
   upscaling this pixel art (nearest or smooth) turns the gold clouds into blocks or blur. Only the 16x16 emblem is enlarged, by an integer 2x.
   Colours below are sampled from the same bitmaps; all text is rendered by the page. */
.guild-layer,.guild-confirm-layer,.guild-invitation,.guild-invite-pill,.npc-guild-controls{
  --g-gold:#ffd429;--g-ink:#e8f0d0;--g-label:#a9c86a;--g-head:#77b948;--g-muted:#9fb48f;--g-faint:#7f9a7f;
  --g-cell:#010f03;--g-line:#005422;--g-line-hi:#3c6858;--g-row:#0e3515;--g-good:#9be86b;--g-off:#6f826f;--g-danger:#ff9a7a;
  --g-font:SimSun,"宋体","Microsoft YaHei",serif}
.guild-layer,.guild-confirm-layer{position:absolute;inset:0;z-index:95;background:#03080540;color:var(--g-ink);font:14px/1.5 var(--g-font)}
.guild-layer[hidden],.guild-confirm-layer[hidden],.guild-invitation[hidden],.guild-invite-pill[hidden],.guild-tabs[hidden],.guild-tabpanel[hidden],.guild-empty-host[hidden],.guild-feedback[hidden],.guild-member-reasons[hidden],.guild-crest-box>[hidden]{display:none!important}
/* Main window: native frame 9-slice (title plaque, gold cloud corners, close knob) over the native nebula */
.guild-manager{position:absolute;left:calc(50% - 260px);top:6%;width:520px;max-width:calc(100% - 16px);max-height:calc(100% - 140px);box-sizing:border-box;display:flex;flex-direction:column;color:var(--g-ink);
  border-style:solid;border-width:52px 13px 12px 13px;border-image:url('./assets/guild/frame.png') 52 44 12 44 / 52px 44px 12px 44px stretch;
  background:url('./assets/guild/texture.png') center/cover,#0a1d10;background-clip:padding-box;filter:drop-shadow(0 6px 18px #000a);animation:guild-in .12s ease-out}
@keyframes guild-in{from{opacity:0;transform:translateY(-4px)}}
/* Header: guild name sits in the native plaque; emblem in the native knot plate */
.guild-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;flex:none;padding:6px 12px 4px;cursor:move;touch-action:none;user-select:none}
.guild-header h2{position:absolute;top:-47px;left:46px;right:46px;height:31px;margin:0;display:flex;align-items:center;justify-content:center;color:var(--g-gold);font:bold 16px/1 var(--g-font);letter-spacing:4px;text-shadow:1px 1px 0 #000,0 0 6px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.guild-crest-box{flex:none;width:104px;height:38px;display:flex;align-items:center;justify-content:center;background:url('./assets/guild/emblem-plate.png') 0 0/104px 38px no-repeat}
.guild-crest-icon,.guild-crest-box canvas.guild-emblem{width:34px;height:34px;box-sizing:border-box;padding:0;background:#010f03;border:1px solid var(--g-line-hi);display:block}
.guild-crest-icon{object-fit:none}.guild-crest-box canvas.guild-emblem{image-rendering:pixelated}
.guild-title-box{flex:1;min-width:0}
.guild-chips{display:flex;flex-wrap:wrap;gap:6px}
.guild-chip{padding:1px 9px;background:var(--g-cell);border:1px solid var(--g-line);box-shadow:inset -1px -1px var(--g-line-hi);color:#f0f0d8;font-size:13px;line-height:20px;white-space:nowrap;font-variant-numeric:tabular-nums}
.guild-chip.is-master{color:var(--g-gold)}.guild-chip.is-deputy{color:#f0c060}
/* Baked-in close knobs become transparent hit areas */
.guild-close,.guild-frame-x{position:absolute;min-height:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important;cursor:var(--client-cursor,pointer)}
.guild-close{top:-48px;right:-9px;width:28px;height:28px}
@media(hover:hover){.guild-close:hover,.guild-frame-x:hover{background:radial-gradient(circle,#fff6b833 0 38%,transparent 62%)!important}}
/* Native buttons: dull bevel; primary is the lit m_group_btn green; danger is the same bevel in red */
.guild-button{appearance:none;font:inherit;font-size:14px;line-height:1.2;color:#d8f0a8;border:1px solid #000400;border-radius:0;box-shadow:inset 1px 1px #96bd95,inset -1px -1px #0c240b;background:linear-gradient(90deg,#183618,#3d663e 55%,#729c72);min-height:30px;padding:4px 14px;text-shadow:1px 1px 0 #000;white-space:nowrap;cursor:var(--client-cursor,pointer);transition:filter .1s,transform .06s}
.guild-button:focus-visible,.guild-member:focus-visible,.guild-tab:focus-visible,.guild-toggle input:focus-visible,.guild-input:focus-visible{outline:2px solid var(--g-gold);outline-offset:2px}
.guild-button:active:not(:disabled){transform:translateY(1px);filter:brightness(.85)}
.guild-button:disabled{opacity:.45;cursor:default}
.guild-button.is-primary{color:#ffff66;border-color:#071d0b;box-shadow:inset 1px 1px #b2ef7d,inset -1px -1px #258706;background:linear-gradient(#72ea34,#6ee431 70%,#53bb21 88%,#258706);text-shadow:1px 1px 0 #071d0b,-1px 0 #071d0b,0 -1px #071d0b,1px 0 #071d0b}
.guild-button.is-danger{color:#ffd8c8;box-shadow:inset 1px 1px #d89a8a,inset -1px -1px #3a0c0c;background:linear-gradient(90deg,#3a1010,#7a3030 55%,#b06060)}
.guild-button.is-small{min-height:24px;padding:2px 10px;font-size:13px}
@media(hover:hover){.guild-button:hover:not(:disabled){filter:brightness(1.18)}.guild-member:hover:not([aria-pressed=true]){background:#123d1a}.guild-tab:hover:not([aria-selected=true]){color:#c8e0a0}}
/* Tabs: status-window style, the selected one in gold with the native cloud */
.guild-tabs{display:flex;justify-content:space-around;align-items:center;flex:none;height:38px;margin:2px 12px 0;border-bottom:1px solid var(--g-line);background:linear-gradient(90deg,transparent,#0b2a12aa 20%,#0b2a12aa 80%,transparent)}
.guild-tab{appearance:none;display:inline-flex;align-items:center;gap:4px;min-height:36px;padding:0 6px;background:transparent;border:0;color:var(--g-faint);font:16px/1 var(--g-font);letter-spacing:3px;cursor:var(--client-cursor,pointer)}
.guild-tab[aria-selected=true]{color:var(--g-gold);text-shadow:1px 1px 0 #000}
.guild-tab[aria-selected=true]::before{content:"";width:31px;height:17px;background:url('./assets/guild/band-left.png') 0 0/31px 17px no-repeat}
.guild-tab-count{font-size:13px;letter-spacing:0;color:inherit;opacity:.8;font-variant-numeric:tabular-nums}
.guild-tab-count:empty{display:none}
/* Body */
.guild-content{flex:1;padding:10px 12px;overflow:auto;min-height:0;scrollbar-width:thin;scrollbar-color:var(--g-line-hi) var(--g-cell)}
.guild-tabpanel{display:flex;flex-direction:column;gap:10px;min-height:300px}
.guild-content h3{margin:0;font-weight:normal}
.guild-content p{margin:0;overflow-wrap:anywhere}
.guild-note{font-size:13px;color:var(--g-muted)}
.guild-alerts:empty{display:none}.guild-alerts{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.guild-warning{margin:0;padding:6px 8px;border:1px solid #a0573e;color:var(--g-danger);background:#2a0e08cc;font-size:13px}
/* Sections: no boxes, a native cloud band per heading */
.guild-card{display:flex;flex-direction:column;gap:8px;padding:0;border:0;background:transparent}
.guild-card-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:28px;background:linear-gradient(90deg,transparent,var(--g-row) 25%,var(--g-row) 75%,transparent)}
.guild-card-head>h3{grid-column:2}
.guild-card-head>:not(h3){grid-column:3;justify-self:end}
.guild-card-head>h3,.guild-card>h3{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--g-gold);font-size:15px;letter-spacing:6px;text-shadow:1px 1px 0 #000;white-space:nowrap}
.guild-card>h3{min-height:28px;background:linear-gradient(90deg,transparent,var(--g-row) 25%,var(--g-row) 75%,transparent)}
.guild-card-head>h3::before,.guild-card-head>h3::after,.guild-card>h3::before,.guild-card>h3::after{content:"";flex:none;width:31px;height:17px;background:url('./assets/guild/band-left.png') 0 0/31px 17px no-repeat}
.guild-card-head>h3::after,.guild-card>h3::after{background-image:url('./assets/guild/band-right.png')}
/* Overview: status-window label cells and value boxes */
.guild-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 6px}
.guild-stat{display:grid;grid-template-columns:96px minmax(0,1fr);gap:6px;min-width:0;padding:0;border:0;background:none}
.guild-stat.is-wide{grid-column:1/-1;display:grid}
.guild-stat-label,.guild-direct-details dt{display:flex;align-items:center;justify-content:center;min-height:32px;color:var(--g-label);font-size:15px;letter-spacing:3px;background:linear-gradient(90deg,#07130a,#0e2212);border-bottom:1px solid var(--g-line);border-right:1px solid var(--g-line);white-space:nowrap}
.guild-stat-value,.guild-direct-details dd{display:flex;align-items:center;justify-content:center;min-height:32px;margin:0;font-weight:normal;font-size:16px;color:#f0f0d8;background:var(--g-cell);border:1px solid var(--g-line);box-shadow:inset -1px -1px var(--g-line-hi);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.guild-stat-value .is-win{color:var(--g-good)}.guild-stat-value .is-loss{color:var(--g-danger)}
.guild-stat-value>span{margin-inline:4px}
.guild-notice-text{box-sizing:border-box;min-height:46px;display:flex;align-items:center;justify-content:center;text-align:center;white-space:pre-wrap;color:#f0f0c8;font-size:15px;padding:4px 8px;border-style:solid;border-width:8px 18px 8px 17px;border-image:url('./assets/guild/notice.png') 8 18 8 17 fill / 8px 18px 8px 17px stretch}
.guild-quick{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
/* Members */
.guild-roster-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.guild-roster-tools .guild-note{color:var(--g-label)}
.guild-toggle{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--g-label);cursor:var(--client-cursor,pointer);min-height:26px}
.guild-toggle input{appearance:none;margin:0;width:14px;height:14px;background:url('./assets/guild/check-off.png') 0 0/14px 14px;image-rendering:pixelated;cursor:inherit}
.guild-toggle input:checked{background-image:url('./assets/guild/check-on.png')}
.guild-members{max-height:250px;overflow:auto;border:1px solid var(--g-line);background:#010f0399;scrollbar-width:thin;scrollbar-color:var(--g-line-hi) var(--g-cell)}
.guild-member,.guild-member-heading{display:grid;grid-template-columns:minmax(90px,1fr) 52px 88px 72px;gap:6px;align-items:center;padding:5px 10px;width:100%;box-sizing:border-box;font:inherit;text-align:center}
.guild-member-heading{position:sticky;top:0;z-index:1;min-height:30px;background:var(--g-cell);color:var(--g-head);letter-spacing:3px;border-bottom:1px solid var(--g-line-hi)}
.guild-member{appearance:none;background:transparent;border:0;border-bottom:1px solid var(--g-row);color:var(--g-ink);cursor:var(--client-cursor,pointer);min-height:34px}
.guild-member:last-child{border-bottom:0}
.guild-member[aria-pressed=true]{background:linear-gradient(90deg,#1f5a28,#123d1a);box-shadow:inset 3px 0 var(--g-gold);color:#fff8c0}
.guild-member-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.guild-member-level{font-variant-numeric:tabular-nums}
.guild-rank{display:inline-block;padding:0 6px;border:1px solid;font-size:13px;line-height:20px;white-space:nowrap}
.guild-rank.is-master{color:var(--g-gold);border-color:#a08000;background:#1c1a04}
.guild-rank.is-deputy{color:#f0c060;border-color:#8a6a20;background:#1a1406}
.guild-rank.is-elder{color:#c8e090;border-color:#4a7a3a;background:#0a1f0c}
.guild-rank.is-member{color:var(--g-label);border-color:#2f5a2f;background:#06140a}
.guild-member .is-online{color:var(--g-good);font-size:13px}.guild-member .is-away{color:var(--g-off);font-size:13px}
.guild-member[aria-pressed=true] .is-away{color:#b8c8a8}
.guild-members-empty{padding:16px 8px;text-align:center}
.guild-members.has-contributions .guild-member,.guild-members.has-contributions .guild-member-heading{grid-template-columns:minmax(80px,1fr) 38px 78px 60px minmax(62px,80px);gap:4px;padding-inline:7px}
.guild-member-contribution{font-variant-numeric:tabular-nums;color:var(--g-gold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.guild-contribution-detail{display:flex;flex-direction:column;gap:10px;padding-top:10px;border-top:1px solid var(--g-line-hi)}
.guild-contribution-head,.guild-contribution-tools,.guild-contribution-paging{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.guild-contribution-head h3{color:var(--g-gold);font-size:15px}.guild-contribution-tools label{display:flex;gap:6px;align-items:center}
.guild-contribution-scope{display:flex;gap:8px;align-items:center}.guild-contribution-scope select{min-width:120px}
.guild-contribution-table.is-guild-feed{table-layout:fixed}.guild-contribution-table.is-guild-feed td{overflow-wrap:anywhere}.guild-contribution-table.is-guild-feed th:first-child{width:24%}.guild-contribution-table.is-guild-feed th:nth-child(2){width:20%}.guild-contribution-table.is-guild-feed th:nth-child(4){width:8%}.guild-contribution-table.is-guild-feed th:nth-child(5){width:20%}
@media(max-width:639px){.guild-contribution-table.is-guild-feed tbody{display:block}.guild-contribution-table.is-guild-feed tr{column-gap:16px}.guild-contribution-table.is-guild-feed td:nth-child(2),.guild-contribution-table.is-guild-feed td:nth-child(5){grid-column:1/-1}.guild-contribution-table.is-guild-feed td:nth-child(4){grid-column:auto}.guild-contribution-table.is-guild-feed th{width:auto}}
.guild-contribution-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.guild-contribution-stats>div{display:flex;flex-direction:column;gap:4px;padding:7px;background:var(--g-cell);border:1px solid var(--g-line)}
.guild-contribution-stats span{font-size:12px;color:var(--g-muted)}.guild-contribution-stats strong{font-size:15px;color:var(--g-gold);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.guild-contribution-table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}.guild-contribution-table th,.guild-contribution-table td{padding:6px 4px;border-bottom:1px solid var(--g-line);text-align:right}.guild-contribution-table th:first-child,.guild-contribution-table td:first-child{text-align:left}.guild-contribution-table td:first-child{max-width:115px;white-space:normal}
@media(max-width:639px){.guild-members.has-contributions .guild-member,.guild-members.has-contributions .guild-member-heading{grid-template-columns:minmax(85px,1fr) 70px 60px}.guild-members.has-contributions .guild-member-contribution{grid-column:1;grid-row:2;text-align:left;font-size:12px}.guild-member-contribution::before{content:'贡献 ';color:var(--g-muted)}.guild-members.has-contributions .guild-member-heading>:last-child{display:none}.guild-contribution-table thead{display:none}.guild-contribution-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:7px;border:1px solid var(--g-line);margin-bottom:6px}.guild-contribution-table td{display:flex;justify-content:space-between;gap:6px;min-width:0;text-align:right;border:0;overflow-wrap:anywhere}.guild-contribution-table td::before{content:attr(data-label);color:var(--g-muted);white-space:nowrap}.guild-contribution-table td:first-child{grid-column:1/-1;max-width:none}.guild-contribution-table td:nth-child(4){grid-column:1/-1}}
.guild-member-tools{display:flex;flex-direction:column;gap:8px;padding:8px 10px;border:1px solid var(--g-line);background:#010f0380}
.guild-selected{font-size:14px;color:var(--g-label)}.guild-selected strong{font-weight:normal;color:#fff8c0}
.guild-member-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.guild-member-reasons{margin:0;color:#e0d080;font-size:13px;white-space:pre-line;overflow-wrap:anywhere;text-align:center}
.guild-footnote{text-align:center}
/* Affairs */
.guild-invite-row{display:flex;gap:8px;align-items:stretch}
.guild-invite-row .guild-input{flex:1;min-width:0}
/* Inputs: the native inset value box */
.guild-input{box-sizing:border-box;appearance:none;border:1px solid var(--g-line);border-radius:0;background:var(--g-cell);box-shadow:inset 1px 1px #000,inset -1px -1px var(--g-line-hi);color:#f0f0d8;padding:4px 8px;min-height:32px;font:inherit;font-size:14px;max-width:100%;color-scheme:dark}
.guild-input::placeholder{color:#5f7a5f}
.guild-input:disabled{opacity:.55}
select.guild-input{appearance:auto}
.guild-input option{background:#0a1d10;color:var(--g-ink)}
.guild-emblem-row{display:flex;gap:14px;align-items:center}
.world-panel canvas.guild-badge-large,.guild-badge-large{flex:none;width:64px;height:64px;image-rendering:pixelated;background:var(--g-cell);border:1px solid var(--g-line-hi);outline:1px solid var(--g-line);outline-offset:2px;padding:3px;box-sizing:content-box}
.world-panel canvas.guild-badge-large.is-empty{background:var(--g-cell) url('./assets/bottom-bar/main_btn_guild.png') center/34px no-repeat;opacity:.55}
.guild-emblem-text{display:flex;flex-direction:column;gap:8px;align-items:flex-start;min-width:0}
.guild-donate>.guild-button,.guild-danger>.guild-button{align-self:center}
.guild-donate>.guild-note,.guild-danger>.guild-note,.guild-invite-target>.guild-note{text-align:center}
.guild-danger .guild-card-head>h3{color:var(--g-danger)}
.guild-danger .guild-card-head{background:linear-gradient(90deg,transparent,#3a1208 25%,#3a1208 75%,transparent)}
/* Direct create / upgrade */
.guild-direct{margin-top:6px}.guild-direct-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.guild-create-label{display:flex;flex-direction:column;gap:6px;color:var(--g-label)}.guild-create-label .guild-input{width:100%}
.guild-direct-details{display:grid;grid-template-columns:96px minmax(0,1fr);gap:4px 6px;margin:4px 0;font-variant-numeric:tabular-nums}
.guild-direct-details dd{white-space:normal;text-align:center;padding:2px 6px}
.guild-direct-cost{color:var(--g-gold)}
/* Empty state */
.guild-empty{padding:12px 4px 4px;display:flex;flex-direction:column;gap:10px;color:var(--g-ink)}
.guild-empty>h3{text-align:center;font:bold 17px/1.4 var(--g-font);color:var(--g-gold);letter-spacing:4px}
.guild-empty>p{text-align:center}
.guild-ways{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;counter-reset:guild-way}
.guild-ways li{counter-increment:guild-way;display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;column-gap:10px;padding:7px 10px;border:1px solid var(--g-line);background:linear-gradient(90deg,#07130a,#0e2212)}
.guild-ways li::before{content:counter(guild-way);grid-row:1/3;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:1px solid var(--g-line-hi);background:var(--g-cell);color:var(--g-gold);font-size:13px;align-self:center}
.guild-ways strong{font-weight:normal;color:var(--g-gold)}.guild-ways span{font-size:13px;color:var(--g-muted)}
/* Honor tab: red-gold accents from m_honor_g so spending stands apart */
.guild-pane-honor{background:linear-gradient(#3a120066,transparent 160px)}
.guild-honor{display:flex;flex-direction:column;gap:10px}
.guild-pane-honor .guild-card>h3,.guild-pane-honor .guild-card-head{background:url('./assets/guild/honor-glow.png') center/100% 100%;color:#ffd78a}
.guild-pane-honor .guild-card-head>h3{color:#ffd78a}
.guild-honor-summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;color:var(--g-gold);font-size:15px}
.guild-honor-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.guild-honor-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;border:1px solid #6a3a10}
.guild-honor-table th,.guild-honor-table td{padding:6px 4px;border-bottom:1px solid #3a1a08;text-align:left;overflow-wrap:anywhere}
.guild-honor-table th{background:#140500;color:#f0c070;font-weight:normal}
.guild-honor-table th:first-child{width:32px}.guild-honor-table th:nth-child(3){width:64px}.guild-honor-table th:last-child{width:72px}
.guild-honor-table .is-top td:first-child{color:var(--g-gold)}
.guild-honor-quantity{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-block:6px;justify-content:center}
.guild-honor-quantity label{margin-right:6px;color:#f0c070}
.guild-honor-quantity input{width:80px;min-width:0;text-align:center;font-variant-numeric:tabular-nums;min-height:36px}
.guild-honor-quantity .guild-button{min-width:36px}
.guild-honor-quick{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.guild-honor-quick .guild-button{min-width:54px}
.guild-honor-total{color:var(--g-gold);font-variant-numeric:tabular-nums;line-height:1.6;text-align:center}
:is(.guild-pane-honor,.guild-confirm.is-honor) .guild-button{color:#fff0c0;box-shadow:inset 1px 1px #f0c060,inset -1px -1px #4a1a05;background:linear-gradient(90deg,#4a1a05,#8a4a14 55%,#c88a30);text-shadow:1px 1px 0 #000}
:is(.guild-pane-honor,.guild-confirm.is-honor) .guild-button.is-primary{color:#fff6d0;box-shadow:inset 1px 1px #fff0a0,inset -1px -1px #5a2a04;background:linear-gradient(90deg,#7a3a08,#c08020 55%,#f0c050)}
:is(.guild-pane-honor,.guild-confirm.is-honor) .guild-input{background:#140500;border-color:#c89020;box-shadow:inset 0 0 0 1px #3a1400;color:#fff0c8}
/* Footer status bar */
.guild-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 12px;padding:6px 0 2px;min-height:28px;border-top:1px solid var(--g-line);flex:none;font-size:13px}
.guild-footer-meta{flex:none;margin-left:auto;color:var(--g-muted);font-variant-numeric:tabular-nums}
.guild-footer-meta:empty{display:none}
.guild-feedback{flex:1;min-width:0;margin:0;padding-left:7px;border-left:3px solid var(--g-line-hi);color:var(--g-ink);overflow-wrap:anywhere}
.guild-feedback[data-status=acknowledged],.guild-feedback[data-status=synchronized]{color:var(--g-good);border-left-color:#4a9a3a}
.guild-feedback[data-status=pending],.guild-feedback[data-status=waiting]{color:var(--g-gold)}
.guild-feedback[data-status=rejected],.guild-feedback[data-status=unknown],.guild-feedback[data-status=warning]{color:var(--g-danger);border-left-color:#a0573e}
/* Confirmation: native group_todaymsg_win frame, red-gold m_honor_g frame for spending */
.guild-confirm-layer{z-index:150;background:#000a;display:flex;align-items:center;justify-content:center}
.guild-confirm{position:relative;width:380px;max-width:calc(100% - 24px);box-sizing:border-box;padding:14px 18px 16px;color:var(--g-ink);
  border-style:solid;border-width:34px 6px 6px 6px;border-image:url('./assets/guild/confirm-frame.png') 34 40 6 40 / 34px 40px 6px 40px stretch;
  background:url('./assets/guild/confirm-glow.png') top/100% 22px no-repeat,linear-gradient(#0e2a0e,#071808);background-clip:padding-box;filter:drop-shadow(0 6px 18px #000b);animation:guild-in .12s ease-out}
.guild-confirm h3{position:absolute;top:-28px;left:40px;right:40px;height:22px;margin:0;display:flex;align-items:center;justify-content:center;color:var(--g-gold);font:bold 15px/1 var(--g-font);letter-spacing:4px;text-shadow:1px 1px 0 #000;white-space:nowrap;overflow:hidden}
.guild-confirm .guild-frame-x{top:-34px;right:-3px;width:22px;height:22px}
.guild-confirm.is-danger h3{color:var(--g-danger)}
.guild-confirm.is-honor{border-width:30px 6px 6px 6px;border-image:url('./assets/guild/honor-frame.png') 30 40 6 40 / 30px 40px 6px 40px stretch;background:url('./assets/guild/honor-glow.png') top/100% 18px no-repeat,linear-gradient(#3a1200,#1e0900);background-clip:padding-box;color:#ffd78a}
.guild-confirm.is-honor h3{top:-24px;height:18px;font-size:14px}
.guild-confirm.is-honor .guild-frame-x{top:-30px}
.guild-confirm p{margin:6px 0 10px;overflow-wrap:anywhere;text-align:center}
.guild-confirm .guild-note{margin:0 0 6px}
.guild-confirm .guild-input{width:100%;margin-bottom:8px}
.guild-confirm textarea.guild-input{resize:vertical;min-height:72px}
.guild-amount-picks{display:flex;gap:6px;margin-bottom:4px}.guild-amount-picks .guild-button{flex:1}
.world-panel canvas.guild-emblem-preview,.guild-emblem-preview{width:64px;height:64px;display:block;margin:10px auto;image-rendering:pixelated;background:var(--g-cell);border:1px solid var(--g-line-hi);padding:3px;box-sizing:content-box}
.guild-confirm-actions{display:flex;justify-content:center;gap:22px;margin-top:12px}
.guild-confirm-actions .guild-button{min-width:84px}
/* Invitation card: the same confirm frame; docked inside the open window it drops the frame */
.guild-invitation{position:absolute;left:50%;top:80px;transform:translateX(-50%);z-index:115;width:320px;max-width:calc(100% - 16px);box-sizing:border-box;padding:10px 14px 12px;color:var(--g-ink);font:14px/1.5 var(--g-font);
  border-style:solid;border-width:34px 6px 6px 6px;border-image:url('./assets/guild/confirm-frame.png') 34 40 6 40 / 34px 40px 6px 40px stretch;
  background:url('./assets/guild/confirm-glow.png') top/100% 22px no-repeat,linear-gradient(#0e2a0e,#071808);background-clip:padding-box;filter:drop-shadow(0 6px 18px #000b);animation:guild-card-in .12s ease-out}
@keyframes guild-card-in{from{opacity:0;transform:translate(-50%,-6px)}}
.guild-invitation h3{position:absolute;top:-28px;left:40px;right:40px;height:22px;margin:0;display:flex;align-items:center;justify-content:center;color:var(--g-gold);font:bold 15px/1 var(--g-font);letter-spacing:4px;text-shadow:1px 1px 0 #000}
.guild-invitation .guild-frame-x{top:-34px;right:-3px;width:22px;height:22px}
.guild-invitation p{margin:4px 0;overflow-wrap:anywhere;text-align:center}
.guild-invitation .guild-note{margin:0 0 8px;font-size:13px;color:var(--g-muted);font-variant-numeric:tabular-nums;text-align:center}
.guild-invitation .guild-warning{margin:0 0 8px}
.guild-invite-actions{display:flex;gap:10px}.guild-invite-actions .guild-button{flex:1}
.guild-manager>.guild-invitation.is-docked{position:static;transform:none;flex:none;width:auto;max-width:none;margin:8px 12px 0;padding:8px 10px;border:1px solid var(--g-line-hi);border-image:none;background:#0a2a12cc;filter:none;animation:none}
.guild-invitation.is-docked h3{position:static;height:auto;display:block;text-align:center;font-size:15px}
.guild-invite-pill{position:absolute;left:50%;top:80px;transform:translateX(-50%);z-index:94;font:13px/1.2 var(--g-font);min-height:26px;padding:3px 14px;color:#ffff66!important;border-color:#071d0b;box-shadow:inset 1px 1px #b2ef7d,inset -1px -1px #258706;background:linear-gradient(#72ea34,#53bb21 85%,#258706);text-shadow:1px 1px 0 #071d0b;animation:guild-pulse 1.6s ease-in-out infinite}
@keyframes guild-pulse{50%{box-shadow:inset 1px 1px #b2ef7d,inset -1px -1px #258706,0 0 8px 2px #b2ef7d99}}
/* NPC creation form sits on the blue native NPC board: same layout, blue native bevels */
.npc-guild-controls{position:absolute;left:22px;right:22px;top:100px;display:flex;flex-direction:column;gap:8px;color:#e6ecff;font:13px/1.5 var(--g-font);text-shadow:1px 1px 1px #000}
.npc-guild-controls[hidden],.npc-guild-controls [hidden]{display:none!important}
.npc-guild-controls h4{margin:0;color:var(--g-gold);font:bold 16px/22px var(--g-font);letter-spacing:2px}
.npc-guild-controls p{margin:0;overflow-wrap:anywhere}
.npc-guild-description{font-size:12px;color:#c8d4f0}
.npc-guild-field{position:relative;display:flex}
.npc-guild-controls .guild-input{background:#020a24;border-color:#2a4a9a;box-shadow:inset 1px 1px #000,inset -1px -1px #4a6ac0;color:#f0f4ff}
.npc-guild-field .guild-input{flex:1;width:100%;font-size:14px;min-height:34px;padding-right:62px}
.npc-guild-count{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:12px;color:#8fa0d0;font-variant-numeric:tabular-nums;pointer-events:none;text-shadow:none}
.npc-guild-count.is-over{color:var(--g-danger)}
.npc-guild-chip{align-self:flex-start;padding:0 7px;border:1px solid #2a4a9a;background:#020a24;font-size:12px;line-height:19px;color:#c8d4f0;text-shadow:none}
.npc-guild-chip[data-state=available]{color:var(--g-good);border-color:#4a9a3a}
.npc-guild-chip[data-state=checking]{color:var(--g-gold);border-color:#8a7a30}
.npc-guild-chip[data-state=invalid]{color:var(--g-danger);border-color:#a0573e}
.npc-guild-controls .guild-button{font-size:13px;min-height:32px;color:#e8f0ff;border-color:#000418;box-shadow:inset 1px 1px #9cb8f0,inset -1px -1px #0a1438;background:linear-gradient(90deg,#10204e,#2a4a90 55%,#5a7ac0)}
.npc-guild-controls .guild-button.is-primary{color:#fff6d0;border-color:#1a1000;box-shadow:inset 1px 1px #f8e090,inset -1px -1px #3a2404;background:linear-gradient(90deg,#5a3a08,#a07018 55%,#e0b040);text-shadow:1px 1px 0 #000}
.npc-guild-actions{display:flex;gap:6px}.npc-guild-actions>.guild-button{flex:1}
.npc-guild-confirm{display:flex;flex-direction:column;gap:8px;padding:8px 10px;border:1px solid #4a6ac0;background:#06123acc;box-shadow:inset 0 0 0 1px #0a1438}
.npc-guild-confirm[hidden]{display:none!important}
.npc-guild-confirm-actions{display:flex;justify-content:flex-end;gap:6px}.npc-guild-confirm-actions .guild-button{min-width:84px}
.npc-guild-result{color:#f1d48d;font-size:12px}
/* Phones: stack the rows */
@media(max-width:639px){
  .guild-manager{left:8px;top:4%;width:calc(100% - 16px);max-height:calc(100% - 120px)}
  .guild-header{cursor:default;padding-inline:6px}.guild-header h2{font-size:17px;letter-spacing:2px}
  .guild-tabs{margin-inline:6px}.guild-tab{font-size:15px;letter-spacing:1px;padding:0 3px}
  .guild-content{padding:8px 6px}.guild-footer{margin-inline:6px}
  .guild-stats{grid-template-columns:1fr}.guild-stat,.guild-direct-details{grid-template-columns:84px minmax(0,1fr)}
  .guild-member,.guild-member-heading{grid-template-columns:minmax(70px,1fr) 76px 64px;gap:4px;padding-inline:6px}
  .guild-member-level,.guild-member-heading>:nth-child(2){display:none}
  .guild-member{min-height:40px}
  .guild-button{min-height:36px;padding-inline:10px}.guild-button.is-small{min-height:30px}
  .guild-card-head>h3,.guild-card>h3{letter-spacing:3px;gap:4px}
  .guild-invitation,.guild-invite-pill{top:auto;bottom:190px}
}
/* Short screens */
@media(max-height:620px){
  .guild-manager{top:6px;max-height:calc(100% - 80px)}
  .guild-members{max-height:150px}.guild-tabpanel{min-height:0}.guild-tabs{height:32px}.guild-tab{min-height:30px;font-size:14px}
}
@media(prefers-reduced-motion:reduce){.guild-button{transition:none}.guild-manager,.guild-confirm,.guild-invitation,.guild-invite-pill{animation:none}}
