/* A játéklapok közös stílusa (gf-ui.js, pages-*.js): fülsor, kártyák, űrlapok, táblák, és a lapok saját elemei. */
.gf-page{display:flex;flex-direction:column;gap:20px;min-width:0}
.gf-page>*{min-width:0}
.btn.danger{background:transparent;color:var(--red);border-color:#e69c9166}
.btn.danger:hover{background:#e69c9112;border-color:var(--red)}
.btn:disabled,.btn[disabled]{opacity:.45;transform:none;cursor:not-allowed}
.muted{color:var(--muted)}
.gf-pad{padding:18px 22px 0}
.gf-lead{color:var(--muted);font-size:12px;max-width:820px}
.gf-subhead{font-size:12px;font-weight:800;letter-spacing:.3px;margin:18px 0 10px;color:var(--text)}
.gf-num{width:74px;padding:7px 9px;text-align:right}
.gf-num.wide{width:120px;text-align:left}

/* Fülsor: az éles almenük megfelelője */
.gf-tabs{display:flex;gap:2px;margin:-6px 0 20px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:thin}
.gf-tabs a{display:inline-flex;align-items:center;gap:7px;padding:11px 14px;color:var(--muted);font-size:11.5px;font-weight:700;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px}
.gf-tabs a:hover{color:var(--text)}
.gf-tabs a.active{color:var(--copper-light);border-bottom-color:var(--copper)}
.gf-tabs .icon{width:14px;height:14px}
.gf-tab-badge{font-style:normal;min-width:18px;height:18px;padding:0 5px;border-radius:9px;display:inline-grid;place-items:center;background:#cda37022;color:var(--copper-light);font-size:9.5px;font-weight:800}

/* Kártya, rácsok */
.gf-card .gf-card-body{padding:18px 22px 20px}
.gf-card .gf-card-body.flush{padding:0}
.gf-card .card-header h2 .icon{color:var(--copper)}
.gf-grid{display:grid;gap:20px;min-width:0}
.gf-grid>*{min-width:0}
.gf-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.gf-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gf-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.gf-grid-tablak{grid-template-columns:repeat(auto-fit,minmax(min(100%,580px),1fr))}
.gf-form .gf-grid{gap:12px}
.gf-split{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}
.gf-split-main,.gf-split-side{display:flex;flex-direction:column;gap:20px;min-width:0}
.gf-sticky{position:sticky;top:16px}

/* Űrlapok */
.gf-form{display:flex;flex-direction:column;gap:12px}
.gf-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.gf-field-label{font-size:10.5px;font-weight:700;color:var(--muted);display:flex;align-items:center;gap:6px}
.gf-field-label img{width:16px;height:16px}
.gf-field-label .text-button{margin-left:auto;font-size:9.5px}
.gf-field input,.gf-field select,.gf-field textarea{width:100%;font-size:12px}
.gf-field textarea{resize:vertical;line-height:1.55}
.gf-field select[multiple]{padding:4px}
.gf-field.compact{flex-direction:row;align-items:center;gap:8px}
.gf-field.compact select{width:auto}
.gf-hint{font-size:9.5px;color:var(--subtle)}
.gf-check{display:flex;align-items:center;gap:9px;font-size:11.5px;padding:6px 0;cursor:pointer}
.gf-check input{width:16px;height:16px;accent-color:var(--copper);flex:none}
.gf-check small{color:var(--subtle)}
.gf-check img{width:18px;height:18px;object-fit:contain}
.gf-inline-form{flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:10px}
.gf-inline-form .gf-field{flex:1 1 180px}
.gf-filter-form{flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:16px}
.gf-filter-form .gf-field{flex:0 1 200px}
.gf-filter-form .text-button{align-self:center}
.gf-form-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:6px}
.gf-radio-group{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.gf-radio-group legend{font-size:10.5px;font-weight:700;color:var(--muted);margin-bottom:6px;width:100%}
.gf-radio{position:relative;cursor:pointer}
.gf-radio input{position:absolute;opacity:0}
.gf-radio span{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--line);border-radius:7px;font-size:11px;color:var(--muted)}
.gf-radio span img{width:16px;height:16px}
.gf-radio input:checked+span{border-color:var(--copper);color:var(--copper-light);background:#cda3700e}
.gf-radio input:focus-visible+span{outline:2px solid var(--copper-light);outline-offset:2px}
.gf-radio.block{display:block;margin-bottom:8px}
.gf-radio.block span{width:100%}
.gf-fieldset{border:0;padding:0;margin:0;min-width:0}
.gf-fieldset:disabled{opacity:.5}
.gf-checks{border:1px solid var(--line);border-radius:9px;padding:10px 14px;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:0 14px}
.gf-checks legend{font-size:10.5px;font-weight:800;color:var(--copper);padding:0 6px}
.gf-details{border:1px solid var(--line);border-radius:9px;margin-top:10px}
.gf-details summary{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;font-size:11px;font-weight:700;list-style:none}
.gf-details summary::-webkit-details-marker{display:none}
.gf-details summary .icon{width:15px;height:15px;color:var(--copper)}
.gf-details>.gf-form{padding:0 12px 12px}
.gf-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.gf-toolbar .search input{width:220px}
.gf-btn-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.gf-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* Táblák és adatsorok */
.gf-table-wrap{overflow-x:auto;margin:0 -2px;scrollbar-width:thin}
.gf-table{min-width:100%}
.gf-table th{padding:11px 12px;white-space:nowrap}
.gf-table td{padding:11px 12px;vertical-align:middle}
.gf-table td small{display:block;color:var(--subtle);font-size:9.5px;margin-top:2px}
.gf-table td.center,.gf-table th.center{text-align:center}
.gf-table td.mono,.gf-table th.mono{font-variant-numeric:tabular-nums;white-space:nowrap}
.gf-table tr.gf-unread td{background:#cda37008}
.gf-table tr.gf-unread td b{color:var(--copper-light)}
.gf-table tr.gf-me td{background:#9abb9e0e}
.gf-table input[type=number],.gf-table input[type=text]{padding:7px 9px;width:84px;text-align:right}
.gf-table select{padding:6px 8px}
.gf-table tfoot td{font-weight:800;border-top:1px solid var(--line)}
.gf-wide-table td,.gf-wide-table th{padding:9px 8px}
.gf-th-art{display:inline-block;width:30px;height:24px;position:relative}
.gf-th-art .building-art{position:absolute;inset:0;transform:none!important}
.gf-empty{display:flex;align-items:center;gap:10px;padding:18px;border:1px dashed var(--line);border-radius:9px;color:var(--muted);font-size:11.5px}
.gf-empty .icon{width:18px;height:18px;color:var(--subtle);flex:none}
.gf-note{display:flex;gap:9px;align-items:flex-start;padding:10px 12px;margin:10px 0;border:1px solid #98bfd033;background:#98bfd00a;border-radius:8px;font-size:11px;color:var(--muted)}
.gf-note .icon{width:16px;height:16px;flex:none;color:var(--blue)}
.gf-note.warn{border-color:#cda37040;background:#cda3700a}
.gf-note.warn .icon{color:var(--copper)}
.gf-note.danger{border-color:#e69c9140;background:#e69c910a}
.gf-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.gf-stats>div{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.gf-stats .icon{grid-row:1/3;width:18px;height:18px;color:var(--copper)}
.gf-stats b{font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gf-stats small{font-size:9.5px;color:var(--subtle)}
.gf-dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 22px;margin:0 0 12px}
.gf-dl>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:11.5px}
.gf-dl dt{color:var(--muted)}
.gf-dl dd{margin:0;font-weight:700;text-align:right}
.gf-progress{height:6px;border-radius:3px;background:#0f181c;border:1px solid var(--line);overflow:hidden;min-width:60px;flex:1}
.gf-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--copper),var(--copper-light))}
.gf-res{display:inline-flex;flex-wrap:wrap;gap:4px 12px;font-variant-numeric:tabular-nums;font-size:11px}
.gf-res>span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.gf-res img{width:15px;height:15px;object-fit:contain}
.gf-unit{display:inline-flex;align-items:center;gap:9px;min-width:0}
.gf-unit .unit-art{width:30px;height:30px;object-fit:contain;flex:none}
.gf-unit small{display:block;color:var(--subtle);font-size:9.5px}
.gf-player,.gf-coord{color:var(--copper-light);font-weight:700}
.gf-player:hover,.gf-coord:hover{text-decoration:underline}
.gf-coord{font-variant-numeric:tabular-nums;background:none;padding:0}
.gf-rules{margin:0 0 12px;padding-left:18px;color:var(--muted);font-size:11px;line-height:1.8}
.gf-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.gf-chips .chip{font-size:10.5px;padding:6px 10px}
.seg-link{padding:7px 12px;border-radius:5px;color:var(--muted);font-size:11px}
.seg-link.active{background:var(--surface-raised);color:var(--copper-light)}

/* Épületlapok */
.gf-building-head{display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:20px;padding:16px 22px}
.gf-building-art{width:110px;height:86px;position:relative;display:block}
.gf-building-art .building-art{position:absolute;inset:0}
.gf-building-head h2{font-family:var(--display);font-size:28px;font-weight:600;margin:3px 0}
.gf-building-head p{color:var(--muted);font-size:11px}
.gf-building-head-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.gf-bcell{display:flex;align-items:center;gap:12px}
.gf-bthumb{width:54px;height:42px;position:relative;flex:none}
.gf-bthumb .building-art{position:absolute;inset:0}
.gf-req{display:flex;flex-wrap:wrap;gap:4px}
.gf-build-table td:last-child{text-align:right}
.gf-unit-strip{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-bottom:12px}
.gf-unit-strip>span{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-variant-numeric:tabular-nums}
.gf-unit-strip img{width:24px;height:24px;object-fit:contain}
.gf-strip-total{margin-left:auto;color:var(--muted)}
.gf-pop{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;margin-top:10px}
.gf-pop .icon{width:15px;height:15px;color:var(--copper)}
.gf-statline{color:var(--subtle);font-size:9.5px;margin-top:3px}
.gf-train-input{display:flex;align-items:center;gap:8px;justify-content:flex-end}
.gf-train-input input[type=range]{width:110px;accent-color:var(--copper)}
.gf-train-input .text-button{font-size:10px;white-space:nowrap}
.gf-train-table td:nth-child(3){text-align:center}
.gf-train-totals{display:flex;flex-wrap:wrap;gap:4px 18px}
.gf-train-totals .summary-line{border:0;padding:0;gap:8px}
.gf-mass-table input{width:62px!important}
.gf-paladin{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;align-items:center}
.gf-paladin-art .unit-art{width:72px;height:72px;object-fit:contain}
.gf-paladin p{font-size:11px;color:var(--muted);margin:8px 0 12px}
.gf-weapons{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.gf-weapon{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#152228;font-size:11px;text-align:center}
.gf-weapon img{width:34px;height:34px;object-fit:contain}
.gf-weapon small{color:var(--subtle);font-size:9px}
.gf-weapon.active{border-color:var(--copper);background:#cda3700e}
.gf-weapon.locked{opacity:.45}
.gf-chests{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.gf-chest{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#152228}
.gf-chest>.icon{width:26px;height:26px;color:var(--subtle)}
.gf-chest.ready{border-color:#cda37055}
.gf-chest.ready>.icon{color:var(--copper)}
.gf-chest b{display:block;font-size:12.5px}
.gf-chest span,.gf-chest small{display:block;font-size:10px;color:var(--muted)}
.gf-res-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.gf-village-info{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;align-items:start}
.gf-village-info img{width:120px;height:86px;object-fit:contain}

/* Gyülekezőhely */
.gf-target{position:relative}
.gf-target-hits{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.gf-target-hits a{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#152228}
.gf-target-hits a:hover{border-color:var(--copper)}
.gf-target-hits img{width:42px;height:30px;object-fit:contain}
.gf-target-hits small{display:block;color:var(--subtle);font-size:9.5px}
.gf-target-info{display:grid;grid-template-columns:96px minmax(0,1fr);gap:4px 16px;align-items:center;margin-bottom:12px}
.gf-target-info img{width:96px;height:70px;object-fit:contain;grid-row:1/3}
.gf-target-info .gf-dl{margin:0}
.gf-send-table td{padding:7px 12px}
.gf-send-input{display:flex;align-items:center;gap:8px;justify-content:flex-end}
.gf-send-input input{width:96px!important}
.gf-send-input .text-button{font-size:10px}
.gf-cmd-summary .gf-stats>div{padding:9px 11px}
.gf-cmd-summary .gf-stats b{font-size:13px}
.gf-move-type{display:inline-flex;align-items:center;gap:6px;color:var(--move);font-weight:700;white-space:nowrap}
.gf-move-type .icon{width:14px;height:14px}
.gf-scavenge{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.gf-scav{padding:16px}
.gf-scav header{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.gf-scav header>div{flex:1}
.gf-scav header small{display:block;color:var(--subtle);font-size:9.5px}
.gf-scav-n{width:34px;height:34px;display:grid;place-items:center;border:1px solid #cda37044;border-radius:50%;font-family:var(--display);font-size:16px;color:var(--copper-light)}
.gf-scav.locked{opacity:.75}
.gf-scav p{font-size:11px;margin:6px 0}
.gf-scav-units,.gf-tpl-units{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px;margin-bottom:10px}
.gf-scav-units label,.gf-tpl-units label{display:flex;align-items:center;gap:4px;padding:4px 6px;border:1px solid var(--line);border-radius:7px;background:#141f24}
.gf-scav-units img,.gf-tpl-units img{width:22px;height:22px;object-fit:contain;flex:none}
.gf-scav-units input,.gf-tpl-units input{width:100%;padding:5px 6px;border:0;background:transparent;text-align:right}
.gf-sim-table input{width:96px!important}
.gf-result-win{border-color:#9abb9e66}
.gf-result-loss{border-color:#e69c9166}
.gf-services{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.gf-service{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 14px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);align-items:start}
.gf-service>.icon{width:26px;height:26px;color:var(--subtle);grid-row:1/4}
.gf-service.on{border-color:#9abb9e55}
.gf-service.on>.icon{color:var(--green)}
.gf-service b{font-size:13px}
.gf-service p{font-size:11px;color:var(--muted);margin:3px 0}
.gf-service small{font-size:10px;color:var(--subtle)}
.gf-service .btn{grid-column:2;justify-self:start}

/* Jelentések, levelek, csevegő, értesítések */
.gf-back{margin-bottom:-6px}
.gf-report-head{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:9px;border:1px solid #9abb9e33;background:#9abb9e0a;margin-bottom:12px;color:var(--green)}
.gf-report-head.loss{border-color:#e69c9133;background:#e69c910a;color:var(--red)}
.gf-report-head .icon{width:22px;height:22px}
.gf-report-head small{display:block;color:var(--muted);font-size:10px}
.gf-share-link{width:100%;margin:6px 0 10px;font-size:11px}
.gf-mail-body{padding:16px;border:1px solid var(--line);border-radius:9px;background:#141f24;font-size:12.5px;line-height:1.7;margin:12px 0}
.gf-star{background:none;font-size:16px;color:var(--subtle);padding:0 2px}
.gf-star.on{color:var(--copper-light)}
.gf-chat-card .gf-card-body{padding:0}
.gf-chat{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:560px}
.gf-chat-rooms{border-right:1px solid var(--line);display:flex;flex-direction:column;overflow-y:auto}
.gf-chat-room{display:flex;align-items:center;gap:10px;padding:12px 14px;background:none;text-align:left;border-bottom:1px solid #26343a}
.gf-chat-room:hover{background:#ffffff06}
.gf-chat-room.active{background:#cda3700c;box-shadow:inset 3px 0 var(--copper)}
.gf-chat-room>span:nth-child(2){flex:1;min-width:0}
.gf-chat-room b{display:block;font-size:11.5px}
.gf-chat-room small{display:block;color:var(--subtle);font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gf-chat-room .avatar{width:32px;height:32px;font-size:17px;flex:none}
.gf-chat-room .avatar .icon{width:16px;height:16px}
.gf-chat-room .muted-ic{width:13px;height:13px;color:var(--subtle)}
.gf-chat-start{margin-top:auto;padding:12px;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line)}
.gf-chat-start .gf-inline-form{flex-wrap:nowrap}
.gf-chat-start select{flex:1;min-width:0}
.gf-chat-pane{display:flex;flex-direction:column;min-width:0}
.gf-chat-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--line)}
.gf-chat-head small{display:block;color:var(--subtle);font-size:9.5px}
.gf-chat-msgs{flex:1;overflow-y:auto;max-height:440px;padding:12px 16px;display:flex;flex-direction:column;gap:12px}
.gf-chat-msgs>.text-button{align-self:center}
.gf-msg{display:flex;gap:9px;align-items:flex-end;max-width:85%}
.gf-msg .avatar{width:28px;height:28px;font-size:15px;flex:none}
.gf-msg>div{padding:9px 12px;border-radius:12px 12px 12px 3px;background:#22323a;border:1px solid #2f4148}
.gf-msg b{font-size:10.5px;color:var(--copper-light)}
.gf-msg p{font-size:12px;margin:2px 0}
.gf-msg small{font-size:9px;color:var(--subtle)}
.gf-msg small .text-button{font-size:9px;padding:0}
.gf-msg.mine{align-self:flex-end;flex-direction:row-reverse}
.gf-msg.mine>div{border-radius:12px 12px 3px 12px;background:#cda37018;border-color:#cda37033}
.gf-chat-write{flex-direction:row;align-items:flex-end;padding:12px 16px;border-top:1px solid var(--line)}
.gf-chat-write textarea{flex:1;resize:none}
.gf-chat.compact{grid-template-columns:1fr;min-height:0}
.gf-chat.compact .gf-chat-rooms{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}
.gf-chat.compact .gf-chat-room{flex:none;border:0;padding:8px 10px}
.gf-chat.compact .gf-chat-room small,.gf-chat.compact .gf-chat-start,.gf-chat.compact .gf-chat-head .gf-btn-row{display:none}
.gf-chat.compact .gf-chat-msgs{max-height:300px}
#gf-chat-dock{position:fixed;right:22px;bottom:22px;z-index:45}
#gf-chat-dock[hidden]{display:none}
.gf-dock-button{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--copper);color:#1c2427;box-shadow:0 12px 30px #0007;position:relative}
.gf-dock-button .icon{width:24px;height:24px}
.gf-dock-button i{position:absolute;top:-3px;right:-3px;min-width:20px;height:20px;border-radius:10px;background:var(--red);color:#1b1310;font-size:10px;font-weight:800;font-style:normal;display:grid;place-items:center;padding:0 5px}
.gf-dock-panel{width:380px;max-width:calc(100vw - 32px);background:#1c292f;border:1px solid #52626a;border-radius:14px;box-shadow:0 24px 70px #000a;overflow:hidden}
.gf-dock-panel>header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}
.gf-dock-panel>header b{flex:1;display:flex;align-items:center;gap:8px}
.gf-dock-panel>header .icon{width:16px;height:16px;color:var(--copper)}
.gf-dock-panel .icon-button{width:32px;height:32px}
.gf-notice{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--line)}
.gf-notice>.icon{width:18px;height:18px;color:var(--subtle);flex:none}
.gf-notice a{flex:1;min-width:0;font-size:12px}
.gf-notice a small{display:block;color:var(--subtle);font-size:9.5px}
.gf-notice.unread>.icon{color:var(--copper)}
.gf-notice.unread a span{font-weight:700}

/* Klán */
.clan-banner .gf-crest{width:96px;height:100px;flex:none;filter:drop-shadow(0 6px 12px #0008)}
.gf-crest{display:block}
.gf-crest-editor{display:grid;grid-template-columns:200px minmax(0,1fr);gap:22px}
.gf-crest-preview{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.gf-crest-preview .gf-crest{width:150px;height:156px}
.gf-crest-preview small{color:var(--subtle);font-size:9.5px}
.gf-crest-tabs{margin-bottom:12px;flex-wrap:wrap}
.gf-crest-editor h4{font-size:10.5px;color:var(--muted);margin:12px 0 6px}
.gf-crest-pick{display:flex;flex-wrap:wrap;gap:6px}
.gf-crest-opt{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;cursor:pointer;font-size:10px;color:var(--muted);min-width:44px}
.gf-crest-opt input{position:absolute;opacity:0}
.gf-crest-opt svg{width:30px;height:32px}
.gf-crest-opt.on{border-color:var(--copper);color:var(--copper-light);background:#cda3700e}
.gf-crest-opt:focus-within{outline:2px solid var(--copper-light)}
.gf-swatch{width:22px;height:22px;border-radius:50%;border:1px solid #0006;display:block}
.gf-crest-presets{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}
.gf-crest-preset{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#152228;font-size:10px;color:var(--muted)}
.gf-crest-preset:hover{border-color:var(--copper)}
.gf-crest-preset .gf-crest{width:52px;height:54px}
.gf-level{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin-bottom:10px}
.gf-level b{font-family:var(--display);font-size:26px}
.gf-level span{font-size:11px;color:var(--muted)}
.gf-quest-line{display:flex;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);font-size:11.5px}
.gf-quest-line>div{flex:0 1 50%;min-width:0}
.gf-quest-line small{display:block;color:var(--copper);font-size:9.5px}
.gf-war{border:1px solid #e69c9133;border-radius:10px;padding:12px 14px;margin-bottom:12px}
.gf-war header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.gf-post{padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:#152228;margin:10px 0}
.gf-post header{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px;font-size:11px}
.gf-post header small{color:var(--subtle)}
.gf-post p{font-size:12px;line-height:1.7}
.gf-post.staff{border-color:#98bfd044;background:#98bfd00a}
.gf-trophy{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.gf-trophy>.icon{width:22px;height:22px;color:var(--copper)}
.gf-trophy div{flex:1}
.gf-trophy small{display:block;color:var(--subtle);font-size:9.5px}

/* Események, világok, meghívó, szavazás, beállítások */
.gf-event{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--line);align-items:center}
.gf-event img{width:90px;height:64px;object-fit:cover;border-radius:8px}
.gf-event p{font-size:11px;color:var(--muted);margin:3px 0}
.gf-event small{font-size:10px;color:var(--copper)}
.gf-event:not(:has(img)){grid-template-columns:1fr}
.gf-worlds{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.gf-world{padding:16px}
.gf-world header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.gf-world header b{font-family:var(--display);font-size:20px}
.gf-world.active{border-color:#9abb9e66}
.gf-lamp{width:12px;height:12px;border-radius:50%;background:var(--green);box-shadow:0 0 10px currentColor}
.gf-lamp.green{background:var(--green);color:var(--green)}
.gf-lamp.copper{background:var(--copper);color:var(--copper)}
.gf-lamp.red{background:var(--red);color:var(--red)}
.gf-world .gf-form{margin-top:8px}
.gf-copy{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.gf-copy input{flex:1 1 260px;font-size:11.5px}
.gf-poll-row{display:grid;grid-template-columns:minmax(0,1fr) 2fr 48px;gap:12px;align-items:center;padding:10px 0;font-size:12px}
.gf-poll-row.mine span{color:var(--copper-light);font-weight:700}
.gf-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.gf-toc{margin:-4px 0 18px}
.gf-link-list{display:flex;flex-direction:column;align-items:flex-start;gap:4px}

/* Küldetések, zászlók, bolt, profil */
.gf-quest{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--line);font-size:11.5px}
.gf-quest:hover b{color:var(--copper-light)}
.gf-quest.active{background:#cda3700c;box-shadow:inset 3px 0 var(--copper);padding-left:10px}
.gf-quest span:nth-child(2){flex:1;min-width:0}
.gf-quest small{display:block;color:var(--subtle);font-size:9.5px}
.gf-quest-ic{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;color:var(--subtle);flex:none}
.gf-quest-ic .icon{width:15px;height:15px}
.gf-quest.done .gf-quest-ic{color:var(--copper);border-color:#cda37055}
.gf-quest.claimed .gf-quest-ic{color:var(--green)}
.gf-flag{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:14px;align-items:center}
.gf-flag>.icon{width:28px;height:28px;color:var(--copper)}
.gf-flag p{font-size:11px;color:var(--muted)}
.gf-flags{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.gf-flag-card{padding:14px}
.gf-flag-card header{display:flex;gap:10px;align-items:flex-start;margin-bottom:6px}
.gf-flag-card header .icon{width:20px;height:20px;color:var(--copper);flex:none}
.gf-flag-card header small{display:block;color:var(--subtle);font-size:9.5px}
.gf-flag-card td{padding:8px 6px}
.gf-packages{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:12px 0}
.gf-package{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 14px;text-align:center}
.gf-package>.icon{width:28px;height:28px;color:var(--copper)}
.gf-package b{font-family:var(--display);font-size:24px}
.gf-package s{color:var(--subtle);font-size:10px}
.gf-package strong{font-size:15px}
.gf-looks{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.gf-look{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px;text-align:center}
.gf-look img{width:120px;height:86px;object-fit:contain}
.gf-look.active{border-color:#9abb9e66}
.gf-name-style{font-family:var(--display);font-size:24px;font-weight:700;padding:16px 0}
.gf-name-style.nev_arany{color:#ffd24a}.gf-name-style.nev_ezust{color:#e3e8ec}.gf-name-style.nev_bibor{color:#ff7c9c}.gf-name-style.nev_smaragd{color:#63e3a6}
.gf-name-style.nev_csillog{background:linear-gradient(90deg,#ffd24a,#fff4c2,#ffd24a);-webkit-background-clip:text;background-clip:text;color:transparent}
.gf-profile{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:start}
.avatar.big{width:72px;height:72px;font-size:38px;border-radius:14px}
.gf-profile-text{font-size:12px;color:var(--muted);margin:6px 0 14px;line-height:1.7}
.gf-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.gf-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px 14px;padding:14px;align-items:start}
.gf-item>.icon{width:26px;height:26px;color:var(--copper)}
.gf-item p{font-size:11px;color:var(--muted);margin-top:3px}
.gf-item .gf-form{grid-column:2/4}
.gf-awards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:12px}
.gf-award{padding:14px;display:flex;flex-direction:column;gap:7px}
.gf-award header{display:flex;align-items:center;gap:8px}
.gf-award header .icon{width:18px;height:18px;color:var(--copper)}
.gf-award p{font-size:11px;color:var(--muted)}
.gf-pips{display:flex;gap:4px}
.gf-pips i{flex:1;height:5px;border-radius:3px;background:#0f181c;border:1px solid var(--line)}
.gf-pips i.on{background:var(--copper);border-color:var(--copper)}
.gf-chart{width:100%;height:180px;margin-top:14px;background:linear-gradient(#ffffff06 1px,transparent 1px) 0 0/100% 25%;border:1px solid var(--line);border-radius:9px}
.gf-chart-axis{display:flex;justify-content:space-between;font-size:9.5px;color:var(--subtle);margin-top:6px}
.gf-note-link{display:block;padding:12px 0;border-bottom:1px solid var(--line)}
.gf-note-link b{display:block;font-size:12px}
.gf-note-link b small{color:var(--subtle);font-weight:400}
.gf-note-link span{font-size:11px;color:var(--muted)}

/* Áttekintés kiegészítései */
.gf-unread-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
.gf-unread-tile{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border:1px solid var(--line);border-radius:9px;background:#152228}
.gf-unread-tile .icon{width:17px;height:17px;color:var(--copper)}
.gf-unread-tile b{font-size:17px}
.gf-unread-tile small{font-size:9.5px;color:var(--subtle)}

/* Fejléc: helyezés, zászló, kilépés; gyorssáv a fejléc alatt */
#topbar-meta{display:flex;align-items:center;gap:6px}
.meta-chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:11px}
.meta-chip:hover{color:var(--text);border-color:#52636a}
.meta-chip .icon{width:15px;height:15px;color:var(--copper)}
.quickbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 32px;border-bottom:1px solid var(--line);background:#141e22;overflow-x:auto;scrollbar-width:none}
.quickbar-buildings,.quickbar-actions{display:flex;align-items:center;gap:4px}
.quickbar a,.quick-action{display:inline-flex;align-items:center;gap:7px;padding:5px 10px 5px 6px;border-radius:7px;color:var(--muted);font-size:10.5px;font-weight:700;white-space:nowrap;background:none;border:1px solid transparent}
.quickbar a:hover,.quick-action:hover,.quickbar a.active{color:var(--text);background:#ffffff07;border-color:var(--line)}
.quick-art{width:30px;height:24px;position:relative;display:block;flex:none}
.quick-art .building-art{position:absolute;inset:0}
.quick-action .icon{width:15px;height:15px;color:var(--copper)}
.function-badge.danger{background:#e69c9120;border-color:#e69c9150;color:var(--red)}

/* Fejlesztői nézet: a bekötési pontok látszanak */
body.gf-dev [data-gf],body.gf-dev [data-gf-ref]{outline:1px dashed #5aa7e0aa;outline-offset:2px}
body.gf-dev form[data-gf]{outline:1px dashed #5aa7e055;outline-offset:4px}
body.gf-dev [data-gf]:hover,body.gf-dev [data-gf-ref]:hover{outline:2px solid #5aa7e0}
#gf-dev-panel{position:fixed;left:16px;bottom:16px;z-index:60;width:340px;max-width:calc(100vw - 32px);background:#0e1519f2;border:1px solid #5aa7e066;border-radius:12px;box-shadow:0 18px 50px #000a;font-size:10.5px;padding:10px 12px}
#gf-dev-panel header{display:flex;align-items:center;gap:8px;margin-bottom:6px}
#gf-dev-panel header span{flex:1;color:var(--subtle)}
#gf-dev-panel .icon-button{width:26px;height:26px}
#gf-dev-hover{padding:8px;border:1px solid var(--line);border-radius:7px;background:#141f24;line-height:1.6;word-break:break-word}
#gf-dev-hover span{color:var(--subtle)}
#gf-dev-panel code{color:#8fd0ff}
#gf-dev-panel ol{margin:6px 0 0;padding-left:16px;color:var(--muted);max-height:120px;overflow:auto}
.gf-tour-mark{outline:3px solid var(--copper-light)!important;outline-offset:4px;border-radius:8px;box-shadow:0 0 0 9999px #00000055}

@media(max-width:1280px){.gf-split{grid-template-columns:minmax(0,1fr) 320px}.gf-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.quickbar{padding:6px 24px}.quickbar a>span:not(.quick-art){display:none}.quickbar a{padding:4px}}
@media(max-width:1100px){.gf-split{grid-template-columns:minmax(0,1fr)}.gf-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.gf-settings-grid{grid-template-columns:minmax(0,1fr)}.gf-sticky{position:static}.gf-chat{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:760px){
  .gf-tabs{margin:-8px -18px 16px;padding:0 12px}
  .gf-tabs a{padding:10px 11px;font-size:11px}
  .gf-grid-2,.gf-grid-3,.gf-grid-4,.gf-res-inputs{grid-template-columns:minmax(0,1fr)}
  .gf-card .gf-card-body{padding:16px}
  .gf-building-head{grid-template-columns:72px minmax(0,1fr);padding:14px 16px;gap:12px}
  .gf-building-art{width:72px;height:58px}
  .gf-building-head h2{font-size:22px}
  .gf-building-head-actions{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center}
  .gf-table td,.gf-table th{padding:9px 8px;font-size:10.5px}
  .gf-train-input input[type=range]{display:none}
  .gf-train-table .gf-statline{display:none}
  .gf-crest-editor{grid-template-columns:minmax(0,1fr)}
  .gf-chat{grid-template-columns:minmax(0,1fr)}
  .gf-chat-rooms{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}
  .gf-chat-room{flex:none;border:0}
  .gf-chat-room small{display:none}
  .gf-chat-start{display:none}
  .gf-chat-msgs{max-height:55vh}
  #gf-chat-dock{right:14px;bottom:calc(76px + env(safe-area-inset-bottom))}
  .gf-dock-button{width:48px;height:48px}
  .gf-poll-row{grid-template-columns:1fr 60px;}
  .gf-poll-row .gf-progress{grid-column:1/-1;grid-row:2}
  .gf-village-info,.gf-profile{grid-template-columns:minmax(0,1fr)}
  .gf-flag{grid-template-columns:auto minmax(0,1fr)}
  .gf-flags{grid-template-columns:minmax(0,1fr)}
  .quickbar{padding:6px 12px}
  #topbar-meta{display:none}
  .gf-toolbar .search input{width:100%}
  .gf-toolbar .search{flex:1 1 100%}
  .gf-filter-form .gf-field{flex:1 1 140px}
  #gf-dev-panel{bottom:calc(80px + env(safe-area-inset-bottom))}
}

.wm-menu-links{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-top:12px}
.gf-note-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}
.gf-note-row .gf-note-link{flex:1;border:0}
.gf-inline-details{margin:0;border:0}
.gf-inline-details summary{padding:4px 8px;font-size:10px}
.gf-train-totals img{width:18px;height:18px;object-fit:contain}
.gf-train-totals .summary-line span{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}
.gf-train-totals .summary-line b{font-size:12px}
.gf-weapons{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}
.gf-chat-side{display:flex;flex-direction:column;border-right:1px solid var(--line);min-width:0}
.gf-chat-side .gf-chat-rooms{border-right:0;flex:1}
.gf-chat.compact .gf-chat-side{border-right:0}
@media(max-width:760px){.gf-chat-side{border-right:0}}
@media(max-width:760px){.gf-table .hide-m{display:none}.gf-table .btn.small{padding:6px 9px;min-height:30px}
/* A portyázó sorának gombjai telefonon 2×2-es rácsban, ne egymás alatt egy oszlopban. */
.gf-table .gf-farm-gombok{display:grid;grid-template-columns:repeat(2,minmax(34px,auto));gap:6px;justify-content:end}}
@media(max-width:1180px){#topbar-meta{display:none}}
/* A raktár kapacitása a fejlécben (élesben is külön elem, a Raktár lapjára visz). Keskeny fejlécben nem fér el:
   ott a Minden funkció menü Épületek szakaszából érhető el. */
.resource.storage small{color:var(--subtle)}
.resource.population small{white-space:nowrap}
@media(max-width:1360px){.resource.storage{display:none}}
/* Kinézet: az ár külön sorban, a gomb egy szó (a kártyák gombjai egy vonalban maradnak). */
.gf-look-price{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:11px;margin-top:-4px}
.gf-look-price .icon{width:13px;height:13px;color:var(--copper)}
.gf-look .btn,.gf-look .chip{margin-top:auto}
/* Világkártya: a csatlakozó űrlap alatt marad a Részletek, nem mellette lebeg. */
.gf-world .gf-btn-row:has(form){flex-direction:column;align-items:stretch}
.gf-world .gf-btn-row:has(form) .text-button{align-self:flex-start}
