/* IRON KINGDOMS R111 — SINGLE AUTHORED CSS BUNDLE.
   Game sources preserved in their original 96-link cascade order.
   Portal-specific styles scoped below; legacy R96 rejected stylesheet is NOT included.
   Keep semantic button modifiers at the end when introducing new components. */

@keyframes ik-ally-panel-in{from{opacity:.82;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@keyframes ik-r36-reveal{from{opacity:0;transform:translateY(5px);filter:brightness(.94)}to{opacity:1;transform:none;filter:none}}
@keyframes ik-r37-enter{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@keyframes ik-r40-village-fade{from{opacity:0}to{opacity:1}}
@scope (html:has(body.ik-r111-game)) {
/* ---- GAME : style.css ---- */
:scope{--bg:#151a17;--panel:#202823;--panel2:#263029;--line:#465146;--line2:#313d33;--cream:#ece4d4;--muted:#a9b0a0;--gold:#d7b77a;--goldDark:#8d7047;--danger:#dd8d73;--green:#93ba8b}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--cream);font-family:Georgia,'Palatino Linotype',serif}button,select,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.topbar{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 30px;background:linear-gradient(115deg,var(--ik-theme-surface),var(--ik-theme-deep) 60%,var(--ik-theme-surface));border-bottom:1px solid #6c6047}.brand{display:flex;gap:13px;align-items:center;min-width:220px}.brand .crest{font-size:37px;color:var(--gold)}.brand strong{font-size:18px;letter-spacing:.16em;display:block}.brand small,.resource small{font-family:Arial,sans-serif;letter-spacing:.13em;color:var(--muted);font-size:9px;display:block;margin-top:5px}.resources{display:flex;flex-wrap:wrap;align-items:center;gap:24px}.resource{display:flex;align-items:center;gap:11px;min-width:112px}.resource>span{font-size:25px;filter:saturate(.65)}.resource strong{font-size:19px}select,input{border-radius:5px;background:var(--ik-theme-deep);color:var(--cream);border:1px solid var(--ik-theme-border-soft);padding:10px;max-width:100%}#world-switch{min-width:175px;font-size:13px}
.tabs{height:58px;background:var(--ik-theme-surface);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:3px;padding:0 25px}.nav{background:transparent;color:var(--ik-theme-ink);border:0;padding:16px 15px;font:13px Arial,sans-serif;letter-spacing:.02em;border-bottom:2px solid transparent;height:100%}.nav:hover{color:var(--gold)}.nav.active{color:#efd6a3;border-bottom-color:var(--gold)}.location{margin-left:auto;display:flex;align-items:center;gap:15px;font:12px Arial;color:#d9cbad}.location span+span{color:var(--gold)}
main{max-width:1650px;margin:auto;padding:22px 26px;min-height:calc(100vh - 194px)}.view{display:none}.view.active{display:block}.scenewrap{height:min(65vh,720px);min-height:410px;position:relative;overflow:hidden;border:1px solid #64705c;box-shadow:0 0 0 4px #181c17,0 12px 35px #090d0a;border-radius:6px;background:#596e64}.scenewrap canvas{width:100%;height:100%;display:block;cursor:grab}.scenewrap canvas:active{cursor:grabbing}.scene-label{position:absolute;left:30px;top:28px;z-index:2;pointer-events:none;text-shadow:0 2px 9px var(--ik-theme-shadow)}.scene-label.inline{position:static;text-shadow:none;margin-bottom:20px}.eyebrow{font:11px Arial,sans-serif;letter-spacing:.24em;color:#dfbe83;margin-bottom:12px}h1{font-size:37px;letter-spacing:.02em;font-weight:normal;margin:0 0 8px}h3{font-weight:normal;color:#f0d6a7;font-size:21px;margin:0 0 12px}p{line-height:1.5;color:var(--muted);font:13px/1.7 Arial,sans-serif}.scene-label p{color:#e4e8de;font-size:13px;margin:0}.scene-controls{position:absolute;right:19px;top:18px;display:flex;gap:6px}.scene-controls button{background:color-mix(in srgb, var(--ik-theme-surface) 78.8%, transparent);border:1px solid var(--ik-theme-border-strong);color:#ffefd3;border-radius:4px;padding:10px 14px}.scene-status{position:absolute;bottom:14px;left:20px;background:color-mix(in srgb, var(--ik-theme-surface) 72.5%, transparent);padding:6px 10px;border:1px solid var(--ik-theme-border-strong);font:10px Arial,sans-serif;letter-spacing:.1em;color:#d7dece}.scene-footer{display:flex;justify-content:space-between;align-items:center;background:var(--ik-theme-surface);border:1px solid var(--ik-theme-border-soft);border-top:0;padding:18px 23px;gap:20px}.scene-footer strong,.scene-footer span{display:block}.scene-footer span{font:12px Arial;color:var(--muted);margin-top:5px}.primary{background:linear-gradient(#ddc08d,#b88b52);border:1px solid #ead19e;border-radius:4px;padding:12px 17px;color:#242119;font:600 12px Arial,sans-serif;white-space:nowrap}.primary:hover{filter:brightness(1.12)}.page-title{display:flex;justify-content:space-between;gap:24px;margin-bottom:24px;align-items:flex-start}.page-title p{margin:0}.queue-card{background:var(--panel);border:1px solid var(--line);padding:15px;min-width:330px;border-radius:5px}.queue-card strong{display:block;color:var(--gold);font-weight:normal}.queue-card small{font:11px Arial;color:var(--muted)}#queue-items{font:12px Arial;margin-top:10px;line-height:1.6}
.building-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.building{background:linear-gradient(135deg,var(--ik-theme-surface),var(--ik-theme-surface));border:1px solid var(--ik-theme-border-soft);border-radius:6px;padding:18px;min-height:192px}.building:hover{border-color:#948362}.buildinghead{display:flex;justify-content:space-between;align-items:flex-start;gap:7px}.building h3{font-size:18px;margin:0 0 4px}.building .lv{color:var(--gold);font:12px Arial}.building .meta{color:var(--muted);font:11px Arial}.building .costs{display:flex;gap:14px;margin:18px 0 12px;font:12px Arial}.building .costs span{white-space:nowrap}.building .foot{display:flex;justify-content:space-between;align-items:center;gap:9px}.building .foot .time{font:11px Arial;color:var(--muted)}.building .foot button{font-size:11px}.building .locked{font:11px Arial;color:#c6a276;margin:12px 0}.building.maxed{border-color:var(--ik-theme-border-strong)}.building.maxed h3{color:var(--ik-theme-ink)}
.map-layout{display:grid;grid-template-columns:1fr 290px;gap:18px}#map-canvas{width:100%;height:575px;border:1px solid #68735d;border-radius:5px;background:#4b5f52;cursor:grab}.map-info,.panel{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:22px}.map-info .statrow{display:flex;justify-content:space-between;border-bottom:1px solid var(--line2);padding:13px 0;font:12px Arial}.map-info .statrow strong{color:#e3c797}.subtle{color:var(--muted);font-size:11px!important}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(250px,1fr));gap:17px}.panel label{display:block;font:12px Arial;color:var(--muted);margin:12px 0}.panel label input{display:block;width:100%;margin:7px 0}.panel .actions{display:flex;gap:8px}.actions input{width:130px}.panel button{margin-top:7px}
footer{font:10px Arial,sans-serif;letter-spacing:.1em;color:var(--ik-theme-muted);display:flex;justify-content:space-between;padding:14px 27px;border-top:1px solid var(--ik-theme-border-soft)}#toast{position:fixed;bottom:32px;right:30px;background:var(--ik-theme-surface-alt);border:1px solid #b49b68;border-radius:5px;padding:16px 20px;max-width:min(90vw,440px);color:#f3ddb3;font:13px/1.5 Arial;box-shadow:0 9px 40px #0009;opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .2s,transform .2s;z-index:10}#toast.visible{opacity:1;transform:translateY(0)}
@media(max-width:1180px){.topbar{flex-wrap:wrap}.resources{gap:13px}.topbar>.brand{min-width:210px}}@media(max-width:760px){.topbar{padding:15px}.brand strong{font-size:14px}.resources{justify-content:space-between;gap:10px;width:100%}.resource{min-width:42%;margin-bottom:8px}.tabs{overflow-x:auto;padding:0 6px}.nav{padding:14px 10px;white-space:nowrap}.location{display:none}main{padding:15px}.scenewrap{min-height:350px;height:55vh}.scene-label{left:18px;top:20px}.scene-label h1{font-size:27px}.scene-label p{font-size:11px;max-width:190px}.scene-controls{top:auto;bottom:14px}.scene-footer{flex-direction:column;align-items:stretch}.page-title{flex-direction:column}.queue-card{min-width:0;width:100%}.map-layout{grid-template-columns:1fr}.admin-grid{grid-template-columns:1fr}footer{gap:9px;flex-wrap:wrap}}
/* Iron Kingdoms Alpha 0.2: refined portal-inspired game shell */
:scope{--bg:#14191a;--panel:#222726;--panel2:#292e29;--line:#6f6550;--line2:#383e37;--cream:#f0e5d2;--muted:#b7aea0;--gold:#dfbd81;--goldDark:#966e42;--danger:#d89182;--green:#9dbca4}
body{background:radial-gradient(ellipse at 50% -18%,var(--ik-theme-surface-alt),#15191b 64%)}.topbar{background:linear-gradient(100deg,color-mix(in srgb, var(--ik-theme-surface) 92.2%, transparent),#151a1eec),url('/assets/citadel.webp') center 42%/cover;border-bottom:1px solid #bc9a64a1;min-height:94px;gap:12px}.brand strong{font-weight:500;font-size:20px;letter-spacing:.12em}.brand .crest{font-family:Georgia,serif;font-size:43px}.brand small{color:#d5b37d}.resources{gap:15px}.resource{min-width:92px}.resource strong{font-size:17px}.game-account{display:flex;gap:11px;align-items:center;color:#e6d2af;font:12px Arial,sans-serif}.game-account .account-icon{font-size:21px;color:#d2b27e}.game-account .world-link,.game-account button{color:#e0c18f;background:transparent;border:1px solid #bd9b6f70;padding:9px;border-radius:3px;text-decoration:none;white-space:nowrap}.game-account .world-link:hover,.game-account button:hover{background:#a0835833}#world-switch{min-width:130px;max-width:174px;background:#131a1b;border-color:#9b8663}.tabs{background:var(--ik-theme-surface);border-bottom-color:#927c59}.nav.active{background:linear-gradient(0deg,#a9874530,transparent)}.scenewrap{border-color:#a58c66;border-radius:2px;box-shadow:0 0 0 4px #151917,0 20px 50px #0009}.scenewrap:after{content:'';pointer-events:none;position:absolute;inset:0;border:7px solid #121b1c4a}.scene-label{top:22px;left:23px;background:linear-gradient(90deg,#121b1bd9,transparent);padding:17px 45px 17px 16px}.scene-label h1{font-family:Georgia,serif}.scene-status{background:color-mix(in srgb, var(--ik-theme-surface) 86.3%, transparent);border-color:#a58e6b}.scene-footer{background:var(--ik-theme-surface);border:1px solid #a18a6260}.primary{background:linear-gradient(#deb981,#ae7c40);border-color:#f2d39b;border-radius:2px}.building,.queue-card,.panel,.map-info{border-radius:2px;background:linear-gradient(145deg,var(--ik-theme-surface-alt),var(--ik-theme-surface));border-color:#806e50}.buildinghead h3{color:#f2dcb9}.building:hover{border-color:#d1a971}.map-info,.panel{box-shadow:0 8px 30px #0003}.page-title h1{font-family:Georgia,serif}.tabs [hidden]{display:none}footer{color:#ad9e83;border-color:#8d7655}#toast{background:var(--ik-theme-surface);border-color:#bb996c;border-radius:2px}
@media(max-width:1470px){.topbar{flex-wrap:wrap;padding:12px 20px}.game-account{order:3}.resources{flex:1}}@media(max-width:750px){.game-account{order:4;flex-wrap:wrap}.resources{order:3;min-width:100%}}

/* R70-R58 village override */
body.ik-cinematic #view-village .scenewrap{width:800px!important;height:600px!important;min-width:800px!important;min-height:600px!important;max-width:800px!important;max-height:600px!important;}
body.ik-cinematic #view-village #village-canvas{width:800px!important;height:600px!important;min-width:800px!important;min-height:600px!important;max-width:800px!important;max-height:600px!important;}


/* ---- GAME : alpha03.css ---- */
/* Responsive shell: vh/dvh height, fluid column widths, no fixed-height assumptions. */
:scope{--header-h:clamp(68px,10dvh,118px);--tab-h:clamp(45px,6dvh,74px);--bg:#161E22;--panel:#243035;--gold:#DDB781;--line:#536463}
html,body{min-height:100dvh;background:#162125}
.topbar{min-height:var(--header-h);padding:clamp(7px,1.3dvh,19px) clamp(12px,1.7vw,30px)}
.tabs{height:var(--tab-h);padding-inline:clamp(8px,1.2vw,26px)}
main{max-width:none;min-height:calc(100dvh - var(--header-h) - var(--tab-h) - 45px);padding:clamp(9px,1.3dvh,21px) clamp(9px,1.3vw,28px)}
#view-village .scenewrap{height:clamp(370px,68dvh,1080px);min-height:0;border-radius:10px;isolation:isolate}
#view-village .scene-footer{padding:clamp(11px,1.5dvh,23px) clamp(13px,1.4vw,28px);border-radius:0 0 10px 10px}
#view-village .scene-label{padding:12px 30px 12px 14px;top:clamp(7px,1.1dvh,21px);left:clamp(7px,1vw,21px);background:linear-gradient(90deg,color-mix(in srgb, var(--ik-theme-deep) 91%, transparent),color-mix(in srgb, var(--ik-theme-deep) 0%, transparent));pointer-events:none}
#view-village .scene-label h1{font-size:clamp(21px,2vw,39px)}
#view-village .scene-status{font-size:clamp(9px,.7vw,12px)}
#view-world .map-topline{display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:12px;padding:5px 4px 13px}
#view-world .map-topline h1{font-size:clamp(24px,2.2vw,40px);margin:0 0 5px}
#view-world .map-topline p{margin:0}
.map-jump{display:flex;align-items:center;gap:7px;font:12px system-ui,sans-serif}
.map-jump input{max-width:72px;min-width:0;padding:9px 5px;text-align:center;background:#19292B;border:1px solid #687676}
.map-jump button{padding:10px 11px}
.map-layout-v3{display:grid;grid-template-columns:minmax(200px,clamp(210px,19vw,360px)) minmax(300px,1fr) minmax(198px,clamp(210px,18vw,325px));gap:clamp(8px,.9vw,19px);align-items:start;min-height:0}
.map-sidebar,.map-right-sidebar{display:flex;flex-direction:column;gap:clamp(9px,1dvh,17px);min-width:0}
.map-panel{background:linear-gradient(150deg,#283538,#1C292D);border:1px solid var(--ik-theme-border-soft);border-radius:10px;padding:clamp(10px,1.25vw,18px);box-shadow:0 14px 26px #00000029}
.panel-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px;margin-bottom:clamp(9px,1.2dvh,17px);font:12px system-ui,sans-serif}
.panel-heading strong{font-size:clamp(12px,.9vw,15px);color:#EBDDC5}.panel-heading span{font-size:10px;color:var(--ik-theme-muted)}
#mini-map-canvas{display:block;width:100%;aspect-ratio:1/1;max-height:32dvh;object-fit:contain;cursor:crosshair;border:1px solid #74867C;border-radius:5px;background:#2C423B;touch-action:manipulation}
.mini-actions{display:flex;gap:8px;margin-top:8px}
.mini-actions button,.tribe-box button,.map-demo-panel button{background:var(--ik-theme-elevated);border:1px solid var(--ik-theme-border-strong);color:#F0E6D6;border-radius:4px;padding:8px 9px;cursor:pointer;font:12px system-ui,sans-serif;flex:1}
.map-legends{display:grid;grid-template-columns:1fr;gap:clamp(5px,.7dvh,9px)}
.map-legends label{display:flex;align-items:center;gap:10px;font:12px system-ui,sans-serif;min-height:20px;cursor:pointer}
.map-legends input{accent-color:#D8B479;width:14px;height:14px;margin:0;padding:0}
.map-legends i{display:block;flex:none;width:13px;height:13px;border:1px solid #101D1D;background:var(--pin);border-radius:2px}
.map-legends label.is-off{opacity:.35}
.map-main-area{border:1px solid var(--ik-theme-border-strong);background:var(--ik-theme-surface);box-shadow:0 15px 32px #0006;border-radius:10px;overflow:hidden;min-width:0}
.map-canvas-head{display:flex;gap:12px;align-items:center;justify-content:space-between;min-height:clamp(38px,5dvh,58px);padding:0 13px;background:#1C2B30;font:11px system-ui,sans-serif;letter-spacing:.08em;color:#D6E2D8}
.map-canvas-head>span{color:#E0B67F}.map-canvas-head>strong{font-size:12px;letter-spacing:0;font-weight:500}
.map-zoom{display:flex;align-items:center;gap:6px}.map-zoom button{width:29px;height:29px;background:#344748;border:1px solid var(--ik-theme-border-strong);border-radius:4px;color:#F9ECCF;font:18px system-ui;cursor:pointer}
.map-zoom span{min-width:42px;text-align:center}
#map-canvas{display:block;width:100%;height:clamp(400px,65dvh,1000px);cursor:grab;touch-action:none;background:#385044;border:none;border-radius:0}
#map-canvas:active{cursor:grabbing}.map-statusline{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px;background:#263435;color:var(--ik-theme-ink);padding:10px 12px;font:10px system-ui,sans-serif}
.selected-detail{min-height:clamp(120px,17dvh,250px);font:12px system-ui,sans-serif}.selected-detail h3{font-size:clamp(16px,1.1vw,21px)}.selected-detail p{margin:4px 0 12px}
.selected-detail .statrow{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:8px 0;border-bottom:1px solid var(--ik-theme-border-soft);font:12px system-ui,sans-serif}
.selected-detail .statrow strong{text-align:right;font-size:11px;color:#E9CE9D}
.tribe-form{display:grid;grid-template-columns:1fr 1fr;gap:7px}.tribe-form input{min-width:0;width:100%;padding:7px 6px;background:#18282B;border:1px solid var(--ik-theme-border-strong);font:11px system-ui}
.tribe-form #tribe-name,.tribe-form #tribe-code,.tribe-form #tribe-leave{grid-column:span 2}.tribe-form #tribe-create,.tribe-form #tribe-join{grid-column:span 2}
.tribe-form [hidden]{display:none}.tribe-box .subtle{overflow-wrap:anywhere}
.map-demo-panel{border-color:#70664B}.map-demo-panel button{width:100%}
@media(max-width:1220px){.map-layout-v3{grid-template-columns:minmax(172px,24vw) minmax(280px,1fr)}.map-right-sidebar{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr}.map-right-sidebar .map-panel{min-width:0}#map-canvas{height:clamp(360px,63dvh,850px)}}
@media(max-width:800px){.map-layout-v3{grid-template-columns:1fr}.map-sidebar{display:grid;grid-template-columns:minmax(145px,1fr) minmax(150px,1fr)}#mini-map-canvas{max-height:32dvh}.map-right-sidebar{display:flex}#map-canvas{height:clamp(330px,55dvh,680px)}.map-jump{flex-wrap:wrap}.scene-controls button{padding:7px 9px}}
@media(max-width:420px){.map-sidebar{grid-template-columns:1fr 1fr}.map-panel{padding:7px}.panel-heading span{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
#map-demo-panel[hidden]{display:none}

#legend-own i{background:#F59A38}#legend-tribe i{background:#49ACED}#legend-ally i{background:var(--ik-theme-selected)}#legend-enemy i{background:#E4616B}#legend-neutral i{background:#956A46}#legend-barbar i{background:#A1A7AD}

/* Alpha 0.3.1 · Portal premium / panoramic realistic village art */
:scope{--gold:#e0b978;--bg:#10171a;--panel:#1c2528;--cream:#eee6d6}
body{background:radial-gradient(ellipse at 50% -20%,var(--ik-theme-surface-alt) 0%,#161d20 52%,#10171a 100%);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.topbar{min-height:clamp(76px,10dvh,130px);background:linear-gradient(110deg,#0d1519ed,#152325d6),url('/assets/citadel.webp') center/cover;box-shadow:0 10px 45px #0008}
.brand{gap:10px}.brand strong{font:500 clamp(17px,1.4vw,25px)/1.1 Georgia,serif;letter-spacing:.09em;color:#f3deb6}.brand small{font-size:9px}
.resources{gap:clamp(9px,1.5vw,26px)}.resource{background:#10181a8a;padding:clamp(6px,.7vw,12px);border-left:1px solid #b491594e;border-radius:3px}
.tabs{background:linear-gradient(180deg,#1e2728,#131b1e);border-color:#96764d74;gap:5px}.nav{font-weight:600;letter-spacing:.018em}.nav:hover{background:#b58d4421}
.village-stage-layout{display:grid;grid-template-columns:clamp(150px,13vw,235px) minmax(0,1fr);gap:clamp(10px,1vw,18px);align-items:stretch}
.village-command-rail{background:linear-gradient(165deg,#1d2528,#10191c 75%);border:1px solid #7c6446;border-radius:9px;box-shadow:0 12px 40px #0007;padding:clamp(11px,1.4vw,20px);display:flex;flex-direction:column;gap:7px}
.rail-title{font:700 10px/1.4 system-ui;letter-spacing:.17em;color:#CBA66F;margin:8px 0 11px}.village-command-rail button{background:linear-gradient(90deg,var(--ik-theme-surface-alt),#1d2829);border:1px solid #5c5e4d;border-radius:5px;color:#e5ddce;text-align:left;padding:clamp(10px,1.1dvh,18px) clamp(7px,1vw,18px);display:flex;gap:10px;align-items:center;font:600 12px system-ui;white-space:nowrap;cursor:pointer}
.village-command-rail button:hover,.village-command-rail .rail-active{border-color:#c59b59;background:#6d4c2c65;color:#f7da9c}
.village-command-rail p{color:#a6afa8;font:12px/1.65 system-ui;overflow-wrap:anywhere}.rail-divider{height:1px;background:#6c645058;margin-block:5px}.rail-note{margin-top:auto;padding:10px;border:1px dashed #9e866057;border-radius:5px;color:#baad96;font:11px/1.5 system-ui}
.village-stage-main{min-width:0;display:flex;flex-direction:column}
#view-village .scenewrap{height:clamp(380px,66dvh,1100px);border:2px solid #a88b60;box-shadow:inset 0 0 0 1px #edc98e36,0 22px 58px #0008;background:#111916}
#view-village .scenewrap canvas{image-rendering:auto;cursor:crosshair}
#view-village .scene-label{top:clamp(9px,1.3dvh,20px);left:clamp(9px,1.2vw,24px);padding:12px 50px 12px 14px;background:linear-gradient(90deg,#0b1519dc,#0b151970 76%,transparent);max-width:65%}
#view-village .scene-label h1{font-size:clamp(19px,2.1vw,35px);margin-bottom:2px;text-shadow:0 3px 7px #000b}
#view-village .scene-label p{font:11px system-ui;color:#dbc4a3}
#view-village .scene-status{bottom:12px;left:12px;border:1px solid #b9986277;font:10px system-ui;background:#0c151de0}
#view-village .scene-controls{z-index:3;top:13px;right:13px}#view-village .scene-controls button{background:#0c151dde;border:1px solid #bd955e99;border-radius:4px;color:#f3d6a5;box-shadow:0 4px 13px #0008}
.village-dashboard{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr)) auto;gap:clamp(8px,.8vw,15px);padding:clamp(10px,1.4dvh,19px);border:1px solid #8d754c;background:linear-gradient(135deg,#1c2628,#141a1d);border-radius:0 0 9px 9px;align-items:center}
.dashboard-cell{display:flex;align-items:center;gap:11px;border-right:1px solid #8f805a55;min-width:0}.dash-icon{font-size:25px;color:#d6aa70}.dashboard-cell strong{display:block;color:#e4cfab;font:14px Georgia,serif}.dashboard-cell span{display:block;color:#abb4ad;font:11px/1.4 system-ui;margin-top:5px}.village-dashboard .primary{white-space:normal;min-height:44px}
.visual-disclaimer{font:11px/1.6 system-ui;color:#9fa7a0;margin:10px 0 0 3px;opacity:.83}
.building{background:linear-gradient(120deg,#202b2d 0%,var(--ik-theme-surface-alt) 62%,#1a2528);border:1px solid #6b6455;border-radius:9px;box-shadow:0 8px 23px #0005;transition:border-color .18s,transform .18s}.building:hover{border-color:#e2b775;transform:translateY(-2px)}.building .lv{background:#3a3228;border:1px solid #9b7f55;border-radius:4px;padding:7px;color:#f5dba8}
.map-panel,.map-main-area{box-shadow:0 14px 38px #0008}.map-panel{background:linear-gradient(140deg,#242f32,#152023)}.map-canvas-head{background:linear-gradient(90deg,#1b292b,#212b2b)}
@media(max-width:1050px){.village-stage-layout{grid-template-columns:1fr}.village-command-rail{display:flex;flex-flow:row wrap;align-items:center}.village-command-rail .rail-title,.village-command-rail p,.village-command-rail .rail-note,.village-command-rail .rail-divider{display:none}.village-command-rail button{flex:1;justify-content:center}#view-village .scenewrap{height:clamp(340px,62dvh,800px)}}
@media(max-width:620px){.village-dashboard{grid-template-columns:1fr 1fr}.village-dashboard .primary{grid-column:span 2}.dashboard-cell{border:0}.village-command-rail button{font-size:11px}.village-command-rail button span{display:none}#view-village .scene-label{max-width:60%}#view-village .scene-label p{display:none}}

/* 0.4.33: mini-map gestures remain captured for smooth pointer pan on touch screens. */
#mini-map-canvas{touch-action:none;image-rendering:auto;cursor:grab}
#mini-map-canvas:active{cursor:grabbing}


/* 0.4.41 — comprehensive map restyle to match approved reference */
.map-main-area{border:1px solid #8b673f;background:linear-gradient(180deg,#101819,var(--ik-theme-surface));box-shadow:0 0 0 2px #2a1b12,0 18px 40px rgba(0,0,0,.45)}
.map-canvas-head{background:linear-gradient(180deg,#1a1412,#231a18 42%,#171f1e);color:#ead8b5;border-bottom:1px solid #7d5d38;box-shadow:inset 0 -1px 0 rgba(0,0,0,.38)}
.map-canvas-head>span,.map-canvas-head>strong{color:#efddbb}
#map-canvas{background:#57794f;box-shadow:inset 0 0 0 2px #120d0b}
.map-statusline{background:linear-gradient(180deg,#171d1d,#111717);color:#b8b3a4;border-top:1px solid #5a452d}
.map-panel{background:linear-gradient(180deg,#181919,#131717 58%,#0e1212);border:1px solid #755231;box-shadow:0 0 0 1px rgba(173,127,77,.15),0 14px 38px rgba(0,0,0,.5)}
#mini-map-canvas{border:1px solid #7e5b37;background:#24332c;box-shadow:inset 0 0 0 2px #0f1010}
.selected-detail .statrow{border-bottom:1px solid rgba(120,95,67,.35)}

/* MAP V7: per-player color picker affects map markers and village cloth banners only. */
.map-legends .ik-map-legend-row{display:flex;align-items:center;gap:8px;justify-content:space-between;min-width:0}
.map-legends .ik-map-legend-row label{flex:1;min-width:0}
.map-legends .ik-map-banner-color{width:32px;height:26px;min-width:32px;margin:0;padding:2px;background:var(--ik-theme-surface);border:1px solid #8e7b59;border-radius:5px;cursor:pointer;accent-color:unset}
.map-legends .ik-map-banner-color:hover{border-color:#efc886}

/* MAP V11: axes directly adjacent to the actual canvas, never below an extra spacer. */
.ik-map-coordinate-grid{
 display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-rows:minmax(0,auto) 22px;
 gap:0;row-gap:0;column-gap:0;align-items:stretch;
 min-width:0;overflow:hidden;background:var(--ik-theme-surface);
}
.ik-map-coordinate-grid #map-canvas{grid-column:2;grid-row:1;min-width:0;min-height:0;align-self:start;margin:0;}
.ik-map-axis{display:block;border:0;background:var(--ik-theme-surface);pointer-events:none;min-width:0;min-height:0;margin:0;padding:0;}
#map-axis-y{grid-column:1;grid-row:1;width:40px;height:100%;border-right:1px solid #89764f;}
#map-axis-x{grid-column:2;grid-row:2;width:100%;height:22px;border-top:1px solid #89764f;align-self:start;}
.ik-map-axis-origin{grid-column:1;grid-row:2;border-top:1px solid #89764f;border-right:1px solid #89764f;
 color:#dbc69e;font:700 10px/21px system-ui;text-align:center;align-self:stretch;padding:0;pointer-events:none;white-space:nowrap;}
@media(max-width:600px){
 .ik-map-coordinate-grid{grid-template-columns:36px minmax(0,1fr);grid-template-rows:minmax(0,auto) 21px;}
 #map-axis-y{width:36px;}#map-axis-x{height:21px;}
 .ik-map-axis-origin{font-size:9px;line-height:20px;}
}

/* HF18-R3: Seven native legend colors arranged in two groups; dynamic picker wrappers stay within their column. */
.legend-card .map-legends{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:12px;row-gap:0;align-items:stretch;}
.legend-card .ik-map-legend-column{display:flex;flex-direction:column;gap:7px;min-width:0;}
.legend-card .ik-map-legend-column h4{margin:0 0 3px;min-height:19px;font:700 10px/1.5 system-ui,sans-serif;letter-spacing:.075em;text-transform:uppercase;color:#e6c592;}
.legend-card .ik-map-legend-tribes{position:relative;padding-left:12px;}
.legend-card .ik-map-legend-tribes:before{content:"";position:absolute;left:-1px;top:2px;bottom:3px;width:1px;background:linear-gradient(180deg,transparent 0%,#d2a367a8 15%,#e8c18d7c 50%,#d2a367a8 85%,transparent);}
.legend-card .map-legends .ik-map-legend-row{display:grid;grid-template-columns:minmax(0,1fr) 20px;gap:3px;align-items:center;min-width:0;padding:3px 2px;border-radius:5px;background:#ffffff06;}
.legend-card .map-legends .ik-map-legend-row label{display:flex;align-items:flex-start;gap:4px;font-size:10px;line-height:1.25;min-width:0;overflow-wrap:anywhere;}
.legend-card .map-legends .ik-map-legend-row label span{min-width:0;}
.legend-card .map-legends .ik-map-legend-row label input{width:12px;height:12px;flex:none;}
.legend-card .map-legends .ik-map-legend-row label i{width:10px;height:10px;flex:none;margin-top:1px;}
.legend-card .map-legends .ik-map-banner-color{width:20px;min-width:20px;height:23px;padding:1px;border-radius:4px;}
.legend-card .map-legends .ik-map-legend-row label.is-off{opacity:.4;}


/* HF18-R4 — panouri de navigare și legendă. Doar structură vizuală; fără modificări de geometrie sau date. */
#view-world .ik-mini-control-card,
#view-world .ik-map-dark-subpanel{
 background:linear-gradient(150deg,#151819 0%,#0e1213 100%);
 border:1px solid #69543a;border-radius:9px;
 box-shadow:inset 0 1px 0 #e3c28a14,0 5px 13px #0005;
 min-width:0;
}
#view-world .ik-mini-control-card{padding:9px 10px;margin-top:11px;}
#view-world .ik-mini-control-card+.ik-mini-control-card{margin-top:8px;}
#view-world .mini-actions button,
#view-world .ik-map-admin-tool-grid button,
#view-world .ik-custom-group button,
#view-world .ik-custom-actions button,
#view-world #map-custom-editor summary,
#view-world .ik-main-map-settings button{
 appearance:none;min-width:0;min-height:33px;
 background:linear-gradient(180deg,var(--ik-theme-surface),var(--ik-theme-deep));
 border:1px solid #806946;border-radius:7px;
 color:#ead8b7;font:600 11px/1.25 system-ui,sans-serif;
 padding:8px 10px;box-shadow:inset 0 1px 0 #ffffff12,0 2px 5px #0004;
 cursor:pointer;transition:border-color .15s,background-color .15s,box-shadow .15s;
}
#view-world .mini-actions button:hover,
#view-world .ik-map-admin-tool-grid button:hover,
#view-world .ik-custom-group button:hover,
#view-world .ik-custom-actions button:hover,
#view-world #map-custom-editor summary:hover{
 border-color:#d3a56b;background:linear-gradient(180deg,var(--ik-theme-surface-alt),#262725);
}
#view-world .mini-actions button:focus-visible,
#view-world .ik-map-admin-tool-grid button:focus-visible,
#view-world .ik-custom-group button:focus-visible{outline:2px solid #e6be79;outline-offset:2px;}
#view-world .mini-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;margin:0;}
#view-world .mini-actions button{width:100%;margin:0;white-space:normal;overflow-wrap:anywhere;}
#view-world .legend-card{margin-top:13px;padding:12px;}
#view-world .legend-card>.panel-heading{margin-bottom:12px;align-items:flex-start;gap:8px;}
#view-world .legend-card>.panel-heading strong{font-size:13px;line-height:1.35;}
#view-world .legend-card>.panel-heading span{margin-left:auto;white-space:nowrap;font-size:9px;}
#view-world .legend-card .ik-legend-native-card{padding:12px 9px;margin-bottom:11px;}
#view-world .legend-card .map-legends{margin:0;column-gap:9px;}
#view-world .legend-card .ik-map-legend-column{gap:9px;}
#view-world .legend-card .ik-map-legend-tribes{padding-left:10px;}
#view-world .legend-card .map-legends .ik-map-legend-row{padding:5px 3px;background:#e7d4a30a;border:1px solid #ad915520;border-radius:6px;}
#view-world .legend-card .map-legends .ik-map-legend-row label{font-size:10px;line-height:1.35;}
#view-world .legend-card .map-legends .ik-map-banner-color{height:24px;}
#view-world .ik-custom-legend{display:flex;flex-direction:column;gap:10px;padding:11px 9px;min-width:0;margin:0;}
#view-world .ik-custom-legend-head{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;justify-content:space-between;}
#view-world .ik-custom-legend-head strong{font:700 12px/1.3 system-ui;color:#e7d4ae;}
#view-world .ik-custom-legend-head span{font:10px/1.35 system-ui;color:#ad9e88;}
#view-world .ik-custom-groups{display:flex;flex-direction:column;gap:7px;min-width:0;}
#view-world .ik-custom-empty{font:11px/1.45 system-ui;color:#acada4;margin:2px 0;}
#view-world .ik-custom-group{display:grid;grid-template-columns:minmax(0,1fr) 27px 60px 26px;gap:5px;align-items:center;min-width:0;padding:7px 5px;border-radius:7px;background:#302b232c;border:1px solid #856f4a55;}
#view-world .ik-custom-group.is-off{opacity:.55;}
#view-world .ik-custom-group-toggle{display:flex;gap:4px;align-items:center;min-width:0;margin:0;cursor:pointer;}
#view-world .ik-custom-group-toggle input{flex:none;width:13px;height:13px;accent-color:#d1a665;margin:0;}
#view-world .ik-custom-group-dot{flex:none;width:11px;height:11px;border-radius:3px;border:1px solid #090c0b;}
#view-world .ik-custom-group-name{min-width:0;font:600 10px system-ui;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#view-world .ik-custom-group-toggle small{font:9px system-ui;color:#a9a394;flex:none;}
#view-world .ik-custom-group>input[type="color"]{width:27px;height:29px;margin:0;padding:2px;border-radius:5px;background:var(--ik-theme-surface);border:1px solid #94764a;cursor:pointer;}
#view-world .ik-custom-group button{font-size:10px;padding:5px 3px;min-height:29px;text-align:center;}
#view-world .ik-custom-group button.ik-custom-delete{font-size:16px;color:#f4b7a0;padding:0;}
#view-world .ik-custom-group-editor{margin:0;min-width:0;border:1px solid #6d5a3c;border-radius:8px;background:var(--ik-theme-deep);overflow:hidden;}
#view-world #map-custom-editor summary{display:flex;align-items:center;margin:0;list-style:none;border:0;border-radius:0;background:linear-gradient(180deg,#30281f,#211d19);padding:10px 12px;}
#view-world #map-custom-editor summary::-webkit-details-marker{display:none;}
#view-world #map-custom-editor[open] summary{border-bottom:1px solid #7c613c;}
#view-world #map-custom-form{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:12px 10px;}
#view-world #map-custom-form>label{display:flex;flex-direction:column;gap:5px;min-width:0;color:#dbc9a7;font:600 10px/1.4 system-ui;}
#view-world #map-custom-form :is(input:not([type="color"]),textarea){width:100%;min-width:0;box-sizing:border-box;background:var(--ik-theme-deep);border:1px solid #806b4b;border-radius:6px;color:#f5eddf;padding:9px;font:11px/1.4 system-ui;}
#view-world #map-custom-color{height:37px;min-width:0;width:100%;padding:3px;border-radius:6px;background:var(--ik-theme-deep);border:1px solid #806b4b;}
#view-world #map-custom-form textarea{resize:vertical;}
#view-world .ik-custom-actions{display:flex;gap:7px;flex-wrap:wrap;}
#view-world .ik-custom-actions button{flex:1 1 90px;}
#view-world .ik-custom-status:empty{display:none;}
#view-world .ik-custom-status{margin:0;color:#d9bb85;font:10px/1.45 system-ui;}
/* Main Map: header controls form their own black inner panel, apart from title. */
#view-world .map-canvas-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:9px 13px;padding:9px 12px;min-height:0;}
#view-world .ik-main-map-heading{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;min-width:0;}
#view-world .ik-main-map-heading>span{font:800 11px system-ui;letter-spacing:.1em;color:#e2b87e;}
#view-world .ik-main-map-heading strong{font:600 12px system-ui;color:#f6e4c9;letter-spacing:0;}
#view-world .ik-main-map-settings{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px;padding:7px 10px;}
#view-world .ik-main-map-settings .ik-map-range-label{margin:0;min-width:0;}
#view-world .ik-main-map-settings select{border-radius:6px;background:var(--ik-theme-surface);border:1px solid #8a704b;color:#eee2ca;max-width:100%;}
#view-world .ik-main-map-settings .ik-map-surface-custom-fields{min-width:0;max-width:100%;flex-wrap:wrap;}
#view-world .ik-map-admin-tools .panel-heading{margin-bottom:10px;}
#view-world .ik-map-admin-tool-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;padding:11px;border:1px solid #69543a;border-radius:9px;background:linear-gradient(160deg,#151919,#0e1112);}
#view-world .ik-map-admin-tool-grid button{display:block;width:100%;font-size:11px;text-align:left;padding:10px 11px;white-space:normal;}
#view-world .ik-map-admin-tool-grid button[hidden]{display:none!important;}
#view-world .ik-map-admin-tool-grid button[aria-expanded="true"]{background:linear-gradient(180deg,#463929,#29261f);border-color:#c49a63;color:#ffe1ad;}
#view-world .ik-map-admin-tools{min-width:0;}
@media(max-width:1220px){#view-world .ik-map-admin-tools{grid-column:auto;}}
@media(max-width:800px){#view-world .ik-mini-shortcuts-card{margin-top:9px;}}
@media(max-width:480px){#view-world .legend-card .map-legends{column-gap:7px;}#view-world .legend-card .ik-map-legend-tribes{padding-left:8px;}#view-world .ik-custom-group{grid-template-columns:minmax(0,1fr) 25px 53px 24px;gap:3px;}#view-world .ik-custom-legend{padding:8px 6px;}}
@media(prefers-reduced-motion:reduce){#view-world .ik-mini-control-card button,#view-world .ik-map-admin-tools button{transition:none;}}

/* HF18-R4 QA: native categories remain readable even in the 220px sidebar. */
#view-world .legend-card .map-legends .ik-map-legend-row{grid-template-columns:minmax(0,1fr);gap:4px;align-content:start;}
#view-world .legend-card .map-legends .ik-map-legend-row label{display:grid;grid-template-columns:12px 10px minmax(0,1fr);gap:3px;align-items:start;overflow-wrap:normal;word-break:normal;hyphens:none;font-size:10px;}
#view-world .legend-card .map-legends .ik-map-legend-row label span{overflow-wrap:normal;word-break:normal;hyphens:none;}
#view-world .legend-card .map-legends .ik-map-banner-color{justify-self:end;height:21px;width:26px;min-width:26px;}
#view-world .ik-custom-group{grid-template-columns:minmax(0,1fr) 59px 27px;grid-template-rows:auto auto;gap:6px;}
#view-world .ik-custom-group-toggle{grid-column:1/-1;grid-row:1;gap:7px;}
#view-world .ik-custom-group-name{font-size:11px;}
#view-world .ik-custom-group>input[type="color"]{grid-column:1;grid-row:2;justify-self:start;width:34px;}
#view-world .ik-custom-group button:not(.ik-custom-delete){grid-column:2;grid-row:2;}
#view-world .ik-custom-group button.ik-custom-delete{grid-column:3;grid-row:2;}
#view-world .ik-map-jump-panel .map-jump{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:end;min-width:0;}
#view-world .ik-map-jump-panel .map-jump label{display:flex;flex-direction:column;gap:5px;min-width:0;color:#d9bd8d;font:700 10px/1.3 system-ui;}
#view-world .ik-map-jump-panel .map-jump input{box-sizing:border-box;max-width:none;width:100%;border-radius:6px;}
#view-world .ik-map-jump-panel .map-jump button{grid-column:1/-1;display:block;width:100%;background:linear-gradient(180deg,#393225,#24251e);border:1px solid #a5834f;border-radius:7px;color:#f4dcba;}
@media(max-width:480px){#view-world .ik-custom-group{grid-template-columns:minmax(0,1fr) 54px 27px;gap:5px;}}

/* HF18-R5 — separate X/Y field sizing; Aplică never occupies the Y input. */
#view-world .ik-main-map-settings .ik-map-surface-custom-fields[hidden]{display:none!important}
#view-world .ik-main-map-settings .ik-map-surface-custom-fields:not([hidden]){
 display:inline-grid;grid-template-columns:repeat(2,minmax(0,85px)) minmax(74px,auto);
 align-items:center;gap:8px;min-width:0;max-width:100%;flex:0 1 auto;
}
#view-world .ik-map-surface-custom-fields>label{
 display:flex;align-items:center;gap:5px;min-width:0;margin:0;
 color:#ead6ad;font:700 11px/1.25 system-ui,sans-serif;white-space:nowrap;
}
#view-world .ik-map-surface-custom-fields .ik-map-surface-custom{
 display:block;min-width:0;width:100%;height:34px;margin:0;padding:5px 4px;
 border-radius:5px;border:1px solid #8a704b;background:var(--ik-theme-deep);
 color:#f5e5c5;text-align:center;font:600 12px system-ui,sans-serif;
 font-variant-numeric:tabular-nums;
}
@media(max-width:650px){
 #view-world .ik-main-map-settings .ik-map-surface-custom-fields:not([hidden]){
  width:100%;flex:1 1 100%;grid-template-columns:repeat(2,minmax(0,1fr));
 }
 }


/* R70-R58 — fixed Village View viewport 800x600 */
#view-village .village-stage-main{align-items:flex-start;overflow-x:auto;overflow-y:visible;}
#view-village .scenewrap{width:800px!important;height:600px!important;min-width:800px!important;min-height:600px!important;max-width:800px!important;max-height:600px!important;flex:0 0 800px;overflow:hidden!important;}
#view-village #village-canvas{display:block;width:800px!important;height:600px!important;min-width:800px!important;min-height:600px!important;max-width:800px!important;max-height:600px!important;image-rendering:auto;}
@media(max-width:900px){#view-village .village-stage-main{overflow-x:auto;}}


/* ---- GAME : cinematic.css ---- */
/* Iron Kingdoms cinematic HUD — illustration has no baked functional data. */
:scope{--header-h:clamp(55px,7.3dvh,95px);--gold:#d9ae66;--copper:#ba8743}
body{background:var(--ik-theme-deep);color:#e8decb}
.topbar{height:var(--header-h);min-height:var(--header-h);padding:clamp(6px,.8dvh,13px) clamp(10px,1.25vw,24px);background:linear-gradient(180deg,#22221e,#0e1011);border-bottom:2px solid #a07b43;box-shadow:0 7px 25px #0008;gap:clamp(8px,1vw,18px)}
.brand strong{font-family:Georgia,serif;color:#f0d9a2;font-size:clamp(15px,1.24vw,26px);letter-spacing:.04em;white-space:nowrap}
.brand small{font-size:clamp(7px,.57vw,10px);color:#aa9880;letter-spacing:.13em}
.crest{color:#f0c379}
.resource{border-right:1px solid #a9865352;padding-right:clamp(7px,.9vw,20px)}
.resource strong{font-family:Georgia,serif;font-size:clamp(15px,1.25vw,25px);color:#f0e9d9}
.resource small{font-size:clamp(9px,.66vw,12px);color:var(--ik-theme-muted)}
.resource>span{font-size:clamp(17px,1.3vw,25px)}
.game-account{font-family:Georgia,serif}
.ik-cinematic{height:100dvh;overflow:hidden}
.ik-cinematic .tabs{display:none}
.ik-cinematic main{height:calc(100dvh - var(--header-h));min-height:0;padding:0;max-width:100vw;overflow:hidden}
.ik-cinematic main>.view#view-village{height:100%;margin:0}
.ik-cinematic footer{display:none}
.ik-cinematic .visual-disclaimer{display:none}
.ik-cinematic .village-stage-layout{height:100%;width:100%;grid-template-columns:clamp(135px,11.5vw,225px) minmax(0,1fr);gap:0}
.ik-cinematic .village-command-rail{height:100%;border-radius:0;border:0;border-right:2px solid #b18a50;box-shadow:inset 0 0 25px #0009;background:linear-gradient(120deg,#161919,#080d0e 78%);gap:clamp(8px,1.2dvh,19px);padding:clamp(11px,1.3dvh,23px) clamp(9px,1vw,18px)}
.ik-cinematic .village-command-rail .rail-title{color:#d5ad70;margin:clamp(5px,.8dvh,13px) 0 5px;font-size:clamp(9px,.65vw,12px)}
.ik-cinematic .village-command-rail button{min-height:clamp(40px,5.3dvh,65px);padding:8px clamp(5px,.8vw,15px);background:linear-gradient(#1b2222,#13191b);border:1px solid #6d5a3f;border-radius:2px;color:#e5d6bc;font:clamp(11px,.81vw,16px) Georgia,serif}
.ik-cinematic .village-command-rail button:hover,.ik-cinematic .village-command-rail button.rail-active{background:linear-gradient(95deg,#71522b,#29261e);color:#ffe4a5;border-left:3px solid #f6c97c}
.ik-cinematic .village-command-rail p{font-size:clamp(10px,.77vw,12px);line-height:1.5}
.ik-cinematic .village-command-rail .rail-note{font-size:clamp(9px,.7vw,11px)}
.ik-cinematic .village-stage-main{height:100%;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) clamp(92px,12.6dvh,150px)}
.ik-cinematic #view-village .scenewrap{height:100%;width:100%;min-height:0;overflow:hidden;position:relative;border:0;border-radius:0;box-shadow:none;background:#0a1313}
.ik-cinematic #village-canvas{height:100%;width:100%;display:block;touch-action:none;user-select:none;cursor:pointer}
.ik-cinematic .scene-label{top:clamp(9px,1dvh,16px);left:clamp(12px,1.1vw,24px);padding:clamp(7px,1dvh,12px) clamp(12px,1.1vw,23px);background:linear-gradient(90deg,#0b100fea,color-mix(in srgb, var(--ik-theme-deep) 74.9%, transparent));border-left:3px solid #d5a45d;max-width:60%;pointer-events:none}
.ik-cinematic .scene-label .eyebrow{color:#e2c080;font:600 clamp(8px,.64vw,11px) Georgia,serif}
.ik-cinematic .scene-label h1{font-family:Georgia,serif;font-size:clamp(17px,1.45vw,30px);color:#fff1d4;margin:clamp(2px,.3dvh,5px) 0 1px}
.ik-cinematic .scene-label p{font-family:Georgia,serif;color:#b1b2a6;font-size:clamp(9px,.68vw,12px)}
.ik-cinematic .scene-status{bottom:clamp(6px,.9dvh,13px);left:clamp(8px,1vw,22px);background:#0d1718dd;padding:clamp(5px,.7dvh,9px) clamp(9px,.85vw,17px);border-color:#b69c6a8c;font-family:Georgia,serif;letter-spacing:.1em;white-space:nowrap}
.ik-cinematic .scene-controls{z-index:6;right:clamp(9px,1.1vw,20px);top:clamp(10px,1.2dvh,22px);transform:translateX(calc(-1*clamp(150px,17vw,270px) - 10px));display:flex;gap:4px}
.ik-cinematic .scene-controls button{color:#ffe4ad;border:1px solid #ac824c;background:#121717e8;font:13px Georgia,serif;padding:clamp(6px,.68dvh,10px) clamp(7px,.8vw,13px)}
.ik-cinematic .village-mini-frame{position:absolute;z-index:4;right:clamp(10px,1.1vw,20px);top:clamp(9px,1.2dvh,20px);width:clamp(148px,16vw,272px);height:clamp(130px,23dvh,240px);background:#0c1215f5;border:2px solid #a48655;box-shadow:0 10px 24px #000b;display:flex;flex-direction:column;padding:clamp(4px,.6dvh,8px);gap:2px}
.ik-cinematic .village-mini-title{display:flex;justify-content:space-between;align-items:center;color:#e9d4a7;font:600 clamp(9px,.65vw,12px) Georgia,serif;letter-spacing:.08em;min-height:clamp(14px,1.8dvh,22px)}
.ik-cinematic #village-mini-map{height:100%;width:100%;min-height:0;flex:1;border:1px solid #665c42;cursor:pointer;object-fit:contain;background:var(--ik-theme-surface-alt)}
.ik-cinematic .village-mini-open{color:#ebc88f;font:clamp(9px,.68vw,12px) Georgia,serif;border:0;background:#27221a;cursor:pointer;min-height:clamp(16px,2.1dvh,27px)}
.ik-cinematic .village-dashboard{border:0;border-top:2px solid #a38050;box-shadow:0 -5px 27px #0009;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(115px,.85fr);min-height:0;height:100%;border-radius:0;background:linear-gradient(180deg,var(--ik-theme-deep),#0e1214);gap:0;padding:clamp(7px,.8dvh,15px) clamp(8px,1vw,18px)}
.ik-cinematic .dashboard-cell{height:100%;min-width:0;padding:5px clamp(6px,1vw,21px);border-right:1px solid #846f4b69;align-items:center}
.ik-cinematic .dash-icon{font-size:clamp(22px,2.1vw,39px);color:#d9b475}
.ik-cinematic .dashboard-cell strong{font-size:clamp(11px,1vw,19px);color:#e4d3af}
.ik-cinematic .dashboard-cell span{font:clamp(9px,.72vw,14px)/1.4 Georgia,serif;color:#a6b0a4;overflow-wrap:anywhere}
.ik-cinematic #goto-buildings{align-self:center;justify-self:end;max-width:100%;margin-left:clamp(5px,.7vw,13px);padding:clamp(8px,1.1dvh,17px) clamp(7px,1.1vw,21px);font:600 clamp(10px,.79vw,16px) Georgia,serif;background:linear-gradient(#947043,#5c4025);border:1px solid #dfb86e;color:#fff3d9;box-shadow:0 3px 10px #0007}
.ik-cinematic .village-command-rail .rail-note{max-height:16dvh;overflow:auto}
/* Dynamic UI, never scale text independently of its container */
#view-world .map-panel,#view-buildings .building{border-color:#91744b;box-shadow:0 9px 26px #0005}
@media(max-width:1180px){.ik-cinematic .village-command-rail .rail-title,.ik-cinematic .village-command-rail p,.ik-cinematic .village-command-rail .rail-note,.ik-cinematic .village-command-rail .rail-divider{display:none}.ik-cinematic .village-command-rail{display:flex;flex-direction:column}.ik-cinematic .village-command-rail button{justify-content:flex-start}.ik-cinematic .village-stage-layout{grid-template-columns:clamp(100px,13vw,155px) minmax(0,1fr)}}
@media(max-width:750px){.ik-cinematic .village-stage-layout{grid-template-columns:clamp(49px,9vw,68px) 1fr}.ik-cinematic .village-command-rail{padding:8px 4px}.ik-cinematic .village-command-rail button{font-size:20px;justify-content:center}.ik-cinematic .village-command-rail button span{display:none}.ik-cinematic .scene-label{max-width:48%}.ik-cinematic .scene-label p{display:none}.ik-cinematic .scene-controls{right:auto;left:4px;top:auto;bottom:34px;transform:none}.ik-cinematic .village-mini-frame{width:clamp(110px,25vw,160px);height:clamp(115px,25dvh,150px)}.ik-cinematic .village-dashboard{grid-template-columns:repeat(3,1fr) 60px}.ik-cinematic .dashboard-cell{gap:4px}.ik-cinematic .dash-icon{display:none}.ik-cinematic #goto-buildings{font-size:10px}}
@media(max-height:660px){.ik-cinematic .village-command-rail button{min-height:30px}.ik-cinematic .village-mini-frame{height:28dvh}.ik-cinematic .village-dashboard{grid-template-rows:1fr}}
/* Preserve a single-line HUD when the older shell media rules would wrap it. */
.ik-cinematic .topbar{flex-wrap:nowrap!important}
.ik-cinematic .resources{flex-wrap:nowrap;gap:clamp(6px,.9vw,16px);min-width:0;flex:1}
.ik-cinematic .brand{flex-shrink:0;min-width:clamp(150px,13vw,240px)}
.ik-cinematic .resource{min-width:0;flex-shrink:1;gap:clamp(3px,.4vw,8px)}
.ik-cinematic .game-account{order:initial;flex-shrink:1;min-width:0}
.ik-cinematic #world-switch{min-width:clamp(95px,7.5vw,154px);flex-shrink:1}
@media(max-width:1060px){.ik-cinematic .resource small{display:none}.ik-cinematic .game-account .world-link{display:none}.ik-cinematic .resource>span{font-size:15px}}
@media(max-width:700px){.ik-cinematic .topbar{overflow-x:auto}.ik-cinematic .brand small{display:none}.ik-cinematic .game-account{display:none}.ik-cinematic .resources{min-width:330px}.ik-cinematic .resource strong{font-size:12px}.ik-cinematic .resource.population{display:none}}

/* R70-R58 village override */
body.ik-cinematic #view-village .scenewrap{width:800px!important;height:600px!important;min-width:800px!important;min-height:600px!important;max-width:800px!important;max-height:600px!important;}
body.ik-cinematic #view-village #village-canvas{width:800px!important;height:600px!important;min-width:800px!important;min-height:600px!important;max-width:800px!important;max-height:600px!important;}


/* ---- GAME : alpha04.css ---- */
/* Alpha 0.4 — layered medieval scene, preview editor and centered vertical construction list. */
.ik-cinematic #view-village .scenewrap{
 background:linear-gradient(130deg,#1d392b,#101a1a);
}
.ik-cinematic .scene-status{font-size:clamp(8px,.7vw,12px);letter-spacing:.04em;max-width:42%;white-space:normal}
.ik-cinematic .scene-label{max-width:25%;pointer-events:none}
.ik-cinematic .village-mini-frame{right:clamp(8px,1vw,18px);width:clamp(115px,13vw,195px);height:clamp(130px,22dvh,190px)}
.ik-cinematic .scene-controls{right:clamp(215px,15vw,260px);transform:none}
.preview-launch{position:absolute;top:clamp(14px,2dvh,24px);right:clamp(8px,1vw,18px);z-index:11;transform:translateY(clamp(138px,23dvh,203px));background:color-mix(in srgb, var(--ik-theme-deep) 91.8%, transparent);border:1px solid #dfaf68;color:#fbe8ba;border-radius:4px;padding:9px 11px;font:600 clamp(11px,.9vw,15px) Georgia,serif;cursor:pointer}
.village-preview-editor[hidden]{display:none!important}
.village-preview-editor{position:absolute;right:clamp(5px,1vw,22px);top:clamp(8px,1dvh,18px);bottom:clamp(8px,1dvh,18px);z-index:20;width:min(330px,33vw);padding:clamp(12px,1.3dvh,19px);display:flex;flex-direction:column;gap:clamp(6px,.9dvh,12px);background:linear-gradient(150deg,#111b1bf5,#0e1519f5);border:2px solid #c79e5d;box-shadow:0 0 0 2px var(--ik-theme-shadow),0 18px 50px #000d;overflow-y:auto;color:#eadbbb;font:clamp(11px,.85vw,14px) Georgia,serif}
.village-preview-editor header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #a48458;padding-bottom:8px;gap:8px}
.village-preview-editor header strong{font-size:clamp(13px,1.1vw,18px);color:#f6daaa}
.village-preview-editor p{font:clamp(10px,.8vw,12px)/1.4 Arial,sans-serif;color:#c6bdab;margin:0}
.village-preview-editor select,.village-preview-editor input[type=number]{width:100%;background:var(--ik-theme-surface);border:1px solid #927953;border-radius:3px;padding:8px;color:#fff0d5;min-width:0}
.village-preview-editor input[type=range]{width:100%;accent-color:#cf9850}
.village-preview-editor label{font-weight:600;font-size:clamp(10px,.85vw,13px)}
.preview-level-line,.preview-actions{display:flex;justify-content:space-between;align-items:center;gap:8px}
.preview-level-line strong{font:700 17px Georgia,serif;color:#efc780}
.preview-actions button,.village-preview-editor header button{flex:1;background:linear-gradient(#665037,#2e2822);color:#f7ddaa;border:1px solid #ab8759;border-radius:3px;padding:8px 5px;font:clamp(10px,.8vw,13px) Georgia,serif;cursor:pointer}
.village-preview-editor header button{flex:0 0 30px}
.preview-tier,.preview-asset{padding:8px;background:color-mix(in srgb, var(--ik-theme-surface-alt) 46.7%, transparent);border-left:3px solid #a68b60;color:#f1d2a7;line-height:1.35}
.preview-asset{font-size:12px;border-left-color:var(--ik-theme-border-strong);color:#c9d1c6}
.preview-check{display:flex;align-items:center;gap:9px;padding-top:7px;border-top:1px solid #62513a}
.ik-building-scene{background:var(--ik-theme-surface)}
.ik-building-scene main{background:linear-gradient(#10201fd9,color-mix(in srgb, var(--ik-theme-deep) 86.3%, transparent)),url('/assets/village-background-0460/day2.webp') center/cover fixed;max-width:none;min-height:calc(100dvh - 150px)}
.ik-building-scene #view-buildings{min-height:78dvh;width:100%}
.ik-building-scene #view-buildings .page-title{width:min(1030px,82vw);margin:0 auto clamp(12px,1.5dvh,23px);align-items:center;background:#0e1b1bee;padding:clamp(12px,1.2dvh,17px);border:1px solid #b58a50}
.ik-building-scene #view-buildings .page-title h1{font-size:clamp(21px,2.1vw,31px)}
.ik-building-scene #view-buildings .page-title p{font-size:11px}
.ik-building-scene #view-buildings .queue-card{min-width:240px;max-width:36%;padding:8px;background:color-mix(in srgb, var(--ik-theme-deep) 87.5%, transparent)}
.ik-building-scene #buildings-list{display:flex!important;flex-direction:column;gap:clamp(6px,.7dvh,10px);width:min(1030px,82vw);margin:0 auto;max-height:74dvh;overflow-y:auto;scrollbar-color:#a4875a #131b1c;padding:0 8px 8px 0}
.ik-building-scene .building{min-height:unset!important;display:grid;grid-template-columns:clamp(70px,7vw,100px) minmax(0,1fr) minmax(180px,1fr);grid-template-rows:auto auto;align-items:center;gap:clamp(6px,.7vw,14px);padding:clamp(8px,1dvh,13px) clamp(11px,1.2vw,19px);background:linear-gradient(110deg,color-mix(in srgb, var(--ik-theme-surface) 95.7%, transparent),#2c2b25ed);border:1px solid #8b7958}
.ik-building-scene .building-thumb{grid-column:1;grid-row:1 / 3;justify-self:center;max-width:90%;width:clamp(65px,6vw,95px);height:clamp(58px,8dvh,92px);object-fit:contain}
.ik-building-scene .building:not(:has(.building-thumb))::before{content:'◇';grid-column:1;grid-row:1 / 3;place-self:center;color:#9e9a83;font-size:27px;opacity:.6}
.ik-building-scene .buildinghead{grid-column:2;grid-row:1;align-items:center}
.ik-building-scene .building .costs,.ik-building-scene .building .locked{grid-column:2;grid-row:2;margin:0}
.ik-building-scene .building .foot{grid-column:3;grid-row:1 / 3;justify-content:flex-end;gap:clamp(8px,1vw,16px)}
.ik-building-scene .building .foot .time{max-width:160px;line-height:1.5}
.ik-building-scene .building h3{font-size:clamp(15px,1.1vw,20px)}
@media(max-width:900px){.ik-building-scene #buildings-list,.ik-building-scene #view-buildings .page-title{width:96vw}.ik-building-scene .building{grid-template-columns:65px minmax(120px,1fr);grid-template-rows:auto auto auto}.ik-building-scene .building .foot{grid-column:2;grid-row:3;justify-content:space-between}.ik-building-scene .building .costs,.ik-building-scene .building .locked{grid-row:2}}
@media(max-width:720px){.village-preview-editor{width:min(320px,73vw)}.ik-cinematic .scene-label{display:none}.ik-cinematic .scene-status{display:none}.preview-launch{top:auto;bottom:clamp(5px,1dvh,15px);right:5px;transform:none}.ik-cinematic .scene-controls{right:auto;left:5px;top:7px;bottom:auto}}

/* Alpha 0.4.13: free draggable calibration editor. The village image remains fixed. */
.village-preview-editor{width:min(382px,40vw)}
.village-preview-editor #calibration-tools[hidden],.village-preview-editor .calibration-grid[hidden],.village-preview-editor #calibration-vertex-wrap[hidden]{display:none!important}
.calibration-section{border-top:1px solid #bd945b;padding-top:7px;margin-top:4px;display:flex;flex-direction:column;gap:7px}
.calibration-section #calibration-tools{display:flex;flex-direction:column;gap:8px}
.calibration-toggle strong{color:#ffe0a4;font-size:12px}
.calibration-status{padding:8px!important;background:var(--ik-theme-surface-alt);color:#f6d08f!important}
.calibration-instruction{font:11px/1.5 Arial,sans-serif!important;color:#d4c9b4!important}
.calibration-grid-label{font:600 11px Arial,sans-serif;color:#c5b591}
.calibration-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px}
.calibration-grid label{min-width:0;font:11px Arial,sans-serif!important}
.calibration-grid input{margin-top:4px;font:12px Arial,sans-serif!important}
.calibration-export-row button:first-child{background:linear-gradient(#927247,#4b3929);border-color:#dfbd7e}
#village-canvas.calibrating-scene{cursor:crosshair!important;touch-action:none;}
@media(max-width:720px){.village-preview-editor{width:min(355px,80vw)}}

/* Alpha 0.4.24 – compact construction rows + dedicated building pages */
#buildings-list[hidden],#building-detail[hidden]{display:none!important}
.ik-building-scene #buildings-list{width:min(1180px,96%);max-height:none;overflow:visible;gap:6px!important;padding:0 0 18px}
.ik-building-scene #view-buildings .page-title{width:min(1180px,96%);align-items:start}
.ik-building-scene .building.compact-building{display:grid!important;grid-template-columns:52px minmax(140px,1.2fr) minmax(180px,1.6fr) minmax(170px,.8fr);grid-template-rows:auto!important;min-height:0!important;column-gap:10px;row-gap:5px;padding:7px 12px;align-items:center;border-radius:5px}
.compact-building .cb-thumb{width:45px;height:46px;display:grid;place-items:center;overflow:hidden;color:#e4c18d;font-size:24px}
.compact-building .cb-thumb img{width:100%;height:100%;object-fit:contain}
.compact-building .cb-name{min-width:0;display:grid;gap:4px}
.compact-building .cb-name strong{font:600 clamp(12px,.97vw,15px) Georgia,serif;color:#f0d8ac}
.compact-building .cb-name small{font:11px/1.4 Arial,sans-serif;color:#c8c5bc}
.compact-building .cb-name b{color:#ffe0a1}
.compact-building .cb-resources{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:5px 13px;font:11px Arial,sans-serif}
.compact-building .cb-resources>span{white-space:nowrap;color:#f1dfc3}
.compact-building .cb-resources small{display:block;width:100%;line-height:1.3;color:#c6bbab}
.compact-building .cb-resources .cb-requires{color:#f0bd82;background:#4733275e;padding:3px 6px;border-left:2px solid #ca9462}
.compact-building .cb-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.compact-building .cb-actions button{font:11px Arial,sans-serif;padding:7px 8px;white-space:nowrap}
.cb-details,.ik-troop-card button,.queue-cancel,#detail-back{background:var(--ik-theme-surface);color:#f2d8ad;border:1px solid #917b59;border-radius:4px;padding:7px 10px;cursor:pointer}
.cb-details:hover,.ik-troop-card button:hover:not(:disabled),.queue-cancel:hover{background:var(--ik-theme-elevated)}
button:disabled{opacity:.55;cursor:not-allowed}
.queue-line{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:6px 0;border-top:1px solid #7c756349}
.queue-line span{min-width:0;overflow-wrap:anywhere}
.queue-cancel{font:10px Arial,sans-serif;flex-shrink:0}
.building-detail{width:min(1180px,96%);margin:0 auto 24px;padding:clamp(16px,2.1vw,28px);border:1px solid #b9945f;background:linear-gradient(145deg,color-mix(in srgb, var(--ik-theme-surface) 93.3%, transparent),#141d1df7);box-shadow:0 18px 44px #0008}
.detail-head{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #a8885b6e;padding-bottom:12px;color:#d4ac74;font-size:11px;letter-spacing:.1em}
.ik-detail-title{display:flex;align-items:center;gap:18px;margin:12px 0 22px;line-height:1.8;color:#dbcbae}
.ik-detail-title img{width:110px;height:110px;object-fit:contain}
.ik-detail-title h2{color:#f0d7a8;margin:0 0 8px;font:normal 29px Georgia,serif}
.ik-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ik-detail-section{padding:18px;background:color-mix(in srgb, var(--ik-theme-deep) 82%, transparent);border:1px solid #746b50;margin:0 0 16px;min-width:0;color:#c7c5b9;font:13px/1.65 Arial,sans-serif}
.ik-detail-section h3{font:normal 21px Georgia,serif;color:#eecb91;margin:0 0 12px}
.ik-detail-section .primary{padding:9px 14px}
.ik-detail-cost,.ik-troop-cost{display:flex;gap:12px;flex-wrap:wrap;color:#f0ddc4}
.ik-stats{display:grid;gap:8px}
.ik-stats>div{display:flex;gap:15px;justify-content:space-between;border-bottom:1px solid #ffffff12;padding-bottom:8px}
.ik-stats b{color:#f9d28e;white-space:nowrap}
.ik-stats .ik-strong{color:#f7dfb1;font-weight:bold}
.ik-military{margin-top:4px}
.ik-troop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:11px}
.ik-troop-card{padding:12px;background:var(--ik-theme-surface-alt);border:1px solid #7e805f;min-width:0;display:flex;flex-direction:column;gap:7px}
.ik-troop-card strong{color:#f1d49d}
.ik-troop-card small{display:block;color:#c5b8a1;font-size:11px}
.ik-troop-card .ik-troop-cost{font-size:11px}
.ik-train-line{display:flex;gap:7px}
.ik-train-line input{width:75px;min-width:0;padding:6px;color:#fff5de;background:var(--ik-theme-surface);border:1px solid #8e826c;border-radius:4px}
.ik-troop-card button{flex:1}
@media(max-width:950px){.ik-building-scene .building.compact-building{grid-template-columns:46px minmax(120px,1fr) minmax(150px,1fr);grid-template-rows:auto auto!important}.compact-building .cb-actions{grid-column:2 / 4;justify-content:flex-start}.ik-detail-grid{grid-template-columns:1fr}}
@media(max-width:610px){.ik-building-scene #view-buildings .page-title{flex-direction:column}.ik-building-scene .building.compact-building{grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto auto!important}.compact-building .cb-thumb{width:38px;height:40px}.compact-building .cb-resources,.compact-building .cb-actions{grid-column:2;grid-row:auto;justify-content:start}.ik-detail-title img{width:80px;height:80px}.ik-detail-title h2{font-size:23px}}

/* Alpha 0.4.25 — real whole-building thumbnails; no ghost pseudo-elements. */
.ik-building-scene .building.compact-building::before{content:none!important;display:none!important}
.ik-building-scene .building.compact-building{
  grid-template-columns:76px minmax(150px,1.25fr) minmax(205px,1.65fr) minmax(148px,.8fr);
  min-height:84px!important;
  padding:5px 11px;
  gap:8px 13px;
}
.ik-building-scene .compact-building .cb-thumb{
  grid-column:1!important;grid-row:1!important;align-self:center;justify-self:center;
  width:74px;height:74px;overflow:visible;display:flex;align-items:center;justify-content:center;
  border:1px solid #a68a5840;border-radius:6px;background:radial-gradient(ellipse,#786c502e,transparent 75%);
}
.ik-building-scene .compact-building .cb-thumb img{
  display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center center;
}
.ik-building-scene .compact-building .cb-name{grid-column:2;grid-row:1}
.ik-building-scene .compact-building .cb-resources{grid-column:3;grid-row:1;gap:5px 11px}
.ik-building-scene .compact-building .cb-actions{grid-column:4;grid-row:1}
.ik-building-scene.ik-building-detail-open #view-buildings .queue-card{display:none!important}
.ik-building-scene.ik-building-detail-open #view-buildings .page-title{margin-bottom:8px}
.ik-building-scene .ik-detail-title img{width:116px;height:130px;object-fit:contain;flex:0 0 auto}
.ik-construct-hint{font:12px/1.65 Arial,sans-serif;color:#cbbfa8;margin-top:20px}
.ik-construct-hint button{margin:5px 0 0;white-space:normal;text-align:left}
@media(max-width:950px){
 .ik-building-scene .building.compact-building{grid-template-columns:72px minmax(115px,1fr) minmax(150px,1fr);grid-template-rows:auto auto!important}
 .ik-building-scene .compact-building .cb-actions{grid-column:2 / 4;grid-row:2;justify-content:flex-start}
}
@media(max-width:610px){
 .ik-building-scene .building.compact-building{grid-template-columns:62px minmax(0,1fr);grid-template-rows:auto auto auto!important;min-height:78px!important}
 .ik-building-scene .compact-building .cb-thumb{width:60px;height:66px;grid-column:1;grid-row:1 / 3!important}
 .ik-building-scene .compact-building .cb-name{grid-column:2;grid-row:1}
 .ik-building-scene .compact-building .cb-resources{grid-column:2;grid-row:2}
 .ik-building-scene .compact-building .cb-actions{grid-column:2;grid-row:3}
}

/* Alpha 0.4.26 — permanent navigation and concise shortcuts */
.ik-global-chrome{position:sticky;top:0;z-index:120;box-shadow:0 6px 24px #0007}
.ik-global-chrome .topbar{min-height:65px!important;padding:8px clamp(12px,1.7vw,26px);background:linear-gradient(103deg,var(--ik-theme-surface),#121a1e 66%,#302c21)!important}
.ik-global-chrome .brand .crest{font-size:32px}.ik-global-chrome .brand strong{font-size:17px}
.ik-global-chrome .resource>span{font-size:20px}.ik-global-chrome .resources{gap:clamp(10px,1.2vw,20px)}
.ik-global-chrome .resource strong{font-size:15px}.ik-global-chrome .tabs{min-height:38px;display:flex;align-items:center;padding:0 12px}
.ik-global-chrome .tabs .nav{padding:10px 14px;font-size:12px}
.ik-quickbar{display:flex;gap:3px;align-items:stretch;padding:4px 12px;background:linear-gradient(var(--ik-theme-surface),var(--ik-theme-deep));border-bottom:1px solid #917953;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}
.ik-quickbar button{display:flex;flex:0 0 auto;align-items:center;gap:7px;padding:4px 10px;border:1px solid transparent;border-radius:3px;background:transparent;color:#dfc9a1;font:11px/1.2 Arial,sans-serif;cursor:pointer}
.ik-quickbar button:hover,.ik-quickbar button:focus-visible{border-color:#b39565;background:var(--ik-theme-surface-alt);color:#ffe7b9}
.ik-quickbar button img{width:26px;height:26px;object-fit:contain;display:block}
.ik-quick-title{align-self:center;font:700 9px Arial,sans-serif;letter-spacing:.13em;color:#bd9e69;margin-right:8px}
.ik-queue-info{display:flex;flex-direction:column;gap:4px;min-width:0}
.ik-queue-info b{font:600 12px Arial,sans-serif;color:#eddbb7}
.ik-queue-info small{font:11px/1.4 Arial,sans-serif;color:#c5bdb0;white-space:normal}
.compact-building .cb-resources small b{color:#f0d8a0}
#calibration-size-fields[hidden]{display:none!important}
@media(max-width:850px){.ik-global-chrome{position:sticky;top:0}.ik-global-chrome .topbar{flex-wrap:wrap}.ik-quickbar{padding:4px 7px}.ik-quick-title{display:none}}

/* Alpha 0.4.27 — no duplicated scene chrome; quickbar centered without losing small-screen scroll. */
.ik-quickbar{display:block;box-sizing:border-box;width:100%;padding:5px clamp(8px,1.6vw,24px);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;overscroll-behavior-x:contain}
.ik-quickbar-inner{display:flex;box-sizing:border-box;align-items:center;justify-content:center;gap:clamp(3px,.5vw,9px);width:100%;min-width:max-content;min-height:39px;margin-inline:auto}
.ik-quickbar-inner>button{flex:0 0 auto}
/* A real single-column scene makes all the freed room available to the village. */
/* R70-R51 — preserve document scroll as the viewport scrollport. `hidden` on
 * the horizontal axis together with `auto` vertically created a body scroll
 * container; .ik-global-chrome's sticky positioning then scrolled offscreen.
 * clip does not create a scroll container; visible lets the root document own
 * vertical scrolling. Keep village subpanel scrolling independent. */
.ik-cinematic{height:auto!important;min-height:100dvh;overflow-x:clip;overflow-y:visible}
.ik-cinematic .ik-global-chrome .tabs{display:flex!important}
.ik-cinematic main{height:max(330px,calc(100dvh - var(--ik-chrome-height,148px)));min-height:330px;max-width:none;width:100%;padding:0;overflow:hidden}
.ik-cinematic main>.view#view-village{height:100%}
.ik-cinematic .village-stage-layout{width:100%;height:100%;display:grid;grid-template-columns:minmax(0,1fr)!important;gap:0;min-width:0}
.ik-cinematic .village-stage-main{min-width:0;height:100%;min-height:0;display:grid;grid-template-rows:minmax(0,1fr)!important}
.ik-cinematic #view-village .scenewrap{height:100%;width:100%;min-height:0;min-width:0;overflow:hidden}
.ik-cinematic .scene-controls{right:clamp(8px,1.2vw,22px);left:auto;top:clamp(8px,1.1dvh,16px);bottom:auto;transform:none}
.ik-cinematic .preview-launch{position:absolute;top:clamp(53px,8dvh,82px);right:clamp(8px,1.2vw,22px);bottom:auto;transform:none;max-width:min(260px,56vw)}
@media(max-width:720px){.ik-cinematic .scene-controls{right:7px;left:auto;top:7px;bottom:auto}.ik-cinematic .preview-launch{top:52px;right:7px;bottom:auto;transform:none}}
/* Other views remain part of document flow below the navigation, never overlay the quickbar. */
#view-world,#view-buildings,#view-admin{position:relative;scroll-margin-top:calc(var(--ik-chrome-height,148px) + 10px);min-width:0}
.ik-global-chrome{isolation:isolate}
.ik-global-chrome .tabs{overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap}
.ik-global-chrome .tabs .nav{flex-shrink:0;white-space:nowrap}
@media(max-width:850px){.ik-quickbar{padding:4px 8px}.ik-quickbar-inner{justify-content:center}}

/* Alpha 0.4.28 — left village/home control on its own permanent row below the quickbar */
.ik-village-context{display:flex;align-items:center;justify-content:flex-start;box-sizing:border-box;width:100%;min-height:49px;padding:5px clamp(10px,1.7vw,26px);background:linear-gradient(100deg,var(--ik-theme-surface),#1a2324 54%,#171c1e);border-bottom:1px solid #a58b5b6e}
.ik-village-home{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;max-width:100%;min-width:170px;padding:5px 13px 5px 10px;border:1px solid #947e5677;border-radius:4px;background:linear-gradient(110deg,var(--ik-theme-surface-alt),#1d292a);color:#efdbb4;text-align:left;cursor:pointer;transition:background .15s,border-color .15s;box-shadow:0 1px 8px #0004}
.ik-village-home:hover,.ik-village-home:focus-visible{background:var(--ik-theme-surface-alt);border-color:#e4bf80;outline-offset:2px}
.ik-village-home-icon{font-size:23px;line-height:1;color:#d7b177}
.ik-village-home-info{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
.ik-village-home-info strong{font:700 12px/1.2 Georgia,serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(55vw,240px)}
.ik-village-home-info small{font:11px/1.2 Arial,sans-serif;color:#bbaa8b;letter-spacing:.09em}
.ik-village-home-arrow{font:13px Arial,sans-serif;color:#a7a98e;margin-left:auto}
.map-jump #search-x,.map-jump #search-y{width:70px;max-width:70px;box-sizing:border-box;font-variant-numeric:tabular-nums}
@media(max-width:480px){.ik-village-context{min-height:44px;padding:4px 9px}.ik-village-home{min-width:0;max-width:100%;padding:5px 9px}.ik-village-home-info strong{max-width:68vw}}

/* Alpha 0.4.29 — tribe management has its own page; nothing tribal overlays the map. */
.ik-tribe-page{max-width:1160px;margin:0 auto;padding:clamp(16px,3vw,34px);width:100%;box-sizing:border-box}
.ik-tribe-intro{margin-bottom:24px}.ik-tribe-intro h1{font-size:clamp(26px,3vw,36px);margin:8px 0;color:#f0d9b2}
.ik-tribe-intro p{color:#c6c2b5;line-height:1.55}
.ik-tribe-layout{display:grid;grid-template-columns:minmax(320px,1.05fr) minmax(280px,.95fr);gap:18px;align-items:start}
.ik-tribe-card,.ik-tribe-about{padding:22px;min-width:0;box-sizing:border-box}
.ik-tribe-card .tribe-form{display:flex;flex-direction:column;align-items:stretch;gap:10px}
.ik-tribe-card .tribe-form input{width:100%;max-width:none;box-sizing:border-box}
.ik-tribe-card .tribe-form button{min-height:40px}
.ik-tribe-card .tribe-form label{font-weight:600;font-size:12px;color:#d4ba8c;margin-top:4px}
.ik-tribe-separator{text-align:center;font-size:12px;opacity:.75;margin:12px 0 4px}
.ik-tribe-about p{line-height:1.65}
@media(max-width:780px){.ik-tribe-layout{grid-template-columns:minmax(0,1fr)}.ik-tribe-page{padding:14px}}

@media(min-width:801px) and (max-width:1220px){.map-right-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.map-right-sidebar{display:flex;flex-direction:column}}

/* Alpha 0.4.30 — centered real-world ranking, standard chrome flow. */
.ik-rank-page{width:min(1160px,100%);margin:0 auto 30px;padding:4px 0 25px}
.ik-rank-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0}
.ik-rank-toolbar button{min-width:110px}.ik-rank-toolbar .subtle{margin-left:auto}
.ik-rank-table-wrap{width:100%;overflow-x:auto;background:linear-gradient(145deg,var(--ik-theme-surface),#191f20);border:1px solid #97826265;border-radius:5px}
.ik-rank-table{width:100%;border-collapse:collapse;min-width:540px;font-family:Arial,sans-serif;font-size:14px}
.ik-rank-table th{text-align:left;padding:14px 18px;color:#ebd09c;background:#141d1d;border-bottom:1px solid #b3915f70;white-space:nowrap}
.ik-rank-table td{padding:12px 18px;color:#e3e0d4;border-bottom:1px solid #958b7b27}
.ik-rank-table tbody tr:hover{background:#e4ba7220}.ik-rank-score{font-weight:bold;color:#f4c982!important;font-variant-numeric:tabular-nums}
.ik-rank-explain{margin-top:12px;font-size:12px;line-height:1.5}
@media(max-width:700px){.ik-rank-toolbar .subtle{margin-left:0;width:100%}}

/* Alpha 0.4.31 — category-based building manager; all rows remain fully functional. */
.ik-building-scene #buildings-list{gap:12px!important}
.ik-build-group-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:#d5c3a4;font:12px/1.45 Arial,sans-serif;padding:0 2px 3px}
.ik-build-group-toolbar>span{flex:1;min-width:135px;letter-spacing:.03em}
.ik-build-group-toolbar button{border:1px solid #987d52;border-radius:5px;background:var(--ik-theme-surface);color:#f0dcb5;padding:7px 11px;font:11px Arial,sans-serif;cursor:pointer}
.ik-build-group-toolbar button:hover{background:var(--ik-theme-surface-alt)}
.ik-build-category{min-width:0;width:100%;border:1px solid #8d7550b8;border-radius:7px;overflow:hidden;background:linear-gradient(130deg,var(--ik-theme-deep),var(--ik-theme-deep))}
.ik-build-category-header{width:100%;display:flex;align-items:center;gap:11px;min-height:57px;padding:10px 15px;border:0;border-bottom:1px solid #a7895a38;background:linear-gradient(105deg,#3b3427 0%,var(--ik-theme-surface) 45%,var(--ik-theme-surface) 100%);color:#ecd8b1;cursor:pointer;text-align:left}
.ik-build-category-header:hover{background:linear-gradient(105deg,#51402b,var(--ik-theme-surface-alt))}
.ik-build-category-header:focus-visible{outline:2px solid #f1c573;outline-offset:-3px}
.ik-group-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:6px;border:1px solid #a98a577d;background:#0d1717a6;font-size:21px;color:#eac384}
.ik-group-heading{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}
.ik-group-heading strong{font:600 clamp(15px,1.1vw,18px) Georgia,serif}
.ik-group-heading small{color:#bfb59f;font:11px/1.4 Arial,sans-serif}
.ik-group-summary{color:#e2c89d;font:11px/1.3 Arial,sans-serif;text-align:right}
.ik-group-chevron{font:20px/1 Georgia,serif;color:#ecc68b;min-width:17px;text-align:center}
.ik-build-category-rows{display:flex;flex-direction:column;gap:5px;padding:7px}
.ik-build-category-rows[hidden]{display:none!important}
.ik-building-scene .ik-build-category-rows .building.compact-building{width:100%;border-color:#8874556e;box-sizing:border-box}
@media(max-width:700px){.ik-build-category-header{padding:9px 10px;gap:7px}.ik-group-icon{width:30px;height:30px;flex-basis:30px;font-size:18px}.ik-group-summary{font-size:10px;max-width:108px}.ik-group-heading small{font-size:10px}}

/* Alpha 0.4.34 — compact permanent controls without any topbar */
.ik-global-chrome .ik-village-context{display:flex;gap:clamp(8px,1vw,15px);flex-wrap:wrap;align-items:center;justify-content:flex-start;min-height:68px;padding:8px clamp(10px,2vw,24px)}
.ik-village-context>.resources{display:flex;align-items:center;flex:1 1 460px;justify-content:center;gap:clamp(10px,1.5vw,23px);flex-wrap:wrap;min-width:0}
.ik-village-context .resource{min-width:0;display:flex;align-items:center;gap:7px;margin:0;padding:4px 6px}
.ik-village-context .resource>span{font-size:18px}
.ik-village-context .resource strong{font-size:clamp(12px,1vw,16px);line-height:1.15;white-space:nowrap;font-variant-numeric:tabular-nums}
.ik-village-context .resource small{font-size:9px;white-space:nowrap}
.ik-village-context .ik-context-meta{display:flex;gap:9px;align-items:center;justify-content:flex-end;min-width:0;font:12px Arial,sans-serif;color:#dcc598}
.ik-village-context .ik-context-meta select{max-width:205px;min-width:95px;background:var(--ik-theme-surface);color:#eee1c5;border:1px solid #997f5b;border-radius:4px;padding:5px}
.ik-game-footer{display:flex!important;position:relative;gap:15px;flex-wrap:wrap;align-items:center;justify-content:space-between;min-height:53px;padding:10px clamp(10px,2vw,28px);font:12px Arial,sans-serif;letter-spacing:0;color:#cfb992}
.ik-game-footer #clock{font-variant-numeric:tabular-nums;font-weight:600;color:#f1d7a8}
.ik-footer-actions{display:flex;align-items:center;gap:12px}
.ik-footer-actions a,.ik-footer-actions button{color:#ecd7b1;background:var(--ik-theme-surface);border:1px solid #9c8358;border-radius:5px;padding:8px 12px;text-decoration:none;font:12px Arial,sans-serif;cursor:pointer}
.ik-footer-actions a:hover,.ik-footer-actions button:hover{background:var(--ik-theme-surface-alt)}
#map-canvas,#map-canvas:active,#mini-map-canvas,#mini-map-canvas:active{cursor:default!important;touch-action:none}
@media(max-width:800px){.ik-global-chrome .ik-village-context{justify-content:center}.ik-village-context>.resources{order:3;flex-basis:100%;gap:8px;justify-content:space-around}.ik-village-context .ik-context-meta{flex:1;justify-content:flex-end}.ik-village-context .resource{padding:3px}}
@media(max-width:520px){.ik-village-context .resource small{font-size:8px}.ik-village-context .resource>span{font-size:15px}.ik-village-context .ik-village-home{min-width:130px}.ik-village-context .ik-context-user{display:none}}


/* 0.4.36 — independent Mini Map zoom, constrained rectangle drag, village hover */
.ik-mini-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:-2px 0 9px;color:#c6b590;font:700 10px/1.3 system-ui,sans-serif;letter-spacing:.12em}
.ik-mini-toolbar .map-zoom{gap:5px}
.ik-mini-toolbar .map-zoom button{width:27px;height:27px}
.ik-mini-toolbar .map-zoom output{min-width:43px;text-align:center;font:600 11px/1.4 system-ui,sans-serif;letter-spacing:0;color:#f1dcaf}
#mini-map-canvas{cursor:crosshair!important;touch-action:none!important}
#mini-map-canvas.is-pan-target{cursor:grab!important}
#mini-map-canvas.is-drag-ready:not(.is-panning){cursor:grab!important}
#mini-map-canvas.is-panning{cursor:grabbing!important}
#map-canvas{cursor:crosshair!important;touch-action:none!important}
#map-canvas.is-panning{cursor:grabbing!important}
.ik-map-tooltip{position:fixed;z-index:99999;pointer-events:none;width:max-content;max-width:min(290px,calc(100vw - 16px));padding:11px 13px 10px;background:linear-gradient(155deg,#203337F7,#122025F9);color:#f0e7d9;border:1px solid #d5b17c;border-radius:8px;box-shadow:0 12px 32px #000b, inset 0 1px #fff2;font:12px/1.35 system-ui,sans-serif;letter-spacing:0}
.ik-map-tooltip[hidden]{display:none!important}
.ik-map-tooltip .tip-name{font:700 14px/1.3 Georgia,serif;color:#f4d7a1;margin:0 0 2px;overflow-wrap:anywhere}
.ik-map-tooltip .tip-coords{font:10px/1.4 system-ui;color:var(--ik-theme-ink);margin-bottom:7px}
.ik-map-tooltip .tip-row{display:flex;justify-content:space-between;align-items:baseline;gap:17px;padding:4px 0;border-top:1px solid color-mix(in srgb, var(--ik-theme-border-strong) 14.9%, transparent)}
.ik-map-tooltip .tip-row span{color:var(--ik-theme-ink)}
.ik-map-tooltip .tip-row strong{font-weight:650;color:#fff1d5;text-align:right;overflow-wrap:anywhere}


/* Alpha 0.4.37 — Main Building: visual hierarchy and 10-slot server-authoritative queue */
.ik-building-scene #view-buildings{padding:clamp(12px,1.5vw,24px) 0 30px}
#view-buildings [hidden]{display:none!important}
.ik-main-building-hero,.ik-building-mode-tabs,.ik-construction-queue,.ik-main-buildings-panel{width:min(1180px,96%);margin-left:auto;margin-right:auto;box-sizing:border-box}
.ik-main-building-hero{display:grid;grid-template-columns:clamp(125px,16vw,188px) minmax(0,1fr);align-items:center;gap:clamp(14px,2vw,29px);padding:18px 26px;background:linear-gradient(108deg,#3b392aee,color-mix(in srgb, var(--ik-theme-surface) 96.1%, transparent) 43%,#101a1bef);border:1px solid #af905f;border-radius:7px 7px 0 0;box-shadow:0 12px 30px #0006}
.ik-main-building-image{height:clamp(112px,12vw,154px);display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse,#d6b07318,transparent 70%);min-width:0}
.ik-main-building-image img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(1px 9px 9px #0008)}
.ik-main-building-intro .eyebrow{color:#c9ac80;font:700 10px/1.4 Arial,sans-serif;letter-spacing:.15em}
.ik-main-building-intro h1{font:normal clamp(23px,2.6vw,35px)/1.3 Georgia,serif;color:#f5ddb0;margin:6px 0 9px}
.ik-main-building-intro p{font:12px/1.7 Arial,sans-serif;color:#d4cab7;max-width:760px;margin:0 0 12px}
.ik-main-building-stats{display:flex;flex-wrap:wrap;gap:8px;color:#ead1a6;font:11px Arial,sans-serif}
.ik-main-building-stats span{padding:7px 10px;background:color-mix(in srgb, var(--ik-theme-deep) 65.9%, transparent);border:1px solid #9e87644a;border-radius:4px}
.ik-building-mode-tabs{display:flex;align-items:stretch;gap:4px;border-inline:1px solid #8e7654;background:var(--ik-theme-deep);padding:8px 12px 0;font:600 12px Arial,sans-serif}
.ik-building-mode-tabs span{padding:10px 18px;border:1px solid transparent;border-radius:5px 5px 0 0;white-space:nowrap}
.ik-building-mode-tabs .ik-tab-selected{background:#403727;border-color:#a78a57;border-bottom-color:#403727;color:#ffe1ab}
.ik-building-mode-tabs .ik-tab-unavailable{color:#9c9c8c;cursor:not-allowed;opacity:.8}
.ik-construction-queue{background:linear-gradient(125deg,color-mix(in srgb, var(--ik-theme-surface) 93.3%, transparent),color-mix(in srgb, var(--ik-theme-deep) 96.5%, transparent));border:1px solid #9c8058;padding:16px clamp(12px,1.8vw,22px);margin-bottom:15px;border-radius:0 0 7px 7px;box-shadow:0 10px 30px #0005}
.ik-construction-queue-heading,.ik-main-buildings-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.ik-section-kicker{font:700 10px Arial,sans-serif;letter-spacing:.16em;color:#bca77e}
.ik-construction-queue-heading h2,.ik-main-buildings-heading h2{font:normal clamp(18px,1.8vw,24px) Georgia,serif;color:#f1d8ab;margin:5px 0 7px}
.ik-construction-queue-heading p,.ik-main-buildings-heading p{font:11px/1.6 Arial,sans-serif;color:#b9b7aa;margin:0}
.ik-construction-capacity{display:flex;align-items:flex-end;flex-direction:column;gap:2px;text-align:right;flex-shrink:0}
.ik-construction-capacity strong{font:700 27px/1.1 Georgia,serif;color:#efd3a3;font-variant-numeric:tabular-nums}
.ik-construction-capacity small{color:#d2b583;font:11px Arial,sans-serif;max-width:185px}
.ik-queue-table-labels,.ik-build-order{display:grid;grid-template-columns:34px minmax(210px,2fr) minmax(90px,.75fr) minmax(145px,1.3fr) minmax(96px,.75fr);gap:11px;align-items:center}
.ik-queue-table-labels{padding:10px 13px;background:linear-gradient(90deg,#4b4331,var(--ik-theme-surface-alt));border:1px solid #a48a64;color:#f2dbb0;font:600 11px Arial,sans-serif}
.ik-build-order{position:relative;min-height:62px;padding:8px 13px;border-bottom:1px solid #94816148;background:color-mix(in srgb, var(--ik-theme-surface) 54.9%, transparent);font:11px/1.45 Arial,sans-serif;color:#d8d2c5}
.ik-build-order:nth-child(even){background:color-mix(in srgb, var(--ik-theme-surface) 54.9%, transparent)}
.ik-build-order[data-status='active']{background:linear-gradient(90deg,#3c3a27a8,color-mix(in srgb, var(--ik-theme-surface) 65.9%, transparent));border-left:3px solid #c7a561;padding-left:10px;padding-bottom:13px}
.ik-build-order-number{color:var(--ik-theme-muted);font-variant-numeric:tabular-nums;font-weight:700}
.ik-build-order-name{display:flex;align-items:center;gap:9px;min-width:0}
.ik-build-order-name img{width:43px;height:43px;object-fit:contain;flex:none}
.ik-build-order-description{display:flex;flex-direction:column;gap:4px;min-width:0}
.ik-build-order-description strong{font:600 13px Georgia,serif;color:#ffe3b1;overflow-wrap:anywhere}
.ik-build-order-description small{font-size:10px;color:#c4c6b7}
.ik-build-order-description .ik-order-running{color:#b6e1a2}
.ik-build-order-duration,.ik-build-order-end{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.ik-build-order-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#1b241e;overflow:hidden}
.ik-build-order-progress span{display:block;height:100%;background:linear-gradient(90deg,#8e9545,#d5b86a)}
.ik-build-order .queue-cancel{width:100%;min-height:32px;font-size:11px}
.ik-queue-empty{padding:24px;text-align:center;color:#c3b9a6;font:12px/1.7 Arial,sans-serif}
.ik-main-buildings-panel{padding:16px 14px 18px;border:1px solid #997d58;border-radius:7px;background:color-mix(in srgb, var(--ik-theme-deep) 94.9%, transparent)}
.ik-main-buildings-heading{padding:0 5px 6px;border-bottom:1px solid #987b534f;align-items:end}
.ik-main-buildings-heading p{max-width:390px;text-align:right}
.ik-building-scene .ik-main-buildings-panel #buildings-list{width:100%;margin:0;max-height:none!important;padding:0!important}
.ik-building-table-labels{display:grid;grid-template-columns:minmax(160px,1.3fr) minmax(230px,1.7fr) minmax(180px,.9fr);gap:10px;padding:10px 16px;margin-bottom:2px;background:#39392e;color:#f0d7a9;font:600 11px Arial,sans-serif;border:1px solid #917755;border-radius:4px}
.ik-building-scene .ik-build-category-rows .building.compact-building{background:linear-gradient(90deg,var(--ik-theme-surface),var(--ik-theme-surface));border-color:#93805d5c}
.ik-building-scene .ik-build-category-rows .building.compact-building:hover{border-color:#d2af70}
@media(max-width:780px){.ik-main-building-hero{grid-template-columns:95px 1fr;padding:13px;gap:10px}.ik-main-building-image{height:100px}.ik-queue-table-labels{display:none}.ik-build-order{grid-template-columns:30px minmax(120px,1fr) minmax(95px,.7fr);gap:7px}.ik-build-order-name{grid-column:2;grid-row:1}.ik-build-order-number{grid-column:1;grid-row:1}.ik-build-order-duration{grid-column:3;grid-row:1}.ik-build-order-end{grid-column:2;grid-row:2}.ik-build-order .queue-cancel{grid-column:3;grid-row:2}.ik-building-table-labels{display:none}.ik-main-buildings-heading{flex-wrap:wrap}.ik-main-buildings-heading p{text-align:left}}
@media(max-width:500px){.ik-main-building-hero{grid-template-columns:75px 1fr}.ik-main-building-image{height:90px}.ik-main-building-intro p{font-size:11px}.ik-construction-queue-heading{align-items:start}.ik-construction-capacity strong{font-size:20px}.ik-construction-capacity small{font-size:9px}.ik-construction-queue-heading p{max-width:230px}.ik-build-order-name img{width:34px;height:34px}.ik-build-order{padding-left:8px;padding-right:8px}}

/* 0.4.38 — construction and recruitment countdowns, synchronized to world clock. */
.ik-live-countdown{display:inline-block;color:#eacb81;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
.ik-build-order-duration{display:flex;flex-direction:column;gap:3px;line-height:1.3}
.ik-build-order-duration small{color:var(--ik-theme-ink);font-size:10px}
.ik-build-order-duration .ik-live-countdown{color:#bde6a5}
.ik-train-estimate{font-variant-numeric:tabular-nums;color:#d7bd8a!important}
.ik-recruit-queue-total{margin:9px 0 12px;padding:12px 14px;border:1px solid #a38d5a;background:var(--ik-theme-surface-alt);display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.ik-recruit-queue-total .ik-live-countdown{font-size:17px}
.ik-recruit-queue-total small{color:var(--ik-theme-ink)}
.ik-recruit-queue-line{padding:10px 8px;min-height:86px}
.ik-recruit-job-details{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.ik-recruit-job-details strong{color:#f3ddb5}
.ik-recruit-job-details small{color:#c3c9be;line-height:1.5;font-variant-numeric:tabular-nums}
.ik-recruit-job-details .ik-live-countdown{font-size:12px}
.ik-recruit-queue-line button{flex:none}


/* 0.4.39 — centered tabs, village frame, thematic green backdrop */
.ik-global-chrome .tabs{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;overflow:visible;padding:8px 18px;background:linear-gradient(180deg,var(--ik-theme-deep),var(--ik-theme-deep));border-bottom:1px solid #8f7754;box-shadow:inset 0 -1px 0 #0006,inset 0 1px 0 #d8bf8a12}
.ik-global-chrome .tabs .nav{height:auto;min-height:40px;padding:10px 16px;border:1px solid #8e745130;border-radius:7px;background:linear-gradient(180deg,var(--ik-theme-surface),var(--ik-theme-deep));box-shadow:inset 0 1px 0 #efddb40f,0 5px 15px #0000002b;display:inline-flex;align-items:center;justify-content:center;text-align:center}
.ik-global-chrome .tabs .nav:hover{border-color:#b7935f63;background:linear-gradient(180deg,var(--ik-theme-surface),var(--ik-theme-deep))}
.ik-global-chrome .tabs .nav.active{border-color:#c6a36b85;background:linear-gradient(180deg,#342b1d,var(--ik-theme-surface) 44%,var(--ik-theme-deep));box-shadow:inset 0 0 0 1px #d7b67f22,0 8px 20px #00000038}
@media (max-width: 860px){.ik-global-chrome .tabs{justify-content:center;padding-inline:10px;gap:7px}.ik-global-chrome .tabs .nav{padding:9px 12px;font-size:12px}}

#view-village .scenewrap{position:relative;overflow:hidden;background:linear-gradient(180deg,#27402f,#142118 72%);isolation:isolate}
#view-village .scenewrap::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;background:
  radial-gradient(circle at 18% 14%,rgba(132,167,108,.18),transparent 17%),
  radial-gradient(circle at 84% 22%,rgba(92,131,86,.17),transparent 19%),
  linear-gradient(90deg,rgba(27,44,32,.88) 0,rgba(27,44,32,.42) 6%,transparent 13%,transparent 87%,rgba(27,44,32,.42) 94%,rgba(27,44,32,.88) 100%),
  linear-gradient(180deg,#32513c,#18271d 76%)}
#view-village .scenewrap::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:3;border:1px solid rgba(213,185,130,.55);box-shadow:inset 0 0 0 5px rgba(14,20,17,.58),inset 0 0 0 7px rgba(210,179,118,.18),inset 16px 0 28px rgba(9,14,11,.26),inset -16px 0 28px rgba(9,14,11,.26)}
#view-village .scenewrap canvas{position:relative;z-index:1}
#view-village .scene-controls,#view-village .preview-launch,#view-village .scene-status,#view-village .village-preview-editor{z-index:4}

.ik-village-night #view-village .scenewrap::before{background:
  linear-gradient(180deg,rgba(11,24,22,.18),rgba(3,8,10,.22)),
  linear-gradient(90deg,rgba(14,24,19,.82) 0,rgba(14,24,19,.44) 6%,transparent 12.5%,transparent 87.5%,rgba(14,24,19,.44) 94%,rgba(14,24,19,.82) 100%),
  linear-gradient(180deg,#21352a,#0e1715 76%)}
.ik-village-night #view-village .scenewrap::after{border-color:rgba(211,185,138,.62);box-shadow:inset 0 0 0 5px rgba(9,14,16,.62),inset 0 0 0 7px rgba(183,138,69,.24),inset 26px 0 34px rgba(255,145,38,.05),inset -26px 0 34px rgba(255,145,38,.05)}

/* Alpha 0.4.40: toolbar clearance. */
.ik-global-chrome .tabs{padding-top:3px;padding-bottom:15px;gap:9px;min-height:58px;box-sizing:border-box;position:relative;z-index:2}
.ik-global-chrome .tabs .nav{position:relative;transform:translateY(-3px);min-height:37px;padding-block:8px}
.ik-global-chrome .ik-quickbar{position:relative;z-index:1;clear:both}
.ik-village-night #view-village .scenewrap::before{z-index:0;opacity:.9}

/* Alpha 0.4.49: approved 67-asset building progression gallery. */
.ik-art-evolution{margin:16px 0 18px;padding:14px;background:color-mix(in srgb, var(--ik-theme-deep) 67%, transparent);border:1px solid #a38a5d77;border-radius:7px}
.ik-art-evolution>h3{margin:0 0 12px;color:#ead6aa;font:700 16px Georgia,serif}
.ik-stage-gallery{display:flex;gap:9px;overflow-x:auto;padding:5px 3px 10px;scrollbar-color:#9f8561 var(--ik-theme-surface)}
.ik-stage-card{flex:0 0 clamp(120px,14vw,176px);min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px;border:1px solid color-mix(in srgb, var(--ik-theme-border-strong) 50.2%, transparent);background:var(--ik-theme-surface-alt);border-radius:4px;padding:7px 6px;color:#ddd5c4;font:700 12px Arial,sans-serif;text-align:center}
.ik-stage-card img{width:100%;height:150px;object-fit:contain;filter:drop-shadow(0 3px 3px #0008)}
.ik-stage-card.is-current{border-color:#ecd094;background:var(--ik-theme-elevated);box-shadow:0 0 0 1px #aa824b}
@media(max-width:600px){.ik-stage-card{flex-basis:127px}.ik-stage-card img{height:120px}}


/* V18-HF15 · Sediul Central — selector cantități trupe; strict UI, fără comenzi server. */
.ik-rally-section{border-color:#977b52;background:linear-gradient(145deg,var(--ik-theme-surface),var(--ik-theme-deep))}
.ik-rally-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:15px}
.ik-rally-heading h3{margin-bottom:5px}
.ik-rally-heading p{margin:0;color:#b7c4b9;font:12px/1.65 system-ui,sans-serif;max-width:740px}
.ik-rally-summary{white-space:nowrap;background:var(--ik-theme-surface);border:1px solid #876f4d;border-radius:6px;padding:8px 12px;color:#efd5a1;font:600 12px system-ui,sans-serif}
.ik-rally-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px}
.ik-rally-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(76px,102px);align-items:center;gap:8px;min-width:0;padding:6px;background:var(--ik-theme-surface);border:1px solid var(--ik-theme-border-soft);border-radius:7px;transition:border-color .12s,background .12s}
.ik-rally-row.is-selected{background:var(--ik-theme-surface-alt);border-color:#c6a26c}
.ik-rally-row.is-empty{opacity:.55}
.ik-rally-unit{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;min-width:0;text-align:left;min-height:38px;padding:8px 10px;color:#f3e4cb;background:var(--ik-theme-surface-alt);border:1px solid var(--ik-theme-border-strong);border-radius:5px;font:600 12px system-ui,sans-serif;cursor:pointer}
.ik-rally-unit:hover:not(:disabled){background:var(--ik-theme-elevated);border-color:#bc9a65}
.ik-rally-unit[aria-pressed=true]{color:#ffe2ac;border-color:#d3ac70;background:#51442e}
.ik-rally-unit:focus-visible,.ik-rally-quantity:focus-visible{outline:2px solid #e4c08e;outline-offset:2px}
.ik-rally-unit-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ik-rally-unit-stock{flex:none;font-size:12px;font-variant-numeric:tabular-nums;color:#dac399}
.ik-rally-quantity{height:40px;min-width:0;width:100%;padding:6px 9px;border:1px solid var(--ik-theme-border-strong);border-radius:5px;background:var(--ik-theme-deep);color:#fff0d0;text-align:center;font:600 13px system-ui,sans-serif;font-variant-numeric:tabular-nums}
.ik-rally-quantity:disabled{cursor:not-allowed}
.ik-rally-note{margin:13px 0 0!important;color:var(--ik-theme-muted)!important;font:11px/1.5 system-ui,sans-serif!important}
@media(max-width:760px){.ik-rally-grid{grid-template-columns:minmax(0,1fr)}}

/* HF15-R1: persistent recruitment feedback and visible capacity status. */
.ik-train-validation{display:block;margin:6px 0 1px;color:var(--ik-theme-ink);font:600 11px/1.45 system-ui,sans-serif}
.ik-train-validation.is-error{color:#ffbc94}
.ik-train-line button:disabled{opacity:.57;cursor:not-allowed}

/* HF15-R2 · Sediul Central: command-ready compact columns after progression and building status. */
.ik-rally-section{margin-top:6px;padding:18px 20px;background:linear-gradient(135deg,var(--ik-theme-surface),var(--ik-theme-deep));border-color:#877354}
.ik-rally-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}
.ik-rally-group{background:var(--ik-theme-surface);border:1px solid var(--ik-theme-border-soft);border-radius:8px;min-width:0;padding:9px}
.ik-rally-group h4{margin:0 0 10px;padding:5px 8px 9px;border-bottom:1px solid #a1886059;font:600 13px/1.35 system-ui,sans-serif;color:#ebcf98;letter-spacing:.02em}
.ik-rally-row{grid-template-columns:minmax(0,1fr) minmax(52px,68px);gap:5px;margin:5px 0;padding:4px;border-color:var(--ik-theme-border-soft);border-radius:5px}
.ik-rally-unit{gap:6px;min-height:39px;padding:6px;background:var(--ik-theme-surface-alt);border-color:var(--ik-theme-border-soft);font-size:11px}
.ik-rally-unit-icon{width:24px;height:25px;display:grid;place-items:center;border:1px solid #8e764d66;background:var(--ik-theme-surface);border-radius:4px;flex:none;color:#eacb94;font-size:16px;line-height:1}
.ik-rally-unit-name{flex:1;white-space:normal;line-height:1.2}
.ik-rally-unit-stock{font-size:11px}
.ik-rally-quantity{height:39px;padding:5px 3px;font-size:12px}
.ik-rally-command-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:12px;margin-top:16px}
.ik-rally-command-panel{border:1px solid var(--ik-theme-border-soft);border-radius:8px;background:var(--ik-theme-surface);padding:12px 14px;min-width:0}
.ik-rally-command-panel h4{font:600 14px/1.4 system-ui,sans-serif;color:#ebcf98;margin:0 0 8px}
.ik-rally-command-panel p{margin:0 0 9px;font:12px/1.5 system-ui,sans-serif;color:var(--ik-theme-muted)}
.ik-rally-target-input{max-width:250px;width:100%;height:37px;padding:6px 11px;border:1px solid #8c795b;background:var(--ik-theme-deep);color:#f5e1b5;border-radius:5px;font:600 13px system-ui,sans-serif}
.ik-rally-actions{display:flex;gap:9px;flex-wrap:wrap}
.ik-rally-action{flex:1;min-width:110px;padding:9px 13px;border:1px solid #886e4d;border-radius:5px;background:#3c3831;color:#f0debb;font:600 13px system-ui,sans-serif}
.ik-rally-action.is-support{border-color:#547c71;background:#24473f}
.ik-rally-action:disabled{cursor:not-allowed;opacity:.56}
.ik-rally-future{margin-top:9px!important;font-size:11px!important}
@media(max-width:1199px){.ik-rally-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:690px){.ik-rally-grid,.ik-rally-command-layout{grid-template-columns:minmax(0,1fr)}.ik-rally-section{padding:13px}.ik-rally-heading{gap:8px}}

/* HF16 — Collapsible rally command area + military confirmation page. */
.ik-rally-collapsible{margin:13px 0;border:1px solid #8a714d;border-radius:10px;background:var(--ik-theme-deep);overflow:hidden}
.ik-rally-collapsible>summary{cursor:pointer;list-style:disclosure-closed;padding:15px 18px;font:700 14px Georgia,serif;color:#f6d7a0;background:var(--ik-theme-surface)}
.ik-rally-collapsible[open]>summary{list-style:disclosure-open;border-bottom:1px solid #866c49}
.ik-rally-collapsible>.ik-art-evolution,.ik-rally-collapsible>.ik-detail-grid{margin:15px}
.ik-command-confirm-page{margin-top:14px;padding:16px;background:linear-gradient(140deg,var(--ik-theme-surface),var(--ik-theme-deep));border:1px solid #94754a;border-radius:10px}
.ik-command-confirm-page>h2{font:normal clamp(19px,2vw,29px) Georgia,serif;color:#f4d49c;margin:0 0 17px}
.ik-command-info{max-width:560px;padding:14px;background:var(--ik-theme-surface);border:1px solid var(--ik-theme-border-soft);border-radius:8px}
.ik-command-info>label{display:grid;gap:8px;font-weight:700;color:#dcc8a4}
.ik-command-info input{width:100%;background:var(--ik-theme-deep);color:#f5e6c9;padding:10px;border:1px solid #897052;border-radius:4px}
.ik-command-info dl{display:grid;grid-template-columns:minmax(110px,42%) minmax(0,1fr);gap:0;margin:12px 0 0}
.ik-command-info dt,.ik-command-info dd{margin:0;padding:10px 4px;border-bottom:1px solid #ffffff19;overflow-wrap:anywhere}
.ik-command-info dt{color:#c7bda8}.ik-command-info dd{color:#f7e5c6;font-weight:600}
.ik-command-table-scroll{max-width:100%;overflow:auto;margin-top:17px}
.ik-command-units{width:100%;border-collapse:collapse;min-width:440px;font:13px system-ui}
.ik-command-units th,.ik-command-units td{padding:10px;text-align:left;border-bottom:1px solid var(--ik-theme-border-soft);color:#f0e4cb}
.ik-command-units thead{background:var(--ik-theme-surface-alt)}
.ik-command-confirm-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.ik-command-confirm-actions button{padding:11px 17px;border-radius:6px;border:1px solid #987b53;background:var(--ik-theme-surface-alt);color:#fff1d6;cursor:pointer}
.ik-command-confirm-actions button.primary{background:#77502c}
.ik-command-confirm-actions button:disabled{opacity:.5;cursor:wait}
.ik-command-message{color:#ffc4a4}

.ik-rally-orders{margin-top:12px}.ik-rally-order{display:flex;flex-direction:column;gap:5px;padding:10px 8px;border-bottom:1px solid var(--ik-theme-border-strong);color:#ead6b3}.ik-rally-order small{color:#a8b5a9}.ik-rally-order button{align-self:flex-start;padding:7px 10px;background:var(--ik-theme-elevated);color:#e7f6e5;border:1px solid var(--ik-theme-border-strong);border-radius:5px;cursor:pointer}

/* HF18-R8 — multiple attacks/support commands at confirmation */
.ik-command-batch-panel{margin-top:16px;padding:15px;border:1px solid #80704e;border-radius:9px;background:linear-gradient(135deg,var(--ik-theme-surface),var(--ik-theme-deep));color:#f4e6cd}
.ik-command-batch-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.ik-command-batch-heading h3{font:600 19px Georgia,serif;color:#e9ca90;margin:0 0 7px}
.ik-command-batch-heading p{font-size:13px;color:#cebfa3;margin:0;line-height:1.5;max-width:740px}
.ik-command-batch-heading>button,.ik-command-batch-delete{background:#71502e;border:1px solid #b89560;border-radius:6px;color:#fff3d8;padding:9px 12px;cursor:pointer;font:600 13px system-ui}
.ik-command-batch-rows{display:grid;gap:12px;margin-top:14px}
.ik-command-batch-row{border-radius:7px;background:var(--ik-theme-deep);border:1px solid var(--ik-theme-border-soft);padding:13px;min-width:0}
.ik-command-batch-row-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.ik-command-batch-row-head strong{color:#edcc90;font:600 16px Georgia,serif}
.ik-command-batch-first-name{color:#bcb39e;font-size:12px}
.ik-command-batch-name{min-width:150px;flex:1}
.ik-command-batch-delete{margin-left:auto;background:#4b2926;border-color:#80504a}
.ik-command-batch-unit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.ik-command-batch-unit-grid label,.ik-command-batch-catapult{display:grid;gap:5px;color:#d6c8ae;font-size:12px;font-weight:600}
.ik-command-batch-unit-grid input,.ik-command-batch-name,.ik-command-batch-catapult select{width:100%;min-width:0;box-sizing:border-box;border:1px solid #807356;border-radius:5px;background:var(--ik-theme-deep);color:#f8ead2;padding:9px;font:14px system-ui}
.ik-command-batch-row small{display:block;margin-top:12px;color:#e8c58a}
.ik-command-batch-catapult{margin-top:10px;max-width:360px}
.ik-command-batch-total{font-weight:650;color:#f1d29c;line-height:1.55;overflow-wrap:anywhere;margin:13px 0 0}
.ik-command-batch-preview{color:#f0a19a;font-weight:600;font-size:13px;margin:6px 0 0}
.ik-command-batch-panel button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:550px){.ik-command-batch-panel{padding:11px}.ik-command-batch-unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ik-command-batch-name{flex-basis:100%;order:1}.ik-command-batch-row-head{gap:8px}}

.ik-command-batch-tools{display:flex;gap:9px;flex-wrap:wrap}
.ik-command-batch-tools>button{background:#71502e;border:1px solid #b89560;border-radius:6px;color:#fff3d8;padding:9px 12px;cursor:pointer;font:600 13px system-ui}
.ik-command-batch-tools>button:last-child{background:var(--ik-theme-surface-alt)}
.ik-command-batch-timings{margin-top:12px;color:#d6c7a6;font-size:13px;line-height:1.7}
.ik-command-batch-timings>strong{display:block;color:#f0d196;margin-bottom:4px}
.ik-command-batch-timings>div{border-top:1px solid #ffffff22;padding:5px 0}

/* HF18-R9 · return after interruption */
.ik-rally-order .ik-rally-interrupt{background:linear-gradient(135deg,#654638,#49302a);border:1px solid #bd8562;color:#fff0d8;font-weight:650}
.ik-rally-order .ik-rally-interrupt:hover{background:#815139;border-color:#d4a079}
.ik-rally-order .ik-rally-interrupt:disabled{opacity:.5;cursor:default}
.ik-rally-order .ik-interrupt-hint{color:#e4c5a0;font-size:12px}

/* HF18-R12: editorul nivelurilor este flotant și poate fi mutat din antet. */
.village-preview-editor.ik-preview-floating{position:fixed;inset:auto;left:10px;top:10px;right:auto;bottom:auto;z-index:99980;width:min(382px,calc(100vw - 20px));max-height:calc(100dvh - 20px);box-sizing:border-box;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
.village-preview-editor.ik-preview-floating header.preview-drag-handle{position:sticky;top:-1px;z-index:2;flex-shrink:0;background:linear-gradient(110deg,var(--ik-theme-surface),#111b1c);border:1px solid #846c47;border-bottom:1px solid #c59e61;border-radius:3px;padding:9px 8px;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:none}
.village-preview-editor.ik-preview-dragging header.preview-drag-handle{cursor:grabbing}
.village-preview-editor.ik-preview-floating header.preview-drag-handle:focus-visible{outline:2px solid #f2c882;outline-offset:2px}
.village-preview-editor .preview-drag-title{display:inline-flex;align-items:center;gap:7px;min-width:0}
.village-preview-editor .preview-drag-title>span{font:20px/1 Arial,sans-serif;color:#d5b27f}
.village-preview-editor.ik-preview-floating header.preview-drag-handle button{touch-action:manipulation;cursor:pointer}
@media(max-width:720px){.village-preview-editor.ik-preview-floating{width:min(355px,calc(100vw - 20px))}}

/* HF18-R22 — unified, initially collapsed building information. */
.ik-building-info-collapsible{margin:15px 0;border:1px solid #92764e;border-radius:9px;background:linear-gradient(145deg,var(--ik-theme-surface),var(--ik-theme-deep));overflow:hidden;color:#d5c8ad}
.ik-building-info-collapsible>summary{display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px;padding:14px 18px;cursor:pointer;list-style:none;background:linear-gradient(100deg,var(--ik-theme-surface-alt),var(--ik-theme-surface));color:#f1d5a6;user-select:none;transition:background .15s}
.ik-building-info-collapsible>summary::-webkit-details-marker{display:none}
.ik-building-info-collapsible>summary::before{content:'▸';display:inline-block;flex:none;color:#e8c485;font-size:16px;transition:transform .15s}
.ik-building-info-collapsible[open]>summary::before{transform:rotate(90deg)}
.ik-building-info-collapsible>summary>span{font:700 15px/1.3 Georgia,serif}
.ik-building-info-collapsible>summary>small{font:500 12px/1.4 system-ui,sans-serif;color:#c4b69a;min-width:0}
.ik-building-info-collapsible>summary:hover{background:var(--ik-theme-surface-alt)}
.ik-building-info-collapsible>summary:focus-visible{outline:2px solid #f5d08d;outline-offset:-3px}
.ik-building-info-collapsible[open]>summary{border-bottom:1px solid #8a714d}
.ik-building-info-collapsible>.ik-art-evolution,.ik-building-info-collapsible>.ik-detail-grid{margin:14px}
.ik-building-info-collapsible>.ik-detail-grid{margin-top:0}
@media(max-width:610px){.ik-building-info-collapsible>summary{padding:12px}.ik-building-info-collapsible>.ik-art-evolution,.ik-building-info-collapsible>.ik-detail-grid{margin:9px}.ik-building-info-collapsible>summary>small{flex-basis:100%;padding-left:24px}}

/* HF18-R23 — essential economic data is ALWAYS visible, above informational details. */
.ik-economic-building-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,1fr);align-items:center;gap:0;margin:12px 0 19px;border:1px solid #8b764f;border-radius:9px;background:linear-gradient(110deg,var(--ik-theme-surface-alt),var(--ik-theme-surface));overflow:hidden;box-shadow:0 10px 26px #0003}
.ik-economic-building-identity{min-width:0;padding:16px 22px}
.ik-economic-building-identity .ik-detail-title{margin:0;min-width:0}
.ik-economic-building-main{min-width:0;margin:17px 0;padding:2px 24px;border-left:1px solid #b89459;background:linear-gradient(90deg,#b8945910,transparent 36%)}
.ik-economic-building-main h3{margin:0 0 12px;color:#f1d19c;font:normal 20px/1.3 Georgia,serif}
.ik-economic-building-main dl{display:grid;gap:10px;margin:0}
.ik-economic-building-main dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:14px;border-bottom:1px solid #ffffff17;padding:0 0 8px}
.ik-economic-building-main dl>div:last-child{border-bottom:0;padding-bottom:0}
.ik-economic-building-main dt{font-size:12px;color:var(--ik-theme-ink);min-width:0}
.ik-economic-building-main dd{font-weight:700;font-size:17px;color:#f5dda9;white-space:nowrap;margin:0;font-variant-numeric:tabular-nums}
@media(max-width:720px){.ik-economic-building-hero{grid-template-columns:minmax(0,1fr)}.ik-economic-building-main{border-left:0;border-top:1px solid #b89459;margin:0 16px 15px;padding:15px 3px 2px}.ik-economic-building-identity{padding:15px}}
@media(max-width:410px){.ik-economic-building-main dl>div{gap:8px}.ik-economic-building-main dd{font-size:15px}.ik-economic-building-main h3{font-size:18px}}

/* R70-R11: native links are visually identical to existing quickbar buttons. */
.ik-global-chrome a.nav,.ik-global-chrome a.ik-village-home,.ik-quickbar a[data-quick-building],.ik-quickbar a#ik-simulator-open{text-decoration:none;}
.ik-quickbar :is(a[data-quick-building],a#ik-simulator-open){display:flex;flex:0 0 auto;align-items:center;gap:7px;padding:4px 10px;border:1px solid transparent;border-radius:3px;background:transparent;color:#dfc9a1;font:11px/1.2 Arial,sans-serif;cursor:pointer}
.ik-quickbar :is(a[data-quick-building],a#ik-simulator-open):hover,.ik-quickbar :is(a[data-quick-building],a#ik-simulator-open):focus-visible{border-color:#b39565;background:var(--ik-theme-surface-alt);color:#ffe7b9}
.ik-quickbar :is(a[data-quick-building],a#ik-simulator-open) img{width:26px;height:26px;object-fit:contain;display:block}

/* R70-R16: compact, keyboard-accessible map zoom controls. */
#view-world .ik-map-zoom-controls{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
#view-world .ik-map-zoom-controls button{min-height:29px;min-width:30px;padding:3px 8px;background:var(--ik-theme-surface-alt);border:1px solid #876b3b;color:#f5e6bd;border-radius:5px;font-weight:750;cursor:pointer}
#view-world .ik-map-zoom-controls button:hover{background:var(--ik-theme-elevated)}
#view-world .ik-map-zoom-controls button:focus-visible{outline:2px solid #f3c477;outline-offset:2px}
#view-world #map-surface-live{color:#ecd3a6;font-size:11px;min-width:74px;text-align:center;font-variant-numeric:tabular-nums}

/* R70-R18: strategic context menu, anchored to the screen and keyboard navigable. */
#view-world .ik-map-context-menu[hidden]{display:none!important}
#view-world .ik-map-context-menu{position:fixed;z-index:4000;min-width:215px;max-width:min(310px,calc(100vw - 16px));max-height:min(450px,calc(100vh - 16px));overflow:auto;padding:8px;background:var(--ik-theme-surface);border:1px solid #9b7b47;border-radius:8px;box-shadow:0 15px 38px #000a;color:#f8e2ba;display:flex;flex-direction:column;gap:4px}
#view-world .ik-map-context-title{padding:6px 7px;font-size:12px;color:#fff0cd;overflow-wrap:anywhere}
#view-world .ik-map-context-distance{padding:2px 7px 7px;color:var(--ik-theme-ink);font-size:11px}
#view-world .ik-map-context-menu button{display:block;width:100%;text-align:left;color:#f9e8cc;background:var(--ik-theme-surface-alt);border:1px solid transparent;border-radius:4px;font-size:12px;padding:8px 10px;cursor:pointer}
#view-world .ik-map-context-menu button:hover,#view-world .ik-map-context-menu button:focus-visible{background:var(--ik-theme-elevated);border-color:#b89456;outline:none}


/* R70-R46: no permanent unit icons or info symbols in Central Place. */
.ik-rally-unit-line{display:flex;align-items:center;min-width:0;position:relative}
.ik-rally-unit-line>.ik-rally-unit{flex:1 1 auto;min-width:0}
.ik-rally-unit-line:focus-visible{outline:2px solid #e4c08e;outline-offset:2px}
/* Do not dim the popover for unowned units; only controls are visually muted. */
.ik-rally-row.is-empty{opacity:1}
.ik-rally-row.is-empty .ik-rally-unit,.ik-rally-row.is-empty .ik-rally-quantity{opacity:.56}
.ik-rally-group,.ik-rally-grid,.ik-rally-row{overflow:visible}

/* R70-R47 · Fierărie: categorii identice Sediului Central, cu carduri de cercetare intacte. */
.ik-smith-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px}
.ik-smith-group{min-width:0}
.ik-smith-units{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}
.ik-smith-units .ik-troop-card{min-width:0}
@media(max-width:1120px){.ik-smith-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:690px){.ik-smith-group-grid{grid-template-columns:minmax(0,1fr)}}


/* ---- GAME : tribe.css ---- */
/* HF18 — iron kingdom tribe desk, no map overlay. */
#ik-tribe-root{color:#e7e1d0}
.ik-ally-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;flex-wrap:wrap}
.ik-ally-title h2{font-size:clamp(22px,2.5vw,32px);color:#f0d5a6;margin:3px 0}
.ik-ally-title p{margin:4px 0;color:#bcb5a5}
.ik-ally-title>button{background:transparent;border:1px solid #6d5350;color:#dabdba;border-radius:5px;padding:8px 14px;cursor:pointer}
.ik-ally-kicker{color:#d6a064;font-size:11px;letter-spacing:.11em}
.ik-ally-tabstrip{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid #735739;margin:12px 0 20px;padding-bottom:6px}
.ik-ally-tabstrip button,.ik-ally-filters button,.ik-ally-pagination button{padding:9px 12px;background:var(--ik-theme-surface);color:#d7d2c5;border:1px solid #564634;border-radius:5px;cursor:pointer}
.ik-ally-tabstrip button.active,.ik-ally-filters button.active{background:#85562d;border-color:#cd9957;color:#fff0d9}
.ik-ally-panel{background:linear-gradient(160deg,#282922,var(--ik-theme-deep));border:1px solid #64543b;border-radius:10px;padding:18px;min-width:0;margin-bottom:16px;box-shadow:0 4px 15px #0002}
.ik-ally-panel h3{margin:0 0 13px;color:#eac797;font-size:17px;border-bottom:1px solid #65543b;padding-bottom:10px}
.ik-ally-panel p{line-height:1.5}
.ik-ally-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ik-ally-details{display:grid;grid-template-columns:minmax(110px,1fr) 1.2fr;gap:0;margin:0}
.ik-ally-details dt,.ik-ally-details dd{padding:9px 4px;margin:0;border-bottom:1px solid #ffffff16}
.ik-ally-details dt{color:#b4a991}.ik-ally-details dd{color:#e9dfc9;font-weight:600}
.ik-ally-description{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5;margin-bottom:15px}
.ik-ally-form{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:6px 0 10px}
.ik-ally-form label{display:flex;flex-direction:column;gap:5px;flex:1 1 180px;font-size:12px;color:#d6b78b}
.ik-ally-form input,.ik-ally-form select,.ik-ally-form textarea{background:var(--ik-theme-deep);color:#f5e6d5;box-sizing:border-box;border:1px solid #776448;border-radius:5px;padding:10px;width:100%;font:inherit}
.ik-ally-form textarea{min-width:100%;resize:vertical}
.ik-ally-form button{background:#955f30;border:1px solid #c89759;color:#ffedcf;border-radius:5px;cursor:pointer;min-height:39px;padding:9px 16px}
.ik-ally-table-wrap{max-width:100%;overflow-x:auto}
.ik-ally-table{border-collapse:collapse;width:100%;font-size:13px;min-width:640px}
.ik-ally-table th{background:#4b3d2b;color:#f2d7ad;text-align:left;white-space:nowrap}
.ik-ally-table th,.ik-ally-table td{padding:9px 10px;border:1px solid #66553a;vertical-align:middle}
.ik-ally-table tbody tr:nth-child(odd){background:#ffffff07}
.ik-ally-table tbody tr:hover{background:#ffffff0b}
.ik-ally-table button{background:#413c32;color:#f0dbc0;border:1px solid #896b49;padding:5px 8px;margin:2px;cursor:pointer;border-radius:4px}
.ik-ally-table td:first-child{white-space:nowrap}
.ik-ally-help{color:#bcb4a6;font-size:12px}
.ik-ally-filters,.ik-ally-pagination{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:12px 0}
.ik-ally-pagination{justify-content:center}
.ik-ally-pagination button:disabled{opacity:.45;cursor:default}
.ik-ally-list>div{padding:9px;border-bottom:1px solid #ffffff14}
.ik-ally-list small{color:#b4ae9e}
.ik-ally-invite{border:1px solid #886a43;border-radius:7px;padding:12px;margin:7px 0;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ik-ally-invite span{color:#bfb7a6}.ik-ally-invite button{margin-right:6px}
.ik-ally-thread-link{border:0!important;background:none!important;color:#efd2a9!important;text-decoration:underline}
.ik-ally-post{padding:13px;margin:9px 0;border:1px solid #584a3d;border-radius:5px}
.ik-ally-post small{margin-left:10px;color:#adac9e}.ik-ally-post p{white-space:pre-wrap;overflow-wrap:anywhere}
#ik-tribe-feedback:not(:empty){padding:8px;color:#f5be9d}
@media(max-width:780px){.ik-ally-columns{grid-template-columns:1fr}.ik-ally-panel{padding:12px}.ik-ally-title{gap:8px}}

/* HF18-R2: forum hierarchy and public-profile links */
.ik-ally-forum-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:9px;margin:12px 0 18px}
.ik-ally-forum-sections>button,.ik-ally-forum-section{background:var(--ik-theme-surface);border:1px solid #72563c;border-radius:8px;color:#e5d6bd;text-align:left;min-width:0}
.ik-ally-forum-sections>button,.ik-ally-forum-section>button{padding:14px;width:100%;text-align:left;background:none;border:0;color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:5px;min-height:74px}
.ik-ally-forum-sections .active,.ik-ally-forum-section.active{border-color:#e1a55a;background:#46392a}
.ik-ally-forum-sections small{display:block;color:#bcb5a4;line-height:1.35}
.ik-ally-section-actions{display:flex;justify-content:end;gap:5px;padding:0 8px 9px}
.ik-ally-section-actions button{color:#ebcba1;border:1px solid #785f40;background:#312f27;padding:4px 9px;border-radius:4px;cursor:pointer}
.ik-ally-member-name{color:#f1cc93;text-decoration:underline}
.ik-profile-page{margin:12px auto;max-width:1120px;display:grid;gap:16px}
.ik-profile-page header h1{color:#e9c28b;margin:4px 0}
.ik-profile-page .ik-profile-card{background:linear-gradient(160deg,var(--ik-theme-surface),var(--ik-theme-surface));border:1px solid #725b3d;border-radius:10px;padding:18px}
.ik-profile-page .ik-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.ik-profile-page a,.ik-rank-table a{color:#edc88f;text-decoration:underline;text-underline-offset:2px}
.ik-profile-page table{border-collapse:collapse;width:100%}
.ik-profile-page th,.ik-profile-page td{border:1px solid #6b5639;padding:9px;text-align:left}
.ik-profile-page th{background:#463a2b;color:#f2d2a5}
.ik-profile-back{width:fit-content;padding:9px 15px;background:#7b512d;border:1px solid #c89150;border-radius:5px;color:#ffebd1;cursor:pointer}

/* HF18-R3: stable navigation shell and small content-only transition. */
#ik-tribe-body{min-height:60px;contain:layout style;}
#ik-tribe-body.ik-ally-content-in{animation:ik-ally-panel-in 145ms ease-out both;}

.ik-ally-tabstrip button{transition:background-color .14s ease,border-color .14s ease,color .14s ease;}
.ik-ally-forum-sections button{transition:background-color .14s ease,border-color .14s ease;}
.ik-ally-forum-sections>button.active{background:#46392a;border-color:#e1a55a;}
@media(prefers-reduced-motion:reduce){#ik-tribe-body.ik-ally-content-in{animation:none}.ik-ally-tabstrip button,.ik-ally-forum-sections button{transition:none}}

/* HF18-R22 · permissions and battle coordination */
.ik-ally-rights{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0}
.ik-ally-rights span{border-radius:5px;border:1px solid #665945;padding:7px 10px;background:var(--ik-theme-surface);color:#d1c9b9;font-size:12px}
.ik-ally-rights span.allowed{border-color:#53785b;color:#cae4c6}
.ik-ally-rights span.denied{opacity:.7}
.ik-ally-permissions{border:1px solid #6c563f;border-radius:7px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;width:100%;padding:15px;min-width:0}
.ik-ally-permissions legend{padding:0 8px;color:#e7bd7c;font-weight:700}
.ik-ally-form .ik-ally-permissions label{display:flex;align-items:center;flex-direction:row;gap:8px;min-width:0;color:#ede1cc}
.ik-ally-form .ik-ally-permissions input{width:auto;flex:0 0 auto;accent-color:#c79855}

/* Improve contrast and compact controls on coordination tables. */
#ik-tribe-root .ik-ally-table td{color:#e9dfc9;background:transparent}
#ik-tribe-root .ik-ally-table td small{color:#c9bda7}
#ik-tribe-root .ik-ally-form input[type="datetime-local"]{color-scheme:dark}
#ik-tribe-root .ik-ally-form input,#ik-tribe-root .ik-ally-form select{min-width:0}
@media(max-width:520px){#ik-tribe-root .ik-ally-form label{flex-basis:100%}#ik-tribe-root .ik-ally-table-wrap{overscroll-behavior-x:contain}}

/* R71-R56: public kingdom BBCode uses the same safe presentation as forum posts. */
.ik-profile-description{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5;min-width:0}
.ik-profile-description a{overflow-wrap:anywhere}
.ik-profile-description .ik-bb-image{max-width:100%;height:auto}


/* ---- GAME : reports.css ---- */
/* HF18-R5 — Rapoarte: structură vizuală dedicată, independentă de funcționalitatea militară. */
#view-reports{--ik-reports-border:#765e3f;--ik-reports-gold:#e4bd80;--ik-reports-muted:#acb7ae;--ik-reports-surface:#17201f;--ik-reports-inner:#101819;color:#efe1c9;min-width:0}
#view-reports *,#view-reports *::before,#view-reports *::after{box-sizing:border-box}
#view-reports .ik-reports-page{width:min(100%,1550px);margin:0 auto;padding:clamp(7px,1vw,16px) 0 32px;min-width:0;font:13px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}
#view-reports .ik-reports-header{position:relative;isolation:isolate;overflow:hidden;padding:clamp(20px,2.4vw,35px) clamp(18px,2.7vw,39px);border:1px solid #a27e4d;border-radius:10px;background:radial-gradient(ellipse at 91% 10%,#b1843a22,transparent 42%),linear-gradient(115deg,var(--ik-theme-surface-alt) 0%,var(--ik-theme-surface) 55%,#101b1c 100%);box-shadow:inset 0 1px #ffebbb19,0 16px 38px #0005}
#view-reports .ik-reports-header::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:4px;border-radius:0 3px 3px 0;background:linear-gradient(#f1d09c,#9e6b37)}
#view-reports .ik-reports-header .eyebrow{display:block;margin:0 0 9px;color:#d9b479;font:700 10px/1.5 system-ui,sans-serif;letter-spacing:.18em}
#view-reports .ik-reports-header h1{margin:0 0 7px;color:#f7e4c1;font:400 clamp(26px,2.8vw,39px)/1.2 Georgia,serif;letter-spacing:.015em}
#view-reports .ik-reports-header p{max-width:780px;margin:0;color:#c5cfc3;font:12px/1.65 system-ui,sans-serif}
#view-reports .ik-reports-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:10px 14px;padding:14px 16px;margin:13px 0 16px;border:1px solid var(--ik-reports-border);border-radius:9px;background:linear-gradient(155deg,var(--ik-theme-surface),var(--ik-theme-deep));box-shadow:inset 0 1px #ffffff0b}
#view-reports .ik-reports-toolbar label{display:grid;gap:5px;min-width:0;color:#d6bf99;font:700 11px/1.3 system-ui,sans-serif}
#view-reports #ik-reports-mode{height:40px;min-width:min(225px,75vw);width:100%;margin:0;padding:8px 34px 8px 12px;color:#f5e6ca;border:1px solid #897251;border-radius:6px;background:var(--ik-theme-deep);font:600 12px system-ui,sans-serif}
#view-reports #ik-reports-refresh{min-height:40px;margin:0;padding:9px 15px;border:1px solid #bd955c;border-radius:6px;background:linear-gradient(180deg,#735538,#503b2b);color:#fff0d2;font:700 12px system-ui,sans-serif;cursor:pointer;transition:border-color .15s,filter .15s}
#view-reports #ik-reports-refresh:hover{filter:brightness(1.15);border-color:#e3bc78}
#view-reports #ik-reports-count{margin:0 0 1px auto;min-height:39px;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:95px;padding:8px 13px;color:#e5c796;background:#101a1a;border:1px solid #65573e;border-radius:6px;font:700 12px system-ui,sans-serif;white-space:nowrap;font-variant-numeric:tabular-nums}
#view-reports .ik-reports-layout{display:grid;grid-template-columns:minmax(270px,min(30%,385px)) minmax(0,1fr);align-items:start;gap:16px;min-width:0}
#view-reports .ik-reports-list,#view-reports .ik-report-view{min-width:0;min-height:390px;border:1px solid var(--ik-reports-border);border-radius:9px;background:linear-gradient(152deg,var(--ik-theme-surface) 0%,#121b1b 100%);box-shadow:inset 0 1px #fff1cd10,0 12px 30px #0003}
#view-reports .ik-reports-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;max-height:min(76dvh,1000px);padding:14px;scrollbar-color:#8d7754 var(--ik-theme-deep)}
#view-reports .ik-reports-list::before{content:"JURNALUL RAPOARTELOR";display:block;flex:none;padding:1px 2px 11px;border-bottom:1px solid #8b734f6a;color:#c9ac7e;font:700 10px/1.5 system-ui,sans-serif;letter-spacing:.14em}
#view-reports .ik-report-list-item{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0;width:100%;padding:13px 14px;border:1px solid var(--ik-theme-border-soft);border-left:3px solid var(--ik-theme-border-strong);border-radius:7px;background:linear-gradient(130deg,var(--ik-theme-surface-alt),var(--ik-theme-surface));color:#eadfce;text-align:left;font-family:system-ui,sans-serif;cursor:pointer;transition:background .16s,border-color .16s,box-shadow .16s}
#view-reports .ik-report-list-item:hover{background:linear-gradient(130deg,var(--ik-theme-surface-alt),var(--ik-theme-surface));border-color:#b19363;border-left-color:#d3ab6e}
#view-reports .ik-report-list-item.is-active{background:linear-gradient(130deg,#453e2f,var(--ik-theme-surface-alt));border-color:#dfb77a;border-left-color:#f4cb86;box-shadow:inset 0 0 0 1px #e5b16b20}
#view-reports .ik-report-list-item strong{display:block;max-width:100%;color:#f3e4cc;font:600 13px/1.4 system-ui,sans-serif;overflow-wrap:anywhere}
#view-reports .ik-report-list-item small{display:block;max-width:100%;color:#aebbb0;font:11px/1.4 system-ui,sans-serif;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
#view-reports .ik-report-result{display:inline-block;max-width:100%;padding:3px 9px;border-radius:4px;border:1px solid var(--ik-theme-border-strong);color:var(--ik-theme-ink);background:var(--ik-theme-surface-alt);font:700 10px/1.45 system-ui,sans-serif;letter-spacing:.018em;overflow-wrap:anywhere}
#view-reports .ik-report-result.won{color:var(--ik-theme-ink);background:var(--ik-theme-elevated);border-color:var(--ik-theme-border-strong)}
#view-reports .ik-report-result.lost{color:#d2dfef;background:#283b4a;border-color:#647f94}
#view-reports .ik-report-result.neutral{color:#f1d9a7;background:#4d4029;border-color:#a48756}
#view-reports .ik-reports-empty{margin:15px 0 0;padding:22px 16px;border:1px dashed #776c53;border-radius:7px;background:var(--ik-theme-deep);color:#c5c4b3!important;text-align:center;font:12px/1.7 system-ui,sans-serif}
#view-reports .ik-report-view{padding:clamp(12px,1.4vw,22px);overflow:hidden}
#view-reports .ik-reports-placeholder{min-height:344px;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:16px;margin:0;padding:20px;text-align:center;color:#b7c5b7;font:13px/1.7 system-ui,sans-serif}
#view-reports .ik-reports-placeholder::before{content:"⚔";display:grid;place-items:center;width:72px;height:72px;border:1px solid #8c744f;border-radius:50%;background:var(--ik-theme-surface-alt);color:#e0bc7d;font:39px/1 Georgia,serif;box-shadow:0 0 0 9px #7d674218}
#view-reports .ik-report-sheet{min-width:0;width:100%}
#view-reports .ik-report-sheet-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding-bottom:13px;border-bottom:1px solid #78674b}
#view-reports #ik-report-back{padding:8px 12px;min-height:35px;border:1px solid #98815d;border-radius:5px;background:var(--ik-theme-surface-alt);color:#f0d9af;font:700 11px system-ui,sans-serif}
#view-reports #ik-report-back:hover{background:var(--ik-theme-elevated);border-color:#e1b981}
#view-reports .ik-report-sheet-top>span{color:#c7ab7c;font:700 11px/1.4 system-ui,sans-serif;letter-spacing:.1em}
#view-reports .ik-report-sheet h2{margin:17px 0 12px;color:#f1d8aa;font:400 clamp(21px,2vw,29px)/1.35 Georgia,serif;overflow-wrap:anywhere}
#view-reports .ik-report-result-band{padding:11px 15px;border:1px solid var(--ik-theme-border-strong);border-radius:6px;background:var(--ik-theme-surface-alt);color:var(--ik-theme-ink);font:700 13px system-ui,sans-serif}
#view-reports .ik-report-result-band.won{border-color:var(--ik-theme-border-strong);background:var(--ik-theme-surface-alt);color:var(--ik-theme-ink)}
#view-reports .ik-report-result-band.lost{border-color:#607e91;background:#253b48;color:#d0e3f1}
#view-reports .ik-report-result-band.neutral{border-color:#9d7e4d;background:#443927;color:#f1d6a0}
#view-reports .ik-report-summary{display:grid;grid-template-columns:minmax(130px,.42fr) minmax(0,1fr);gap:0;min-width:0;margin:16px 0 20px;padding:6px 15px;border:1px solid var(--ik-theme-border-soft);border-radius:7px;background:var(--ik-theme-deep)}
#view-reports .ik-report-summary dt,#view-reports .ik-report-summary dd{margin:0;min-width:0;padding:10px 7px;border-bottom:1px solid color-mix(in srgb, var(--ik-theme-border-strong) 31.8%, transparent);font:12px/1.5 system-ui,sans-serif;overflow-wrap:anywhere}
#view-reports .ik-report-summary dt{color:var(--ik-theme-ink);font-weight:600}
#view-reports .ik-report-summary dd{color:#f1dfc2;font-weight:600;font-variant-numeric:tabular-nums}
#view-reports .ik-report-summary dt:nth-last-of-type(1),#view-reports .ik-report-summary dd:nth-last-of-type(1){border-bottom:0}
#view-reports .ik-report-armies{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:13px;margin-bottom:16px}
#view-reports .ik-report-army,#view-reports .ik-report-loot,#view-reports .ik-report-damage{min-width:0;padding:15px;border:1px solid var(--ik-theme-border-strong);border-radius:7px;background:linear-gradient(140deg,var(--ik-theme-surface),var(--ik-theme-deep));margin:0 0 13px}
#view-reports .ik-report-army{margin:0}
#view-reports .ik-report-army h3,#view-reports .ik-report-loot h3,#view-reports .ik-report-damage h3{margin:0 0 11px;padding-bottom:8px;border-bottom:1px solid #82705066;color:#ebca92;font:400 19px/1.4 Georgia,serif}
#view-reports .ik-report-army .ik-command-table-scroll{max-width:100%;overflow-x:auto;margin:0;scrollbar-color:#927751 var(--ik-theme-deep)}
#view-reports .ik-report-units{width:100%;min-width:290px;border-collapse:collapse;font:12px/1.5 system-ui,sans-serif;font-variant-numeric:tabular-nums}
#view-reports .ik-report-units th,#view-reports .ik-report-units td{padding:9px 7px;text-align:right;white-space:nowrap;border-bottom:1px solid color-mix(in srgb, var(--ik-theme-border-strong) 33.3%, transparent);color:#e4ddcd}
#view-reports .ik-report-units th:first-child,#view-reports .ik-report-units td:first-child{text-align:left}
#view-reports .ik-report-units thead{background:var(--ik-theme-surface-alt)}
#view-reports .ik-report-units thead th{color:#e4c48c;font-size:11px;font-weight:700}
#view-reports .ik-report-units tbody th{color:#efe0c7;font-weight:600}
#view-reports .ik-report-units .loss{color:#e9a99b}
#view-reports .ik-report-units tfoot{background:var(--ik-theme-surface-alt)}
#view-reports .ik-report-units tfoot th,#view-reports .ik-report-units tfoot td{color:#f2d6a2;font-weight:700;border-bottom:0}
#view-reports .ik-report-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#view-reports .ik-report-resource-grid span{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:5px;min-width:0;padding:12px 11px;border:1px solid var(--ik-theme-border-soft);border-radius:5px;background:var(--ik-theme-deep);color:#c4cbbc;font:12px/1.5 system-ui,sans-serif}
#view-reports .ik-report-resource-grid b{color:#f4d8a4;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
#view-reports .ik-report-loot>small{display:block;margin-top:10px;color:#b0bcae;font:11px/1.6 system-ui,sans-serif}
#view-reports .ik-report-damage{margin-bottom:13px}
#view-reports .ik-report-damage p{margin:0;color:#b7c3b7;font:12px/1.6 system-ui,sans-serif}
#view-reports .ik-report-damage ul{margin:4px 0;padding-left:22px;color:#e6d2b2;font:12px/1.7 system-ui,sans-serif}
#view-reports .ik-report-disclaimer{margin:14px 0 0;padding:9px 12px;border-left:2px solid #947b55;color:#a8b4aa!important;font:11px/1.65 system-ui,sans-serif!important}
#view-reports :is(button,select):focus-visible{outline:2px solid #f4cf91;outline-offset:2px}
@media(max-width:1020px){#view-reports .ik-reports-layout{grid-template-columns:minmax(235px,35%) minmax(0,1fr);gap:12px}#view-reports .ik-reports-list{padding:10px}}
@media(max-width:760px){#view-reports .ik-reports-layout{grid-template-columns:minmax(0,1fr)}#view-reports .ik-reports-list{min-height:0;max-height:430px}#view-reports .ik-report-view{min-height:230px}#view-reports .ik-reports-placeholder{min-height:210px}#view-reports .ik-reports-toolbar{align-items:stretch}#view-reports #ik-reports-count{margin-left:0}#view-reports .ik-report-resource-grid{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}}
@media(max-width:410px){#view-reports .ik-reports-toolbar{padding:12px}#view-reports .ik-reports-toolbar label{flex:1 1 100%}#view-reports #ik-reports-mode{min-width:0}#view-reports #ik-reports-refresh{flex:1}#view-reports .ik-report-summary{grid-template-columns:minmax(90px,.43fr) minmax(0,1fr);padding:4px 7px}#view-reports .ik-report-summary dt,#view-reports .ik-report-summary dd{padding:9px 5px;font-size:11px}#view-reports .ik-report-army,#view-reports .ik-report-loot,#view-reports .ik-report-damage{padding:11px}}
@media(prefers-reduced-motion:reduce){#view-reports .ik-report-list-item,#view-reports #ik-reports-refresh{transition:none}}


/* ---- GAME : reports-r27.css ---- */
/* HF18-R27 — Rapoarte: structură tip jurnal tabelar, tema Iron Kingdoms */
#view-reports .ik-reports-page{max-width:1450px;margin-inline:auto}
#view-reports .ik-reports-toolbar{gap:12px;align-items:end}
#view-reports .ik-reports-search-wrap{flex:1 1 230px;max-width:410px;min-width:170px}
#view-reports .ik-reports-search-wrap input{display:block;width:100%;min-height:40px;box-sizing:border-box;border:1px solid #8e754e;border-radius:6px;background:var(--ik-theme-deep);color:#f1dfbf;padding:8px 12px;font:600 12px/1.4 system-ui,sans-serif}
#view-reports .ik-reports-search-wrap input::placeholder{color:#9b9d8b;font-weight:400}
#view-reports .ik-reports-list{gap:6px;background:linear-gradient(135deg,var(--ik-theme-surface),#131c1c);padding:12px}
#view-reports .ik-reports-layout{grid-template-columns:minmax(290px,36%) minmax(0,1fr);gap:14px}
#view-reports .ik-report-list-item{display:flex;gap:7px;padding:11px 12px;border-left-width:3px;border-radius:4px;background:linear-gradient(110deg,var(--ik-theme-surface),var(--ik-theme-deep))}
#view-reports .ik-report-row-upper,#view-reports .ik-report-row-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:0}
#view-reports .ik-report-row-upper{color:var(--ik-theme-ink);font:700 10px/1.4 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.045em}
#view-reports .ik-report-row-time{font-size:10px;color:#b5a98d;font-variant-numeric:tabular-nums;font-weight:500;text-transform:none;letter-spacing:normal;text-align:right}
#view-reports .ik-report-list-item .ik-report-villages{font:600 13px/1.45 system-ui,sans-serif;color:#f4e5ce;overflow-wrap:anywhere}
#view-reports .ik-report-villages>span{color:#d7ad6c;padding-inline:2px}
#view-reports .ik-report-row-footer{border-top:1px solid #d0bc8a1b;padding-top:7px;margin-top:1px}
#view-reports .ik-report-row-id{font:600 10px/1.3 system-ui,sans-serif;color:#a7a999}
#view-reports .ik-report-result{padding:3px 7px}
#view-reports .ik-report-sheet-top{background:linear-gradient(90deg,var(--ik-theme-surface-alt),var(--ik-theme-surface));padding:8px 12px;border:1px solid #84724e;border-radius:5px}
#view-reports .ik-report-sheet h2{margin-block:18px 14px}
#view-reports .ik-report-summary{border-color:#816f4b}
#view-reports .ik-report-army,#view-reports .ik-report-loot,#view-reports .ik-report-damage{border-color:#756a4f;background:linear-gradient(145deg,var(--ik-theme-surface-alt),var(--ik-theme-deep))}
#view-reports .ik-report-units tbody tr:nth-child(even){background:#d9c38d09}
#view-reports .ik-report-units tbody tr:hover{background:#bba4731c}
#view-reports :is(.ik-report-units td,.ik-report-units th){font-variant-numeric:tabular-nums}
@media(max-width:900px){#view-reports .ik-reports-layout{grid-template-columns:minmax(250px,37%) minmax(0,1fr)}}
@media(max-width:760px){#view-reports .ik-reports-layout{grid-template-columns:minmax(0,1fr)}#view-reports .ik-reports-search-wrap{max-width:none}}
@media(max-width:420px){#view-reports .ik-reports-search-wrap{flex:1 1 100%}#view-reports .ik-reports-list{padding:8px}#view-reports .ik-report-row-upper{align-items:flex-start}#view-reports .ik-report-row-time{max-width:55%;font-size:9px}}


/* ---- GAME : reports-r28.css ---- */
/* HF18-R28 · Raport militar 2.0. All presentation lives in this stylesheet: CSP style-src 'self'. */
#view-reports .ik-reports-toolbar{gap:9px;align-items:end}
#view-reports .ik-reports-toolbar>label:has(#ik-reports-folder){flex:1 1 155px;max-width:230px}
#view-reports #ik-reports-folder{width:100%;height:40px;border:1px solid #897251;border-radius:6px;padding:8px;color:#f5e6ca;background:var(--ik-theme-deep);font:600 12px system-ui,sans-serif}
#view-reports :is(#ik-reports-create-folder,#ik-reports-rename-folder,#ik-reports-delete-folder){min-height:40px;margin:0;padding:8px 11px;border:1px solid #856d49;border-radius:6px;background:var(--ik-theme-surface-alt);color:#e7d5b5;font:600 11px system-ui,sans-serif;cursor:pointer}
#view-reports :is(#ik-reports-create-folder,#ik-reports-rename-folder,#ik-reports-delete-folder):hover{border-color:#d3af72;background:var(--ik-theme-surface-alt)}
#view-reports #ik-reports-delete-folder{border-color:#80554b;color:#e1b6a7}
#view-reports .ik-report-personal-title:empty{display:none}
#view-reports .ik-report-personal-title{display:block;width:100%;padding:5px 0 2px;color:#e5c08a;font:600 12px/1.4 system-ui,sans-serif}
#view-reports .ik-report-action-toolbar{display:grid;gap:11px;margin:14px 0 20px;padding:15px;border:1px solid #7e704f;border-radius:8px;background:linear-gradient(145deg,var(--ik-theme-surface),var(--ik-theme-deep))}
#view-reports .ik-report-action-primary{display:flex;flex-wrap:wrap;gap:7px}
#view-reports .ik-report-action-toolbar button{min-height:34px;border:1px solid #94744f;border-radius:5px;background:#3e372a;color:#ffe3b2;padding:7px 10px;font:600 11px system-ui,sans-serif;cursor:pointer}
#view-reports .ik-report-action-toolbar button:hover:not(:disabled){background:#59462f;border-color:#dab37b}
#view-reports .ik-report-action-toolbar button:disabled{cursor:default;opacity:.38}
#view-reports .ik-report-action-toolbar button[data-report-tool="archive"]{margin-left:auto;border-color:#925d55;color:#efd4c5;background:#432d2d}
#view-reports .ik-report-action-folder{display:flex;gap:9px;align-items:end;flex-wrap:wrap;padding-top:10px;border-top:1px solid #a58b543c}
#view-reports .ik-report-action-folder label{flex:1 1 170px;display:grid;gap:5px;font:700 11px system-ui,sans-serif;color:#c7ac82}
#view-reports #ik-report-move-folder{width:100%;min-height:36px;border:1px solid #8d764e;border-radius:5px;color:#ead8b6;background:var(--ik-theme-deep);padding:5px}
#view-reports #ik-report-export-content{box-sizing:border-box;width:100%;min-height:120px;background:var(--ik-theme-deep);color:#ebd8bb;border:1px solid #857052;border-radius:5px;padding:10px;font:11px/1.5 monospace}
#view-reports #ik-report-export-content[hidden]{display:none}
#view-reports .ik-report-sheet-top{gap:8px}
#view-reports .ik-report-armies{gap:13px}
#view-reports .ik-report-summary{margin-top:11px}
#view-reports .ik-report-result-band{font-weight:700;letter-spacing:.045em}
@media(max-width:760px){#view-reports .ik-reports-toolbar>label:has(#ik-reports-folder){max-width:none;flex:1 1 100%}#view-reports .ik-report-action-toolbar{padding:10px}#view-reports .ik-report-action-primary button{flex:1 1 100px}#view-reports .ik-report-action-toolbar button[data-report-tool="archive"]{margin-left:0}}


/* ---- GAME : reports-r29.css ---- */
/* R29 · dedicated scout intelligence, CSP-safe and responsive */
#view-reports .ik-r29-spy-intel,#view-reports .ik-r29-spy-failed{margin:14px 0;padding:17px;background:linear-gradient(135deg,var(--ik-theme-surface-alt),var(--ik-theme-deep));border:1px solid #9e8150;border-radius:8px;color:#ead9b9}
#view-reports .ik-r29-spy-intel>h3{margin:0 0 14px;color:#f4d399}
#view-reports .ik-r29-spy-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px;margin-top:14px}
#view-reports .ik-r29-spy-cell{min-width:0;padding:12px;background:var(--ik-theme-deep);border:1px solid var(--ik-theme-border-soft);border-radius:7px}
#view-reports .ik-r29-spy-cell>h4{margin:0 0 10px;color:#d6ba84;font-size:14px}
#view-reports .ik-r29-spy-cell .ik-report-army{border:0;padding:0;margin:0;background:transparent}
#view-reports .ik-r29-spy-cell .ik-report-army>h3{display:none}
#view-reports .ik-r29-spy-footnote{color:#b8baa3;font-size:12px;line-height:1.5}
#view-reports .ik-r29-spy-failed{border-color:#966249;background:#302321}
#view-reports .ik-r29-spy-failed h3{color:#f0bf99;margin:0 0 7px}
@media(max-width:760px){#view-reports .ik-r29-spy-columns{grid-template-columns:minmax(0,1fr)}#view-reports .ik-r29-spy-intel,#view-reports .ik-r29-spy-failed{padding:11px}}


/* ---- GAME : reports-r30.css ---- */
/* HF18-R30 · Siege detail additions, preserving the medieval report theme. */
#view-reports .ik-r30-siege-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:8px 0 13px}
#view-reports .ik-r30-siege-stats span{border:1px solid #746547;background:var(--ik-theme-surface);border-radius:6px;padding:10px 12px;color:#ddcfb1;font:12px/1.5 system-ui}
#view-reports .ik-r30-siege-stats strong{color:#f0d49b;font-weight:650}
#view-reports .ik-r30-cancelled{margin-top:12px;border-top:1px solid #675c46;padding-top:10px;color:#e2d1af}
#view-reports .ik-r30-cancelled summary{cursor:pointer;font-weight:650;color:#e9c17f}
#view-reports .ik-r30-economy-note{margin:12px 0 0;line-height:1.55;color:#d6c4a2}
@media(max-width:580px){#view-reports .ik-r30-siege-stats{grid-template-columns:minmax(0,1fr)}}


/* ---- GAME : reports-r35.css ---- */
/* HF18-R35 — One continuous information surface for individual battle reports.
   The navigation and report management toolbar intentionally stay outside. */
#view-reports .ik-report-detail-card{
  min-width:0;overflow:hidden;margin-top:12px;padding:clamp(13px,2vw,26px);
  border:1px solid #9b7b4b;border-radius:10px;
  background:linear-gradient(153deg,var(--ik-theme-surface-alt) 0%,var(--ik-theme-surface) 37%,#101b1b 100%);
  box-shadow:inset 0 1px 0 #ffe2a31a,0 8px 22px #0003;
}
#view-reports .ik-report-detail-heading{
  display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;
  gap:10px 18px;padding-bottom:17px;border-bottom:1px solid #a68b574f;
}
#view-reports .ik-report-detail-heading h2{
  flex:1 1 290px;margin:0;color:#f5dab1;font:400 clamp(20px,2vw,27px)/1.35 Georgia,serif;
}
#view-reports .ik-report-detail-heading .ik-report-result-band{
  flex:0 0 auto;padding:7px 12px;border-radius:5px;font-size:12px;
}
#view-reports .ik-report-detail-card .ik-report-summary{
  border:0;border-radius:0;background:none;padding:0;margin:11px 0 3px;
  grid-template-columns:minmax(118px,31%) minmax(0,1fr);
}
#view-reports .ik-report-detail-card .ik-report-summary dt,
#view-reports .ik-report-detail-card .ik-report-summary dd{
  padding:8px 9px;border-bottom:1px solid color-mix(in srgb, var(--ik-theme-border-strong) 18.8%, transparent);font-size:12px;line-height:1.5;
}
#view-reports .ik-report-detail-card .ik-report-summary dt{color:var(--ik-theme-ink)}
#view-reports .ik-report-detail-card .ik-report-summary dd{color:#f2dfbd}
#view-reports .ik-report-detail-card .ik-report-armies{
  gap:0;margin:14px 0 0;border-top:1px solid #a68b574f;
  padding-top:13px;
}
#view-reports .ik-report-detail-card .ik-report-army,
#view-reports .ik-report-detail-card .ik-report-loot,
#view-reports .ik-report-detail-card .ik-report-damage{
  padding:12px 0;border:0;border-radius:0;background:none;box-shadow:none;
  margin:0;min-width:0;
}
#view-reports .ik-report-detail-card .ik-report-armies > .ik-report-army + .ik-report-army{
  padding-left:16px;border-left:1px solid #a68b574f;
}
#view-reports .ik-report-detail-card .ik-report-army h3,
#view-reports .ik-report-detail-card .ik-report-loot h3,
#view-reports .ik-report-detail-card .ik-report-damage h3{
  padding:0 0 7px;margin:0 0 8px;border:0;color:#e5bc83;font:400 17px/1.4 Georgia,serif;
}
#view-reports .ik-report-detail-card > .ik-report-loot,
#view-reports .ik-report-detail-card > .ik-report-damage,
#view-reports .ik-report-detail-card > .ik-r29-spy-intel,
#view-reports .ik-report-detail-card > .ik-r29-spy-failed{
  border-top:1px solid #a68b574f;margin-top:8px;padding-top:15px;
}
#view-reports .ik-report-detail-card > .ik-r29-spy-intel,
#view-reports .ik-report-detail-card > .ik-r29-spy-failed{
  background:none;border-left:0;border-right:0;border-bottom:0;border-radius:0;
  padding-left:0;padding-right:0;box-shadow:none;
}
#view-reports .ik-report-detail-card .ik-report-resource-grid span{
  border:1px solid var(--ik-theme-border-soft);background:var(--ik-theme-surface);padding:9px 11px;
}
#view-reports .ik-report-detail-card .ik-report-units th,
#view-reports .ik-report-detail-card .ik-report-units td{padding:7px 6px}
#view-reports .ik-report-detail-card .ik-report-disclaimer{
  margin:8px 0 0;padding:11px 0 0;border-left:0;border-top:1px solid #8b77513a;
}
@media(max-width:780px){
  #view-reports .ik-report-detail-card .ik-report-armies{grid-template-columns:minmax(0,1fr)}
  #view-reports .ik-report-detail-card .ik-report-armies > .ik-report-army + .ik-report-army{
    border-left:0;border-top:1px solid #a68b574f;padding-left:0;padding-top:15px;
  }
}
@media(max-width:410px){
  #view-reports .ik-report-detail-card{padding:12px}
  #view-reports .ik-report-detail-card .ik-report-summary{grid-template-columns:minmax(92px,38%) minmax(0,1fr)}
  #view-reports .ik-report-detail-card .ik-report-summary dt,
  #view-reports .ik-report-detail-card .ik-report-summary dd{padding:7px 5px;font-size:11px}
  #view-reports .ik-report-detail-heading .ik-report-result-band{font-size:11px}
}


/* ---- GAME : army.css ---- */

/* HF18-R14 — global armies/recruitment; isolated from the village canvas. */
.ik-army-page{max-width:1280px;margin:18px auto 42px;padding:clamp(12px,2vw,24px);color:#e7dcc6;font:14px/1.5 system-ui,sans-serif;min-width:0}
.ik-army-head{border:1px solid #9d7b49;background:linear-gradient(140deg,var(--ik-theme-surface),var(--ik-theme-deep));border-radius:10px;padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}
.ik-army-head h1{font:32px Georgia,serif;color:#f3d5a0;margin:4px 0}.ik-army-head p{color:#c9c2ae;margin:4px 0;max-width:72ch}.ik-army-eyebrow{color:#ca9f62;font-size:11px;letter-spacing:.17em;font-weight:800}
.ik-army-head button,.ik-army-page button{background:var(--ik-theme-surface-alt);border:1px solid #a18151;color:#f0dbb8;padding:8px 12px;border-radius:6px;cursor:pointer;font:600 13px system-ui,sans-serif}
.ik-army-page button:hover:not(:disabled){background:var(--ik-theme-elevated);border-color:#c9a36e}.ik-army-page button:disabled{opacity:.45;cursor:not-allowed}
.ik-army-page button.primary{background:#a16e35;color:#fff5e4;border-color:#d4a16a}.ik-army-page button.primary:hover:not(:disabled){background:#b5803f}
.ik-army-section{border:1px solid var(--ik-theme-border-soft);border-radius:9px;background:linear-gradient(180deg,var(--ik-theme-surface),var(--ik-theme-deep));padding:18px;min-width:0}.ik-army-section h2{font:23px Georgia,serif;color:#e8c590;margin:0 0 8px}.ik-army-section>p{color:#b7c0b2;margin:0 0 15px;font-size:13px}
.ik-army-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:16px;margin-top:16px}
.ik-army-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:12px 0}.ik-army-toolbar label{display:grid;gap:4px;color:#d9cbb4;font-size:12px;flex:1;min-width:130px}.ik-army-toolbar input,.ik-army-toolbar select{width:100%;min-width:0;box-sizing:border-box;padding:9px;background:var(--ik-theme-deep);color:#f8ecd7;border:1px solid #8f7a57;border-radius:6px;font-size:14px}
.ik-army-table-wrap{overflow-x:auto;max-width:100%;border:1px solid var(--ik-theme-border-soft);border-radius:7px}.ik-army-page table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.ik-army-page th,.ik-army-page td{padding:9px 10px;border-bottom:1px solid var(--ik-theme-border-soft);text-align:right}.ik-army-page th{background:var(--ik-theme-surface-alt);color:#f3cc94;font-weight:700}.ik-army-page th:first-child,.ik-army-page td:first-child{text-align:left}.ik-army-page tbody tr:hover{background:var(--ik-theme-surface-alt)}.ik-army-page tr:last-child td{border-bottom:0}
.ik-army-villages{display:grid;grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:8px;margin:12px 0;max-height:250px;overflow-y:auto}.ik-army-villages label{border:1px solid var(--ik-theme-border-soft);background:var(--ik-theme-surface);padding:10px;border-radius:7px;display:flex;gap:8px;align-items:flex-start;min-width:0;cursor:pointer}.ik-army-villages label span{min-width:0}.ik-army-villages label small{display:block;color:#b8b9a7;font-size:11px}.ik-army-villages input{accent-color:#bf9359;margin-top:3px}
.ik-army-chips{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.ik-army-chip{border:1px solid var(--ik-theme-border-soft);border-radius:5px;background:var(--ik-theme-surface-alt);padding:7px 9px;color:var(--ik-theme-ink);font-size:12px}
.ik-army-planned{display:grid;gap:7px;max-height:270px;overflow:auto;margin:12px 0}.ik-army-plan-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--ik-theme-border-soft);border-radius:5px;padding:9px;background:var(--ik-theme-surface)}.ik-army-plan-row strong{color:#f0d19c}.ik-army-plan-row small{display:block;color:var(--ik-theme-ink)}.ik-army-plan-row button{flex:0 0 auto}
.ik-army-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:12px}.ik-army-status{padding:10px;border:1px solid var(--ik-theme-border-soft);border-radius:6px;margin-top:10px;background:var(--ik-theme-surface);min-height:28px;font-size:12px}.ik-army-status.error{border-color:#bd695e;color:#f1b9aa}.ik-army-status.success{border-color:#648d64;color:#c5e5b4}
.ik-army-village-list{margin-top:18px;display:grid;gap:11px}.ik-army-village-card{border:1px solid var(--ik-theme-border-soft);border-radius:8px;background:var(--ik-theme-surface);padding:12px}.ik-army-village-card h3{color:#f1d19c;margin:0 0 4px;font:19px Georgia,serif}.ik-army-village-card p{font-size:12px;color:#c9c1b0;margin:5px 0 11px}.ik-army-queue-line{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;border-top:1px solid var(--ik-theme-border-soft);font-size:12px}.ik-army-queue-line small{display:block;color:var(--ik-theme-ink)}.ik-army-empty{padding:13px;color:#aaafa2;font-style:italic}.ik-army-message{color:var(--ik-theme-ink);margin:6px 0}
@media(max-width:930px){.ik-army-layout{grid-template-columns:1fr}.ik-army-page{margin:8px auto 26px;padding:10px}.ik-army-head{padding:15px}.ik-army-head h1{font-size:25px}}
@media(max-width:480px){.ik-army-villages{grid-template-columns:1fr}.ik-army-section{padding:12px}.ik-army-plan-row{flex-wrap:wrap}.ik-army-plan-row button{margin-left:auto}.ik-army-page th,.ik-army-page td{padding:7px 8px}}


/* ---- GAME : general-overview.css ---- */
/* HF18-R15. Structural reference: multi-mode village table; visual language: Iron Kingdoms. */
#view-general{min-height:65dvh;background:linear-gradient(145deg,var(--ik-theme-deep),var(--ik-theme-surface) 64%,var(--ik-theme-deep))}
.ik-general-page{max-width:1490px;margin:0 auto;padding:clamp(12px,2vw,25px);color:#e7dcc5;font:13px/1.5 Arial,sans-serif;min-width:0}
.ik-general-intro{background:linear-gradient(105deg,var(--ik-theme-surface-alt),var(--ik-theme-deep));border:1px solid #927447;border-radius:9px;padding:clamp(16px,2vw,26px);display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap;box-shadow:0 10px 36px #0005}
.ik-general-eyebrow{letter-spacing:.17em;font:700 11px Arial,sans-serif;color:#cda269}
.ik-general-intro h1{font:normal clamp(27px,3vw,38px) Georgia,serif;color:#f2d2a0;margin:4px 0 7px}
.ik-general-intro p{color:#c4cabd;margin:0;max-width:75ch}
.ik-general-page button{color:#edd9b6;background:linear-gradient(var(--ik-theme-surface-alt),var(--ik-theme-surface-alt));border:1px solid #8d7956;border-radius:5px;padding:8px 12px;cursor:pointer;font:600 12px Arial,sans-serif}
.ik-general-page button:hover:not(:disabled){border-color:#e3bc7b;background:var(--ik-theme-elevated)}.ik-general-page button:focus-visible{outline:2px solid #eac280;outline-offset:2px}
.ik-general-page button.primary{background:#8d6538;border-color:#c59c63;color:#fff3d9}
.ik-general-page button.danger{border-color:#936058;color:#f3b6a6}
.ik-general-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 17px}
.ik-general-stats>span{display:grid;gap:2px;background:var(--ik-theme-surface);border:1px solid var(--ik-theme-border-soft);border-radius:6px;padding:12px 15px;min-width:0}
.ik-general-stats strong{color:#f6d29a;font:24px Georgia,serif;font-variant-numeric:tabular-nums}
.ik-general-stats small{color:var(--ik-theme-ink);font-size:11px;text-transform:uppercase;letter-spacing:.05em}
.ik-general-tabs{display:flex;flex-wrap:wrap;gap:5px;border-bottom:2px solid #97764a;padding:0 0 7px}
.ik-general-tabs button{flex:1 0 auto;padding:10px 13px;border-radius:5px 5px 0 0}
.ik-general-tabs button.active{background:#b68b51;color:var(--ik-theme-muted);border-color:#e0b877}
.ik-general-filters{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:14px 0 10px}
.ik-general-filters button{padding:6px 10px;border-radius:20px;background:var(--ik-theme-surface-alt);border-color:var(--ik-theme-border-soft);font-size:11px}
.ik-general-filters button.active{background:var(--ik-theme-selected);border-color:#d2b17b;color:#fff3d7}
.ik-general-toolbar{display:flex;justify-content:space-between;align-items:end;gap:13px;margin:5px 0 12px;flex-wrap:wrap}
.ik-general-toolbar label,.ik-general-operations label{display:grid;gap:5px;color:#d3c29e;font-size:12px}
.ik-general-page input[type=search],.ik-general-page input[type=text],.ik-general-page select{background:var(--ik-theme-deep);border:1px solid #84734e;border-radius:5px;padding:8px 11px;color:#fff0d5;min-height:35px;font-size:13px;min-width:0}
.ik-general-page input[type=checkbox]{accent-color:#c5995c;cursor:pointer;min-width:15px;min-height:15px}
#ik-general-count{color:var(--ik-theme-ink);font-size:12px}
.ik-general-operations{padding:13px;margin-bottom:13px;border:1px solid var(--ik-theme-border-soft);background:linear-gradient(135deg,var(--ik-theme-surface-alt),var(--ik-theme-surface));border-radius:7px}
.ik-general-operations[hidden]{display:none!important}
.ik-general-group-line,.ik-general-group-actions{display:flex;align-items:end;gap:9px;flex-wrap:wrap;margin-bottom:9px}
.ik-general-group-line label{width:min(320px,100%)}.ik-general-group-actions select{min-width:165px}.ik-general-hint{font-size:11px;color:var(--ik-theme-ink);margin:7px 0 0}
.ik-general-table-scroll{width:100%;max-width:100%;overflow-x:auto;border:1px solid #665b44;border-radius:7px;background:var(--ik-theme-surface);box-shadow:0 9px 24px #0003}
.ik-general-table-scroll table{width:100%;min-width:800px;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:12px}
.ik-general-table-scroll th{padding:11px 10px;background:var(--ik-theme-surface-alt);color:#f2d39f;text-align:left;white-space:nowrap;border-bottom:2px solid #a28150}
.ik-general-table-scroll th button{border:0;background:transparent;padding:0;color:inherit;text-align:left}
.ik-general-table-scroll td{padding:11px 10px;border-bottom:1px solid var(--ik-theme-border-soft);color:#e1ddca;vertical-align:middle}
.ik-general-table-scroll tbody tr:nth-child(even){background:var(--ik-theme-surface)}.ik-general-table-scroll tbody tr.current{box-shadow:inset 3px 0 #e4b878}
.ik-general-table-scroll tbody tr:hover{background:var(--ik-theme-surface-alt)}.ik-general-table-scroll tr:last-child td{border-bottom:0}
.ik-general-check{width:32px;text-align:center!important}.ik-general-village{min-width:175px}
.ik-general-village button{background:none;border:0;padding:0;color:#e9bf82;text-align:left;font:700 14px Georgia,serif;display:block}
.ik-general-village button:hover{background:none!important;text-decoration:underline}.ik-general-village small{display:block;color:var(--ik-theme-ink);font:11px Arial,sans-serif;margin-top:3px}
.ik-general-current{display:inline-block;margin-top:6px;padding:1px 6px;background:var(--ik-theme-elevated);border:1px solid var(--ik-theme-border-strong);border-radius:3px;font-size:10px;color:var(--ik-theme-ink)}
.ik-general-number{color:#f8dfa9;font-weight:700;font-size:14px}.ik-general-stack{display:grid;gap:3px;min-width:145px}.ik-general-stack>span{white-space:nowrap}
.ik-general-sub{display:block;color:var(--ik-theme-ink);font-size:11px;white-space:normal;margin-top:3px}
.ik-general-unit-list,.ik-general-levels,.ik-general-group-tags{display:flex;gap:5px;flex-wrap:wrap;min-width:150px;max-width:550px}
.ik-general-unit-list span,.ik-general-levels span,.ik-general-group-tags span{padding:3px 7px;border:1px solid var(--ik-theme-border-soft);background:var(--ik-theme-surface-alt);border-radius:4px;font-size:11px;white-space:nowrap}
.ik-general-levels span{background:var(--ik-theme-surface-alt)}.ik-general-unit-list b,.ik-general-levels b{color:#f7d8a4}
.ik-general-group-tags span{background:#3c3c2e;border-color:#928058;color:#f8dcaf}
.ik-general-page .muted{color:var(--ik-theme-ink)}.ik-general-table-scroll .ik-general-select{white-space:nowrap;padding:7px 9px}
.ik-general-empty{text-align:center;padding:25px!important}.ik-general-notice{border:1px solid #766a4a;background:#302e24;color:#e5cfa6;border-radius:6px;padding:12px;margin:0 0 12px}
.ik-general-error{color:#e8ada0;padding:18px}.ik-general-footer-hint{color:var(--ik-theme-ink);font-size:11px;margin-top:14px}
@media(max-width:760px){.ik-general-page{padding:9px}.ik-general-intro{padding:15px}.ik-general-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ik-general-stats strong{font-size:20px}.ik-general-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-color:#ad8b55 var(--ik-theme-surface)}.ik-general-tabs button{flex:0 0 auto;white-space:nowrap}.ik-general-toolbar label{width:100%}.ik-general-toolbar input{width:100%}}
@media(max-width:400px){.ik-general-stats>span{padding:10px}.ik-general-page{font-size:12px}}

/* HF18-R16 · Stage-by-stage building level/badge calibration. */
.ik-general-filters[hidden],.ik-general-toolbar label[hidden]{display:none!important}
.ik-stage-overview{border:1px solid #876f4b;border-radius:9px;background:linear-gradient(145deg,var(--ik-theme-surface-alt),var(--ik-theme-surface));padding:clamp(12px,2vw,20px)}
.ik-stage-overview header{border-bottom:1px solid var(--ik-theme-border-soft);padding-bottom:14px;margin-bottom:15px}
.ik-stage-overview h2{font:normal 25px Georgia,serif;color:#f1cc95;margin:3px 0 6px}
.ik-stage-overview h3{font:normal 18px Georgia,serif;color:#efcd95;margin:0 0 10px}
.ik-stage-overview p{color:var(--ik-theme-ink);margin:4px 0}
.ik-stage-controls{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:11px;margin-bottom:15px}
.ik-stage-controls label,.ik-stage-values label{display:grid;gap:5px;font-size:12px;color:#d8c396;min-width:0}
.ik-stage-overview input[type=number],.ik-stage-overview select{width:100%;background:var(--ik-theme-deep);border:1px solid #85734f;border-radius:5px;padding:8px 10px;color:#f3dec0;min-width:0}
.ik-stage-calibration-body{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);gap:14px}
.ik-stage-edit,.ik-stage-matrix{border:1px solid var(--ik-theme-border-soft);border-radius:7px;background:var(--ik-theme-surface);padding:14px;min-width:0}
.ik-stage-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:13px 0}
.ik-stage-values label[hidden]{display:none!important}
.ik-stage-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.ik-stage-actions button{flex:1 1 135px}
.ik-stage-matrix .ik-general-table-scroll table{min-width:340px}
.ik-stage-matrix .ik-general-table-scroll td,.ik-stage-matrix .ik-general-table-scroll th{padding:9px 10px}
.ik-stage-saved{color:var(--ik-theme-ink)}
.ik-stage-footer{border-top:1px solid var(--ik-theme-border-soft);padding-top:12px;margin-top:15px;display:flex;flex-wrap:wrap;align-items:center;gap:9px}
.ik-stage-footer .ik-stage-import{background:var(--ik-theme-surface-alt);border:1px solid #85734f;border-radius:5px;padding:8px 12px;cursor:pointer;color:#edd9b6;font-weight:bold}
.ik-stage-import input{display:none}.ik-stage-footer span{color:var(--ik-theme-ink);font-size:12px}
@media(max-width:850px){.ik-stage-calibration-body{grid-template-columns:minmax(0,1fr)}.ik-stage-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.ik-stage-controls{grid-template-columns:1fr}.ik-stage-overview h2{font-size:21px}}

/* HF18-R16 transport — functional market pane, real merchant dispatch. */
.ik-trade-section{display:grid;gap:15px}
.ik-trade-header{display:flex;align-items:start;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:17px 20px;border:1px solid #766248;border-radius:8px;background:var(--ik-theme-surface-alt)}
.ik-trade-header h2{font:normal 25px Georgia,serif;color:#f1cd99;margin:4px 0}
.ik-trade-header p{margin:0;color:var(--ik-theme-ink)}
.ik-trade-form{padding:15px;background:var(--ik-theme-surface);border:1px solid var(--ik-theme-border-strong);border-radius:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ik-trade-form label{display:grid;gap:5px;color:#dbca9f;font-size:12px;min-width:0}
.ik-trade-form select,.ik-trade-form input{width:100%;min-width:0;min-height:36px;padding:8px;color:#f3ddba;background:var(--ik-theme-deep);border:1px solid #847451;border-radius:5px}
.ik-trade-amounts{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ik-trade-form p,.ik-trade-form button{grid-column:1/-1;margin:0}
#ik-trade-capacity{font-size:13px;font-weight:500;color:#f0cd97}
.ik-trade-records{padding:14px;background:var(--ik-theme-surface);border:1px solid var(--ik-theme-border-soft);border-radius:8px;min-width:0}
.ik-trade-records h3{font:normal 18px Georgia,serif;color:#f1cf98;margin:0 0 10px}
.ik-trade-records .ik-general-table-scroll table{min-width:530px}
@media(max-width:530px){.ik-trade-form{grid-template-columns:1fr}.ik-trade-amounts{grid-template-columns:1fr}}

/* HF18-R17 · Târg: shipping and barter integrated with Iron Kingdoms dark style. */
.ik-trade-tabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:2px solid #95734a;padding-bottom:9px}
.ik-trade-tabs button{flex:1 1 170px;background:var(--ik-theme-surface-alt);border:1px solid var(--ik-theme-border-strong);border-radius:6px;padding:10px}
.ik-trade-tabs button.active{background:#b18a54;color:var(--ik-theme-muted);border-color:#dfb980}
.ik-trade-full,.ik-trade-amounts,.ik-trade-form .ik-trade-full{grid-column:1/-1}
.ik-trade-form h3{font:normal 20px Georgia,serif;color:#e9c58f;margin:0}
.ik-trade-amount-title{grid-column:1/-1;color:#f0d29e;font:normal 17px Georgia,serif}
.ik-trade-coordinates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}
.ik-trade-coordinates[hidden],.ik-trade-form label[hidden],#ik-offer-accept-panel[hidden]{display:none!important}
.ik-trade-accept-source{display:grid;gap:6px;margin:12px 0;color:#d6c49d}
.ik-trade-accept-source select{background:var(--ik-theme-deep);border:1px solid #847451;border-radius:5px;color:#f3ddba;padding:9px;min-width:0;width:100%}
.ik-trade-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
#ik-trade-capacity,#ik-offer-capacity{color:#f1ce99}
#ik-offer-capacity{font-weight:700}
#ik-trade-capacity strong{font-weight:800;color:#fff3d4;font-variant-numeric:tabular-nums}
.ik-trade-records .ik-general-table-scroll table{min-width:760px}
.ik-trade-records .ik-general-table-scroll td{overflow-wrap:anywhere}
@media(max-width:530px){.ik-trade-coordinates{grid-template-columns:repeat(2,minmax(0,1fr))}.ik-trade-tabs button{flex:1 1 125px}}

.ik-trade-records .ik-general-table-scroll td button{white-space:nowrap;min-width:76px}


/* HF18-R18 · Merchant dispatch and offers now belong to Târg. Only active
   movement tracking remains in General Overview → Transporturi. */
.ik-market-commerce{margin:18px 0 10px;min-width:0}
.ik-market-commerce .ik-trade-section{max-width:100%}
.ik-market-commerce .ik-trade-header{background:linear-gradient(135deg,var(--ik-theme-surface-alt),var(--ik-theme-surface))}
.ik-market-commerce .ik-general-table-scroll{max-width:100%}
.ik-market-commerce .ik-trade-form{max-width:100%}
.ik-trade-monitor-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ik-trade-monitor-stats>span{display:grid;gap:5px;padding:14px;border:1px solid #756449;background:var(--ik-theme-surface-alt);border-radius:7px}
.ik-trade-monitor-stats strong{color:#efd19e;font:normal 25px Georgia,serif}
.ik-trade-monitor-stats small{color:var(--ik-theme-ink);font-size:11px}
.ik-trade-status{display:inline-block;padding:5px 9px;border-radius:5px;border:1px solid var(--ik-theme-border-strong);white-space:nowrap;background:var(--ik-theme-elevated);color:var(--ik-theme-ink);font-size:12px}
.ik-trade-status.returning{background:#413b2b;color:#f3dfba;border-color:#a48a60}
.ik-trade-monitor .ik-general-table-scroll table{min-width:1060px}
.ik-trade-monitor [data-trade-countdown]{color:#f1d2a2;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:550px){.ik-trade-monitor-stats{grid-template-columns:1fr}.ik-market-commerce{margin:12px 0}}

/* HF18-R19 — global military orders / incoming, Iron Kingdoms style. */
.ik-military-overview{display:grid;gap:13px;min-width:0}
.ik-military-overview-header{display:flex;justify-content:space-between;align-items:start;gap:14px;flex-wrap:wrap;padding:19px;background:linear-gradient(122deg,var(--ik-theme-surface-alt),var(--ik-theme-surface));border:1px solid #88704b;border-radius:8px}
.ik-military-overview-header h2{font:normal 25px Georgia,serif;color:#f4d4a1;margin:4px 0 6px}
.ik-military-overview-header p{color:var(--ik-theme-ink);margin:0}
.ik-military-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.ik-military-summary>span{display:grid;gap:3px;padding:12px;background:var(--ik-theme-surface);border:1px solid var(--ik-theme-border-soft);border-radius:6px}
.ik-military-summary b{font:25px Georgia,serif;color:#f6d39b}
.ik-military-summary small{color:var(--ik-theme-ink);font-size:11px}
.ik-military-controls{display:flex;gap:11px;align-items:end;flex-wrap:wrap;background:var(--ik-theme-surface);border:1px solid var(--ik-theme-border-soft);border-radius:6px;padding:12px}
.ik-military-controls label{display:grid;gap:6px;font-size:12px;color:#ddc89c;min-width:180px}
.ik-military-controls select{width:100%;border:1px solid #87754f;color:#f6e2bf;background:var(--ik-theme-deep);border-radius:5px;padding:8px;min-height:36px}
.ik-military-refresh-info{font-size:11px;color:var(--ik-theme-ink);margin:0 0 7px auto}
.ik-military-group{min-width:0;border:1px solid #6c6249;border-radius:8px;overflow:hidden;background:var(--ik-theme-surface)}
.ik-military-group-heading{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px!important;border:0!important;border-radius:0!important;text-align:left!important;background:linear-gradient(100deg,var(--ik-theme-elevated),var(--ik-theme-surface-alt))!important;color:#efcf96!important;font:700 15px Georgia,serif!important;padding:12px 15px!important}
.ik-military-group-heading small{font:11px Arial,sans-serif;color:var(--ik-theme-ink);white-space:nowrap}
.ik-military-group .ik-general-table-scroll{border:0;border-radius:0;box-shadow:none}
.ik-military-table{min-width:1100px!important}
.ik-military-table td{vertical-align:top!important}
.ik-military-type{font-weight:bold;color:var(--ik-theme-ink)}
.ik-military-type.attack{color:#f7ada1}
.ik-military-type.support{color:#a6d8ce}
.ik-military-line.returning .ik-military-type{color:#e6c993}
.ik-military-sub{display:block;color:var(--ik-theme-ink);font-size:11px;line-height:1.65;margin-top:4px;max-width:265px}
.ik-military-time{font-variant-numeric:tabular-nums;white-space:nowrap;color:#f4d9a5}
.ik-military-route{min-width:215px}
.ik-military-route small{color:var(--ik-theme-ink);font-size:10px}
.ik-military-route b{color:#d0a875}
.ik-military-phase{font-size:11px;color:#dfd7bb}
.ik-military-empty,.ik-military-loading{padding:22px;border:1px solid var(--ik-theme-border-strong);border-radius:8px;background:var(--ik-theme-surface);color:#d2dbcc;text-align:center}
.ik-military-privacy{font-size:11px;color:var(--ik-theme-ink);margin:0}
.ik-general-page .ik-military-interrupt{background:#614333;border-color:#ac7458;color:#fae0cf}
@media(max-width:760px){.ik-military-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ik-military-controls label{min-width:140px;flex:1 1 140px}.ik-military-refresh-info{margin:2px 0 0}}
@media(max-width:420px){.ik-military-overview-header h2{font-size:21px}.ik-military-group-heading{font-size:13px!important}}

/* HF18-R22 · canonical village-group filter for merchant source villages. */
.ik-trade-source-groups{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin:14px 0;padding:12px 14px;border:1px solid #756044;border-radius:8px;background:var(--ik-theme-surface)}
.ik-trade-source-groups label{display:grid;gap:6px;flex:1 1 230px;color:#dfc8a3;font-size:12px}
.ik-trade-source-groups select{background:var(--ik-theme-deep);color:#f5e0bd;border:1px solid #8d7750;border-radius:5px;padding:9px;min-width:0;width:100%}
.ik-trade-source-groups small{flex:2 1 230px;color:#bbb6aa}

/* HF18-R23 — central economic dashboard, consistent with Iron Kingdoms UI. */
.ik-economy-dashboard{display:grid;gap:14px;min-width:0}
.ik-economy-intro{border:1px solid #8e754d;border-radius:8px;padding:16px 18px;background:linear-gradient(120deg,var(--ik-theme-surface-alt),var(--ik-theme-surface))}
.ik-economy-intro h2{font:normal 25px Georgia,serif;color:#f1d09d;margin:4px 0}
.ik-economy-intro p{margin:0;color:var(--ik-theme-ink)}
.ik-economy-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ik-economy-summary article{display:grid;gap:4px;background:var(--ik-theme-surface-alt);border:1px solid var(--ik-theme-border-strong);border-radius:7px;padding:14px;min-width:0}
.ik-economy-summary article strong{font:normal 26px Georgia,serif;color:#f4d59d;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.ik-economy-summary article small{color:#d0c3a5}.ik-economy-summary article span{color:var(--ik-theme-ink)}
.ik-economy-alerts{display:flex;flex-wrap:wrap;gap:9px}.ik-economy-alerts span{background:var(--ik-theme-surface-alt);border:1px solid var(--ik-theme-border-strong);border-radius:5px;padding:9px 12px;color:var(--ik-theme-ink)}
.ik-economy-alerts b{color:#efd4a4}
.ik-economy-table{min-width:950px!important}.ik-economy-cell{min-width:120px;display:grid;gap:2px}
.ik-economy-cell strong{font-size:15px;color:#f3d2a0}.ik-economy-cell small{color:var(--ik-theme-ink)}
.ik-economy-meter{width:100%;height:7px;background:#122019;border:1px solid #53654b;border-radius:5px;overflow:hidden;margin:5px 0}
.ik-economy-meter{display:block;appearance:none;-webkit-appearance:none;border:1px solid #53654b}
.ik-economy-meter::-webkit-progress-bar{background:#122019;border-radius:5px}
.ik-economy-meter::-webkit-progress-value{background:#77975b;border-radius:5px}
.ik-economy-meter.warning::-webkit-progress-value{background:#c39d59}
.ik-economy-meter.critical::-webkit-progress-value{background:#bb6958}
.ik-economy-meter.low::-webkit-progress-value{background:#799eb2}
.ik-economy-meter::-moz-progress-bar{background:#77975b;border-radius:5px}
.ik-economy-meter.warning::-moz-progress-bar{background:#c39d59}
.ik-economy-meter.critical::-moz-progress-bar{background:#bb6958}
.ik-economy-meter.low::-moz-progress-bar{background:#799eb2}
.ik-economy-health{white-space:nowrap;color:#c3e5b5}.ik-economy-health.critical{color:#edada3}.ik-economy-health.low{color:#a4c2d9}
.ik-economy-suggestions{background:var(--ik-theme-surface);border:1px solid var(--ik-theme-border-strong);border-radius:8px;padding:16px;min-width:0}
.ik-economy-suggestions h3{font:normal 21px Georgia,serif;color:#f1d09d;margin:0 0 5px}
.ik-economy-suggestions .ik-general-table-scroll{margin-top:12px}
.ik-economy-suggestions table{min-width:730px}
@media(max-width:850px){.ik-economy-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:450px){.ik-economy-summary article{padding:11px}.ik-economy-summary article strong{font-size:21px}.ik-economy-intro h2{font-size:22px}}

/* R71-R15 — multiple command interruption in Privire Generală → Comenzi. */
.ik-military-controls .ik-military-select-all-label{display:flex;align-items:center;gap:8px;min-width:0;margin:0;padding:8px 9px;border:1px solid var(--ik-theme-border-strong);border-radius:5px;color:#f1d6a8;cursor:pointer;min-height:36px}
.ik-military-select-all-label input,.ik-military-select-cell input{width:17px;height:17px;accent-color:#d3a45b;cursor:pointer}
.ik-military-select-all-label input:disabled,.ik-military-select-cell input:disabled{cursor:not-allowed}
.ik-military-select-cell{text-align:center!important;width:54px;min-width:54px!important;vertical-align:middle!important}
.ik-military-bulk-interrupt{background:#753f32!important;border:1px solid #c28a65!important;color:#fff0d9!important;border-radius:5px!important;font-weight:700!important;padding:9px 13px!important;min-height:36px;white-space:nowrap}
.ik-military-bulk-interrupt:disabled,.ik-military-interrupt:disabled{opacity:.48;cursor:not-allowed!important}

/* R71-R16 — live launch / cancellation countdown in General Overview → Commands. */
.ik-military-clock-toggle{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:3px 0;color:#f0d7a4;font-size:12px}
.ik-military-clock-toggle button{padding:7px 12px;border:1px solid #9b8053;border-radius:5px;background:var(--ik-theme-surface-alt);color:#fff0cb;font-weight:700;cursor:pointer}
.ik-military-clock-toggle button:hover{background:var(--ik-theme-elevated)}
.ik-military-timer{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700;min-width:108px;color:#f1d2a2}


/* R71-R17: readable, stable military rows and cancellable highlights. */
.ik-military-table tr.ik-r17-cancellable{background:rgba(168,117,47,.105)}
.ik-military-table tr.ik-r17-cancellable:hover,.ik-military-table tr.ik-r17-cancellable:focus-within{background:rgba(168,117,47,.21)}
.ik-military-table .ik-r17-troops{color:#ecddae;font-weight:700}
.ik-military-table .ik-r17-cancel-badge{display:inline-block;color:#f9deb0;font-size:11px;font-weight:700;padding:2px 7px;margin-top:4px;border:1px solid #b78e4a;border-radius:12px;background:#483b25}
.ik-military-table .ik-r17-cancel-badge[hidden]{display:none!important}
.ik-military-table tr[data-ik-order-id]{cursor:help}
.ik-military-table td,.ik-military-table th{font-variant-numeric:tabular-nums}

/* R71-R19: read-only, timestamp-exact military timeline (does not resize the village canvas). */
.ik-r19-timeline{border:1px solid var(--ik-theme-border-strong);background:var(--ik-theme-surface);border-radius:7px;margin:10px 0;padding:11px;min-width:0}
.ik-r19-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ik-r19-heading h3{color:#f4d6a3;margin:0 0 4px;font:600 17px Georgia,serif}
.ik-r19-heading small{color:var(--ik-theme-ink);font-size:11px}
.ik-r19-heading button{border:1px solid #88744e;background:var(--ik-theme-surface-alt);color:#f0dfb4;border-radius:4px;padding:6px 10px;cursor:pointer}
.ik-r19-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,325px),1fr));gap:8px;margin-top:10px;max-height:260px;overflow-y:auto}
.ik-r19-content[hidden]{display:none!important}
.ik-r19-slot{background:var(--ik-theme-surface-alt);border:1px solid var(--ik-theme-border-soft);border-radius:5px;min-width:0;overflow:hidden}
.ik-r19-slot>header{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:7px 9px;border-bottom:1px solid var(--ik-theme-border-soft);font:11px Arial,sans-serif}
.ik-r19-slot .ik-r19-at{font-weight:700;color:#f4d8ab;font-variant-numeric:tabular-nums}
.ik-r19-eta{border-radius:3px;background:var(--ik-theme-elevated);padding:3px 5px;font-weight:700;color:var(--ik-theme-ink);font-variant-numeric:tabular-nums}
.ik-r19-slot header small{color:var(--ik-theme-ink)}
.ik-r19-events{margin:0;padding:7px 10px;list-style:none;display:grid;gap:4px}
.ik-r19-event{display:flex;gap:7px;align-items:center;min-width:0;font:11px/1.3 Arial,sans-serif;color:#e3e7da}
.ik-r19-event-kind{min-width:72px;color:#efc5a2;font-weight:700}
.ik-r19-priority-0 .ik-r19-event-kind{color:#ade1bc}
.ik-r19-priority-1 .ik-r19-event-kind{color:#b9ddeb}
.ik-r19-event-village{flex:1;min-width:0;overflow-wrap:anywhere}
.ik-r19-event-id{color:var(--ik-theme-ink)}
.ik-r19-empty{padding:7px 9px;color:var(--ik-theme-ink);font:12px Arial,sans-serif}


/* ---- GAME : construction-global.css ---- */
/* HF18-R21 — Builder global with the established Iron Kingdoms palette. */
.ik-global-build-head{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;padding:19px 21px;background:linear-gradient(120deg,var(--ik-theme-surface-alt),var(--ik-theme-surface));border:1px solid #94774d;border-radius:8px}
.ik-global-build-head h2{font:normal 27px Georgia,serif;color:#f3d19b;margin:5px 0}
.ik-global-build-head p,.ik-global-build-panel>p{color:var(--ik-theme-ink);margin:5px 0;font-size:13px}
.ik-global-build-hint{color:#d9b987;font-size:12px}
.ik-global-build-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px;margin:14px 0}
.ik-global-build-panel{background:linear-gradient(165deg,var(--ik-theme-surface),var(--ik-theme-deep));padding:17px;border:1px solid var(--ik-theme-border-strong);border-radius:8px;min-width:0}
.ik-global-build-panel h3{font:normal 20px Georgia,serif;color:#e8c38b;margin:0 0 12px}
.ik-global-build-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.4fr);gap:11px}
.ik-global-build-controls label{display:grid;gap:5px;color:#e0ca9e;font-size:12px;min-width:0}
.ik-global-build-controls input,.ik-global-build-controls select{width:100%;min-width:0;min-height:39px;padding:8px 10px;border-radius:5px;background:var(--ik-theme-deep);color:#f1dfbf;border:1px solid #8b7854;box-sizing:border-box}
.ik-global-build-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:13px 0}
.ik-global-build-villages{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:7px;max-height:250px;overflow-y:auto;margin:9px 0 12px}
.ik-global-build-villages label{padding:10px;border:1px solid var(--ik-theme-border-soft);border-radius:6px;background:var(--ik-theme-surface-alt);display:flex;gap:7px;align-items:flex-start;min-width:0;cursor:pointer}
.ik-global-build-villages span{min-width:0}.ik-global-build-villages strong{font-size:12px;color:#ebd8b2;display:block;overflow-wrap:anywhere}
.ik-global-build-villages small{color:var(--ik-theme-ink);font-size:11px;display:block;margin-top:3px}
.ik-global-build-plan-head{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--ik-theme-border-soft);padding-top:14px;margin-top:15px}
.ik-global-build-plan-head h3{margin:0}.ik-global-build-plan-head small{color:var(--ik-theme-ink)}
.ik-global-build-plan{display:grid;gap:6px;max-height:270px;overflow:auto;margin:10px 0}
.ik-global-build-plan-row,.ik-global-build-job{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px;background:var(--ik-theme-surface-alt);border:1px solid var(--ik-theme-border-soft);border-radius:5px}
.ik-global-build-plan-row strong,.ik-global-build-job b{color:#f2d5a6;font-size:12px}
.ik-global-build-plan-row small,.ik-global-build-job small{display:block;color:var(--ik-theme-ink);font-size:11px}
.ik-global-build-plan-row span,.ik-global-build-job span{min-width:0;overflow-wrap:anywhere}
.ik-global-build-status{padding:10px 12px;border-radius:6px;border:1px solid var(--ik-theme-border-strong);background:var(--ik-theme-surface-alt);color:var(--ik-theme-ink);font-size:12px;min-height:35px;overflow-wrap:anywhere}
.ik-global-build-status[data-type=error]{border-color:#aa6456;color:#ffd0b8;background:#382820}
.ik-global-build-status[data-type=success]{border-color:#809a62;color:#d2eec2}
.ik-global-build-footnote,.ik-global-build-empty{color:var(--ik-theme-ink);font-size:11px;line-height:1.6}
.ik-global-build-queues{display:grid;gap:9px;max-height:720px;overflow:auto;margin-top:14px}
.ik-global-build-village{padding:12px;border:1px solid var(--ik-theme-border-soft);border-radius:7px;background:var(--ik-theme-surface)}
.ik-global-build-village header{display:flex;justify-content:space-between;gap:9px;flex-wrap:wrap;align-items:center}
.ik-global-build-village header strong{color:#f1d49b;font:16px Georgia,serif}.ik-global-build-village header span{color:var(--ik-theme-ink);font-size:11px}
.ik-global-build-village p{color:#c9c6af;font-size:11px;margin:7px 0}.ik-global-build-village>small{color:var(--ik-theme-ink)}
.ik-global-build-job{background:var(--ik-theme-surface);margin:6px 0}.ik-global-build-job button{flex-shrink:0}
@media(max-width:960px){.ik-global-build-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:460px){.ik-global-build-panel{padding:12px}.ik-global-build-controls{grid-template-columns:minmax(0,1fr)}.ik-global-build-villages{grid-template-columns:minmax(0,1fr)}}

.ik-global-build-preview-scroll{max-width:100%;overflow:auto;margin:12px 0;border:1px solid var(--ik-theme-border-soft);border-radius:5px}
.ik-global-build-preview-scroll table{min-width:600px;width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:11px}
.ik-global-build-preview-scroll td,.ik-global-build-preview-scroll th{padding:8px 10px;border-bottom:1px solid var(--ik-theme-border-soft);white-space:nowrap;text-align:left}
.ik-global-build-preview-scroll th{color:#efcf99;background:var(--ik-theme-surface-alt)}.ik-global-build-preview-scroll tr:last-child td{border-bottom:0}


/* ---- GAME : farm-mass.css ---- */
/* HF18-R24 · Raiduri, inherits Iron Kingdoms dark bronze theme. */
.ik-raid-shell{--raid-edge:#67523c;--raid-gold:#d7ad70;color:#e8ddc7;display:grid;gap:15px;min-width:0}
.ik-raid-heading{background:linear-gradient(115deg,#282820,var(--ik-theme-deep));border:1px solid var(--raid-edge);border-radius:12px;padding:18px 20px}
.ik-raid-heading h2{font:700 clamp(22px,2.5vw,30px) Georgia,serif;color:#e9c38a;margin:6px 0}.ik-raid-heading p{margin:0;color:#c5baa7;max-width:820px;line-height:1.5}
.ik-raid-controls,.ik-raid-list-title,.ik-raid-list-tools,.ik-raid-pagination{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.ik-raid-controls,.ik-raid-list-title{padding:14px 16px;background:var(--ik-theme-surface);border:1px solid #4a493a;border-radius:10px}
.ik-raid-controls label,.ik-raid-list-tools label,.ik-raid-template label{display:grid;gap:5px;color:#d6c7ac;font-size:12px;font-weight:700;min-width:0}
.ik-raid-controls select,.ik-raid-controls input,.ik-raid-list-tools input,.ik-raid-template input{background:var(--ik-theme-deep);border:1px solid #766143;color:#efe3d0;border-radius:7px;padding:9px 10px;min-height:38px;max-width:100%;box-sizing:border-box}
.ik-raid-controls select{min-width:230px;max-width:420px}.ik-raid-controls input{width:132px}
.ik-raid-shell button{border:1px solid #8b6840;background:linear-gradient(#55412c,#382e22);color:#f3ddba;border-radius:7px;padding:8px 13px;min-height:36px;cursor:pointer;font-weight:700}
.ik-raid-shell button:hover:not(:disabled){border-color:#e2b16d;filter:brightness(1.12)}.ik-raid-shell button:disabled{opacity:.5;cursor:not-allowed}
.ik-raid-templates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ik-raid-template{background:linear-gradient(var(--ik-theme-surface),var(--ik-theme-surface));border:1px solid #66533c;border-radius:10px;padding:12px;display:grid;align-content:start;gap:12px;min-width:0}
.ik-raid-template header{display:flex;gap:12px;align-items:center}.ik-raid-template header div{display:grid;gap:3px}.ik-raid-template header strong{font:700 17px Georgia,serif;color:#e4c18d}.ik-raid-template header small{font-size:11px;color:#aeb3a8}
.ik-raid-key{display:grid;place-items:center;width:41px;height:41px;flex:none;border:1px solid #d1a56c;border-radius:8px;color:#ffe0a2;background:#44321f;font:700 23px Georgia,serif}
.ik-raid-template details{border:1px solid #544838;background:var(--ik-theme-deep);border-radius:8px;padding:10px}.ik-raid-template summary{cursor:pointer;color:#ddc59f;font-size:12px}
.ik-raid-units{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.ik-raid-units input{width:100%}
.ik-raid-list-title{justify-content:space-between;align-items:center;gap:10px}.ik-raid-list-title h3{color:#e6c18e;font:700 20px Georgia,serif;margin:0}.ik-raid-list-title p{margin:4px 0 0;color:#b7b7a9;font-size:12px}
.ik-raid-help{background:var(--ik-theme-surface);border-left:3px solid #b7874c;margin:0;padding:12px 16px;font-size:13px;line-height:1.6;color:#d1cbbe}
.ik-raid-table-wrap{overflow:auto;max-height:560px;border:1px solid #544d3e;border-radius:9px;background:var(--ik-theme-deep)}
.ik-raid-table{width:100%;border-collapse:collapse;min-width:540px;font-variant-numeric:tabular-nums}.ik-raid-table th{text-align:left;background:var(--ik-theme-surface-alt);color:#e6c595;position:sticky;top:0;z-index:1;padding:12px 14px;border-bottom:1px solid #746143}.ik-raid-table td{padding:9px 14px;border-bottom:1px solid var(--ik-theme-border-soft);color:#e1d9cc;font-size:13px}.ik-raid-table tbody tr:nth-child(2n){background:var(--ik-theme-surface)}.ik-raid-table tbody tr:hover{background:var(--ik-theme-surface-alt)}.ik-raid-table td small{display:block;font-size:11px;color:var(--ik-theme-ink)}.ik-raid-table .ik-raid-sent td:first-child{color:var(--ik-theme-ink)}
.ik-raid-buttons{white-space:nowrap}.ik-raid-buttons button{min-width:38px;margin:2px 4px 2px 0;border-color:#8b6336}.ik-raid-pagination{justify-content:center;padding:3px 0}.ik-raid-status{border:1px solid var(--ik-theme-border-soft);border-radius:8px;background:var(--ik-theme-surface);padding:10px 14px;font-size:13px;color:var(--ik-theme-ink);margin:0}.ik-raid-status.error{background:#3c2624;border-color:#88514b;color:#f3bcb1}.ik-raid-empty{padding:24px;color:#d8cab5;text-align:center}
@media(max-width:850px){.ik-raid-templates{grid-template-columns:1fr}.ik-raid-controls label:first-child{flex:1 1 100%}.ik-raid-controls select{max-width:100%;width:100%}}
@media(max-width:480px){.ik-raid-heading{padding:13px}.ik-raid-controls,.ik-raid-list-title{padding:11px}.ik-raid-controls>*{flex:1 1 auto}.ik-raid-controls button{width:100%}.ik-raid-list-tools{width:100%}.ik-raid-list-tools label{flex:1}.ik-raid-table-wrap{max-height:62vh}}
/* Keep Q/W/E reachable on narrow screens even when the table scrolls. */
@media(max-width:600px){.ik-raid-table th:last-child,.ik-raid-table td:last-child{position:sticky;right:0;z-index:2;background:var(--ik-theme-surface-alt);box-shadow:-5px 0 10px color-mix(in srgb, var(--ik-theme-shadow) 66.7%, transparent);padding-left:7px;padding-right:5px}.ik-raid-table th:last-child{z-index:3}.ik-raid-buttons button{min-width:33px;padding:6px 8px;margin-right:1px}.ik-raid-table{min-width:530px}.ik-raid-table td,.ik-raid-table th{padding-left:8px;padding-right:8px}}
/* HF18-R32 — real Raid report summaries, favorites, exclusions and quick sorting. */
.ik-raid-performance{display:grid;gap:11px;padding:15px;border:1px solid #66533c;border-radius:11px;background:var(--ik-theme-surface);min-width:0}
.ik-raid-performance-title{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:9px}
.ik-raid-performance-title h3{margin:0;font:700 19px Georgia,serif;color:#e6c18e}
.ik-raid-performance-title small{color:#b8bbaf}
.ik-raid-performance-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ik-raid-performance-cards article{display:grid;gap:5px;border:1px solid #554f3f;background:var(--ik-theme-deep);padding:12px;border-radius:9px;min-width:0}
.ik-raid-performance-cards article strong{font:700 20px Georgia,serif;color:#e6bf7f}
.ik-raid-performance-cards article span,.ik-raid-performance-cards article small{font-size:12px;color:#c3c0ad}
.ik-raid-performance-cards article b{font-size:16px;color:var(--ik-theme-ink);font-variant-numeric:tabular-nums}
.ik-raid-history{border-top:1px solid #514c3d;padding-top:10px;font-size:13px}
.ik-raid-history summary{color:#dbbf91;cursor:pointer;font-weight:700}
.ik-raid-history-scroll{max-height:280px;overflow:auto;margin-top:10px}
.ik-raid-history table{width:100%;border-collapse:collapse;min-width:490px;font-variant-numeric:tabular-nums}
.ik-raid-history th,.ik-raid-history td{padding:7px 10px;border-bottom:1px solid var(--ik-theme-border-soft);text-align:left}
.ik-raid-history th{color:#e5c28c;background:var(--ik-theme-surface-alt)}
.ik-raid-list-tools select{background:var(--ik-theme-deep);border:1px solid #766143;color:#efe3d0;border-radius:7px;padding:9px 10px;min-height:38px;max-width:100%}
.ik-raid-history-cell{min-width:165px;font-variant-numeric:tabular-nums}
.ik-raid-history-cell small{display:block;color:var(--ik-theme-ink);font-size:11px;line-height:1.5}
.ik-raid-history-cell b small{display:inline}
.ik-raid-table .ik-raid-excluded{opacity:.75}
.ik-raid-markers{white-space:nowrap}
.ik-raid-markers button{font-size:12px;padding:6px 9px;margin:2px 3px 2px 0}
.ik-raid-markers button[aria-pressed="true"]{border-color:#e2b16d;color:#f2d498}
.ik-raid-markers button[data-raid-favorite]{font-size:18px;min-width:33px}
@media(max-width:850px){.ik-raid-performance-cards{grid-template-columns:1fr}}
@media(max-width:480px){.ik-raid-performance{padding:11px}.ik-raid-list-tools label{flex:1 1 42%}}


/* ---- GAME : ranking-r25.css ---- */
/* HF18-R25 · Clasamente și statistici, numai prezentare */
.ik-r25-highlights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.ik-r25-highlights>div{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:linear-gradient(130deg,var(--ik-theme-surface),var(--ik-theme-deep));border:1px solid #9e805751;border-radius:8px}
.ik-r25-highlights strong{color:#efcc91;font:700 23px/1.15 Georgia,serif;font-variant-numeric:tabular-nums}
.ik-r25-highlights small{color:#c1b9a7;font:12px/1.4 Arial,sans-serif}
.ik-r25-filters,.ik-r25-compare{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:12px 0 16px}
.ik-r25-filters label,.ik-r25-compare label{display:grid;gap:5px;color:#dbc5a2;font:12px/1.4 Arial,sans-serif;min-width:200px;flex:1 1 210px}
.ik-r25-filters input,.ik-r25-filters select,.ik-r25-compare select{min-width:0;width:100%;box-sizing:border-box;padding:10px;color:#eee5d1;background:var(--ik-theme-deep);border:1px solid #7e755e;border-radius:5px}
.ik-r25-history{margin-top:18px;padding:18px;border:1px solid #9179536b;border-radius:9px;background:linear-gradient(150deg,var(--ik-theme-surface),var(--ik-theme-deep))}
.ik-r25-history h2{font:600 22px/1.3 Georgia,serif;color:#ead2a6;margin:0 0 8px}
.ik-r25-history p{line-height:1.5}
.ik-r25-compare button{min-height:40px}
.ik-r25-history-legend{color:#e2cfb0;font-size:13px}
.ik-r25-history-row{display:grid;grid-template-columns:95px minmax(0,1fr);gap:8px;padding:8px 0;border-bottom:1px solid #a38c5e23;align-items:center;font-variant-numeric:tabular-nums;font-size:12px}
.ik-r25-history-bars{display:grid;gap:4px;min-width:0}.ik-r25-history-track{min-height:19px;background:var(--ik-theme-deep);border-radius:3px;overflow:hidden;color:#c7bba6}
.ik-r25-history-bar{min-height:19px;box-sizing:border-box;min-width:fit-content;display:block;padding:2px 6px;border-radius:3px;color:var(--ik-theme-muted);font-size:11px;font-weight:700;white-space:nowrap}
.ik-r25-bar-0{background:#d2a45c}.ik-r25-bar-1{background:var(--ik-theme-selected)}
@media(max-width:650px){.ik-r25-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.ik-r25-history{padding:12px}.ik-r25-history-row{grid-template-columns:76px minmax(0,1fr)}.ik-r25-filters label{flex-basis:100%}}


/* ---- GAME : messages-r34.css ---- */
/* Iron Kingdoms HF18-R34 messages: all styles external, CSP-safe. */
.ik-messages-page{max-width:1370px;margin:0 auto;padding:clamp(12px,2.5vw,30px);color:#ead9b9}
.ik-messages-page>header{border:1px solid #91724883;background:linear-gradient(135deg,var(--ik-theme-surface-alt),var(--ik-theme-deep));padding:18px 23px;border-radius:8px;margin-bottom:16px}
.ik-messages-page h1,.ik-messages-page h2{font:600 27px/1.3 Georgia,serif;color:#f3d49b;margin:6px 0}
.ik-messages-page>header p{color:#c7b99e;font-size:13px}
.ik-messages-tools{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.ik-messages-tools button,.ik-message-button{cursor:pointer;color:#f2deb9;background:linear-gradient(var(--ik-theme-surface-alt),var(--ik-theme-surface));border:1px solid #a17b49;border-radius:5px;padding:10px 14px;font-weight:650}
.ik-messages-tools button:hover,.ik-message-button:hover{border-color:#e5c17f}
.ik-messages-tools button.active{background:#59442c;border-color:#e5ba76}
.ik-messages-layout{display:grid;grid-template-columns:minmax(230px,34%) minmax(0,1fr);gap:13px;min-height:410px}
#ik-message-list,#ik-message-detail{min-width:0;overflow-wrap:anywhere;border:1px solid #81684a8c;background:linear-gradient(var(--ik-theme-surface),var(--ik-theme-deep));border-radius:8px;padding:12px;box-shadow:0 10px 24px #0003}
#ik-message-list{max-height:70vh;overflow-y:auto}
.ik-message-row{display:flex;flex-direction:column;align-items:flex-start;gap:5px;width:100%;padding:12px;margin:0 0 7px;text-align:left;background:var(--ik-theme-surface);border:1px solid #67573b;color:#ddcbb0;border-radius:5px;cursor:pointer}
.ik-message-row.unread{border-left:4px solid #db9c53;background:var(--ik-theme-surface-alt)}
.ik-message-row.current,.ik-message-row:hover{border-color:#d4a765}
.ik-message-row small,.ik-message-subtle{color:#b6aa93;font-size:12px}
.ik-message-error{color:#e9a29d}
.ik-message-body{white-space:pre-wrap;line-height:1.65;background:var(--ik-theme-deep);border:1px solid #6c5940;padding:16px;border-radius:5px;margin:15px 0 20px}
.ik-message-form{display:grid;gap:14px;margin-top:15px}
.ik-message-form label{display:grid;gap:6px;font-size:13px;color:#dfc697}
.ik-message-form input,.ik-message-form textarea{width:100%;box-sizing:border-box;color:#f5ead8;background:var(--ik-theme-surface);border:1px solid #877254;padding:10px;border-radius:4px;font:14px/1.5 Arial,sans-serif}
.ik-message-form textarea{resize:vertical;min-height:150px}
.ik-message-form button{justify-self:start}
@media(max-width:680px){.ik-messages-layout{grid-template-columns:minmax(0,1fr)}#ik-message-list{max-height:240px;overflow-y:auto}.ik-messages-page{padding:12px}}

/* R42: one-click recipient selection for personal notes; never submits the form. */
.ik-message-form .ik-message-self{justify-self:start;margin-top:-7px;padding:6px 12px;border:1px solid #a17b49;border-radius:5px;background:var(--ik-theme-surface-alt);color:#f3d39a;font-weight:600;cursor:pointer}
.ik-message-form .ik-message-self:hover,.ik-message-form .ik-message-self:focus-visible{border-color:#e6bd7a;outline-offset:3px}
/* R46: compact dialogue listing and a scrollable, paged correspondence history. */
.ik-message-row-heading{display:flex;width:100%;justify-content:space-between;align-items:center;gap:10px}
.ik-message-counter{background:#8d5426;color:#ffe8bb;border:1px solid #e3b575;border-radius:999px;padding:3px 8px}
.ik-message-conversation-title{font-weight:700;color:#f3d49b}
.ik-message-snippet{font-size:12px;color:#b5afa0;max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.ik-dialogue-history{max-height:min(65dvh,730px);min-height:180px;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px;padding:14px 10px;background:var(--ik-theme-deep);border:1px solid #5f5a43;border-radius:9px}
.ik-dialogue-bubble{max-width:min(78%,720px);padding:9px 13px;border:1px solid #716341;border-radius:12px;background:var(--ik-theme-surface-alt);align-self:flex-start;overflow-wrap:anywhere}
.ik-dialogue-bubble.mine{align-self:flex-end;background:#453b2b;border-color:#bd874c}
.ik-dialogue-bubble>strong{display:block;color:#e8c98a}.ik-dialogue-bubble small{font-size:11px;color:#bab09b}
.ik-dialogue-text{white-space:pre-wrap;line-height:1.5;margin:6px 0}
.ik-dialogue-reply{margin-top:12px;gap:8px}.ik-dialogue-reply textarea{min-height:84px}
#ik-dialogue-older{margin:8px 0}


/* ---- GAME : nav-r27.css ---- */
/* HF18-R27 · Meniu și acțiuni globale unificate. Niciun calcul economic/militar modificat. */
.ik-global-chrome .ik-village-context .ik-world-home{min-width:160px;flex:0 0 auto;gap:9px}
.ik-world-home .ik-village-home-info strong{max-width:none}
.ik-world-home.active{border-color:#e5bc75;background:linear-gradient(110deg,#51402b,var(--ik-theme-surface-alt));box-shadow:0 0 0 1px #cba96b4a}
.ik-global-chrome .tabs .ik-rank-nav{display:inline-flex;flex-direction:column;gap:4px;justify-content:center;line-height:1.2;padding-block:7px}
.ik-rank-nav small{font:600 10px/1.3 Arial,sans-serif;color:#c8ac7d;white-space:nowrap;font-variant-numeric:tabular-nums}
.ik-global-chrome .tabs .ik-reports-nav{display:inline-flex;gap:8px;align-items:center}
.ik-report-icon{display:inline-flex;box-sizing:border-box;width:17px;height:17px;border:2px solid #dbc7a4;border-radius:2px;align-items:center;justify-content:center;background:var(--ik-theme-surface)}
.ik-report-icon-core{display:block;width:7px;height:7px;background:#f6f2e6;border-radius:1px;transition:background-color .15s,box-shadow .15s}
.ik-reports-nav.has-unread-reports .ik-report-icon-core{background:#ef423c;box-shadow:0 0 7px #e93d3d90}
.ik-reports-nav.has-unread-reports{border-color:#bb646266!important}
.ik-global-actions-page{max-width:1320px;margin:auto;box-sizing:border-box;padding:clamp(12px,2.5vw,30px)}
.ik-global-actions-heading{margin-bottom:14px;padding:18px 20px;border:1px solid #93774c66;border-radius:8px;background:linear-gradient(135deg,var(--ik-theme-surface-alt),var(--ik-theme-deep))}
.ik-global-actions-heading h1{margin:7px 0;color:#efd4a4;font:600 clamp(23px,2.6vw,32px)/1.2 Georgia,serif}
.ik-global-actions-heading p{color:#cbbda2;max-width:850px;line-height:1.5;font-size:13px;margin:6px 0 0}
.ik-global-actions-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;align-items:stretch}
.ik-global-actions-tabs button{flex:1 1 170px;min-height:42px;padding:9px 12px;border:1px solid #846c4b88;border-radius:7px;background:linear-gradient(180deg,var(--ik-theme-surface-alt),var(--ik-theme-surface));color:#e7d6b5;cursor:pointer;font:600 12px/1.2 Arial,sans-serif}
.ik-global-actions-tabs button:hover{border-color:#e5bf7e;background:var(--ik-theme-surface-alt)}
.ik-global-actions-tabs button.active{background:linear-gradient(180deg,#55432a,#302920);border-color:#dfb474;color:#ffedc8;box-shadow:inset 0 0 0 1px #a68d6080}
#ik-global-general-slot>.ik-general-page{padding:0;max-width:none}
#ik-global-general-slot .ik-general-intro,#ik-global-general-slot .ik-general-tabs,#ik-global-general-slot .ik-general-footer-hint{display:none!important}
#ik-global-army-slot[hidden],#ik-global-general-slot[hidden]{display:none!important}
@media(max-width:820px){.ik-global-chrome .ik-village-context .ik-world-home{min-width:120px}.ik-global-actions-page{padding:10px}}
@media(max-width:540px){.ik-global-chrome .ik-village-context #ik-village-home,.ik-global-chrome .ik-village-context .ik-world-home{min-width:0;flex:1 1 120px}.ik-global-chrome .ik-village-context .ik-world-home{max-width:180px}.ik-village-context .ik-world-home .ik-village-home-info strong{font-size:11px}.ik-global-actions-heading{padding:12px}.ik-global-actions-tabs button{flex:1 1 42%;min-width:0;font-size:11px}}
/* The legacy fixed 58px nav height clipped wrapped buttons below 540px. */
.ik-global-chrome .tabs{height:auto!important;min-height:58px;flex-wrap:wrap!important;align-content:center;padding:9px 12px 12px}
.ik-global-chrome .tabs .nav{transform:none!important;position:static}
@media(max-width:650px){
 .ik-global-chrome .ik-village-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;justify-items:stretch}
 .ik-global-chrome .ik-village-context #ik-village-home,.ik-global-chrome .ik-village-context .ik-world-home{width:100%;max-width:none;min-width:0;flex:none;box-sizing:border-box}
 .ik-global-chrome .ik-village-context>.resources{grid-column:1/-1;order:unset;flex:none;width:100%;gap:7px;justify-content:space-between}
 .ik-global-chrome .ik-village-context .ik-context-meta{grid-column:1/-1;justify-self:end;order:unset;flex:none;min-width:0}
}


/* ---- GAME : nav-r34.css ---- */
/* HF18-R34 — compact own-village switcher and message tab. */
.ik-global-chrome .ik-village-context .ik-village-step{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;flex:0 0 35px;min-height:38px;padding:2px 4px;border:1px solid #96764e;border-radius:5px;color:#e8ca94;background:linear-gradient(110deg,var(--ik-theme-surface-alt),#1d292a);font:700 24px/0.9 Georgia,serif;cursor:pointer}
.ik-global-chrome .ik-village-context .ik-village-step:hover,.ik-global-chrome .ik-village-context .ik-village-step:focus-visible{border-color:#f1c78a;background:var(--ik-theme-surface-alt)}
.ik-village-step small{font:700 10px Arial,sans-serif;letter-spacing:.05em;margin-top:3px;color:#b6a789}
.ik-global-chrome .tabs .ik-messages-nav{display:inline-flex;align-items:center;gap:6px}
#ik-message-unread{min-width:17px;height:17px;box-sizing:border-box;text-align:center;border-radius:12px;background:#a63d31;color:#fff;font:700 10px/17px Arial,sans-serif}
@media(max-width:650px){.ik-global-chrome .ik-village-context{grid-template-columns:35px minmax(80px,1fr) 35px minmax(105px,.8fr)}.ik-global-chrome .ik-village-context #ik-village-prev{grid-column:1}.ik-global-chrome .ik-village-context #ik-village-home{grid-column:2;min-width:0}.ik-global-chrome .ik-village-context #ik-village-next{grid-column:3}.ik-global-chrome .ik-village-context .ik-world-home{grid-column:4;min-width:0}.ik-global-chrome .ik-village-context>.resources,.ik-global-chrome .ik-village-context .ik-context-meta{grid-column:1/-1}}
@media(max-width:360px){.ik-global-chrome .ik-village-context{gap:5px;grid-template-columns:27px minmax(70px,1fr) 27px minmax(90px,.8fr)}.ik-global-chrome .ik-village-context .ik-village-step{min-width:0;width:27px;flex-basis:27px}}


/* ---- GAME : r36.css ---- */
/* Iron Kingdoms HF18-R36 — scene side panels, contextual tools, coherent navigation. */
#view-village .ik-r36-village-layout{display:grid!important;grid-template-columns:minmax(105px,clamp(120px,12vw,205px)) minmax(0,1fr) minmax(105px,clamp(120px,12vw,205px))!important;gap:8px!important;align-items:stretch;width:100%;min-width:0}
#view-village .ik-r36-village-layout>.village-stage-main{min-width:0}
#view-village .ik-village-side{position:relative;z-index:1;min-width:0;border:1px solid rgba(187,151,92,.44);border-radius:6px;background:linear-gradient(160deg,color-mix(in srgb, var(--ik-theme-surface) 96%, transparent),color-mix(in srgb, var(--ik-theme-deep) 97%, transparent));box-shadow:inset 0 1px rgba(240,212,162,.09),0 10px 26px rgba(0,0,0,.25);color:#e7d3ae;display:flex;flex-direction:column;overflow:hidden}
#view-village .ik-village-side-title{padding:13px 10px;font:700 11px/1.3 Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:#e7bd7e;border-bottom:1px solid rgba(190,149,95,.3);background:linear-gradient(90deg,rgba(155,103,48,.17),transparent)}
#view-village .ik-village-side-content{flex:1;min-height:120px;padding:12px}
@media(max-width:1090px){#view-village .ik-r36-village-layout{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}#view-village .ik-village-side{min-height:84px}#view-village .ik-village-side-left{order:2}#view-village .ik-village-side-right{order:3}#view-village .village-stage-main{order:1}}
.ik-rally-target-hint{margin:5px 0 0;font-size:12px;line-height:1.3;color:#e3a29a;min-height:17px}
.ik-rally-target-hint.is-valid{color:#b5dda6}
.ik-ally-member-editor{padding:17px;background:linear-gradient(130deg,var(--ik-theme-surface-alt),var(--ik-theme-surface));border:1px solid #8c7250;border-radius:7px;display:grid;gap:12px}
.ik-ally-member-editor h4{margin:0;color:#f1cf93}
.ik-ally-member-editor form{border-top:1px solid rgba(211,169,108,.26);padding-top:12px}
.ik-ally-member-editor select{background:var(--ik-theme-deep);color:#f3debc;padding:7px;border:1px solid #8a714c}
/* All page views are mounted invisibly until their first coherent render. */
.view.ik-r36-pending.active{visibility:hidden;opacity:0}
.view.ik-r36-ready.active{animation:ik-r36-reveal .20s ease-out both}

@media(prefers-reduced-motion:reduce){.view.ik-r36-ready.active{animation:none}}
/* Real editor -- deliberately separate from the graphical TEST preview. */
.ik-real-editor-panel{grid-column:1/-1;min-width:0}
.ik-real-picker{display:flex;gap:10px;flex-wrap:wrap;align-items:end}
.ik-real-picker>label{flex:1;min-width:230px}
.ik-real-picker select{width:100%;background:var(--ik-theme-surface);color:#efd6ad;border:1px solid #8f7452;padding:9px}
.ik-real-picker button,.ik-real-actions button{padding:9px 13px}
#ik-real-status{padding:8px 10px;color:#d8be90;background:var(--ik-theme-surface);border-left:3px solid #ad8454;border-radius:3px}
#ik-real-status.is-success{border-color:#8bb47b}
#ik-admin-real-editor{min-width:0;display:grid;gap:12px}
.ik-real-header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#e8c48c}
.ik-real-header span{color:#b8ab90;font-size:12px}
.ik-real-warning{border-left:3px solid #b88a45;padding:10px;color:#efcd96;background:rgba(169,110,41,.12)}
#ik-real-form{display:grid;gap:10px}
.ik-real-group{border:1px solid rgba(183,147,99,.32);border-radius:6px;padding:13px;background:color-mix(in srgb, var(--ik-theme-surface) 68%, transparent)}
.ik-real-group h4{margin:0 0 12px;color:#e7be81}
.ik-real-group summary{cursor:pointer;font-weight:700;color:#e7be81;padding:5px 0}
.ik-real-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:9px;margin:10px 0}
.ik-real-fields label{display:grid;gap:5px;font-size:12px;color:#dfd3b7;min-width:0}
.ik-real-fields input{width:100%;min-width:0;background:var(--ik-theme-deep);color:#fff1d5;border:1px solid #927954;border-radius:4px;padding:8px}
.ik-real-fields small{color:#aca18e}
.ik-real-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:9px;padding:10px 0}
.ik-real-actions{display:flex;flex-wrap:wrap;gap:8px}
#ik-real-history-content{overflow:auto;max-width:100%;border:1px solid #765b3c;padding:10px}
#ik-real-history-content pre{overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:11px}
@media(max-width:600px){.ik-real-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.ik-real-picker>label{min-width:0;flex-basis:100%}}

/* HF18-R51-HF1: compact, responsive direct-coordinate village lookup. */
.ik-real-picker .ik-real-coordinate-picker{flex:0 1 235px;min-width:min(100%,190px)}
#ik-real-village-coordinates{box-sizing:border-box;width:100%;min-width:0;background:var(--ik-theme-surface);color:#efd6ad;border:1px solid #8f7452;border-radius:5px;padding:9px;font:inherit}
#ik-real-village-coordinates:focus-visible{outline:2px solid #d4a467;outline-offset:2px}
@media(max-width:600px){.ik-real-picker .ik-real-coordinate-picker{flex:1 1 100%;min-width:0}}


/* ---- GAME : r37.css ---- */
/* Iron Kingdoms 0.4.60 HF18-R37 · atomic navigation and unified local recruitment. */
main{position:relative;isolation:isolate}
main>.view.ik-r37-outgoing{display:block!important;position:absolute;z-index:1;top:22px;left:26px;right:26px;pointer-events:none;opacity:1;visibility:visible;animation:none!important}
main>.view.active.ik-r37-preparing{visibility:hidden;opacity:0;pointer-events:none;animation:none!important}
main>.view.active.ik-r37-ready{visibility:visible;opacity:1;animation:ik-r37-enter .25s ease-out both}
main>.view.active.ik-r37-ready.ik-r36-pending{visibility:visible}
body.ik-r37-boot main>.view.active:not(.ik-r37-ready){visibility:hidden}
body.ik-r37-boot main:before{content:'Se pregătește lumea Iron Kingdoms…';position:relative;display:block;padding:30px 18px;text-align:center;color:#ebcd92;font:14px Georgia,serif;letter-spacing:.03em}

/* Keep the previous canvas/page fully intact until the new screen is ready. */
body.ik-r37-changing main>.view.ik-r37-outgoing{filter:none}
.ik-recruitment-page{width:min(100%,1510px);margin-inline:auto;display:grid;gap:20px}
.ik-recruitment-heading{padding:23px 28px;border:1px solid #90754e;background:linear-gradient(125deg,var(--ik-theme-surface-alt),var(--ik-theme-surface));border-radius:7px}
.ik-recruitment-heading h1{margin:10px 0 7px;color:#f7d5a3;font:400 clamp(30px,3.6vw,42px) Georgia,serif}
.ik-recruitment-heading p{margin:0 0 13px;max-width:900px;color:#cec6b3}
.ik-recruitment-summary{padding:13px 15px;background:var(--ik-theme-surface);border:1px solid #705c40;color:#ead8b9;border-radius:5px;font-size:12px;line-height:1.6;font-variant-numeric:tabular-nums}
.ik-recruitment-sections{display:grid;gap:18px}
.ik-recruitment-group{min-width:0;border:1px solid #89714f;background:linear-gradient(125deg,var(--ik-theme-surface-alt),#1a2525);border-radius:7px;overflow:hidden}
.ik-recruitment-group>header{display:flex;align-items:center;gap:13px;padding:14px 18px;background:linear-gradient(100deg,var(--ik-theme-elevated),var(--ik-theme-surface-alt));border-bottom:1px solid #816948}
.ik-recruitment-group>header img{width:54px;height:50px;object-fit:contain}
.ik-recruitment-group>header div{flex:1;min-width:0}
.ik-recruitment-group>header h2{margin:0 0 4px;font:400 24px Georgia,serif;color:#f3d5a7}
.ik-recruitment-group>header small{font:12px Arial,sans-serif;color:#c1bba6}
.ik-recruitment-group>header button{cursor:pointer;padding:9px 12px;background:var(--ik-theme-surface-alt);border:1px solid #91734e;border-radius:4px;color:#e9ce9e}
.ik-recruitment-group>header button:hover{background:var(--ik-theme-elevated)}
.ik-recruitment-group>div{padding:16px}
.ik-recruitment-group .ik-detail-section.ik-military{margin:0;padding:0;background:transparent;border:0;box-shadow:none}
.ik-recruitment-group .ik-troop-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,265px),1fr));gap:12px}
.ik-recruitment-group .ik-troop-card{min-width:0}
.ik-recruitment-group .ik-train-line{display:flex;gap:9px;align-items:center}
.ik-recruitment-group .ik-train-line input{min-width:72px;max-width:130px}
.ik-recruitment-unavailable{margin:0 0 12px;padding:12px 14px;border-left:3px solid #c6a066;background:#463a2c;color:#f0cfa2}
@media(max-width:700px){main>.view.ik-r37-outgoing{top:22px;left:26px;right:26px}.ik-recruitment-heading{padding:18px}.ik-recruitment-group>header{flex-wrap:wrap}.ik-recruitment-group>header button{margin-left:auto}}
@media(prefers-reduced-motion:reduce){main>.view.active.ik-r37-ready{animation:none}}

/* R71-R52: failed initial boot never reveals an uninitialized game view.
   Reuse the approved amber/umber palette; do not introduce new colours. */
body.ik-r52-startup-failed main:before{display:none}
body.ik-r52-startup-failed main>.view{visibility:hidden!important;pointer-events:none!important}
body.ik-r52-startup-failed main>.ik-r52-boot-error:not([hidden]){
 display:grid;gap:14px;width:min(100%,620px);margin:26px auto;padding:24px;
 border:1px solid var(--ik-theme-border-strong);border-radius:8px;
 background:var(--ik-theme-surface);color:var(--ik-theme-ink);
 box-shadow:0 14px 35px rgba(0,0,0,.2);position:relative;z-index:5
}
.ik-r52-boot-error h1{margin:0;color:var(--ik-theme-highlight);font:400 26px Georgia,serif}
.ik-r52-boot-error p{margin:0;color:var(--ik-theme-muted);line-height:1.55;overflow-wrap:anywhere}
.ik-r52-boot-error button{justify-self:start;padding:10px 18px;
 border:1px solid var(--ik-theme-accent);border-radius:5px;
 background:var(--ik-theme-button-bg);color:var(--ik-theme-ink);cursor:pointer}
.ik-r52-boot-error button:is(:hover,:focus-visible){background:var(--ik-theme-button-hover-bg);border-color:var(--ik-theme-accent-hover)}
.ik-r52-boot-error button:focus-visible{outline:2px solid var(--ik-theme-accent-hover);outline-offset:2px}
@media(max-width:700px){body.ik-r52-startup-failed main>.ik-r52-boot-error:not([hidden]){margin:18px auto;padding:18px}}


/* ---- GAME : r39.css ---- */
/* HF18-R39 · Recruitment budget and atomic one-village general recruitment */
.ik-r39-general{border:1px solid #9b7b50;border-radius:8px;overflow:hidden;background:linear-gradient(126deg,var(--ik-theme-surface-alt),var(--ik-theme-surface));box-shadow:0 8px 22px color-mix(in srgb, var(--ik-theme-shadow) 16.1%, transparent);color:#f1ddc0}
.ik-r39-general>header{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:19px 23px;border-bottom:1px solid #886b46;background:linear-gradient(105deg,var(--ik-theme-elevated),var(--ik-theme-surface-alt))}
.ik-r39-general h2{font:400 26px Georgia,serif;color:#f5d7a4;margin:5px 0 6px}
.ik-r39-general header p{color:#dbd1c0;margin:0;max-width:800px;font-size:13px;line-height:1.5}
#ik-recruit-general-count{font-size:13px;color:#f4d8a2;font-variant-numeric:tabular-nums}
.ik-r39-budget-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;padding:17px 21px}
.ik-r39-budget-grid>div{min-width:0;display:flex;flex-direction:column;gap:8px;background:color-mix(in srgb, var(--ik-theme-surface) 65.9%, transparent);border:1px solid #6e6146;border-radius:5px;padding:13px 11px}
.ik-r39-budget-grid span{font-weight:700;color:#ebd4aa}
.ik-r39-budget-grid small{font-size:11px;color:#c0bcab}
.ik-r39-budget-grid strong{font-variant-numeric:tabular-nums;font-size:clamp(12px,1.3vw,16px);white-space:normal;overflow-wrap:anywhere;color:var(--ik-theme-ink)}
.ik-r39-budget-grid strong.ik-r39-negative{color:#ff9e88}
.ik-r39-general-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 21px 20px}
.ik-r39-general-footer p{margin:0;color:#d4d7ca;font-size:13px;line-height:1.5}
.ik-r39-general-footer p.ik-r39-error{color:#ffaf99}
#ik-recruit-general-submit{min-width:230px;flex-shrink:0;padding:12px 18px;cursor:pointer;border-radius:5px;font-weight:700}
#ik-recruit-general-submit:disabled{cursor:not-allowed;opacity:.55}
.ik-troop-card .ik-r39-availability{display:block;font-weight:700;line-height:1.55;color:#eaca92;font-variant-numeric:tabular-nums}
.ik-troop-card .ik-r39-selected-cost{display:block;line-height:1.45;color:#c6d2c4;font-size:11px;font-variant-numeric:tabular-nums}
.ik-troop-card .ik-train-validation.is-error{color:#ffaaa0}
@media(max-width:1100px){.ik-r39-budget-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.ik-r39-general>header{padding:15px}.ik-r39-budget-grid{padding:13px;gap:8px}.ik-r39-general-footer{padding:0 13px 15px;align-items:stretch;flex-direction:column}#ik-recruit-general-submit{width:100%;min-width:0}}
@media(max-width:390px){.ik-r39-budget-grid{grid-template-columns:1fr}}


/* ---- GAME : r40.css ---- */
/* Iron Kingdoms 0.4.60 HF18-R40: geometry-safe transitions + report detail. */
main>.view.ik-r37-outgoing.ik-r40-frozen-village{
 position:fixed!important;z-index:75!important;inset:auto!important;
 top:var(--ik-r40-top)!important;left:var(--ik-r40-left)!important;
 width:var(--ik-r40-width)!important;height:var(--ik-r40-height)!important;
 max-width:none!important;max-height:none!important;overflow:hidden!important;
 margin:0!important;opacity:1!important;visibility:visible!important;transform:none!important;animation:none!important;
}
/* Outgoing village remains in its *original cinematic layout* even when the
   body loses .ik-cinematic to mount the destination. Never stretch its canvas. */
main>.view.ik-r40-frozen-village .village-stage-layout{height:100%!important;width:100%!important;min-width:0;align-items:stretch!important}
main>.view.ik-r40-frozen-village .village-stage-main{height:100%!important;min-height:0!important;display:grid!important;grid-template-rows:minmax(0,1fr)!important}
main>.view.ik-r40-frozen-village .scenewrap{height:100%!important;width:100%!important;min-height:0!important;min-width:0!important;overflow:hidden!important}
main>.view.ik-r40-frozen-village #village-canvas{height:100%!important;width:100%!important;display:block!important}
/* Do not translate/scale the backing bitmap during entry or exit. */
main>.view#view-village.active.ik-r37-ready{animation:ik-r40-village-fade .22s ease-out both!important}

@media(prefers-reduced-motion:reduce){main>.view#view-village.active.ik-r37-ready{animation:none!important}}
/* Compact battle reports, inspired by classic unit-column layouts. */
#view-reports .ik-r40-heading-titles{min-width:0;flex:1 1 290px}
#view-reports .ik-report-detail-heading h2{margin:4px 0 0}
#view-reports .ik-r40-report-number{font:700 11px/1.4 system-ui,sans-serif;letter-spacing:.11em;color:#d4b27b}
#view-reports .ik-report-detail-card .ik-report-armies{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:5px!important}
#view-reports .ik-report-detail-card .ik-report-armies>.ik-report-army+.ik-report-army{padding:14px 0 0!important;border-left:0!important;border-top:1px solid #a68b574f}
#view-reports .ik-r40-horizontal-units{width:100%;min-width:690px;table-layout:fixed;border:1px solid #786b4c;background:var(--ik-theme-surface)}
#view-reports .ik-r40-horizontal-units th,#view-reports .ik-r40-horizontal-units td{text-align:center!important;padding:7px 5px!important;border:1px solid color-mix(in srgb, var(--ik-theme-border-strong) 34.1%, transparent)!important;font-size:11px;min-width:43px}
#view-reports .ik-r40-horizontal-units tr>th:first-child{width:116px;min-width:116px;text-align:left!important;white-space:normal;color:#eed09e}
#view-reports .ik-r40-horizontal-units tr>th:last-child,#view-reports .ik-r40-horizontal-units tr>td:last-child{width:58px;min-width:58px}
#view-reports .ik-r40-horizontal-units thead{background:var(--ik-theme-surface-alt)}
#view-reports .ik-r40-horizontal-units tbody tr:nth-child(even){background:var(--ik-theme-surface-alt)}
#view-reports .ik-r40-unit-icon{display:block;margin:auto;width:31px;height:31px;object-fit:contain;image-rendering:auto}
#view-reports .ik-r40-zero{color:var(--ik-theme-muted)!important}
#view-reports .ik-r40-total{color:#f0cf95!important;font-weight:700}
#view-reports .ik-report-action-toolbar{margin-top:18px;margin-bottom:0}
#view-reports .ik-r40-spy-intel h4{margin:14px 0 7px;color:#e5c18a;font:600 13px system-ui,sans-serif}
#view-reports .ik-r40-none{margin:8px 0;padding:11px;background:var(--ik-theme-surface);border:1px solid var(--ik-theme-border-soft);color:#ddd1b8}
#view-reports .ik-r40-spy-building-list{min-width:0;margin-top:14px}
#view-reports .ik-r40-buildings-table{border-collapse:collapse;width:100%;font:12px system-ui,sans-serif}
#view-reports .ik-r40-buildings-table th,#view-reports .ik-r40-buildings-table td{padding:8px 10px;border-bottom:1px solid color-mix(in srgb, var(--ik-theme-border-strong) 32.9%, transparent)}
#view-reports .ik-r40-buildings-table th{text-align:left;color:#e1d4bd}
#view-reports .ik-r40-buildings-table td{text-align:center;color:#f8dda8;font-weight:700;width:65px}
#view-reports .ik-r40-buildings-table tbody th{display:flex;align-items:center;gap:9px}
#view-reports .ik-r40-buildings-table tbody img{width:37px;height:30px;object-fit:contain;flex:none}
#view-reports .ik-r40-spy-troops{min-width:0}
#view-reports .ik-r40-spy-troops .ik-command-table-scroll{max-width:100%;overflow-x:auto}
@media(max-width:700px){#view-reports .ik-r40-horizontal-units{min-width:650px}#view-reports .ik-r40-horizontal-units tr>th:first-child{width:100px;min-width:100px}}


/* ---- GAME : r41.css ---- */
/* HF18-R41 · Single-frame page swap and report ergonomics. */
main>.view.ik-r37-outgoing.ik-r41-frozen-outgoing{
 display:block!important;position:fixed!important;z-index:75!important;inset:auto!important;
 top:var(--ik-r40-top)!important;left:var(--ik-r40-left)!important;
 width:var(--ik-r40-width)!important;height:var(--ik-r40-height)!important;
 max-width:none!important;max-height:none!important;margin:0!important;
 opacity:1!important;visibility:visible!important;transform:none!important;animation:none!important;
 pointer-events:none!important;overflow:hidden!important;
}
main>.view.active.ik-r37-preparing{display:block!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;animation:none!important;transform:none!important}
main>.view.active.ik-r37-ready,main>.view.active.ik-r36-ready,main>.view#view-village.active.ik-r37-ready{
 visibility:visible!important;opacity:1!important;animation:none!important;transition:none!important;transform:none!important;filter:none!important;
}
/* The cinematic canvas renders at its final geometry behind the frozen page. */
body.ik-r37-changing #view-village.active.ik-r37-preparing #village-canvas{animation:none!important;transition:none!important}
/* Reports: sticky organizer on scroll while content remains unobstructed. */
#view-reports .ik-report-action-toolbar{
 position:sticky;bottom:0;z-index:8;max-height:min(40dvh,275px);overflow-y:auto;
 border-color:#c39e66;background:var(--ik-theme-surface);box-shadow:0 -12px 32px #050b0cc9;
}
#view-reports .ik-r41-report-heading-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
#view-reports .ik-r41-report-close{width:32px;height:32px;display:grid;place-items:center;flex:none;padding:0;
 border:1px solid #bb9b67;background:#342a22;color:#f8dcad;border-radius:5px;font:25px/1 system-ui,sans-serif;cursor:pointer}
#view-reports .ik-r41-report-close:hover{border-color:#f2c786;background:#6b4931}
#view-reports .ik-report-action-primary [data-report-tool="close"]{background:var(--ik-theme-elevated);border-color:#c2a476;color:#fce8c4}
/* 15 official game buildings, with icon and level underneath. */
#view-reports .ik-r41-spy-table-scroll{max-width:100%;overflow-x:auto}
#view-reports .ik-r41-spy-building-grid{width:100%;table-layout:fixed;border-spacing:8px;border-collapse:separate;min-width:510px}
#view-reports .ik-r41-spy-building{vertical-align:middle;
 min-height:116px;padding:9px 6px;background:var(--ik-theme-surface);border:1px solid #796b4c;border-radius:6px;text-align:center;min-width:0}
#view-reports .ik-r41-spy-building img{width:58px;height:51px;object-fit:contain;display:block;margin:0 auto 5px}
#view-reports .ik-r41-spy-building-name{display:block;color:#e5d6b9;font:600 11px/1.25 system-ui,sans-serif;min-height:27px;overflow-wrap:anywhere}
#view-reports .ik-r41-spy-building strong{display:block;margin-top:5px;font:700 15px/1.25 system-ui,sans-serif;color:#ffd494;font-variant-numeric:tabular-nums}
/* Report row selection, separate from the button used to open a report. */
#view-reports .ik-r41-reports-bulk{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:9px 13px;margin:-6px 0 12px;background:var(--ik-theme-surface);border:1px solid #755f3f;border-radius:6px}
#view-reports .ik-r41-reports-bulk[hidden]{display:none}
#view-reports #ik-r41-report-selection-count{margin-right:auto;color:#f0d1a0;font:700 11px system-ui,sans-serif}
#view-reports .ik-r41-reports-bulk button{border:1px solid #9c7d4d;color:#f3deb5;background:var(--ik-theme-surface-alt);border-radius:4px;cursor:pointer;padding:8px 10px;font:600 11px system-ui,sans-serif}
#view-reports .ik-r41-reports-bulk button:disabled{opacity:.42;cursor:default}
#view-reports #ik-r41-reports-archive{background:#50342e;border-color:#aa6e5e}
#view-reports .ik-r41-report-entry{display:flex;align-items:stretch;gap:5px;width:100%;min-width:0;border-radius:5px}
#view-reports .ik-r41-report-entry .ik-report-list-item{flex:1;min-width:0}
#view-reports .ik-r41-report-check{appearance:none;flex:0 0 23px;height:23px;margin:auto 3px auto 0;border:1px solid #c39f66;border-radius:5px;background:var(--ik-theme-surface);cursor:pointer;position:relative}
#view-reports .ik-r41-report-check:checked{background:#bb874d;border-color:#f4ce8b}
#view-reports .ik-r41-report-check:checked:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:var(--ik-theme-muted);font:800 15px system-ui,sans-serif}
#view-reports .ik-r41-report-check:focus-visible{outline:2px solid #f6d5a0;outline-offset:2px}
#view-reports .ik-r41-report-entry.is-selected .ik-report-list-item{border-color:#d1a66d;box-shadow:inset 0 0 0 1px #d1a66d52}
@media(max-width:750px){#view-reports .ik-report-action-toolbar{max-height:33dvh}}


/* ---- GAME : r42.css ---- */
/* Iron Kingdoms HF18-R42 — report navigation and truly compact reconnaissance. */
/* Sticky list follows page scrolling instead of staying stranded at the top of
   a long report. List contents scroll independently when reports exceed the viewport. */
@media(min-width:761px){
 #view-reports .ik-reports-layout{align-items:start}
 #view-reports .ik-reports-list{
  position:sticky;top:12px;align-self:start;
  max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;
 }
}
/* One horizontal row of all fifteen buildings, with minimal icons and the
   actual known levels. On narrow screens the row scrolls, never wraps. */
#view-reports .ik-r41-spy-table-scroll{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-color:#b18a55 var(--ik-theme-deep)}
#view-reports .ik-r41-spy-building-grid{width:max-content;min-width:100%;table-layout:fixed;border-spacing:2px;border-collapse:separate}
#view-reports .ik-r41-spy-building{
 width:51px;min-width:51px;max-width:51px;height:65px;min-height:0;
 padding:5px 2px 3px;vertical-align:middle;text-align:center;
 border:1px solid #796b4c;border-radius:3px;background:var(--ik-theme-surface);
}
#view-reports .ik-r41-spy-building img{display:block;width:37px;height:38px;object-fit:contain;margin:0 auto 1px}
#view-reports .ik-r41-spy-building strong{display:block;margin:0;color:#ffd494;font:700 13px/1.2 system-ui,sans-serif;font-variant-numeric:tabular-nums}
#view-reports .ik-r41-spy-building-name{display:none}
#view-reports .ik-r41-spy-building:hover{background:var(--ik-theme-surface-alt);border-color:#e1b675}
#view-reports .ik-r41-spy-building img:focus-visible{outline:2px solid #eac690}
/* R42 paints the target behind the outgoing page, then switches without
   opacity transitions or resizing of the previous canvas. */
main>.view.active.ik-r37-preparing{animation:none!important;transition:none!important;opacity:0!important;visibility:hidden!important}
main>.view.active.ik-r37-ready{animation:none!important;transition:none!important;opacity:1!important;visibility:visible!important;transform:none!important}


/* ---- GAME : r46.css ---- */
/* HF18-R46: responsive tribe table actions, accessible selection and compact dialogue. */
.ik-ally-r46-flags{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,205px),1fr));gap:9px;padding:12px;margin:12px 0;border:1px solid #886d45;border-radius:9px;background:var(--ik-theme-surface)}
.ik-ally-r46-flags legend{color:#e7bc7e;font-weight:700;padding:0 8px}
.ik-ally-r46-flags label{display:flex;align-items:center;gap:9px;min-width:0;line-height:1.35;color:#ebd4af}
.ik-ally-r46-flags input,.ik-ally-reserve-check{appearance:none;width:19px;height:19px;min-width:19px;border:1px solid #c69d5f;border-radius:5px;background:var(--ik-theme-surface);cursor:pointer;display:grid;place-content:center}
.ik-ally-r46-flags input:checked,.ik-ally-reserve-check:checked{background:#aa6f33;border-color:#e4b578}
.ik-ally-r46-flags input:checked:after,.ik-ally-reserve-check:checked:after{content:'✓';font-size:15px;font-weight:800;color:#fff2d9}
.ik-ally-r46-flags input:disabled,.ik-ally-reserve-check:disabled{opacity:.4;cursor:not-allowed}
.ik-ally-r46-flags input:focus-visible,.ik-ally-reserve-check:focus-visible{outline:2px solid #ffcd85;outline-offset:2px}
.ik-ally-reserve-search{display:flex;gap:8px;flex-wrap:wrap;align-items:end;margin:10px 0 12px}
.ik-ally-reserve-search label{display:grid;gap:5px;flex:1 1 min(100%,270px)}
.ik-ally-reserve-search input{width:100%;min-width:0;box-sizing:border-box}
.ik-ally-reserve-bulk{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0}
#ik-ally-reserve-count{font-size:12px;color:#dec197;font-variant-numeric:tabular-nums}
.ik-ally-reserve-bulk .danger{border-color:#ab7164}
.ik-ally-table-wrap{overflow-x:auto;max-width:100%}
.ik-ally-table{width:100%}
.ik-ally-table th:first-child,.ik-ally-table td:first-child{white-space:nowrap}
.ik-ally-form input[name="arrivalLocal"]{min-width:min(100%,215px);font-variant-numeric:tabular-nums}
@media(max-width:700px){.ik-ally-reserve-search{align-items:stretch}.ik-ally-reserve-bulk button{flex:1 1 auto}}

/* R46: keep the ENTIRE report organizer visible below the sticky game
 * navigation, not underneath it. The actual chrome height is measured by
 * app.js with ResizeObserver and changes with zoom/responsive wrapping. */
@media (min-width:761px){
 #view-reports .ik-reports-layout > #ik-reports-list{
  position:sticky;
  top:calc(var(--ik-chrome-height,148px) + 12px);
  align-self:start;
  min-height:0;
  max-height:max(180px,calc(100dvh - var(--ik-chrome-height,148px) - 24px));
  overflow-y:auto;
  overscroll-behavior-y:contain;
  scroll-padding-top:12px;
 }
}
@media (max-width:760px){
 #view-reports .ik-reports-layout > #ik-reports-list{
  position:relative;
  top:auto;
  min-height:0;
  max-height:min(40dvh,460px);
 }
}


/* ---- GAME : r47.css ---- */
/* Iron Kingdoms HF18-R47 — stable-size tabs and flicker-free village exit. */
/* Rank tabs previously gained the global .primary's 12x17 padding ONLY when
   active. Reserve the clicked tab's dimensions for every state. The highlight
   is selected-state-only and never changes the button's box metrics. */
#view-ranking .ik-rank-toolbar button{
 box-sizing:border-box;min-height:53px;min-width:105px;
 padding:12px 17px!important;
 font:600 clamp(13px,.85vw,15px)/1.15 Georgia,serif!important;
 white-space:nowrap;
 border-width:1px!important;
 transform:none!important;
}
#view-ranking .ik-rank-toolbar button:not(.is-active):not([aria-pressed="true"]){
 background:linear-gradient(110deg,var(--ik-theme-surface-alt),#1d292a)!important;
 border-color:#947e56!important;
 color:#efdbb4!important;
 box-shadow:0 1px 8px #0004!important;
}
#view-ranking .ik-rank-toolbar button:is(.is-active,[aria-pressed="true"]){
 background:linear-gradient(110deg,#51452d,var(--ik-theme-surface-alt))!important;
 border-color:#d0a366!important;
 color:#ffe1a9!important;
 box-shadow:inset 0 0 0 1px #c7a2694d,0 1px 8px #0004!important;
}
/* The previous village is captured at its full inner geometry. Keep its
   responsive grid placement instead of resetting it when ik-cinematic leaves
   <body> to prepare a different page. */
main>#view-village.ik-r40-frozen-village .ik-r36-village-layout{
 display:grid!important;align-items:stretch!important;max-width:none!important;
}
@media(min-width:1091px){
 main>#view-village.ik-r40-frozen-village .village-stage-main{grid-column:2;grid-row:1}
 main>#view-village.ik-r40-frozen-village .ik-village-side-left{grid-column:1;grid-row:1}
 main>#view-village.ik-r40-frozen-village .ik-village-side-right{grid-column:3;grid-row:1}
}
@media(max-width:1090px){
 main>#view-village.ik-r40-frozen-village .village-stage-main{grid-column:1;grid-row:1}
 main>#view-village.ik-r40-frozen-village .ik-village-side-left{grid-column:1;grid-row:2}
 main>#view-village.ik-r40-frozen-village .ik-village-side-right{grid-column:1;grid-row:3}
}
.ik-r47-frozen-village-bitmap{display:block!important;opacity:1!important;visibility:visible!important;image-rendering:auto!important;}
@media(max-width:760px){#view-ranking .ik-rank-toolbar button{min-height:48px;min-width:96px;padding:10px 13px!important;}}


/* ---- GAME : r52.css ---- */

/* R52 · unit matchups use the existing parchment/forest Iron Kingdoms design. */
.ik-r52-combat-matrix{margin:clamp(12px,1.4vw,24px) 0;padding:clamp(12px,1vw,20px);border:1px solid #987343;border-radius:12px;background:color-mix(in srgb, var(--ik-theme-surface) 92%, transparent);color:#ecdbb8}
.ik-r52-combat-matrix summary{cursor:pointer;font-weight:750;color:#f4d59f;padding:9px;list-style-position:inside}
.ik-r52-combat-matrix p{padding:0 10px;line-height:1.5;color:#e0ccab}
.ik-r52-combat-matrix table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;min-width:840px}
.ik-r52-combat-matrix th,.ik-r52-combat-matrix td{padding:9px 7px;border:1px solid rgba(220,189,136,.22);text-align:center}
.ik-r52-combat-matrix th{color:#f1d7a7;background:var(--ik-theme-surface-alt)}
.ik-r52-combat-matrix tbody tr:nth-child(even){background:rgba(222,192,140,.05)}
.ik-r52-combat-matrix tbody th{text-align:left;white-space:nowrap;min-width:155px}
.ik-r52-combat-matrix tbody th img{width:30px;height:30px;object-fit:contain;vertical-align:middle;margin-right:8px}


/* ---- GAME : r53.css ---- */
/* HF18-R53 · shared readable per-unit combat facts across Recruitment & Smithy. */
.ik-r53-unit-combat{min-width:0;width:100%;border:1px solid #917751;border-radius:7px;background:linear-gradient(155deg,var(--ik-theme-surface),var(--ik-theme-surface));color:#eadbbd;overflow:hidden;margin:5px 0 2px}
.ik-r53-unit-combat>summary{cursor:pointer;list-style-position:inside;color:#f2d49c;font:700 clamp(12px,.83vw,15px) Georgia,serif;padding:9px 10px;line-height:1.45}
.ik-r53-unit-combat[open]>summary{background:#4b4634;border-bottom:1px solid #8c724b}
.ik-r53-unit-combat>table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;table-layout:auto}
.ik-r53-unit-combat>table th,.ik-r53-unit-combat>table td{padding:6px 8px;border-bottom:1px solid #bfa27a2f;vertical-align:middle}
.ik-r53-unit-combat>table tr:last-child>*{border-bottom:0}
.ik-r53-unit-combat>table th{width:100%;text-align:left;font:500 clamp(11px,.76vw,13px)/1.35 Arial,sans-serif;color:#ebdfc8;overflow-wrap:anywhere}
.ik-r53-unit-combat>table td:nth-child(2){width:30px;text-align:center;padding:4px}
.ik-r53-unit-combat>table .ik-r53-stat-value{min-width:48px;text-align:right;font:700 clamp(12px,.85vw,16px) Georgia,serif;color:#ffdb9c;white-space:nowrap}
.ik-r53-combat-icon{display:block;width:24px;height:24px;object-fit:contain;margin:0 auto}
.ik-r53-attack-matchups{border-top:1px solid #9d845a45;padding:6px 9px;background:#1d2822}
.ik-r53-attack-matchups>summary{cursor:pointer;color:#d8c598;font:600 11px/1.5 Arial,sans-serif;white-space:normal}
.ik-r53-attack-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:9px 0 2px}
.ik-r53-attack-types>div{display:grid;gap:3px;min-width:0;padding:6px;background:#33423588;border:1px solid #a18a6352;border-radius:4px}
.ik-r53-attack-types span{font:11px/1.3 Arial,sans-serif;color:#dcc8a5;overflow-wrap:anywhere}
.ik-r53-attack-types strong{color:#f4d69f;font:700 14px Georgia,serif}
.ik-r53-unit-combat .ik-r53-combat-footnote{font:11px/1.45 Arial,sans-serif;color:#bdb7a7;margin:0;padding:8px 10px;border-top:1px solid #aa8e6040}
@media(max-width:530px){.ik-r53-attack-types{grid-template-columns:1fr}.ik-r53-unit-combat>table th{font-size:11px}}


/* ---- GAME : r54.css ---- */
/* HF18-R54 · One recruitment card, clickable unit stats, command previews and tooltips */
#view-recruitment .ik-recruitment-page{width:min(100%,1640px);gap:14px}
.ik-r54-recruit{min-width:0;border:1px solid #98794d;border-radius:10px;overflow:hidden;background:linear-gradient(145deg,var(--ik-theme-surface-alt),var(--ik-theme-surface));box-shadow:0 12px 34px #0004;color:#ead9bc}
.ik-r54-recruit-groups{padding:clamp(12px,1.4vw,24px);display:grid;gap:clamp(14px,1.4vw,22px)}
.ik-r54-recruit-group{min-width:0;border:1px solid #716348;border-radius:8px;background:color-mix(in srgb, var(--ik-theme-deep) 72.2%, transparent);overflow:hidden}
.ik-r54-recruit-group>header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;border-bottom:1px solid #806745;padding:12px 17px;background:var(--ik-theme-surface-alt)}
.ik-r54-recruit-group h2{font:400 clamp(20px,1.5vw,27px) Georgia,serif;color:#f5d5a4;margin:0}
.ik-r54-recruit-group header small{color:#d3bea0;font-size:12px}
.ik-r54-recruit-rows{display:grid;gap:1px;background:#63574050}
.ik-r54-recruit-row{min-width:0;display:grid;grid-template-columns:minmax(170px,1.1fr) minmax(190px,.95fr) minmax(260px,1.1fr);gap:12px;align-items:center;padding:10px clamp(10px,1.2vw,18px);background:var(--ik-theme-surface);color:#eee0c7}
.ik-r54-recruit-row:nth-child(even){background:var(--ik-theme-surface-alt)}
.ik-r54-recruit-row>*{min-width:0}
.ik-r54-unit-identity{display:flex;flex-direction:column;gap:3px}
.ik-r54-unit-trigger{display:inline-flex;align-items:center;gap:10px;text-align:left;min-width:0;max-width:100%;border:0!important;background:transparent!important;padding:3px!important;min-height:42px;cursor:pointer;color:#f4d6a6!important;font:bold clamp(13px,.95vw,16px) Georgia,serif}
.ik-r54-unit-trigger:hover,.ik-r54-unit-trigger:focus-visible{color:#fff1c3!important;text-decoration:underline;outline-offset:2px}
.ik-r54-unit-trigger img{width:38px;height:38px;object-fit:contain;flex:0 0 38px}
.ik-r54-unit-trigger small{color:#d6a86a}
.ik-r54-unit-identity>small,.ik-r54-unit-cost,.ik-r54-unit-entry>small{font-size:clamp(11px,.75vw,13px);line-height:1.35}
.ik-r54-unit-identity>small{padding-left:4px;color:var(--ik-theme-ink)}
.ik-r54-unit-cost{color:#edd4aa;overflow-wrap:anywhere}
.ik-r54-unit-entry{display:grid;grid-template-columns:90px minmax(75px,120px) minmax(130px,1fr);gap:4px 8px;align-items:center}
.ik-r54-unit-entry label{font-size:12px;color:#cdbb9d}
.ik-r54-unit-entry input{width:100%;min-width:0;box-sizing:border-box;color:#f9e5bc;background:var(--ik-theme-deep);border:1px solid #997750;border-radius:5px;min-height:40px;padding:5px 9px;font-size:15px}
.ik-r54-unit-entry .ik-r39-availability{color:#f0d39b;font-weight:700}
.ik-r54-unit-entry .ik-r39-selected-cost{grid-column:1/-1;color:var(--ik-theme-ink);text-align:right}
.ik-r54-recruit-row.ik-r54-unavailable{opacity:.65}
.ik-r54-recruit-budget{border-top:1px solid #91754e;background:var(--ik-theme-surface-alt);padding-top:14px}
.ik-r54-recruit-budget>h2{display:inline-block;margin:0 14px 5px 20px;font:400 clamp(19px,1.5vw,26px) Georgia,serif;color:#f3d49e}
.ik-r54-recruit-budget>#ik-recruit-general-count{display:inline-block;color:#e1bd81}
.ik-r54-recruit-queues{border-top:1px solid #7f6b50;padding:15px 18px}
.ik-r54-recruit-queues>summary{cursor:pointer;font-size:14px;font-weight:700;color:#edd29f}
.ik-r54-queue-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px solid #ffffff1e}
.ik-r54-queue-row button{flex-shrink:0}
.ik-r54-unit-dialog[hidden]{display:none!important}
.ik-r54-unit-dialog{position:fixed;z-index:1205;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(92vw,520px);max-height:85dvh;overflow:auto;background:var(--ik-theme-surface);border:2px solid #b2925c;border-radius:10px;box-shadow:0 20px 80px #000c;padding:24px;color:#e8d6b4}
.ik-r54-unit-dialog>button{position:sticky;top:0;float:right;z-index:1;background:#433b2c;color:#f1d19b;border:1px solid #9c7748;border-radius:6px;width:40px;height:40px}
.ik-r54-unit-dialog h2{font:400 28px Georgia,serif;color:#f7d8a4;margin:6px 0}.ik-r54-unit-dialog p{color:#cdbea1}
.ik-r54-unit-dialog .ik-r53-unit-combat{margin:12px 0 0}
.ik-r54-confirm-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:16px;margin-bottom:16px}
.ik-r54-confirm-grid>.ik-command-info{min-width:0;margin:0}
.ik-r54-target-orders{min-width:0;max-height:var(--ik-r54-info-height,410px);display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(160deg,var(--ik-theme-surface-alt),var(--ik-theme-surface));border:1px solid #987348;border-radius:8px;color:#e8d6b5}
.ik-r54-target-orders h3{margin:0;padding:13px 15px;background:var(--ik-theme-surface-alt);border-bottom:1px solid #937248;color:#f5d5a2;font:400 clamp(17px,1.3vw,23px) Georgia,serif}
.ik-r54-target-orders-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:10px}
.ik-r54-target-order{display:flex;flex-direction:column;gap:4px;padding:10px 11px;margin-bottom:6px;border:1px solid #786748;border-radius:6px;background:var(--ik-theme-surface-alt);cursor:help;outline-offset:2px}
.ik-r54-target-order:hover,.ik-r54-target-order:focus-visible{border-color:#d3a462;background:var(--ik-theme-surface-alt)}
.ik-r54-target-order strong{font-size:13px;color:#f1d2a0;overflow-wrap:anywhere}
.ik-r54-target-order small{font-size:12px;color:#d2d3c2}
.ik-r54-order-tooltip[hidden]{display:none!important}
.ik-r54-order-tooltip{position:fixed;z-index:99999;pointer-events:none;width:max-content;max-width:min(340px,calc(100vw - 16px));max-height:min(420px,80dvh);overflow-y:auto;background:var(--ik-theme-surface);border:1px solid #d0a169;border-radius:8px;padding:12px;box-shadow:0 9px 40px #000c;color:#f2dec0;font:13px/1.4 Arial,sans-serif}
.ik-r54-order-tooltip>strong{display:block;border-bottom:1px solid #846a44;padding-bottom:7px;margin-bottom:6px;color:#f8d9a1}
.ik-r54-tooltip-roster{display:grid;gap:4px}.ik-r54-tooltip-roster>div{display:grid;grid-template-columns:26px minmax(90px,1fr) auto;align-items:center;gap:6px}
.ik-r54-tooltip-roster img{width:25px;height:25px;object-fit:contain}.ik-r54-tooltip-roster b{font-variant-numeric:tabular-nums;color:#f1d59d}
@media(max-width:1000px){.ik-r54-recruit-row{grid-template-columns:minmax(150px,1fr) minmax(150px,1fr)}.ik-r54-unit-entry{grid-column:1/-1;grid-template-columns:80px minmax(90px,130px) minmax(130px,1fr)}.ik-r54-unit-entry .ik-r39-selected-cost{grid-column:auto;text-align:left}}
@media(max-width:720px){.ik-r54-recruit-row{grid-template-columns:minmax(0,1fr)}.ik-r54-unit-entry{grid-column:auto;grid-template-columns:80px minmax(90px,130px) minmax(0,1fr)}.ik-r54-unit-entry .ik-r39-selected-cost{grid-column:1/-1}.ik-r54-confirm-grid{grid-template-columns:1fr}.ik-r54-target-orders{max-height:350px}}
@media(max-width:420px){.ik-r54-unit-entry{grid-template-columns:1fr 1fr}.ik-r54-unit-entry .ik-r39-availability{grid-column:1/-1}.ik-r54-unit-cost{font-size:11px}}

/* R70-R46: name-only recruit/smith rows and instant, transient mouse-hover. */
.ik-r54-unit-trigger,.ik-r46-unit-name{appearance:none;border:0!important;background:transparent!important;padding:3px!important;color:#f4d6a6!important;cursor:help;text-align:left;font:bold clamp(13px,.95vw,16px) Georgia,serif}
.ik-r46-unit-name:hover,.ik-r46-unit-name:focus-visible,.ik-r54-unit-trigger:hover,.ik-r54-unit-trigger:focus-visible{color:#fff1c3!important;text-decoration:underline}
.ik-r58-unit-header.ik-r46-name-only{display:flex;align-items:center;min-height:48px}
.ik-r46-hover[hidden]{display:none!important}
.ik-r46-hover{position:fixed;z-index:6000;pointer-events:none;max-width:min(445px,calc(100vw - 16px));max-height:min(75dvh,550px);overflow:hidden;box-sizing:border-box;padding:12px;background:var(--ik-theme-surface);border:1px solid #c3a16e;border-radius:9px;box-shadow:0 14px 38px #000c;color:#eddbb9;font:13px/1.4 system-ui,sans-serif}
.ik-r46-hover h2{font:400 22px Georgia,serif;margin:0 0 6px;color:#f7d8a4}
.ik-r46-hover p{color:#d3c4a6;margin:4px 0 8px}
.ik-r46-hover-details{width:min(420px,calc(100vw - 16px));overflow-y:auto}
.ik-r46-hover-image{width:205px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.ik-r46-image{display:block;width:180px;height:160px;object-fit:contain;object-position:center}
.ik-r46-hover .ik-r58-unit-dialog-heading{display:flex;align-items:center;gap:10px}
.ik-r46-hover .ik-r58-unit-dialog-heading>img{width:96px!important;height:96px!important;object-fit:contain}


/* ---- GAME : r55.css ---- */
/* HF18-R55 · Recrutare: un chenar, trei coloane la același nivel.
 * Modificare de prezentare; recrutarea atomică R54 rămâne neschimbată. */
#view-recruitment .ik-r54-recruit-groups{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0;
 align-items:stretch;border-bottom:1px solid #8d724b;
}
#view-recruitment .ik-r54-recruit-group{
 display:flex;flex-direction:column;min-width:0;
 border:0;border-right:1px solid #756648;border-radius:0;
 background:transparent;overflow:hidden;
}
#view-recruitment .ik-r54-recruit-group:last-child{border-right:0}
#view-recruitment .ik-r54-recruit-group>header{
 min-height:96px;box-sizing:border-box;display:flex;flex-direction:column;
 justify-content:center;align-items:flex-start;flex-wrap:nowrap;
 gap:5px;padding:15px clamp(11px,1.1vw,20px);
 background:linear-gradient(160deg,var(--ik-theme-elevated),var(--ik-theme-surface-alt));border-bottom:1px solid #95764e;
}
#view-recruitment .ik-r54-recruit-group h2{line-height:1.1;letter-spacing:.15px}
#view-recruitment .ik-r54-recruit-group header small{line-height:1.35;overflow-wrap:anywhere}
#view-recruitment .ik-r54-recruit-rows{
 display:flex;flex:1;flex-direction:column;gap:0;min-width:0;
 background:transparent;
}
#view-recruitment .ik-r54-recruit-row{
 display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,40%);
 grid-template-areas:'identity entry' 'cost entry';
 align-content:center;align-items:start;column-gap:clamp(7px,.75vw,14px);row-gap:3px;
 padding:12px clamp(10px,1vw,17px);min-height:119px;box-sizing:border-box;
 border-bottom:1px solid #9b865a36;background:var(--ik-theme-surface);
}
#view-recruitment .ik-r54-recruit-row:nth-child(even){background:var(--ik-theme-surface)}
#view-recruitment .ik-r54-recruit-row:last-child{border-bottom:0}
#view-recruitment .ik-r54-recruit-row>*{min-width:0}
#view-recruitment .ik-r54-unit-identity{grid-area:identity;min-width:0;align-self:start}
#view-recruitment .ik-r54-unit-cost{
 grid-area:cost;min-width:0;line-height:1.45;
 font-size:clamp(11px,.75vw,13px);overflow-wrap:anywhere;
}
#view-recruitment .ik-r54-unit-trigger{
 max-width:100%;white-space:normal;text-align:left;line-height:1.2;
 font-size:clamp(12px,.95vw,16px);overflow-wrap:anywhere;
}
#view-recruitment .ik-r54-unit-trigger img{
 width:clamp(30px,2.4vw,38px);height:clamp(30px,2.4vw,38px);
 flex-basis:clamp(30px,2.4vw,38px);
}
/* R56: identitatea + controlul cantității pornesc pe ACEEAȘI linie.
   Eticheta Cantitate se află LÂNGĂ input, nu deasupra lui. */
#view-recruitment .ik-r54-unit-entry{
 grid-area:entry;min-width:0;align-self:start;padding-top:4px;box-sizing:border-box;
 display:grid;grid-template-columns:54px minmax(0,1fr);
 grid-template-rows:minmax(37px,auto) auto auto;
 align-content:start;align-items:center;column-gap:5px;row-gap:4px;
}
#view-recruitment .ik-r54-unit-entry label{
 grid-column:1;grid-row:1;font-size:11px;line-height:1.2;
 white-space:normal;overflow-wrap:normal;
}
#view-recruitment .ik-r54-unit-entry input{
 grid-column:2;grid-row:1;width:100%;max-width:100%;min-width:0;
 min-height:37px;box-sizing:border-box;font-variant-numeric:tabular-nums;
}
#view-recruitment .ik-r54-unit-entry .ik-r39-availability,
#view-recruitment .ik-r54-unit-entry .ik-r39-selected-cost{
 display:block;grid-column:1/-1;min-width:0;margin:0;
 font-size:clamp(10px,.7vw,12px);line-height:1.35;
 text-align:left;overflow-wrap:anywhere;white-space:normal;
}
#view-recruitment .ik-r54-unit-entry .ik-r39-availability{grid-row:2}
#view-recruitment .ik-r54-unit-entry .ik-r39-selected-cost{grid-row:3}
#view-recruitment .ik-r54-recruit-budget{border-top:0}
/* Sub pragul de trei coloane lizibile, păstrăm clasificările alăturate când e posibil. */
@media(max-width:1110px){
 #view-recruitment .ik-r54-recruit-groups{grid-template-columns:repeat(2,minmax(0,1fr))}
 #view-recruitment .ik-r54-recruit-group:nth-child(2){border-right:0}
 #view-recruitment .ik-r54-recruit-group:nth-child(3){grid-column:1/-1;border-top:1px solid #756648}
 #view-recruitment .ik-r54-recruit-group:nth-child(3) .ik-r54-recruit-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 #view-recruitment .ik-r54-recruit-group:nth-child(3) .ik-r54-recruit-row:first-child{border-right:1px solid #756648}
}
@media(max-width:690px){
 #view-recruitment .ik-r54-recruit-groups{grid-template-columns:minmax(0,1fr)}
 #view-recruitment .ik-r54-recruit-group,
 #view-recruitment .ik-r54-recruit-group:nth-child(2){border-right:0;border-bottom:1px solid #756648}
 #view-recruitment .ik-r54-recruit-group:nth-child(3){grid-column:auto;border:0}
 #view-recruitment .ik-r54-recruit-group>header{min-height:unset;padding:12px 15px}
 #view-recruitment .ik-r54-recruit-group:nth-child(3) .ik-r54-recruit-rows{display:flex}
 #view-recruitment .ik-r54-recruit-group:nth-child(3) .ik-r54-recruit-row:first-child{border-right:0}
 #view-recruitment .ik-r54-recruit-row{min-height:102px;padding:10px 13px;grid-template-columns:minmax(0,1fr) minmax(150px,40%)}
}
@media(max-width:365px){
 #view-recruitment .ik-r54-recruit-row{
  grid-template-columns:minmax(0,1fr);grid-template-areas:'identity' 'entry' 'cost';
 }
 #view-recruitment .ik-r54-unit-entry{max-width:100%;grid-template-columns:66px minmax(0,1fr)}
}


/* R56: anulăm exclusiv reproiectarea Privirii Satului din R55.
   Regulile panoramice au fost retrase din acest fișier; CSS-ul R54/R47/R45
   este din nou autoritatea pentru structura, panourile și controalele satului. */


/* ---- GAME : r57.css ---- */
/* HF18-R57 · Compact, shared 3-column recruitment with live per-unit counts.
 * Presentation only: budget remains the shared R39 calculator and atomic R54 API. */
#view-recruitment .ik-recruitment-page{gap:9px}
#view-recruitment .ik-recruitment-heading{margin-bottom:0}
#view-recruitment .ik-r54-recruit-group>header{min-height:62px;padding:9px 12px;gap:2px}
#view-recruitment .ik-r54-recruit-group h2{font-size:clamp(18px,1.25vw,23px)}
#view-recruitment .ik-r54-recruit-group header small{font-size:11px}
#view-recruitment .ik-r54-recruit-row{
 min-height:0;padding:8px clamp(7px,.65vw,12px);column-gap:6px;row-gap:5px;
 grid-template-columns:minmax(0,1fr) minmax(125px,36%);
 grid-template-areas:'identity entry' 'metrics metrics' 'cost cost';
 align-content:start;align-items:center;
}
#view-recruitment .ik-r54-unit-identity{grid-area:identity;gap:0;align-self:center}
#view-recruitment .ik-r54-unit-identity>small{font-size:10px;padding-left:2px;line-height:1.1}
#view-recruitment .ik-r54-unit-trigger{font-size:clamp(12px,.9vw,14px);min-height:32px;gap:5px;padding:1px!important;line-height:1.15}
#view-recruitment .ik-r54-unit-trigger img{width:30px;height:30px;flex-basis:30px}
#view-recruitment .ik-r54-unit-entry{
 grid-area:entry;align-self:center;min-width:0;padding:0;
 display:grid;grid-template-columns:minmax(0,1fr) minmax(66px,57%);grid-template-rows:auto;gap:4px;
}
#view-recruitment .ik-r54-unit-entry label{grid-column:1;grid-row:1;font-size:10px;overflow-wrap:anywhere}
#view-recruitment .ik-r54-unit-entry input{
 grid-column:2;grid-row:1;min-height:32px;height:32px;padding:4px 6px;font-size:14px;
}
#view-recruitment .ik-r54-unit-entry input:disabled{opacity:.48;cursor:not-allowed;background:var(--ik-theme-surface-alt)}
#view-recruitment .ik-r57-unit-metrics{
 grid-area:metrics;display:flex;flex-wrap:wrap;justify-content:space-between;gap:3px 10px;
 border:1px solid #806c4a67;border-radius:4px;background:color-mix(in srgb, var(--ik-theme-deep) 72.2%, transparent);padding:5px 8px;
 font-size:clamp(11px,.78vw,12px);line-height:1.2;color:var(--ik-theme-ink);font-variant-numeric:tabular-nums;
}
#view-recruitment .ik-r57-unit-metrics span{min-width:0;white-space:nowrap}
#view-recruitment .ik-r57-unit-metrics strong{color:#f1d49b;font-size:1.06em}
#view-recruitment .ik-r57-unit-metrics .ik-r57-zero strong{color:#b9b4a8}
#view-recruitment .ik-r54-unit-cost{grid-area:cost;line-height:1.2;font-size:11px;color:#ccbaa0}
#view-recruitment .ik-r54-unit-cost .ik-r39-selected-cost:not([hidden]){
 display:block;margin-top:4px;color:#e6c78e;font-size:10px;line-height:1.2;
}
#view-recruitment .ik-r54-unit-cost .ik-r39-selected-cost[hidden]{display:none!important}
#view-recruitment .ik-r54-recruit-row.ik-r54-unavailable{opacity:.78}
#view-recruitment .ik-r54-recruit-budget{padding-top:8px}
#view-recruitment .ik-r54-recruit-budget>h2{font-size:19px;margin:0 10px 4px 13px}
#view-recruitment .ik-r39-budget-grid{padding:10px 13px;gap:6px}
#view-recruitment .ik-r39-general-footer{padding:0 13px 10px}
#view-recruitment .ik-r54-recruit-queues{padding:10px 13px}
@media(max-width:1110px){
 #view-recruitment .ik-r54-recruit-row{grid-template-columns:minmax(0,1fr) minmax(135px,36%)}
}
@media(max-width:690px){
 #view-recruitment .ik-r54-recruit-group>header{min-height:0;padding:10px 12px}
 #view-recruitment .ik-r54-recruit-row{min-height:0;padding:8px 12px;grid-template-columns:minmax(0,1fr) minmax(135px,38%)}
}
@media(max-width:365px){
 #view-recruitment .ik-r54-recruit-row{grid-template-columns:minmax(0,1fr) minmax(112px,43%);grid-template-areas:'identity entry' 'metrics metrics' 'cost cost'}
 #view-recruitment .ik-r54-unit-entry{grid-template-columns:1fr;grid-template-rows:1fr auto}
 #view-recruitment .ik-r54-unit-entry label{grid-column:1;grid-row:1}
 #view-recruitment .ik-r54-unit-entry input{grid-column:1;grid-row:2;width:100%}
}


/* ---- GAME : map-quick-r59.css ---- */
/* R70-R61 — responsive, centred Village View and radial Main Map actions. */
:scope{--ik-village-max-w:1355px;--ik-village-max-h:1161px;}
@media (min-width:1160px){
 body.ik-cinematic #view-village:not(.ik-r40-frozen-village) .ik-r36-village-layout,
 #view-village:not(.ik-r40-frozen-village) .ik-r36-village-layout{
  display:grid!important;grid-template-columns:minmax(220px,1fr) minmax(0,var(--ik-village-max-w)) minmax(220px,1fr)!important;
  gap:clamp(8px,1vw,16px)!important;align-items:start!important;width:100%!important;height:auto!important;
 }
 body.ik-cinematic #view-village:not(.ik-r40-frozen-village) .ik-r36-village-layout>.village-stage-main,
 #view-village:not(.ik-r40-frozen-village) .ik-r36-village-layout>.village-stage-main{
  grid-column:2!important;grid-row:1!important;justify-self:center!important;align-self:start!important;
  box-sizing:border-box!important;display:flex!important;justify-content:center!important;align-items:flex-start!important;
  overflow:visible!important;width:100%!important;min-width:0!important;max-width:var(--ik-village-max-w)!important;
  height:auto!important;min-height:0!important;max-height:none!important;
 }
 #view-village:not(.ik-r40-frozen-village) .ik-village-side-left{grid-column:1!important;grid-row:1!important;}
 #view-village:not(.ik-r40-frozen-village) .ik-village-side-right{grid-column:3!important;grid-row:1!important;}
}
@media(max-width:1159px){
 body.ik-cinematic #view-village:not(.ik-r40-frozen-village) .ik-r36-village-layout,
 #view-village:not(.ik-r40-frozen-village) .ik-r36-village-layout{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;
  width:100%!important;height:auto!important;
 }
 body.ik-cinematic #view-village:not(.ik-r40-frozen-village) .ik-r36-village-layout>.village-stage-main,
 #view-village:not(.ik-r40-frozen-village) .ik-r36-village-layout>.village-stage-main{
  grid-column:1!important;grid-row:1!important;width:100%!important;min-width:0!important;max-width:100%!important;
  height:auto!important;min-height:0!important;max-height:none!important;
  display:flex!important;justify-content:center!important;align-items:flex-start!important;
  overflow:visible!important;box-sizing:border-box!important;
 }
 #view-village:not(.ik-r40-frozen-village) .ik-village-side-left{grid-column:1!important;grid-row:2!important;}
 #view-village:not(.ik-r40-frozen-village) .ik-village-side-right{grid-column:1!important;grid-row:3!important;}
}
#view-village:not(.ik-r40-frozen-village) .village-stage-main .scenewrap,
body.ik-cinematic #view-village:not(.ik-r40-frozen-village) .village-stage-main .scenewrap{
 box-sizing:border-box!important;display:block!important;position:relative!important;flex:none!important;
 width:min(100%,var(--ik-village-max-w))!important;max-width:var(--ik-village-max-w)!important;min-width:0!important;
 height:min(var(--ik-village-max-h),calc(100dvh - 235px))!important;max-height:var(--ik-village-max-h)!important;
 min-height:clamp(360px,58dvh,820px)!important;margin-left:auto!important;margin-right:auto!important;overflow:hidden!important;
}
#view-village:not(.ik-r40-frozen-village) #village-canvas,
body.ik-cinematic #view-village:not(.ik-r40-frozen-village) #village-canvas{
 display:block!important;box-sizing:border-box!important;width:100%!important;height:100%!important;
 min-width:0!important;max-width:none!important;min-height:0!important;max-height:none!important;
}
@media(max-width:900px){
 #view-village:not(.ik-r40-frozen-village) .village-stage-main .scenewrap{height:min(var(--ik-village-max-h),calc(100dvh - 210px))!important;min-height:340px!important;}
}
.ik-map-radial[hidden]{display:none!important}
.ik-map-radial{position:fixed;left:0;top:0;width:1px;height:1px;z-index:1210;pointer-events:none;overflow:visible;isolation:isolate;}
.ik-map-radial-action{
 position:absolute;left:0;top:0;transform:translate(calc(-50% + var(--dx,0px)),calc(-50% + var(--dy,0px)));
 display:grid;place-items:center;box-sizing:border-box;
 width:30px;height:30px;padding:0;border:1px solid #e1b979;border-radius:50%;
 background:linear-gradient(145deg,var(--ik-theme-surface-alt),var(--ik-theme-deep));box-shadow:0 2px 7px #000d,0 0 0 2px var(--ik-theme-shadow);
 color:#ffdd9d;font:700 16px/1 system-ui, sans-serif;cursor:pointer;pointer-events:auto;
}
.ik-map-radial-action.is-center{width:34px;height:34px;border-color:#ffe0a2;color:#fff0c9;background:linear-gradient(145deg,#866139,#302720);}
.ik-map-radial-action:hover,.ik-map-radial-action:focus-visible{background:#a16e36;color:white;border-color:white;outline:2px solid #fff6d2;outline-offset:2px;}
.ik-map-quick-backdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;box-sizing:border-box;
 z-index:1300;background:#020707bd;padding:18px;overflow:auto;}
.ik-map-quick-dialog{width:min(420px,96vw);max-height:min(720px,91vh);overflow:auto;box-sizing:border-box;
 border:1px solid #b69a70;border-radius:12px;padding:18px;background:var(--ik-theme-deep);color:#e9dbc0;
 box-shadow:0 18px 75px #000d;display:flex;flex-direction:column;gap:10px;font:13px/1.45 system-ui, sans-serif;}
.ik-map-quick-heading{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:3px 8px;border-bottom:1px solid #655843;padding-bottom:10px;}
.ik-map-quick-heading strong{font-size:16px;grid-column:1;grid-row:1;}.ik-map-quick-heading small{color:#bdbbaa;grid-column:1;grid-row:2;}
.ik-map-quick-close{grid-column:2;grid-row:1/3;font-size:24px!important;min-height:30px!important;padding:0!important;}
.ik-map-quick-field{display:flex;flex-direction:column;gap:4px;font-size:12px!important;color:#d0ba9b!important;margin:0!important;}
.ik-map-quick-field input,.ik-map-quick-field select{box-sizing:border-box;width:100%!important;min-height:32px;border:1px solid #696854;border-radius:5px;background:#0e1b1b;color:#fff0d1;padding:6px 8px!important;margin:0!important;font:13px system-ui;}
.ik-map-quick-units{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:200px;overflow:auto;}
.ik-map-quick-note{color:var(--ik-theme-ink)!important;font-size:12px!important;border:1px solid var(--ik-theme-border-strong);border-radius:6px;background:var(--ik-theme-surface);margin:0!important;padding:9px;}
.ik-map-quick-note.is-error{color:#ffc1b5!important;border-color:#945247;background:#35221d;}
.ik-map-quick-submit{margin:0!important;padding:9px!important;border-radius:6px!important;min-height:36px;cursor:pointer;
 color:#251d14!important;background:#d2b17a!important;border:1px solid #e1c48e!important;font-weight:700;}
.ik-map-quick-submit[hidden]{display:none!important;}
.ik-map-quick-submit:disabled{opacity:.6;cursor:wait;}


/* ---- GAME : bbcode-r71r27.css ---- */
/* R71-R27: BBCode buttons remain compact and scoped to actual text editors. */
.ik-bb-toolbar{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:8px 0 5px;max-width:100%}
.ik-bb-toolbar button{font:inherit;font-size:12px;font-weight:600;padding:5px 9px;border:1px solid var(--border-color,#7e887e);border-radius:5px;background:color-mix(in srgb, var(--ik-theme-elevated) 9%, transparent);color:inherit;cursor:pointer}
.ik-bb-toolbar button:hover,.ik-bb-toolbar button[aria-pressed=true]{background:color-mix(in srgb, var(--ik-theme-selected) 25%, transparent)}
.ik-bb-preview{border:1px solid var(--border-color,#7e887e);border-radius:6px;margin:6px 0 10px;padding:10px;max-height:280px;overflow:auto;overflow-wrap:anywhere;white-space:pre-wrap}
.ik-bb-image{display:block;max-width:min(100%,560px);max-height:360px;width:auto;height:auto;object-fit:contain;margin:6px 0}
.ik-bb-code{white-space:pre-wrap;overflow-wrap:anywhere;background:rgba(120,120,120,.13);padding:1px 4px;border-radius:3px}
.ik-bb-quote{border-left:3px solid var(--ik-theme-border-strong);padding:7px 11px;margin:8px 0;background:color-mix(in srgb, var(--ik-theme-selected) 10%, transparent)}
.ik-dialogue-text,.ik-ally-post .ik-bb-content,.ik-ally-description{white-space:pre-wrap;overflow-wrap:anywhere}
.ik-dialogue-text a,.ik-ally-post .ik-bb-content a,.ik-ally-description a{overflow-wrap:anywhere}

.ik-bb-color-red{color:#de4848}.ik-bb-color-blue{color:#668cdb}.ik-bb-color-green{color:var(--ik-theme-muted)}.ik-bb-color-gold{color:#cc9b32}.ik-bb-color-orange{color:#c87c35}

/* R71-R29: native, unrestricted text color selection; compact BBCode editor. */
.ik-bb-color-tool{display:inline-flex;align-items:center;gap:3px;flex:none}
.ik-bb-toolbar .ik-bb-color-picker{appearance:auto;box-sizing:border-box;width:29px;min-width:29px;height:29px;min-height:29px;padding:2px!important;border:1px solid #8e7c59;border-radius:5px;background:transparent;cursor:pointer}
.ik-bb-toolbar .ik-bb-color-picker::-webkit-color-swatch-wrapper{padding:1px}
.ik-bb-toolbar .ik-bb-color-picker::-webkit-color-swatch{border:0;border-radius:2px}
.ik-bb-toolbar .ik-bb-color-picker:focus-visible{outline:2px solid #d9ac69;outline-offset:2px}
@media(pointer:coarse){.ik-bb-toolbar .ik-bb-color-picker{width:38px;min-width:38px;height:38px;min-height:38px}}


/* ---- GAME : r70r30-map-hover-regen.css ---- */
/* R70-R30 — minimap natural tint, dense hover tables, local sector controls */
.ik-regen-distribution{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:12px 0 7px}
.ik-regen-distribution label{display:flex;flex-direction:column;gap:4px;font-weight:650}
.ik-regen-distribution input{width:100%;box-sizing:border-box}
.ik-regen-explainer{font-size:12px;line-height:1.5;margin:4px 0 6px;opacity:.85}
#ik-map-regen-total{display:block;margin:6px 0 10px;font-variant-numeric:tabular-nums;font-weight:700}
/* R70-R32: vertically stacked horizontal icon matrices, responsive to counts. */
.ik-map-tooltip{width:max-content;max-width:calc(100vw - 16px);max-height:calc(100vh - 18px);overflow:auto;overscroll-behavior:contain;box-sizing:border-box;padding:9px 12px;font-size:11px;line-height:1.3}
.ik-map-tooltip .tip-row{padding:2px 0;gap:10px}
.ik-map-tooltip .tip-coords{margin-bottom:3px}
.ik-hover-stack{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-top:9px;max-width:100%}
.ik-hover-data-section,.ik-hover-arrival{min-width:0;max-width:100%}
.ik-map-tooltip h4{font-size:11px;font-weight:700;color:#f1cea0;margin:0 0 5px;border-bottom:1px solid color-mix(in srgb, var(--ik-theme-border-strong) 50.2%, transparent);padding-bottom:4px;white-space:nowrap}
.ik-hover-table-scroll{width:max-content;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}
.ik-hover-table{border-collapse:collapse;font-size:10.5px;font-variant-numeric:tabular-nums;table-layout:auto}
.ik-hover-table tr{border-bottom:1px solid #a5b2ac20}
.ik-hover-table th,.ik-hover-table td{padding:2px 4px;line-height:1.15;white-space:nowrap}
.ik-hover-matrix{width:max-content}
.ik-hover-matrix thead th{min-width:56px;text-align:center;vertical-align:middle}
.ik-hover-matrix tbody td{min-width:5ch;text-align:center;font-weight:750;color:#fff0cf;overflow:visible}
.ik-hover-icon{display:block;width:56px;height:56px;object-fit:contain;object-position:center;margin-inline:auto;filter:drop-shadow(0 1px 1px #0008)}
.ik-hover-icon.ik-hover-zero{opacity:.48}
/* R70-R34: travel uses only two aligned rows: unit icon and travel duration. */
.ik-hover-arrival-matrix thead th{min-width:64px;text-align:center;vertical-align:middle;border-bottom:1px solid #a9b0a84d}
.ik-hover-arrival-matrix tbody td{min-width:64px;padding:4px 5px;text-align:center;white-space:nowrap;font-weight:700;font-variant-numeric:tabular-nums;color:#fff0cf}
.ik-hover-arrival-matrix tbody .ik-hover-travel-duration{font-size:11px}
.ik-hover-unavailable{opacity:.8;margin:3px 0}
@media(max-width:620px){.ik-map-tooltip{max-width:calc(100vw - 12px)}.ik-hover-stack{gap:8px}.ik-hover-table{font-size:10px}.ik-hover-icon{width:56px;height:56px}.ik-hover-matrix thead th{min-width:56px}}

/* R70-R42: Mini Map always uses fixed custom terrain colors, day and night. */
.ik-village-night #mini-map-canvas{background-color:#376932}

/* R70-R35/R36: Map day/night control retained; hover art reverted to native R70-R34. */
#map-day-toggle{flex:0 0 auto;white-space:nowrap;min-width:90px;border:1px solid #b28d58;border-radius:5px;background:var(--ik-theme-surface-alt);color:#f7dba5;padding:6px 10px;font-size:12px;font-weight:700}
#map-day-toggle[aria-pressed="true"]{background:var(--ik-theme-surface);color:#f4d39c;border-color:#c0a366}
#map-day-toggle:hover{background:var(--ik-theme-elevated)}
/* Canvas pixels are painted by JS, background provides only the proper fallback. */
.ik-village-day #mini-map-canvas{background-color:#376932}
.ik-village-night #mini-map-canvas{background-color:#376932}

/* R70-R37 — Mini Map has EXACTLY one square bitmap with no object-fit gutters.
   Override alpha03.css (#mini-map-canvas max-height:32dvh + object-fit:contain),
   which letterboxed a wide CSS box and exposed two dark-green side stripes. */
#view-world .ik-minimap-stage{display:block;min-width:0;width:100%;height:auto;padding:0;margin:0;overflow:hidden;background:transparent;}
#view-world #mini-map-canvas{
 display:block;box-sizing:border-box;width:100%;height:auto;aspect-ratio:1 / 1;
 max-width:100%;max-height:none;object-fit:fill;margin:0;
}
/* These two colors are fallbacks only; JS paints EVERY square of the terrain. */
#view-world.ik-village-day #mini-map-canvas,
.ik-village-day #view-world #mini-map-canvas{background-color:#376932;}
#view-world.ik-village-night #mini-map-canvas,
.ik-village-night #view-world #mini-map-canvas{background-color:#376932;}

/* R70-R42: Canvas fallback is fixed #376932; nature is painted #325A2D in JS. */
.ik-village-night #view-world .ik-minimap-stage,#view-world .ik-minimap-stage{background:transparent;}
.ik-village-night #view-world #mini-map-canvas{background-color:rgb(55, 105, 50);}


/* ---- GAME : r70r12-map-stages.css ---- */
/* Iron Kingdoms R70-R12: native-scale 53 × 38 village art reference in Main Map. */
.ik-map-stage-reference{margin:6px 9px;border:1px solid #5b6470;border-radius:7px;background:rgba(14,24,30,.92);color:#e9ecdf;font-size:12px;}
.ik-map-stage-reference>summary{cursor:pointer;padding:6px 10px;min-height:28px;font-weight:650;list-style:none;}
.ik-map-stage-reference>summary::-webkit-details-marker{display:none;}
.ik-map-stage-reference-chevron{float:right;margin-left:6px;}
.ik-map-stage-reference[open] .ik-map-stage-reference-chevron{transform:rotate(180deg);}
.ik-map-stage-reference-grid{display:grid;grid-template-columns:repeat(6,minmax(75px,1fr));gap:5px;padding:6px 8px;}
.ik-map-stage-reference-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:5px 2px;border:1px solid rgba(145,168,133,.38);border-radius:6px;background:#426d36;min-width:0;}
.ik-map-stage-reference-item img{display:block;width:53px;height:38px;object-fit:contain;image-rendering:auto;max-width:unset;flex:none;}
.ik-map-stage-reference-item span{text-align:center;font-size:11px;line-height:1.3;color:#fff;white-space:nowrap;}
.ik-map-stage-reference-item small{display:block;color:#e7e4b5;font-size:10px;}
.ik-map-stage-reference>p{padding:0 10px 7px;margin:0;color:#d5d8cf;font-size:11px;}
@media(max-width:680px){.ik-map-stage-reference-grid{grid-template-columns:repeat(3,minmax(75px,1fr));}}

.ik-map-stage-reference-canvas{display:block;box-sizing:content-box;width:26px;height:26px;border:1px solid #425333;border-radius:3px;image-rendering:auto;flex:none;}


/* ---- GAME : map-military.css ---- */
/* Iron Kingdoms HF18-R20 · military map tools (no change to base tile graphics). */
.ik-map-military-bar{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;padding:10px 13px;background:linear-gradient(180deg,var(--ik-theme-surface),#141e1e);color:#ead8b3;border-block:1px solid #695035;font:600 12px system-ui,sans-serif}
.ik-map-military-bar strong{color:#f0d29d;letter-spacing:.025em}
.ik-map-military-controls{display:flex;gap:8px 15px;flex-wrap:wrap;align-items:center}
.ik-map-military-controls label{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;cursor:pointer;color:#e3dac6;font-size:11px}
.ik-map-military-controls input{accent-color:#d0a263;width:15px;height:15px;margin:0}
.ik-map-military-bar output{color:#d7c7a6;font-weight:500;margin-left:auto;font-variant-numeric:tabular-nums}
.ik-map-military-heading{margin:14px 0 7px;font-size:13px;letter-spacing:.015em;color:#efca89}
.ik-map-military-tags{display:flex;flex-wrap:wrap;gap:6px;margin:7px 0}
.ik-map-military-tag{border:1px solid #67513c;border-radius:6px;background:var(--ik-theme-surface);color:#e3d3b4;padding:5px 7px;font-size:11px}
.ik-map-military-tag.attack{border-color:#ab5a53;color:#ffc3b4}
.ik-map-military-tag.support{border-color:#477f88;color:#c2f0f1}
.ik-map-military-tag.return{border-color:#7b719b;color:#dbd0fb}
.ik-map-village-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}
.ik-map-village-actions button{min-width:0;white-space:normal;line-height:1.25;border:1px solid #816340;border-radius:6px;background:linear-gradient(180deg,#3e3a2d,var(--ik-theme-surface));color:#f2d7a7;padding:9px 6px;cursor:pointer;font-size:12px}
.ik-map-village-actions button:hover,.ik-map-village-actions button:focus-visible{border-color:#dbb36d;background:#4c4030}
.ik-map-village-actions button:disabled{opacity:.47;cursor:not-allowed}
.ik-map-village-actions button.ik-map-military-attack{border-color:#93564e;color:#ffd0c5}
.ik-map-village-actions button.ik-map-military-support{border-color:#4b8385;color:#cae9e9}
.ik-map-own-select{display:grid;gap:4px;margin-top:11px;color:#d6c6aa;font-size:11px}
.ik-map-own-select select{min-width:0;max-width:100%;background:#182425;border:1px solid #81623f;border-radius:6px;color:#f0d9ab;padding:8px}
@media(max-width:700px){.ik-map-military-bar output{width:100%;margin-left:0}.ik-map-military-bar{padding:9px}.ik-map-village-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* ---- GAME : map-editor.css ---- */
/* Iron Kingdoms MAP-V2: admin-only in-game 1x1 brush */
#map-village-points-panel[hidden]{display:none}
.ik-map-test-points{border-color:#c29b59!important}
.ik-map-test-points label{font:12px system-ui,sans-serif;color:#f4d9ad;display:block;margin:8px 0 5px}
.ik-map-test-score-entry{display:flex;align-items:center;gap:7px}
.ik-map-test-score-entry input{width:100%;min-width:0;padding:8px;border:1px solid #927a50;border-radius:5px;background:var(--ik-theme-deep);color:#f5e8d1}
.ik-map-test-score-entry button{flex:none}
.ik-map-test-stage-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:7px 0 10px}
.ik-map-test-stage-buttons button{padding:7px 2px;font-size:11px;border-radius:5px;border:1px solid #876e50;background:var(--ik-theme-surface-alt);color:#f4e4bf;cursor:pointer}
.ik-map-test-stage-buttons button:hover{background:var(--ik-theme-elevated);border-color:#dbc08a}
#map-test-points-reset{width:100%;padding:8px;border:1px solid #8d7355;border-radius:5px;background:var(--ik-theme-surface-alt);color:#f4e2c7;cursor:pointer}
#map-test-points-status{min-height:22px}
.ik-map-editor{border:1px solid #b0945e!important;background:linear-gradient(145deg,var(--ik-theme-surface),#18232a)!important}
.ik-map-editor label{display:block;color:#eed4aa;font:11px/1.45 system-ui,sans-serif;margin:9px 0}
.ik-map-editor input,.ik-map-editor select,.ik-map-range-label select{background:var(--ik-theme-deep);color:#f1e2c7;border:1px solid #937958;border-radius:5px;padding:6px 8px;max-width:100%}
.ik-map-editor label>input,.ik-map-editor label>select{display:block;width:100%;margin-top:3px}
.ik-map-editor-palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:285px;overflow:auto;padding:4px;border-radius:6px;background:var(--ik-theme-deep)}
.ik-map-editor-tile{min-width:0;cursor:pointer;border:1px solid var(--ik-theme-border-soft);border-radius:5px;padding:3px;background:var(--ik-theme-surface-alt);color:#e8e5ce;font:10px system-ui,sans-serif;overflow:hidden}
.ik-map-editor-tile img{width:100%;height:55px;object-fit:cover;border-radius:3px;display:block}
.ik-map-editor-tile span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:3px}
.ik-map-editor-tile.is-selected{outline:2px solid #eab878;border-color:#f0c47e}
.ik-map-editor-actions{display:flex;gap:6px;margin-top:8px}.ik-map-editor-actions button{flex:1;min-width:0;font-size:11px}
.ik-map-range-label{font:11px system-ui,sans-serif;color:#dbc393;display:flex;align-items:center;gap:5px}
#map-canvas.is-map-editing{cursor:crosshair!important}
@media(max-width:900px){.ik-map-editor-palette{grid-template-columns:repeat(4,minmax(0,1fr))}}

#map-editor-panel[hidden]{display:none!important}

/* MAP V3: single-image multi-coordinate stamps */
.ik-map-editor #map-editor-premade-actions{flex-wrap:wrap}
.ik-map-editor #map-editor-premade-actions button{font-size:11px}
.ik-map-editor .ik-map-editor-tile img{height:68px;object-fit:contain}
#map-canvas.is-map-editing{touch-action:none}

/* MAP V18-HF6: destructive action stays readable and separated from single-shape actions. */
.ik-map-editor #map-editor-premade-clear{flex:1 1 100%;width:100%;padding:9px 8px;background:#553632;border:1px solid #a46d5b;color:#ffe5d7;font-weight:600}
.ik-map-editor #map-editor-premade-clear:hover{background:#6a3936;border-color:#d69d82}
.ik-map-editor #map-editor-premade-clear:disabled{opacity:.55;cursor:wait}

/* V18-HF9: location search is part of the same right-sidebar panel system. */
#view-world .map-right-sidebar .ik-map-jump-panel{border-color:#957045;background:linear-gradient(165deg,var(--ik-theme-surface) 0%,#111818 100%);box-shadow:0 0 0 1px rgba(191,149,89,.16),0 16px 30px rgba(0,0,0,.45)}
#view-world .ik-map-jump-panel .panel-heading{margin-bottom:13px;padding-bottom:9px;border-bottom:1px solid rgba(191,149,89,.26)}
#view-world .ik-map-jump-panel .panel-heading strong{color:#f2d39c;font:600 14px/1.3 Georgia,serif}
#view-world .ik-map-jump-panel .panel-heading span{color:#aa9781}
#view-world .ik-map-jump-panel .map-jump{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;font:600 11px system-ui,sans-serif}
#view-world .ik-map-jump-panel .map-jump label{min-width:0;display:flex;flex-direction:column;gap:5px;color:#d9bd8e;letter-spacing:.06em}
#view-world .ik-map-jump-panel .map-jump input{box-sizing:border-box;display:block;width:100%;max-width:none;min-width:0;text-align:center;font:600 15px/1.4 system-ui,sans-serif;color:#f7e5c4;background:#101c1c;border:1px solid #82704f;border-radius:6px;padding:9px 4px;outline-offset:2px}
#view-world .ik-map-jump-panel .map-jump input:focus{border-color:#e8bb79;box-shadow:0 0 0 2px rgba(236,181,98,.18)}
#view-world .ik-map-jump-panel .map-jump button{grid-column:1/-1;margin-top:3px;padding:11px 7px;border:1px solid #b99154;border-radius:6px;background:linear-gradient(160deg,#7a542f,#503924);color:#ffedca;font:600 12px system-ui;letter-spacing:.01em;white-space:normal;cursor:pointer}
#view-world .ik-map-jump-panel .map-jump button:hover{background:linear-gradient(160deg,#94663a,#62432a);border-color:#e1b877}


/* ---- GAME : lighting-editor.css ---- */
/* Iron Kingdoms MAP V15 — independent sprite-light calibration */
.ik-light-root[hidden]{display:none!important}body.ik-light-open{overflow:hidden}
.ik-light-root{position:fixed;inset:0;z-index:99990;font-family:system-ui,Arial,sans-serif;color:#e9dfcc}
.ik-light-backdrop{position:absolute;inset:0;background:rgba(4,9,12,.86);backdrop-filter:blur(7px)}
.ik-light-dialog{position:absolute;inset:3vh 3vw;display:flex;flex-direction:column;max-width:1550px;margin:auto;background:var(--ik-theme-deep);border:1px solid #9b7946;border-radius:16px;box-shadow:0 24px 80px #000b;overflow:hidden}
.ik-light-head{display:flex;justify-content:space-between;gap:15px;align-items:start;padding:16px 24px 12px;background:linear-gradient(120deg,var(--ik-theme-surface-alt),var(--ik-theme-surface));border-bottom:1px solid #6e5836}
.ik-light-head small{color:#d9b577;letter-spacing:2px;font-size:10px}.ik-light-head h2{font-size:22px;margin:4px 0}.ik-light-head p{font-size:12px;opacity:.75;margin:0}.ik-light-head button{background:#463831;border:1px solid #88704e;color:#fff;font-size:20px;min-width:36px;min-height:36px;border-radius:8px}
.ik-light-toolbar,.ik-light-foot{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:12px 20px;background:var(--ik-theme-surface);border-bottom:1px solid var(--ik-theme-border-soft)}
.ik-light-toolbar label,.ik-light-field-grid label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#d2c3a7}.ik-light-toolbar select,.ik-light-field-grid input,.ik-light-prop-heading select{background:#121c1d;color:#f3e7cd;border:1px solid var(--ik-theme-border-strong);border-radius:7px;padding:9px;min-width:100px;max-width:250px;min-height:35px}
.ik-light-root button{font:inherit;cursor:pointer;border:1px solid #69583b;color:#f6e6c4;background:var(--ik-theme-surface-alt);border-radius:8px;padding:9px 13px}.ik-light-root button:hover{border-color:#d4ac67;background:var(--ik-theme-elevated)}.ik-light-root button.ik-light-gold{background:#82572a;color:#fff3d4;border-color:#bf9851}
.ik-light-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,350px);gap:12px;padding:12px;overflow:hidden;flex:1;min-height:220px}
.ik-light-preview-panel{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;border:1px solid var(--ik-theme-border-soft);border-radius:10px;background:var(--ik-theme-deep)}.ik-light-preview-panel canvas{width:100%;height:100%;max-height:calc(86vh - 255px);min-height:220px;object-fit:contain;touch-action:none;cursor:crosshair}.ik-light-preview-footer{display:flex;justify-content:space-between;gap:12px;font-size:11px;padding:9px 14px;color:var(--ik-theme-ink);background:var(--ik-theme-surface);border-top:1px solid var(--ik-theme-border-soft)}
.ik-light-properties{overflow:auto;min-height:0;background:var(--ik-theme-surface);border:1px solid var(--ik-theme-border-soft);border-radius:10px;padding:15px}.ik-light-prop-heading{display:flex;flex-direction:column;gap:7px;font-size:13px}.ik-light-properties h3{font-size:13px;font-weight:700;color:#e6c88e;margin:17px 0 10px}.ik-light-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ik-light-field-grid label{min-width:0;font-size:11px}.ik-light-field-grid input{width:100%;box-sizing:border-box;min-width:0}.ik-light-check{display:flex;align-items:center;gap:10px;font-size:12px;margin:5px 0 11px}.ik-light-actions{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0 0}.ik-light-actions button{font-size:12px;flex:1}.ik-light-actions button.is-active{background:#9f713c;color:white}.ik-light-hint{font-size:11px;line-height:1.6;color:#abb8af;margin-top:16px}
.ik-light-foot{justify-content:space-between;border-top:1px solid var(--ik-theme-border-soft);border-bottom:0}.ik-light-foot span{font-size:12px;color:#c8d1c3}.ik-light-foot>div{display:flex;gap:8px;flex-wrap:wrap}
.ik-light-entry{background:linear-gradient(100deg,#574227,#8a6232)!important;border:1px solid #ddad69!important;color:#fff1d5!important;white-space:nowrap}
@media(max-width:880px){.ik-light-dialog{inset:1vh 1vw}.ik-light-body{grid-template-columns:1fr;overflow:auto}.ik-light-preview-panel canvas{max-height:40vh}.ik-light-properties{overflow:visible}.ik-light-head p{display:none}.ik-light-toolbar{gap:6px}.ik-light-foot{gap:8px}}



/* ---- GAME : r44.css ---- */
/* Iron Kingdoms 0.4.60 HF18-R44 — viewport-relative application layout.
 * Avoid using vh for each individual control: an 8K or ultrawide display
 * requires text legibility, capped spacing and flexible containers.
 */
:scope{--ik-r44-ui-scale:1;--ik-r44-panel-gap:clamp(6px,calc(6px * var(--ik-r44-ui-scale)),26px)}
html{overflow-x:clip}
body{min-width:0}
:is(.view,.panel,.map-panel,.ik-report-detail-card,.ik-recruitment-page,.building-detail){min-width:0;max-width:100%}
.view :is(table,pre,textarea){max-width:100%}
.view :is(.ik-command-table-scroll,.ik-r41-spy-table-scroll){max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.view :is(input,select,textarea){box-sizing:border-box;max-width:100%}
/* Large displays: grow the useful area and typography together without
 * creating unreadably long lines or scaling the world/sprites themselves. */
body:not(.ik-cinematic) main{
 width:100%;max-width:min(96vw,calc(1650px * var(--ik-r44-ui-scale)));
 padding:clamp(12px,1.35dvh,calc(22px * var(--ik-r44-ui-scale))) clamp(10px,1.45vw,calc(26px * var(--ik-r44-ui-scale)));
}
.topbar{gap:clamp(9px,1dvh,calc(20px * var(--ik-r44-ui-scale)));padding-inline:clamp(10px,1.5vw,calc(30px * var(--ik-r44-ui-scale)))}
.tabs{padding-inline:clamp(7px,1.3vw,calc(25px * var(--ik-r44-ui-scale)));gap:clamp(2px,.25vw,calc(5px * var(--ik-r44-ui-scale)))}
.nav{font-size:clamp(12px,calc(13px * var(--ik-r44-ui-scale)),52px);padding-inline:clamp(9px,.8vw,calc(16px * var(--ik-r44-ui-scale)))}
.ik-quickbar-inner>button{font-size:clamp(11px,calc(12px * var(--ik-r44-ui-scale)),48px)}
.ik-quickbar-inner>button img{width:clamp(24px,calc(26px * var(--ik-r44-ui-scale)),104px);height:clamp(24px,calc(26px * var(--ik-r44-ui-scale)),104px)}
:where(main>.view) :is(h1){font-size:clamp(27px,calc(37px * var(--ik-r44-ui-scale)),148px)}
main>.view :is(.panel,.map-panel,.ik-report-detail-card,.ik-recruitment-group,.building-detail){font-size:clamp(12px,calc(13px * var(--ik-r44-ui-scale)),52px)}
main>.view :is(button,input,select,textarea){min-width:0;max-width:100%}
@media (min-width:1800px) and (min-height:950px){
 main>.view :is(button,input,select,textarea):not(.ik-map-jump input){font-size:clamp(12px,calc(12px * var(--ik-r44-ui-scale)),48px)}
 main>.view :is(table td,table th){font-size:clamp(11px,calc(11px * var(--ik-r44-ui-scale)),44px)}
 main>.view :is(.panel,.map-panel,.ik-report-detail-card){padding:clamp(12px,1.35dvh,calc(22px * var(--ik-r44-ui-scale)))}
 .ik-recruitment-page{width:min(100%,calc(1510px * var(--ik-r44-ui-scale)))}
 .ik-building-scene #buildings-list,.ik-building-scene #view-buildings .page-title,
 .ik-building-scene .building-detail{width:min(96%,calc(1180px * var(--ik-r44-ui-scale)))}
 .ik-map-editor-tile img{height:clamp(55px,4.5dvh,calc(68px * var(--ik-r44-ui-scale)))}
 #view-reports .ik-r41-spy-building{width:clamp(51px,3dvh,calc(51px * var(--ik-r44-ui-scale)));min-width:clamp(51px,3dvh,calc(51px * var(--ik-r44-ui-scale)));max-width:none;height:auto}
 #view-reports .ik-r41-spy-building img{width:clamp(37px,2.5dvh,calc(37px * var(--ik-r44-ui-scale)));height:clamp(38px,2.5dvh,calc(38px * var(--ik-r44-ui-scale)))}
}
/* Responsive modules on unusually large logical viewports. Do not set
 * zoom/transform on canvas or hit-testing overlays: that would invalidate
 * the painstakingly calibrated sprite and village coordinates. */
@media (min-width:2400px) and (min-height:1300px){
 /* Chrome must grow along with its labels. The existing app ResizeObserver
  * measures its ACTUAL resulting height before sizing the village canvas. */
 .ik-global-chrome .topbar,body.ik-cinematic .topbar{
  height:auto;min-height:calc(94px * var(--ik-r44-ui-scale));
  padding-block:clamp(12px,calc(12px * var(--ik-r44-ui-scale)),48px);
 }
 .ik-global-chrome .tabs{height:auto;min-height:calc(58px * var(--ik-r44-ui-scale));}
 .ik-global-chrome .tabs .nav{padding-block:clamp(16px,calc(16px * var(--ik-r44-ui-scale)),64px)}
 .ik-global-chrome .ik-village-context{min-height:calc(49px * var(--ik-r44-ui-scale));
  gap:clamp(8px,.7vw,30px);padding-block:clamp(5px,calc(5px * var(--ik-r44-ui-scale)),20px)}
 .ik-global-chrome .ik-village-home{min-width:calc(170px * var(--ik-r44-ui-scale));
  padding:clamp(5px,.55dvh,20px) clamp(10px,.8vw,45px)}
 .ik-global-chrome .ik-village-home-info :is(strong,small),
 .ik-global-chrome .ik-context-meta,
 .ik-global-chrome .resource :is(strong,small){font-size:clamp(12px,calc(13px * var(--ik-r44-ui-scale)),52px)}
 .ik-global-chrome #world-switch{min-width:calc(130px * var(--ik-r44-ui-scale));max-width:calc(174px * var(--ik-r44-ui-scale))}
 .ik-global-chrome .ik-quickbar{padding-block:clamp(5px,calc(5px * var(--ik-r44-ui-scale)),20px)}
 .ik-messages-page{max-width:calc(1370px * var(--ik-r44-ui-scale))}
 .ik-messages-page>header{padding:clamp(18px,1.3dvh,calc(23px * var(--ik-r44-ui-scale)))}
 .ik-messages-page h1,.ik-messages-page h2{font-size:clamp(27px,calc(27px * var(--ik-r44-ui-scale)),108px)}
 .ik-message-row,.ik-messages-tools button,.ik-message-button{font-size:clamp(13px,calc(13px * var(--ik-r44-ui-scale)),52px)}
 .ik-message-form :is(input,textarea,button){font-size:clamp(14px,calc(14px * var(--ik-r44-ui-scale)),56px)}
 .ik-messages-layout{grid-template-columns:minmax(0,34%) minmax(0,1fr);gap:clamp(13px,1vw,52px)}
 #view-reports .ik-reports-layout{grid-template-columns:minmax(0,36%) minmax(0,1fr);gap:clamp(14px,1vw,56px)}
 #view-reports .ik-reports-list{max-height:calc(100dvh - var(--ik-chrome-height,0px) - 28px)}
 #view-reports .ik-r41-spy-building{height:auto;min-height:calc(65px * var(--ik-r44-ui-scale))}
 .ik-quickbar-inner{min-height:calc(39px * var(--ik-r44-ui-scale))}
 .ik-quickbar-inner>button{gap:clamp(7px,.7vw,28px);padding:clamp(4px,.45dvh,16px) clamp(10px,.75vw,40px)}
 .ik-recruitment-page{gap:clamp(20px,1.5dvh,80px)}
 #view-world .map-layout-v3{min-width:0}
 #view-world .map-layout-v3 :is(.map-sidebar,.map-right-sidebar){min-width:0}
}
/* Village geometry: ONLY the scene occupies the source image's 1672:941
 * aspect ratio. The otherwise-empty left/right letterbox areas are converted
 * into equal-width side panels. R36's original fixed 120–205px columns are
 * intentionally overridden. Side panels remain symmetric at all desktop sizes. */
@media (min-width:1091px){
 body.ik-cinematic #view-village .ik-r36-village-layout{
  --ik-r44-stage-width:calc((100dvh - var(--ik-chrome-height,148px)) * 1.7768331562);
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,var(--ik-r44-stage-width)) minmax(0,1fr)!important;
  column-gap:var(--ik-r44-panel-gap)!important;row-gap:0!important;
  align-items:stretch;width:100%;height:100%;min-width:0;
 }
 body.ik-cinematic #view-village .ik-r36-village-layout>.village-stage-main{grid-column:2;grid-row:1;min-width:0;min-height:0;height:100%;width:100%}
 body.ik-cinematic #view-village .ik-village-side-left{grid-column:1;grid-row:1}
 body.ik-cinematic #view-village .ik-village-side-right{grid-column:3;grid-row:1}
 body.ik-cinematic #view-village .ik-village-side{min-width:0;height:100%;overflow:hidden}
 body.ik-cinematic #view-village .ik-village-side-title{
  padding:clamp(8px,1.1dvh,calc(13px * var(--ik-r44-ui-scale))) clamp(6px,.65vw,22px);
  font-size:clamp(10px,calc(11px * var(--ik-r44-ui-scale)),44px);
 }
 body.ik-cinematic #view-village .ik-village-side-content{
  min-width:0;min-height:0;padding:clamp(6px,.8dvh,calc(12px * var(--ik-r44-ui-scale)));
  overflow-x:auto;overflow-y:auto;
 }
 body.ik-cinematic #view-village .scenewrap{min-width:0;min-height:0;width:100%;height:100%}
 body.ik-cinematic #view-village #village-canvas{display:block;width:100%;height:100%}
}
/* On narrow screens show the full village without crushing both panels to
 * unreadable slivers. The two side panels flow below the panorama. */
@media (max-width:1090px){
 body.ik-cinematic main{height:auto!important;min-height:calc(100dvh - var(--ik-chrome-height,148px));overflow:visible}
 body.ik-cinematic main>.view#view-village{height:auto!important}
 body.ik-cinematic #view-village .ik-r36-village-layout{
  grid-template-columns:minmax(0,1fr)!important;height:auto!important;
  gap:clamp(8px,1dvh,16px)!important;
 }
 body.ik-cinematic #view-village .ik-r36-village-layout>.village-stage-main{
  grid-column:1;grid-row:1;width:100%;height:min(calc(100vw * 941 / 1672),70dvh);min-height:0;
 }
 body.ik-cinematic #view-village .ik-village-side-left{grid-column:1;grid-row:2;min-height:100px}
 body.ik-cinematic #view-village .ik-village-side-right{grid-column:1;grid-row:3;min-height:100px}
 body.ik-cinematic #view-village .ik-village-side-content{overflow-x:auto}
 body.ik-cinematic #view-village .scenewrap{min-height:0;height:100%;width:100%}
}
/* Tables and responsive column layouts must not overflow the viewport at
 * desktop browser zoom or narrow/mobile resolutions. */
@media(max-width:760px){
 body:not(.ik-cinematic) main{max-width:100%;padding-inline:clamp(8px,2.5vw,16px)}
 .building-grid,.admin-grid{grid-template-columns:minmax(0,1fr)}
 .ik-building-scene .building.compact-building{grid-template-columns:clamp(40px,13vw,64px) minmax(0,1fr)!important;min-width:0}
 .ik-building-scene .building.compact-building :is(.cb-actions,.cb-resources){grid-column:1/-1}
 .ik-building-scene #buildings-list,.ik-building-scene #view-buildings .page-title{width:100%}
 .ik-recruitment-page{width:100%}
 .ik-recruitment-group>header{flex-wrap:wrap}
 .ik-recruitment-group .ik-troop-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
 #view-reports .ik-reports-layout{grid-template-columns:minmax(0,1fr)}
 #view-reports .ik-reports-list{position:relative;top:auto;max-height:min(40dvh,460px)}
 .page-title,.panel .actions{flex-wrap:wrap}
}
@media(max-width:430px){
 .topbar{padding-inline:8px}
 main>.view :is(table td,table th){white-space:normal}
 .ik-map-editor-palette{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* R70-R11: same fluid quickbar sizing for native navigation anchors. */
.ik-quickbar-inner>:is(a[data-quick-building],a#ik-simulator-open){font-size:clamp(11px,calc(12px * var(--ik-r44-ui-scale)),48px)}
.ik-quickbar-inner>:is(a[data-quick-building],a#ik-simulator-open) img{width:clamp(24px,calc(26px * var(--ik-r44-ui-scale)),104px);height:clamp(24px,calc(26px * var(--ik-r44-ui-scale)),104px)}
.ik-quickbar-inner>:is(a[data-quick-building],a#ik-simulator-open){gap:clamp(7px,.7vw,28px);padding:clamp(4px,.45dvh,16px) clamp(10px,.75vw,40px)}

/* R70-R58 village override */
body.ik-cinematic #view-village .scenewrap{width:800px!important;height:600px!important;min-width:800px!important;min-height:600px!important;max-width:800px!important;max-height:600px!important;}
body.ik-cinematic #view-village #village-canvas{width:800px!important;height:600px!important;min-width:800px!important;min-height:600px!important;max-width:800px!important;max-height:600px!important;}


/* ---- GAME : map-perf-r70r20.css ---- */
/* R70-R20 · developer-only map profiling */
.ik-map-perf-panel{margin:10px 0;padding:10px;border:1px solid color-mix(in srgb, var(--ik-theme-border-strong) 35%, transparent);border-radius:8px;color:inherit;background:color-mix(in srgb, var(--ik-theme-deep) 7%, transparent)}
.ik-map-perf-panel summary{font-weight:650;cursor:pointer}
.ik-map-perf-stats{display:flex;flex-wrap:wrap;gap:6px 18px;margin:10px 0;font-size:.87rem;font-variant-numeric:tabular-nums}
.ik-map-perf-panel output{font-weight:750}
.ik-map-perf-panel small{display:block;opacity:.8;margin-bottom:8px}


/* ---- GAME : r45.css ---- */
/* Iron Kingdoms HF18-R45 — shared village-home button language.
   Skin only: do not override per-control width/height/layout/semantics. */
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village){
 border-color:#947e56!important;
 border-radius:4px!important;
 background:linear-gradient(110deg,var(--ik-theme-surface-alt),#1d292a)!important;
 color:#efdbb4!important;
 box-shadow:0 1px 8px #0004!important;
 transition:background-color .15s,border-color .15s,filter .15s!important;
 font-family:Georgia,serif;
 cursor:pointer;
}
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):is(:hover,:focus-visible):not(:disabled){
 background:var(--ik-theme-surface-alt)!important;border-color:#e4bf80!important;color:#ffe4b1!important;
}
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):focus-visible{outline:2px solid #f3cc86!important;outline-offset:2px!important;}
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):disabled{opacity:.45!important;cursor:not-allowed!important;filter:saturate(.55);}
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):is(.active,.primary,.is-active,.selected,[aria-pressed="true"],[aria-selected="true"],[aria-checked="true"]):not(:disabled){
 border-color:#d0a366!important;box-shadow:inset 0 0 0 1px #c7a2694d,0 1px 8px #0004!important;color:#ffe1a9!important;
 background:linear-gradient(110deg,#51452d,var(--ik-theme-surface-alt))!important;
}
/* Danger operations retain the same frame, but express their meaning in text. */
body button:is(.danger,[data-report-tool="archive"],[data-action="delete"],[data-action="remove"]):not(:disabled){color:#ffb8a9!important;}
@media(prefers-reduced-motion:reduce){body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village){transition:none!important;}}

/* R45: all village scene actions belong to the LEFT PANEL, never overlay the canvas. */
#view-village .ik-village-side-left .ik-r45-village-tools{display:flex;flex-direction:column;gap:clamp(9px,1.15dvh,16px);min-width:0;width:100%;}
#view-village .ik-village-side-left .ik-r45-village-tools h3{font:600 clamp(12px,.83vw,18px)/1.35 Georgia,serif;color:#e8c692;margin:0 0 3px;}
#view-village .ik-village-side-left .scene-controls{
 display:flex!important;position:static!important;inset:auto!important;transform:none!important;
 flex-direction:column;align-items:stretch;gap:9px;min-width:0;width:100%;z-index:auto;
}
#view-village .ik-village-side-left .scene-controls button{min-height:35px;white-space:normal;overflow-wrap:anywhere;padding:8px 10px;}
#view-village .ik-r45-zoom-row{display:grid;grid-template-columns:minmax(32px,1fr) minmax(40px,1.3fr) minmax(32px,1fr);align-items:center;gap:5px;}
#view-village #village-zoom-readout{display:block;text-align:center;font:600 clamp(11px,.77vw,16px) Georgia,serif;color:#f1d8a4;font-variant-numeric:tabular-nums;}
#view-village .ik-village-side-left #preview-open{
 position:static!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;
 transform:none!important;display:block;width:100%;max-width:none;text-align:center;white-space:normal;
 padding:10px 8px;margin:0;z-index:auto;line-height:1.35;
}
/* R45: loot and siege report information shares one consistent framed style. */
#view-reports .ik-r45-loot-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
#view-reports .ik-r45-loot-grid .ik-r45-capacity{border-color:#a78453;background:linear-gradient(135deg,var(--ik-theme-surface-alt),var(--ik-theme-deep));color:#f1d2a2;}
#view-reports .ik-report-damage>ul{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));padding:0;margin:8px 0;gap:10px;}
#view-reports .ik-report-damage>ul>li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:11px 13px;border:1px solid #746547;border-radius:6px;background:var(--ik-theme-surface);color:#e6d2b2;line-height:1.45;}
#view-reports .ik-r45-damage-label{font-weight:600;color:#e7cf9e;}
#view-reports .ik-r45-damage-value{display:flex;flex-direction:column;align-items:flex-end;gap:3px;white-space:nowrap;}
#view-reports .ik-r45-damage-value strong{color:#f0d49b;font-weight:700;}
#view-reports .ik-r45-damage-value small{color:var(--ik-theme-ink);font-size:11px;}
@media(max-width:1120px){#view-reports .ik-r45-loot-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){#view-reports .ik-r45-loot-grid{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));}#view-reports .ik-report-damage>ul>li{flex-wrap:wrap;}#view-reports .ik-r45-damage-value{align-items:flex-start;}}

/* Identical orange highlighted shortcut state for both corresponding screens. */
.ik-global-chrome :is(#ik-village-home,#ik-world-home).active,
.ik-global-chrome :is(#ik-village-home,#ik-world-home)[aria-current="page"]{
 background:linear-gradient(110deg,#51402b,var(--ik-theme-surface-alt))!important;
 border-color:#e5bc75!important;
 box-shadow:0 0 0 1px #cba96b4a,0 1px 8px #0004!important;
 color:#ffe1a9!important;
}


/* ---- GAME : r48.css ---- */
/* Iron Kingdoms 0.4.60 · HF18-R48 — ONE button design system, based on
   Trib -> Rezervări -> Toate / Proprii. Overrides legacy per-module skins.
   The functional .primary class is an ACTION, not a SELECTED tab. */
:scope{
 --ik-r48-btn-border:#947e56;
 --ik-r48-btn-text:#efdbb4;
 --ik-r48-btn-bg:linear-gradient(110deg,#353c30,#1d292a);
 --ik-r48-btn-hover:#3a4237;
 --ik-r48-btn-active-bg:linear-gradient(110deg,#51452d,#27352d);
 --ik-r48-btn-active-border:#d0a366;
}
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village){
 box-sizing:border-box!important;
 min-height:41px;
 padding:9px 12px!important;
 border:1px solid var(--ik-r48-btn-border)!important;
 border-radius:4px!important;
 background:var(--ik-r48-btn-bg)!important;
 color:var(--ik-r48-btn-text)!important;
 box-shadow:0 1px 8px #0004!important;
 font-family:Georgia,'Palatino Linotype',serif!important;
 font-size:clamp(13px,calc(14px * var(--ik-r44-ui-scale,1)),56px)!important;
 font-weight:600;
 line-height:1.2;
 vertical-align:middle;
 cursor:pointer;
 transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease!important;
}
/* Hover does not mean selected. Keep the orange fill for actual selection. */
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):hover:not(:disabled):not(.active):not(.is-active):not(.selected):not([aria-pressed="true"]):not([aria-selected="true"]):not([aria-checked="true"]){
 background:var(--ik-r48-btn-hover)!important;
 border-color:#c3a572!important;
 color:#ffe4b1!important;
}
/* .primary and submit buttons must NOT light up before being selected. */
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):is(.primary,[type="submit"]):not(:is(.active,.is-active,.selected,[aria-pressed="true"],[aria-selected="true"],[aria-checked="true"])):not(:disabled){
 background:var(--ik-r48-btn-bg)!important;
 border-color:var(--ik-r48-btn-border)!important;
 color:var(--ik-r48-btn-text)!important;
 box-shadow:0 1px 8px #0004!important;
}
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):is(.primary,[type="submit"]):not(:is(.active,.is-active,.selected,[aria-pressed="true"],[aria-selected="true"],[aria-checked="true"])):hover:not(:disabled){
 background:var(--ik-r48-btn-hover)!important;
 border-color:#c3a572!important;
 color:#ffe4b1!important;
}
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):is(.active,.is-active,.selected,[aria-pressed="true"],[aria-selected="true"],[aria-checked="true"]):not(:disabled),
body #ik-tribe-root .ik-ally-forum-section.active>button:not(:disabled){
 background:var(--ik-r48-btn-active-bg)!important;
 border-color:var(--ik-r48-btn-active-border)!important;
 color:#ffe1a9!important;
 box-shadow:inset 0 0 0 1px #c7a2694d,0 1px 8px #0004!important;
}
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):focus-visible{
 outline:2px solid #f3cc86!important;
 outline-offset:2px!important;
}
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):disabled{
 opacity:.45!important;cursor:not-allowed!important;filter:saturate(.55);
}
body button:is(.danger,[data-report-tool="archive"],[data-action="delete"],[data-action="remove"]):not(:disabled){color:#ffb8a9!important}
/* Keep specialized component dimensions/layout: icon-only buttons, ranking
   tabs (R47: 53px), scene tools, navbar, forum section tiles, and quickbar. */
#view-ranking .ik-rank-toolbar button{min-height:53px}
.ik-ally-forum-sections>button,.ik-ally-forum-section>button{min-height:74px;text-align:left;}
.ik-ally-forum-section>button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px}
#ik-tribe-root .ik-ally-forum-section.active>button{border-radius:4px!important}
/* Forum threads: layout is an explicit vertical stack. The back button can
   never overlap the first discussion panel, even with a long title or zoom. */
#ik-tribe-thread{
 display:flex;flex-direction:column;align-items:stretch;
 gap:14px;min-width:0;isolation:isolate;
}
#ik-tribe-thread>.ik-ally-thread-back{
 position:static!important;float:none!important;clear:both;
 flex:0 0 auto;align-self:flex-start;
 display:inline-flex;align-items:center;justify-content:center;
 margin:0!important;max-width:100%;white-space:normal;
}
#ik-tribe-thread>.ik-ally-panel{
 position:relative;clear:both;min-width:0;margin:0;
}
#ik-tribe-thread .ik-ally-posts{min-width:0;overflow-wrap:anywhere;}
@media(max-width:700px){
 #ik-tribe-root .ik-ally-reserve-search{align-items:flex-end}
}
@media(max-width:520px){
 body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village){min-height:40px;padding:9px 11px!important;max-width:100%;}
 #ik-tribe-thread>.ik-ally-thread-back{width:100%;}
}
@media(prefers-reduced-motion:reduce){body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village){transition:none!important}}


/* ---- GAME : r49.css ---- */
/* Iron Kingdoms 0.4.60 · HF18-R49 — responsive resource strip and reliable button text fit.
   Inactive and active buttons keep the same geometry. R48 supplies the colors. */
/* No player/world context box: resource strip takes all remaining horizontal
   space and ends at the RIGHT edge of the viewport, inside the usual padding. */
.ik-global-chrome .ik-village-context{box-sizing:border-box;min-width:0;max-width:100%;}
.ik-global-chrome .ik-village-context>.resources{
 margin-inline-start:auto!important;
 margin-inline-end:0!important;
 flex:0 1 auto!important;
 justify-content:flex-end!important;
 align-items:center;
 min-width:0;
 max-width:100%;
 gap:clamp(6px,.85vw,20px);
}
.ik-global-chrome .ik-village-context>.resources>.resource{flex:0 1 auto;min-width:0;max-width:100%;}
.ik-global-chrome .ik-village-context>.resources .resource>div{min-width:0;}
/* Never clip ordinary button labels outside their borders at browser zoom or
   in narrow table/grid cells. Icons keep their special dimensions. */
body button{min-width:0;max-width:100%;white-space:normal!important;overflow-wrap:anywhere;word-break:normal;text-overflow:clip;box-sizing:border-box!important;line-height:1.25;}
body :is(input[type="button"],input[type="submit"],input[type="reset"]){box-sizing:border-box!important;max-width:100%;text-overflow:ellipsis;}
/* The map's category grid used 54/59px for "Editează" after R48 raised the
   global button font and padding. Give the action its natural width. */
#view-world .ik-custom-group{grid-template-columns:minmax(0,1fr) minmax(84px,max-content) minmax(27px,max-content)!important;}
#view-world .ik-custom-group>button:not(.ik-custom-delete){
 width:100%;min-width:84px;max-width:none!important;
 padding-inline:8px!important;
 white-space:normal!important;
 overflow-wrap:normal;
}
#view-world .ik-custom-group>button.ik-custom-delete{width:100%;max-width:none!important;min-width:27px;padding-inline:2px!important;}
/* Preserve dedicated small icon controls; only their text must wrap if any. */
@media(max-width:950px){
 .ik-global-chrome .ik-village-context>.resources{
  order:10!important;flex:1 0 100%!important;
  width:100%;justify-content:flex-end!important;
  margin-inline-start:0!important;
 }
}
@media(max-width:650px){
 .ik-global-chrome .ik-village-context>.resources{
  grid-column:1/-1;justify-self:stretch;justify-content:flex-end!important;
  flex-wrap:wrap!important;gap:7px;
 }
 .ik-global-chrome .ik-village-context>.resources .resource{padding-inline:3px;}
}
@media(max-width:400px){
 .ik-global-chrome .ik-village-context>.resources{justify-content:space-between!important;}
 .ik-global-chrome .ik-village-context>.resources .resource{flex:0 1 calc(50% - 5px);}
 #view-world .ik-custom-group{grid-template-columns:minmax(0,1fr) minmax(84px,max-content) 27px!important;}
}


/* ---- GAME : r58.css ---- */
/* R58: three-stage artwork, compact and responsive. */
.ik-r58-unit-header{display:flex;align-items:center;gap:9px;min-width:0}
.ik-r58-unit-art{height:62px;width:62px;object-fit:contain;flex:none;cursor:pointer;filter:drop-shadow(0 2px 2px #0008)}
.ik-r58-unit-header>div{min-width:0;display:grid;gap:3px}
.ik-r58-unit-dialog-heading{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.ik-r58-unit-dialog-heading>img{width:clamp(110px,17vw,190px);height:clamp(110px,17vw,190px);object-fit:contain;flex:none}
.ik-r58-clickable-unit{cursor:pointer}
.ik-r58-clickable-unit:hover{filter:brightness(1.12)}
.ik-r58-research-levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
.ik-r58-research-levels label{display:grid;gap:5px}
.ik-r58-research-levels select{max-width:100%;min-width:0}
@media(max-width:600px){.ik-r58-unit-art{width:50px;height:50px}.ik-r58-unit-dialog-heading>img{width:100px;height:100px}}

.ik-r58-overview-unit{width:28px;height:28px;object-fit:contain;vertical-align:middle;margin-right:5px}

.ik-r58-overview-unit{width:28px;height:28px;object-fit:contain;vertical-align:middle;margin-right:5px}

/* R58-HF1 — dialog outside every view; never hidden behind the village context */
body>.ik-r54-unit-dialog{
 position:fixed!important;inset:auto auto auto 50%!important;top:50%!important;transform:translate(-50%,-50%)!important;
 z-index:2147483000!important;box-sizing:border-box;width:min(960px,calc(100vw - 24px))!important;
 max-height:calc(100dvh - 24px)!important;overflow-y:auto;overscroll-behavior:contain;
 padding:clamp(13px,2vw,24px)!important;isolation:isolate;
}
body>.ik-r54-unit-dialog[hidden]{display:none!important}
body>.ik-r54-unit-dialog>button{position:sticky;top:0;float:right;z-index:2}
body>.ik-r54-unit-dialog .ik-r53-unit-combat{margin-top:10px}
.ik-r58-hf1-battle-version{font:12px/1.45 Arial,sans-serif;color:#d5bd93;opacity:.94;margin:10px 0}
@media(max-width:600px){body>.ik-r54-unit-dialog{max-height:calc(100dvh - 12px)!important;width:calc(100vw - 12px)!important}}

/* R58-HF1 · battle stats visible immediately in two aligned columns */
.ik-r58-hf1-stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px}
.ik-r58-hf1-stat-column{min-width:0;border:1px solid #8e7653;border-radius:6px;overflow:hidden;background:var(--ik-theme-surface)}
.ik-r58-hf1-stat-column h3{margin:0;padding:11px;color:#f3d9a4;font:700 17px Georgia,serif;background:var(--ik-theme-surface-alt);border-bottom:1px solid #8e7653}
.ik-r58-hf1-stat-column table{border-collapse:collapse;width:100%;table-layout:fixed}
.ik-r58-hf1-stat-column tr:not(:last-child){border-bottom:1px solid #a18a6339}
.ik-r58-hf1-stat-column th{display:flex;align-items:center;gap:8px;font:12px/1.35 Arial,sans-serif;color:#e2d5b9;padding:9px 7px;text-align:left;overflow-wrap:anywhere}
.ik-r58-hf1-stat-column td{width:54px;text-align:right;font:700 15px Georgia,serif;color:#ffdb9c;padding:9px 9px 9px 0;white-space:nowrap}
.ik-r58-hf1-stat-column th .ik-r53-combat-icon{width:24px;height:24px;object-fit:contain;flex:none}
.ik-r58-hf1-special{color:#eab868;font-size:12px}
@media(max-width:610px){.ik-r58-hf1-stats-grid{grid-template-columns:1fr}.ik-r58-hf1-stat-column h3{font-size:15px}}


/* HF18-R58-HF2 — unit stage artwork in local/global military views. */
.ik-hf2-unit-icon{display:inline-block;vertical-align:middle;width:27px;height:27px;object-fit:contain;flex:none;margin-inline-end:4px;filter:drop-shadow(0 1px 1px #0005)}
.ik-rally-unit .ik-rally-unit-icon.ik-hf2-unit-icon{width:32px;height:32px;object-fit:contain;padding:1px;border:1px solid #8e764d66;border-radius:4px;background:var(--ik-theme-surface)}
.ik-command-units th,.ik-command-batch-unit-grid label{vertical-align:middle}
.ik-command-units th .ik-hf2-unit-icon,.ik-command-batch-unit-grid .ik-hf2-unit-icon{width:29px;height:29px}
.ik-general-unit-list span .ik-hf2-unit-icon{height:23px;width:23px;margin-right:3px}
.ik-army-table-wrap td:first-child .ik-hf2-unit-icon{height:30px;width:30px}
.ik-army-queue-line .ik-hf2-unit-icon,.ik-army-plan-row .ik-hf2-unit-icon{height:29px;width:29px}
.ik-hf2-composition{display:inline-flex;gap:3px;align-items:center;margin:1px 4px 1px 0;white-space:nowrap}
@media(max-width:480px){.ik-hf2-unit-icon{width:24px;height:24px}.ik-rally-unit .ik-rally-unit-icon.ik-hf2-unit-icon{width:28px;height:28px}}
.ik-hf2-select-unit{display:inline-flex;align-items:center;gap:5px;min-width:0}.ik-hf2-select-unit select{min-width:0;flex:1}


/* ---- GAME : r59.css ---- */
/* HF18-R59 · no opaque plates or outlines behind transparent WebP unit artwork. */
.ik-rally-unit .ik-rally-unit-icon.ik-hf2-unit-icon,
.ik-rally-unit-icon.ik-hf2-unit-icon,
.ik-r58-unit-art,.ik-r58-unit-dialog-heading>img,
.ik-r54-unit-trigger img,.ik-hf2-unit-icon,.ik-r58-overview-unit,
.ik-r40-unit-icon,img[data-ik-unit],.ik-simulator-unit-icon{
 background:transparent!important;border:0!important;border-radius:0!important;
 outline:none!important;box-shadow:none!important;padding:0!important;
}
.ik-r58-unit-dialog-heading:has(img[src*="/light/"])>img,
.ik-r58-unit-dialog-heading:has(img[src*="/heavy/"])>img,
.ik-r58-unit-dialog-heading:has(img[src*="/mounted_archer/"])>img{
 width:clamp(245px,34vw,340px)!important;height:clamp(192px,28vw,260px)!important;
 object-fit:contain;object-position:center;flex:0 1 auto;max-width:100%;
}
/* Future research stats remain under current stats on mobile. */
.ik-r58-hf1-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ik-r58-hf1-stat-column.ik-future-stat{border-color:#a7854e;background:var(--ik-theme-surface)}
.ik-future-stat h3{background:var(--ik-theme-elevated)!important}
@media(max-width:610px){.ik-r58-hf1-stats-grid{grid-template-columns:1fr}.ik-r58-unit-dialog-heading:has(img[src*="/light/"])>img,.ik-r58-unit-dialog-heading:has(img[src*="/heavy/"])>img,.ik-r58-unit-dialog-heading:has(img[src*="/mounted_archer/"])>img{width:min(100%,270px)!important;height:200px!important}}
.ik-simulator-dialog[hidden]{display:none!important}
.ik-simulator-dialog{position:fixed;inset:0;z-index:2147483010;background:#040806da;display:grid;place-items:center;padding:12px;box-sizing:border-box}
.ik-simulator-sheet{width:min(1080px,100%);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;background:var(--ik-theme-surface);border:2px solid #b18a55;border-radius:12px;box-shadow:0 24px 90px #000c;padding:clamp(12px,2vw,24px);box-sizing:border-box;color:#ead9bb;font-family:Arial,sans-serif}
.ik-simulator-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.ik-simulator-header h2{margin:0;color:#f1cf96;font:normal clamp(22px,3vw,30px) Georgia,serif}
.ik-simulator-header p{margin:5px 0 13px;color:#cdc2a8;font-size:13px}
.ik-simulator-sheet button{border:1px solid #977747;border-radius:6px;background:var(--ik-theme-surface-alt);color:#f6deb5;padding:8px 11px;cursor:pointer}
.ik-simulator-sheet button:hover,.ik-simulator-sheet button:focus-visible{background:var(--ik-theme-elevated)}
#ik-simulator-close{font-size:18px;min-width:40px}
.ik-simulator-presets{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.ik-simulator-options{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}
.ik-simulator-options label{display:grid;gap:5px;min-width:120px;font-size:12px;color:#e8d0a8}
.ik-simulator-options input,.ik-simulator-options select{box-sizing:border-box;max-width:100%;height:36px;padding:6px;background:var(--ik-theme-surface);border:1px solid #8e7653;color:#f1dfc7;border-radius:5px}
.ik-simulator-unit-scroll{overflow-x:auto;border:1px solid #6b684c;border-radius:8px}
.ik-simulator-units{width:100%;border-collapse:collapse;min-width:650px;font-variant-numeric:tabular-nums}
.ik-simulator-units th,.ik-simulator-units td{padding:6px 9px;border-bottom:1px solid color-mix(in srgb, var(--ik-theme-border-strong) 24.7%, transparent);text-align:center}
.ik-simulator-units thead{background:var(--ik-theme-surface-alt);color:#eccd9d;font-size:12px}
.ik-simulator-units tbody tr:nth-child(even){background:var(--ik-theme-surface-alt)}
.ik-simulator-units tbody th{width:210px;text-align:left;font-size:13px;font-weight:500}
.ik-simulator-units tbody th>span{display:inline-flex;gap:8px;align-items:center}
.ik-simulator-unit-icon{width:45px;height:35px;object-fit:contain;flex:none}
.ik-simulator-units input,.ik-simulator-units select{box-sizing:border-box;width:100%;max-width:108px;height:32px;padding:4px 6px;background:var(--ik-theme-deep);color:#f3dfc5;border:1px solid #94754e;border-radius:4px;font:14px Arial,sans-serif}
.ik-simulator-units select{max-width:80px}
.ik-simulator-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:15px 0;flex-wrap:wrap}
#ik-simulator-status{color:#d6ccaf;font-size:13px}
#ik-simulator-submit{background:#866038;color:white;font-weight:bold;font-size:15px;padding:11px 22px}
.ik-simulator-results{border:1px solid #a58b5a;border-radius:8px;padding:13px;background:var(--ik-theme-surface)}
.ik-simulator-results h3{margin:3px 0 12px;color:#ffdb9e;font:normal 21px Georgia,serif}
.ik-simulator-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:10px}
.ik-simulator-metrics>div{background:var(--ik-theme-surface-alt);border:1px solid #7b7654;border-radius:6px;padding:10px;display:grid;gap:6px}
.ik-simulator-metrics strong{font-size:19px;color:#f4d79c}
.ik-simulator-outcome{color:#f1d59b;font-weight:700}
.ik-simulator-losses{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}
.ik-simulator-losses h4{margin:0 0 6px}.ik-simulator-losses table{border-collapse:collapse;width:100%;font-size:12px}
.ik-simulator-losses td,.ik-simulator-losses th{padding:5px;border-bottom:1px solid #756f4d3b;text-align:right}.ik-simulator-losses td:first-child,.ik-simulator-losses th:first-child{text-align:left}
.ik-simulator-caveat{font-size:12px;line-height:1.5;color:#c9bfa3;margin:14px 0 0}
@media(max-width:670px){.ik-simulator-losses{grid-template-columns:1fr}.ik-simulator-sheet{max-height:calc(100dvh - 12px)}}

/* R70-R48: Simulator uses the same native quickbar anchor rules as all other items. */
/* R70-R47 · Fix inherited R59 cavalry magnification in the compact hover.
   All infantry, cavalry and siege previews occupy the exact same 96px slot.
   The larger R59 artwork remains unchanged inside the full unit dialog. */
.ik-r46-hover.ik-r46-hover-details .ik-r58-unit-dialog-heading>img{
 box-sizing:border-box!important;
 width:96px!important;height:96px!important;
 min-width:96px!important;min-height:96px!important;
 max-width:96px!important;max-height:96px!important;
 flex:0 0 96px!important;
 object-fit:contain!important;object-position:center!important;
 transform:none!important;
}


/* ---- GAME : village-responsive-r62.css ---- */
/* R70-R62 — Village viewport is 1355×1161 at desktop width. */
:scope { --ik-village-native-w:1355px; --ik-village-native-h:1161px; }
/* The previous cinematic/normal main width caps prevented a 1355px centre
   even on 2560px and 4K displays; give the scene and panels the whole page. */
body:has(#view-village.active) main {
 width:100%!important;max-width:none!important;height:auto!important;
 min-height:calc(100dvh - var(--ik-chrome-height,0px))!important;
 box-sizing:border-box!important;overflow:visible!important;
 padding:0 clamp(8px,1vw,20px) 28px!important;
}
body:has(#view-village.active) main>.view#view-village.active {
 width:100%!important;max-width:100%!important;
 height:auto!important;min-height:0!important;overflow:visible!important;
}
/* Larger monitors preserve the full image and give remaining width to
   the side panels.  The columns do not reduce the central 1355px scene. */
@media(min-width:1850px){
 body #view-village.active .ik-r36-village-layout,
 body.ik-cinematic #view-village.active .ik-r36-village-layout {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 1355px minmax(0,1fr)!important;
  gap:clamp(8px,.8vw,18px)!important;
  align-items:start!important;width:100%!important;height:auto!important;
 }
 body #view-village.active .ik-r36-village-layout>.village-stage-main,
 body.ik-cinematic #view-village.active .ik-r36-village-layout>.village-stage-main {
  grid-column:2!important;grid-row:1!important;
 }
 body #view-village.active .ik-village-side-left{grid-column:1!important;grid-row:1!important;}
 body #view-village.active .ik-village-side-right{grid-column:3!important;grid-row:1!important;}
}
/* Below 1850px, keep the 1355px scene when it fits and stack panels below.
   Below 1355px, shrink the whole scene (including its height) proportionally. */
@media(max-width:1849px){
 body #view-village.active .ik-r36-village-layout,
 body.ik-cinematic #view-village.active .ik-r36-village-layout {
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  gap:10px!important;align-items:start!important;width:100%!important;height:auto!important;
 }
 body #view-village.active .ik-r36-village-layout>.village-stage-main,
 body.ik-cinematic #view-village.active .ik-r36-village-layout>.village-stage-main {
  grid-column:1!important;grid-row:1!important;
 }
 body #view-village.active .ik-village-side-left{grid-column:1!important;grid-row:2!important;}
 body #view-village.active .ik-village-side-right{grid-column:1!important;grid-row:3!important;}
}
/* Overrides R57/R58/R59/R61 fixed-height and DPR-fluid rules from the
   existing stylesheets.  The scene's CSS box uses the same native dimensions
   as its backing store, with an aspect-ratio-safe fallback on narrow screens. */
body #view-village.active .ik-r36-village-layout>.village-stage-main,
body.ik-cinematic #view-village.active .ik-r36-village-layout>.village-stage-main {
 display:flex!important;align-items:flex-start!important;justify-content:center!important;
 box-sizing:border-box!important;width:100%!important;min-width:0!important;
 max-width:1355px!important;height:auto!important;min-height:0!important;
 max-height:none!important;overflow:visible!important;justify-self:center!important;
}
body #view-village.active .village-stage-main .scenewrap,
body.ik-cinematic #view-village.active .village-stage-main .scenewrap {
 box-sizing:border-box!important;position:relative!important;display:block!important;
 flex:0 1 auto!important;width:min(100%,1355px)!important;
 min-width:0!important;max-width:1355px!important;
 height:auto!important;min-height:0!important;max-height:none!important;
 aspect-ratio:1355 / 1161!important;
 margin:0 auto!important;overflow:hidden!important;
}
body #view-village.active .village-stage-main #village-canvas,
body.ik-cinematic #view-village.active .village-stage-main #village-canvas {
 display:block!important;position:absolute!important;inset:0!important;
 box-sizing:border-box!important;width:100%!important;height:100%!important;
 min-width:0!important;min-height:0!important;
 max-width:100%!important;max-height:100%!important;
 margin:0!important;
}
/* No downscaling at 2560×1440 merely because the visible viewport height
   is smaller than 1161px: normal document scrolling reveals the entire scene. */


/* ---- GAME : village-responsive-r63.css ---- */
/* R70-R63 — FILL (no crop) and whole-scene mouse-wheel sizing. */
/* The earlier R57/R58/R59/R61/R62 fixed-scene rules remain in source;
   this stylesheet loads LAST and supersedes them only for Village View. */
body:has(#view-village.active) main{width:100%!important;max-width:none!important;overflow:visible!important;}
body #view-village.active,body.ik-cinematic #view-village.active{width:100%!important;max-width:none!important;height:auto!important;overflow:visible!important;}
@media(min-width:1160px){
 body #view-village.active .ik-r36-village-layout,
 body.ik-cinematic #view-village.active .ik-r36-village-layout{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
  gap:clamp(8px,1vw,18px)!important;align-items:start!important;width:100%!important;height:auto!important;
 }
 body #view-village.active .ik-r36-village-layout>.village-stage-main,
 body.ik-cinematic #view-village.active .ik-r36-village-layout>.village-stage-main{
  grid-column:2!important;grid-row:1!important;
 }
 body #view-village.active .ik-village-side-left{grid-column:1!important;grid-row:1!important;}
 body #view-village.active .ik-village-side-right{grid-column:3!important;grid-row:1!important;}
}
@media(max-width:1159px){
 body #view-village.active .ik-r36-village-layout,
 body.ik-cinematic #view-village.active .ik-r36-village-layout{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  gap:10px!important;width:100%!important;height:auto!important;
 }
 body #view-village.active .ik-r36-village-layout>.village-stage-main,
 body.ik-cinematic #view-village.active .ik-r36-village-layout>.village-stage-main{grid-column:1!important;grid-row:1!important;}
 body #view-village.active .ik-village-side-left{grid-column:1!important;grid-row:2!important;}
 body #view-village.active .ik-village-side-right{grid-column:1!important;grid-row:3!important;}
}
body #view-village.active .ik-r36-village-layout>.village-stage-main,
body.ik-cinematic #view-village.active .ik-r36-village-layout>.village-stage-main{
 display:flex!important;align-items:flex-start!important;justify-content:center!important;
 width:calc(800px * var(--ik-village-wheel-zoom,1))!important;
 min-width:0!important;max-width:100%!important;min-height:0!important;
 height:auto!important;max-height:none!important;overflow:visible!important;
 box-sizing:border-box!important;justify-self:center!important;
}
body #view-village.active .village-stage-main .scenewrap,
body.ik-cinematic #view-village.active .village-stage-main .scenewrap{
 width:calc(800px * var(--ik-village-wheel-zoom,1))!important;
 min-width:0!important;max-width:100%!important;min-height:0!important;
 height:auto!important;max-height:600px!important;aspect-ratio:4/3!important;
 position:relative!important;display:block!important;box-sizing:border-box!important;
 flex:none!important;margin:0 auto!important;overflow:hidden!important;
}
body #view-village.active .village-stage-main #village-canvas,
body.ik-cinematic #view-village.active .village-stage-main #village-canvas{
 display:block!important;position:absolute!important;inset:0!important;
 width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;
 max-width:100%!important;max-height:100%!important;margin:0!important;box-sizing:border-box!important;
}


/* ---- GAME : village-layout-r64.css ---- */
/* R70-R64: Village columns 22 : 57 : 22 (normalised to 101 weights).
   Two small gutters are carved from the available width.
   R63 wheel/button zoom is retained for the whole illustrated scene. */
:scope{--ik-village-column-gap:clamp(8px,.65vw,16px);}
body:has(#view-village.active) main{box-sizing:border-box!important;}
@media(min-width:1160px){
 body #view-village.active .ik-r36-village-layout,
 body.ik-cinematic #view-village.active .ik-r36-village-layout{
  display:grid!important;
  grid-template-columns:minmax(0,22fr) minmax(0,57fr) minmax(0,22fr)!important;
  column-gap:var(--ik-village-column-gap)!important;row-gap:12px!important;
  align-items:start!important;width:100%!important;min-width:0!important;height:auto!important;
 }
 body #view-village.active .ik-r36-village-layout>.village-stage-main,
 body.ik-cinematic #view-village.active .ik-r36-village-layout>.village-stage-main{
  grid-column:2!important;grid-row:1!important;justify-self:stretch!important;
  display:flex!important;justify-content:center!important;align-items:flex-start!important;
  width:100%!important;min-width:0!important;max-width:none!important;
  height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;
 }
 body #view-village.active .ik-r36-village-layout>.ik-village-side-left,
 body.ik-cinematic #view-village.active .ik-r36-village-layout>.ik-village-side-left{
  grid-column:1!important;grid-row:1!important;min-width:0!important;width:100%!important;
 }
 body #view-village.active .ik-r36-village-layout>.ik-village-side-right,
 body.ik-cinematic #view-village.active .ik-r36-village-layout>.ik-village-side-right{
  grid-column:3!important;grid-row:1!important;min-width:0!important;width:100%!important;
 }
}
@media(max-width:1159px){
 body #view-village.active .ik-r36-village-layout,
 body.ik-cinematic #view-village.active .ik-r36-village-layout{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  gap:12px!important;align-items:start!important;width:100%!important;height:auto!important;
 }
 body #view-village.active .ik-r36-village-layout>.village-stage-main,
 body.ik-cinematic #view-village.active .ik-r36-village-layout>.village-stage-main{
  grid-column:1!important;grid-row:1!important;display:flex!important;justify-content:center!important;
  width:100%!important;min-width:0!important;max-width:none!important;height:auto!important;max-height:none!important;
  overflow:visible!important;
 }
 body #view-village.active .ik-r36-village-layout>.ik-village-side-left{grid-column:1!important;grid-row:2!important;}
 body #view-village.active .ik-r36-village-layout>.ik-village-side-right{grid-column:1!important;grid-row:3!important;}
}
/* The canvas fills the 57-weight central grid column at default zoom. */
body #view-village.active .village-stage-main .scenewrap,
body.ik-cinematic #view-village.active .village-stage-main .scenewrap{
 box-sizing:border-box!important;flex:0 0 auto!important;display:block!important;position:relative!important;
 width:calc(100% * var(--ik-village-wheel-zoom,1))!important;
 min-width:0!important;max-width:100%!important;
 height:auto!important;min-height:0!important;max-height:none!important;
 aspect-ratio:4/3!important;overflow:hidden!important;
 margin-left:auto!important;margin-right:auto!important;
}
body #view-village.active .village-stage-main #village-canvas,
body.ik-cinematic #view-village.active .village-stage-main #village-canvas{
 display:block!important;position:absolute!important;inset:0!important;
 box-sizing:border-box!important;width:100%!important;height:100%!important;
 min-width:0!important;min-height:0!important;max-width:100%!important;max-height:100%!important;
 margin:0!important;
}

/* R70-R66 — protect the 22:57:22 layout while it is the outgoing page.
   Removing .active must NEVER re-enable the legacy 100% scene expansion. */
@media(min-width:1160px){
 main>#view-village.ik-r41-frozen-outgoing .ik-r36-village-layout{
  display:grid!important;grid-template-columns:minmax(0,22fr) minmax(0,57fr) minmax(0,22fr)!important;
  align-items:start!important;column-gap:var(--ik-village-column-gap)!important;height:auto!important;
 }
 main>#view-village.ik-r41-frozen-outgoing .ik-r36-village-layout>.village-stage-main{
  grid-column:2!important;grid-row:1!important;display:flex!important;align-items:flex-start!important;
  justify-content:center!important;min-width:0!important;max-width:100%!important;
 }
 main>#view-village.ik-r41-frozen-outgoing .ik-village-side-left{grid-column:1!important;grid-row:1!important;}
 main>#view-village.ik-r41-frozen-outgoing .ik-village-side-right{grid-column:3!important;grid-row:1!important;}
}
main>#view-village.ik-r41-frozen-outgoing .village-stage-main{
 overflow:hidden!important;contain:paint;
}
main>#view-village.ik-r41-frozen-outgoing .scenewrap{
 overflow:hidden!important;flex:none!important;max-width:100%!important;
}
/* Only hidden when a successful bitmap copy exists above the outgoing page. */
main>#view-village.ik-r66-snapshot-active #village-canvas{
 visibility:hidden!important;
}


/* ---- GAME : village-movements-r71r6.css ---- */
/* R71-R6: additional information BELOW the canvas; never resize canvas on exit. */
#view-village.active .ik-r36-village-layout > .village-stage-main,
#view-village.ik-r41-frozen-outgoing .ik-r36-village-layout > .village-stage-main{
 flex-direction:column!important;justify-content:flex-start!important;align-items:center!important;
}
#view-village .ik-village-wheel-lock{display:block;border:1px solid #665c48;border-radius:6px;padding:12px;background:linear-gradient(145deg,var(--ik-theme-surface-alt),var(--ik-theme-surface));font:12px/1.5 Arial,sans-serif;color:#e5d7ba}
#view-village .ik-village-wheel-lock label{display:flex;align-items:center;gap:9px;cursor:pointer}
#view-village .ik-village-wheel-lock input{width:17px;height:17px;accent-color:#cfab70;margin:0;flex:none}
#view-village .ik-village-wheel-lock small{display:block;padding:8px 0 0 26px;color:var(--ik-theme-ink);font:11px/1.45 Arial,sans-serif}
#view-village .ik-village-movements{box-sizing:border-box;width:100%;max-width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:13px;margin-top:18px;padding-bottom:8px;align-self:stretch}
:is(#view-village,#ik-rally-village-movements) .ik-vm-panel{min-width:0;background:linear-gradient(135deg,var(--ik-theme-surface-alt),var(--ik-theme-deep));border:1px solid #76664c;border-radius:6px;overflow:hidden;box-shadow:0 6px 18px #0004}
:is(#view-village,#ik-rally-village-movements) .ik-vm-heading{padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #5b5947}
:is(#view-village,#ik-rally-village-movements) .ik-vm-heading h3{font:600 17px Georgia,serif;color:#f1d4a2;margin:0}
:is(#view-village,#ik-rally-village-movements) .ik-vm-count{background:var(--ik-theme-deep);color:#eed5a6;border:1px solid #655b48;border-radius:14px;padding:3px 10px;font:600 12px Arial,sans-serif}
:is(#view-village,#ik-rally-village-movements) .ik-vm-scroller{overflow:auto;max-height:320px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-table{border-collapse:collapse;min-width:550px;width:100%;font:12px/1.45 Arial,sans-serif;color:#e2dfcf}
:is(#view-village,#ik-rally-village-movements) .ik-vm-table th{text-align:left;position:sticky;top:0;background:var(--ik-theme-surface-alt);color:#c9bd9f;padding:10px 9px;z-index:1;white-space:nowrap}
:is(#view-village,#ik-rally-village-movements) .ik-vm-table td{border-top:1px solid var(--ik-theme-border-soft);padding:9px;vertical-align:top}
:is(#view-village,#ik-rally-village-movements) .ik-vm-table td small{display:block;color:var(--ik-theme-ink);margin-top:3px;font:11px/1.3 Arial,sans-serif}
:is(#view-village,#ik-rally-village-movements) .ik-vm-route{min-width:150px;overflow-wrap:anywhere}
:is(#view-village,#ik-rally-village-movements) .ik-vm-attack td:first-child strong{color:#ed9b8b}
:is(#view-village,#ik-rally-village-movements) .ik-vm-support td:first-child strong{color:#8ed6d4}
:is(#view-village,#ik-rally-village-movements) .ik-vm-empty{padding:19px 15px;margin:0;font:12px Arial,sans-serif;color:var(--ik-theme-ink)}
:is(#view-village,#ik-rally-village-movements) .ik-vm-note{font:11px Arial,sans-serif;color:var(--ik-theme-ink);padding:0 3px;margin:0}

:is(#view-village,#ik-rally-village-movements) .ik-vm-trade td:first-child strong{color:#e5c18f}
/* R71-R7 — cancellable outgoing commands and exclusive departure clocks. */
:is(#view-village,#ik-rally-village-movements) .ik-vm-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:10px 14px;border-bottom:1px solid var(--ik-theme-border-soft);color:var(--ik-theme-ink);font:12px Arial,sans-serif}
:is(#view-village,#ik-rally-village-movements) .ik-vm-check-all{display:inline-flex;align-items:center;gap:6px;cursor:pointer;margin-right:auto}
:is(#view-village,#ik-rally-village-movements) .ik-vm-check-all input,:is(#view-village,#ik-rally-village-movements) .ik-vm-select input{width:16px;height:16px;accent-color:#c6a56a;cursor:pointer}
:is(#view-village,#ik-rally-village-movements) .ik-vm-check-all input:disabled{cursor:default}
:is(#view-village,#ik-rally-village-movements) .ik-vm-actions button{font:600 12px Arial,sans-serif;color:#ead6ad;background:var(--ik-theme-surface-alt);border:1px solid #827358;border-radius:5px;padding:7px 11px;cursor:pointer}
:is(#view-village,#ik-rally-village-movements) #ik-vm-interrupt-selected{background:#703e35;color:#ffe4d4;border-color:#a66a57}
:is(#view-village,#ik-rally-village-movements) .ik-vm-actions button:disabled{opacity:.48;cursor:not-allowed}
:is(#view-village,#ik-rally-village-movements) .ik-vm-feedback{min-height:0;margin:0;padding:0 14px;color:var(--ik-theme-ink);font:12px Arial,sans-serif}
:is(#view-village,#ik-rally-village-movements) .ik-vm-feedback:not(:empty){padding:7px 14px;border-bottom:1px solid var(--ik-theme-border-soft)}
:is(#view-village,#ik-rally-village-movements) .ik-vm-feedback.ik-vm-error{color:#ffaca4}
:is(#view-village,#ik-rally-village-movements) .ik-vm-select{width:46px;min-width:46px;text-align:center!important}
:is(#view-village,#ik-rally-village-movements) .ik-vm-select input[hidden],:is(#view-village,#ik-rally-village-movements) .ik-vm-cancel-one[hidden]{display:none!important}
:is(#view-village,#ik-rally-village-movements) .ik-vm-action{white-space:nowrap;text-align:center}
:is(#view-village,#ik-rally-village-movements) .ik-vm-cancel-one{font:700 19px/1 Arial,sans-serif;color:#ffbdad;background:#5d3630;border:1px solid #a86c5d;border-radius:4px;padding:4px 9px;cursor:pointer}
:is(#view-village,#ik-rally-village-movements) .ik-vm-cancel-one:hover:not(:disabled){background:#81453d;color:#fff}
:is(#view-village,#ik-rally-village-movements) .ik-vm-cancel-one:disabled{opacity:.4;cursor:not-allowed}
:is(#view-village,#ik-rally-village-movements) .ik-vm-departure-time{font-variant-numeric:tabular-nums;white-space:nowrap;color:#e1cfab;font-weight:600}
:is(#view-village,#ik-rally-village-movements) .ik-vm-table{min-width:730px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-row[data-ik-order-id]{cursor:help}
:is(#view-village,#ik-rally-village-movements) .ik-vm-row[data-ik-order-id]:hover{background:color-mix(in srgb, var(--ik-theme-elevated) 31.4%, transparent)}
/* R71-R8 — Personal names for every visible military/trade movement. */
:is(#view-village,#ik-rally-village-movements) .ik-vm-name-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:5px;max-width:300px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-command-name{color:#f6e1b3;font-weight:600;overflow-wrap:anywhere;max-width:100%}
:is(#view-village,#ik-rally-village-movements) .ik-vm-rename{font:600 14px/1 Arial,sans-serif;display:inline-flex;align-items:center;justify-content:center;min-height:24px;min-width:26px;color:#e7d2a6;background:var(--ik-theme-elevated);border:1px solid #827358;border-radius:4px;cursor:pointer;flex:none}
:is(#view-village,#ik-rally-village-movements) .ik-vm-rename:hover,:is(#view-village,#ik-rally-village-movements) .ik-vm-rename:focus-visible{background:var(--ik-theme-selected);border-color:#d4bb87;color:#fff}
:is(#view-village,#ik-rally-village-movements) .ik-vm-edit{display:flex;align-items:center;flex-wrap:wrap;gap:5px;width:100%;max-width:320px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-rename-input{flex:1 1 130px;min-width:120px;max-width:100%;box-sizing:border-box;padding:6px;border-radius:4px;border:1px solid #bda274;background:var(--ik-theme-deep);color:#fff1cd;font:12px Arial,sans-serif}
:is(#view-village,#ik-rally-village-movements) .ik-vm-edit button{border:1px solid #827358;border-radius:4px;background:var(--ik-theme-elevated);color:#f7e2b9;cursor:pointer;padding:6px 8px;font:600 11px Arial,sans-serif}
:is(#view-village,#ik-rally-village-movements) .ik-vm-edit button:disabled,:is(#view-village,#ik-rally-village-movements) .ik-vm-rename-input:disabled{opacity:.55;cursor:wait}
:is(#view-village,#ik-rally-village-movements) .ik-vm-edit .ik-vm-rename-error{flex:1 1 100%;color:#e4cda2;font-size:10px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-row .ik-vm-name-wrap{min-width:155px}


/* R71-R17: independent movement filters, military counts and live-row emphasis. */
:is(#view-village,#ik-rally-village-movements) .ik-vm-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:10px 14px;background:var(--ik-theme-surface);border-bottom:1px solid var(--ik-theme-border-soft)}
:is(#view-village,#ik-rally-village-movements) .ik-vm-filters label{display:grid;gap:4px;flex:1 1 150px;min-width:0;font:12px Arial,sans-serif;color:#edd2a1}
:is(#view-village,#ik-rally-village-movements) .ik-vm-filters select{width:100%;max-width:270px;min-height:34px;background:var(--ik-theme-surface);color:#f0dbb5;border:1px solid #8c7450;border-radius:5px;padding:7px 9px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-row.ik-r17-cancellable{background:rgba(171,120,48,.12)}
:is(#view-village,#ik-rally-village-movements) .ik-vm-row.ik-r17-cancellable:hover{background:rgba(171,120,48,.25)}
:is(#view-village,#ik-rally-village-movements) .ik-vm-table .ik-r17-troops{font-weight:700;color:#ecd9ae}
:is(#view-village,#ik-rally-village-movements) .ik-vm-table .ik-r17-cancel-badge{display:inline-block;color:#ffe0a5;font-weight:700;border:1px solid #ac8141;background:#433b2b;border-radius:11px;padding:2px 6px;margin-top:5px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-table .ik-r17-cancel-badge[hidden]{display:none!important}
:is(#view-village,#ik-rally-village-movements) .ik-vm-table td,:is(#view-village,#ik-rally-village-movements) .ik-vm-table th{font-variant-numeric:tabular-nums}

/* R71-R18: compact military-only village commands. Does not modify canvas. */
:is(#view-village,#ik-rally-village-movements) .ik-vm-scroller{max-height:355px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-table{min-width:820px;font-size:11.5px;line-height:1.23}
:is(#view-village,#ik-rally-village-movements) .ik-vm-table th{padding:7px 7px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-table td{padding:5px 7px;vertical-align:middle}
:is(#view-village,#ik-rally-village-movements) .ik-vm-table td small{margin-top:1px;font-size:10px;line-height:1.15}
:is(#view-village,#ik-rally-village-movements) .ik-vm-command{min-width:170px;max-width:280px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-primary{display:flex;align-items:center;flex-wrap:wrap;gap:4px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-primary>strong{white-space:nowrap}
:is(#view-village,#ik-rally-village-movements) .ik-vm-row .ik-vm-name-wrap{display:inline-flex;min-width:0;margin-top:0;flex:1 1 100px;flex-wrap:nowrap;max-width:235px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-command-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:is(#view-village,#ik-rally-village-movements) .ik-vm-rename{min-height:19px;min-width:21px;font-size:12px;padding:2px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-route{min-width:115px;max-width:225px;font-weight:600;overflow-wrap:break-word}
:is(#view-village,#ik-rally-village-movements) .ik-vm-owner{min-width:100px;max-width:190px;overflow-wrap:break-word}
:is(#view-village,#ik-rally-village-movements) .ik-vm-state{white-space:nowrap}
:is(#view-village,#ik-rally-village-movements) .ik-vm-arrival{white-space:nowrap;font-variant-numeric:tabular-nums}
:is(#view-village,#ik-rally-village-movements) .ik-vm-departure-time{font-size:11px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-table .ik-r17-cancel-badge{font-size:9px;line-height:1.15;padding:1px 5px;margin-top:2px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-cancel-one{font-size:16px;padding:3px 7px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-select{width:36px;min-width:36px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-filters{padding:7px 11px;gap:7px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-filters select{min-height:30px;padding:5px 8px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-heading{padding:9px 12px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-actions{padding:7px 12px;gap:7px}

/* R71-R19: compact clickable village/player/tribe profiles. */
:is(#view-village,#ik-rally-village-movements) .ik-vm-entity-link{color:#f0d4a2;text-decoration:none;text-decoration-thickness:1px;text-underline-offset:2px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-entity-link:hover,:is(#view-village,#ik-rally-village-movements) .ik-vm-entity-link:focus-visible{color:#fff1c8;text-decoration:underline;outline-offset:2px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-route .ik-vm-entity-link{color:var(--ik-theme-ink)}
:is(#view-village,#ik-rally-village-movements) .ik-vm-route .ik-vm-entity-link:hover{color:var(--ik-theme-ink)}


/* ---- GAME : ui-density-r71r28.css ---- */
/* Iron Kingdoms R71-R28 — global moderate-density pass.
   Presentation only: no change to data, roles, colors, military timers,
   village scene/canvas geometry, image scales or gameplay controls.
   Loaded AFTER existing styles to preserve legacy approved visuals. */

/* 1. Shared lists, tables, headers, forms — comfortable desktop sizes. */
@media (min-width: 681px) and (pointer: fine) {
  body :is(#view-general,#view-global,#view-reports,#view-messages,#view-tribe,#view-ranking,#view-profile,#view-buildings,#view-recruitment)
    :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):not(.ik-r41-report-close):not(.ik-ally-forum-section>button) {
    min-height:34px;
    padding:6px 10px!important;
    font-size:13px!important;
    line-height:1.25;
  }
}
body :is(#view-general,#view-global,#view-reports,#view-messages,#view-tribe,#view-ranking,#view-profile,#view-buildings,#view-recruitment)
  :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),select) {
  padding-block:6px;
}

/* 2. Reports: 2-line entries, no wasted card rows, preserve results/date/ID. */
#view-reports .ik-reports-page{padding-top:4px;padding-bottom:18px}
#view-reports .ik-reports-header{padding:10px 14px;margin-bottom:7px}
#view-reports .ik-reports-header :is(h1,h2){margin-block:2px 5px}
#view-reports .ik-reports-toolbar{padding:8px 10px;gap:7px 9px;margin:6px 0 9px}
#view-reports .ik-reports-toolbar label{gap:3px}
#view-reports #ik-reports-mode,#view-reports #ik-reports-refresh,#view-reports #ik-reports-count,
#view-reports .ik-reports-search-wrap input{min-height:33px;height:auto;padding:6px 9px}
#view-reports .ik-r41-reports-bulk{margin:0 0 7px;padding:5px 9px;gap:5px}
#view-reports .ik-r41-reports-bulk button{min-height:32px;padding:5px 8px!important}
#view-reports .ik-reports-layout{gap:9px;grid-template-columns:minmax(300px,38%) minmax(0,1fr)}
#view-reports .ik-reports-list{gap:3px;padding:6px;max-height:min(81dvh,1200px)}
#view-reports .ik-reports-list::before{padding:1px 4px 5px;letter-spacing:.07em}
#view-reports .ik-r41-report-entry{gap:3px;align-items:stretch}
#view-reports .ik-r41-report-check{align-self:center;flex:none}
#view-reports .ik-report-list-item{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;
  align-content:center;min-width:0;min-height:52px;padding:5px 8px!important;
  border-radius:4px;font-family:system-ui,sans-serif!important;
}
#view-reports .ik-report-row-upper{grid-column:1/-1;min-width:0;gap:6px;font-size:10px;line-height:1.2}
#view-reports .ik-report-row-time{white-space:nowrap;font-size:10px;flex:none}
#view-reports .ik-report-list-item .ik-report-villages{
  grid-column:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  font:600 12px/1.35 system-ui,sans-serif;
}
#view-reports .ik-report-row-footer{grid-column:2;grid-row:2;display:flex;align-items:center;
  justify-content:flex-end;gap:5px;width:auto;border-top:0;margin:0;padding:0;white-space:nowrap}
#view-reports .ik-report-result{font-size:10px;line-height:1.2;padding:2px 5px}
#view-reports .ik-report-row-id{font-size:10px}
#view-reports .ik-report-personal-title{grid-column:1/-1;font-size:10px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#view-reports .ik-report-personal-title:empty{display:none}
#view-reports .ik-report-view{padding:10px 12px}
#view-reports .ik-report-sheet h2{margin:9px 0;font-size:clamp(19px,1.5vw,25px)}
#view-reports .ik-report-sheet-top{padding:6px 9px;gap:6px}
#view-reports .ik-report-result-band{padding:6px 10px}
#view-reports .ik-report-summary{margin:9px 0 12px;padding:3px 9px}
#view-reports .ik-report-summary dt,#view-reports .ik-report-summary dd{padding:5px 6px;line-height:1.35}
#view-reports .ik-report-armies{gap:7px;margin-bottom:9px}
#view-reports .ik-report-army,#view-reports .ik-report-loot,#view-reports .ik-report-damage{padding:9px;margin-bottom:8px}
#view-reports .ik-report-army h3,#view-reports .ik-report-loot h3,#view-reports .ik-report-damage h3{margin:0 0 6px;padding-bottom:4px;font-size:16px}
#view-reports .ik-report-units th,#view-reports .ik-report-units td{padding:5px 5px}
#view-reports .ik-report-resource-grid{gap:5px}
#view-reports .ik-report-resource-grid span{padding:6px 7px}
#view-reports .ik-report-action-toolbar{padding:8px!important;gap:5px!important}
#view-reports .ik-r41-spy-building{padding:6px 4px;min-height:98px}
/* Deliberately do not shrink report troop/building icons. */

/* 3. Messages and conversations. Three useful lines, not tall cards. */
.ik-messages-page{max-width:1530px;padding:10px 14px}
.ik-messages-page>header{padding:10px 14px;margin-bottom:8px}
.ik-messages-page h1,.ik-messages-page h2{font-size:clamp(19px,1.7vw,24px);margin:3px 0}
.ik-messages-page>header p{margin:3px 0}
.ik-messages-tools{gap:5px;margin-bottom:7px}
.ik-messages-layout{grid-template-columns:minmax(260px,34%) minmax(0,1fr);gap:8px;min-height:260px}
#ik-message-list,#ik-message-detail{padding:7px 9px}
#ik-message-list{max-height:79dvh}
.ik-message-row{display:grid!important;gap:2px;align-content:center;padding:6px 9px!important;
  min-height:0;margin-bottom:3px;line-height:1.3;font-family:system-ui,sans-serif!important}
.ik-message-row-heading{gap:7px;line-height:1.3}
.ik-message-row-heading strong{font-size:12px}
.ik-message-counter{padding:1px 6px;font-size:10px}
.ik-message-row .ik-message-conversation-title{font-size:12px;line-height:1.25}
.ik-message-snippet{font-size:11px;line-height:1.25}
.ik-message-row>small{font-size:10px;line-height:1.2}
.ik-dialogue-history{gap:6px;padding:8px 9px;max-height:min(70dvh,850px)}
.ik-dialogue-bubble{padding:6px 9px;border-radius:7px}
.ik-dialogue-bubble>strong{line-height:1.25}
.ik-dialogue-text{line-height:1.4;margin:3px 0}
.ik-dialogue-reply{margin-top:7px;gap:5px}
.ik-message-form{gap:7px;margin-top:9px}
.ik-message-form label{gap:3px}
.ik-message-form textarea{min-height:100px;padding:7px 9px}
.ik-dialogue-reply textarea{min-height:72px}

/* 4. Tribe, forum, diplomacy, reservations and profiles. */
#ik-tribe-root .ik-ally-title{gap:8px;margin-bottom:9px}
#ik-tribe-root .ik-ally-title h2{font-size:clamp(20px,1.8vw,26px);margin:2px 0}
#ik-tribe-root .ik-ally-tabstrip{margin:6px 0 10px;gap:3px;padding-bottom:4px}
#ik-tribe-root .ik-ally-tabstrip button{min-height:34px;padding:5px 9px!important}
#ik-tribe-root .ik-ally-panel{padding:10px 12px;margin-bottom:8px;border-radius:6px}
#ik-tribe-root .ik-ally-panel h3{margin:0 0 7px;padding-bottom:5px;font-size:16px}
#ik-tribe-root .ik-ally-columns{gap:8px}
#ik-tribe-root .ik-ally-details dt,#ik-tribe-root .ik-ally-details dd{padding:5px 4px}
#ik-tribe-root .ik-ally-form{gap:7px;margin:4px 0 6px}
#ik-tribe-root .ik-ally-form label{gap:3px}
#ik-tribe-root .ik-ally-form input,#ik-tribe-root .ik-ally-form select,#ik-tribe-root .ik-ally-form textarea{padding:6px 8px}
#ik-tribe-root .ik-ally-table th,#ik-tribe-root .ik-ally-table td{padding:5px 7px;font-size:12px}
#ik-tribe-root .ik-ally-table button{padding:4px 7px!important;min-height:30px}
#ik-tribe-root .ik-ally-filters,#ik-tribe-root .ik-ally-pagination{gap:4px;margin:6px 0}
#ik-tribe-root .ik-ally-list>div{padding:5px 7px}
#ik-tribe-root .ik-ally-invite{padding:7px 9px;margin:4px 0}
#ik-tribe-root .ik-ally-rights{gap:5px;margin:7px 0}
#ik-tribe-root .ik-ally-rights span{padding:4px 7px}
#ik-tribe-root .ik-ally-permissions{padding:9px;gap:5px}
#ik-tribe-root .ik-ally-forum-sections{grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:5px;margin:7px 0 10px}
#ik-tribe-root .ik-ally-forum-sections>button,
#ik-tribe-root .ik-ally-forum-section>button{min-height:48px!important;padding:7px 9px!important;gap:2px!important;justify-content:center}
#ik-tribe-root .ik-ally-section-actions{padding:0 5px 5px;gap:4px}
#ik-tribe-root .ik-ally-post{padding:8px 10px;margin:5px 0;border-radius:4px}
#ik-tribe-root .ik-ally-post p{margin:5px 0;line-height:1.45}
#ik-tribe-thread{gap:8px}
#ik-tribe-root .ik-ally-post small{font-size:11px}
.ik-profile-page{margin:6px auto;gap:8px}
.ik-profile-page .ik-profile-card{padding:10px 12px;border-radius:6px}
.ik-profile-page .ik-profile-grid{gap:7px}
.ik-profile-page th,.ik-profile-page td{padding:6px 7px}

/* 5. Global village overview, trade, farming and military command tables. */
.ik-general-page{max-width:1600px;padding:10px 12px}
.ik-general-intro{padding:10px 14px;gap:7px}
.ik-general-intro h1{font-size:clamp(22px,2.3vw,30px);margin:2px 0 4px}
.ik-general-stats{gap:6px;margin:8px 0 10px}
.ik-general-stats>span{padding:7px 10px}
.ik-general-stats strong{font-size:20px}
.ik-general-tabs{gap:3px;padding-bottom:3px}
.ik-general-tabs button{padding:6px 9px!important}
.ik-general-filters{padding:8px 0 5px;gap:4px}
.ik-general-toolbar{gap:7px;margin:4px 0 7px}
.ik-general-toolbar label,.ik-general-operations label{gap:3px}
.ik-general-operations{padding:8px 10px;margin-bottom:7px}
.ik-general-group-line,.ik-general-group-actions{gap:5px;margin-bottom:5px}
.ik-general-table-scroll th,.ik-general-table-scroll td{padding:6px 7px}
.ik-general-table-scroll .ik-general-select{padding:5px 6px}
.ik-general-village small,.ik-general-sub{margin-top:1px}
.ik-general-current{margin-top:2px}
.ik-general-unit-list,.ik-general-levels,.ik-general-group-tags{gap:3px}
.ik-general-unit-list span,.ik-general-levels span,.ik-general-group-tags span{padding:2px 5px}
.ik-general-stack{gap:1px}
.ik-military-group-heading{padding:7px 10px!important;font-size:13px!important}
.ik-military-table td,.ik-military-table th{padding:5px 7px!important;vertical-align:middle!important}
.ik-military-table .ik-r17-cancel-badge{margin-top:2px;padding:1px 5px}
.ik-trade-section{gap:8px}
.ik-trade-header{padding:9px 12px;gap:7px}
.ik-trade-header h2{font-size:21px;margin:2px 0}
.ik-trade-form{padding:9px;gap:7px}
.ik-trade-records{padding:9px}
.ik-army-page{max-width:1450px;margin:8px auto 18px;padding:10px 12px}
.ik-army-head{padding:11px 14px;gap:8px}
.ik-army-head h1{font-size:25px}
.ik-army-section{padding:10px 12px}
.ik-army-section h2{font-size:19px;margin-bottom:5px}
.ik-army-section>p{margin-bottom:8px}
.ik-army-layout{gap:9px;margin-top:9px}
.ik-army-toolbar{gap:7px;margin:7px 0}
.ik-army-page th,.ik-army-page td{padding:5px 7px}
.ik-army-villages{gap:5px;margin:7px 0}
.ik-army-villages label{padding:6px 8px}
.ik-army-chip{padding:4px 7px}
.ik-army-chips{gap:5px;margin:6px 0}
.ik-army-plan-row{padding:6px 8px;gap:6px}
.ik-army-planned{gap:4px;margin:7px 0}
.ik-army-actions{gap:6px;margin-top:7px}
.ik-army-village-list{gap:6px;margin-top:9px}
.ik-army-village-card{padding:8px 10px}
.ik-army-queue-line{padding:5px 0}
.ik-raid-shell{gap:8px}
.ik-raid-heading{padding:10px 12px}
.ik-raid-heading h2{font-size:22px;margin:2px 0}
.ik-raid-table th,.ik-raid-table td{padding:6px 8px}
.ik-r31-center{margin:8px auto;padding:11px 14px}
.ik-r31-center header{padding-bottom:8px}
.ik-r31-center header h2{font-size:22px;margin:4px 0}
.ik-r31-toolbar{gap:7px;margin:9px 0}
.ik-r31-summary{gap:5px}
.ik-r31-summary span{padding:5px 7px}
.ik-r31-table th,.ik-r31-table td{padding:6px 7px}
.ik-r31-actions{margin:9px 0;gap:6px}

/* 6. Local village command tables: preserve ms, routes, owner links and actions. */
#view-village .ik-village-movements{gap:8px;margin-top:10px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-heading{padding:6px 9px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-heading h3{font-size:15px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-actions{gap:5px;padding:5px 8px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-filters{gap:5px;padding:5px 8px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-filters label{gap:2px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-filters select{padding:4px 6px;min-height:29px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-table{font-size:11.5px;line-height:1.25}
:is(#view-village,#ik-rally-village-movements) .ik-vm-table th,:is(#view-village,#ik-rally-village-movements) .ik-vm-table td{padding:4px 6px;vertical-align:middle}
:is(#view-village,#ik-rally-village-movements) .ik-vm-table td small{line-height:1.2}
:is(#view-village,#ik-rally-village-movements) .ik-vm-table .ik-r17-cancel-badge{margin-top:1px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-name-wrap{gap:3px}
:is(#view-village,#ik-rally-village-movements) .ik-vm-rename{min-height:20px!important;min-width:22px!important;padding:2px 3px!important}
:is(#view-village,#ik-rally-village-movements) .ik-vm-cancel-one{min-height:25px!important;padding:3px 7px!important}
:is(#view-village,#ik-rally-village-movements) .ik-vm-scroller{max-height:min(50dvh,540px)}
/* Do NOT change the canvas, zoom, side width or approved building sprites. */

/* 7. Buildings, global actions, ranking, BBCode and small utility panels. */
.ik-global-actions-page{padding:10px 12px}
.ik-global-actions-heading{padding:10px 14px;margin-bottom:8px}
.ik-global-actions-heading h1{font-size:24px;margin:2px 0}
.ik-global-actions-heading p{margin:3px 0 0}
.ik-global-actions-tabs{gap:5px;margin-bottom:8px}
.ik-global-actions-tabs button{min-height:34px;padding:5px 8px!important}
.ik-building-scene #view-buildings .page-title{padding:9px 12px;margin-bottom:8px}
.ik-building-scene #buildings-list{gap:4px!important;padding-bottom:9px}
.ik-building-scene .building.compact-building{padding:6px 9px;column-gap:8px}
.compact-building .cb-name{gap:2px}
.compact-building .cb-resources{gap:3px 8px}
.compact-building .cb-actions{gap:4px}
.ik-building-scene .queue-line{padding:4px 0}
#view-ranking .ik-rank-table th,#view-ranking .ik-rank-table td{padding:6px 8px}
#view-ranking .ik-rank-toolbar{gap:5px}
#view-ranking .ik-rank-toolbar button{min-height:35px!important}
.ik-bb-toolbar{gap:3px;margin:4px 0 3px}
body .ik-bb-toolbar button{min-height:29px!important;padding:4px 7px!important;font:600 12px/1.2 system-ui,sans-serif!important}
.ik-bb-preview{margin:4px 0 6px;padding:7px}
.ik-bb-quote{margin:5px 0;padding:5px 9px}
/* Trim incidental map panels only. Never resize Main Map / Mini Map canvases. */
#view-world .map-sidebar,#view-world .map-right-sidebar{gap:7px}
#view-world .map-panel:not(.ik-minimap-panel){padding:8px 10px}
#view-world .map-panel .panel-heading{margin-bottom:5px}
#view-world .map-statusline{gap:6px}
#view-admin>article{padding:10px 12px}

/* 7b. Recruitment, rankings, construction queues and local admin. */
#view-recruitment .ik-recruitment-page{gap:6px}
#view-recruitment .ik-r54-recruit-groups{padding:9px 11px;gap:9px}
#view-recruitment .ik-r54-recruit-group>header{padding:7px 10px;min-height:0}
#view-recruitment .ik-r54-recruit-row{padding:6px 10px;gap:6px}
#view-recruitment .ik-r54-recruit-budget{padding-top:6px}
#view-recruitment .ik-r39-budget-grid{padding:7px 9px;gap:5px}
#view-recruitment .ik-r39-budget-grid>div{gap:4px;padding:7px 8px}
#view-recruitment .ik-r54-recruit-queues{padding:7px 10px}
#view-buildings .ik-main-building-hero{margin-bottom:8px}
#view-buildings .ik-main-building-intro h1{margin:3px 0 5px;font-size:clamp(21px,2vw,29px)}
#view-buildings .ik-main-building-intro p{margin-bottom:7px}
#view-buildings .ik-construction-queue{padding:9px 12px;margin-bottom:8px}
#view-buildings .ik-construction-queue-heading,
#view-buildings .ik-main-buildings-heading{margin-bottom:7px;gap:7px}
#view-buildings .ik-main-buildings-panel{padding:9px 11px}
#view-ranking .ik-rank-page{margin-bottom:15px;padding-bottom:12px}
#view-ranking .ik-rank-table-wrap th,
#view-ranking .ik-rank-table-wrap td{padding:6px 8px}
#view-admin .admin-grid{gap:9px}
#view-admin .panel{padding:11px 13px}
#view-admin .panel label{margin:6px 0}
#view-admin .panel label input{margin:4px 0}
#view-admin .panel button{margin-top:3px}
#view-admin .panel .actions{gap:5px;flex-wrap:wrap}

/* 8. Narrow screens: full-width columns and touch-safe controls. */
@media (max-width: 900px){
  #view-reports .ik-reports-layout{grid-template-columns:minmax(250px,37%) minmax(0,1fr)}
  .ik-messages-layout{grid-template-columns:minmax(220px,37%) minmax(0,1fr)}
}
@media (max-width: 760px){
  #view-reports .ik-reports-layout,.ik-messages-layout{grid-template-columns:minmax(0,1fr)}
  #view-reports .ik-reports-list{max-height:390px}
  #ik-message-list{max-height:270px}
  .ik-messages-page{padding:8px}
}
@media (max-width: 580px){
  #view-reports .ik-report-list-item{grid-template-columns:minmax(0,1fr)}
  #view-reports .ik-report-row-footer{grid-column:1;grid-row:auto;justify-content:flex-start}
  #view-reports .ik-report-row-time{font-size:10px}
  #view-reports .ik-report-list-item .ik-report-villages{grid-column:1}
  #view-reports .ik-reports-toolbar{padding:7px}
  #ik-tribe-root .ik-ally-panel{padding:9px}
  #ik-tribe-root .ik-ally-forum-sections>button,
  #ik-tribe-root .ik-ally-forum-section>button{padding:4px 6px!important;gap:1px!important}
  .ik-general-page{padding:8px}
}
@media (pointer: coarse){
  /* Compact card surroundings, but leave touch targets large enough. */
  body :is(#view-general,#view-global,#view-reports,#view-messages,#view-tribe,#view-ranking,#view-profile,#view-buildings,#view-recruitment)
    :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village){min-height:40px!important}
  :is(#view-village,#ik-rally-village-movements) .ik-vm-rename,:is(#view-village,#ik-rally-village-movements) .ik-vm-cancel-one{min-height:38px!important;min-width:38px!important}
  body .ik-bb-toolbar button{min-height:38px!important}
}


/* ---- GAME : r71r29-reports-messages-forum.css ---- */
/* Iron Kingdoms R71-R29: compact paginated reports, table messages, compact forum.
   Loaded after legacy styles; visual only, no military/gameplay changes. */
#view-reports .ik-report-pagination{display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:7px 5px;margin:2px 0 8px;border-bottom:1px solid #75604477;background:var(--ik-theme-surface);color:#f2deb7}
#view-reports .ik-report-pagination:last-child{margin:8px 0 1px;border-bottom:0;border-top:1px solid #75604477}
#view-reports .ik-report-pagination button{min-width:30px;min-height:30px!important;padding:4px 8px!important;line-height:1.2;font:600 12px/1.2 system-ui,sans-serif;border:1px solid #796344;background:var(--ik-theme-surface-alt);color:#e6d5b6;border-radius:4px;cursor:pointer}
#view-reports .ik-report-pagination button[aria-current="page"]{background:#745332;border-color:#c39b65;color:#fff2d8}
#view-reports .ik-report-pagination button:disabled{opacity:.48;cursor:default}
#view-reports .ik-report-page-label{margin-left:auto;font:600 11px/1.3 system-ui,sans-serif;color:#bdb49d;white-space:nowrap}
#view-reports .ik-r41-report-heading-actions{align-items:stretch!important;gap:6px!important}
#view-reports .ik-report-detail-heading .ik-report-result-band,
#view-reports .ik-r41-report-heading-actions .ik-report-result-band{height:34px!important;min-height:34px!important;box-sizing:border-box;display:flex;align-items:center;justify-content:center;margin:0!important;padding:0 12px!important;line-height:1.1}
#view-reports .ik-r41-report-close{height:34px!important;min-height:34px!important;max-height:34px!important;width:34px!important;box-sizing:border-box;padding:0!important;align-self:stretch;display:grid;place-items:center;line-height:1!important}
/* Messages: actual list is a table; conversation is its own routed screen. */
#view-messages .ik-messages-page>header{padding:9px 14px;margin-bottom:8px}
#view-messages .ik-messages-page>header h1{font-size:22px;margin:2px 0}
#view-messages .ik-messages-tools{gap:6px;margin-bottom:8px}
#view-messages .ik-messages-layout{display:block;min-height:0}
#view-messages .ik-messages-layout[data-pane="detail"] #ik-message-detail{display:block}
#view-messages :is(#ik-message-list,#ik-message-detail){width:100%;max-height:none;overflow-x:auto;box-sizing:border-box;padding:4px 6px}
#view-messages :is(#ik-message-list,#ik-message-detail)[hidden]{display:none!important}
#view-messages .ik-message-table{border-collapse:collapse;width:100%;min-width:620px;font:12px/1.35 system-ui,sans-serif;font-variant-numeric:tabular-nums}
#view-messages .ik-message-table th{font-size:11px;white-space:nowrap;font-weight:750;color:#f0d6a7;background:var(--ik-theme-surface);text-align:left;padding:8px 9px;border-bottom:1px solid #8c704b}
#view-messages .ik-message-table td{padding:8px 9px;border-bottom:1px solid #ffffff12;vertical-align:middle;color:#eadcc3}
#view-messages .ik-message-table tr.unread{background:#65503530}
#view-messages .ik-message-table tr:hover td{background:#5c603025}
#view-messages .ik-message-type{width:17%;font-weight:700;white-space:nowrap;color:var(--ik-theme-ink)}
#view-messages .ik-message-table tr.unread .ik-message-type{color:#f2c27a}
#view-messages .ik-message-table td:nth-child(2){width:43%}
#view-messages .ik-message-table td:nth-child(3){width:18%}
#view-messages .ik-message-date{width:22%;white-space:nowrap;color:#c9bca9}
#view-messages .ik-message-thread-link{background:none!important;border:0!important;min-height:0!important;padding:0!important;color:#f1d5a4;text-align:left;text-decoration:none;font:650 12px/1.4 system-ui,sans-serif;cursor:pointer;max-width:100%;white-space:normal;overflow-wrap:anywhere}
#view-messages .ik-message-thread-link:hover{text-decoration:underline;color:#ffecbf}
#view-messages .ik-message-player-link{color:#bcd5df;text-decoration:none;white-space:nowrap}
#view-messages .ik-message-player-link:hover{text-decoration:underline}
#view-messages .ik-message-counter{margin-left:6px;padding:1px 5px;border-radius:12px;background:#ba8646;color:var(--ik-theme-muted);font-size:10px;font-weight:800}
#view-messages .ik-message-back{min-height:32px!important;padding:5px 9px!important;border:1px solid #967750;border-radius:4px;background:var(--ik-theme-surface-alt);color:#f3dcb8;cursor:pointer}
#view-messages #ik-message-detail h2{font-size:21px;margin:9px 0}
#view-messages .ik-dialogue-bubble{max-width:min(820px,96%)}
#view-messages .ik-message-form{gap:8px}
/* Forum: categories in legible table-like compact rows; forms are opt-in details. */
#ik-tribe-root .ik-ally-forum-sections{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:4px;margin:6px 0!important}
#ik-tribe-root .ik-ally-forum-sections>button,#ik-tribe-root .ik-ally-forum-section{border:1px solid #66563b;border-radius:4px;background:var(--ik-theme-surface);min-width:0}
#ik-tribe-root .ik-ally-forum-sections>button,#ik-tribe-root .ik-ally-forum-section>button{min-height:40px!important;height:auto!important;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px!important;padding:5px 8px!important;text-align:left}
#ik-tribe-root .ik-ally-forum-sections strong{font:700 12px/1.3 system-ui,sans-serif;white-space:nowrap}
#ik-tribe-root .ik-ally-forum-sections small{font:400 10px/1.25 system-ui,sans-serif;color:#cabca2;text-align:right;min-width:0;overflow-wrap:anywhere}
#ik-tribe-root .ik-ally-section-actions{display:flex;gap:3px;margin:2px 3px}
#ik-tribe-root .ik-ally-section-actions button{min-height:27px!important;padding:3px 7px!important;font-size:10px!important}
#ik-tribe-root .ik-ally-panel{padding:9px 11px!important;margin-bottom:7px!important}
#ik-tribe-root .ik-ally-panel h3{margin:0 0 5px;font-size:15px}
#ik-tribe-root .ik-ally-table :is(th,td){padding:6px 8px!important;font-size:12px;line-height:1.3}
#ik-tribe-root .ik-ally-thread-link{min-height:0!important;padding:2px 1px!important;font-size:12px;text-align:left}
#ik-tribe-root .ik-forum-compose{margin:5px 0}
#ik-tribe-root .ik-forum-compose summary{cursor:pointer;color:#e7bd82;border:1px solid #84704b;border-radius:5px;padding:7px 10px;background:var(--ik-theme-surface-alt);font:700 12px/1.3 system-ui,sans-serif;list-style-position:inside}
#ik-tribe-root .ik-forum-compose[open] summary{margin-bottom:9px}
#ik-tribe-root .ik-forum-compose .ik-ally-form{display:grid;gap:8px;padding:6px}
#ik-tribe-root .ik-forum-compose textarea{min-height:90px}
#ik-tribe-root .ik-ally-post{padding:9px 11px!important;margin-bottom:5px!important}
@media(max-width:720px){
 #view-reports .ik-report-pagination{gap:3px}
 #view-reports .ik-report-pagination button{min-width:30px;min-height:38px!important}
 #view-messages .ik-message-table{min-width:590px}
 #ik-tribe-root .ik-ally-forum-sections{grid-template-columns:minmax(0,1fr)}
 #ik-tribe-root .ik-ally-forum-sections>button,#ik-tribe-root .ik-ally-forum-section>button{min-height:40px!important}
}


/* ---- GAME : r71r30-messages-pagination.css ---- */
/* R71-R30 — identical pagination bars before and after the 25-row message table. */
#view-messages .ik-message-pagination{display:flex;align-items:center;flex-wrap:wrap;gap:5px;padding:6px 5px;margin:2px 0 8px;border-bottom:1px solid #75604477;background:var(--ik-theme-surface);color:#f2deb7}
#view-messages .ik-message-pagination:last-child{margin:8px 0 1px;border-bottom:0;border-top:1px solid #75604477}
#view-messages .ik-message-pagination-button{min-width:30px;min-height:30px!important;padding:4px 8px!important;line-height:1.2;font:600 12px/1.2 system-ui,sans-serif;border:1px solid #796344;background:var(--ik-theme-surface-alt);color:#e6d5b6;border-radius:4px;cursor:pointer}
#view-messages .ik-message-pagination-button[aria-current="page"]{background:#745332;border-color:#c39b65;color:#fff2d8}
#view-messages .ik-message-pagination-button:disabled{opacity:.48;cursor:default}
#view-messages .ik-message-pagination-label{margin-left:auto;font:600 11px/1.3 system-ui,sans-serif;color:#bdb49d;white-space:nowrap}
@media(max-width:720px){#view-messages .ik-message-pagination{gap:3px}#view-messages .ik-message-pagination-button{min-height:38px!important}}


/* ---- GAME : r71r30-tribe-forum-announcements.css ---- */
/* R71-R30: compact subforums & 25-thread pages, no synopsis or management buttons */
#ik-tribe-root .ik-ally-forum-sections{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0 9px}
#ik-tribe-root .ik-ally-forum-section{width:auto;max-width:100%;border-radius:5px;box-shadow:none}
#ik-tribe-root .ik-ally-forum-section>button{min-height:34px!important;width:auto;padding:6px 12px;display:block;font-size:12px;font-weight:650;white-space:normal;line-height:1.25}
#ik-tribe-root .ik-ally-forum-section.active{background:#64432b;border-color:#dca45c}
#ik-tribe-root .ik-forum-topics-table{min-width:540px;font-size:12px;table-layout:auto}
#ik-tribe-root .ik-forum-topics-table th,#ik-tribe-root .ik-forum-topics-table td{padding:5px 8px!important;line-height:1.2;vertical-align:middle;height:30px}
#ik-tribe-root .ik-forum-topics-table td:first-child{width:55%;max-width:0;white-space:normal;overflow-wrap:anywhere}
#ik-tribe-root .ik-forum-topics-table .ik-ally-thread-link{padding:0!important;margin:0!important;border:0!important;font-size:12px;line-height:1.2;text-align:left;text-decoration:none}
#ik-tribe-root .ik-forum-topics-table .ik-ally-thread-link:hover{text-decoration:underline}
#ik-tribe-root .ik-forum-topics-table td:last-child{text-align:right;white-space:nowrap}
#ik-tribe-root .ik-forum-pagination{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:6px 2px;margin:1px 0 8px}
#ik-tribe-root .ik-forum-pagination:last-child{margin:8px 0 0}
#ik-tribe-root .ik-forum-pagination button{min-height:30px!important;min-width:28px;padding:4px 8px!important;line-height:1.2;border:1px solid #806344;border-radius:4px;color:#efd7ae;background:var(--ik-theme-surface);cursor:pointer;font-size:12px}
#ik-tribe-root .ik-forum-pagination button[aria-current=page]{border-color:#c89854;background:#72502f;color:white}
#ik-tribe-root .ik-forum-pagination button:disabled{opacity:.44;cursor:default}
#ik-tribe-root .ik-forum-pagination span{margin-left:auto;font-size:11px;color:#c9bca7}
#ik-tribe-root .ik-ally-announcements{display:grid;gap:7px}
#ik-tribe-root .ik-ally-announcement{border:1px solid #65543c;background:var(--ik-theme-surface);border-radius:5px;padding:9px 11px;min-width:0}
#ik-tribe-root .ik-ally-announcement header{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:5px}
#ik-tribe-root .ik-ally-announcement header strong{font-size:13px;color:#e8cc9e}
#ik-tribe-root .ik-ally-announcement header small{color:#bcb6a6;margin-right:auto}
#ik-tribe-root .ik-ally-announcement header button{padding:3px 7px;min-height:28px;font-size:11px;background:var(--ik-theme-surface-alt);border:1px solid #796344;color:#e9d3b3;cursor:pointer;border-radius:4px}
#ik-tribe-root .ik-ally-announcement .ik-bb-content{font-size:13px;line-height:1.4;overflow-wrap:anywhere}
#ik-tribe-root .ik-ally-filters{gap:4px}
#ik-tribe-root .ik-ally-filters button{padding:5px 8px;font-size:11px;min-height:30px}
@media(max-width:680px){#ik-tribe-root .ik-forum-pagination button{min-height:38px!important}#ik-tribe-root .ik-ally-forum-section>button{min-height:40px!important}}

#ik-tribe-root .ik-ally-forum-sections strong{white-space:normal!important;overflow-wrap:anywhere}


/* ---- GAME : r71r31-compact-lists.css ---- */
/* R71-R31 — one consistent dense visual language for forum, announcement and message tables.
   No changes to world map, village canvas, sprites or global game typography. */
#ik-tribe-root .ik-announcements-table,
#ik-tribe-root .ik-forum-manage-table,
#ik-tribe-root .ik-forum-topics-table,
#view-messages .ik-message-table{
  width:100%;border-collapse:separate;border-spacing:0;border:1px solid #66573f;
  border-radius:5px;overflow:hidden;background:var(--ik-theme-surface);table-layout:fixed;
  font:500 12px/1.25 system-ui,sans-serif;font-variant-numeric:tabular-nums;
}
#ik-tribe-root :is(.ik-announcements-table,.ik-forum-manage-table,.ik-forum-topics-table) th,
#view-messages .ik-message-table th{
  padding:7px 9px!important;background:var(--ik-theme-surface-alt);color:#ebd2a5;
  font-size:11px!important;letter-spacing:.015em;font-weight:700;
  text-align:left;white-space:nowrap;border-bottom:1px solid #796449;
}
#ik-tribe-root :is(.ik-announcements-table,.ik-forum-manage-table,.ik-forum-topics-table) td,
#view-messages .ik-message-table td{
  padding:5px 9px!important;height:32px;line-height:1.25!important;
  vertical-align:middle;border-top:1px solid #ffffff12;color:#e5dccc;
}
#ik-tribe-root :is(.ik-announcements-table,.ik-forum-manage-table,.ik-forum-topics-table) tbody tr:first-child td,
#view-messages .ik-message-table tbody tr:first-child td{border-top:0}
#ik-tribe-root :is(.ik-announcements-table,.ik-forum-manage-table,.ik-forum-topics-table) tbody tr:nth-child(even),
#view-messages .ik-message-table tbody tr:nth-child(even){background:#ffffff06}
#ik-tribe-root :is(.ik-announcements-table,.ik-forum-manage-table,.ik-forum-topics-table) tbody tr:hover>td,
#view-messages .ik-message-table tbody tr:hover>td{background:#a7853820}
#ik-tribe-root :is(.ik-announcements-table,.ik-forum-topics-table) td:first-child,
#view-messages .ik-message-table td:nth-child(2){overflow-wrap:anywhere}
#ik-tribe-root :is(.ik-announcements-table,.ik-forum-topics-table) .ik-ally-thread-link,
#view-messages .ik-message-table .ik-message-thread-link{
  color:#f0d39d;font:650 12px/1.25 system-ui,sans-serif;cursor:pointer;
  padding:0!important;min-height:0!important;border:0!important;background:transparent!important;
  text-align:left;text-decoration:none;white-space:normal;overflow-wrap:anywhere;
}
#ik-tribe-root :is(.ik-announcements-table,.ik-forum-topics-table) .ik-ally-thread-link:hover,
#view-messages .ik-message-table .ik-message-thread-link:hover{text-decoration:underline;color:#ffe4b1}
#ik-tribe-root .ik-announcements-table{min-width:520px}
#ik-tribe-root .ik-announcements-table th:first-child{width:62%}
#ik-tribe-root .ik-announcements-table th:nth-child(2){width:17%}
#ik-tribe-root .ik-announcements-table th:last-child{width:21%}
#ik-tribe-root .ik-announcements-table td:last-child{white-space:nowrap;color:#bbbaad}
#ik-tribe-root .ik-forum-topics-table th:first-child{width:56%}
#ik-tribe-root .ik-forum-topics-table th:nth-child(2){width:17%}
#ik-tribe-root .ik-forum-topics-table th:nth-child(3){width:21%}
#ik-tribe-root .ik-forum-topics-table th:last-child{width:6%;text-align:center}
#ik-tribe-root .ik-forum-topics-table td:last-child{text-align:center}
#view-messages .ik-message-table{min-width:620px}
#view-messages .ik-message-table th:nth-child(1),#view-messages .ik-message-table td:nth-child(1){width:16%}
#view-messages .ik-message-table th:nth-child(2),#view-messages .ik-message-table td:nth-child(2){width:43%}
#view-messages .ik-message-table th:nth-child(3),#view-messages .ik-message-table td:nth-child(3){width:18%}
#view-messages .ik-message-table th:nth-child(4),#view-messages .ik-message-table td:nth-child(4){width:23%;white-space:nowrap}
#view-messages .ik-message-table tr.unread{background:#90612822}
#view-messages .ik-message-table tr.unread .ik-message-type{color:#f4c27c}
#view-messages .ik-message-table .ik-message-player-link{color:#c3dce7;text-decoration:none}
#view-messages .ik-message-table .ik-message-player-link:hover{text-decoration:underline}
#ik-tribe-root .ik-forum-footer{display:flex;justify-content:flex-end;margin:8px 2px 4px}
#ik-tribe-root .ik-forum-footer button,
#ik-tribe-root .ik-forum-manage-actions button,
#ik-tribe-root .ik-announcement-actions button{
  border:1px solid #836a46;border-radius:4px;background:var(--ik-theme-surface-alt);color:#edd6b0;
  padding:6px 10px!important;min-height:31px!important;font:600 12px/1.2 system-ui,sans-serif;cursor:pointer
}
#ik-tribe-root .ik-forum-footer button:hover,
#ik-tribe-root .ik-forum-manage-actions button:hover,
#ik-tribe-root .ik-announcement-actions button:hover{background:var(--ik-theme-elevated);border-color:#d5a86d}
#ik-tribe-root .ik-forum-manage-table{min-width:480px}
#ik-tribe-root .ik-forum-manage-table th:first-child{width:52%}
#ik-tribe-root .ik-forum-manage-table th:nth-child(2){width:14%}
#ik-tribe-root .ik-forum-manage-table th:last-child{width:34%}
#ik-tribe-root .ik-forum-manage-actions{display:flex;flex-wrap:wrap;gap:5px}
#ik-tribe-root .ik-forum-manage-actions button{min-height:29px!important;padding:4px 8px!important;font-size:11px}
#ik-tribe-root .ik-forum-permanent{margin-left:8px;color:var(--ik-theme-muted);font-size:11px;font-weight:400}
#ik-tribe-root .ik-forum-edit-row .ik-ally-form{display:flex;flex-wrap:wrap;align-items:end;gap:8px;margin:4px 0}
#ik-tribe-root .ik-forum-edit-row input{width:min(360px,100%)}
#ik-tribe-root .ik-announcement-meta{font-size:12px;color:#b6b7a5;margin:2px 0 10px}
#ik-tribe-root .ik-announcement-body{font-size:13px;line-height:1.5;overflow-wrap:anywhere;min-height:60px}
#ik-tribe-root .ik-announcement-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:14px;border-top:1px solid #ffffff22;padding-top:9px}
#ik-tribe-root .ik-announcement-actions button:last-child{color:#f5c1b7;border-color:#a06b58}
#ik-tribe-root .ik-ally-thread-back{margin-bottom:8px}
@media(max-width:700px){
 #ik-tribe-root .ik-forum-manage-actions button,#ik-tribe-root .ik-forum-footer button,#ik-tribe-root .ik-announcement-actions button{min-height:40px!important}
 #ik-tribe-root .ik-announcements-table{min-width:500px}
 #view-messages .ik-message-table{min-width:590px}
}


/* ---- GAME : r71r32-forum-moderation.css ---- */
/* R71-R32: moderation tools live inside topic details; keep forum listings compact. */
#ik-tribe-root .ik-forum-thread-moderation{display:flex;align-items:end;justify-content:flex-end;flex-wrap:wrap;gap:7px;margin:0 0 10px;padding:7px 9px;border:1px solid #88744955;border-radius:5px;background:color-mix(in srgb, var(--ik-theme-surface-alt) 53.3%, transparent)}
#ik-tribe-root .ik-forum-thread-moderation label{display:flex;align-items:center;gap:7px;font:600 12px system-ui,sans-serif;color:#d7c5a6}
#ik-tribe-root .ik-forum-thread-moderation select{min-height:30px;max-width:240px;padding:4px 9px;border:1px solid #8b714b;border-radius:4px;background:var(--ik-theme-surface);color:#f5e4c7}
#ik-tribe-root .ik-forum-thread-moderation button,#ik-tribe-root .ik-forum-post-delete{font:600 11px/1.2 system-ui,sans-serif;min-height:30px!important;padding:5px 9px!important;border-radius:4px;cursor:pointer}
#ik-tribe-root .ik-forum-thread-moderation button{color:#f2dfb9;background:var(--ik-theme-elevated);border:1px solid #aa945b}
#ik-tribe-root .ik-forum-post-heading{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#ik-tribe-root .ik-forum-post-heading small{color:#aaa99b}
#ik-tribe-root .ik-forum-post-delete{margin-left:auto;background:#442821!important;color:#f5c3b7!important;border:1px solid #a46a5c!important}
#ik-tribe-root .ik-forum-post-delete:hover{background:#65382a!important}
@media(max-width:700px){#ik-tribe-root .ik-forum-thread-moderation{justify-content:flex-start}#ik-tribe-root .ik-forum-post-delete,#ik-tribe-root .ik-forum-thread-moderation button{min-height:40px!important}}


/* ---- GAME : r71r33-forum-advanced.css ---- */
/* R71-R33 — compact forum actions; preserve R71-R28 density and R71-R31 tables. */
#ik-tribe-root .ik-forum-search{display:flex;align-items:end;gap:7px;flex-wrap:wrap;margin:4px 0 9px;padding:7px;border:1px solid #84745666;border-radius:5px;background:color-mix(in srgb, var(--ik-theme-surface-alt) 40%, transparent)}
#ik-tribe-root .ik-forum-search label{display:flex;flex-direction:column;gap:3px;min-width:135px;font-size:11px}
#ik-tribe-root .ik-forum-search label:first-child{flex:1 1 200px}
#ik-tribe-root .ik-forum-search input,#ik-tribe-root .ik-forum-search select{min-height:31px;padding:4px 7px;width:100%}
#ik-tribe-root .ik-forum-search button,#ik-tribe-root .ik-forum-thread-moderation button{min-height:31px!important;padding:5px 9px!important;font-size:11px}
#ik-tribe-root .ik-forum-row-unread .ik-ally-thread-link{font-weight:800}
#ik-tribe-root .ik-forum-unread{color:#8dc8ff;margin-right:7px}
#ik-tribe-root .ik-forum-category{color:#b8b2a1;margin-left:7px;font-size:10px}
#ik-tribe-root .ik-forum-tag{display:inline-flex;padding:3px 7px;border:1px solid #948353;border-radius:4px;font-size:11px;margin:2px 5px 8px 0}
#ik-tribe-root .ik-forum-closed{padding:10px;border:1px solid #aa905b66;border-radius:5px;font-size:12px}
#ik-tribe-root .ik-forum-first-unread{border-left:3px solid #62a5e6!important;padding-left:8px}
#ik-tribe-root .ik-forum-post-heading button:not(.ik-forum-post-delete){font-size:11px;min-height:28px!important;padding:3px 8px!important}
#ik-tribe-root .ik-forum-post-heading .ik-forum-post-delete{margin-left:0}
#ik-tribe-root .ik-forum-edit-form{margin:8px 0;padding:10px;border:1px solid #8d794b77;border-radius:5px}
#ik-tribe-root .ik-forum-edit-form[hidden],#ik-tribe-root .ik-forum-history[hidden]{display:none!important}
#ik-tribe-root .ik-forum-history{margin-top:8px;padding:8px;border-left:2px solid #a58c57;background:color-mix(in srgb, var(--ik-theme-surface) 33.3%, transparent)}
#ik-tribe-root .ik-forum-revision{padding:8px 0;border-bottom:1px solid #86764b44}
#ik-tribe-root .ik-forum-revision:last-child{border-bottom:0}
@media(max-width:700px){#ik-tribe-root .ik-forum-search button,#ik-tribe-root .ik-forum-thread-moderation button{min-height:40px!important}}


/* ---- GAME : r71r34-tribe-permissions.css ---- */
/* R71-R34 — Dense permission editor, no layout changes elsewhere. */
#ik-tribe-root .ik-ally-member-rights{margin:.65rem 0;padding:.6rem;border:1px solid var(--line,#b9aea0);border-radius:6px;min-width:0}
#ik-tribe-root .ik-ally-rights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:5px 10px}
#ik-tribe-root .ik-ally-rights-grid>label{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:10px;padding:4px 7px;border-bottom:1px solid rgba(127,127,127,.18);font-size:.91rem}
#ik-tribe-root .ik-ally-rights-grid select{width:auto;max-width:115px;min-width:105px;min-height:30px;padding:3px 5px}
#ik-tribe-root .ik-ally-rights-grid small{display:block;opacity:.75;font-size:.76rem}
#ik-tribe-root .ik-ally-member-editor .primary{margin:5px 7px 5px 0}
@media(max-width:580px){#ik-tribe-root .ik-ally-rights-grid{grid-template-columns:1fr}}


/* ---- GAME : r71r35-compact-tables-report.css ---- */
/* Iron Kingdoms R71-R35 | compact Forum-style Ranking, report details and message controls.
   Purely presentational; no changes to the village/map canvas or combat calculations. */
#view-ranking .ik-rank-table-wrap{
  border:1px solid #736040;border-radius:6px;background:var(--ik-theme-surface);overflow-x:auto;
  box-shadow:inset 0 1px 0 #fff1cd10;
}
#view-ranking .ik-rank-table{
  width:100%;min-width:610px;border-collapse:separate;border-spacing:0;
  font:500 12px/1.3 system-ui,sans-serif;font-variant-numeric:tabular-nums;
}
#view-ranking .ik-rank-table th{
  padding:8px 10px!important;border-bottom:1px solid #92755080;
  background:var(--ik-theme-surface-alt);color:#ecd5ac;text-align:left;font-size:11px;
  letter-spacing:.015em;font-weight:700;white-space:nowrap;
}
#view-ranking .ik-rank-table td{
  padding:5px 10px!important;height:auto!important;border-bottom:1px solid #ffffff13;
  line-height:1.25!important;color:#e5ddcf;vertical-align:middle;
}
#view-ranking .ik-rank-table tr:nth-child(even){background:#ffffff06}
#view-ranking .ik-rank-table tbody tr:hover td{background:#b88f4130}
#view-ranking .ik-rank-table tbody tr.ik-rank-me td{background:#92713a26}
#view-ranking .ik-rank-table th:first-child,#view-ranking .ik-rank-table td:first-child{width:48px;padding-left:12px!important;color:#deb77f}
#view-ranking .ik-rank-table th.ik-rank-numeric,#view-ranking .ik-rank-table td.ik-rank-numeric{text-align:right}
#view-ranking .ik-rank-table td:nth-child(2){font-weight:650;overflow-wrap:anywhere}
#view-ranking .ik-rank-table td a{color:#ebd4a9;text-decoration:none}
#view-ranking .ik-rank-table td a:hover{color:#fff0c8;text-decoration:underline}
#view-ranking .ik-rank-table .ik-rank-score{color:#f2d29c!important;font-weight:700}
#view-ranking .ik-r25-highlights{gap:7px;margin:8px 0}
#view-ranking .ik-r25-highlights>div{padding:9px 11px;gap:2px;border-radius:5px}
#view-ranking .ik-r25-highlights strong{font-size:19px}
#view-ranking .ik-r25-filters{gap:8px;margin:9px 0}
#view-ranking .ik-r25-filters input,#view-ranking .ik-r25-filters select{padding:7px 9px;min-height:34px}
#view-ranking .ik-rank-explain{margin:10px 0!important;line-height:1.4}

/* Filters are narrow and legible, including at 390 px. */
#view-messages .ik-r35-message-filters,#view-reports .ik-r35-report-filters{
  display:flex;flex-wrap:wrap;align-items:flex-end;gap:7px;margin:7px 0;
}
#view-messages .ik-r35-message-filters label{
  display:grid;gap:3px;flex:0 1 166px;min-width:135px;font:600 11px/1.3 system-ui,sans-serif;color:#e1c9a3;
}
#view-messages .ik-r35-message-filters label:first-child{flex:1 1 235px}
#view-messages .ik-r35-message-filters input,#view-reports .ik-r35-date input{
  box-sizing:border-box;width:100%;min-width:0;min-height:33px;padding:6px 9px;
  border:1px solid #75664b;border-radius:4px;background:var(--ik-theme-deep);color:#e6ddc9;font:12px system-ui,sans-serif;
  color-scheme:dark;
}
#view-reports .ik-reports-toolbar .ik-r35-date{flex:0 1 155px;min-width:130px}
#view-reports .ik-reports-toolbar .ik-r35-date input{min-height:35px}
#view-messages .ik-r35-message-filters button,#view-messages .ik-r35-message-bulk button,
#view-reports #ik-reports-filter-reset{
  min-height:32px!important;padding:6px 9px!important;border:1px solid #816a48;
  border-radius:4px;background:var(--ik-theme-surface-alt);color:#ecd5a8;font:600 11px/1.3 system-ui,sans-serif;
}
#view-messages .ik-r35-message-bulk{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 8px}
#view-messages .ik-r35-message-bulk #ik-message-hide{border-color:#966d5b;color:#f5c8bc}
#view-messages .ik-r35-message-bulk button:disabled{opacity:.5;cursor:not-allowed}
#view-messages #ik-message-selected-count{margin-left:auto;font-size:11px;color:#bdb7a9}
#view-messages .ik-message-table .ik-r35-message-check{
  vertical-align:middle;margin:0 7px 1px 0;width:14px;height:14px;accent-color:#d4ad73;cursor:pointer;
}
#view-messages .ik-message-table .ik-message-type{white-space:nowrap}

/* Report detail: fewer large card islands and less vertical whitespace, without
   hiding siege, troop losses, resources, loyalty or intelligence. */
#view-reports .ik-report-view{padding:9px!important}
#view-reports .ik-report-detail-card{
  margin-top:5px!important;padding:10px 12px!important;border-radius:6px!important;
}
#view-reports .ik-report-detail-heading{
  align-items:center!important;gap:6px 10px!important;padding-bottom:7px!important;
}
#view-reports .ik-report-detail-heading .ik-r40-heading-titles{min-width:0;flex:1 1 260px}
#view-reports .ik-report-detail-heading h2{
  margin:1px 0!important;font-size:clamp(16px,1.7vw,21px)!important;line-height:1.25!important;
}
#view-reports .ik-report-detail-card .ik-report-summary{
  margin:7px 0 4px!important;padding:0!important;border:0!important;gap:0!important;
}
#view-reports .ik-report-detail-card .ik-report-summary dt,
#view-reports .ik-report-detail-card .ik-report-summary dd{
  padding:4px 7px!important;font-size:12px!important;line-height:1.3!important;
  min-height:0!important;
}
#view-reports .ik-report-detail-card .ik-report-armies{
  gap:6px!important;margin:7px 0 0!important;padding-top:7px!important;
}
#view-reports .ik-report-detail-card .ik-report-army,
#view-reports .ik-report-detail-card .ik-report-loot,
#view-reports .ik-report-detail-card .ik-report-damage{
  padding:7px 0!important;margin:0!important;
}
#view-reports .ik-report-detail-card .ik-report-armies > .ik-report-army + .ik-report-army{
  padding-left:10px!important;
}
#view-reports .ik-report-detail-card .ik-report-army h3,
#view-reports .ik-report-detail-card .ik-report-loot h3,
#view-reports .ik-report-detail-card .ik-report-damage h3{
  font-size:15px!important;line-height:1.25!important;
  margin:0 0 5px!important;padding:0 0 4px!important;
}
#view-reports .ik-report-detail-card .ik-report-units th,
#view-reports .ik-report-detail-card .ik-report-units td{
  padding:4px 5px!important;line-height:1.25!important;font-size:11px!important;
}
#view-reports .ik-report-detail-card .ik-r40-unit-icon{width:27px;height:27px}
#view-reports .ik-report-detail-card > .ik-report-loot,
#view-reports .ik-report-detail-card > .ik-report-damage,
#view-reports .ik-report-detail-card > .ik-r29-spy-intel,
#view-reports .ik-report-detail-card > .ik-r29-spy-failed{
  margin-top:4px!important;padding-top:8px!important;
}
#view-reports .ik-report-detail-card .ik-report-resource-grid{gap:5px}
#view-reports .ik-report-detail-card .ik-report-resource-grid span{padding:6px 8px!important;font-size:11px}
#view-reports .ik-report-detail-card .ik-r30-siege-stats{gap:5px;margin:4px 0 7px}
#view-reports .ik-report-detail-card .ik-r30-siege-stats span{padding:6px 9px;line-height:1.3}
#view-reports .ik-report-detail-card .ik-r29-spy-columns{gap:7px;margin-top:6px}
#view-reports .ik-report-detail-card .ik-r29-spy-cell{padding:7px}
#view-reports .ik-report-detail-card .ik-r29-spy-cell h4{margin:0 0 5px;font-size:12px}
#view-reports .ik-report-detail-card .ik-report-damage ul{margin:2px 0;padding-left:19px;line-height:1.35}
#view-reports .ik-report-detail-card .ik-report-disclaimer{margin:5px 0 0;padding:6px 0 0}
/* Keep the approved ×/result height identical. */
#view-reports .ik-report-detail-card .ik-r41-report-close,
#view-reports .ik-report-detail-card .ik-r41-report-heading-actions .ik-report-result-band{
  height:34px!important;min-height:34px!important;max-height:34px!important;
}
@media(max-width:760px){
 #view-reports .ik-report-detail-card .ik-report-armies > .ik-report-army + .ik-report-army{
  padding-left:0!important;padding-top:8px!important;
 }
}
@media(max-width:590px){
 #view-ranking .ik-rank-table{min-width:580px}
 #view-messages .ik-r35-message-filters label{flex:1 1 145px}
 #view-reports .ik-report-detail-card{padding:8px!important}
 #view-reports .ik-report-detail-card .ik-report-summary{grid-template-columns:minmax(90px,38%) minmax(0,1fr)}
}


/* ---- GAME : r71r36-military-reports-messages-members.css ---- */
/* R71-R36: isolated UI adjustments; no gameplay/canvas changes. */
/* Battle report: align the defender panel flush with the attacker. */
#view-reports .ik-report-detail-card .ik-report-armies > .ik-report-army + .ik-report-army{
  padding-left:0!important;margin-left:0!important;transform:none!important;border-left:0!important;
}
#view-reports .ik-report-detail-card .ik-report-armies > .ik-report-army{
  box-sizing:border-box;min-width:0;
}
/* Individually framed modern message cards, including sender and time. */
#view-messages .ik-dialogue-history{display:flex;flex-direction:column;gap:9px;padding:10px 12px;background:var(--ik-theme-deep)}
#view-messages .ik-r36-message-card{
  display:block;flex:none;align-self:flex-start;width:fit-content;max-width:min(84%,760px);
  margin:0;padding:0;overflow:hidden;border:1px solid var(--ik-theme-border-strong);
  border-radius:10px;background:var(--ik-theme-surface-alt);box-shadow:0 2px 7px #0003;
}
#view-messages .ik-r36-message-card.mine{align-self:flex-end;border-color:#b58b51;background:#342f25}
#view-messages .ik-r36-message-card-header{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;
  gap:3px 14px;padding:6px 10px;background:#ffffff08;border-bottom:1px solid #ffffff17;
}
#view-messages .ik-r36-message-card.mine .ik-r36-message-card-header{background:#ddb36c13}
#view-messages .ik-r36-message-author{font-size:12px;font-weight:700;color:#efc98a}
#view-messages .ik-r36-message-time{font-size:11px;color:#d1c3a9;font-variant-numeric:tabular-nums}
#view-messages .ik-r36-message-card .ik-dialogue-text{margin:0;padding:9px 11px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45;color:#f0e8da;font-size:13px}
#view-messages .ik-r36-message-card .ik-dialogue-text :first-child{margin-top:0}
#view-messages .ik-r36-message-card .ik-dialogue-text :last-child{margin-bottom:0}
@media(max-width:600px){#view-messages .ik-r36-message-card{max-width:96%}#view-messages .ik-r36-message-card-header{gap:3px 7px}}
/* Tribe members: one entry-point, at the right of each member row. */
#ik-tribe-root .ik-r36-members-table th:last-child{text-align:right;white-space:nowrap}
#ik-tribe-root .ik-r36-member-actions-cell{text-align:right;white-space:nowrap}
#ik-tribe-root .ik-r36-member-actions{display:flex;justify-content:flex-end;align-items:center;gap:6px}
#ik-tribe-root .ik-r36-member-admin{border:1px solid #b39a67;background:var(--ik-theme-surface-alt);color:#edd9b5;font-weight:600;border-radius:5px;padding:5px 10px;min-height:31px}
#ik-tribe-root .ik-r36-member-admin:hover{background:var(--ik-theme-elevated)}
#ik-tribe-root .ik-r36-member-back{margin-bottom:9px}
#ik-tribe-root .ik-r36-member-editor{max-width:1100px;margin:0 auto;min-width:0}
#ik-tribe-root .ik-r36-editor-actions{display:flex;justify-content:flex-end;margin:4px 0 9px}
#ik-tribe-root .ik-r36-member-compat{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px;border:1px solid #a9957544;border-radius:7px;margin:10px 0}
#ik-tribe-root .ik-r36-member-compat select{min-height:32px}
@media(max-width:630px){#ik-tribe-root .ik-r36-member-editor .ik-r36-editor-actions{justify-content:stretch}#ik-tribe-root .ik-r36-editor-actions button{width:100%}}
/* Additional global movement filters. */
.ik-military-overview .ik-r36-military-search{min-width:170px;flex:1 1 185px}
.ik-military-overview .ik-r36-military-search input{width:100%;min-height:30px}
.ik-military-overview .ik-r36-military-filterbtn{align-self:end;min-height:32px}
.ik-military-overview .ik-r36-military-dates{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ik-military-overview .ik-r36-military-dates label{min-width:155px}
.ik-military-overview .ik-r36-military-dates input{max-width:190px;min-height:31px}

/* Bulk folder movement: match the existing compact reports selection toolbar. */
#view-reports .ik-r36-bulk-move-target{display:flex;gap:7px;align-items:center;min-width:0;font:600 11px system-ui,sans-serif;color:#ead5ad}
#view-reports #ik-r36-reports-move-target{height:32px;max-width:230px;min-width:128px;padding:4px 7px;border-radius:5px;border:1px solid #8c7957;background:var(--ik-theme-surface);color:#f1ddbd;font:12px system-ui,sans-serif}
#view-reports #ik-r36-reports-move{border-color:#9d9563;background:var(--ik-theme-elevated)}
#view-reports #ik-r36-reports-move:not(:disabled):hover{background:var(--ik-theme-selected)}
@media(max-width:620px){#view-reports .ik-r36-bulk-move-target{width:100%;justify-content:space-between}#view-reports #ik-r36-reports-move-target{flex:1;max-width:none}}


/* ---- GAME : r71r37-village-map-report-messages-tables.css ---- */
/* Iron Kingdoms R71-R37 — compact military filters, map coordinates, messaging and unified journal-table palette. */
:is(#view-village,#ik-rally-village-movements) .ik-vm-heading{flex-wrap:wrap;gap:7px;padding:7px 10px}
:is(#view-village,#ik-rally-village-movements) .ik-r37-vm-header-controls{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;margin-left:auto;min-width:0}
:is(#view-village,#ik-rally-village-movements) .ik-r37-vm-header-controls select{min-height:29px;max-width:170px;min-width:0;padding:3px 7px;background:#302c27;border:1px solid #78654b;border-radius:5px;color:#f1ddbb;font:12px system-ui,sans-serif}
:is(#view-village,#ik-rally-village-movements) .ik-r37-vm-header-controls select:focus-visible{outline:2px solid #c99e66;outline-offset:1px}
#view-world .ik-main-map-heading #map-click-info{color:#c8bcaa;font-weight:500}
#view-world .ik-main-map-heading #map-click-info[hidden]{display:none!important}
/* Conversation cards are narrower; BBCode media and long strings remain contained. */
#view-messages .ik-dialogue-history{max-width:860px;width:100%;box-sizing:border-box;margin-inline:auto}
#view-messages .ik-r36-message-card{max-width:min(74%,570px)}
#view-messages .ik-r36-message-card .ik-bb-content{min-width:0;overflow-wrap:anywhere}
#view-messages .ik-r36-message-card .ik-bb-content img{max-width:100%;height:auto}
#view-messages .ik-r37-message-author-link{color:#f1cc91;text-decoration:none}
#view-messages .ik-r37-message-author-link:hover,#view-messages .ik-r37-message-author-link:focus-visible{text-decoration:underline;color:#ffe5b6}
@media(max-width:700px){#view-messages .ik-r36-message-card{max-width:92%}#view-messages .ik-dialogue-history{padding-inline:7px}}
/* Report hover: no extra server requests; visible to keyboard focus too. */
#view-reports .ik-r41-report-entry{position:relative}
#view-reports .ik-r37-report-hover{display:none;position:absolute;top:calc(100% + 2px);left:25px;right:5px;min-width:200px;z-index:50;padding:8px 10px;background:#302920;border:1px solid #9b7c53;box-shadow:0 8px 22px #000b;border-radius:7px;color:#efdfc9;font:12px/1.35 system-ui,sans-serif;pointer-events:none}
#view-reports .ik-r37-report-hover>div{display:grid;grid-template-columns:75px minmax(0,1fr);gap:8px;padding:2px 0}
#view-reports .ik-r37-report-hover strong{color:#efc788}
#view-reports .ik-r37-report-hover span{overflow-wrap:anywhere}
#view-reports .ik-r41-report-entry:hover>.ik-r37-report-hover,#view-reports .ik-r41-report-entry:focus-within>.ik-r37-report-hover{display:block}
/* Journal-style brown/gold table theme. Retain semantic text colors and special status highlights. */
main .view table:not(.ik-calendar-grid){border-color:#66553a}
main .view table:not(.ik-calendar-grid) thead th{background:#4b3d2b!important;color:#f2d7ad!important;border-color:#66553a!important}
main .view table:not(.ik-calendar-grid) tbody tr:nth-child(odd):not([class*="won"]):not([class*="loss"]){background-color:#ffffff07}
main .view table:not(.ik-calendar-grid) tbody tr:nth-child(even):not([class*="won"]):not([class*="loss"]){background-color:#201e1b22}
main .view table:not(.ik-calendar-grid) tbody tr:hover:not([class*="won"]):not([class*="loss"]){background-color:#a27b4030}
main .view table:not(.ik-calendar-grid) :is(td,th){border-bottom-color:#66553a}
@media(max-width:520px){:is(#view-village,#ik-rally-village-movements) .ik-r37-vm-header-controls select{max-width:130px;font-size:11px}#view-reports .ik-r37-report-hover{left:0;right:0}}


/* ---- GAME : r71r38-report-hover-and-map-fix.css ---- */
/* Iron Kingdoms R71-R38: full authorized report preview, no scroll clipping. */
#view-reports .ik-r41-report-entry>.ik-r38-report-preview{display:none!important}
body>.ik-r38-report-preview{
 display:none;position:fixed;z-index:10010;box-sizing:border-box;
 max-width:calc(100vw - 24px);max-height:min(510px,calc(100vh - 16px));
 overflow-y:auto;overscroll-behavior:contain;pointer-events:none;
 background:#292620;border:1px solid #a4895d;border-radius:8px;
 padding:10px 12px;box-shadow:0 14px 35px #000c;color:#f1e0c3;
 font:11px/1.35 system-ui,sans-serif;
}
body>.ik-r38-report-preview.is-visible{display:block}
body>.ik-r38-report-preview .ik-report-armies{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;margin:0}
body>.ik-r38-report-preview .ik-report-army,
body>.ik-r38-report-preview .ik-report-loot{
 min-width:0;margin:0;padding:4px 0;border:0;background:transparent;box-shadow:none;
}
body>.ik-r38-report-preview .ik-report-army + .ik-report-army{border-top:1px solid #6f5b3a;padding-top:7px}
body>.ik-r38-report-preview :is(.ik-report-army h3,.ik-report-loot h3){
 color:#e9c58c;font:600 12px/1.3 system-ui,sans-serif;margin:0 0 5px;padding:0;border:0;
}
body>.ik-r38-report-preview .ik-command-table-scroll{min-width:0;overflow-x:auto;scrollbar-width:thin}
body>.ik-r38-report-preview .ik-report-units{width:100%;min-width:425px;border-collapse:collapse;font:10px/1.3 system-ui,sans-serif}
body>.ik-r38-report-preview .ik-report-units :is(td,th){padding:3px 3px;border-bottom:1px solid #7763444a;text-align:center;white-space:nowrap}
body>.ik-r38-report-preview .ik-report-units th:first-child{text-align:left;min-width:68px}
body>.ik-r38-report-preview .ik-report-units thead th{background:#4b3d2b;color:#f3d5a2}
body>.ik-r38-report-preview .ik-report-units .ik-r40-unit-icon{display:inline-block;width:22px;height:22px;object-fit:contain;vertical-align:middle}
body>.ik-r38-report-preview .ik-report-units .ik-r40-zero{opacity:.55}
body>.ik-r38-report-preview .ik-report-loot{border-top:1px solid #806640;margin-top:7px;padding-top:7px}
body>.ik-r38-report-preview .ik-report-resource-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
body>.ik-r38-report-preview .ik-report-resource-grid span{display:flex;justify-content:space-between;gap:4px;min-width:0;margin:0;padding:5px 7px;background:#352e24;border:1px solid #675237;border-radius:4px;font-size:10px}
body>.ik-r38-report-preview .ik-report-resource-grid b{white-space:nowrap;color:#f4d9a5}
@media(max-width:650px){
 body>.ik-r38-report-preview{padding:7px}
 body>.ik-r38-report-preview .ik-report-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* ---- GAME : r71r53-map-village-ui.css ---- */
/* R71-R53 · radial map actions: centre each icon regardless of generic button
   layout/padding rules. This deliberately changes no placement coordinates. */
body .ik-map-radial .ik-map-radial-action {
 display:flex!important;align-items:center!important;justify-content:center!important;
 padding:0!important;text-align:center!important;line-height:1!important;
 min-width:0!important;min-height:0!important;
}
body .ik-map-radial .ik-map-radial-action .ik-map-radial-icon {
 position:static!important;box-sizing:border-box!important;width:100%!important;
 height:100%!important;display:grid!important;place-items:center!important;
 margin:0!important;padding:0!important;transform:none!important;
 line-height:1!important;text-align:center!important;flex:none!important;
}
/* R71-R55 · compact, full-width village profile; locator removed on request. */
#ik-public-profile .ik-r53-village-layout{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;}
#ik-public-profile .ik-r53-village-data{min-width:0;}
#ik-public-profile .ik-r53-village-compact th,#ik-public-profile .ik-r53-village-compact td{padding:6px 9px;}
#ik-public-profile .ik-r53-village-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px;}
#ik-public-profile .ik-r53-village-actions :is(button,a.ik-profile-open-village){min-width:125px;padding:8px 12px;border-radius:6px;cursor:pointer;}
#ik-public-profile .ik-r53-village-actions :is(button,a.ik-profile-open-village):disabled{opacity:.47;cursor:not-allowed;}
#ik-public-profile .ik-r53-village-status{font-size:12px;color:var(--ik-theme-highlight);margin:8px 0 0;}
#ik-public-profile .ik-r53-village-status.is-error{color:var(--ik-theme-danger);}
@media(max-width:680px){#ik-public-profile .ik-r53-village-actions :is(button,a.ik-profile-open-village){flex:1 1 135px;}}


/* ---- GAME : r71r54-map-hotfix.css ---- */
/* R71-R54 — Restore amber radial controls without touching central UI theme. */
body:not(.portal):not(.worlds-page) #ik-map-radial.ik-map-radial button.ik-map-radial-action,
body:not(.portal):not(.worlds-page) #ik-map-radial.ik-map-radial button.ik-map-radial-action:not(:disabled){
 box-sizing:border-box!important;display:flex!important;justify-content:center!important;align-items:center!important;
 width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;
 padding:0!important;border-radius:50%!important;border:2px solid #e7b87a!important;
 background:radial-gradient(circle at 30% 22%,#92683b 0%,#64462c 39%,#36251c 76%,#261910 100%)!important;
 color:#ffebc7!important;text-shadow:0 1px 2px #140e08!important;
 box-shadow:0 3px 12px #000b,0 0 0 3px #301d12, inset 0 1px 3px #ffe6ae55!important;
 transition:background .14s,border-color .14s,box-shadow .14s!important;
 overflow:visible!important;
}
body:not(.portal):not(.worlds-page) #ik-map-radial.ik-map-radial button.ik-map-radial-action.is-center{
 width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
 border-color:#ffdf9c!important;
 background:radial-gradient(circle at 30% 22%,#bf884c 0%,#80522c 42%,#3a2719 85%)!important;
 box-shadow:0 3px 13px #000d,0 0 0 3px #49301d,inset 0 1px 4px #ffe4a666!important;
}
body:not(.portal):not(.worlds-page) #ik-map-radial.ik-map-radial button.ik-map-radial-action:hover,
body:not(.portal):not(.worlds-page) #ik-map-radial.ik-map-radial button.ik-map-radial-action:focus-visible{
 border-color:#ffe2a9!important;background:radial-gradient(circle at 30% 20%,#dfab6a,#8d5930 65%,#412718)!important;
 box-shadow:0 4px 14px #000d,0 0 0 4px #9b6436,inset 0 1px 4px #fff5d099!important;
 outline:2px solid #ffe8b7!important;outline-offset:4px!important;
}
body:not(.portal):not(.worlds-page) #ik-map-radial.ik-map-radial button.ik-map-radial-action .ik-map-radial-icon{
 position:static!important;display:grid!important;place-items:center!important;
 flex:0 0 auto!important;width:100%!important;height:100%!important;
 box-sizing:border-box!important;margin:0!important;padding:0!important;
 background:transparent!important;border:0!important;border-radius:50%!important;
 color:inherit!important;font:700 18px/1 system-ui,sans-serif!important;
 transform:none!important;text-align:center!important;pointer-events:none!important;
}


/* ---- GAME : r71r54-ui-stability.css ---- */
/* R71-R54 — Compact interface refinements. Loaded before the official ik-theme.css. */
#view-messages .ik-messages-page{max-width:1440px;margin:auto}
#view-messages .ik-messages-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
#view-messages .ik-messages-layout{display:grid;grid-template-columns:minmax(310px, .96fr) minmax(380px, 1.35fr);gap:14px;align-items:start}
#view-messages #ik-message-list,#view-messages #ik-message-detail{min-width:0;border:1px solid #9c7046;border-radius:14px;background:linear-gradient(155deg,#433025,#2b211d 70%);box-shadow:0 10px 26px #140d0980,inset 0 1px #eed0a31e;padding:12px}
#view-messages .ik-message-table{border-collapse:separate;border-spacing:0 7px;width:100%;min-width:0!important;table-layout:auto}
#view-messages .ik-message-table thead{background:transparent}
#view-messages .ik-message-table tbody tr{background:linear-gradient(110deg,#583b29,#34271e);box-shadow:0 2px 8px #160d0966;transition:filter .14s ease,transform .14s ease}
#view-messages .ik-message-table tbody tr:hover{filter:brightness(1.17)}
#view-messages .ik-message-table tbody tr.is-selected{outline:2px solid #f0b866;outline-offset:-2px}
#view-messages .ik-message-table tbody tr.unread{background:linear-gradient(110deg,#75512f,#43301f);box-shadow:inset 3px 0 #f0b866,0 2px 9px #160d0999}
#view-messages .ik-message-table tbody td{padding:13px 10px!important;border-top:1px solid #b48a5955!important;border-bottom:1px solid #b48a5955!important;vertical-align:middle}
#view-messages .ik-message-table tbody td:first-child{border-left:1px solid #b48a5955!important;border-radius:10px 0 0 10px;font-size:.77em}
#view-messages .ik-message-table tbody td:last-child{border-right:1px solid #b48a5955!important;border-radius:0 10px 10px 0}
#view-messages .ik-message-thread-link{font-weight:800!important;text-align:left!important;border:0!important;background:none!important;box-shadow:none!important;color:#ffdc9b!important;padding:2px!important;white-space:normal!important}
#view-messages .ik-message-player-link{color:#eed1a2!important;font-weight:700}
#view-messages .ik-message-date{font-size:.83em;color:#cbb99c}
#view-messages #ik-message-detail h2{margin:4px 0 4px;font-size:1.2rem;color:#ffe2ad}
#view-messages .ik-dialogue-history{display:flex;flex-direction:column;gap:12px;padding:14px 8px;max-height:min(65vh,730px);overflow:auto;scrollbar-color:#bd8954 #2b211d}
#view-messages .ik-dialogue-bubble{max-width:min(92%,700px);border:1px solid #936b46;border-radius:14px 14px 14px 4px;background:linear-gradient(145deg,#4a372b,#30251f);box-shadow:0 6px 14px #180f0a66;padding:12px 15px;align-self:flex-start}
#view-messages .ik-dialogue-bubble.mine{align-self:flex-end;border-radius:14px 14px 4px 14px;background:linear-gradient(150deg,#715035,#453123);border-color:#c49253}
#view-messages .ik-r36-message-card-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;margin-bottom:6px}
#view-messages .ik-dialogue-text{line-height:1.55;overflow-wrap:anywhere}
@media(max-width:960px){#view-messages .ik-messages-layout{display:block}#view-messages #ik-message-list,#view-messages #ik-message-detail{margin-bottom:12px}#view-messages .ik-message-table{font-size:.82rem}#view-messages .ik-message-table tbody td{padding:9px 6px!important}}
.ik-forum-ref,.ik-forum-post-heading .ik-ally-member-name{color:#ffd38a!important;text-underline-offset:3px;text-decoration:underline;text-decoration-color:#dbac6155}
.ik-forum-ref:hover,.ik-forum-post-heading .ik-ally-member-name:hover{color:#fff0c9!important}

/* Custom construction templates, compatible with R51 amber palette */
.ik-build-template{margin:9px 0 15px;border:1px solid #9a734c;border-radius:12px;background:linear-gradient(145deg,#493223,#33241b);overflow:hidden}
.ik-build-template>summary{cursor:pointer;padding:11px 14px;font-weight:800;color:#ffdc9c;list-style-position:inside}
.ik-build-template>summary:hover{background:#61422b;color:#fff0cd}
.ik-build-template-form{padding:11px 14px 13px;border-top:1px solid #b58a5955;display:grid;gap:12px}
.ik-build-template-form>label{display:grid;gap:5px;max-width:560px;font-size:.9rem}
.ik-build-template-form>p,.ik-build-template-form>small{margin:0;color:#e0c8a6;font-size:.83rem}
.ik-build-template-levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px 12px;max-height:300px;overflow:auto;padding:4px}
.ik-build-template-levels label{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 9px;border-radius:7px;border:1px solid #89604466;background:#34271f}
.ik-build-template-levels label span{display:flex;flex-direction:column;gap:2px;font-weight:700;font-size:.82rem;color:#f5dcad}
.ik-build-template-levels label small{font-weight:500;color:#bda586}
.ik-build-template-levels input[type=number]{width:67px;min-width:67px;text-align:center;padding:5px!important;box-sizing:border-box}
@media(max-width:600px){.ik-build-template-levels{grid-template-columns:1fr}.ik-build-template-form{padding:10px}}


/* ---- GAME : r71r57-dialogue-modern.css ---- */
/* R71-R57 — Elegant conversation history, scoped entirely to Messages.
   R71-R51 centralized theme remains last, so overrides use explicit ID specificity. */
#view-messages #ik-message-detail {overflow:hidden}
/* R71-R58: title and close action share one compact header. No separate toolbar. */
#view-messages #ik-message-detail .ik-dialogue-heading {
 display:flex;align-items:center;justify-content:space-between;gap:10px;
 padding:0 0 9px;margin:0 0 10px;min-width:0;
 border-bottom:1px solid var(--ik-theme-border-soft,#936744);
}
#view-messages #ik-message-detail .ik-dialogue-heading h2 {
 flex:1 1 auto;min-width:0;margin:2px 0!important;
 overflow-wrap:anywhere;line-height:1.3;
}
#view-messages #ik-message-detail .ik-dialogue-heading > .ik-dialogue-close {
 flex:0 0 auto;align-self:center;width:auto!important;min-width:0!important;
 white-space:nowrap;min-height:34px!important;padding:7px 12px!important;
 border-radius:9px!important;font-size:.82rem!important;line-height:1.25!important;
 background:linear-gradient(135deg,#65402a,#422c20)!important;color:#ffe5c2!important;
 border:1px solid #ae8051!important;box-shadow:inset 0 1px #ffffff12,0 2px 7px #100c0955!important;
 font-weight:750!important;cursor:pointer;
}
#view-messages #ik-message-detail .ik-dialogue-heading > .ik-dialogue-close:hover,
#view-messages #ik-message-detail .ik-dialogue-heading > .ik-dialogue-close:focus-visible {
 background:linear-gradient(135deg,#845532,#5b3923)!important;border-color:#e4b276!important;color:#fff3d7!important;
}
#view-messages #ik-message-detail .ik-dialogue-heading > .ik-dialogue-close:focus-visible {
 outline:2px solid #f4d094!important;outline-offset:2px;
}
#view-messages .ik-dialogue-history {
 display:flex;flex-direction:column;gap:9px;
 padding:18px 16px 22px!important;max-height:min(64dvh,760px);
 border-radius:13px!important;border:1px solid #875c3c!important;
 background:radial-gradient(ellipse at 18% 0%,#65432b42,transparent 42%),
 linear-gradient(165deg,#261d19,#33251c 55%,#241b17)!important;
 box-shadow:inset 0 2px 12px #100b085c,0 1px #f3c58a1a;
 scroll-padding:15px;overflow-x:hidden;scrollbar-color:#ae7a48 #2a211b;
}
#view-messages .ik-dialogue-day {
 align-self:stretch;display:flex;align-items:center;gap:12px;margin:9px 0 4px;
 color:#e6c699;font-size:.71rem;letter-spacing:.035em;line-height:1.3;
 text-align:center;font-weight:700;
}
#view-messages .ik-dialogue-day::before,#view-messages .ik-dialogue-day::after {
 content:'';height:1px;min-width:8px;flex:1;background:linear-gradient(90deg,transparent,#a67b535e);
}
#view-messages .ik-dialogue-day::after{background:linear-gradient(90deg,#a67b535e,transparent)}
#view-messages .ik-dialogue-day span{background:#513722;border:1px solid #8a603b;border-radius:999px;padding:5px 12px;white-space:nowrap;max-width:80%;overflow:hidden;text-overflow:ellipsis}
#view-messages .ik-dialogue-bubble.ik-r36-message-card {
 position:relative;min-width:0;width:max-content;max-width:min(84%,700px)!important;
 padding:0!important;margin:0!important;gap:0!important;overflow:hidden;
 border-radius:13px 13px 13px 4px!important;
 background:linear-gradient(155deg,#493529,#332720)!important;
 border:1px solid #8c6547!important;box-shadow:0 3px 10px #130d0952,inset 0 1px #ffe9c311!important;
 align-self:flex-start;
}
#view-messages .ik-dialogue-bubble.ik-r36-message-card.mine {
 align-self:flex-end;border-radius:13px 13px 4px 13px!important;
 background:linear-gradient(150deg,#63472f,#493324)!important;
 border-color:#be9057!important;
 box-shadow:0 4px 14px #120b0763,inset 0 1px #fbd59f17!important;
}
#view-messages .ik-dialogue-bubble .ik-r36-message-card-header {
 display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 14px!important;
 margin:0!important;padding:7px 12px!important;min-height:31px;
 border:0;border-bottom:1px solid #c4945540!important;
 background:#b5844120!important;
}
#view-messages .ik-dialogue-bubble.mine .ik-r36-message-card-header {background:#ecc07717!important}
#view-messages .ik-dialogue-author-group {display:flex;align-items:center;gap:8px;min-width:0}
#view-messages .ik-dialogue-avatar {
 flex:none;display:grid;place-items:center;width:23px;height:23px;line-height:1;
 color:#ffe5b4;font-size:.69rem;font-weight:850;text-shadow:0 1px #21140d;
 background:linear-gradient(145deg,#92633c,#63452c)!important;
 border:1px solid #ad804b;border-radius:7px;
}
#view-messages .ik-dialogue-bubble.mine .ik-dialogue-avatar {background:linear-gradient(145deg,#ac7c42,#74512f)!important}
#view-messages .ik-dialogue-bubble .ik-r36-message-author {font-size:.84rem;font-weight:800;color:#ffdaa0!important;text-decoration:none;text-underline-offset:3px;overflow-wrap:anywhere}
#view-messages .ik-dialogue-bubble .ik-r36-message-author:hover {color:#fff1d0!important;text-decoration:underline}
#view-messages .ik-dialogue-bubble .ik-r36-message-time {color:#d6b995!important;font-size:.69rem;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:.01em}
#view-messages .ik-dialogue-bubble .ik-dialogue-text.ik-bb-content {
 padding:10px 13px 12px!important;margin:0!important;
 line-height:1.5;font-size:.86rem;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;color:#f8eada!important;
}
#view-messages .ik-dialogue-bubble .ik-dialogue-text :is(p,blockquote,pre){max-width:100%;margin-top:5px;margin-bottom:5px}
#view-messages .ik-dialogue-bubble .ik-dialogue-text :is(pre,code){white-space:pre-wrap;overflow-wrap:anywhere}
#view-messages .ik-dialogue-bubble .ik-dialogue-text img{max-width:100%;height:auto}
#view-messages .ik-dialogue-bubble .ik-dialogue-text a{color:#ffd28c!important;text-decoration:underline;text-underline-offset:2px}
#view-messages .ik-dialogue-bubble .ik-dialogue-text strong{color:#ffe1a9;font-weight:800}
#view-messages .ik-message-placeholder{color:#d2baa0;text-align:center;padding:45px 14px;border:1px dashed #7f5d42;border-radius:10px}
@media(max-width:700px){
 #view-messages .ik-dialogue-history{padding:12px 8px 18px!important;gap:8px}
 #view-messages .ik-dialogue-bubble.ik-r36-message-card{max-width:96%!important}
 #view-messages .ik-dialogue-bubble .ik-r36-message-card-header{padding:7px 9px!important}
 #view-messages .ik-dialogue-bubble .ik-dialogue-text.ik-bb-content{padding:9px 10px!important}
 #view-messages #ik-message-detail .ik-dialogue-heading{gap:7px}
 #view-messages #ik-message-detail .ik-dialogue-heading h2{font-size:1.02rem!important}
 #view-messages #ik-message-detail .ik-dialogue-heading > .ik-dialogue-close{padding:7px 8px!important;font-size:.75rem!important}
}


/* ---- GAME : r71r59-compact-detail-farm-ui.css ---- */
/* R71-R59 — only building details, smith research, influence, Raiduri and command-name controls.
   The approved R51 amber palette remains authoritative; no global selectors. */
#view-buildings #building-detail{padding:10px 12px 12px!important;min-width:0}
#view-buildings #building-detail .detail-head{display:none!important}
#view-buildings #building-detail #detail-back[hidden]{display:none!important}
#view-buildings #building-detail #detail-content{display:grid;gap:10px;min-width:0}
#view-buildings #building-detail .ik-detail-title{display:flex;align-items:center;gap:11px;margin:0!important;line-height:1.3;padding:9px 12px;border:1px solid var(--ik-theme-border-soft);background:var(--ik-theme-surface-alt);border-radius:8px;min-height:66px;box-sizing:border-box}
#view-buildings #building-detail .ik-detail-title>img,
#view-buildings #building-detail .ik-economic-building-identity .ik-detail-title>img{width:55px!important;height:55px!important;flex:0 0 55px!important;object-fit:contain}
#view-buildings #building-detail .ik-detail-title h2{font:normal clamp(18px,2vw,23px)/1.15 Georgia,serif;margin:0 0 5px;color:#f2d49e}
#view-buildings #building-detail .ik-r59-detail-meta{display:grid;align-content:center;min-width:0;gap:1px}
#view-buildings #building-detail .ik-r59-level-row{display:flex;align-items:center;gap:6px 15px;flex-wrap:wrap;font:11px/1.3 Arial,sans-serif;color:var(--ik-theme-ink)}
#view-buildings #building-detail .ik-r59-level-row span{white-space:nowrap}
#view-buildings #building-detail .ik-r59-level-row b{color:#f1d19a;font-size:12px}
#view-buildings #building-detail #military-panel{display:grid;gap:10px;min-width:0}
#view-buildings #building-detail .ik-detail-section{padding:11px 13px!important;margin:0!important;border-radius:8px;line-height:1.4!important;min-width:0}
#view-buildings #building-detail .ik-detail-section h3{font-size:clamp(16px,1.6vw,19px);margin:0 0 9px;line-height:1.18}
#view-buildings #building-detail .ik-detail-section p{margin:5px 0;font-size:12px;line-height:1.4}
#view-buildings #building-detail .ik-smith-group-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;align-items:start}
#view-buildings #building-detail .ik-smith-group{padding:8px 9px!important;margin:0;min-width:0;border-radius:7px;gap:6px}
#view-buildings #building-detail .ik-smith-group h4{margin:0 0 7px;font-size:13px;line-height:1.2}
#view-buildings #building-detail .ik-smith-units{gap:5px}
#view-buildings #building-detail .ik-smith-units .ik-troop-card{padding:7px 9px!important;gap:3px!important;border-radius:6px;min-width:0}
#view-buildings #building-detail .ik-smith-units .ik-troop-card small{font-size:10px;line-height:1.25;margin:0}
#view-buildings #building-detail .ik-smith-units .ik-troop-card button:not(.ik-r46-unit-name){min-height:27px;padding:4px 7px;font-size:11px;flex:none}
#view-buildings #building-detail .ik-smith-units .ik-r46-unit-name{padding:0;line-height:1.25;font-size:12px;text-align:left}
#view-buildings #building-detail .ik-smith-units .ik-troop-cost{font-size:10px;line-height:1.28}
#view-buildings #building-detail .ik-r59-influence{display:grid;gap:10px}
#view-buildings #building-detail .ik-r59-influence-heading{display:flex;justify-content:space-between;align-items:baseline;gap:8px 15px;flex-wrap:wrap}
#view-buildings #building-detail .ik-r59-influence-heading h3{margin:0}
#view-buildings #building-detail .ik-r59-influence-heading span{font:11px Arial,sans-serif;color:var(--ik-theme-ink)}
#view-buildings #building-detail .ik-r59-influence-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
#view-buildings #building-detail .ik-r59-influence-stats>span{display:flex;flex-direction:column;gap:2px;background:var(--ik-theme-elevated);border:1px solid var(--ik-theme-border-soft);padding:7px 9px;border-radius:6px;font-size:10px;line-height:1.3;min-width:0}
#view-buildings #building-detail .ik-r59-influence-stats strong{font:700 18px/1.1 Georgia,serif;color:#f1c27f}
#view-buildings #building-detail .ik-r59-influence-resources{display:flex;justify-content:space-between;gap:6px 16px;flex-wrap:wrap;font-size:11px;color:var(--ik-theme-ink)}
#view-buildings #building-detail .ik-r59-influence-action{display:flex;align-items:end;gap:10px;flex-wrap:wrap;border-top:1px solid var(--ik-theme-border-soft);padding-top:8px}
#view-buildings #building-detail .ik-r59-influence-action label{display:grid;gap:3px;font:11px Arial,sans-serif;color:var(--ik-theme-ink)}
#view-buildings #building-detail .ik-r59-influence-action input{width:90px;min-height:32px;border:1px solid var(--ik-theme-border-strong);background:var(--ik-theme-deep);color:#f5e0bd;border-radius:5px;padding:5px 7px}
#view-buildings #building-detail #ik-r59-influence-total{flex:1 1 220px;min-width:0;font-size:11px;color:#eed6b1;padding-bottom:6px}
#view-buildings #building-detail #influence-buy{min-height:32px;padding:6px 10px;cursor:pointer}
#view-buildings #building-detail .ik-r59-influence>small{font-size:10px;color:var(--ik-theme-ink)}
#view-buildings #building-detail .ik-r59-noble-summary{font-size:11px}
#view-buildings #building-detail .ik-economic-building-hero{gap:9px;padding:0;margin:0}
#view-buildings #building-detail .ik-economic-building-main{padding:8px 10px;border-radius:8px}
#view-buildings #building-detail .ik-troop-grid .ik-troop-card{padding:9px 11px;gap:5px}
@media(max-width:1050px){#view-buildings #building-detail .ik-smith-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:690px){#view-buildings #building-detail .ik-smith-group-grid{grid-template-columns:minmax(0,1fr)}#view-buildings #building-detail .ik-r59-influence-stats{grid-template-columns:repeat(2,minmax(0,1fr))}#view-buildings #building-detail .ik-detail-title>img{width:48px!important;height:48px!important;flex-basis:48px!important}#view-buildings #building-detail .ik-r59-influence-action button{width:100%}}
/* Raids: 3 sections; existing fields and automated actions remain mounted. */
#ik-raid-root .ik-raid-shell,.ik-raid-shell{gap:9px!important}
.ik-raid-shell>.ik-raid-search-panel,.ik-raid-shell>.ik-raid-presets-panel,.ik-raid-shell>.ik-raid-targets-panel{display:grid;gap:9px;min-width:0;padding:11px 13px;background:var(--ik-theme-surface);border:1px solid var(--ik-theme-border-soft);border-radius:9px}
.ik-raid-shell .ik-raid-heading{padding:0;background:transparent;border:0;border-radius:0}
.ik-raid-shell .ik-raid-heading h2{font-size:23px;margin:2px 0}
.ik-raid-shell .ik-raid-heading p{font-size:11px;line-height:1.35;max-width:none}
.ik-raid-shell .ik-raid-controls{padding:0;border:0;background:transparent;border-radius:0;gap:9px}
.ik-raid-shell .ik-raid-controls input,.ik-raid-shell .ik-raid-controls select,.ik-raid-shell .ik-raid-list-tools input,.ik-raid-shell .ik-raid-list-tools select{min-height:33px;padding:6px 8px}
.ik-raid-shell .ik-raid-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px 14px;flex-wrap:wrap}
.ik-raid-shell .ik-raid-section-heading h3{font:700 16px Georgia,serif;color:#e6c18e;margin:0}
.ik-raid-shell .ik-raid-section-heading small{color:var(--ik-theme-ink);font:11px Arial,sans-serif}
.ik-raid-shell .ik-raid-templates{gap:8px}
.ik-raid-shell .ik-raid-template{padding:9px;gap:7px;border-radius:7px}
.ik-raid-shell .ik-raid-template header{gap:7px}
.ik-raid-shell .ik-raid-template header strong{font-size:14px}
.ik-raid-shell .ik-raid-template header small{font-size:10px}
.ik-raid-shell .ik-raid-key{width:32px;height:32px;font-size:18px}
.ik-raid-shell .ik-raid-template input{min-height:32px;padding:6px 8px}
.ik-raid-shell .ik-raid-template details{padding:7px}
.ik-raid-shell .ik-raid-template button{min-height:30px;padding:5px 9px}
.ik-raid-shell .ik-raid-advanced{background:var(--ik-theme-deep);border:1px solid var(--ik-theme-border-soft);border-radius:7px;padding:8px 10px}
.ik-raid-shell .ik-raid-advanced>summary{cursor:pointer;color:#eac68d;font:700 12px Arial,sans-serif}
.ik-raid-shell .ik-raid-performance{border:0;padding:10px 0 0;background:transparent;gap:7px}
.ik-raid-shell .ik-raid-performance-cards{gap:6px}
.ik-raid-shell .ik-raid-performance-cards article{padding:8px}
.ik-raid-shell .ik-raid-list-title{background:transparent;padding:0;border:0;border-radius:0}
.ik-raid-shell .ik-raid-list-title h3{font-size:17px}
.ik-raid-shell .ik-raid-help{padding:7px 9px;font-size:11px;line-height:1.35;border-radius:4px}
.ik-raid-shell .ik-raid-table th{padding:7px 9px}
.ik-raid-shell .ik-raid-table td{padding:6px 9px}
.ik-raid-shell .ik-raid-status{padding:7px 9px;font-size:11px}
@media(max-width:850px){.ik-raid-shell>.ik-raid-search-panel,.ik-raid-shell>.ik-raid-presets-panel,.ik-raid-shell>.ik-raid-targets-panel{padding:9px}.ik-raid-shell .ik-raid-performance-cards{grid-template-columns:1fr}}
/* R59: tooltip applies to troop indicator only; clicking/editing names stays unobstructed. */
:is(#view-village,#ik-rally-village-movements) .ik-vm-row[data-ik-r59-military-row]{cursor:default}
#view-village .ik-r17-troops[data-ik-order-id]{cursor:help;display:inline-block;border-bottom:1px dotted var(--ik-theme-border-strong)}
:is(#view-village,#ik-rally-village-movements) .ik-vm-edit,:is(#view-village,#ik-rally-village-movements) .ik-vm-name-wrap{position:relative;z-index:2}


/* ---- GAME : r71r60-research-unit-interactions.css ---- */
/* R71-R60 · Research cards and compact hover. All colors use the approved amber theme. */
#view-buildings #building-detail .ik-smith-units .ik-troop-cost{font-size:11px;line-height:1.35;color:#f2c989;font-weight:600;overflow-wrap:anywhere}
#view-buildings #building-detail .ik-smith-units .ik-r60-research-requirements{font-size:10px;line-height:1.4;color:var(--ik-theme-ink)}
#view-buildings #building-detail .ik-r46-unit-name,.ik-r54-recruit-row .ik-r54-unit-trigger{cursor:pointer}
body>.ik-r46-hover.ik-r46-hover-details{box-sizing:border-box;width:min(290px,calc(100vw - 16px))!important;max-height:min(300px,calc(100dvh - 16px))!important;padding:9px 10px!important;overflow:hidden!important}
.ik-r60-hover-heading{display:flex;align-items:center;gap:8px;min-width:0}
.ik-r60-hover-heading img{width:55px;height:55px;flex:0 0 55px;object-fit:contain;background:transparent!important;border:0!important}
.ik-r60-hover-heading>div{display:grid;min-width:0;gap:3px}
.ik-r60-hover-heading strong{font:700 14px/1.15 Georgia,serif;color:#f5d6a0}
.ik-r60-hover-heading small{font:10px/1.25 Arial,sans-serif;color:#d8c29d}
.ik-r60-hover-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 9px;margin:7px 0;font:11px/1.25 Arial,sans-serif}
.ik-r60-hover-stats span{display:flex;align-items:center;justify-content:space-between;gap:5px;white-space:nowrap}
.ik-r60-hover-stats b{font-size:12px;color:#f2c98b}
.ik-r60-hover-hint{display:block;margin-top:3px;padding-top:5px;border-top:1px solid var(--ik-theme-border-soft);font:10px/1.3 Arial,sans-serif;color:#d5bd98}

/* R71-R60 building-name hover in the approved Village canvas. */
.scenewrap .ik-r60-building-hover-name{position:absolute;z-index:80;max-width:190px;white-space:nowrap;pointer-events:none;background:rgba(41,26,17,.97);color:#ffe3ad;border:1px solid #c99a54;border-radius:6px;padding:4px 9px;font:700 12px/1.25 Arial,sans-serif;box-shadow:0 5px 18px #0008;transform:translateY(-50%)}
.scenewrap .ik-r60-building-hover-name[hidden]{display:none!important}

/* R71-R62: 4 combat families for ranged units, still compact. */
#ik-r46-unit-hover .ik-r62-hover-specialist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 8px;max-width:310px}
#ik-r46-unit-hover .ik-r62-hover-specialist span{white-space:nowrap;font-size:11px}


/* ---- GAME : r71r60-reports.css ---- */
/* R71-R60: report outcomes and unread distinctions, amber-safe. */
#view-reports .ik-report-list-item.ik-r60-report-unread{border-left:4px solid #e0a953!important;background:linear-gradient(90deg,rgba(215,143,56,.21),rgba(95,54,24,.13))!important;box-shadow:inset 0 0 0 1px rgba(231,174,99,.22)}
#view-reports .ik-r60-report-unread .ik-report-villages{font-weight:800!important;color:#ffe4b9!important}
#view-reports .ik-r60-new-tag{font:800 10px/1.3 Arial,sans-serif;padding:2px 6px;border-radius:5px;background:#f2bf65;color:#26180c;letter-spacing:.5px}
#view-reports .ik-r60-raid-tag{font:800 10px/1.3 Arial,sans-serif;padding:2px 6px;border-radius:5px;background:#694522;color:#ffdd9c;border:1px solid #b48039;letter-spacing:.5px}
#view-reports :is(.ik-report-result,.ik-report-result-band).attacker{color:#ffd2d2!important;background:#792629!important;border-color:#ca4d53!important}
#view-reports :is(.ik-report-result,.ik-report-result-band).defender{color:#d9efff!important;background:#1d527a!important;border-color:#438fc4!important}
#view-reports :is(.ik-report-result,.ik-report-result-band).conquest.is-victory{color:#dcffe2!important;background:#22633f!important;border-color:#51ad70!important}
#view-reports .ik-report-action-folder[hidden],#view-reports [data-report-tool][hidden]{display:none!important}

/* R71-R62: subtle readable report-type pill, independent of victory badge. */
#view-reports .ik-report-row-upper .ik-report-role{
 display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px;min-width:0;
 font-size:10px;line-height:1.25;letter-spacing:0;text-transform:none;
}
#view-reports .ik-report-row-upper .ik-r62-report-role-chip{
 display:inline-flex;align-items:center;justify-content:center;
 width:max-content;max-width:100%;min-height:21px;padding:3px 9px;
 border:1px solid #aa7b49;border-radius:5px;
 background:linear-gradient(180deg,#644025,#412a1e);
 color:#ffe2b5;font:750 10px/1.3 system-ui,sans-serif;
 letter-spacing:.03em;white-space:normal;text-align:center;
 box-shadow:inset 0 1px 0 #f0bc7130,0 1px 3px #140d0860;
}
#view-reports .ik-report-row-upper :is(.ik-r60-raid-tag,.ik-r60-new-tag){
 display:inline-flex;align-items:center;min-height:21px;margin:0;white-space:nowrap;
}
@media(max-width:420px){
 #view-reports .ik-report-row-upper .ik-r62-report-role-chip{padding:3px 7px;font-size:9px;min-height:20px}
 #view-reports .ik-report-row-upper :is(.ik-r60-raid-tag,.ik-r60-new-tag){min-height:20px}
}


/* ---- GAME : r71r60-resource-icons.css ---- */
/* R71-R60 Resource Icons — user-provided 64px WebP for compact UI; 512px originals in /assets. */
.ik-resource-icon{display:inline-block!important;width:19px!important;height:19px!important;max-width:19px!important;max-height:19px!important;min-width:19px!important;min-height:19px!important;object-fit:contain;vertical-align:-.22em;flex-shrink:0;filter:none!important;line-height:1!important;margin:0 2px 0 0!important;box-shadow:none!important;border:0!important;background:transparent!important;pointer-events:none}
.ik-village-context .resource>span .ik-resource-icon{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;max-width:28px!important;max-height:28px!important;margin:0!important;vertical-align:middle}
.ik-village-context .resource>span{display:inline-flex!important;align-items:center;justify-content:center;line-height:1!important;filter:none!important}
.ik-troop-cost .ik-resource-icon,.ik-r54-unit-cost .ik-resource-icon,.ik-r42-resources .ik-resource-icon{width:17px!important;height:17px!important;min-width:17px!important;min-height:17px!important;max-width:17px!important;max-height:17px!important}
@media(max-width:700px){.ik-village-context .resource>span .ik-resource-icon{width:21px!important;height:21px!important;min-width:21px!important;min-height:21px!important;max-width:21px!important;max-height:21px!important}}


/* ---- GAME : r71r66-compact-target-forum.css ---- */
/* R71-R66 · All UI chrome remains under the existing orange-brown palette. */
#view-buildings #building-detail .ik-r59-influence-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
#view-buildings #building-detail .ik-r59-influence-stats>span{padding:8px 10px}
#view-buildings #building-detail .ik-r59-influence-stats small{font:10px/1.2 system-ui,sans-serif;opacity:.8}
#view-buildings #building-detail .ik-r66-noble-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:5px 0 9px}
#view-buildings #building-detail .ik-r66-noble-stats>span{border:1px solid var(--ik-theme-border-soft);border-radius:6px;background:var(--ik-theme-elevated);padding:8px 10px;font:11px/1.2 system-ui,sans-serif;display:flex;align-items:center;justify-content:space-between;gap:8px}
#view-buildings #building-detail .ik-r66-noble-stats strong{font:700 16px Georgia,serif;color:#f1c27f}
/* Every map tooltip: compact rows, no pointer capture. */
.ik-map-tooltip{padding:7px 9px!important;max-height:min(76vh,650px)!important;max-width:min(400px,calc(100vw - 14px))!important;font-size:10.5px!important;pointer-events:none!important}
.ik-map-tooltip .tip-name{font-size:13px!important;margin:0 0 1px!important}
.ik-map-tooltip .tip-row{padding:1px 0!important;gap:9px!important}
.ik-map-tooltip .ik-hover-stack{gap:5px!important;margin-top:5px!important}
.ik-map-tooltip h4{margin:0 0 3px!important;padding-bottom:2px!important;font-size:11px!important}
.ik-map-tooltip .ik-hover-table th,.ik-map-tooltip .ik-hover-table td{padding:1px 3px!important}
.ik-map-tooltip .ik-hover-icon{width:38px!important;height:38px!important}
.ik-map-tooltip .ik-hover-matrix thead th{min-width:40px!important}
.ik-r66-target-orders{margin-top:5px;min-width:0;max-width:100%;border-top:1px solid #9b754e77;padding-top:5px}
.ik-r66-target-orders h4,.ik-r66-profile-orders h4{margin:0 0 4px;font-size:11px;color:#f1ca8d}
.ik-r66-orders-status{font-size:10px;opacity:.82}
.ik-r66-orders-rows{display:grid;gap:3px;max-height:170px;overflow:auto;scrollbar-width:thin}
.ik-r66-order-line{display:grid;grid-template-columns:45px minmax(80px,1fr) auto;gap:5px;align-items:center;border:1px solid #98734455;border-radius:4px;padding:3px 5px;font-size:10px;line-height:1.25}
.ik-r66-order-line b{color:#f4cb90}
.ik-r66-order-line span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ik-r66-order-line time{font-variant-numeric:tabular-nums;white-space:nowrap;color:#ddc5a1}
.ik-r66-profile-hover-host{position:relative}
.ik-r66-profile-orders{position:absolute;z-index:10;inset:auto 8px auto auto;top:52px;width:min(390px,calc(100% - 16px));max-height:min(45vh,370px);overflow:auto;box-sizing:border-box;border:1px solid #bb8c55;border-radius:8px;padding:9px;background:var(--ik-theme-surface);box-shadow:0 9px 25px #000a;pointer-events:none;color:#f3dfbb}
.ik-r66-profile-orders[hidden]{display:none!important}
/* R66: command editing should never receive tooltip capture. */
:is(#view-village,#ik-rally-village-movements) .ik-vm-row.ik-r66-editing-command{cursor:default!important}
:is(#view-village,#ik-rally-village-movements) .ik-vm-row.ik-r66-editing-command .ik-vm-edit{isolation:isolate;position:relative;z-index:8;pointer-events:auto!important;min-width:180px;max-width:100%;flex-wrap:wrap!important}
:is(#view-village,#ik-rally-village-movements) .ik-vm-edit button{pointer-events:auto!important;position:relative;z-index:9;min-height:27px!important}
:is(#view-village,#ik-rally-village-movements) .ik-vm-edit .ik-vm-rename-input{min-width:135px;flex-basis:100%;pointer-events:auto!important}
.ik-r54-order-tooltip{padding:7px!important;max-width:min(290px,calc(100vw - 12px))!important;font-size:11px!important;pointer-events:none!important}
.ik-r54-order-tooltip>strong{padding-bottom:3px!important;margin-bottom:3px!important}
.ik-r54-tooltip-roster img{width:20px!important;height:20px!important}
.ik-r46-hover{padding:7px!important;max-width:min(340px,calc(100vw - 12px))!important;font-size:11px!important}
/* R66 forum: one slim row per post, author/date separate from moderation actions. */
#ik-tribe-thread .ik-ally-panel{padding:9px 12px!important}
#ik-tribe-thread .ik-ally-panel>h3{font:700 17px/1.3 Georgia,serif;margin:0 0 8px!important}
#ik-tribe-thread .ik-ally-posts{display:grid;gap:7px;min-width:0}
#ik-tribe-thread .ik-ally-post{margin:0!important;padding:0!important;overflow:hidden;border:1px solid #986f4790;border-radius:8px;background:var(--ik-theme-surface)}
#ik-tribe-thread .ik-forum-post-heading{display:flex;align-items:center;gap:5px 10px;flex-wrap:wrap;padding:6px 9px;border-bottom:1px solid #94714966;background:var(--ik-theme-elevated);font-size:11px}
#ik-tribe-thread .ik-forum-post-heading>strong{font-size:12px}
#ik-tribe-thread .ik-forum-post-heading>small{font-size:10px;color:#cfb899}
#ik-tribe-thread .ik-r66-forum-post-actions{display:flex;align-items:center;gap:4px;margin-left:auto;flex-wrap:wrap}
#ik-tribe-thread .ik-r66-forum-post-actions button{padding:3px 7px!important;min-height:25px!important;font-size:10px!important;border-radius:5px!important}
#ik-tribe-thread .ik-ally-post>.ik-bb-content{padding:8px 11px;line-height:1.45;margin:0;min-height:22px;font-size:12px}
#ik-tribe-thread .ik-forum-thread-moderation{gap:5px;padding:5px 7px;margin-bottom:7px;justify-content:flex-start}
#ik-tribe-thread .ik-forum-thread-moderation select{min-height:27px!important}
#ik-tribe-thread .ik-forum-thread-moderation button{min-height:27px!important}
#ik-tribe-thread .ik-forum-edit-form,#ik-tribe-thread .ik-forum-history{padding:7px 10px;border-top:1px solid #936c4a66}
@media(max-width:600px){#view-buildings #building-detail .ik-r66-noble-stats{grid-template-columns:repeat(3,minmax(0,1fr))}#view-buildings #building-detail .ik-r66-noble-stats>span{display:grid;gap:3px;padding:6px;font-size:10px}#ik-tribe-thread .ik-r66-forum-post-actions{margin-left:0;width:100%}.ik-r66-order-line{grid-template-columns:43px minmax(0,1fr)}.ik-r66-order-line time{grid-column:2}}


/* ---- GAME : r71r67-map-popup-ranks-reports.css ---- */
/* R71-R67 · viewport-aware village tooltip, coordinated control sizes and commands */
.ik-map-tooltip{
 box-sizing:border-box!important;width:min(580px,calc(100vw - 16px))!important;
 min-width:0!important;max-width:calc(100vw - 16px)!important;
 max-height:calc(100dvh - 16px)!important;overflow-y:auto!important;overflow-x:hidden!important;
 padding:10px 12px!important;font-size:11px!important;pointer-events:none!important;
}
.ik-map-tooltip .ik-hover-stack{min-width:0;gap:7px!important}
.ik-map-tooltip .ik-hover-data-section,.ik-map-tooltip .ik-hover-arrival{min-width:0;width:100%;max-width:100%}
.ik-map-tooltip .ik-hover-table-scroll{width:100%;max-width:100%;overflow:visible!important}
.ik-map-tooltip .ik-hover-matrix{width:100%;max-width:100%;table-layout:fixed;border-spacing:0}
.ik-map-tooltip .ik-hover-matrix th,.ik-map-tooltip .ik-hover-matrix td{width:12.5%;min-width:0!important;max-width:12.5%;padding:1px 2px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}
.ik-map-tooltip .ik-hover-icon{width:min(42px,100%)!important;height:42px!important;max-width:100%;margin:auto;object-fit:contain}
.ik-map-tooltip .ik-r67-empty-cell{background:none!important;border:0!important}
.ik-map-tooltip .ik-hover-matrix tbody td{font-size:10px;letter-spacing:-.2px}
.ik-map-tooltip .ik-hover-arrival-matrix tbody td{font-size:10px!important}
.ik-map-tooltip .ik-r66-target-orders{max-width:100%}
.ik-map-tooltip .ik-r66-order-line{grid-template-columns:40px minmax(0,1fr) auto}
@media(max-width:480px){.ik-map-tooltip{padding:8px!important}.ik-map-tooltip .ik-hover-icon{height:29px!important;width:min(29px,100%)!important}.ik-map-tooltip .ik-hover-matrix tbody td{font-size:8px}.ik-map-tooltip .ik-hover-table th,.ik-map-tooltip .ik-hover-table td{padding:1px!important}}
#view-reports .ik-reports-toolbar{display:flex;align-items:flex-end;gap:7px!important;padding:9px!important}
#view-reports .ik-reports-toolbar>label{margin:0!important;min-height:0;display:flex;flex-direction:column;justify-content:flex-end;gap:3px!important}
#view-reports .ik-reports-toolbar input:not([type=checkbox]),#view-reports .ik-reports-toolbar select,#view-reports .ik-reports-toolbar button{
 box-sizing:border-box!important;height:34px!important;min-height:34px!important;max-height:34px!important;
 padding:5px 9px!important;line-height:20px!important;font:600 11px/20px system-ui,sans-serif!important;border-radius:5px!important;margin:0!important;
}
#view-reports .ik-reports-toolbar .ik-r67-report-hover-toggle{flex-direction:row;align-items:center;align-self:flex-end;gap:6px!important;min-height:34px;white-space:nowrap;font-weight:650}
#view-reports .ik-r67-report-hover-toggle input[type=checkbox]{height:15px;width:15px;margin:0;accent-color:#cda26b}
#view-reports .ik-reports-toolbar #ik-reports-count{align-self:center}
:is(#view-village,#ik-rally-village-movements) .ik-vm-primary>strong{font-size:16px;line-height:1.1;min-width:1.3em;text-align:center}
:is(#view-village,#ik-rally-village-movements) .ik-vm-command-name{font-size:12px}
#view-general .ik-r67-military-three-times,.ik-r67-military-three-times{font-variant-numeric:tabular-nums;white-space:nowrap}
.ik-r67-military-three-times>*{display:block!important;padding:2px 0!important;font-size:11px!important}
.ik-r67-military-three-times .ik-r67-arrival-time{font-weight:800;color:#f8d6a2}
.ik-r67-world-clock{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-top:10px;padding:9px;border:1px solid var(--ik-theme-border-soft);border-radius:6px}
.ik-r67-world-clock label{flex:1 1 215px;margin:0!important}
.ik-r67-world-clock button{min-height:34px}
.ik-r67-world-clock small{flex-basis:100%;font-size:10px;opacity:.84}

@media(max-height:760px){.ik-map-tooltip{padding:7px 9px!important}.ik-map-tooltip .tip-row{padding:1px 0!important}.ik-map-tooltip .ik-hover-stack{gap:3px!important;margin-top:3px!important}.ik-map-tooltip h4{margin-bottom:1px!important;padding-bottom:1px!important}.ik-map-tooltip .ik-hover-icon{width:min(30px,100%)!important;height:30px!important}.ik-map-tooltip .ik-hover-matrix tbody td{font-size:9px!important}.ik-map-tooltip .ik-r66-orders-rows{max-height:105px!important}}


/* ---- GAME : r71r79-unit-medallions.css ---- */
/* R71-R79 — Art supplied by the player, unchanged 10 WebP 512px medallions. */
.ik-unit-medallion{display:block;width:64px;height:64px;max-width:100%;object-fit:contain;flex:0 0 64px;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.ik-unit-medallion-button{display:inline-flex!important;align-items:center;justify-content:center;min-width:68px!important;min-height:68px!important;padding:2px!important;cursor:pointer!important}
#view-recruitment .ik-r54-unit-trigger{min-height:68px!important;min-width:68px;align-items:center;justify-content:center}
#view-recruitment .ik-r54-unit-trigger img.ik-unit-medallion{width:64px!important;height:64px!important;flex-basis:64px!important}
#view-buildings .ik-smith-units .ik-r46-unit-name img.ik-unit-medallion{width:64px!important;height:64px!important}
#view-buildings .ik-smith-units .ik-r58-unit-header{min-height:69px!important}
.ik-rally-unit img.ik-unit-medallion{width:64px!important;height:64px!important;flex:0 0 64px!important;object-fit:contain}
.ik-rally-unit{align-items:center!important}
.ik-rally-unit .ik-rally-unit-stock{font-variant-numeric:tabular-nums}
/* Responsive rows and dense tables: decrease rendering size rather than stretching native 512px assets. */
.ik-hf2-unit-icon,.ik-r58-overview-unit,.ik-r40-unit-icon,.ik-simulator-unit-icon,.ik-hover-icon,img[data-ik-unit]{object-fit:contain;background:transparent!important}
.ik-general-unit-list .ik-hf2-unit-icon,.ik-army-table-wrap .ik-hf2-unit-icon,.ik-r54-tooltip-roster img,.ik-command-units img,.ik-command-batch-unit-grid img{width:38px!important;height:38px!important;max-width:none!important}
.ik-r41-troops img,.ik-army-plan-row img{width:38px!important;height:38px!important;object-fit:contain}
.ik-simulator-units .ik-simulator-unit-icon{width:45px!important;height:45px!important;object-fit:contain}
.ik-report-units img.ik-r40-unit-icon{width:38px!important;height:38px!important}
.ik-r58-unit-dialog-heading:not(.ik-r79-smith-portrait)>img{width:64px!important;height:64px!important;object-fit:contain;flex:0 0 64px!important}
/* Only click-through research details in Fierarie show the complete original character art. */
.ik-r58-unit-dialog-heading.ik-r79-smith-portrait>img[data-ik-full-portrait]{display:block;width:clamp(180px,24vw,260px)!important;height:clamp(220px,35vh,380px)!important;object-fit:contain;flex:0 1 260px;max-width:100%}
.ik-r46-hover.ik-r46-hover-image img.ik-r46-image{width:76px!important;height:76px!important;object-fit:contain}
.ik-r60-hover-heading img{width:64px!important;height:64px!important;flex:0 0 64px}
@media(max-width:620px){.ik-unit-medallion,#view-recruitment .ik-r54-unit-trigger img.ik-unit-medallion{width:52px!important;height:52px!important;flex-basis:52px!important}.ik-rally-unit img.ik-unit-medallion{width:52px!important;height:52px!important;flex-basis:52px!important}.ik-r58-unit-dialog-heading.ik-r79-smith-portrait>img[data-ik-full-portrait]{height:220px!important;width:175px!important}}


}

/* ---- PUBLIC PAGES (isolated cascade) ---- */
@scope (html:has(body:is(.portal,.worlds-page))) {

/* ---- PUBLIC : public.css ---- */
:scope{color-scheme:dark;--ink:#eee3ce;--muted:#b5aa94;--gold:#dec18a;--accent:#c19759;--burgundy:#883c36;--line:rgba(227,191,129,.25);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#151a1c;color:var(--ink);min-width:320px}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}[hidden]{display:none!important}
.site-header{height:81px;background:#171b1de8;border-bottom:1px solid #b9955650;position:relative;z-index:10;backdrop-filter:blur(10px)}.header-inner{max-width:1470px;margin:auto;height:100%;padding:0 4%;display:flex;align-items:center;justify-content:space-between;gap:24px}.site-brand{display:flex;gap:11px;align-items:center;white-space:nowrap}.site-brand .mark{width:46px;height:50px;display:grid;place-items:center;color:#ead29c;font-family:Georgia,serif;font-size:37px;text-shadow:0 2px 16px #ae844666;border:1px solid #b89a6b8f;clip-path:polygon(50% 0,92% 12%,92% 72%,50% 100%,8% 72%,8% 12%);background:linear-gradient(145deg,#6d604b55,var(--ik-theme-deep))}.site-brand b{font-family:Georgia,serif;font-size:24px;letter-spacing:.105em;font-weight:500}.site-brand small{display:block;letter-spacing:.38em;font-size:8px;color:#bc9862;margin-top:3px}.site-header nav{display:flex;gap:35px;align-items:center}.site-header nav a,.text-button{font-size:12px;font-weight:600;letter-spacing:.06em;color:#d9d3c4;transition:color .2s}.site-header nav a:hover,.text-button:hover{color:#f6ca80}.site-header .nav-login{color:#e4bc7c;border:1px solid #b08e586d;padding:11px 20px;border-radius:2px}.text-button{background:none;border:0;padding:9px}.logged-name{color:#e3c790;font-size:14px}
.hero{min-height:680px;position:relative;isolation:isolate;background:#202626;overflow:hidden}.hero-image{position:absolute;inset:0;background:url('/assets/iron-kingdoms-hero.webp') center 45%/cover no-repeat;z-index:-3}.hero-vignette{position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb, var(--ik-theme-deep) 63.9%, transparent) 0%,#0a111170 27%,#17181638 47%,#0b1014d9 71%,#070e12ef 100%),linear-gradient(0deg,color-mix(in srgb, var(--ik-theme-deep) 96.9%, transparent) 0%,transparent 25%,#0b121d33 100%);z-index:-2}.hero-inner{max-width:1420px;min-height:680px;margin:auto;padding:86px 4% 64px;display:grid;grid-template-columns:minmax(0,1fr) 408px;gap:60px;align-items:center}.story-column{max-width:750px;padding:20px 0}.overline{font-weight:700;color:#e5c491;letter-spacing:.25em;font-size:10px}.line{display:inline-block;width:36px;vertical-align:middle;height:1px;margin-right:10px;background:#d8bc83}.story-column h1,.worlds-heading h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(50px,5.5vw,85px);line-height:1.025;letter-spacing:-.035em;margin:26px 0 21px;text-shadow:0 4px 24px #000a}.story-column h1 em,.worlds-heading h1 em{font-weight:400;font-style:normal;color:#e7ba76}.story-lead{max-width:540px;color:#e1d9cb;font-size:16px;line-height:1.9;text-shadow:0 2px 9px #000b}.hero-actions{display:flex;gap:18px;align-items:center;margin-top:35px;flex-wrap:wrap}.cta,.submit{background:linear-gradient(180deg,#a97745,#775026);border:1px solid #dec18b87;box-shadow:inset 0 1px #f8dfa86b,0 12px 24px #080b0a99;color:#fff1dc;font-size:12px;letter-spacing:.12em;font-weight:750;text-transform:uppercase;min-height:49px;padding:0 24px;display:flex;justify-content:space-between;align-items:center;gap:28px;border-radius:2px;transition:filter .15s,transform .15s}.cta:hover,.submit:hover{filter:brightness(1.17);transform:translateY(-1px)}.cta span,.submit span{font-size:21px;font-weight:400}.secondary-cta{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#f2ddbd;padding:12px;border-bottom:1px solid #bda37d8f}.hero-qualities{display:flex;gap:24px;flex-wrap:wrap;margin-top:59px;color:#e2d3bb;font-size:11px;text-shadow:0 1px 9px #000}.hero-qualities span::first-letter{color:#d8ad68}
.auth-panel{background:linear-gradient(125deg,rgba(33,36,35,.98),rgba(20,25,27,.98));border:1px solid #b897626a;box-shadow:0 25px 90px #000a, inset 0 0 0 5px #0c11124f;outline:1px solid #b897621e;outline-offset:6px;padding:29px 35px 22px;position:relative}.auth-panel:before,.auth-panel:after{content:'❖';position:absolute;top:-12px;color:#c5a36f;font-size:21px}.auth-panel:before{left:-8px}.auth-panel:after{right:-8px}.panel-cap{display:flex;gap:15px;align-items:center;justify-content:center;color:#bca074;font-size:9px;letter-spacing:.27em;white-space:nowrap}.panel-cap span:first-child,.panel-cap span:last-child{font-size:15px;color:#d7ae6f}.auth-panel h2{font:400 30px/1.12 Georgia,serif;text-align:center;margin:21px 0 9px;color:#f2e7d4}.auth-panel h2 em{font-style:normal;color:#e0b679}.panel-sub{text-align:center;color:#a99d8a;font-size:12px;line-height:1.65;margin:0 auto 23px;max-width:290px}.form-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #b99a6050;margin-bottom:21px}.form-tabs button{background:transparent;border:none;padding:12px 6px;color:#928b80;font-size:12px;font-weight:700;letter-spacing:.07em}.form-tabs .selected{color:#e6c58d;border-bottom:2px solid #d5aa65}.auth-panel form{display:flex;flex-direction:column;gap:0}.auth-panel label{color:#d5c6aa;font-size:11px;margin:4px 0 8px;letter-spacing:.025em}.auth-panel input{width:100%;height:46px;border:1px solid #a491705b;background:#0e1418;color:#eee5d7;padding:0 13px;outline:none;margin-bottom:17px;border-radius:2px;transition:border-color .2s}.auth-panel input:focus{border-color:#d6b582;box-shadow:0 0 0 2px #c69c5830}.auth-panel input::placeholder{color:#777975;font-size:12px}.optional{color:#a19a8a}.auth-panel .submit{width:100%;margin-top:5px}.form-feedback{font-size:12px;line-height:1.5;color:#f2b39c;min-height:10px;margin:14px 0 2px}.form-footer{display:flex;align-items:center;justify-content:center;gap:9px;border-top:1px solid #bca47736;padding-top:20px;color:#aca28f;font-size:10px}.form-footer span{color:#c3a579}
.preview-section{padding:85px 4% 86px;background:radial-gradient(ellipse at 50% 0%,var(--ik-theme-surface),#15191b 70%);border-top:1px solid #b89d6538}.section-heading{max-width:1320px;margin:0 auto 27px;display:flex;align-items:end;justify-content:space-between;gap:60px}.section-heading h2,.chronicle h2{font:400 39px/1.14 Georgia,serif;margin:16px 0;color:#f3e6cc}.section-heading>p{max-width:400px;font-size:13px;line-height:1.8;color:#b3afa3}.preview-grid{max-width:1320px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:22px}.preview-card{position:relative;overflow:hidden;height:315px;border:1px solid #b4996b58;box-shadow:0 20px 50px #0007}.preview-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.74);transition:transform .4s}.preview-card:hover img{transform:scale(1.05)}.preview-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0c1113f5,#11181825 75%);pointer-events:none}.preview-caption{position:absolute;z-index:1;left:27px;bottom:23px;right:20px}.preview-caption span,.chronicle-entry>span{color:#dbb977;letter-spacing:.2em;font-size:10px}.preview-caption h3{font:400 27px Georgia,serif;margin:9px 0 5px}.preview-caption p{font-size:12px;color:#d6d4cc;line-height:1.5;margin:0}.chronicle{padding:55px max(4%,calc((100% - 1320px)/2));display:grid;grid-template-columns:1fr 1fr;gap:55px;background:#201f1c;border-top:1px solid #b8976340}.chronicle h2{font-size:32px;margin:15px 0}.chronicle p{font-size:13px;color:#ada798;line-height:1.8}.chronicle-entry{border-left:2px solid #b68d52;padding:15px 27px;background:#2f2b252e}.chronicle-entry h3{font:400 24px Georgia,serif}.portal-footer{min-height:69px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 4%;background:#101619;color:#a59c88;font-size:11px;letter-spacing:.07em;border-top:1px solid #b8976338}.portal-footer span:first-child{color:#d9b576;font-family:Georgia,serif;font-size:15px}
.worlds-page{min-height:100vh}.worlds-main{min-height:calc(100vh - 150px);position:relative;isolation:isolate;padding:75px 4% 85px}.worlds-bg{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#0c1617bc,#101617eb 58%,#121819),url('/assets/iron-kingdoms-hero.webp') center/cover}.worlds-content{max-width:1200px;margin:auto}.worlds-heading{text-align:center;max-width:690px;margin:0 auto 40px}.worlds-heading h1{font-size:clamp(48px,5vw,68px);margin:18px 0}.worlds-heading>p:last-child{color:#d2caba;font-size:14px;line-height:1.9}.worlds-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.world-card,.loading-card{padding:30px;background:linear-gradient(135deg,color-mix(in srgb, var(--ik-theme-surface) 96.1%, transparent),#10191bef);border:1px solid #bda16c78;box-shadow:0 18px 60px #0007;min-height:315px}.world-head{display:flex;justify-content:space-between;align-items:center}.world-pill{font-size:9px;letter-spacing:.17em;color:#d8bc83;border:1px solid #aa925e6b;padding:8px 11px}.world-num{font:28px Georgia,serif;color:#c0aa8159}.world-card h2{font:400 30px Georgia,serif;margin:21px 0 7px}.world-card>p{font-size:12px;color:#bdb5a6;min-height:39px;line-height:1.6}.world-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.world-stats>div{display:flex;flex-direction:column;gap:6px;border-top:1px solid #baa16e36;padding-top:12px}.world-stats span{font-size:9px;color:#b6ad9d;letter-spacing:.08em}.world-stats strong{font:25px Georgia,serif;color:#e7d3a8}.world-enter{width:100%;height:48px}.worlds-note{display:flex;gap:20px;max-width:760px;margin:34px auto 0;align-items:start;padding:20px 30px;border:1px solid #bca4773d;background:color-mix(in srgb, var(--ik-theme-deep) 74.1%, transparent)}.worlds-note>span{color:#d9bb82;font-size:27px}.worlds-note strong{font-family:Georgia,serif;font-weight:400;font-size:19px}.worlds-note p{font-size:12px;color:#b2ae9d;line-height:1.8;margin:8px 0 0}
@media(max-width:1000px){.hero-inner{grid-template-columns:1fr;gap:12px;padding-top:75px}.hero-vignette{background:linear-gradient(180deg,#11191c82,#0c1314c9 38%,#0c1314f7)}.auth-panel{width:min(100%,510px);justify-self:center;margin-bottom:35px}.story-column{max-width:790px}.hero-qualities{margin-top:25px}.site-header nav{gap:17px}.site-header nav a{font-size:11px}}@media(max-width:680px){.site-header{height:73px}.header-inner{padding:0 5%}.site-brand b{font-size:17px}.site-brand small{letter-spacing:.21em}.site-brand .mark{width:33px;height:40px;font-size:27px}.site-header nav a:not(.nav-login){display:none}.site-header nav{gap:7px}.site-header .nav-login{padding:9px 11px}.hero-inner{padding:60px 5% 30px;gap:32px}.story-column h1{font-size:clamp(42px,10vw,62px)}.story-lead{font-size:14px}.hero-qualities{gap:10px}.auth-panel{padding:26px 20px}.preview-section{padding:60px 5%}.preview-grid,.chronicle{grid-template-columns:1fr}.section-heading{display:block}.section-heading h2{font-size:33px}.preview-card{height:250px}.chronicle{gap:10px}.portal-footer{flex-direction:column;align-items:flex-start}.worlds-main{padding:60px 5%}.worlds-heading{text-align:left}.world-card{padding:23px}.logged-name{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* HF18-R45 — public entrance uses the SAME button frame as ik-village-home. */
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village){
 background:linear-gradient(110deg,var(--ik-theme-surface-alt),#1d292a)!important;
 border:1px solid #947e56!important;border-radius:4px!important;
 color:#efdbb4!important;box-shadow:0 1px 8px #0004!important;
 font-family:Georgia,serif;cursor:pointer;
}
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):is(:hover,:focus-visible):not(:disabled){background:var(--ik-theme-surface-alt)!important;border-color:#e4bf80!important;color:#ffe4b1!important;}
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):is(.selected,.submit,[aria-selected="true"]):not(:disabled){border-color:#d0a366!important;color:#ffe1a9!important;}
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):focus-visible{outline:2px solid #f3cc86!important;outline-offset:2px!important;}
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):disabled{opacity:.45!important;cursor:not-allowed!important;}


/* ---- PUBLIC : r48.css ---- */
/* Iron Kingdoms 0.4.60 · HF18-R48 — ONE button design system, based on
   Trib -> Rezervări -> Toate / Proprii. Overrides legacy per-module skins.
   The functional .primary class is an ACTION, not a SELECTED tab. */
:scope{
 --ik-r48-btn-border:#947e56;
 --ik-r48-btn-text:#efdbb4;
 --ik-r48-btn-bg:linear-gradient(110deg,#353c30,#1d292a);
 --ik-r48-btn-hover:#3a4237;
 --ik-r48-btn-active-bg:linear-gradient(110deg,#51452d,#27352d);
 --ik-r48-btn-active-border:#d0a366;
}
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village){
 box-sizing:border-box!important;
 min-height:41px;
 padding:9px 12px!important;
 border:1px solid var(--ik-r48-btn-border)!important;
 border-radius:4px!important;
 background:var(--ik-r48-btn-bg)!important;
 color:var(--ik-r48-btn-text)!important;
 box-shadow:0 1px 8px #0004!important;
 font-family:Georgia,'Palatino Linotype',serif!important;
 font-size:clamp(13px,calc(14px * var(--ik-r44-ui-scale,1)),56px)!important;
 font-weight:600;
 line-height:1.2;
 vertical-align:middle;
 cursor:pointer;
 transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease!important;
}
/* Hover does not mean selected. Keep the orange fill for actual selection. */
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):hover:not(:disabled):not(.active):not(.is-active):not(.selected):not([aria-pressed="true"]):not([aria-selected="true"]):not([aria-checked="true"]){
 background:var(--ik-r48-btn-hover)!important;
 border-color:#c3a572!important;
 color:#ffe4b1!important;
}
/* .primary and submit buttons must NOT light up before being selected. */
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):is(.primary,[type="submit"]):not(:is(.active,.is-active,.selected,[aria-pressed="true"],[aria-selected="true"],[aria-checked="true"])):not(:disabled){
 background:var(--ik-r48-btn-bg)!important;
 border-color:var(--ik-r48-btn-border)!important;
 color:var(--ik-r48-btn-text)!important;
 box-shadow:0 1px 8px #0004!important;
}
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):is(.primary,[type="submit"]):not(:is(.active,.is-active,.selected,[aria-pressed="true"],[aria-selected="true"],[aria-checked="true"])):hover:not(:disabled){
 background:var(--ik-r48-btn-hover)!important;
 border-color:#c3a572!important;
 color:#ffe4b1!important;
}
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):is(.active,.is-active,.selected,[aria-pressed="true"],[aria-selected="true"],[aria-checked="true"]):not(:disabled),
body #ik-tribe-root .ik-ally-forum-section.active>button:not(:disabled){
 background:var(--ik-r48-btn-active-bg)!important;
 border-color:var(--ik-r48-btn-active-border)!important;
 color:#ffe1a9!important;
 box-shadow:inset 0 0 0 1px #c7a2694d,0 1px 8px #0004!important;
}
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):focus-visible{
 outline:2px solid #f3cc86!important;
 outline-offset:2px!important;
}
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):disabled{
 opacity:.45!important;cursor:not-allowed!important;filter:saturate(.55);
}
body button:is(.danger,[data-report-tool="archive"],[data-action="delete"],[data-action="remove"]):not(:disabled){color:#ffb8a9!important}
/* Keep specialized component dimensions/layout: icon-only buttons, ranking
   tabs (R47: 53px), scene tools, navbar, forum section tiles, and quickbar. */
#view-ranking .ik-rank-toolbar button{min-height:53px}
.ik-ally-forum-sections>button,.ik-ally-forum-section>button{min-height:74px;text-align:left;}
.ik-ally-forum-section>button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px}
#ik-tribe-root .ik-ally-forum-section.active>button{border-radius:4px!important}
/* Forum threads: layout is an explicit vertical stack. The back button can
   never overlap the first discussion panel, even with a long title or zoom. */
#ik-tribe-thread{
 display:flex;flex-direction:column;align-items:stretch;
 gap:14px;min-width:0;isolation:isolate;
}
#ik-tribe-thread>.ik-ally-thread-back{
 position:static!important;float:none!important;clear:both;
 flex:0 0 auto;align-self:flex-start;
 display:inline-flex;align-items:center;justify-content:center;
 margin:0!important;max-width:100%;white-space:normal;
}
#ik-tribe-thread>.ik-ally-panel{
 position:relative;clear:both;min-width:0;margin:0;
}
#ik-tribe-thread .ik-ally-posts{min-width:0;overflow-wrap:anywhere;}
@media(max-width:700px){
 #ik-tribe-root .ik-ally-reserve-search{align-items:flex-end}
}
@media(max-width:520px){
 body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village){min-height:40px;padding:9px 11px!important;max-width:100%;}
 #ik-tribe-thread>.ik-ally-thread-back{width:100%;}
}
@media(prefers-reduced-motion:reduce){body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village){transition:none!important}}


}

/* Graphite theme shared by the game and public pages. Each retains its original cascade order. */
@scope (html:has(body:is(.ik-r111-game,.portal,.worlds-page))) {
/* R71-R85 — Dark Graphite Deep, approved after the R83/R84 royal-blue experiments.
   Neutral charcoal panels frame the ORIGINAL cobalt/gold icon artwork; royal blue
   is reserved for primary actions and selections, muted antique gold for accents.
   Colours reflect the user-approved Dark Graphite Deep preview of 31 Oct 2026.
   Existing legacy component CSS consumes the same --ik-theme-* tokens.
   SINGLE SOURCE OF TRUTH for decorative game and public-portal colours.
   Edit the tokens below to re-theme the UI without touching game mechanics.
   Historical CSS files remain for layout and gameplay; theme-only links removed.
   Game terrain, scene canvas, sprite images, and outcome semantics are excluded. */
:scope {
  color-scheme: dark;
  --ik-theme-canvas: #171b20;
  --ik-theme-deep: #1c2127;
  --ik-theme-field: #181d22;
  --ik-theme-surface: #232a31;
  --ik-theme-surface-alt: #272f37;
  --ik-theme-elevated: #2a323a;
  --ik-theme-head: #303943;
  --ik-theme-head-alt: #323c46;
  --ik-theme-hover: #313a43;
  --ik-theme-selected: #2d4f7c;
  --ik-theme-border-soft: #3d4752;
  --ik-theme-border: #46515c;
  --ik-theme-border-strong: #56616c;
  --ik-theme-accent: #b89a52;
  --ik-theme-accent-hover: #d2b56c;
  --ik-theme-accent-dark: #826f50;
  --ik-theme-ink: #e7e3da;
  --ik-theme-muted: #b8c1ca;
  --ik-theme-highlight: #f2efe7;
  --ik-theme-white: #f2efe7;
  --ik-theme-ink-dark: #171b20;
  --ik-theme-shadow: #090b0e;
  --ik-theme-danger: #dc8270;
  --ik-theme-success: #74bd91;
  --ik-theme-info: #73b6d1;
  /* Accessible action, hover and alternating-table colours, not scene artwork. */
  --ik-theme-primary: #2d4f7c;
  --ik-theme-primary-hover: #396292;
  --ik-theme-neutral: #2f3740;
  --ik-theme-neutral-hover: #3a434d;
  --ik-theme-row-odd: #222930;
  --ik-theme-row-even: #272f37;
  --ik-theme-row-selected: #2b3c4f;
  /* Functional exception: grass shown INSIDE 53x38 map-sprite previews. */
  --ik-map-stage-reference-plain: #426d36;
  --ik-theme-page-bg: var(--ik-theme-canvas);
  --ik-theme-panel-bg: linear-gradient(155deg,var(--ik-theme-surface-alt),var(--ik-theme-surface));
  --ik-theme-header-bg: var(--ik-theme-head);
  --ik-theme-button-bg: var(--ik-theme-neutral);
  --ik-theme-button-hover-bg: var(--ik-theme-primary);
  --bg: var(--ik-theme-canvas);
  --panel: var(--ik-theme-surface);
  --panel2: var(--ik-theme-surface-alt);
  --line: var(--ik-theme-border);
  --line2: var(--ik-theme-border-soft);
  --cream: var(--ik-theme-ink);
  --muted: var(--ik-theme-muted);
  --gold: var(--ik-theme-accent-hover);
  --goldDark: var(--ik-theme-accent-dark);
  --ik-r42-ink: var(--ik-theme-ink);
  --ik-r42-muted: var(--ik-theme-muted);
  --ik-r42-base: var(--ik-theme-canvas);
  --ik-r42-panel: var(--ik-theme-surface);
  --ik-r42-raised: var(--ik-theme-surface-alt);
  --ik-r42-warm: var(--ik-theme-head-alt);
  --ik-r42-orange: var(--ik-theme-accent);
  --ik-r42-border: var(--ik-theme-border);
  --ik-r42-border-soft: var(--ik-theme-border-soft);
  --ik-r39-head: var(--ik-theme-head);
  --ik-r39-head-text: var(--ik-theme-highlight);
  --ik-r39-surface: var(--ik-theme-surface);
  --ik-r39-odd: var(--ik-theme-row-odd);
  --ik-r39-even: var(--ik-theme-row-even);
  --ik-r39-hover: var(--ik-theme-neutral-hover);
  --ik-r39-rowhead: var(--ik-theme-elevated);
  --ik-r39-divider: var(--ik-theme-border-soft);
  --ik-amber-surface: var(--ik-theme-surface);
  --ik-amber-surface-alt: var(--ik-theme-surface-alt);
  --ik-amber-surface-deep: var(--ik-theme-deep);
  --ik-amber-head: var(--ik-theme-head);
  --ik-amber-raised: var(--ik-theme-elevated);
  --ik-amber-line: var(--ik-theme-border-soft);
  --ik-amber-text: var(--ik-theme-ink);
  --ik-amber-subtle: var(--ik-theme-muted);
  --ik-amber-focus: var(--ik-theme-accent-hover);
  --ink: var(--ik-theme-ink);
  --accent: var(--ik-theme-accent);
  --green: var(--ik-theme-success);
}


/* ================== 01. TABLES / 1px dividers + compact rows (from approved Journal) ================== */

/* Iron Kingdoms R71-R39 — AUDIT of every rendered game table.
   Reference: Trib > Jurnal's border var(--ik-theme-border-soft) and header var(--ik-theme-head).
   This stylesheet loads last. No changes to font sizes, widths or density.
   Scope all tables including overlay dialogs and report previews mounted in body.
   Exclude graphical calendars: their grids encode days, not data columns.
*/

/* Border-collapse keeps the 1px vertical separators as crisp as Journal. */
body table:not(.ik-calendar-grid){
  background-color:var(--ik-r39-surface)!important;
  border-collapse:collapse!important;
  border:1px solid var(--ik-r39-divider)!important;
  border-spacing:0!important;
}
body table:not(.ik-calendar-grid) :is(th,td){
  border:1px solid var(--ik-r39-divider)!important;
}
/* Specificity correction for legacy report unit matrices (#view-reports .ik-r40...)
   that set !important green borders. Keep the same exact Journal separator. */
body :is(#view-reports,#view-village,#view-ranking,#view-messages,
  #view-general,#view-global,#view-world,#view-buildings,#view-admin,
  #ik-tribe-root,#ik-simulator-dialog,.ik-r38-report-preview)
  table:not(.ik-calendar-grid) :is(th,td){
  border-color:var(--ik-r39-divider)!important;
}
body table:not(.ik-calendar-grid) thead th{
  background:var(--ik-r39-head)!important;
  color:var(--ik-r39-head-text)!important;
}
body table:not(.ik-calendar-grid) tbody th{
  background-color:var(--ik-r39-rowhead)!important;
}
body table:not(.ik-calendar-grid) tfoot :is(th,td){
  background-color:var(--ik-r39-rowhead)!important;
}
/* Distinctive combat outcomes, unread messages and active selection KEEP their
   meaningful state colors. No selectors touch text colors of wounded troops. */
body table:not(.ik-calendar-grid) tbody tr:not(:is(
  .loss,.won,.unread,.ik-rank-me,.selected,.current,.error,.warning,
  .attack,.support,.ik-r17-cancellable,[aria-selected="true"]
)):nth-child(odd){background-color:var(--ik-r39-odd)!important}
body table:not(.ik-calendar-grid) tbody tr:not(:is(
  .loss,.won,.unread,.ik-rank-me,.selected,.current,.error,.warning,
  .attack,.support,.ik-r17-cancellable,[aria-selected="true"]
)):nth-child(even){background-color:var(--ik-r39-even)!important}
body table:not(.ik-calendar-grid) tbody tr:not(:is(
  .loss,.won,.unread,.ik-rank-me,.selected,.current,.error,.warning,
  .attack,.support,.ik-r17-cancellable,[aria-selected="true"]
)):hover{background-color:var(--ik-r39-hover)!important}
/* Several historical CSS files paint GREEN directly on TD, hiding their
   containing TR backgrounds. Clear those backgrounds only on regular cells. */
body table:not(.ik-calendar-grid) tbody tr:not(:is(
  .loss,.won,.unread,.ik-rank-me,.selected,.current,.error,.warning,
  .attack,.support,.ik-r17-cancellable,[aria-selected="true"]
)) > td:not(:is(.loss,.won,.selected,.warning,.attack,.support,.error)){
  background-color:transparent!important;
}
/* Sticky columns on small displays need opaque table paint under text behind
   them while scrolling; do not turn them transparent. */
@media (max-width:600px){
  body .ik-raid-table tbody td:last-child{
    background-color:var(--ik-r39-even)!important;
  }
  body .ik-raid-table tbody tr:nth-child(odd)>td:last-child{
    background-color:var(--ik-r39-odd)!important;
  }
}
/* Audit major wrapper classes without changing overflow, widths or heights. */
body :is(.ik-ally-table-wrap,.ik-rank-table-wrap,.ik-message-table-wrap,
  .ik-army-table-wrap,.ik-general-table-scroll,.ik-command-table-scroll,
  .ik-raid-table-wrap,.ik-r31-table,.ik-simulator-unit-scroll,
  .ik-hover-table-scroll){
  border-color:var(--ik-r39-divider)!important;
}
/* Counteract legacy green painted wrapper backgrounds where safe. */
body :is(.ik-rank-table-wrap,.ik-message-table-wrap,.ik-ally-table-wrap,
  .ik-command-table-scroll,.ik-raid-table-wrap){
  background-color:var(--ik-r39-surface)!important;
}
/* Selected player and unread threads retain a readable warm emphasis. */
#view-ranking .ik-rank-table tbody tr.ik-rank-me > td{
  background-color:color-mix(in srgb, var(--ik-theme-border) 16.9%, transparent)!important;
}
#view-messages .ik-message-table tbody tr.unread > td{
  background-color:color-mix(in srgb, var(--ik-theme-border-strong) 18.8%, transparent)!important;
}
#view-messages .ik-message-table tbody tr.unread:hover > td{
  background-color:color-mix(in srgb, var(--ik-theme-border-strong) 25.1%, transparent)!important;
}

/* R71-R39 — restored day/night control in the Main Map settings.
   Both toggles are driven by the existing shared app.night / ikmap.setNight(). */
#view-world .ik-main-map-settings .ik-map-zoom-controls {
  display:inline-flex;align-items:center;flex:0 0 auto;min-width:0;
}
#view-world .ik-main-map-settings #map-day-toggle {
  min-height:33px;white-space:nowrap;min-width:85px;
  border:1px solid var(--ik-theme-border-strong);border-radius:6px;
  background:linear-gradient(180deg,var(--ik-theme-elevated),var(--ik-theme-surface));
  color:var(--ik-theme-highlight);padding:6px 10px;font:700 11px/1.2 system-ui,sans-serif;
  cursor:pointer;
}
#view-world .ik-main-map-settings #map-day-toggle:hover {
  border-color:var(--ik-theme-accent-hover);background:linear-gradient(180deg,var(--ik-theme-head),var(--ik-theme-surface-alt));
}
#view-world .ik-main-map-settings #map-day-toggle[aria-pressed="true"] {
  background:linear-gradient(180deg,var(--ik-theme-surface-alt),var(--ik-theme-surface));color:var(--ik-theme-highlight);
  border-color:var(--ik-theme-danger);
}
#view-world .ik-main-map-settings #map-day-toggle:focus-visible {
  outline:2px solid var(--ik-theme-accent-hover);outline-offset:2px;
}


/* ================== 02. GAME PANELS / NAVIGATION / CONTROLS ================== */

/* Iron Kingdoms R71-R42 — WARM AMBER / UMBER GLOBAL THEME
   Loaded after every historic stylesheet. The colour palette of the approved
   Trib > Jurnal table is the source of truth, extended to all game chrome.
   All existing compact dimensions, canvases, sprites and semantic state colours
   are deliberately preserved. There is no JavaScript or polling in this file. */

html{color-scheme:dark}
body{color:var(--ik-r42-ink)!important;background:var(--ik-theme-page-bg)!important}
body :is(.topbar,.ik-global-chrome){background:linear-gradient(110deg,color-mix(in srgb, var(--ik-theme-surface-alt) 97%, transparent),color-mix(in srgb, var(--ik-theme-deep) 95%, transparent) 64%),url('/assets/citadel.webp') center/cover!important;border-color:var(--ik-r42-border)!important;color:var(--ik-r42-ink)}
body :is(.tabs,.ik-quickbar,.ik-quickbar-inner){background:linear-gradient(180deg,var(--ik-theme-elevated),var(--ik-theme-surface))!important;border-color:var(--ik-r42-border)!important}
body .tabs :is(.nav,.nav.active){color:var(--ik-theme-highlight)}
body .tabs .nav.active{color:var(--ik-theme-highlight)!important;border-bottom-color:var(--ik-r42-orange)!important;background:color-mix(in srgb, var(--ik-theme-accent-dark) 16.9%, transparent)!important}
body .tabs .nav:hover{background:color-mix(in srgb, var(--ik-theme-selected) 33.3%, transparent)!important;color:var(--ik-theme-highlight)!important}
body :is(.resource,.ik-mini-toolbar,.ik-village-home,.map-canvas-head,.map-statusline){border-color:var(--ik-r42-border)!important}
body .resource{background:color-mix(in srgb, var(--ik-theme-surface) 85.1%, transparent)!important}
body .map-canvas-head{background:linear-gradient(180deg,var(--ik-theme-head-alt),var(--ik-theme-surface))!important}
body .map-statusline{background:var(--ik-theme-surface)!important;color:var(--ik-r42-muted)!important}
/* Panels are chrome; the actual village and terrain canvases are NOT touched. */
body :is(.panel,.map-panel,.ik-map-dark-subpanel,.map-main-area,
 .queue-card,.building-detail,.ik-detail-section,.building.compact-building,
 .ik-ally-panel,.ik-ally-wide,.ik-messages-page,.ik-messages-tools,
 .ik-rank-page,.ik-rank-toolbar,.ik-recruitment-page,
 .ik-construction-queue,.ik-general-page,.ik-general-intro,
 .ik-general-operations,.ik-general-table-area,
 .ik-global-actions-page,.ik-global-actions-heading,
 .ik-army-page,.ik-economy-dashboard,.ik-economy-intro,
 .ik-r35-message-filters,.ik-r41-reports-bulk,
 .ik-report-details,.ik-report-army,.ik-report-loot,.ik-report-panel,
 .ik-dialogue-bubble,.ik-r36-message-card,.ik-dialogue-history,
 .ik-main-buildings-panel,.ik-main-building-intro,.ik-main-building-hero,
 .ik-simulator-panel,.ik-military-group){
  border-color:var(--ik-r42-border-soft)!important;
  color:var(--ik-r42-ink);
}
body :is(.panel,.map-panel,.ik-map-dark-subpanel,.queue-card,
 .ik-ally-panel,.ik-ally-wide,.ik-main-buildings-panel,
 .ik-general-page,.ik-general-intro,.ik-general-operations,
 .ik-global-actions-page,.ik-global-actions-heading,
 .ik-army-page,.ik-economy-intro,.ik-rank-page,.ik-messages-page,
 .ik-detail-section,.building.compact-building,
 .ik-construction-queue,.ik-r36-message-card,.ik-dialogue-bubble){
  background:linear-gradient(155deg,color-mix(in srgb, var(--ik-theme-surface-alt) 96.1%, transparent),color-mix(in srgb, var(--ik-theme-field) 96.9%, transparent) 72%)!important;
}
body :is(.ik-general-stats>span,.ik-economy-summary article,.ik-economy-alerts>span,
 .ik-rank-toolbar,.ik-messages-tools,.ik-r35-message-filters,
 .ik-recruitment-summary,.ik-r42-villages-summary>span){
  background:var(--ik-theme-surface-alt)!important;border-color:var(--ik-r42-border-soft)!important;
}
body :is(.ik-general-tabs,.ik-global-actions-tabs,.ik-ally-tabs,
 .ik-rank-tabs,.ik-message-tabs,.ik-building-mode-tabs,
 .ik-map-tools-drawer,.ik-main-map-settings){
  background:linear-gradient(180deg,var(--ik-theme-elevated),var(--ik-theme-surface))!important;
  border-color:var(--ik-r42-border)!important;
}
body :is(.ik-general-tabs,.ik-global-actions-tabs,.ik-ally-tabs,.ik-building-mode-tabs) button.active,
body :is(.ik-general-tabs,.ik-global-actions-tabs,.ik-ally-tabs,.ik-building-mode-tabs) button[aria-selected="true"]{
  background:linear-gradient(180deg,var(--ik-theme-border-strong),var(--ik-theme-head-alt))!important;
  border-color:var(--ik-theme-accent)!important;color:var(--ik-theme-white)!important;
}
body :is(.ik-general-filters,.ik-ally-filters,.ik-general-toolbar,
 .ik-rank-filter,.ik-messages-filter){border-color:var(--ik-r42-border-soft)!important}
/* Controls: accent is orange/umber. Keep danger, attack/support and other
   meaning-bearing buttons out of this generic decorative recolour. */
body .view :is(input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),select,textarea),
body :is(.village-preview-editor,.ik-ally-panel,.ik-r42-villages) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),select,textarea){
  background:var(--ik-theme-field)!important;border:1px solid var(--ik-theme-border-strong)!important;
  color:var(--ik-theme-ink)!important;
}
body .view :is(input,select,textarea):focus-visible{outline:2px solid var(--ik-theme-accent-hover)!important;outline-offset:1px!important}
body .view button:not(:is(.primary,.danger,.loss,.attack,.support,.won,.warning,.error,[data-kind="attack"],[data-kind="support"],.ik-map-legend-dot)),
body .ik-ally-panel button:not(:is(.primary,.danger,.attack,.support,.warning)){
  background:var(--ik-theme-button-bg)!important;
  border-color:var(--ik-theme-border-strong)!important;color:var(--ik-theme-highlight)!important;
}
body .view button:not(:is(.primary,.danger,.loss,.attack,.support,.won,.warning,.error,[data-kind="attack"],[data-kind="support"])):is(:hover,:focus-visible):not(:disabled){
  background:var(--ik-theme-neutral-hover)!important;
  border-color:var(--ik-theme-border-strong)!important;color:var(--ik-theme-white)!important;
}
body :is(.primary,button.primary){background:var(--ik-theme-primary)!important;border-color:var(--ik-theme-border-strong)!important;color:var(--ik-theme-white)!important}
body :is(.danger,button.danger){color:var(--ik-theme-ink)!important}
body :is(.ik-general-stats strong,.ik-rank-heading h1,.ik-general-intro h1,
 .ik-global-actions-heading h1,.ik-economy-summary strong,.ik-general-number,
 .ik-ally-panel h3,.ik-main-buildings-heading h2){color:var(--ik-theme-accent-hover)!important}
body :is(.subtle,.ik-general-sub,.ik-general-footer-hint,.ik-general-hint,
 .ik-ally-panel p,.ik-global-actions-heading p){color:var(--ik-r42-muted)!important}
body :is(.ik-general-group-tags span,.ik-general-levels span,.ik-general-unit-list span){background:var(--ik-theme-elevated)!important;border-color:var(--ik-theme-border)!important}
body :is(.ik-general-table-scroll,.ik-ally-table-wrap,.ik-rank-table-wrap,.ik-message-table-wrap,
 .ik-command-table-scroll,.ik-army-table-wrap){border-color:var(--ik-r42-border)!important;background-color:var(--ik-theme-surface)!important}
body a:not(.nav):is(:hover,:focus-visible){text-decoration-color:var(--ik-theme-accent-hover)}
body :is(.ik-general-current,.ik-rank-me){border-color:var(--ik-theme-accent)!important}
body footer:not(.scene-footer),body .ik-game-footer{background:var(--ik-theme-field)!important;border-color:var(--ik-theme-border-soft)!important;color:var(--ik-theme-muted)!important}
body #toast{background:var(--ik-theme-surface-alt)!important;border-color:var(--ik-theme-accent)!important;color:var(--ik-theme-white)!important}
/* R42 Administration hub: information-dense, intentionally read-only; actual
   write actions remain in the pre-existing validated global modules. */
.ik-r42-villages{min-width:0;display:grid;gap:12px}
.ik-r42-villages-heading{display:flex;align-items:baseline;gap:10px 18px;flex-wrap:wrap;justify-content:space-between}
.ik-r42-villages-heading h2{font:normal 22px Georgia,serif;margin:0;color:var(--ik-theme-accent-hover)}
.ik-r42-villages-heading p{margin:0;color:var(--ik-r42-muted);font-size:12px}
.ik-r42-villages-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
.ik-r42-villages-summary>span{display:grid;gap:4px;padding:9px 11px;border:1px solid var(--ik-theme-border);border-radius:5px}
.ik-r42-villages-summary small{font:11px Arial,sans-serif;color:var(--ik-theme-muted)}
.ik-r42-villages-summary b{font:700 17px Arial,sans-serif;color:var(--ik-theme-highlight);font-variant-numeric:tabular-nums}
.ik-r42-villages-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.ik-r42-villages-actions button{padding:7px 10px;border-radius:4px;font:700 11px Arial,sans-serif}
.ik-r42-villages-hint{font:11px/1.5 Arial,sans-serif;color:var(--ik-theme-muted)}
.ik-r42-villages-table{width:100%;min-width:820px;font:12px/1.3 Arial,sans-serif}
.ik-r42-villages-table :is(td,th){padding:7px 9px!important;vertical-align:middle}
.ik-r42-villages-table th{white-space:nowrap}
.ik-r42-villages-table button{padding:5px 8px!important;font:700 11px Arial,sans-serif}
.ik-r42-village-name button{text-align:left}
.ik-r42-village-name small{display:block;margin-top:2px}
.ik-r42-resources{display:flex;flex-wrap:wrap;gap:4px 9px;white-space:nowrap}
.ik-r42-villages-note{font:11px/1.5 Arial,sans-serif;color:var(--ik-theme-muted);margin:0}
@media(max-width:1100px){.ik-r42-villages-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.ik-r42-villages-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ik-r42-villages-actions button{flex:1}}
/* Maps and village art intentionally excluded: #map-canvas, #mini-map-canvas,
   #village-canvas, sprite assets, icons and semantic report outcome colours. */

/* Hide duplicate internal mode tabs when hosted in Acțiuni Globale. */
#view-global .ik-general-tabs[hidden]{display:none!important}
/* Remaining legacy teal surfaces identified in R42 theme audit. */
#view-general{background:linear-gradient(150deg,var(--ik-theme-surface),var(--ik-theme-canvas) 75%)!important}
body :is(.map-main-area,.ik-report-panel,.ik-report-army,.ik-report-loot,
 .ik-rank-toolbar,.ik-messages-tools,.ik-military-group){
 background:linear-gradient(155deg,var(--ik-theme-surface-alt),var(--ik-theme-field))!important;
}
#view-world :is(.ik-map-context-menu,.ik-map-admin-tool-grid,
 .ik-custom-group-editor,.ik-map-jump-panel){
 background:linear-gradient(160deg,var(--ik-theme-surface-alt),var(--ik-theme-deep))!important;
 border-color:var(--ik-theme-border-strong)!important;
}
#view-world .ik-map-context-menu button{background:var(--ik-theme-elevated)!important;color:var(--ik-theme-highlight)!important}
#view-world :is(.ik-map-main-heading,.ik-main-map-heading){color:var(--ik-theme-highlight)!important}


/* ================== 03. GAME NESTED PANELS / OVERLAYS / EDITORS ================== */

/* Iron Kingdoms R71-R42-HF1 — complete global AMBER/UMBER UI theme.
   Supplements R71-R42. Ordered LAST among game styles.
   Fixes historic green backgrounds in nested panels, summaries, editors,
   inputs and actions that the original top-level skin did not cover.
   Preserves semantic game colours and literal map/village artwork.
*/

/* Nested layout cards and containers that inherited historical green/teal.
   Do not touch terrain, canvas, mini-map, village scene or unit sprites. */
body :is(
  .ik-reports-header,.ik-reports-toolbar,.ik-reports-list,.ik-report-view,
  .ik-report-detail-card,.ik-report-sheet-top,
  .ik-report-army,.ik-report-loot,.ik-report-damage,
  .ik-report-resource-grid span,.ik-r29-spy-intel,.ik-r29-spy-failed,
  .ik-r29-spy-cell,.ik-r40-none,.ik-r41-spy-building,
  .ik-report-pagination,.ik-r41-reports-bulk,
  .ik-messages-page>header,.ik-message-body,
  .ik-messages-tools,.ik-message-filter,.ik-dialogue-history,
  .ik-dialogue-bubble,.ik-r36-message-card,
  .ik-ally-forum-section,.ik-forum-compose,.ik-forum-search,
  .ik-forum-history,.ik-forum-thread-moderation,.ik-ally-member-editor,
  .ik-global-build-head,.ik-global-build-panel,.ik-global-build-status,
  .ik-global-build-plan-row,.ik-global-build-job,.ik-global-build-village,
  .ik-raid-heading,.ik-raid-controls,.ik-raid-list-title,
  .ik-raid-template,.ik-raid-help,.ik-raid-status,.ik-raid-performance,
  .ik-raid-performance-cards article,
  .ik-army-head,.ik-army-section,.ik-army-chip,.ik-army-plan-row,
  .ik-army-status,.ik-army-village-card,.ik-r31-center,.ik-r31-summary span,
  .ik-general-operations,.ik-general-stats>span,.ik-general-current,
  .ik-general-levels span,.ik-general-unit-list span,.ik-general-group-tags span,
  .ik-stage-overview,.ik-stage-edit,.ik-stage-matrix,
  .ik-trade-header,.ik-trade-form,.ik-trade-records,.ik-trade-status,
  .ik-trade-monitor-stats>span,.ik-trade-source-groups,
  .ik-military-overview-header,.ik-military-summary>span,
  .ik-military-controls,.ik-military-group-heading,
  .ik-military-empty,.ik-military-loading,.ik-r19-timeline,.ik-r19-slot,
  .ik-economy-summary article,.ik-economy-alerts>span,.ik-economy-suggestions,
  .ik-main-building-hero,.ik-economic-building-hero,
  .ik-build-category,.ik-build-category-header,
  .ik-queue-table-labels,.ik-recruit-queue-total,
  .ik-rally-section,.ik-rally-summary,
  .ik-rally-group,.ik-rally-command-panel,.ik-rally-collapsible,
  .ik-command-confirm-page,.ik-command-info,.ik-command-batch-panel,
  .ik-command-batch-row,.ik-building-info-collapsible,
  .ik-r54-recruit,.ik-r54-recruit-group,
  .ik-r54-recruit-budget,.ik-r54-target-orders,
  .ik-r54-unit-dialog,.ik-r54-order-tooltip,.ik-r46-hover,
  .ik-simulator-sheet,.ik-simulator-results,.ik-simulator-metrics>div,
  .ik-light-dialog,.ik-light-toolbar,.ik-light-foot,.ik-light-preview-panel,
  .ik-light-preview-footer,.ik-light-properties,
  .ik-map-quick-dialog,.ik-map-quick-note,.ik-map-tooltip,
  .ik-map-context-menu,.ik-map-admin-tool-grid,.ik-custom-group-editor,
  .ik-map-jump-panel,.ik-map-tools-drawer,
  .ik-village-context,.ik-rally-command-panel,
  .preview-tier,.preview-asset,.calibration-status,
  .ik-real-picker,.ik-real-fields,#ik-real-status,
  .ik-main-building-intro,.ik-main-buildings-panel
){
  background:var(--ik-amber-surface-alt)!important;
  border-color:var(--ik-amber-line)!important;
  color:var(--ik-amber-text);
}
/* Hero/top sections keep shallow amber gradients rather than green images. */
body :is(.ik-reports-header,.ik-report-sheet-top,.ik-general-intro,
  .ik-global-build-head,.ik-army-head,.ik-raid-heading,
  .ik-military-overview-header,.ik-light-head,
  .ik-r54-recruit-group>header,.ik-messages-page>header,
  .ik-r54-target-orders h3,.ik-build-category-header,
  .ik-rally-collapsible>summary,.ik-building-info-collapsible>summary,
  .ik-ally-forum-section>summary){
  background:linear-gradient(120deg,var(--ik-theme-head-alt),var(--ik-theme-surface) 80%)!important;
  border-color:var(--ik-amber-line)!important;
}
/* Individual rows: warm, compact; don't replace selection or result colours. */
body :is(.ik-global-build-plan-row,.ik-global-build-job,.ik-raid-template details,
  .ik-army-plan-row,.ik-r54-recruit-row,.ik-build-order,.ik-command-batch-row,
  .ik-rally-row,.ik-message-row,.ik-report-list-item,.ik-r54-target-order,.ik-stage-card):not(:is(.selected,.is-selected,.is-active,.is-current,.unread,.active,.loss,.won,.attack,.support,.warning,.error,[aria-selected="true"],[data-status="active"])){
  background:var(--ik-theme-surface)!important;
}
body :is(.ik-global-build-plan-row,.ik-r54-recruit-row,.ik-build-order,
 .ik-rally-row,.ik-message-row):not(:is(.selected,.is-selected,.is-active,.unread,.active,.attack,.support,.warning,.error,[data-status="active"])):nth-child(even){
  background:var(--ik-theme-surface-alt)!important;
}
body :is(.ik-report-list-item,.ik-ally-forum-section,.ik-r54-target-order):hover:not(:is(.selected,.is-active,.active)){
  background:var(--ik-theme-hover)!important;border-color:var(--ik-theme-accent-dark)!important;
}
/* R71-R39 table palette, including table WRAPPERS in specialised modules. */
body :is(.ik-report-units,.ik-r40-horizontal-units,.ik-simulator-units,
 .ik-ally-table,.ik-rank-table,.ik-message-table,.ik-r31-table,
 .ik-global-build-preview-scroll,.ik-raid-table-wrap,
 .ik-command-table-scroll,.ik-rank-table-wrap,.ik-army-table-wrap,
 .ik-trade-records,.ik-general-table-scroll){
 background-color:var(--ik-theme-surface)!important;border-color:var(--ik-theme-border)!important;
}
/* Avoid inherited green backgrounds on non-state table sections. */
body :is(.ik-report-units,.ik-r40-horizontal-units,.ik-simulator-units) thead,
body :is(.ik-r54-recruit,.ik-r31-center) thead,
body :is(.ik-general-table-scroll,.ik-global-build-preview-scroll) thead{
 background:var(--ik-theme-elevated)!important;
}
/* All fields in application chrome, including popovers/editors outside .view.
   Exempt native colour inputs, ranges, checkbox/radio and transparent scene assets. */
body :is(.view,.ik-global-chrome,.village-preview-editor,.ik-light-root,
  .ik-simulator-sheet,.ik-map-quick-dialog,.ik-r54-unit-dialog,
  .ik-ally-panel,.ik-ally-member-editor,.ik-real-picker,.ik-real-fields)
  :is(input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="range"]):not([type="file"]),
      textarea,select),
body :is(#rank-search,#rank-sort,#mini-viewport-cells,
  #map-surface-cells,#map-coordinate-grid,#map-axis-y,#map-axis-x,
  #map-editor-mode,#map-editor-size,#map-editor-category,#map-editor-search,
  #map-stage-calibration-stage,#map-stage-calibration-scale-number,
  #map-stage-calibration-width-number,#map-stage-calibration-height-number,
  #map-stage-calibration-x-number,#map-stage-calibration-y-number,
  #map-test-points-input,#map-custom-name,#map-custom-players,#map-custom-tribes,
  #map-custom-coords,#ik-reports-search,#ik-reports-from,#ik-reports-to,
  #ik-message-search,#ik-message-from,#ik-message-to){
  background:var(--ik-theme-field)!important;border-color:var(--ik-theme-border-strong)!important;
  color:var(--ik-theme-ink)!important;
}
body :is(.village-preview-editor,.ik-light-root,.ik-simulator-sheet,.ik-real-fields)
  :is(input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),select,textarea):focus-visible{
  outline:2px solid var(--ik-amber-focus)!important;outline-offset:1px;
}
/* Selectors without special numeric or combat meaning. Active state must remain visible. */
body :is(.ik-ally-member-editor,.ik-global-build-panel,.ik-general-page,
 .ik-ally-panel,.ik-r31-center,.ik-raid-controls,.ik-army-page,
 .ik-simulator-sheet,.ik-light-root,.ik-reports-toolbar,.ik-messages-tools)
 button:not(:is(.danger,.attack,.support,.loss,.won,.warning,.error,.active,.selected,.primary,[aria-selected="true"],[data-kind="attack"],[data-kind="support"])){
 background:linear-gradient(180deg,var(--ik-theme-head-alt),var(--ik-theme-surface-alt))!important;
 border-color:var(--ik-theme-border-strong)!important;color:var(--ik-theme-highlight)!important;
}
body :is(.ik-ally-member-editor,.ik-global-build-panel,.ik-general-page,
 .ik-ally-panel,.ik-r31-center,.ik-raid-controls,.ik-army-page,
 .ik-simulator-sheet,.ik-light-root,.ik-reports-toolbar,.ik-messages-tools)
 button:not(:disabled):hover:not(:is(.danger,.attack,.support,.loss,.won,.warning,.error,.active,.selected,.primary,[aria-selected="true"])){
 background:linear-gradient(180deg,var(--ik-theme-selected),var(--ik-theme-hover))!important;
 border-color:var(--ik-theme-accent-hover)!important;
}
/* Historical green buttons outside the normal .view element; controls only. */
body :is(.preview-launch,.cb-details,.queue-cancel,.ik-footer-actions button,
 .ik-reports-pagination button,.ik-reports-back,.ik-message-back,
 .ik-r54-target-order button,.ik-map-demo-panel button,
 .ik-map-context-menu button,.ik-map-zoom-controls button,
 .ik-map-quick-dialog button,.ik-r41-reports-bulk button,
 .ik-simulator-sheet button,.ik-light-root button,
 #preview-open,#preview-number,#map-test-points-reset,
 #ik-reports-create-folder,#ik-reports-rename-folder,#ik-reports-delete-folder){
 background:linear-gradient(180deg,var(--ik-theme-head-alt),var(--ik-theme-surface-alt))!important;
 border-color:var(--ik-theme-border-strong)!important;color:var(--ik-theme-highlight)!important;
}
body :is(.ik-military-clock-toggle button,.ik-r54-target-order,.ik-general-filters button,
 .ik-trade-tabs button,.ik-ally-forum-sections>button,.ik-build-group-toolbar button):not(:is(.active,.selected,[aria-selected="true"],.attack,.support)){
 background:var(--ik-theme-surface-alt)!important;border-color:var(--ik-theme-border-strong)!important;color:var(--ik-theme-ink)!important;
}
body :is(.ik-general-filters button.active,.ik-trade-tabs button.active,
 .ik-military-clock-toggle button.active,.ik-ally-forum-sections>button.active){
 background:var(--ik-theme-selected)!important;border-color:var(--ik-theme-accent-hover)!important;color:var(--ik-theme-white)!important;
}
/* Floating dialogs and report hover panes mount directly beneath <body>. */
body :is(.ik-r38-report-preview,.ik-r46-hover,.ik-r54-order-tooltip,
 .ik-map-quick-dialog,.ik-light-dialog,.ik-r54-unit-dialog,
 .ik-village-context,.ik-map-tooltip){
 background:linear-gradient(140deg,var(--ik-theme-surface-alt),var(--ik-theme-deep))!important;
 border-color:var(--ik-theme-accent-dark)!important;color:var(--ik-theme-highlight)!important;
}
/* Calibrator: only tool chrome; DO NOT recolour scene/canvas/previews. */
body :is(.village-preview-editor,.calibration-status,.ik-preview-floating,
 .ik-real-picker,#ik-real-status,.ik-stage-edit,.ik-stage-matrix){
 background:var(--ik-theme-surface)!important;border-color:var(--ik-theme-border-strong)!important;
}
body :is(.preview-tier,.preview-asset,.ik-stage-card,.ik-queue-table-labels){
 background:var(--ik-theme-surface-alt)!important;border-color:var(--ik-theme-border)!important;
}
/* map SETTINGS only — terrain/grid/selection/team colours stay untouched. */
#view-world :is(.ik-main-map-settings,.ik-map-context-menu,
 .ik-map-jump-panel,.ik-map-admin-tool-grid,.ik-custom-group-editor,
 .ik-map-tools-drawer){background:var(--ik-theme-surface)!important;border-color:var(--ik-theme-border-strong)!important}
#view-world :is(.ik-main-map-settings,.ik-map-jump-panel,.ik-map-context-menu)
 :is(select,input:not([type="color"]),textarea){background:var(--ik-theme-field)!important;border-color:var(--ik-theme-border-strong)!important;color:var(--ik-theme-highlight)!important}
#view-world #map-day-toggle{background:linear-gradient(180deg,var(--ik-theme-head-alt),var(--ik-theme-surface))!important;border-color:var(--ik-theme-border-strong)!important;color:var(--ik-theme-highlight)!important}
/* Explicit exceptions: do not override:
   #village-canvas, #map-canvas, #mini-map-canvas, .scenewrap,
   village-stage overlays, #legend-ally, military status/result colours,
   unit icons, mini-map terrain colours, progress meter fills.
*/

/* Final R42 audit: persistent legacy green detected on static DOM chrome. */
body :is(.ik-r39-budget-grid>div,.ik-recruitment-summary,
 .ik-vm-filters,.ik-vm-count,.ik-report-icon){
 background:var(--ik-theme-surface-alt)!important;border-color:var(--ik-theme-border)!important;color:var(--ik-theme-highlight)!important;
}
body :is(.world-link,#game-logout){
 background:linear-gradient(180deg,var(--ik-theme-head-alt),var(--ik-theme-surface-alt))!important;
 border-color:var(--ik-theme-accent-dark)!important;color:var(--ik-theme-highlight)!important;
}
/* Keep toggles and selected/active rows legible against the warm palette. */
body :is(.ik-rally-row.is-selected,.ik-stage-card.is-current,
 .ik-report-list-item.is-active,.ik-build-order[data-status="active"]){
 background:var(--ik-theme-head-alt)!important;border-color:var(--ik-theme-accent-hover)!important;
}
/* Accent only the native checkbox/radio tick (not their form factor). */
body :is(input[type="checkbox"],input[type="radio"]){accent-color:var(--ik-theme-accent)}


/* ================== 04. LOGIN + WORLD SELECT (scoped to portal) ================== */

/* Iron Kingdoms R71-R42 — portal and world-selection amber theme.
   Do not recolour medieval background pictures or artwork. */



:where(body.portal,body.worlds-page) {background:var(--ik-theme-canvas)!important;color:var(--ik-theme-ink)!important}


:where(body.portal,body.worlds-page) .site-header {background:color-mix(in srgb, var(--ik-theme-surface) 92.9%, transparent)!important;border-bottom-color:color-mix(in srgb, var(--ik-theme-border-strong) 50.2%, transparent)!important}


:where(body.portal,body.worlds-page) .site-brand .mark {background:linear-gradient(145deg,color-mix(in srgb, var(--ik-theme-selected) 53.3%, transparent),var(--ik-theme-field))!important;border-color:var(--ik-theme-accent)!important}


:where(body.portal,body.worlds-page) .auth-panel, :where(body.portal,body.worlds-page) .world-card, :where(body.portal,body.worlds-page) .loading-card, :where(body.portal,body.worlds-page) .worlds-note {background:linear-gradient(135deg,color-mix(in srgb, var(--ik-theme-surface-alt) 98.0%, transparent),color-mix(in srgb, var(--ik-theme-field) 96.1%, transparent))!important;border-color:var(--ik-theme-border-strong)!important}


:where(body.portal,body.worlds-page) .auth-panel input {background:var(--ik-theme-field)!important;border-color:var(--ik-theme-border-strong)!important;color:var(--ik-theme-white)!important}


:where(body.portal,body.worlds-page) .auth-panel input:focus-visible {outline:2px solid var(--ik-theme-accent-hover)!important}


:where(body.portal,body.worlds-page) :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village) {
 background:linear-gradient(180deg,var(--ik-theme-selected),var(--ik-theme-surface-alt))!important;border-color:var(--ik-theme-accent-dark)!important;color:var(--ik-theme-highlight)!important
}


:where(body.portal,body.worlds-page) :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):not(:disabled):hover {background:var(--ik-theme-border-strong)!important;border-color:var(--ik-theme-accent-hover)!important}


:where(body.portal,body.worlds-page) .cta, :where(body.portal,body.worlds-page) .submit, :where(body.portal,body.worlds-page) .world-enter {background:linear-gradient(180deg,var(--ik-theme-accent),var(--ik-theme-selected))!important;border-color:var(--ik-theme-accent-hover)!important;color:var(--ik-theme-white)!important}


:where(body.portal,body.worlds-page) .hero-vignette {background:linear-gradient(90deg,color-mix(in srgb, var(--ik-theme-ink-dark) 83.1%, transparent) 0%,color-mix(in srgb, var(--ik-theme-field) 56.9%, transparent) 28%,color-mix(in srgb, var(--ik-theme-canvas) 23.9%, transparent) 47%,color-mix(in srgb, var(--ik-theme-ink-dark) 89.0%, transparent) 73%,color-mix(in srgb, var(--ik-theme-canvas) 94.9%, transparent) 100%)!important}


:where(body.portal,body.worlds-page) .preview-section {background:radial-gradient(ellipse at 50% 0%,var(--ik-theme-elevated),var(--ik-theme-canvas) 73%)!important}


:where(body.portal,body.worlds-page) .chronicle {background:var(--ik-theme-surface)!important;border-color:color-mix(in srgb, var(--ik-theme-border) 50.2%, transparent)!important}


:where(body.portal,body.worlds-page) .worlds-bg {background:linear-gradient(180deg,color-mix(in srgb, var(--ik-theme-deep) 74.9%, transparent),color-mix(in srgb, var(--ik-theme-ink-dark) 91.0%, transparent) 65%,var(--ik-theme-canvas)),url("/assets/iron-kingdoms-hero.webp") center/cover!important}


:where(body.portal,body.worlds-page) .portal-footer {background:var(--ik-theme-canvas)!important;border-top-color:var(--ik-theme-border)!important}


/* R71-R42-HF1: portal leftover blue/teal chrome only, artwork untouched. */


:where(body.portal,body.worlds-page) :is(.hero,.hero-vignette,.worlds-main) {background-color:var(--ik-theme-canvas)!important}


:where(body.portal,body.worlds-page) .hero-vignette {background:linear-gradient(90deg,color-mix(in srgb, var(--ik-theme-deep) 91.0%, transparent) 0%,color-mix(in srgb, var(--ik-theme-field) 69.8%, transparent) 36%,color-mix(in srgb, var(--ik-theme-canvas) 52.2%, transparent) 58%,color-mix(in srgb, var(--ik-theme-canvas) 93.7%, transparent) 100%)!important}


:where(body.portal,body.worlds-page) :is(.worlds-note,.chronicle-entry) {background-color:var(--ik-theme-surface-alt)!important;border-color:var(--ik-theme-border-strong)!important}


:where(body.portal,body.worlds-page) :is(.form-tabs,.form-footer,.world-stats>div) {border-color:var(--ik-theme-border)!important}


:where(body.portal,body.worlds-page) :is(.world-pill,.world-num,.world-stats strong) {color:var(--ik-theme-accent-hover)!important}


:where(body.portal,body.worlds-page) :is(.auth-panel .form-tabs button:not(.selected),.secondary-cta,.text-button) {color:var(--ik-theme-muted)!important}


:where(body.portal,body.worlds-page) .preview-card:after {background:linear-gradient(0deg,color-mix(in srgb, var(--ik-theme-canvas) 93.7%, transparent),color-mix(in srgb, var(--ik-theme-field) 8.6%, transparent) 75%)!important}


:where(body.portal,body.worlds-page) .auth-panel input::placeholder {color:var(--ik-theme-muted)!important}



/* ================== 05. FINAL GLOBAL UI-CHROME NORMALIZATION ==================
   No extra theme CSS elsewhere. These late rules cover dynamically mounted
   controls and layout wrappers while preserving canvas/terrain/gameplay state. */
body:not(.portal):not(.worlds-page) {
  background:var(--ik-theme-page-bg) fixed !important;
  color:var(--ik-theme-ink);
  accent-color:var(--ik-theme-accent);
}
body:not(.portal):not(.worlds-page) :is(
  .panel,.map-info,.map-panel,.map-main-area,.map-controls,.map-toolbar,
  .ik-ally-panel,.ik-ally-wide,.ik-report-panel,.ik-reports-list,
  .ik-reports-header,.ik-messages-page,.ik-message-body,.ik-dialogue-history,
  .ik-army-page,.ik-general-page,.ik-global-actions-page,.ik-general-panel,
  .ik-economic-panel,.ik-economy-dashboard,.ik-military-group,.ik-rank-page,
  .ik-trade-form,.ik-trade-header,.ik-trade-status,.ik-recruitment-page,
  .ik-global-build-panel,.ik-raid-controls,.ik-raid-template,
  .ik-building-card,.ik-building-info,.ik-detail-section,.building.compact-building,
  .queue-card,.ik-report-details,.ik-report-loot,.ik-report-army,.ik-simulator-sheet,
  .ik-simulator-results,.ik-map-quick-dialog,.ik-map-tooltip,.ik-village-context,
  .ik-main-map-settings,.ik-map-dark-subpanel,.village-preview-editor,
  .ik-stage-edit,.ik-stage-matrix,.ik-r31-center,.ik-r42-villages,
  .ik-ally-member-editor,.ik-forum-compose,.ik-forum-search,
  [role="dialog"]:not(.ik-canvas-overlay),dialog:not(.ik-canvas-overlay)
){border-color:var(--ik-theme-border-soft)!important;color:var(--ik-theme-ink)}
body:not(.portal):not(.worlds-page) :is(
 .ik-report-army,.ik-report-loot,.ik-dialogue-history,.ik-ally-member-editor,
 .ik-forum-compose,.ik-forum-search,.ik-recruitment-page,.ik-global-build-panel,
 .ik-army-page,.ik-economy-dashboard,.ik-report-panel,.ik-rank-page,
 .ik-simulator-sheet,.ik-simulator-results,.ik-trade-form,
 .ik-stage-edit,.ik-stage-matrix,.ik-map-quick-dialog,.ik-village-context,
 .ik-map-tooltip,.ik-r31-center
){background:var(--ik-theme-panel-bg)!important}
body:not(.portal):not(.worlds-page) :is(
  .view,.ik-global-chrome,.ik-report-panel,.ik-ally-panel,.ik-map-quick-dialog,
  .ik-simulator-sheet,.village-preview-editor,.ik-light-root,.ik-message-body,
  .ik-messages-tools,.ik-r42-villages
) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="range"]):not([type="file"]),select,textarea){
  background:var(--ik-theme-field)!important;
  color:var(--ik-theme-ink)!important;
  border-color:var(--ik-theme-border-strong)!important;
}
body:not(.portal):not(.worlds-page) :is(button,[role="button"],.ik-pill,.ik-chip):not(:is(.attack,.support,.loss,.won,.danger,.warning,.error,.primary,.selected,.active,[aria-selected="true"],[data-kind="attack"],[data-kind="support"])){
  border-color:var(--ik-theme-border)!important;
}
body:not(.portal):not(.worlds-page) :is(.ik-ally-table-wrap,.ik-rank-table-wrap,
 .ik-message-table-wrap,.ik-general-table-scroll,.ik-command-table-scroll,
 .ik-army-table-wrap,.ik-raid-table-wrap,.ik-report-table-scroll){
  background:var(--ik-theme-surface)!important;
  border-color:var(--ik-theme-border-soft)!important;
}
body:not(.portal):not(.worlds-page) table:not(.ik-calendar-grid){
 background:var(--ik-theme-surface)!important;
 border-color:var(--ik-theme-border-soft)!important;
}
body:not(.portal):not(.worlds-page) table:not(.ik-calendar-grid) :is(td,th){
 border-color:var(--ik-theme-border-soft)!important;
}
body:not(.portal):not(.worlds-page) :is(.ik-r38-report-preview,.ik-r46-hover,
 .ik-r54-order-tooltip,.ik-light-dialog,.ik-map-quick-dialog,.ik-map-tooltip,
 .ik-village-context,.ik-r54-unit-dialog){
 background:var(--ik-theme-panel-bg)!important;
 border-color:var(--ik-theme-border)!important;
 color:var(--ik-theme-ink)!important;
}
body:is(.portal,.worlds-page){
 color:var(--ik-theme-ink)!important;
 background:var(--ik-theme-canvas)!important;
 accent-color:var(--ik-theme-accent);
}
body:is(.portal,.worlds-page) :is(.auth-panel,.world-card,.loading-card,.worlds-note,
 .site-header,.chronicle,.chronicle-entry){border-color:var(--ik-theme-border)!important}
/* Note: terrain/mini-map/canvas/sprite assets, UI health meters and combat
   meaning-colours retain their authored values. No blanket div recolour. */

/* 06. UNIVERSAL CONTROLS — including dynamic widgets outside .view */
body:not(.portal):not(.worlds-page) :is(input,textarea,select):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="range"]):not([type="file"]):not([type="image"]){
  background:var(--ik-theme-field)!important;
  color:var(--ik-theme-ink)!important;
  border-color:var(--ik-theme-border-strong)!important;
}
body:not(.portal):not(.worlds-page) button:not(:is(.primary,.danger,.attack,.support,.loss,.won,.warning,.error,.active,.selected,[aria-selected="true"],[data-kind="attack"],[data-kind="support"],.ik-map-legend-dot)) {
  background:var(--ik-theme-button-bg)!important;
  color:var(--ik-theme-ink)!important;
  border-color:var(--ik-theme-border)!important;
}
body:not(.portal):not(.worlds-page) button:not(:is(.primary,.danger,.attack,.support,.loss,.won,.warning,.error,.active,.selected,[aria-selected="true"],[data-kind="attack"],[data-kind="support"],.ik-map-legend-dot)):hover:not(:disabled){
  background:var(--ik-theme-neutral-hover)!important;
  border-color:var(--ik-theme-accent-hover)!important;
}
body:not(.portal):not(.worlds-page) :is(.building:not(.village-sprite),.map-info,.scene-footer,.resource,
 .ik-light-preview-panel,.ik-report-list-item:not(.won):not(.loss),.ik-map-admin-tool-grid,
 .ik-military-controls,.ik-r39-budget-grid > div):not(:is(.attack,.support,.warning,.error,.won,.loss)){
 border-color:var(--ik-theme-border-soft)!important;
 background:var(--ik-theme-panel-bg)!important;
}


/* R71-R43: remaining dynamically mounted chrome and same-page form components.
   Central token definitions stay at the beginning of THIS file. Gameplay map,
   canvas, building icons and meaningful military/health states are excluded. */
body:not(.portal):not(.worlds-page) :is(
 .ik-ally-content-in,.ik-ally-columns,.ik-ally-forum-section,.ik-ally-forum-admin,
 .ik-ally-filters,.ik-ally-pagination,.ik-ally-forum-post,.ik-ally-forum-topics,
 .ik-report-result-band:not(.won):not(.lost):not(.loss),.ik-report-armies,
 .ik-report-resource-grid,.ik-r42-village-summary,.ik-r42-village-toolbar,
 .ik-dialogue-bubble,.ik-r36-message-card,.ik-message-conversation,
 .ik-forum-thread,.ik-forum-thread-post,.ik-global-recruit-budget,
 .ik-r39-budget-grid,.ik-modal-dialog,.ik-recruitment-queue,.ik-recruitment-card,
 .ik-trade-card,.ik-global-summary,.ik-military-preview
):not(:is(.attack,.support,.loss,.won,.warning,.danger,.error)) {
 background-color:var(--ik-theme-surface)!important;
 border-color:var(--ik-theme-border-soft)!important;
 color:var(--ik-theme-ink);
}
body:not(.portal):not(.worlds-page) :is(
 .ik-ally-forum-post,.ik-dialogue-bubble,.ik-r36-message-card,.ik-message-conversation,
 .ik-modal-dialog,.ik-military-preview
):not(:is(.attack,.support,.loss,.won,.warning,.danger,.error)) {
 background:var(--ik-theme-panel-bg)!important;
}
body:not(.portal):not(.worlds-page) :is(
 .ik-ally-forum-section,.ik-ally-forum-admin,.ik-ally-pagination,.ik-ally-filters,
 .ik-r42-village-toolbar,.ik-global-summary
) :is(button:not(.attack):not(.support):not(.danger),input,select,textarea){
 border-color:var(--ik-theme-border-strong)!important;
}
/* A semantic green (success, support, field colors) remains intentional; it is
   NOT an old-theme background. No broad selectors against scene children. */


/* ================== 06. R71-R43 GLOBAL DENSITY / CENTRAL UI OVERRIDES ==================
   Authoritative theme + density overrides. Every decorative background below
   uses the SAME --ik-theme-* tokens; old sheets retain ONLY layout/hit areas.
   This section deliberately excludes the map/village canvas, draggable controls,
   military badge colours, sprites and input textareas with user content. */
:scope {
  --ik-theme-density-row-y: 5px;
  --ik-theme-density-row-x: 8px;
  --ik-theme-density-panel: 10px;
  --ik-theme-density-gap: 7px;
  --ik-theme-density-input-height: 32px;
}
/* GLOBAL PAGES: compress whitespace rather than shrinking useful text. */
body .view :is(.panel,.ik-ally-panel,.ik-global-build-panel,.ik-construction-panel,
  .ik-recruitment-panel,.ik-economy-panel,.ik-rank-panel,.ik-reports-panel,
  .ik-stage-overview,.ik-stage-edit,.ik-stage-matrix,.ik-trade-section,
  .ik-reports-list,.ik-army-panel,.ik-military-panel,.ik-building-panel,
  .ik-general-operations,.ik-modal-dialog,.ik-general-current-panel):not(.scenewrap){
  border-color:var(--ik-theme-border-soft)!important;
}
body .view :is(.ik-ally-panel,.ik-global-build-panel,.ik-recruitment-panel,
  .ik-economy-panel,.ik-stage-overview,.ik-stage-edit,.ik-stage-matrix,
  .ik-army-panel,.ik-military-panel,.ik-general-operations):not(.scenewrap){
  padding:var(--ik-theme-density-panel)!important;
}
body :is(.ik-general-page,.ik-army-page,.ik-rank-page,.ik-profile-page,
  .ik-global-actions-page,.ik-building-page,.ik-reports-page,.ik-messages-page){
  row-gap:var(--ik-theme-density-gap)!important;
}
body :is(.ik-global-actions-heading,.ik-general-intro,.ik-rank-heading,
  .ik-army-head,.ik-reports-header,.ik-ally-title,.ik-trade-header){
  padding:9px 12px!important;
  gap:var(--ik-theme-density-gap)!important;
  margin-bottom:7px!important;
}
body :is(.ik-global-actions-heading,.ik-general-intro,.ik-rank-heading,
  .ik-army-head,.ik-reports-header,.ik-ally-title) :is(h1,h2){
  margin:0!important;
  line-height:1.18!important;
}
body :is(.ik-global-actions-heading,.ik-general-intro,.ik-rank-heading,
  .ik-army-head,.ik-reports-header,.ik-ally-title) p{
  margin:2px 0!important;
  line-height:1.35!important;
}
/* PRIVIRE GENERALA: biggest measured source of vertical whitespace. */
body #view-general{background:var(--ik-theme-page-bg)!important}
body .ik-general-page{max-width:none!important;padding:8px 11px!important;line-height:1.35!important}
body .ik-general-intro{padding:8px 11px!important;box-shadow:none!important}
body .ik-general-intro h1{font-size:clamp(20px,2vw,26px)!important}
body .ik-general-stats{gap:5px!important;margin:6px 0 8px!important}
body .ik-general-stats>span{padding:6px 9px!important;gap:2px!important;
 background:var(--ik-theme-panel-bg)!important;border-color:var(--ik-theme-border-soft)!important}
body .ik-general-stats strong{font-size:18px!important;line-height:1.1!important}
body .ik-general-tabs{gap:3px!important;padding-bottom:3px!important}
body .ik-general-tabs button{padding:5px 9px!important;line-height:1.2!important}
body .ik-general-filters{gap:4px!important;padding:5px 0 4px!important}
body .ik-general-filters button{padding:5px 9px!important;line-height:1.2!important;
 background:var(--ik-theme-button-bg)!important;border-color:var(--ik-theme-border-soft)!important}
body .ik-general-filters button.active{background:var(--ik-theme-button-hover-bg)!important;border-color:var(--ik-theme-accent)!important}
body .ik-general-toolbar{gap:5px!important;margin:3px 0 6px!important}
body .ik-general-operations{padding:7px 9px!important;margin-bottom:6px!important;
 background:var(--ik-theme-panel-bg)!important}
body .ik-general-group-line,body .ik-general-group-actions{gap:4px!important;margin-bottom:4px!important}
body .ik-general-table-scroll{box-shadow:none!important;background:var(--ik-theme-surface)!important;
 border-color:var(--ik-theme-border-soft)!important}
body .ik-general-table-scroll :is(th,td){padding:5px 7px!important;line-height:1.25!important}
body .ik-general-table-scroll th{background:var(--ik-theme-head)!important}
body .ik-general-table-scroll tbody tr:nth-child(even){background:var(--ik-theme-surface-alt)!important}
body .ik-general-table-scroll tbody tr:hover{background:var(--ik-theme-hover)!important}
body .ik-general-current{margin-top:2px!important;padding:1px 5px!important;
 background:var(--ik-theme-selected)!important;border-color:var(--ik-theme-accent)!important}
body .ik-general-stack{gap:1px!important}
body :is(.ik-general-unit-list,.ik-general-levels,.ik-general-group-tags){gap:3px!important}
body :is(.ik-general-unit-list,.ik-general-levels,.ik-general-group-tags) span{
 padding:2px 5px!important;background:var(--ik-theme-elevated)!important;border-color:var(--ik-theme-border-soft)!important}
body .ik-general-sub,body .ik-general-village small{margin-top:1px!important}
body .ik-general-footer-hint{margin-top:6px!important}
/* PANELS AND FILTERS ACROSS MILITARY, KINGDOM, MESSAGES AND ECONOMY. */
body :is(.ik-global-actions-tabs,.ik-ally-tabs,.ik-trade-tabs,
  .ik-military-filters,.ik-rank-filters,.ik-ally-filters,
  .ik-messages-filters,.ik-report-filters,.ik-r41-filters){
  gap:4px!important;margin-bottom:6px!important;
}
body :is(.ik-global-actions-tabs,.ik-ally-tabs,.ik-trade-tabs) button{
  padding:6px 9px!important;line-height:1.25!important;
}
body :is(.ik-r42-villages,.ik-ally-content-in,.ik-recruitment-content,
 .ik-economy-content,.ik-global-build-content,.ik-message-conversation){
 gap:var(--ik-theme-density-gap)!important;
}
body :is(.ik-r42-villages-summary,.ik-military-summary,.ik-economy-summary){gap:5px!important}
body :is(.ik-r42-villages-summary>span,.ik-military-summary>span,
 .ik-economy-summary>span){padding:6px 8px!important}
body .ik-r42-villages-table :is(td,th){padding:5px 7px!important;line-height:1.25!important}
body :is(.ik-ally-table,.ik-rank-table,.ik-military-table,.ik-r42-villages-table,
  .ik-message-table,.ik-reports-table) :is(td,th){
  border-color:var(--ik-theme-border-soft)!important;
}
body :is(.ik-ally-table,.ik-rank-table,.ik-military-table,.ik-r42-villages-table,
  .ik-message-table,.ik-reports-table) td{padding:var(--ik-theme-density-row-y) var(--ik-theme-density-row-x)!important}
body :is(.ik-ally-table,.ik-rank-table,.ik-military-table,.ik-r42-villages-table,
  .ik-message-table,.ik-reports-table) th{padding:5px 8px!important}
body .ik-ally-pagination{margin:5px 0!important;gap:5px!important}
body :is(.ik-ally-panel h3,.ik-reports-panel h3,.ik-stage-overview h3,
 .ik-general-operations h3,.ik-trade-section h2){margin:0 0 6px!important}
body .ik-r36-message-card{padding:7px 9px!important;gap:4px!important}
body .ik-r36-message-card-header{margin-bottom:4px!important;gap:6px!important}
body :is(.ik-report-armies,.ik-report-loot,.ik-report-summary,.ik-r42-village-toolbar){gap:5px!important}
body :is(.ik-report-units,.ik-report-loot) :is(td,th){padding:4px 6px!important}
/* Forms: preserve 32px interactive height on desktop; touch targets >= 40px. */
body .view :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select){
 min-height:var(--ik-theme-density-input-height)!important;
}
body .view textarea{min-height:76px}
body .view :is(.ik-ally-panel,.ik-general-page,.ik-global-actions-page) label{gap:3px!important}
body .view :is(.ik-ally-panel,.ik-general-page,.ik-global-actions-page) :is(button,input,select){
 max-width:100%;
}
@media(max-width:760px){
 :scope{--ik-theme-density-input-height:40px;--ik-theme-density-panel:9px;--ik-theme-density-row-y:6px}
 body .ik-general-page{padding:7px!important}
 body .ik-general-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body .ik-general-intro{padding:9px!important}
 body :is(.ik-general-table-scroll,.ik-ally-table-wrap,.ik-message-table-wrap,
   .ik-command-table-scroll){overflow-x:auto!important}
 body :is(.ik-ally-table,.ik-general-table-scroll table,.ik-rank-table){min-width:580px}
}

/* A missing Sediu Central thumbnail must never show a broken-image box. */
.ik-quickbar-art-fallback{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:17px;line-height:1;flex:none;color:var(--ik-theme-highlight)}
/* In data tables, village-name buttons are text links, not full-size action controls. */
body .ik-general-table-scroll .ik-general-village button,
body .ik-general-table-scroll .ik-general-village button:hover,
body .ik-general-table-scroll .ik-general-village button:focus-visible{
 min-height:0!important;height:auto!important;line-height:1.2!important;
 background:none!important;border:0!important;padding:0!important;
 box-shadow:none!important;text-align:left!important;color:var(--ik-theme-accent-hover)!important;
 font-size:13px!important;
}
body .ik-general-table-scroll .ik-general-village small{
 line-height:1.1!important;font-size:10px!important;margin-top:1px!important;
}
/* Highly specific legacy button chrome must not turn village names into pills. */
#view-general .ik-general-table-scroll td.ik-general-village button,
#view-general .ik-general-table-scroll td.ik-general-village button:is(:hover,:focus-visible){
 background:transparent!important;background-image:none!important;border:none!important;
 box-shadow:none!important;padding:0!important;border-radius:0!important;
 min-height:0!important;height:auto!important;line-height:1.2!important;
 text-align:left!important;color:var(--ik-theme-accent-hover)!important;
}
#view-general .ik-general-table-scroll td.ik-general-village small{
 line-height:1.1!important;margin:1px 0 0!important;
}
#view-general .ik-general-table-scroll tbody td{padding:3px 6px!important}
#view-general .ik-general-operations{min-height:0!important;padding:6px 9px!important}
#view-general .ik-general-operations :is(p,h3){margin:2px 0!important}
/* Fix a missing legacy background URL through the single theme authority. */
body .ik-building-scene main{
 background:linear-gradient(180deg,var(--ik-theme-deep),var(--ik-theme-surface-alt)),
 url('/assets/village-background-0460/day2.webp') center/cover fixed!important;
}


/* ============================================================================
   R71-R44 / CENTRAL THEME FINISH + UNIVERSAL COMPACT CHROME
   All decorative paints for the elements below MUST be controlled from the
   --ik-theme-* variables at the TOP of this file. Historic stylesheets retain
   their dimensional/layout rules. This block is deliberately loaded LAST.
   Excludes: terrain graphics, map pins, village sprite layers, progress gauges,
   resource colours, attack/support/won/loss states and calibration image pixels.
   ============================================================================ */

/* 01. Top-level neutral chrome in real (including initially hidden) screens. */
body :is(#ik-recruitment-summary,#ik-r41-reports-bulk,#main-buildings-panel,
 #map-coordinate-grid,.ik-recruit-general-budget,.ik-global-recruit-budget,
 .ik-global-recruit-summary,.ik-main-buildings-panel,.ik-report-list-header,
 .ik-reports-folder-controls,.ik-ally-filters,.ik-ally-pagination,
 .ik-messages-filters,.ik-r35-message-filters,.ik-global-controls,
 .ik-r42-village-toolbar,.ik-economy-dashboard,.ik-stage-matrix,
 .ik-stage-edit,.ik-stage-overview,.ik-report-hover,
 .ik-command-details,.ik-military-command-preview,
 .ik-r41-reports-bulk,.ik-general-notice,.ik-vm-filters,
 .ik-global-actions-heading,.ik-recruitment-queue):not(:is(.attack,.support,.won,.loss,.warning,.error,.danger)){
 background:var(--ik-theme-panel-bg)!important;
 color:var(--ik-theme-ink)!important;
 border-color:var(--ik-theme-border-soft)!important;
}
body :is(#ik-recruitment-summary,#ik-r41-reports-bulk,#map-coordinate-grid,
 .ik-ally-pagination,.ik-r42-village-toolbar) :is(div,span):not(:is(.attack,.support,.won,.loss,.warning,.error,.danger,.ik-map-legend-dot)){
 border-color:var(--ik-theme-border-soft)!important;
}
body :is(#ik-recruitment-summary,#ik-recruit-general-wood,#ik-recruit-general-stone,
 #ik-recruit-general-iron,#ik-recruit-general-pop) {
 border-color:var(--ik-theme-border-soft)!important;
}
body #ik-recruitment-summary > div,
body :is(.ik-global-recruit-budget,.ik-global-recruit-summary) > div {
 background:var(--ik-theme-surface-alt)!important;
 border-color:var(--ik-theme-border-soft)!important;
}

/* 02. Calibrator and preview chrome (not the rendered images themselves). */
body :is(#preview-open,#preview-building,#preview-number,#preview-tier,
 #preview-asset,#calibration-mode,#calibration-layer,#calibration-status,
 #calibration-vertex,#calibration-x,#calibration-y,#calibration-w,
 #calibration-h,#calibration-step,#calibration-inner-x,#calibration-inner-y):not(img){
 background:var(--ik-theme-field)!important;
 color:var(--ik-theme-ink)!important;
 border-color:var(--ik-theme-border-soft)!important;
}
body :is(#preview-tier,#preview-asset,#calibration-status) {
 background:var(--ik-theme-surface-alt)!important;
}

/* 03. Map CONFIGURATION chrome. Actual terrain, locator pins, overlays and
   canvas colours are left intact; only buttons, selectors and input fields. */
body :is(#mini-viewport-cells,#map-surface-cells,#ik-map-own-villages,
 #map-test-points-input,#map-editor-mode,#map-editor-size,
 #map-editor-category,#map-editor-search,#ik-real-village-list,
 #ik-real-village-coordinates){
 background:var(--ik-theme-field)!important;
 color:var(--ik-theme-ink)!important;
 border-color:var(--ik-theme-border-strong)!important;
}
body :is(#map-day-toggle,#map-demo-create,#map-demo-create-20,
 #map-demo-create-30,#map-demo-create-50,#map-demo-create-100,
 #map-demo-create-500,#map-test-points-reset,
 #ik-reports-create-folder,#ik-reports-rename-folder,
 #ik-reports-delete-folder):not(:is(.attack,.support,.won,.loss,.warning)){
 background:var(--ik-theme-button-bg)!important;
 color:var(--ik-theme-ink)!important;
 border-color:var(--ik-theme-border-strong)!important;
}
body :is(#map-day-toggle,#map-demo-create,#map-demo-create-20,
 #map-demo-create-30,#map-demo-create-50,#map-demo-create-100,
 #map-demo-create-500,#map-test-points-reset,
 #ik-reports-create-folder,#ik-reports-rename-folder,
 #ik-reports-delete-folder):hover:not(:disabled){
 background:var(--ik-theme-button-hover-bg)!important;
 border-color:var(--ik-theme-accent-hover)!important;
}
body :is(#view-world,#view-village) :is(.ik-map-dark-subpanel,.ik-main-map-settings,
 .ik-map-coordinate-grid,.ik-map-admin-panel,.ik-map-jump-panel,
 .ik-map-editor-panel,.map-panel,.scene-controls,.ik-vm-filters):not(.ik-map-legend) {
 border-color:var(--ik-theme-border-soft)!important;
}

/* 04. Consistent neutral surface for separate screens and dynamic popovers.
   Explicit semantic colour classes remain an exception. */
body :is(.ik-dialogue-bubble,.ik-ally-forum-post,.ik-ally-forum-admin,
 .ik-forum-thread,.ik-forum-thread-post,.ik-modal-dialog,.ik-report-preview,
 .ik-report-hover-tooltip,.ik-report-hover-card,.ik-report-army,
 .ik-report-loot,.ik-report-summary,.ik-general-operations,
 .ik-r42-village-summary,.ik-r42-villages-summary,
 .ik-r41-command-details,.ik-military-command-details):not(:is(.attack,.support,.won,.loss,.warning,.error,.danger)){
 background:var(--ik-theme-panel-bg)!important;
 border-color:var(--ik-theme-border-soft)!important;
 color:var(--ik-theme-ink);
}
body :is(.ik-ally-panel,.ik-rank-page,.ik-recruitment-page,.ik-reports-page,
 .ik-general-page,.ik-messages-page,.ik-army-page,.ik-global-actions-page)
 :is(fieldset,details,.filter-box,.toolbar,.summary-card):not(:is(.attack,.support,.won,.loss,.warning,.error,.danger)) {
 border-color:var(--ik-theme-border-soft)!important;
}
/* Links, tabs and controls with a selected/expanded state should carry an
   amber emphasis rather than retaining stale dark green paint. */
body :is(.ik-ally-tabs,.ik-general-tabs,.ik-global-actions-tabs,.ik-message-tabs)
 :is(button.active,button[aria-selected="true"]) {
 background:var(--ik-theme-button-hover-bg)!important;
 border-color:var(--ik-theme-accent)!important;
 color:var(--ik-theme-highlight)!important;
}

/* 05. Unified compact density. The objective is spacing, NOT smaller fonts.
   Tables keep 1px vertical + horizontal borders, and remain horizontally
   scrollable when the screen is narrow. */
:scope {
 --ik-theme-density-section-gap:8px;
 --ik-theme-density-compact-pad:8px;
 --ik-theme-density-header-pad:7px;
}
body :is(#view-general,#view-global,#view-reports,#view-messages,#view-tribe,
 #view-ranking,#view-recruitment,#view-buildings) :is(.ik-general-page,
 .ik-global-actions-page,.ik-reports-page,.ik-messages-page,.ik-ally-panel,
 .ik-rank-page,.ik-recruitment-page,.ik-building-page){
 row-gap:var(--ik-theme-density-section-gap)!important;
}
body :is(#view-global,#view-reports,#view-messages,#view-tribe,#view-ranking,
 #view-recruitment,#view-buildings) :is(.ik-ally-panel,.ik-recruitment-panel,
 .ik-economy-panel,.ik-reports-panel,.ik-messages-tools,.ik-general-operations,
 .ik-building-detail,.ik-rank-toolbar):not(.scenewrap){
 padding:var(--ik-theme-density-compact-pad)!important;
}
body :is(.ik-ally-table,.ik-rank-table,.ik-report-units,.ik-general-table-scroll table,
 .ik-message-table,.ik-r42-villages-table,.ik-military-table) :is(th,td){
 border:1px solid var(--ik-theme-border-soft)!important;
 line-height:1.25!important;
}
body :is(.ik-ally-table,.ik-rank-table,.ik-general-table-scroll table,
 .ik-message-table,.ik-r42-villages-table,.ik-military-table) td{
 padding:4px 7px!important;
}
body :is(.ik-ally-table,.ik-rank-table,.ik-general-table-scroll table,
 .ik-message-table,.ik-r42-villages-table,.ik-military-table) th{
 padding:var(--ik-theme-density-row-y) var(--ik-theme-density-row-x)!important;
}
body :is(.ik-ally-filters,.ik-reports-filters,.ik-messages-filters,.ik-general-toolbar,
 .ik-r42-village-toolbar,.ik-military-controls){
 gap:var(--ik-theme-density-gap)!important;
}
/* Touch controls and the map canvas are NOT forced into smaller dimensions. */
@media(max-width:760px){
 :scope { --ik-theme-density-compact-pad:9px; --ik-theme-density-header-pad:9px; }
 body :is(#view-messages,#view-reports,#view-tribe,#view-global)
  :is(.ik-ally-table-wrap,.ik-command-table-scroll,.ik-report-table-wrap,
  .ik-message-table-wrap,.ik-general-table-scroll){
  overflow-x:auto!important;
 }
 body :is(#view-messages,#view-reports,#view-tribe,#view-global)
  :is(button,select,input):not(:is([type="checkbox"],[type="radio"],[type="hidden"])){
  min-height:40px;
 }
}

/* R71-R44 / gradient-computed audit. Old UI gradients can remain green even when
   background-color and borders appear amber; override only the CHROME layers. */
body :is(.ik-recruitment-heading,.ik-village-side,.ik-vm-panel,
 #ik-map-military-bar,#ik-message-list,#ik-message-detail,
 #building-detail):not(:is(.attack,.support,.won,.loss,.warning,.error)){
 background:var(--ik-theme-panel-bg)!important;
 border-color:var(--ik-theme-border-soft)!important;
 color:var(--ik-theme-ink);
}
body .tabs button.nav,
body .tabs button.nav.active,
body :is(#view-ranking,#view-reports,#view-messages,#view-tribe) :is(button.active,button[aria-selected="true"]):not(.danger){
 background:var(--ik-theme-button-bg)!important;
 border-color:var(--ik-theme-border-strong)!important;
}
body .tabs button.nav.active,
body :is(#view-ranking,#view-reports,#view-messages,#view-tribe) :is(button.active,button[aria-selected="true"]):not(.danger){
 background:var(--ik-theme-button-hover-bg)!important;
 color:var(--ik-theme-highlight)!important;
 border-color:var(--ik-theme-accent)!important;
}
body :is(#view-general,#view-global,#view-recruitment,#view-world,
 #view-ranking,#view-profile,#view-reports,#view-messages,
 #view-buildings,#view-admin,#view-tribe,#view-village)
 button.primary:not(.danger):not(.attack):not(.support){
 background:var(--ik-theme-button-hover-bg)!important;
 border-color:var(--ik-theme-accent)!important;
 color:var(--ik-theme-highlight)!important;
}
/* `.scenewrap` keeps the approved village-scene background underneath its canvas.
   Its green pixels are part of the SCENE, not the button/panel UI palette. */
/* R44: Global-management navigation and Ranking inactive tabs still carried an
   old green linear-gradient in the computed background-image. */
body #view-global .ik-global-actions-tabs button:not(:is(.attack,.support,.danger)) ,
body #view-ranking .ik-rank-toolbar button:not(:is(.attack,.support,.danger)){
 background:var(--ik-theme-button-bg)!important;
 border-color:var(--ik-theme-border-strong)!important;
 color:var(--ik-theme-ink)!important;
}
body #view-global .ik-global-actions-tabs button:is(.active,[aria-selected="true"]),
body #view-ranking .ik-rank-toolbar button:is(.active,.primary,[aria-pressed="true"]){
 background:var(--ik-theme-button-hover-bg)!important;
 border-color:var(--ik-theme-accent)!important;
 color:var(--ik-theme-highlight)!important;
}
/* Legacy #view-ranking-specific button paint; exact two-ID specificity. */
body #view-ranking button:is(#rank-players-tab,#rank-tribes-tab,#rank-military-tab){
 background:var(--ik-theme-button-bg)!important;
 background-image:var(--ik-theme-button-bg)!important;
 border-color:var(--ik-theme-border-strong)!important;
}
body #view-ranking button:is(#rank-players-tab,#rank-tribes-tab,#rank-military-tab)[aria-pressed="true"]{
 background:var(--ik-theme-button-hover-bg)!important;
 background-image:var(--ik-theme-button-hover-bg)!important;
 border-color:var(--ik-theme-accent)!important;
}

/* ============================================================================
   R71-R46 — CHROME-ONLY GLOBAL THEME COMPLETION
   Kept in the single authoritative theme file. No changed dimensions/layout,
   no gameplay/sprites/canvas paint. Explicitly protects semantic attack/support,
   loss/win, warnings, map swatches, terrain previews and native colour pickers.
   ============================================================================ */

/* Warm surfaces missed by historical class/ID-specific game styles. */
body:not(.portal):not(.worlds-page) :is(
  .ik-village-wheel-lock,.ik-mini-control-card,.ik-mini-shortcuts-card,
  .ik-map-perf-panel,.ik-map-stage-reference,
  .ik-map-editor-panel,#map-editor-palette,.ik-map-editor-palette,
  .ik-reports-counter,#ik-reports-count,
  .ik-recruit-general-panel,.ik-recruit-general-controls,
  .ik-global-recruit-panel,.ik-global-recruit-card,
  .ik-tribe-dialog,.ik-tribe-card,.ik-ally-forum-modal,
  .ik-forum-dialog,.ik-message-modal,.ik-report-modal,
  .ik-simulator-dialog-content,.ik-simulator-dialog-panel,
  .ik-command-confirm-page,.ik-command-confirm-panel,
  .ik-map-preview-panel,.ik-preview-control-panel,
  .ik-village-controls-panel,.ik-village-editor-panel,
  .ik-stage-reference,.ik-editor-toolbar,
  .ik-map-panel-controls,.ik-settings-panel,.ik-dialog-panel
):not(:is(.attack,.support,.loss,.won,.warning,.error,.danger)) {
  background:var(--ik-theme-panel-bg)!important;
  border-color:var(--ik-theme-border-soft)!important;
  color:var(--ik-theme-ink)!important;
}
/* Neutral subcards and labels: leave unit/status icons, meters and swatches. */
body:not(.portal):not(.worlds-page) :is(
  #main-building-level,#main-building-speed,
  .ik-map-stage-reference>summary,.ik-map-perf-panel>summary,
  .ik-village-wheel-lock>label,.ik-mini-control-card>header,
  .ik-recruit-general-total,.ik-recruit-general-cost,
  .ik-global-recruit-budget>div,.ik-global-recruit-summary>div,
  .ik-simulator-metrics>div,.ik-simulator-results>div,
  .ik-report-filter,.ik-reports-counter,.ik-message-filter,
  .ik-dialog-header,.ik-dialog-footer,.ik-modal-header,.ik-modal-footer
):not(:is(.attack,.support,.loss,.won,.warning,.error,.danger)){
  background-color:var(--ik-theme-surface-alt)!important;
  border-color:var(--ik-theme-border-soft)!important;
}
/* A map-stage reference is UI, while its 53x38px image retains a real plain
   terrain backing for fidelity to the map. Do NOT repaint sprite pixels. */
body #view-world .ik-map-stage-reference-item{
  background:var(--ik-theme-surface-alt)!important;
  border-color:var(--ik-theme-border-soft)!important;
  color:var(--ik-theme-ink)!important;
}
body #view-world .ik-map-stage-reference-item img{
  background:var(--ik-map-stage-reference-plain)!important;
}
body #view-world .ik-map-stage-reference-item :is(span,small){color:var(--ik-theme-ink)!important}
body #view-world .ik-map-stage-reference>summary:hover{
  background:var(--ik-theme-hover)!important;
}

/* Form labels, selectors, floating inputs and picker chrome share one palette.
   Real colour pickers, ranges, checks/radios, file fields are not repainted. */
body:not(.portal):not(.worlds-page) :is(input,textarea,select):not([type="hidden"]):not([type="color"]):not([type="range"]):not([type="file"]):not([type="image"]):not([type="checkbox"]):not([type="radio"]){
  background-color:var(--ik-theme-field)!important;
  color:var(--ik-theme-ink)!important;
  border-color:var(--ik-theme-border-strong)!important;
}
body:not(.portal):not(.worlds-page) :is(input,textarea,select)::placeholder{
  color:var(--ik-theme-muted)!important;
  opacity:1;
}
body:not(.portal):not(.worlds-page) :is(select option,select optgroup){
  background:var(--ik-theme-field)!important;
  color:var(--ik-theme-ink)!important;
}
body:not(.portal):not(.worlds-page) :is(input[type="checkbox"],input[type="radio"]){
  accent-color:var(--ik-theme-accent)!important;
}
body:not(.portal):not(.worlds-page) :is(input,textarea,select):focus-visible:not([type="color"]):not([type="range"]){
  border-color:var(--ik-theme-accent-hover)!important;
  outline:2px solid var(--ik-theme-accent-hover)!important;
  outline-offset:1px;
}
/* Ordinary tabs were previously omitted when .active/.selected were present. */
body:not(.portal):not(.worlds-page) button:is(.active,.selected,[aria-selected="true"],[aria-pressed="true"],.is-active,.is-selected):not(:is(
  .attack,.support,.won,.loss,.warning,.error,.danger,.primary,
  .ik-map-legend-dot,.ik-map-color-swatch,.ik-map-filter-color,
  [data-kind="attack"],[data-kind="support"]
)){
  background:var(--ik-theme-button-hover-bg)!important;
  border-color:var(--ik-theme-accent)!important;
  color:var(--ik-theme-highlight)!important;
}
/* Non-button button-like UI and dynamically mounted overlay actions. */
body:not(.portal):not(.worlds-page) :is(
  button,a.ik-profile-open-village,[role="button"],input[type="button"],input[type="submit"],input[type="reset"]
):not(:is(.attack,.support,.won,.loss,.warning,.error,.danger,.primary,
  .ik-map-legend-dot,.ik-map-color-swatch,.ik-map-filter-color,
  [data-kind="attack"],[data-kind="support"]
)):not(:is(.active,.selected,.is-active,.is-selected,[aria-selected="true"],[aria-pressed="true"])){
  background:var(--ik-theme-button-bg)!important;
  border-color:var(--ik-theme-border-strong)!important;
  color:var(--ik-theme-ink)!important;
}
body:not(.portal):not(.worlds-page) :is(
  button,a.ik-profile-open-village,[role="button"],input[type="button"],input[type="submit"],input[type="reset"]
):hover:not(:disabled):not(:is(.attack,.support,.won,.loss,.warning,.error,.danger,
  .ik-map-legend-dot,.ik-map-color-swatch,.ik-map-filter-color,
  [data-kind="attack"],[data-kind="support"]
)){
  background:var(--ik-theme-button-hover-bg)!important;
  border-color:var(--ik-theme-accent-hover)!important;
  color:var(--ik-theme-highlight)!important;
}
body:not(.portal):not(.worlds-page) :is(
  button,a.ik-profile-open-village,[role="button"],input[type="button"],input[type="submit"],input[type="reset"]
):focus-visible:not(:is(.ik-map-legend-dot,.ik-map-color-swatch)){
  outline:2px solid var(--ik-theme-accent-hover)!important;
  outline-offset:2px;
}
body:not(.portal):not(.worlds-page) :is(
  button,input[type="button"],input[type="submit"],input[type="reset"]
):disabled:not(:is(.attack,.support,.won,.loss,.warning,.error,.danger)){
  background:var(--ik-theme-surface-alt)!important;
  color:var(--ik-theme-muted)!important;
  border-color:var(--ik-theme-border-soft)!important;
}
/* Meaning-bearing primary actions already use the approved accent; guarantee
   hover and focus match instead of their old green gradient. */
body:not(.portal):not(.worlds-page) :is(button.primary,input[type="submit"].primary):hover:not(:disabled){
  background:var(--ik-theme-button-hover-bg)!important;
  border-color:var(--ik-theme-accent-hover)!important;
  color:var(--ik-theme-highlight)!important;
}
/* The simulator scrim should be translucent, not a solid panel. */
body:not(.portal):not(.worlds-page) #ik-simulator-dialog:not(.ik-simulator-sheet){
  background:color-mix(in srgb,var(--ik-theme-shadow) 85%,transparent)!important;
}
/* Browsable overlays, tooltips and table wrappers mounted outside .view. */
body:not(.portal):not(.worlds-page) :is(
  .ik-tooltip,.ik-popover,.ik-dropdown,.ik-menu,.ik-menu-panel,
  .ik-tooltip-panel,.ik-context-menu,.ik-modal-content,.ik-dialog-content,
  .ik-reports-context-menu,.ik-ally-context-menu,.ik-general-context-menu,
  .ik-tribe-menu,.ik-tribe-tooltip,.ik-forum-tooltip
):not(:is(.attack,.support,.won,.loss,.warning,.error,.danger)){
  background:var(--ik-theme-panel-bg)!important;
  border-color:var(--ik-theme-border-strong)!important;
  color:var(--ik-theme-ink)!important;
}
body:not(.portal):not(.worlds-page) :is(
  .ik-tooltip,.ik-popover,.ik-dropdown,.ik-menu,.ik-menu-panel,
  .ik-tooltip-panel,.ik-context-menu
) :is(button,input,select,textarea):not([type="color"]):not([type="range"]){
  border-color:var(--ik-theme-border-strong)!important;
}
body:not(.portal):not(.worlds-page) :is(
  .view,.ik-r38-report-preview,.ik-r54-unit-dialog,.ik-dialogue-history,
  .ik-messages-page,.ik-reports-page,.ik-ally-panel,.ik-general-page
) :is(fieldset,details):not(:is(.ik-map-legend,.ik-map-terrain-legend,
  .attack,.support,.won,.loss,.warning,.error,.danger)){
  border-color:var(--ik-theme-border-soft)!important;
}
/* Portal and world selection: same approved palette, no changes to hero images. */
body:is(.portal,.worlds-page) :is(.auth-panel,.world-card,.loading-card,.worlds-note,
  .chronicle-entry,.site-header,.form-tabs,.preview-caption){
  border-color:var(--ik-theme-border)!important;
}
body:is(.portal,.worlds-page) :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):not(.submit):not(.world-enter){
  background:var(--ik-theme-button-bg)!important;
  border-color:var(--ik-theme-border-strong)!important;
  color:var(--ik-theme-ink)!important;
}
body:is(.portal,.worlds-page) :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):is(:hover,:focus-visible):not(:disabled){
  background:var(--ik-theme-button-hover-bg)!important;
  border-color:var(--ik-theme-accent-hover)!important;
}
body:is(.portal,.worlds-page) :is(.form-tabs button.selected,button[aria-selected="true"]){
  color:var(--ik-theme-highlight)!important;
  border-bottom-color:var(--ik-theme-accent)!important;
}
body:is(.portal,.worlds-page) :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]):not([type="color"]){
  background:var(--ik-theme-field)!important;
  color:var(--ik-theme-ink)!important;
  border-color:var(--ik-theme-border-strong)!important;
}
body:is(.portal,.worlds-page) :is(input,select,textarea):focus-visible{
  outline:2px solid var(--ik-theme-accent-hover)!important;
  outline-offset:1px;
}
body:is(.portal,.worlds-page) :is(.form-tabs button,.world-enter,.auth-panel .submit):disabled{
  background:var(--ik-theme-surface-alt)!important;
  color:var(--ik-theme-muted)!important;
}
/* Scrollbars, selection and input indicators are decorative, not game data. */
body{scrollbar-color:var(--ik-theme-border-strong) var(--ik-theme-deep)}
body ::selection{background:var(--ik-theme-selected);color:var(--ik-theme-white)}


/* ============================================================================
   R71-R47 — TARGETED COLOUR CORRECTIONS (groups / header shortcuts / messages)
   Paint-only rules for generated controls. Works with <a> and <button> village
   links; excludes gameplay meanings. Layout, hrefs, scripts remain untouched.
   The one authorised palette remains :scope > --ik-theme-* above.
   ============================================================================ */

/* A destructive group action is still a WARM control, with a semantically
   distinct red-orange caption. The base generic button skin excludes .danger. */
body #ik-general-group-delete.danger {
  background:var(--ik-theme-button-bg)!important;
  border-color:var(--ik-theme-border-strong)!important;
  color:var(--ik-theme-danger)!important;
}
body #ik-general-group-delete.danger:is(:hover,:focus-visible):not(:disabled) {
  background:var(--ik-theme-button-hover-bg)!important;
  border-color:var(--ik-theme-danger)!important;
  color:var(--ik-theme-white)!important;
}
body #ik-general-group-delete.danger:disabled {
  background:var(--ik-theme-surface-alt)!important;
  border-color:var(--ik-theme-border-soft)!important;
  color:var(--ik-theme-muted)!important;
}
body #ik-general-group-delete.danger:focus-visible {
  outline:2px solid var(--ik-theme-accent-hover)!important;
  outline-offset:2px;
}

/* Header home buttons can be emitted as links by server-side routing.
   Skin IDs and classes regardless of element type, without changing display,
   sizes, line-wrapping or native navigation and selection logic. */
body .ik-global-chrome :is(#ik-village-home,#ik-world-home).ik-village-home {
  background:var(--ik-theme-button-bg)!important;
  border-color:var(--ik-theme-border-strong)!important;
  color:var(--ik-theme-ink)!important;
  text-decoration:none;
}
body .ik-global-chrome :is(#ik-village-home,#ik-world-home).ik-village-home .ik-village-home-icon {
  color:var(--ik-theme-accent-hover)!important;
}
body .ik-global-chrome :is(#ik-village-home,#ik-world-home).ik-village-home .ik-village-home-info strong {
  color:var(--ik-theme-ink)!important;
}
body .ik-global-chrome :is(#ik-village-home,#ik-world-home).ik-village-home :is(.ik-village-home-info small,.ik-village-home-arrow) {
  color:var(--ik-theme-muted)!important;
}
body .ik-global-chrome :is(#ik-village-home,#ik-world-home).ik-village-home:is(:hover,:focus-visible):not(:disabled) {
  background:var(--ik-theme-button-hover-bg)!important;
  border-color:var(--ik-theme-accent-hover)!important;
  color:var(--ik-theme-highlight)!important;
}
body .ik-global-chrome :is(#ik-village-home,#ik-world-home).ik-village-home:is(.active,[aria-current="page"]) {
  background:var(--ik-theme-button-hover-bg)!important;
  border-color:var(--ik-theme-accent)!important;
  color:var(--ik-theme-highlight)!important;
  box-shadow:inset 0 0 0 1px var(--ik-theme-border),0 1px 8px var(--ik-theme-shadow)!important;
}
body .ik-global-chrome :is(#ik-village-home,#ik-world-home).ik-village-home:is(.active,[aria-current="page"]) .ik-village-home-info strong {
  color:var(--ik-theme-highlight)!important;
}
body .ik-global-chrome :is(#ik-village-home,#ik-world-home).ik-village-home:focus-visible {
  outline:2px solid var(--ik-theme-accent-hover)!important;
  outline-offset:2px;
}

/* Pagination is produced dynamically: the class-specific legacy CSS hardcodes
   green backgrounds, and generic R46 button rules mask aria-current=page. */
body #view-messages .ik-message-pagination {
  background:var(--ik-theme-surface)!important;
  border-color:var(--ik-theme-border-soft)!important;
  color:var(--ik-theme-ink)!important;
}
body #view-messages .ik-message-pagination .ik-message-pagination-button {
  background:var(--ik-theme-button-bg)!important;
  border-color:var(--ik-theme-border-strong)!important;
  color:var(--ik-theme-ink)!important;
}
body #view-messages .ik-message-pagination .ik-message-pagination-button:is(:hover,:focus-visible):not(:disabled) {
  background:var(--ik-theme-button-hover-bg)!important;
  border-color:var(--ik-theme-accent-hover)!important;
  color:var(--ik-theme-highlight)!important;
}
body #view-messages .ik-message-pagination .ik-message-pagination-button[aria-current="page"] {
  background:var(--ik-theme-selected)!important;
  border-color:var(--ik-theme-accent)!important;
  color:var(--ik-theme-white)!important;
}
body #view-messages .ik-message-pagination .ik-message-pagination-button:disabled {
  background:var(--ik-theme-surface-alt)!important;
  border-color:var(--ik-theme-border-soft)!important;
  color:var(--ik-theme-muted)!important;
  opacity:.62!important;
  cursor:not-allowed;
}
body #view-messages .ik-message-pagination .ik-message-pagination-button:focus-visible {
  outline:2px solid var(--ik-theme-accent-hover)!important;
  outline-offset:2px;
}
body #view-messages .ik-message-pagination .ik-message-pagination-label {
  color:var(--ik-theme-muted)!important;
}


/* ============================================================================
   R71-R48 — UNIFIED AMBER for GLOBAL VILLAGE SELECTION, MAIN NAV & TRIBE FORUM
   Colour-only selectors: labels are interactive cards, top-nav items are LINKS,
   and forum compose headings are SUMMARY elements (not generic buttons).
   Legacy green CSS remains as layout fallback; this final stylesheet owns paint.
   The only colour sources are the approved --ik-theme-* root tokens.
   Canvas, scene art, military state indicators and BBCode user text are excluded.
   ============================================================================ */

/* Build Global and Global Recruiting: scroll areas and selectable village rows. */
body :is(#ik-build-global-villages.ik-global-build-villages,#ik-army-villages.ik-army-villages) {
  border-color:var(--ik-theme-border-soft)!important;
  color:var(--ik-theme-ink)!important;
}
body :is(#ik-build-global-villages.ik-global-build-villages,#ik-army-villages.ik-army-villages) > label {
  background:var(--ik-theme-panel-bg)!important;
  border-color:var(--ik-theme-border-strong)!important;
  color:var(--ik-theme-ink)!important;
}
body :is(#ik-build-global-villages.ik-global-build-villages,#ik-army-villages.ik-army-villages) > label:hover {
  background:var(--ik-theme-button-hover-bg)!important;
  border-color:var(--ik-theme-accent-hover)!important;
}
body :is(#ik-build-global-villages.ik-global-build-villages,#ik-army-villages.ik-army-villages) > label:has(input[type="checkbox"]:checked) {
  background:var(--ik-theme-button-hover-bg)!important;
  border-color:var(--ik-theme-accent)!important;
}
body :is(#ik-build-global-villages.ik-global-build-villages,#ik-army-villages.ik-army-villages) > label:has(input[type="checkbox"]:focus-visible) {
  outline:2px solid var(--ik-theme-accent-hover)!important;
  outline-offset:2px;
}
body :is(#ik-build-global-villages.ik-global-build-villages,#ik-army-villages.ik-army-villages) > label:has(input[type="checkbox"]:disabled) {
  background:var(--ik-theme-surface-alt)!important;
  border-color:var(--ik-theme-border-soft)!important;
  color:var(--ik-theme-muted)!important;
}
body :is(#ik-build-global-villages.ik-global-build-villages,#ik-army-villages.ik-army-villages) > label :is(strong,span) {
  color:var(--ik-theme-ink)!important;
}
body :is(#ik-build-global-villages.ik-global-build-villages,#ik-army-villages.ik-army-villages) > label small {
  color:var(--ik-theme-muted)!important;
}
body :is(#ik-build-global-villages.ik-global-build-villages,#ik-army-villages.ik-army-villages) > label input[type="checkbox"] {
  accent-color:var(--ik-theme-accent)!important;
}
body :is(#ik-build-global-villages.ik-global-build-villages,#ik-army-villages.ik-army-villages) > label:has(input[type="checkbox"]:disabled) :is(strong,small,span) {
  color:var(--ik-theme-muted)!important;
}

/* Related build/recruitment chrome (not success/error announcements). */
body #view-global :is(.ik-global-build-head,.ik-global-build-panel,
  .ik-global-build-plan-row,.ik-global-build-job,.ik-global-build-village,
  .ik-global-build-preview-scroll,.ik-army-section,.ik-army-chip,
  .ik-army-plan-row,.ik-army-village-card,
  .ik-global-build-status:not([data-type="success"]):not([data-type="error"]),
  .ik-army-status:not(.success):not(.error)) {
  background:var(--ik-theme-panel-bg)!important;
  border-color:var(--ik-theme-border-soft)!important;
  color:var(--ik-theme-ink)!important;
}
body #view-global :is(.ik-global-build-plan-head,.ik-army-queue-line) {
  border-color:var(--ik-theme-border-soft)!important;
}
body #view-global :is(.ik-global-build-head p,.ik-global-build-panel>p,
  .ik-global-build-plan-head small,.ik-global-build-plan-row small,
  .ik-global-build-job small,.ik-global-build-village p,.ik-global-build-village>small,
  .ik-army-chip,.ik-army-plan-row small,.ik-army-village-card p,
  .ik-army-queue-line small) {
  color:var(--ik-theme-muted)!important;
}

/* Primary navigation: all seven entries are <a>, so old .tabs button.nav
   overrides never applied. Preserve ranking text and report unread icons. */
body .ik-global-chrome nav.tabs > a.nav {
  background:var(--ik-theme-button-bg)!important;
  border-color:var(--ik-theme-border-soft)!important;
  color:var(--ik-theme-ink)!important;
}
body .ik-global-chrome nav.tabs > a.nav:is(:hover,:focus-visible) {
  background:var(--ik-theme-button-hover-bg)!important;
  border-color:var(--ik-theme-accent-hover)!important;
  color:var(--ik-theme-highlight)!important;
}
body .ik-global-chrome nav.tabs > a.nav:is(.active,[aria-current="page"]) {
  background:var(--ik-theme-button-hover-bg)!important;
  border-color:var(--ik-theme-accent)!important;
  color:var(--ik-theme-white)!important;
}
body .ik-global-chrome nav.tabs > a.nav:is(.active,[aria-current="page"]):hover {
  border-color:var(--ik-theme-accent-hover)!important;
}
body .ik-global-chrome nav.tabs > a.nav:focus-visible {
  outline:2px solid var(--ik-theme-accent-hover)!important;
  outline-offset:2px;
}
body .ik-global-chrome nav.tabs > a.nav[aria-disabled="true"] {
  background:var(--ik-theme-surface-alt)!important;
  border-color:var(--ik-theme-border-soft)!important;
  color:var(--ik-theme-muted)!important;
}
body .ik-global-chrome nav.tabs > a.nav .ik-nav-rank-info {
  color:var(--ik-theme-muted)!important;
}
body .ik-global-chrome nav.tabs > a.nav:is(.active,[aria-current="page"]) .ik-nav-rank-info {
  color:var(--ik-theme-highlight)!important;
}

/* Forum/announcements: details+summary are painted individually; neither is
   a <button>. BBCode toolbar buttons keep their compact size from density CSS. */
body #view-tribe #ik-tribe-root details.ik-forum-compose {
  background:var(--ik-theme-panel-bg)!important;
  border-color:var(--ik-theme-border-soft)!important;
  color:var(--ik-theme-ink)!important;
}
body #view-tribe #ik-tribe-root details.ik-forum-compose > summary {
  background:var(--ik-theme-button-bg)!important;
  border-color:var(--ik-theme-border-strong)!important;
  color:var(--ik-theme-highlight)!important;
}
body #view-tribe #ik-tribe-root details.ik-forum-compose > summary:is(:hover,:focus-visible),
body #view-tribe #ik-tribe-root details.ik-forum-compose[open] > summary {
  background:var(--ik-theme-button-hover-bg)!important;
  border-color:var(--ik-theme-accent)!important;
  color:var(--ik-theme-white)!important;
}
body #view-tribe #ik-tribe-root details.ik-forum-compose > summary:focus-visible {
  outline:2px solid var(--ik-theme-accent-hover)!important;
  outline-offset:2px;
}
body #view-tribe #ik-tribe-root details.ik-forum-compose .ik-ally-form {
  background:var(--ik-theme-panel-bg)!important;
  color:var(--ik-theme-ink)!important;
}
body #view-tribe #ik-tribe-root details.ik-forum-compose .ik-ally-form > label {
  color:var(--ik-theme-highlight)!important;
}
body #view-tribe #ik-tribe-root details.ik-forum-compose :is(input:not([type="hidden"]):not([type="color"]),textarea) {
  background:var(--ik-theme-field)!important;
  border-color:var(--ik-theme-border-strong)!important;
  color:var(--ik-theme-ink)!important;
}
body #view-tribe #ik-tribe-root details.ik-forum-compose :is(input:not([type="hidden"]),textarea):focus-visible {
  outline:2px solid var(--ik-theme-accent-hover)!important;
  outline-offset:1px;
}
body #view-tribe #ik-tribe-root details.ik-forum-compose .ik-bb-toolbar {
  background:var(--ik-theme-surface)!important;
  border-color:var(--ik-theme-border-soft)!important;
  color:var(--ik-theme-ink)!important;
}
body #view-tribe #ik-tribe-root details.ik-forum-compose .ik-bb-toolbar button {
  background:var(--ik-theme-button-bg)!important;
  border-color:var(--ik-theme-border-strong)!important;
  color:var(--ik-theme-ink)!important;
}
body #view-tribe #ik-tribe-root details.ik-forum-compose .ik-bb-toolbar button:is(:hover,:focus-visible,[aria-pressed="true"]):not(:disabled) {
  background:var(--ik-theme-button-hover-bg)!important;
  border-color:var(--ik-theme-accent)!important;
  color:var(--ik-theme-highlight)!important;
}
body #view-tribe #ik-tribe-root details.ik-forum-compose .ik-bb-toolbar button:disabled {
  background:var(--ik-theme-surface-alt)!important;
  border-color:var(--ik-theme-border-soft)!important;
  color:var(--ik-theme-muted)!important;
}
/* The input's actual native colour swatch is deliberately unaffected. */
body #view-tribe #ik-tribe-root details.ik-forum-compose .ik-bb-color-picker {
  background:var(--ik-theme-field)!important;
  border-color:var(--ik-theme-border-strong)!important;
}
body #view-tribe #ik-tribe-root details.ik-forum-compose .ik-bb-preview {
  background:var(--ik-theme-surface-alt)!important;
  border-color:var(--ik-theme-border-soft)!important;
  color:var(--ik-theme-ink)!important;
}
body #view-tribe #ik-tribe-root details.ik-forum-compose button.primary[type="submit"] {
  background:var(--ik-theme-button-hover-bg)!important;
  border-color:var(--ik-theme-accent)!important;
  color:var(--ik-theme-highlight)!important;
}
body #view-tribe #ik-tribe-root details.ik-forum-compose button.primary[type="submit"]:is(:hover,:focus-visible):not(:disabled) {
  background:var(--ik-theme-primary)!important;
  border-color:var(--ik-theme-border-strong)!important;
  color:var(--ik-theme-white)!important;
}
body #view-tribe #ik-tribe-root details.ik-forum-compose button.primary[type="submit"]:disabled {
  background:var(--ik-theme-surface-alt)!important;
  border-color:var(--ik-theme-border-soft)!important;
  color:var(--ik-theme-muted)!important;
}
/* Quoted BBCode content had a green background too; only quote chrome changes.
   All inline user-authored [color] formatting and image contents are retained. */
body #view-tribe #ik-tribe-root :is(.ik-bb-preview,.ik-bb-content) .ik-bb-quote {
  background:var(--ik-theme-surface-alt)!important;
  border-left-color:var(--ik-theme-accent)!important;
}

/* Reservation bulk deletion is semantic danger: warm button, warning caption. */
body #view-tribe #ik-tribe-root button[data-reserve-bulk-delete].danger {
  background:var(--ik-theme-button-bg)!important;
  border-color:var(--ik-theme-border-strong)!important;
  color:var(--ik-theme-danger)!important;
}
body #view-tribe #ik-tribe-root button[data-reserve-bulk-delete].danger:is(:hover,:focus-visible):not(:disabled) {
  background:var(--ik-theme-button-hover-bg)!important;
  border-color:var(--ik-theme-danger)!important;
  color:var(--ik-theme-white)!important;
}
body #view-tribe #ik-tribe-root button[data-reserve-bulk-delete].danger:focus-visible {
  outline:2px solid var(--ik-theme-accent-hover)!important;
  outline-offset:2px;
}
body #view-tribe #ik-tribe-root button[data-reserve-bulk-delete].danger:disabled {
  background:var(--ik-theme-surface-alt)!important;
  border-color:var(--ik-theme-border-soft)!important;
  color:var(--ik-theme-muted)!important;
}

/* R71-R51: legacy component sources have been tokenized rather than adding
   another layer of force-overrides here. Preserved semantic greens (success,
   support, health and progress) and terrain/canvas artwork are intentional.
   Run `npm run test:theme` before merging future UI patches. */

/* ============================================================================
   R71-R85 — Dark Graphite Deep public portal palette.
   The R51 palette already covers inputs, tabs and decorative borders. The
   historical public.css still had opaque charcoal/brown backgrounds in its
   hero-adjacent sections; replace their chrome only, never hero art/content.
   ============================================================================ */
body:is(.portal,.worlds-page) :is(.site-header,.portal-footer){
  background:var(--ik-theme-deep)!important;
  border-color:var(--ik-theme-border-soft)!important;
  color:var(--ik-theme-ink)!important;
}
body:is(.portal,.worlds-page) :is(.auth-panel,.world-card,.loading-card){
  background:var(--ik-theme-panel-bg)!important;
  border-color:var(--ik-theme-border)!important;
  color:var(--ik-theme-ink)!important;
}
body:is(.portal,.worlds-page) :is(.preview-section,.chronicle,.worlds-note){
  background:var(--ik-theme-panel-bg)!important;
  border-color:var(--ik-theme-border-soft)!important;
  color:var(--ik-theme-ink)!important;
}
body:is(.portal,.worlds-page) .worlds-bg{
  background:linear-gradient(180deg,color-mix(in srgb,var(--ik-theme-canvas) 75%,transparent),
             color-mix(in srgb,var(--ik-theme-deep) 95%,transparent) 58%,var(--ik-theme-canvas)),
             url('/assets/iron-kingdoms-hero.webp') center/cover!important;
}
body:is(.portal,.worlds-page) .site-brand :is(b,.mark){color:var(--ik-theme-highlight)!important}
body:is(.portal,.worlds-page) .site-brand small{color:var(--ik-theme-accent-hover)!important}
body:is(.portal,.worlds-page) :is(.site-header nav a,.text-button,.logged-name,
  .auth-panel h2,.world-card h2,.worlds-heading h1,.section-heading h2,.chronicle h2){
  color:var(--ik-theme-ink)!important;
}
body:is(.portal,.worlds-page) :is(.panel-sub,.auth-panel label,.story-lead,.chronicle p,
  .world-card>p,.worlds-heading>p:last-child,.worlds-note p,.world-stats span,
  .portal-footer,.section-heading>p){color:var(--ik-theme-muted)!important}
body:is(.portal,.worlds-page) :is(.auth-panel .submit,.world-enter,.cta){
  background:var(--ik-theme-primary)!important;
  border-color:var(--ik-theme-border-strong)!important;
  color:var(--ik-theme-white)!important;
}
body:is(.portal,.worlds-page) :is(.auth-panel .submit,.world-enter,.cta):is(:hover,:focus-visible):not(:disabled){
  background:var(--ik-theme-primary-hover)!important;
  border-color:var(--ik-theme-accent-hover)!important;
  color:var(--ik-theme-white)!important;
}
body:is(.portal,.worlds-page) .form-tabs{
  border-bottom-color:var(--ik-theme-border-soft)!important;
}
body:is(.portal,.worlds-page) :is(.world-card,.loading-card) .world-stats>div{
  border-top-color:var(--ik-theme-border-soft)!important;
}


/* ==========================================================================
   R71-R85 — Dark Graphite Deep finish.
   Surface/text palette is defined above. This block corrects historical
   golden-primary buttons and cobalt hover treatments without recolouring
   scenery, sprites, semantic attacks/support/alerts, or the R83 quickbar layout.
   ========================================================================== */
:where(body) :is(.topbar,.ik-global-chrome){
  border-color:var(--ik-theme-border-soft)!important;
}
body:not(.portal):not(.worlds-page) :is(.primary,button.primary,input[type="submit"].primary):not(:is(.danger,.attack,.support,.loss,.won,.warning,.error,[data-kind="attack"],[data-kind="support"])),
body:is(.portal,.worlds-page) :is(.auth-panel .submit,.world-enter,.cta){
  background:var(--ik-theme-primary)!important;
  border-color:var(--ik-theme-border-strong)!important;
  color:var(--ik-theme-white)!important;
}
body:not(.portal):not(.worlds-page) :is(.primary,button.primary,input[type="submit"].primary):is(:hover,:focus-visible):not(:disabled):not(:is(.danger,.attack,.support,.loss,.won,.warning,.error,[data-kind="attack"],[data-kind="support"])),
body:is(.portal,.worlds-page) :is(.auth-panel .submit,.world-enter,.cta):is(:hover,:focus-visible):not(:disabled){
  background:var(--ik-theme-primary-hover)!important;
  border-color:var(--ik-theme-accent-hover)!important;
  color:var(--ik-theme-white)!important;
}
/* The direct demo entry is a secondary action, not an attention-grabbing CTA. */
body.portal .auth-panel .submit.secondary:not(:disabled){
  background:var(--ik-theme-neutral)!important;
  border-color:var(--ik-theme-border-strong)!important;
  color:var(--ik-theme-ink)!important;
}
body.portal .auth-panel .submit.secondary:is(:hover,:focus-visible):not(:disabled){
  background:var(--ik-theme-neutral-hover)!important;
  border-color:var(--ik-theme-accent-hover)!important;
}
/* Neutral utilities hover in graphite; only active/current navigation is blue. */
body:not(.portal):not(.worlds-page) :is(button,[role="button"],input[type="button"],input[type="reset"]):hover:not(:disabled):not(:is(.primary,.active,.selected,.is-active,.is-selected,.danger,.attack,.support,.won,.loss,.warning,.error,[aria-selected="true"],[aria-pressed="true"],[aria-current="page"],[data-kind="attack"],[data-kind="support"],.ik-map-legend-dot,.ik-map-color-swatch,.ik-map-filter-color)){
  background:var(--ik-theme-neutral-hover)!important;
  border-color:var(--ik-theme-border-strong)!important;
  color:var(--ik-theme-white)!important;
}
body:not(.portal):not(.worlds-page) :is(.tabs .nav.active,.ik-general-tabs button.active,.ik-global-actions-tabs button.active,.ik-ally-tabs button.active,.ik-building-mode-tabs button.active,[role="tab"][aria-selected="true"]):not(:is(.attack,.support,.danger)){
  background:var(--ik-theme-primary)!important;
  border-color:var(--ik-theme-accent)!important;
  color:var(--ik-theme-white)!important;
}
/* Table row selection is a quieter graphite-blue, not a bright blue flood. */
body table:not(.ik-calendar-grid) tbody tr:is(.selected,[aria-selected="true"]):not(:is(.attack,.support,.won,.loss,.warning,.error)) > td{
  background-color:var(--ik-theme-row-selected)!important;
}
/* Preserve accessible gold keyboard focus without making every card golden. */
body :is(button,a,input,select,textarea,[role="button"]):focus-visible{
  outline-color:var(--ik-theme-accent-hover)!important;
}


}

@scope (html:has(body.ik-r111-game)) {
/* ---- GAME : r71r80-compact-unit-cells.css ---- */
/* Iron Kingdoms R71-R81 | Compact unit cells, recruitment and separate stock button.
   Overrides layout only; original R79 WebP artwork and battle mechanics are unchanged. */

/* Sediul Central: three compact cells: icon, editable amount, standalone stock button.
   The four group columns are content-sized, never four giant fractional panels. */
.ik-rally-grid{grid-template-columns:repeat(4,max-content)!important;justify-content:start;align-items:start;gap:8px}
.ik-rally-group{width:max-content;max-width:100%;box-sizing:border-box;padding:7px}
.ik-rally-group h4{margin-bottom:5px;padding:4px 4px 6px}
@media(max-width:1260px){.ik-rally-grid{grid-template-columns:repeat(2,max-content)!important}}
@media(max-width:690px){.ik-rally-grid{grid-template-columns:max-content!important}}

.ik-rally-row{
  width:max-content;max-width:100%;box-sizing:border-box;
  display:grid;grid-template-columns:68px minmax(54px,76px) max-content;
  align-items:center;justify-content:start;gap:5px;
  margin:4px 0;padding:3px 4px;
}
.ik-rally-unit-line{width:68px;min-width:0;display:flex;align-items:center;justify-content:center}
.ik-rally-unit-line>img.ik-unit-medallion{
  display:block;width:64px!important;height:64px!important;max-width:100%!important;
  flex:0 0 64px!important;object-fit:contain;box-sizing:border-box;
  border:0!important;padding:0!important;margin:0!important;
  background:transparent!important;border-radius:0!important;box-shadow:none!important;
  pointer-events:none; /* icon is display-only; no custom/native hover */
}
.ik-rally-quantity{width:76px;max-width:100%;height:40px;padding:3px 5px}
.ik-rally-stock-button{
  display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;
  box-sizing:border-box;min-height:40px;min-width:41px;padding:3px 5px;
  color:var(--ik-theme-ink);background:var(--ik-theme-surface-alt);
  border:1px solid var(--ik-theme-border-soft);border-radius:5px;
  cursor:pointer;font:600 12px/1.1 system-ui,sans-serif;
  font-variant-numeric:tabular-nums;
}
.ik-rally-stock-button:not(:disabled):hover,.ik-rally-stock-button[aria-pressed="true"]{
  color:var(--ik-theme-highlight);border-color:var(--ik-theme-accent-hover);background:var(--ik-theme-elevated)
}
.ik-rally-stock-button:focus-visible{outline:2px solid var(--ik-theme-accent-hover);outline-offset:2px}
.ik-rally-stock-button:disabled{opacity:.56;cursor:not-allowed}
@media(max-width:620px){
  .ik-rally-row{grid-template-columns:56px minmax(52px,70px) max-content;gap:4px;padding:3px}
  .ik-rally-unit-line{width:56px}
  .ik-rally-unit-line>img.ik-unit-medallion{width:52px!important;height:52px!important;flex-basis:52px!important}
  .ik-rally-quantity{width:70px}
}

/* Recruitment: one 68px-wide icon column; numbers and costs use the remaining row,
   rather than reserving half of each large recruitment card for a small medallion. */
#view-recruitment .ik-r54-recruit-row{
  display:grid;grid-template-columns:70px minmax(0,1fr)!important;
  grid-template-areas:'identity entry' 'identity metrics' 'identity cost'!important;
  grid-template-rows:auto auto auto;align-content:center;align-items:center;
  min-height:0!important;padding:5px 8px!important;column-gap:8px;row-gap:3px;
}
#view-recruitment .ik-r54-unit-identity{
  grid-area:identity;align-self:center;width:70px;min-width:0;
  display:flex;flex-direction:column;align-items:center;gap:2px;
}
#view-recruitment .ik-r54-unit-trigger{
  width:68px!important;min-width:68px!important;max-width:68px!important;
  height:68px;min-height:68px!important;box-sizing:border-box;
  padding:2px!important;gap:0!important;
  display:inline-flex;align-items:center;justify-content:center;
}
#view-recruitment .ik-r54-unit-trigger img.ik-unit-medallion{
  display:block;width:64px!important;height:64px!important;flex:0 0 64px!important;
}
#view-recruitment .ik-r54-unit-identity>small{
  display:block;width:100%;padding:0;text-align:center;line-height:1.05;font-size:10px;
}
#view-recruitment .ik-r54-unit-entry{
  grid-area:entry;display:flex;align-items:center;justify-content:flex-start;
  flex-wrap:wrap;column-gap:5px;row-gap:2px;padding:0;min-width:0;
}
#view-recruitment .ik-r54-unit-entry label{
  white-space:nowrap;font-size:11px;flex:0 0 auto;
}
#view-recruitment .ik-r54-unit-entry input{
  width:90px!important;max-width:100%!important;min-width:70px!important;
  height:32px;min-height:32px;padding:4px 6px;
  flex:0 1 90px;
}
#view-recruitment .ik-r57-unit-metrics{
  grid-area:metrics;display:flex;justify-content:flex-start;
  gap:3px 12px;flex-wrap:wrap;width:fit-content;max-width:100%;
  padding:3px 5px;font-size:11px;line-height:1.2;
}
#view-recruitment .ik-r54-unit-cost{
  grid-area:cost;font-size:11px;line-height:1.25;min-width:0;
}
#view-recruitment .ik-r54-unit-cost .ik-r39-selected-cost:not([hidden]){margin-top:2px}
@media(max-width:620px){
  #view-recruitment .ik-r54-recruit-row{grid-template-columns:58px minmax(0,1fr)!important;column-gap:6px}
  #view-recruitment .ik-r54-unit-identity{width:58px}
  #view-recruitment .ik-r54-unit-trigger{width:56px!important;min-width:56px!important;max-width:56px!important;height:56px;min-height:56px!important}
  #view-recruitment .ik-r54-unit-trigger img.ik-unit-medallion{width:52px!important;height:52px!important;flex-basis:52px!important}
}

/* Compact, content-sized military tables: never stretch icon-only columns to fill the panel. */
body #view-reports table.ik-r40-horizontal-units,
body > .ik-r38-report-preview table.ik-r40-horizontal-units{
  width:max-content!important;min-width:0!important;max-width:none;
  table-layout:auto!important;
}
body #view-reports .ik-r40-horizontal-units tr > :is(td,th),
body > .ik-r38-report-preview .ik-r40-horizontal-units tr > :is(td,th){
  width:46px!important;min-width:46px!important;max-width:46px!important;
  box-sizing:border-box;padding:3px 2px!important;text-align:center!important;
  font-variant-numeric:tabular-nums;
}
body #view-reports .ik-r40-horizontal-units tr > :first-child,
body > .ik-r38-report-preview .ik-r40-horizontal-units tr > :first-child{
  width:88px!important;min-width:88px!important;max-width:88px!important;text-align:left!important;
}
body #view-reports .ik-r40-horizontal-units tr > :last-child,
body > .ik-r38-report-preview .ik-r40-horizontal-units tr > :last-child{
  width:57px!important;min-width:57px!important;max-width:57px!important;
}
/* 40px medallions occupy almost all of their 46px report cells. */
body #view-reports .ik-r40-horizontal-units img.ik-r40-unit-icon,
body > .ik-r38-report-preview .ik-r40-horizontal-units img.ik-r40-unit-icon{
  width:40px!important;height:40px!important;max-width:none!important;
}
/* Command confirmation: first column is a medallion, not an entire stretchable third. */
.ik-command-table-scroll table.ik-command-units{
  width:max-content!important;min-width:0!important;max-width:none;table-layout:auto!important;
}
.ik-command-units tbody tr > th:first-child{
  width:46px!important;min-width:46px!important;padding:3px 4px!important;text-align:center!important;
}
.ik-command-units thead tr > th:first-child{width:56px!important;padding:5px!important}
.ik-command-units :is(th,td){padding:5px 8px}
/* Army totals: column one is artwork only; leave number columns at their natural widths. */
.ik-army-table-wrap table{width:max-content!important;min-width:0;max-width:none;table-layout:auto}
.ik-army-table-wrap th:first-child,.ik-army-table-wrap td:first-child{
  width:48px;min-width:48px;padding:4px 5px!important;text-align:center!important;
}
.ik-army-table-wrap :is(th,td):not(:first-child){padding:5px 9px}
/* The simulator includes numeric inputs/selects; only its first icon column is narrowed. */
.ik-simulator-units tbody th:first-child,.ik-simulator-units thead th:first-child{
  width:57px!important;min-width:57px!important;max-width:57px!important;
  padding:4px 5px!important;text-align:center!important;
}
.ik-simulator-units tbody th>span{gap:0;justify-content:center}


/* ---- GAME : r71r81-single-row-map-hover-army.css ---- */
/* Iron Kingdoms R71-R81: only map hover matrices and horizontal army totals.
   Keep existing game mechanics, styling and user supplied unit medallions. */

/* Map hover: up to 11 units/13 building icons on exactly one row, with the
   corresponding quantities/levels under their own images. The panel has room
   for the arrival duration row without clipping on ordinary desktop screens. */
.ik-map-tooltip{
  width:min(665px,calc(100vw - 16px))!important;
  max-width:calc(100vw - 16px)!important;
  box-sizing:border-box!important;
}
.ik-map-tooltip .ik-hover-table-scroll{
  width:100%!important;max-width:100%!important;overflow-x:hidden!important;
}
.ik-map-tooltip .ik-r81-single-row{
  width:max-content!important;max-width:100%!important;
  table-layout:fixed!important;border-collapse:collapse!important;
}
.ik-map-tooltip .ik-r81-single-row th,
.ik-map-tooltip .ik-r81-single-row td{
  box-sizing:border-box!important;min-width:0!important;
  width:44px!important;max-width:44px!important;
  padding:1px 1px!important;overflow:hidden!important;
  text-align:center!important;white-space:nowrap!important;
  font-variant-numeric:tabular-nums!important;
}
.ik-map-tooltip .ik-hover-unit-matrix img.ik-hover-icon{
  width:40px!important;height:40px!important;max-width:100%!important;
}
/* Buildings are more compact: levels need only two digits. */
.ik-map-tooltip .ik-hover-building-matrix th,
.ik-map-tooltip .ik-hover-building-matrix td{
  width:34px!important;max-width:34px!important;
  padding:1px 0!important;
}
.ik-map-tooltip .ik-hover-building-matrix img.ik-hover-icon{
  width:31px!important;height:31px!important;max-width:100%!important;
}
.ik-map-tooltip .ik-hover-building-matrix tbody td{
  font-size:10px!important;letter-spacing:0!important;line-height:1.2!important;
}
/* Durations can be wider than the two-digit levels. */
.ik-map-tooltip .ik-hover-arrival-matrix th,
.ik-map-tooltip .ik-hover-arrival-matrix td{
  width:54px!important;max-width:54px!important;padding:2px 1px!important;
}
.ik-map-tooltip .ik-hover-arrival-matrix img.ik-hover-icon{
  width:40px!important;height:40px!important;max-width:100%!important;
}
.ik-map-tooltip .ik-hover-arrival-matrix tbody td{
  font-size:9px!important;letter-spacing:0!important;
}
@media(max-width:680px){
  /* Keep one icon row even in narrow browser windows; cells and icons shrink
     proportionally, without turning into two rows or overflowing the tooltip. */
  .ik-map-tooltip .ik-r81-single-row th,
  .ik-map-tooltip .ik-r81-single-row td,
  .ik-map-tooltip .ik-hover-building-matrix th,
  .ik-map-tooltip .ik-hover-building-matrix td,
  .ik-map-tooltip .ik-hover-arrival-matrix th,
  .ik-map-tooltip .ik-hover-arrival-matrix td{
    width:calc((100vw - 52px) / var(--ik-hover-columns,11))!important;
    max-width:calc((100vw - 52px) / var(--ik-hover-columns,11))!important;
    padding:1px 0!important;
  }
  .ik-map-tooltip .ik-r81-single-row img.ik-hover-icon{
    width:min(39px,calc((100vw - 60px) / var(--ik-hover-columns,11)))!important;
    height:min(39px,calc((100vw - 60px) / var(--ik-hover-columns,11)))!important;
  }
  .ik-map-tooltip .ik-hover-building-matrix img.ik-hover-icon{
    width:min(30px,calc((100vw - 60px) / var(--ik-hover-columns,13)))!important;
    height:min(30px,calc((100vw - 60px) / var(--ik-hover-columns,13)))!important;
  }
  .ik-map-tooltip .ik-hover-arrival-matrix tbody td{
    font-size:clamp(6px,1.5vw,9px)!important;letter-spacing:-.2px!important;
  }
}

/* Acțiuni Globale > Forțele tale militare: vertical unit list -> horizontal
   unit columns and four value rows, just like combat reports. */
#ik-army-totals.ik-army-table-wrap{overflow-x:auto;max-width:100%}
#ik-army-totals table.ik-army-horizontal-units{
  width:max-content!important;min-width:0!important;max-width:none!important;
  table-layout:auto!important;border-collapse:collapse!important;
}
#ik-army-totals .ik-army-horizontal-units :is(th,td){
  width:47px!important;min-width:47px!important;max-width:47px!important;
  box-sizing:border-box!important;padding:5px 3px!important;
  text-align:center!important;font-variant-numeric:tabular-nums;
}
#ik-army-totals .ik-army-horizontal-units tr > :first-child{
  width:102px!important;min-width:102px!important;max-width:102px!important;
  text-align:left!important;white-space:nowrap;
}
#ik-army-totals .ik-army-horizontal-units tr > :last-child{
  width:63px!important;min-width:63px!important;max-width:63px!important;
}
#ik-army-totals .ik-army-horizontal-units thead img.ik-hf2-unit-icon{
  display:block;width:40px!important;height:40px!important;
  max-width:100%!important;object-fit:contain!important;margin:auto;
}
#ik-army-totals .ik-army-horizontal-units td.ik-r40-zero{opacity:.58}
#ik-army-totals .ik-army-horizontal-units tr.ik-army-grand-total > *{
  font-weight:800;color:var(--ik-theme-highlight);
  border-top:2px solid var(--ik-theme-border-strong);
}


/* ---- GAME : r71r81-building-icons-quickbar.css ---- */
/* R71-R83: center the seven R82 quick actions with responsive overflow.
   Preserve all original native WebP icons, route IDs and element dimensions. */
#ik-quickbar{overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin}
#ik-quickbar .ik-quickbar-inner{
 display:flex!important;align-items:center!important;justify-content:center!important;
 width:max-content!important;min-width:100%!important;max-width:none!important;
 gap:3px!important;padding:0 4px!important;box-sizing:border-box!important;
 margin-inline:auto!important;
}
#ik-quickbar .ik-quickbar-inner>:is(a[data-quick-building],a#ik-simulator-open,button[data-quick-building],button#ik-simulator-open){
 display:inline-flex!important;flex:0 0 auto!important;align-items:center!important;
 gap:4px!important;padding:3px 6px!important;white-space:nowrap!important;
 font-size:11px!important;line-height:1.15!important;text-decoration:none;
}
#ik-quickbar .ik-quickbar-inner>:is(a[data-quick-building],a#ik-simulator-open,button[data-quick-building],button#ik-simulator-open) img{
 display:block!important;width:28px!important;height:28px!important;object-fit:contain!important;flex:0 0 28px!important;
}
#ik-quickbar .ik-quickbar-inner>:is(a[data-quick-building],button[data-quick-building])[aria-current=page]{
 border-color:var(--ik-theme-accent-hover)!important;color:var(--ik-theme-highlight)!important;
 background:var(--ik-theme-button-hover-bg)!important;
}
/* Inline tables & previews: miniature icon, no large stage pictures. */
.ik-r81-building-icon{display:inline-block!important;width:27px!important;height:27px!important;max-width:27px!important;max-height:27px!important;vertical-align:middle;object-fit:contain!important;margin:0 3px 0 0}
.ik-general-levels .ik-r81-building-icon{width:25px!important;height:25px!important}
.ik-global-build-plan-row .ik-r81-building-icon,.ik-global-build-job .ik-r81-building-icon{width:25px!important;height:25px!important}
#view-reports .ik-r41-spy-building img{width:37px!important;height:38px!important;object-fit:contain!important}
/* Actual full building illustrations only on their own screen (e.g. mainbuilding). */
.ik-building-detail-open .ik-detail-title img[data-ik-full-building-art]{object-fit:contain!important;max-width:100%}
@media(max-width:720px){
 #ik-quickbar .ik-quickbar-inner>:is(a[data-quick-building],a#ik-simulator-open,button[data-quick-building],button#ik-simulator-open){padding:3px 5px!important;font-size:10px!important}
 #ik-quickbar .ik-quickbar-inner>:is(a[data-quick-building],a#ik-simulator-open,button[data-quick-building],button#ik-simulator-open) img{width:25px!important;height:25px!important;flex-basis:25px!important}
}

/* R83: eliminate R81 quickbar chrome remnants from legacy amber styles. */
#ik-quickbar .ik-quickbar-inner > :is(button,a[data-quick-building],a#ik-simulator-open){
 color:var(--ik-theme-ink)!important;border-color:transparent!important;
 background:transparent!important;
}
#ik-quickbar .ik-quickbar-inner > :is(button,a[data-quick-building],a#ik-simulator-open):is(:hover,:focus-visible),
#ik-quickbar .ik-quickbar-inner > :is(button,a[data-quick-building],a#ik-simulator-open)[aria-current="page"]{
 background:var(--ik-theme-button-hover-bg)!important;
 border-color:var(--ik-theme-accent-hover)!important;
 color:var(--ik-theme-highlight)!important;
}
#ik-quickbar .ik-quickbar-inner > :is(button,a[data-quick-building],a#ik-simulator-open):focus-visible{
 outline:2px solid var(--ik-theme-accent-hover)!important;outline-offset:1px;
}


/* ---- GAME : r71r86-recruit-smith-library-layout.css ---- */
/* Iron Kingdoms R71-R86 | Compact military UI on R85 Dark Graphite Deep.
   Strictly scoped: local recruitment, smith and academy detail. No map/canvas overrides. */

/* Recruitment: the server-backed shared plan stays intact; only its giant budget panel
   is replaced by a slim confirmation row. The adjacent count is the planner's
   total capacity for that unit, after OTHER selected unit types have been reserved. */
#view-recruitment .ik-r54-unit-entry{
  display:grid!important;
  grid-template-columns:max-content minmax(65px,90px) max-content!important;
  align-items:center;justify-content:start;
  gap:5px!important;min-width:0;max-width:100%;
}
#view-recruitment .ik-r54-unit-entry label{
  grid-column:1!important;grid-row:1!important;margin:0;white-space:nowrap;
  color:var(--ik-theme-ink);
}
#view-recruitment .ik-r54-unit-entry input{
  grid-column:2!important;grid-row:1!important;
  min-width:0!important;max-width:90px!important;width:100%!important;
  min-height:34px;height:34px;box-sizing:border-box;
}
#view-recruitment .ik-r54-unit-entry .ik-r86-recruit-max{
  grid-column:3;grid-row:1;
  min-width:44px;min-height:34px;height:34px;max-width:110px;
  padding:3px 7px;box-sizing:border-box;
  background:var(--ik-theme-surface-alt);color:var(--ik-theme-ink);
  border:1px solid var(--ik-theme-border-soft);border-radius:5px;
  font:600 12px/1.1 system-ui,sans-serif;white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
#view-recruitment .ik-r54-unit-entry .ik-r86-recruit-max:hover:not(:disabled),
#view-recruitment .ik-r54-unit-entry .ik-r86-recruit-max[aria-pressed="true"]{
  background:var(--ik-theme-elevated);border-color:var(--ik-theme-accent-hover);
  color:var(--ik-theme-highlight);
}
#view-recruitment .ik-r54-unit-entry .ik-r86-recruit-max:focus-visible{
  outline:2px solid var(--ik-theme-accent-hover);outline-offset:2px;
}
#view-recruitment .ik-r54-unit-entry .ik-r86-recruit-max:disabled{opacity:.48;cursor:not-allowed}
#view-recruitment .ik-r57-unit-metrics{padding:2px 6px;gap:0;min-height:0}
#view-recruitment .ik-r86-recruit-actions{
  display:flex;align-items:center;justify-content:space-between;
  gap:8px 16px;flex-wrap:wrap;
  padding:9px 13px;background:var(--ik-theme-surface-alt);
  border-top:1px solid var(--ik-theme-border-soft);
}
#view-recruitment .ik-r86-recruit-actions p{
  margin:0;flex:1 1 250px;min-width:0;font:12px/1.4 system-ui,sans-serif;
  color:var(--ik-theme-ink);
}
#view-recruitment .ik-r86-recruit-actions .ik-r39-error{color:#E6A09D}
#view-recruitment .ik-r86-recruit-actions #ik-recruit-general-submit{
  min-width:205px;min-height:34px;padding:7px 12px;
}
@media(max-width:480px){
  #view-recruitment .ik-r54-unit-entry{grid-template-columns:max-content minmax(50px,90px) max-content!important;gap:4px!important}
  #view-recruitment .ik-r54-unit-entry .ik-r86-recruit-max{min-width:39px;padding:3px 5px;font-size:11px}
  #view-recruitment .ik-r86-recruit-actions #ik-recruit-general-submit{width:100%;min-width:0}
}

/* Smith: one category per full-width ROW; 4 troop medallions per row on desktop,
   i.e. infantry 4 / cavalry 4 / siege 2 (no column of stacked category cards). */
#view-buildings #building-detail .ik-smith-group-grid{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  align-items:stretch;gap:9px;min-width:0;
}
#view-buildings #building-detail .ik-smith-group-grid>.ik-smith-group{
  display:block!important;box-sizing:border-box;width:100%!important;
  max-width:none!important;min-width:0!important;margin:0!important;
  padding:8px 10px!important;
}
#view-buildings #building-detail .ik-smith-group h4{margin:0 0 7px;font-size:13px}
#view-buildings #building-detail .ik-smith-units{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:stretch;gap:7px;
}
#view-buildings #building-detail .ik-smith-units .ik-troop-card{
  display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;
  min-width:0;max-width:none;padding:6px 8px!important;gap:4px!important;
  overflow-wrap:anywhere;
}
#view-buildings #building-detail .ik-smith-units .ik-r58-unit-header{
  min-height:0!important;display:flex;justify-content:center;text-align:center;
}
#view-buildings #building-detail .ik-smith-units .ik-r58-unit-header>div{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  min-width:0;width:100%;
}
#view-buildings #building-detail .ik-smith-units .ik-r46-unit-name{
  display:inline-flex!important;justify-content:center;align-items:center;
}
#view-buildings #building-detail .ik-smith-units .ik-troop-cost,
#view-buildings #building-detail .ik-smith-units .ik-r60-research-requirements{
  text-align:center;font-size:10px;line-height:1.3;min-width:0;
}
#view-buildings #building-detail .ik-smith-units .ik-troop-card>button:not(.ik-r46-unit-name){
  width:100%;min-height:29px;white-space:normal;margin-top:auto;
}
#view-buildings #building-detail .ik-smith-units .ik-r86-smith-maxed{
  align-items:center;justify-content:center;min-height:88px;
}
#view-buildings #building-detail .ik-smith-units .ik-r86-smith-maxed .ik-r58-unit-header{
  width:100%;min-height:68px!important;
}
@media(max-width:900px){
  #view-buildings #building-detail .ik-smith-units{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:460px){
  #view-buildings #building-detail .ik-smith-units{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px}
  #view-buildings #building-detail .ik-smith-units .ik-troop-card{padding:5px!important}
}

/* Academy: influence purchase + noble recruitment in compact side-by-side columns.
   Both original actions, IDs, validation and quantities remain operable. */
#view-buildings #building-detail #military-panel.ik-r86-academy-columns{
  display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)!important;
  gap:10px;align-items:start;
}
#view-buildings #building-detail .ik-r86-academy-columns>.ik-detail-section{
  min-width:0;padding:10px 12px!important;
}
#view-buildings #building-detail .ik-r86-academy-columns .ik-r59-influence{
  gap:8px;
}
#view-buildings #building-detail .ik-r86-academy-columns .ik-r59-influence-heading{
  display:grid;gap:5px;
}
#view-buildings #building-detail .ik-r86-academy-columns .ik-r59-influence-heading span,
#view-buildings #building-detail .ik-r86-academy-columns .ik-r59-influence-resources{
  font-size:11px;line-height:1.35;
}
#view-buildings #building-detail .ik-r86-academy-columns .ik-r59-influence-stats{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
#view-buildings #building-detail .ik-r86-academy-columns .ik-r59-influence-action{
  gap:7px;align-items:center;
}
#view-buildings #building-detail .ik-r86-academy-columns .ik-r59-influence-action #ik-r59-influence-total{
  flex:1 1 120px;padding:0;
}
#view-buildings #building-detail .ik-r86-academy-columns .ik-r66-noble-stats{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;
}
#view-buildings #building-detail .ik-r86-academy-columns .ik-troop-grid{
  display:grid;grid-template-columns:minmax(0,1fr);
}
#view-buildings #building-detail .ik-r86-academy-columns .ik-troop-grid .ik-troop-card{
  max-width:none;width:100%;box-sizing:border-box;
}
@media(max-width:960px){
  #view-buildings #building-detail #military-panel.ik-r86-academy-columns{
    grid-template-columns:minmax(0,1fr)!important;
  }
}


/* ---- GAME : r71r87-global-cleanup-smith-library-map.css ---- */
/* Iron Kingdoms R71-R87 — UI-only additions on Dark Graphite Deep R85/R86.
   Do not affect Main Map and Village canvases or actual art assets. */

/* Smith: finished research retains a disabled status button below the medallion.
   Units still awaiting research keep their active research button as before. */
#view-buildings #building-detail .ik-smith-units .ik-r86-smith-maxed{
  justify-content:flex-start!important;min-height:112px!important;gap:6px!important;
}
#view-buildings #building-detail .ik-smith-units .ik-r86-smith-maxed .ik-r58-unit-header{
  min-height:64px!important;
}
#view-buildings #building-detail .ik-smith-units .ik-r87-smith-max-button{
  display:block!important;min-height:28px!important;height:auto!important;
  margin-top:auto!important;padding:5px 4px!important;
  color:var(--ik-theme-ink)!important;background:var(--ik-theme-surface-alt)!important;
  border:1px solid var(--ik-theme-border-soft)!important;opacity:.88!important;
  font:600 clamp(9px,1.05vw,11px)/1.15 system-ui,sans-serif!important;
  cursor:default!important;white-space:normal!important;
}

/* Academy: both panes use a matching hierarchy of title, compact stats and
   a troop-card-like action block, preserving all original IDs and handlers. */
#view-buildings #building-detail .ik-r86-academy-columns .ik-r59-influence{
  align-content:start!important;gap:8px!important;
}
#view-buildings #building-detail .ik-r86-academy-columns .ik-r59-influence h3,
#view-buildings #building-detail .ik-r86-academy-columns .ik-military>h3{
  margin:0 0 2px!important;min-height:20px;
}
#view-buildings #building-detail .ik-r86-academy-columns .ik-r87-influence-card{
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  gap:8px!important;max-width:none!important;width:100%;min-width:0;
  box-sizing:border-box;padding:9px!important;
}
#view-buildings #building-detail .ik-r86-academy-columns .ik-r87-influence-title{
  display:flex;flex-direction:column;gap:3px;text-align:center;
}
#view-buildings #building-detail .ik-r87-influence-title strong{
  color:var(--ik-theme-ink);font-size:14px;
}
#view-buildings #building-detail .ik-r87-influence-title small{
  font-size:10px;color:var(--ik-theme-muted);
}
#view-buildings #building-detail .ik-r87-influence-card .ik-troop-cost{
  display:block!important;text-align:center!important;font-size:11px!important;
}
#view-buildings #building-detail .ik-r87-influence-card .ik-r59-influence-resources{
  font-size:10px!important;justify-content:center!important;text-align:center!important;
}
#view-buildings #building-detail .ik-r87-influence-card .ik-r59-influence-action{
  display:flex!important;align-items:end!important;flex-wrap:wrap;gap:7px!important;
  justify-content:center!important;border-top:1px solid var(--ik-theme-border-soft);
  padding-top:9px;
}
#view-buildings #building-detail .ik-r87-influence-card .ik-r59-influence-action label{
  flex:0 1 100px;
}
#view-buildings #building-detail .ik-r87-influence-card #influence-buy{
  flex:1 1 140px;min-width:0;min-height:34px;
}
#view-buildings #building-detail .ik-r87-influence-card #ik-r59-influence-total{
  display:block;text-align:center;color:var(--ik-theme-ink);
  font-size:11px;line-height:1.3;
}
#view-buildings #building-detail .ik-r87-influence-card>small{
  display:block;text-align:center;font-size:10px;line-height:1.4;
}

/* Map-hover building matrix: distribute the fixed 13 buildings across ALL
   available panel width without overflowing the existing one-row layout. */
.ik-map-tooltip .ik-hover-building-matrix.ik-r81-single-row{
  width:100%!important;max-width:100%!important;table-layout:fixed!important;
}
.ik-map-tooltip .ik-hover-building-matrix.ik-r81-single-row th,
.ik-map-tooltip .ik-hover-building-matrix.ik-r81-single-row td{
  width:calc(100% / var(--ik-hover-columns,13))!important;
  max-width:calc(100% / var(--ik-hover-columns,13))!important;
  padding:1px 0!important;box-sizing:border-box!important;
}
.ik-map-tooltip .ik-hover-building-matrix.ik-r81-single-row img.ik-hover-icon{
  display:block!important;width:calc(100% - 2px)!important;
  height:46px!important;max-width:46px!important;
  object-fit:contain!important;margin:0 auto!important;
}
.ik-map-tooltip .ik-r87-gn-availability .ik-r87-gn-yes{color:#7FCB91!important}
.ik-map-tooltip .ik-r87-gn-availability .ik-r87-gn-no{color:#E17E7B!important}
@media(max-width:680px){
 .ik-map-tooltip .ik-hover-building-matrix.ik-r81-single-row img.ik-hover-icon{
   width:calc(100% - 1px)!important;height:auto!important;
   aspect-ratio:1/1;max-width:46px!important;
 }
}


/* ---- GAME : r71r88-multi-recruit-simulator-compact.css ---- */
/* Iron Kingdoms R71-R88 — focused UI refinements on Dark Graphite Deep.
   No changes to battle formulas, map/village canvases or server validation. */

/* Main Map hover: fill all available columns horizontally without wrapping.
   Keep 1:1 squares; 11 unit icons fit into the existing tooltip width. */
.ik-map-tooltip .ik-hover-unit-matrix.ik-r81-single-row{
 width:100%!important;max-width:100%!important;table-layout:fixed!important;
}
.ik-map-tooltip .ik-hover-unit-matrix.ik-r81-single-row :is(th,td){
 width:calc(100% / var(--ik-hover-columns,11))!important;
 max-width:none!important;min-width:0!important;padding:1px!important;
}
.ik-map-tooltip .ik-hover-unit-matrix img.ik-hover-icon{
 display:block!important;width:100%!important;height:auto!important;
 max-width:56px!important;max-height:56px!important;aspect-ratio:1;
 object-fit:contain!important;margin-inline:auto!important;
}
@media(max-width:680px){.ik-map-tooltip .ik-hover-unit-matrix img.ik-hover-icon{
 width:100%!important;height:auto!important;max-width:56px!important;max-height:56px!important;
}}

/* Global: horizontal army report is a self-sized section above the multi-unit planner. */
#ik-army-global-root .ik-r88-army-layout{
 display:flex!important;flex-direction:column!important;align-items:stretch!important;
 gap:10px!important;grid-template-columns:1fr!important;
}
#ik-army-global-root .ik-r88-army-layout>.ik-army-section{
 flex:0 0 auto!important;align-self:stretch!important;height:auto!important;
 min-height:0!important;padding:13px!important;
 background:#232A31!important;
}
#ik-army-global-root .ik-r88-army-totals .ik-army-chips{margin:5px 0 0!important}
#ik-army-global-root .ik-r88-army-totals>p{margin:0 0 7px!important}
#ik-army-global-root .ik-r88-army-totals #ik-army-totals{margin:0!important}
#ik-army-global-root .ik-r88-army-unit-grid{
 display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;
 margin:10px 0;padding:9px;background:#1C2127;border:1px solid #3D4752;border-radius:8px;
}
#ik-army-global-root .ik-r88-army-unit{
 display:grid;grid-template-rows:auto auto;gap:5px;min-width:0;
 padding:6px;background:#2A323A;border:1px solid #46515C;border-radius:6px;
 color:#E7E3DA;font:500 11px/1.25 system-ui,sans-serif;
}
#ik-army-global-root .ik-r88-army-unit>span{display:flex;align-items:center;gap:5px;min-width:0}
#ik-army-global-root .ik-r88-army-unit>span>span{overflow-wrap:anywhere}
#ik-army-global-root .ik-r88-army-unit img.ik-hf2-unit-icon{
 width:37px!important;height:37px!important;max-width:37px!important;flex:0 0 37px!important;object-fit:contain;
}
#ik-army-global-root .ik-r88-army-unit>input{
 width:100%;height:32px;min-width:0;box-sizing:border-box;
 background:#181D22;border:1px solid #53616E;border-radius:5px;
 color:#E7E3DA;padding:5px 7px;text-align:center;font:600 14px system-ui,sans-serif;
}
#ik-army-global-root .ik-r88-army-unit:focus-within{border-color:#B89A52}
#ik-army-global-root .ik-r88-army-village-toolbar{margin:7px 0!important;align-items:end}
#ik-army-global-root .ik-r88-plan-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#ik-army-global-root .ik-r88-plan-toolbar>button{background:#2D4F7C;color:#FFF}
#ik-army-global-root .ik-r88-plan-toolbar>small{color:#C2CDD6}
#ik-army-global-root .ik-army-villages{margin:6px 0!important;max-height:175px}
#ik-army-global-root .ik-army-planned{max-height:240px}
@media(max-width:1120px){#ik-army-global-root .ik-r88-army-unit-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:710px){#ik-army-global-root .ik-r88-army-unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:390px){#ik-army-global-root .ik-r88-army-unit-grid{grid-template-columns:1fr}}

/* Simulator is a normal routable game screen. No fixed overlay, scrim or focus trap. */
#view-simulator{min-width:0}
#view-simulator #ik-simulator-dialog.ik-r88-simulator-page{
 position:static!important;inset:auto!important;z-index:auto!important;
 display:block!important;place-items:normal!important;
 width:100%!important;max-width:none!important;min-height:0!important;
 margin:0!important;padding:0!important;background:transparent!important;
 box-sizing:border-box!important;
}
#view-simulator .ik-simulator-sheet{
 box-sizing:border-box;width:100%!important;max-width:1320px!important;
 max-height:none!important;overflow:visible!important;margin:0 auto;
 padding:clamp(12px,2vw,20px)!important;box-shadow:none!important;
 background:#232A31!important;color:#E7E3DA!important;border:1px solid #4A5662!important;
}
#view-simulator .ik-simulator-header h2{color:#E7E3DA!important}
#view-simulator .ik-simulator-header p,#view-simulator .ik-simulator-caveat{color:#C2CCD6!important}
#view-simulator .ik-simulator-presets{margin:8px 0}
#view-simulator .ik-simulator-options{margin:8px 0}
#view-simulator .ik-simulator-unit-scroll{background:#1C2127}
#view-simulator #ik-simulator-submit{background:#2D4F7C!important;border-color:#456F9D!important;color:#FFF!important}

/* Very compact confirmation while retaining every timestamp, troop quantity,
   action, row editor, batch validation and the optional full unit summary. */
.ik-r88-compact-confirm{margin-top:6px!important;padding:9px!important;border-radius:8px!important}
.ik-r88-compact-confirm>h2{margin:0 0 7px!important;font-size:clamp(17px,1.6vw,22px)!important}
.ik-r88-compact-confirm .ik-r54-confirm-grid{
 gap:8px!important;margin:0 0 7px!important;grid-template-columns:minmax(0,1.4fr) minmax(240px,.6fr)!important;
 align-items:stretch!important;
}
.ik-r88-compact-confirm .ik-command-info{
 max-width:none!important;min-width:0!important;padding:9px!important;
}
.ik-r88-compact-confirm .ik-command-info>label{display:flex!important;gap:9px!important;align-items:center;font-size:11px!important}
.ik-r88-compact-confirm #ik-order-name{height:30px!important;min-width:0!important;flex:1!important;padding:4px 8px!important}
.ik-r88-compact-confirm .ik-r88-command-facts{
 display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
 gap:4px 7px!important;margin:8px 0 0!important;
}
.ik-r88-compact-confirm .ik-r88-command-facts>div{
 min-width:0;display:grid;gap:2px;padding:4px 6px;
 background:#1C2127;border:1px solid #3D4752;border-radius:4px;
}
.ik-r88-compact-confirm .ik-r88-command-facts :is(dt,dd){
 padding:0!important;margin:0!important;border:none!important;
 overflow-wrap:anywhere!important;font-size:clamp(10px,.85vw,12px)!important;line-height:1.35!important;
}
.ik-r88-compact-confirm .ik-r88-command-facts dt{color:#AEBAC5!important;font-weight:500}
.ik-r88-compact-confirm .ik-r88-command-facts dd{color:#EEE9E0!important;font-weight:700!important;font-variant-numeric:tabular-nums}
.ik-r88-compact-confirm .ik-r54-target-orders{max-height:165px!important;min-height:0!important;overflow:auto!important}
.ik-r88-compact-confirm .ik-r54-target-orders h3{font-size:13px!important;padding:7px 9px!important}
.ik-r88-compact-confirm .ik-r54-target-orders-list{font-size:11px!important;padding:7px!important}
.ik-r88-compact-confirm .ik-command-catapult-target{margin:5px 0!important}
.ik-r88-compact-confirm .ik-r88-confirm-roster{margin:5px 0!important}
.ik-r88-compact-confirm .ik-r88-confirm-roster>summary{
 font-size:11px;font-weight:650;color:#B89A52;cursor:pointer;
 padding:5px 8px;border:1px solid #3D4752;border-radius:4px;background:#1C2127;
}
.ik-r88-compact-confirm .ik-command-table-scroll{margin:4px 0!important;max-height:150px!important}
.ik-r88-compact-confirm .ik-command-units :is(td,th){padding:3px 6px!important;font-size:11px!important}
.ik-r88-compact-confirm .ik-command-batch-panel{margin:5px 0!important;padding:8px!important;border-radius:6px!important}
.ik-r88-compact-confirm .ik-command-batch-heading{gap:8px!important;align-items:center!important}
.ik-r88-compact-confirm .ik-command-batch-heading h3{font:600 15px Georgia,serif!important;margin:0!important}
.ik-r88-compact-confirm .ik-command-batch-heading p{font:11px/1.3 system-ui,sans-serif!important;margin:2px 0 0!important;max-width:none!important}
.ik-r88-compact-confirm .ik-command-batch-tools{gap:5px!important}
.ik-r88-compact-confirm .ik-command-batch-tools>button{padding:5px 8px!important;font-size:11px!important}
.ik-r88-compact-confirm .ik-command-batch-rows{gap:5px!important;margin-top:7px!important}
.ik-r88-compact-confirm .ik-command-batch-row{padding:7px!important;display:grid!important;gap:5px!important}
.ik-r88-compact-confirm .ik-command-batch-row-head{margin:0!important;gap:7px!important}
.ik-r88-compact-confirm .ik-command-batch-row-head strong{font-size:13px!important}
.ik-r88-compact-confirm .ik-command-batch-first-name{font-size:10px!important}
.ik-r88-compact-confirm .ik-command-batch-unit-grid{
 display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;
 gap:5px!important;
}
.ik-r88-compact-confirm .ik-command-batch-unit-grid label{
 display:flex!important;align-items:center!important;gap:5px!important;min-width:0!important;
 border:1px solid #44515C;border-radius:5px;background:#222930;padding:3px!important;
}
.ik-r88-compact-confirm .ik-command-batch-unit-grid img.ik-hf2-unit-icon{
 width:31px!important;height:31px!important;max-width:31px!important;flex:0 0 31px!important;object-fit:contain!important;
}
.ik-r88-compact-confirm .ik-command-batch-unit-grid input{
 box-sizing:border-box!important;flex:1!important;min-width:0!important;width:100%!important;
 height:28px!important;padding:3px!important;text-align:center!important;font-size:12px!important;
}
.ik-r88-compact-confirm .ik-command-batch-row>small{margin:0!important;font-size:10px!important}
.ik-r88-compact-confirm .ik-command-batch-name{max-width:240px!important;padding:5px!important}
.ik-r88-compact-confirm .ik-command-batch-catapult{margin:0!important;font-size:11px!important}
.ik-r88-compact-confirm .ik-command-batch-total{margin:6px 0 0!important;font:600 11px/1.4 system-ui,sans-serif!important}
.ik-r88-compact-confirm .ik-command-batch-preview{margin:4px 0 0!important;font-size:11px!important}
.ik-r88-compact-confirm .ik-command-batch-timings{margin:3px 0!important;font:11px/1.3 system-ui,sans-serif!important}
.ik-r88-compact-confirm .ik-command-batch-timings>div{padding:3px 0!important}
.ik-r88-compact-confirm .ik-command-confirm-actions{margin-top:7px!important;gap:7px!important}
.ik-r88-compact-confirm .ik-command-confirm-actions button{padding:7px 12px!important}
.ik-r88-compact-confirm .ik-command-message:empty{display:none!important}
@media(max-width:990px){
 .ik-r88-compact-confirm .ik-r88-command-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .ik-r88-compact-confirm .ik-command-batch-unit-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:700px){
 .ik-r88-compact-confirm .ik-r54-confirm-grid{grid-template-columns:minmax(0,1fr)!important}
 .ik-r88-compact-confirm .ik-r54-target-orders{max-height:110px!important}
 .ik-r88-compact-confirm .ik-command-batch-unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .ik-r88-compact-confirm .ik-command-info>label{align-items:stretch!important;flex-direction:column!important}
}


/* ---- GAME : r71r89-compact-economy-map-kingdom.css ---- */
/* Iron Kingdoms R71-R89 - UI only. Preserve gameplay, existing art and R71-R74 map perspective. */

/* Main Map: center marker remains anchored to the actual canvas cell, not the
   scrolling surface, axes or map artwork. Pointer events always reach map. */
#view-world #map-coordinate-grid #ik-r89-main-center-marker{
  grid-column:2;grid-row:1;align-self:stretch;justify-self:stretch;
  display:grid;place-items:center;
  z-index:20;position:relative;pointer-events:none;user-select:none;
  width:100%;height:100%;overflow:visible;
  filter:drop-shadow(0 1px 2px #000c);
}
#ik-r89-main-center-marker i{
  width:7px;height:7px;box-sizing:border-box;display:block;border-radius:50%;
  background:#FFE04C;border:1px solid #25200E;box-shadow:0 0 0 1px #FFE04C70,0 0 7px #FFD33580;
}
#ik-r89-main-center-coordinates{
  display:block;position:absolute;top:calc(50% + 8px);left:50%;transform:translateX(-50%);
  background:#171B20E6;color:#FFDF70;border:1px solid #826729;
  padding:2px 5px;border-radius:4px;font:700 10px/1.2 system-ui,sans-serif;
  white-space:nowrap;letter-spacing:.04em;font-variant-numeric:tabular-nums;
}

/* Tooltip: troops and travel-duration icons share the available row width
   with the building icons introduced in R87. No overflow or wrapping. */
.ik-map-tooltip :is(.ik-hover-unit-matrix,.ik-hover-arrival-matrix).ik-r81-single-row{
  width:100%!important;max-width:100%!important;table-layout:fixed!important;
}
.ik-map-tooltip :is(.ik-hover-unit-matrix,.ik-hover-arrival-matrix).ik-r81-single-row :is(th,td){
  box-sizing:border-box!important;width:calc(100% / var(--ik-hover-columns,11))!important;
  max-width:none!important;min-width:0!important;padding:1px!important;
}
.ik-map-tooltip :is(.ik-hover-unit-matrix,.ik-hover-arrival-matrix) img.ik-hover-icon{
  width:100%!important;max-width:56px!important;height:auto!important;max-height:56px!important;
  aspect-ratio:1!important;object-fit:contain!important;display:block!important;margin-inline:auto!important;
}
.ik-map-tooltip .ik-hover-arrival-matrix td.ik-hover-travel-duration{
  font-size:clamp(8px,.72vw,11px)!important;letter-spacing:-.1px!important;
}

/* Widen military inventory to all available real width; keep scroll on small screens. */
#ik-army-totals.ik-army-table-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;}
#ik-army-totals table.ik-army-horizontal-units{
  width:100%!important;max-width:none!important;min-width:850px!important;
  table-layout:fixed!important;border-collapse:collapse!important;
}
#ik-army-totals .ik-army-horizontal-units tr>*:not(:first-child):not(:last-child){
  width:auto!important;min-width:0!important;max-width:none!important;
  padding:6px 3px!important;text-align:center!important;
}
#ik-army-totals .ik-army-horizontal-units tr>:first-child{
  width:115px!important;min-width:115px!important;max-width:115px!important;
}
#ik-army-totals .ik-army-horizontal-units tr>:last-child{
  width:86px!important;min-width:86px!important;max-width:86px!important;
}
#ik-army-totals .ik-army-horizontal-units thead img.ik-hf2-unit-icon{
  width:clamp(38px,3.5vw,58px)!important;height:clamp(38px,3.5vw,58px)!important;
  max-width:100%!important;object-fit:contain!important;
}

/* All 11 unit types in a single compact, scan-friendly horizontal strip.
   On narrower layouts the strip scrolls without cramming unreadable fields. */
#ik-army-global-root .ik-r88-army-unit-grid{
  display:grid!important;grid-template-columns:repeat(11,minmax(82px,1fr))!important;
  gap:4px!important;margin:7px 0!important;padding:6px!important;
  width:100%!important;box-sizing:border-box!important;overflow-x:auto!important;
}
#ik-army-global-root .ik-r88-army-unit{
  display:flex!important;flex-direction:column!important;align-items:center!important;
  gap:3px!important;min-width:0!important;padding:3px 4px!important;
  text-align:center!important;
}
#ik-army-global-root .ik-r88-army-unit>span{
  display:flex!important;justify-content:center!important;min-height:32px!important;
}
#ik-army-global-root .ik-r88-army-unit>span>span{display:none!important;}
#ik-army-global-root .ik-r88-army-unit img.ik-hf2-unit-icon{
  width:32px!important;height:32px!important;max-width:32px!important;
  flex:0 0 32px!important;object-fit:contain!important;
}
#ik-army-global-root .ik-r88-army-unit>input{
  height:28px!important;width:100%!important;min-width:0!important;
  padding:2px!important;font-size:12px!important;
}
#ik-army-global-root .ik-r89-army-fold{
  min-width:0;margin:5px 0!important;border:1px solid #454F59;
  border-radius:6px;background:#20262D;overflow:hidden;
}
#ik-army-global-root .ik-r89-army-fold>summary{
  cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;
  padding:6px 10px;color:#E7E3DA;background:#2C343D;font-weight:700;font-size:12px;
}
#ik-army-global-root .ik-r89-army-fold>summary::-webkit-details-marker{display:none;}
#ik-army-global-root .ik-r89-army-fold>summary:before{content:'▸';font-size:12px;margin-right:8px;color:#D2B56C;}
#ik-army-global-root .ik-r89-army-fold[open]>summary:before{content:'▾';}
#ik-army-global-root .ik-r89-army-fold>summary>span{margin-left:auto;color:#C5CED7;font-weight:500;}
#ik-army-global-root .ik-army-villages{
  display:grid!important;grid-template-columns:repeat(auto-fill,minmax(205px,1fr))!important;
  gap:4px!important;margin:0!important;padding:6px!important;max-height:260px!important;
  overflow-y:auto!important;
}
#ik-army-global-root .ik-army-villages label{
  gap:5px!important;padding:5px 7px!important;align-items:center!important;
}
#ik-army-global-root .ik-army-villages label strong{font-size:11px!important;}
#ik-army-global-root .ik-army-villages label small{font-size:10px!important;line-height:1.2;}
#ik-army-global-root .ik-army-planned{
  display:grid!important;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))!important;
  gap:4px!important;max-height:320px!important;overflow-y:auto!important;
  margin:0!important;padding:6px!important;
}
#ik-army-global-root .ik-army-plan-row{padding:4px 6px!important;gap:6px!important;min-width:0!important;}
#ik-army-global-root .ik-army-plan-row strong{font-size:11px!important;}
#ik-army-global-root .ik-army-plan-row small{font-size:10px!important;}
#ik-army-global-root .ik-army-plan-row img{width:23px!important;height:23px!important;object-fit:contain!important;vertical-align:middle!important;}
#ik-army-global-root .ik-army-plan-row button{padding:4px 7px!important;font-size:10px!important;}

/* Regat: one continuous graphite frame, same visual language for every tab. */
#view-tribe .ik-tribe-page{
  width:100%;max-width:none;box-sizing:border-box;
  padding:12px;border:1px solid #4A5662;border-radius:10px;
  background:#1C2127;box-shadow:0 12px 34px #0003;
}
#view-tribe #ik-tribe-root{min-width:0;}
#view-tribe .ik-ally-title{
  margin:0!important;background:#252D35!important;border:1px solid #46515C!important;
  border-radius:8px 8px 0 0!important;padding:13px 15px!important;
}
#view-tribe .ik-ally-tabstrip{
  margin:0!important;padding:7px!important;background:#292F37!important;
  border:1px solid #46515C!important;border-top:0!important;
}
#view-tribe #ik-tribe-body{
  padding:9px!important;background:#232A31;
  border:1px solid #46515C;border-top:0;border-radius:0 0 8px 8px;
}
#view-tribe #ik-tribe-body .ik-ally-panel{
  margin:0 0 8px!important;background:#282F37!important;
  border:1px solid #4C5661!important;border-radius:7px!important;
  box-shadow:none!important;
}
#view-tribe #ik-tribe-body .ik-ally-panel:last-child{margin-bottom:0!important;}

/* Messages: a conversation takes the whole content area, never shares a
   column with the inbox; hide unused placeholder and preserve routed URLs. */
#view-messages .ik-messages-layout{display:block!important;grid-template-columns:minmax(0,1fr)!important;}
#view-messages :is(#ik-message-list,#ik-message-detail)[hidden]{display:none!important;}
#view-messages #ik-message-detail:not([hidden]){width:100%!important;max-width:none!important;min-width:0!important;}

/* Market: three separate content pages in one elegant left-navigation shell. */
#ik-market-trade-root .ik-r89-market-layout{
  display:grid;grid-template-columns:190px minmax(0,1fr);gap:10px;
  align-items:start;min-width:0;margin-top:9px;
}
#ik-market-trade-root .ik-r89-market-menu{
  display:flex;flex-direction:column;gap:5px;padding:8px;
  border:1px solid #46515C;border-radius:8px;background:#20262D;
}
#ik-market-trade-root .ik-r89-market-menu>button{
  text-align:left;min-height:38px;padding:8px 10px;
  background:#303943;border:1px solid #46515C;border-radius:5px;
  color:#E7E3DA;font-weight:600;
}
#ik-market-trade-root .ik-r89-market-menu>button:hover{
  background:#394752;border-color:#697480;
}
#ik-market-trade-root .ik-r89-market-menu>button.active{
  background:#2D4F7C!important;border-color:#B89A52!important;color:#fff!important;
}
#ik-market-trade-root .ik-r89-market-content{
  min-width:0;padding:9px;background:#232A31;border:1px solid #46515C;border-radius:8px;
}
#ik-market-trade-root .ik-r89-market-content>.ik-trade-records[hidden]{display:none!important;}
#ik-market-trade-root .ik-trade-form{gap:8px!important;}
#ik-market-trade-root .ik-trade-records{margin-top:6px!important;}
@media(max-width:850px){
 #ik-market-trade-root .ik-r89-market-layout{grid-template-columns:1fr;}
 #ik-market-trade-root .ik-r89-market-menu{flex-direction:row;flex-wrap:wrap;}
 #ik-market-trade-root .ik-r89-market-menu>button{flex:1 1 130px;text-align:center;}
}
/* Conversation page shows its own thread and actions without inbox controls. */
#view-messages .ik-messages-page:has(.ik-messages-layout[data-pane="detail"]) :is(.ik-r35-message-filters,.ik-r35-message-bulk){display:none!important;}
#view-messages .ik-messages-page:has(.ik-messages-layout[data-pane="detail"]) .ik-messages-tools{margin-bottom:7px!important;}


/* ---- GAME : r71r91-map-recruit-messages-forum-tribe.css ---- */
/* R71-R91 Dark Graphite Deep: map, army, dialogue, forum and regat refinements. */
/* Map R90: settings moved from canvas header to right sidebar. */
#view-world .map-right-sidebar>.ik-r90-settings-panel{padding:10px!important;min-width:0;}
#view-world .ik-r90-settings-panel .ik-main-map-settings{
 display:flex!important;flex-direction:column!important;align-items:stretch!important;
 flex-wrap:wrap!important;gap:8px!important;padding:8px!important;
 background:#232A31!important;border:1px solid #46515C!important;border-radius:6px!important;
 width:100%!important;max-width:100%!important;box-sizing:border-box!important;
}
#view-world .ik-r90-settings-panel .ik-map-range-label{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px;}
#view-world .ik-r90-settings-panel #map-surface-custom-fields{display:flex;gap:7px;min-width:0;}
#view-world .ik-r90-settings-panel #map-surface-custom-fields[hidden]{display:none!important;}
#view-world .ik-r90-settings-panel #map-surface-custom-fields label{flex:1;min-width:0;}
#view-world .ik-r90-settings-panel .ik-map-surface-custom{width:100%;min-width:0;box-sizing:border-box;}
#view-world .ik-r90-center-toggle{display:flex;align-items:center;gap:9px;cursor:pointer;padding:9px 7px;margin:4px 0 0;
 border-radius:5px;border:1px solid #46515C;background:#252D35;color:#E7E3DA;font-size:12px;}
#view-world .ik-r90-center-toggle input{accent-color:#B89A52;width:16px;height:16px;}
#view-world #ik-r89-main-center-marker[hidden]{display:none!important;}
#view-world #ik-r89-main-center-marker i{width:7px;height:7px;}
/* Keep every duration readable at long distances, including 14z 23:41:32.
   The hover normally inherits a historical 400px maximum: override it only
   for the arrival matrix, otherwise even untruncated values cannot fit. */
.ik-map-tooltip:has(.ik-hover-arrival-matrix){width:min(1040px,calc(100vw - 28px))!important;max-width:min(1040px,calc(100vw - 28px))!important;}

.ik-map-tooltip .ik-hover-table-scroll{width:100%!important;max-width:100%!important;overflow-x:auto!important;}
.ik-map-tooltip .ik-hover-arrival-matrix{table-layout:fixed!important;width:100%!important;min-width:990px!important;}
.ik-map-tooltip .ik-hover-arrival-matrix tbody td,.ik-map-tooltip .ik-hover-arrival-matrix .ik-hover-travel-duration{
 white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;
 font:700 clamp(8px,.65vw,10px)/1.2 ui-monospace,Consolas,monospace!important;
 letter-spacing:-.4px!important;padding:2px 0!important;
}
.ik-map-tooltip .ik-hover-arrival-matrix th{min-width:0!important;max-width:none!important;padding-inline:1px!important;}
.ik-map-tooltip .ik-hover-arrival-matrix img.ik-hover-icon{max-height:48px!important;width:min(100%,48px)!important;object-fit:contain!important;}
/* Message table and independently paginated, fully expanded dialogue. */
#view-messages .ik-message-table{border-collapse:collapse!important;width:100%!important;}
#view-messages .ik-message-table th,#view-messages .ik-message-table td{padding:5px 9px!important;font-size:12px!important;line-height:1.25!important;vertical-align:middle!important;}
#view-messages .ik-message-table tr{height:31px!important;}
#view-messages .ik-r35-message-check{width:13px!important;height:13px!important;vertical-align:middle!important;}
#view-messages .ik-message-thread-link{font-size:12px!important;padding:2px 3px!important;line-height:1.2!important;}
#view-messages .ik-dialogue-history.ik-r91-paged-history{
 display:flex!important;flex-direction:column!important;gap:6px!important;overflow:visible!important;
 max-height:none!important;max-width:none!important;width:100%!important;height:auto!important;min-height:0!important;padding:5px 0!important;
}
#view-messages .ik-dialogue-bubble{max-width:100%!important;padding:8px 10px!important;margin:0!important;}
#view-messages .ik-dialogue-heading{padding:7px 2px!important;}
#view-messages .ik-dialogue-day{margin:5px 0!important;}
#view-messages .ik-r91-thread-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;
 margin:7px 0!important;padding:7px!important;background:#20262D;border:1px solid #46515C;border-radius:7px;}
#view-messages .ik-r91-thread-pagination button{font-size:11px!important;padding:5px 8px!important;}
#view-messages .ik-r91-thread-count{font-size:11px;color:#D2B56C;font-variant-numeric:tabular-nums;}
/* Search and new-thread tools remain visible when forms are collapsed. */
#view-tribe .ik-r91-forum-tools{display:flex;justify-content:flex-end;gap:6px;margin:3px 0 6px;}
#view-tribe .ik-r91-forum-tools button{width:33px;height:31px;padding:0!important;border:1px solid #59636D!important;
 border-radius:6px;background:#303943!important;color:#E7E3DA!important;cursor:pointer;font-size:22px;line-height:1;}
#view-tribe .ik-r91-forum-tools button:hover{background:#394752!important;}
#view-tribe .ik-r91-forum-tools button.active,#view-tribe .ik-r91-forum-tools button[aria-pressed=true]{
 background:#2D4F7C!important;color:#fff!important;border-color:#B89A52!important;box-shadow:inset 0 0 0 1px #D2B56C33;}
#view-tribe form[data-forum-search][hidden],#view-tribe #ik-r91-forum-create[hidden]{display:none!important;}
#view-tribe #ik-r91-forum-create .ik-forum-compose summary{display:none!important;}
#view-tribe #ik-r91-forum-create .ik-ally-panel{margin-bottom:8px!important;}
/* Regat image: bounded to 25vh, no page-wide banners. */
.ik-r91-tribe-image{width:100%;max-width:100%;max-height:25vh;display:flex;align-items:center;justify-content:center;
 margin:0 0 12px;border:1px solid #4C5661;border-radius:8px;background:#171B20;overflow:hidden;}
.ik-r91-tribe-image img{display:block;width:auto;max-width:100%;height:auto;max-height:25vh;object-fit:contain;}
#ik-tribe-root .ik-r91-image-form{padding:8px;border:1px solid #46515C;border-radius:6px;background:#20262D;margin:8px 0!important;}
#ik-tribe-root .ik-r91-image-form input[type=file]{background:#181D22;padding:6px;max-width:100%;}
#view-ranking .ik-r91-rank-tribe-image,.ik-r91-rank-tribe-image{width:30px;height:30px;object-fit:contain;
 vertical-align:middle;margin-right:8px;border:1px solid #59636D;border-radius:5px;background:#171B20;}
@media(max-width:850px){.ik-map-tooltip:has(.ik-hover-arrival-matrix){max-width:calc(100vw - 16px)!important;} .ik-map-tooltip .ik-hover-arrival-matrix{min-width:990px!important;}}

/* R91 Târg: compact trading and large multi-village shipments. */
#ik-market-trade-root .ik-r89-market-layout{align-items:start!important;}
#ik-market-trade-root .ik-r89-market-menu{position:sticky;top:8px;}
#ik-market-trade-root .ik-r89-market-menu button{font-size:12px!important;padding:10px 12px!important;text-align:left;}
#ik-market-trade-root .ik-r92-mass-page,#ik-market-trade-root .ik-trade-records{background:#232A31;border:1px solid #47505A;border-radius:8px;padding:11px!important;}
#ik-market-trade-root .ik-r92-mass-heading h3{margin:0 0 4px!important;color:#E7E3DA;font-size:16px;}
#ik-market-trade-root .ik-r92-mass-heading p{font-size:12px;color:#B7C0C9;margin:0 0 12px;}
#ik-market-trade-root .ik-r92-mass-choices{grid-column:1/-1;border:1px solid #46515C;border-radius:6px;background:#1C2127;padding:9px;min-width:0;}
#ik-market-trade-root .ik-r92-mass-choices-header{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:5px;}
#ik-market-trade-root .ik-r92-mass-choices-header>div{display:flex;gap:6px;}
#ik-market-trade-root .ik-r92-mass-choices-header button{padding:5px 8px!important;font-size:11px!important;}
#ik-market-trade-root .ik-r92-mass-choices>details>summary{cursor:pointer;padding:4px 0;font-size:12px;color:#D2B56C;}
#ik-market-trade-root .ik-r92-mass-villages{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));max-height:250px;overflow-y:auto;gap:4px;padding:5px;}
#ik-market-trade-root .ik-r92-mass-villages label{display:flex;align-items:center;gap:5px;background:#282F37;border:1px solid #414A53;border-radius:5px;padding:4px 6px;min-width:0;font-size:11px;}
#ik-market-trade-root .ik-r92-mass-villages label span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#ik-market-trade-root .ik-r92-mass-villages label small{font-size:10px;white-space:nowrap;color:#AEB9C4;}
#ik-market-trade-root .ik-r92-ship-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-width:0;}
#ik-market-trade-root .ik-r92-ship-actions button{font-size:12px!important;padding:8px 12px!important;}
#ik-market-trade-root .ik-r92-offer-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));align-items:end;gap:7px;margin:7px 0 12px;padding:9px;background:#1C2127;border:1px solid #45505B;border-radius:6px;}
#ik-market-trade-root .ik-r92-offer-filters label{font-size:11px;color:#C5CED7;display:flex;flex-direction:column;gap:4px;min-width:0;}
#ik-market-trade-root .ik-r92-offer-filters label :is(select,input){width:100%;min-width:0;box-sizing:border-box;}
#ik-market-trade-root .ik-r92-offer-filters button{padding:8px!important;font-size:11px!important;}
#ik-market-trade-root .ik-trade-form label{min-width:0;}
#ik-market-trade-root .ik-trade-form .ik-trade-amounts{min-width:0;}
@media(max-width:900px){#ik-market-trade-root .ik-r89-market-menu{position:static;}#ik-market-trade-root .ik-r92-mass-villages{grid-template-columns:1fr 1fr;}}
@media(max-width:530px){#ik-market-trade-root .ik-r92-mass-villages{grid-template-columns:1fr;}#ik-market-trade-root .ik-r92-ship-actions{flex-direction:column;align-items:stretch;}}


/* ---- GAME : r71r92-dialogue-map-color.css ---- */
/* R71-R92 — Dark Graphite Deep, full-width messages and 70vh history without inner scrolling. */
#view-messages #ik-message-detail:not([hidden]){width:100%!important;max-width:none!important;min-width:0!important;box-sizing:border-box!important;}
#view-messages #ik-dialogue-history.ik-dialogue-history.ik-r91-paged-history{
 width:100%!important;max-width:none!important;min-width:0!important;
 min-height:70dvh!important;height:auto!important;max-height:none!important;overflow:visible!important;
 display:flex!important;flex-direction:column!important;align-items:stretch!important;
 padding:10px!important;gap:7px!important;box-sizing:border-box!important;
 border-radius:9px!important;background:#1C2127!important;border:1px solid #46515C!important;
}
#view-messages #ik-dialogue-history .ik-dialogue-bubble.ik-r36-message-card,
#view-messages #ik-dialogue-history .ik-dialogue-bubble.ik-r36-message-card.mine{
 width:100%!important;max-width:none!important;min-width:0!important;box-sizing:border-box!important;
 align-self:stretch!important;padding:0!important;margin:0!important;border-radius:7px!important;
 background:#252D35!important;border:1px solid #46515C!important;box-shadow:none!important;
}
#view-messages #ik-dialogue-history .ik-dialogue-bubble.ik-r36-message-card.mine{
 background:#2B3540!important;border-color:#536679!important;
}
#view-messages #ik-dialogue-history .ik-dialogue-bubble .ik-r36-message-card-header{padding:5px 10px!important;background:#303943!important;}
#view-messages #ik-dialogue-history .ik-dialogue-bubble .ik-dialogue-text.ik-bb-content{padding:7px 10px!important;}
#view-messages #ik-dialogue-history .ik-dialogue-day{margin:4px 0!important;}
/* R92: legend is two tools; standard categories are fixed, only visibility/color change. */
#view-world .ik-r92-legend-card{padding:8px!important;min-width:0;}
#view-world .ik-r92-legend-actions{display:flex;flex-direction:column;gap:6px;}
#view-world .ik-r92-legend-actions button{
 width:100%;text-align:left;cursor:pointer;padding:9px 11px!important;
 color:#E7E3DA!important;background:#303943!important;border:1px solid #59636D!important;
 border-radius:7px!important;font-size:12px!important;font-weight:700;
}
#view-world .ik-r92-legend-actions button:hover{background:#3A4651!important;}
#view-world .ik-r92-legend-actions button[aria-expanded=true]{background:#2D4F7C!important;border-color:#B89A52!important;color:#fff!important;}
#view-world .ik-r92-legend-pane{margin-top:8px!important;min-width:0;max-width:100%!important;box-sizing:border-box!important;}
#view-world .ik-r92-legend-pane[hidden]{display:none!important;}
#view-world .ik-r92-legend-card .ik-map-legend-row{grid-template-columns:minmax(0,1fr) 25px auto!important;gap:5px!important;}
#view-world .ik-r92-legend-card .ik-custom-group{min-width:0;flex-wrap:wrap;}
#view-world .ik-r92-legend-card .ik-r92-legend-apply{
 padding:4px 7px!important;min-width:0!important;font-size:10px!important;
 color:#E7E3DA!important;background:#39434D!important;border:1px solid #64717F!important;
 border-radius:5px!important;cursor:pointer;
}
#view-world .ik-r92-legend-card .ik-r92-legend-apply:not(:disabled):hover{background:#2D4F7C!important;}
#view-world .ik-r92-legend-card .ik-r92-legend-apply:disabled{opacity:.42;cursor:default;}
/* Color swatches are not committed until Aplică is clicked, in all BBCode editors. */
.ik-bb-toolbar .ik-r92-color-apply{padding:5px 8px!important;font-size:11px!important;border:1px solid #B89A52!important;background:#39434D!important;color:#E7E3DA!important;}
.ik-bb-toolbar .ik-r92-color-apply:not(:disabled):hover{background:#2D4F7C!important;}
.ik-bb-toolbar .ik-r92-color-apply:disabled{opacity:.48!important;cursor:default;}
@media(max-width:600px){#view-messages #ik-dialogue-history.ik-r91-paged-history{min-height:65dvh!important;padding:6px!important;}}

/* R92 adjustment — compact the 'Deplasare din satul activ' hover without
   clipping extended day/hour/minute/second durations. The typeface change is
   restricted to this movement matrix, not to the rest of the game UI. */
.ik-map-tooltip:has(.ik-hover-arrival-matrix){
  width:min(800px,calc(100vw - 24px))!important;
  max-width:min(800px,calc(100vw - 24px))!important;
}
.ik-map-tooltip .ik-hover-arrival{
  margin-block:3px 1px!important;
  padding:0!important;
  font-family:"Times New Roman",Times,serif!important;
}
.ik-map-tooltip .ik-hover-arrival>h4{
  font:700 11px/1.1 "Times New Roman",Times,serif!important;
  margin:0 0 3px!important;padding:0 0 2px!important;
}
.ik-map-tooltip .ik-hover-arrival-matrix{
  width:100%!important;min-width:760px!important;
  border-spacing:0!important;table-layout:fixed!important;
}
.ik-map-tooltip .ik-hover-arrival .ik-hover-table-scroll{
  width:100%!important;max-width:100%!important;overflow-x:auto!important;
  overflow-y:hidden!important;
}
.ik-map-tooltip .ik-hover-arrival-matrix :is(th,td){
  padding:1px 0!important;text-align:center!important;
  line-height:1.05!important;
}
.ik-map-tooltip .ik-hover-arrival-matrix tbody td.ik-hover-travel-duration{
  font:700 10px/1.1 "Times New Roman",Times,serif!important;
  letter-spacing:0!important;font-variant-numeric:tabular-nums!important;
  white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;
}
.ik-map-tooltip .ik-hover-arrival-matrix img.ik-hover-icon{
  width:min(100%,48px)!important;height:auto!important;max-height:48px!important;
}
@media(max-width:780px){
  .ik-map-tooltip .ik-hover-arrival-matrix{min-width:760px!important;}
  .ik-map-tooltip .ik-hover-arrival-matrix tbody td.ik-hover-travel-duration{
    font-size:10px!important;
  }
}


/* ---- GAME : r71r93-legend-dialog-hover.css ---- */
/* R71-R93 — Dark Graphite Deep floating server-saved legend + nested hover cards. */
#ik-r93-map-legend-dialog.ik-r93-legend-dialog{
 position:fixed!important;z-index:100003!important;max-width:calc(100vw - 14px)!important;
 max-height:min(82dvh,740px)!important;min-width:0!important;
 display:flex!important;flex-direction:column!important;overflow:hidden!important;
 background:#1C2127!important;border:1px solid #7B8996!important;border-radius:12px!important;
 box-shadow:0 28px 80px #000c,0 0 0 1px #D2B56C32!important;
 color:#E7E3DA!important;box-sizing:border-box!important;
}
#ik-r93-map-legend-dialog[hidden]{display:none!important;}
#ik-r93-map-legend-dialog .ik-r93-legend-dialog-head{
 flex:0 0 auto;display:flex;align-items:stretch;justify-content:space-between;
 background:#303943;border-bottom:1px solid #B89A5280;min-height:45px;
}
#ik-r93-map-legend-dialog .ik-r93-legend-drag-handle{
 flex:1;display:flex;align-items:center;padding:10px 14px;min-width:0;
 cursor:grab;touch-action:none;user-select:none;color:#F0ECE5;font-size:14px;
}
#ik-r93-map-legend-dialog .ik-r93-legend-drag-handle:active{cursor:grabbing;}
#ik-r93-map-legend-dialog .ik-r93-legend-close{
 width:42px;min-width:42px;background:transparent!important;color:#E7E3DA!important;
 border:0!important;border-left:1px solid #59636D!important;font-size:23px!important;cursor:pointer;
}
#ik-r93-map-legend-dialog .ik-r93-legend-close:hover{background:#743F42!important;}
#ik-r93-map-legend-dialog .ik-r93-legend-dialog-body{
 overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;
 padding:13px!important;min-height:0;flex:1;
}
#ik-r93-map-legend-dialog .ik-r92-legend-pane{
 display:block!important;position:static!important;box-sizing:border-box!important;
 width:100%!important;min-width:0!important;max-width:none!important;
 padding:10px!important;margin:0!important;border:1px solid #46515C!important;
 border-radius:8px!important;background:#232A31!important;
}
#ik-r93-map-legend-dialog .ik-r92-legend-pane[hidden]{display:none!important;}
#ik-r93-map-legend-dialog .map-legends{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
#ik-r93-map-legend-dialog .ik-map-legend-column{min-width:0!important;}
#ik-r93-map-legend-dialog .ik-map-legend-row{display:grid!important;grid-template-columns:minmax(0,1fr) 30px auto!important;align-items:center!important;gap:8px!important;margin-bottom:6px!important;}
#ik-r93-map-legend-dialog .ik-map-legend-row label{min-width:0!important;white-space:normal!important;}
#ik-r93-map-legend-dialog .ik-map-legend-row input[type=color],
#ik-r93-map-legend-dialog .ik-custom-group input[type=color]{width:30px!important;height:29px!important;padding:1px!important;}
#ik-r93-map-legend-dialog .ik-r92-legend-apply{
 padding:6px 9px!important;border-radius:5px!important;background:#39434D!important;
 border:1px solid #697480!important;color:#E7E3DA!important;cursor:pointer;
}
#ik-r93-map-legend-dialog .ik-r92-legend-apply:not(:disabled):hover{background:#2D4F7C!important;}
#ik-r93-map-legend-dialog .ik-r92-legend-apply:disabled{opacity:.42!important;cursor:default;}
#ik-r93-map-legend-dialog .ik-custom-group{display:flex!important;flex-wrap:wrap!important;gap:6px!important;min-width:0!important;align-items:center!important;}
#ik-r93-map-legend-dialog .ik-custom-group-toggle{flex:1;min-width:130px!important;}
#ik-r93-map-legend-dialog .ik-custom-group-editor{margin-top:12px!important;}
#ik-r93-legend-save-status{flex:0 0 auto;margin:0!important;padding:7px 13px!important;font-size:11px;color:#B7C8D5;background:#242C35;border-top:1px solid #46515C;}
/* Separate visual layers inside the map hover — no new gameplay data. */
.ik-map-tooltip .ik-r93-hover-identity{
 padding:6px 9px!important;background:#303943!important;border:1px solid #59636D!important;
 border-radius:8px!important;margin-bottom:5px!important;
}
.ik-map-tooltip .ik-r93-hover-identity .tip-name{color:#E5CAA0!important;font-size:13px!important;margin:0!important;}
.ik-map-tooltip .ik-r93-hover-identity .tip-coords{margin:1px 0 0!important;color:#BFC8D1!important;}
.ik-map-tooltip .ik-r93-hover-info{display:flex!important;flex-direction:column!important;gap:5px!important;min-width:0!important;}
.ik-map-tooltip .ik-r93-hover-summary{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
 column-gap:12px!important;row-gap:0!important;padding:7px 9px!important;
 background:#242C34!important;border:1px solid #475463!important;border-radius:8px!important;
}
.ik-map-tooltip .ik-r93-hover-summary .tip-row{
 min-width:0!important;padding:3px 0!important;gap:5px!important;
 border-bottom:1px solid #3D475260!important;border-top:0!important;font-size:10px!important;
}
.ik-map-tooltip .ik-r93-hover-summary .tip-row span{min-width:0!important;white-space:normal!important;}
.ik-map-tooltip .ik-r93-hover-summary .tip-row strong{text-align:right!important;white-space:normal!important;}
.ik-map-tooltip .ik-r93-hover-info .ik-hover-stack{display:flex!important;flex-direction:column!important;gap:5px!important;min-width:0!important;margin:0!important;}
.ik-map-tooltip .ik-r93-hover-info :is(.ik-hover-data-section,.ik-hover-arrival){
 border:1px solid #475463!important;border-radius:8px!important;
 background:#242C34!important;padding:6px 7px!important;margin:0!important;min-width:0!important;
}
.ik-map-tooltip .ik-r93-hover-info :is(.ik-hover-data-section,.ik-hover-arrival)>h4{
 color:#DBC49A!important;border-bottom:1px solid #B89A524D!important;
 padding-bottom:3px!important;margin-bottom:4px!important;
}
@media(max-width:640px){
 #ik-r93-map-legend-dialog .map-legends{grid-template-columns:1fr!important;}
 .ik-map-tooltip .ik-r93-hover-summary{grid-template-columns:1fr!important;}
}


/* ---- GAME : r71r94-shell-reservations-messages.css ---- */
/* R94 — modern graphite shell for document-oriented screens.
   Main Map and Village canvas are intentionally excluded from the shell. */
main > .view:not(#view-world):not(#view-village):not(#view-map):not(#view-boot) {
 background:#1C2127; border:1px solid #3D4752; border-radius:13px;
 box-shadow:0 10px 28px #0003,inset 0 1px #ffffff0c;
 padding:clamp(10px,1.5vw,22px); box-sizing:border-box;
 min-width:0; width:100%; color:#E7E3DA;
}
main > .view:is(#view-reports,#view-messages,#view-global,#view-recruitment,#view-tribe,#view-general,#view-buildings,#view-profile) > :first-child{min-width:0;max-width:100%;}
main > .view:is(#view-reports,#view-messages,#view-global,#view-recruitment,#view-tribe,#view-general,#view-buildings,#view-profile) :is(.ik-reports-page,.ik-messages-page,.ik-global-actions-page,.ik-recruitment-page,.ik-tribe-page,.ik-general-page){box-sizing:border-box;max-width:100%;min-width:0;}
main > .view:is(#view-reports,#view-messages,#view-global,#view-recruitment,#view-tribe,#view-general,#view-buildings,#view-profile) :is(h1,h2,h3){text-wrap:pretty;}
#view-messages #ik-dialogue-history.ik-dialogue-history.ik-r91-paged-history{
 min-height:40dvh!important;height:auto!important;max-height:none!important;overflow:visible!important;
}
#view-tribe .ik-r94-reserve-rules{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 13px;}
#view-tribe .ik-r94-reserve-rules>span{padding:7px 11px;border-radius:7px;background:#1C2229;border:1px solid #4C5661;color:#CBD3DB;font-size:12px;}
#view-tribe .ik-r94-reserve-rules b{color:#D3B47D;}
#view-tribe .ik-r94-reserve-policy{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:9px;align-items:end;}
#view-tribe .ik-r94-reserve-policy button{grid-column:1/-1;justify-self:start;}
#view-tribe #ik-ally-forum-topics > #ik-r91-forum-create{margin:8px 0 10px;max-width:100%;}
#view-tribe #ik-ally-forum-topics #ik-r91-forum-create .ik-ally-panel{border:1px solid #4C5661;border-radius:8px;background:#222930;padding:12px;margin:0!important;}
@media(max-width:680px){#view-tribe .ik-r94-reserve-policy{grid-template-columns:1fr;}main > .view:not(#view-world):not(#view-village):not(#view-map):not(#view-boot){padding:8px;}}

#view-tribe .ik-r94-image-error{font-size:12px;color:#E7C989;line-height:1.5;margin:8px;padding:10px;background:#232A31;border:1px solid #755F44;border-radius:7px;}


/* ---- GAME : r71r95-modern-rounding-ranking-reservations.css ---- */
/* Iron Kingdoms R71-R95 — Dark Graphite Deep audit.
   Layout and aesthetic only; preserve canvas / renderers and server rules. */
:scope{--ik-r95-radius:12px;--ik-r95-sm:9px;--ik-r95-stroke:#46515C;--ik-r95-surface:#232A31;--ik-r95-muted:#1C2229;}

/* A content-fitting outer shell: no giant empty blocks or forced panel heights. */
main > .view:not(#view-world):not(#view-village):not(#view-map):not(#view-boot){
 border-radius:var(--ik-r95-radius)!important;
 width:100%!important;min-width:0!important;max-width:100%!important;
 height:auto!important;min-height:0!important;max-height:none!important;
 align-self:start!important;overflow:visible!important;
}
main > .view:not(#view-world):not(#view-village):not(#view-map):not(#view-boot) > :first-child{
 min-width:0!important;max-width:100%!important;box-sizing:border-box!important;
}

/* All information cards, table wrappers, tabs and toolbars adopt the same
   corner system, including dynamic content injected by async modules. */
main > .view:not(#view-world):not(#view-village):not(#view-map):not(#view-boot) :is(
 .ik-general-page,.ik-general-intro,.ik-general-stats,.ik-general-stats>span,
 .ik-general-tabs,.ik-general-filters,.ik-general-toolbar,.ik-general-operations,
 .ik-general-table-area,.ik-general-table-scroll,.ik-general-group-tags>span,
 .ik-messages-page,.ik-messages-page>header,.ik-messages-tools,
 .ik-messages-layout,.ik-message-table,.ik-r35-message-filters,.ik-r35-message-bulk,
 .ik-r91-thread-pagination,.ik-dialogue-heading,.ik-dialogue-history,
 .ik-dialogue-bubble,.ik-message-form,.ik-r36-message-card-header,
 .ik-reports-page,.ik-reports-header,.ik-reports-toolbar,.ik-reports-layout,
 .ik-reports-list,.ik-report-view,.ik-report-sheet,.ik-report-detail-card,
 .ik-rank-page,.ik-rank-table-wrap,.ik-rank-table,.ik-r25-highlights>div,.ik-r25-filters,
 .ik-army-page,.ik-army-section,.ik-army-table-wrap,.ik-army-villages,
 .ik-army-planned,.ik-army-village-card,.ik-global-actions-page,.ik-global-general-slot,
 .ik-recruitment-page,.ik-r54-recruit-group,.ik-recruit-group,.ik-recruit-card,
 .ik-ally-panel,.ik-ally-table-wrap,.ik-ally-tabstrip,.ik-ally-content-in,
 .ik-tribe-page,.ik-profile-page,.ik-profile-card,.ik-building-detail,
 .ik-trade-market,.ik-market-commerce,.ik-r89-market-layout,.ik-r89-market-menu,
 .ik-trade-records,.ik-trade-form,.ik-trade-amounts,.ik-command-table-scroll,
 .ik-report-army,.ik-report-armies,.ik-r40-spy-building-list,.ik-r40-spy-troops
 ){border-radius:var(--ik-r95-radius)!important;}
main > .view:not(#view-world):not(#view-village):not(#view-map):not(#view-boot) :is(
 button,a.ik-profile-open-village,input:not([type=checkbox]):not([type=radio]),select,textarea,
 .ik-message-chip,.ik-general-current,.ik-r40-total,.ik-army-chip,
 .ik-r94-reserve-rules>span,.ik-ally-list>div,.ik-trade-source-groups,
 .ik-r35-message-filters label,.ik-ally-filters>button
 ){border-radius:var(--ik-r95-sm)!important;}
main > .view:not(#view-world):not(#view-village):not(#view-map):not(#view-boot)
 :is(.ik-general-table-scroll,.ik-rank-table-wrap,.ik-ally-table-wrap,.ik-message-table-wrap,
 .ik-report-view,.ik-command-table-scroll,.ik-r95-ranking-content){min-width:0;max-width:100%;box-sizing:border-box;}
main > .view:not(#view-world):not(#view-village):not(#view-map):not(#view-boot)
 :is(.ik-general-table-scroll,.ik-rank-table-wrap,.ik-ally-table-wrap,.ik-message-table-wrap){overflow:auto;}

/* General Overview: no square edges from the previous R94 table and cards. */
:is(#view-general,#view-global) :is(#ik-general-home-slot,.ik-general-page,.ik-general-intro,.ik-general-tabs,
 .ik-general-stats>span,.ik-general-table-area,.ik-general-table-scroll){border-radius:12px!important;}
:is(#view-general,#view-global) #ik-general-home-slot{display:block;min-height:0!important;height:auto!important;}
:is(#view-general,#view-global) :is(.ik-general-page,.ik-general-table-area){overflow:visible!important;}
:is(#view-general,#view-global) .ik-general-table-scroll{overflow:auto!important;border:1px solid var(--ik-r95-stroke)!important;
 background:var(--ik-r95-surface)!important;border-radius:11px!important;}
:is(#view-general,#view-global) .ik-general-table-scroll table{border-spacing:0!important;border-collapse:separate!important;
 width:100%;min-width:730px;}
:is(#view-general,#view-global) .ik-general-table-scroll thead th:first-child{border-top-left-radius:10px;}
:is(#view-general,#view-global) .ik-general-table-scroll thead th:last-child{border-top-right-radius:10px;}
:is(#view-general,#view-global) .ik-general-table-scroll tbody tr:last-child td:first-child{border-bottom-left-radius:10px;}
:is(#view-general,#view-global) .ik-general-table-scroll tbody tr:last-child td:last-child{border-bottom-right-radius:10px;}

/* Messages: remain exactly 40vh minimum, but grow instead of clipping text. */
#view-messages #ik-dialogue-history.ik-dialogue-history.ik-r91-paged-history{
 min-height:40dvh!important;height:auto!important;max-height:none!important;
 overflow:visible!important;border-radius:12px!important;}
#view-messages :is(.ik-message-table,.ik-messages-layout,.ik-messages-page>header){border-radius:12px!important;}
#view-messages #ik-dialogue-history .ik-dialogue-bubble.ik-r36-message-card{border-radius:10px!important;overflow:hidden!important;}

/* Ranking: 4 own pages in an actual left sidebar, like the Market. */
#view-ranking .ik-r95-ranking-layout{display:grid;grid-template-columns:205px minmax(0,1fr);
 align-items:start;gap:14px;margin-top:12px;width:100%;min-width:0;}
#view-ranking .ik-r95-ranking-menu{display:flex;flex-direction:column;gap:6px;
 position:sticky;top:12px;padding:8px;background:#1C2229;border:1px solid #46515C;
 border-radius:12px!important;}
#view-ranking .ik-r95-ranking-menu button{text-align:left;width:100%;min-height:38px;
 padding:9px 11px!important;border-radius:9px!important;background:#303943!important;
 border:1px solid #4C5661!important;color:#E7E3DA!important;font-size:12px;font-weight:650;}
#view-ranking .ik-r95-ranking-menu button:hover{background:#3B4652!important;}
#view-ranking .ik-r95-ranking-menu button.active{background:#2D4F7C!important;color:#fff!important;
 border-color:#B89A52!important;box-shadow:inset 3px 0 0 #D2B56C;}
#view-ranking .ik-r95-ranking-content{min-width:0;max-width:100%;width:100%;
 background:#232A31;border:1px solid #46515C;border-radius:12px;padding:12px;box-sizing:border-box;}
#view-ranking .ik-r95-ranking-updated{text-align:right;font-size:11px;color:#A6B1BC;}
#view-ranking :is(.ik-rank-table-wrap,.ik-rank-table){width:100%!important;}
#view-ranking .ik-rank-table-wrap{overflow-x:auto!important;}
#view-ranking .ik-rank-table :is(thead th:first-child){border-top-left-radius:9px;}
#view-ranking .ik-rank-table thead th:last-child{border-top-right-radius:9px;}
#view-ranking .ik-r25-highlights>div{border-radius:10px!important;}
/* PNG/WebP alpha must be preserved, even inside the ranking row. */
#view-ranking .ik-r91-rank-tribe-image,.ik-r91-rank-tribe-image,
#view-tribe .ik-r91-tribe-image,.ik-r91-tribe-image,
#view-profile .ik-r91-tribe-image,
#view-tribe .ik-r91-tribe-image img,#view-ranking .ik-r91-rank-tribe-image{
 background:transparent!important;background-image:none!important;box-shadow:none!important;}
#view-tribe .ik-r91-tribe-image{border:0!important;}
#view-ranking .ik-r91-rank-tribe-image{border:0!important;}

/* Two 50/50 reservation columns in one compact outer panel. */
#view-tribe .ik-r95-reservations-panel{padding:12px!important;border-radius:12px!important;overflow:visible;}
#view-tribe .ik-r95-reservations-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;
 align-items:start;min-width:0;}
#view-tribe .ik-r95-reservations-grid.ik-r95-two-columns{grid-template-columns:repeat(2,minmax(0,1fr));}
#view-tribe .ik-r95-reserve-col{background:#1C2229;border:1px solid #46515C;border-radius:10px;
 min-width:0;padding:11px;box-sizing:border-box;}
#view-tribe .ik-r95-reserve-col>h3{margin:0 0 9px;font-size:15px;line-height:1.2;}
#view-tribe .ik-r95-reserve-col .ik-ally-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
#view-tribe .ik-r95-reserve-col .ik-ally-form>button{grid-column:1/-1;justify-self:start;}
#view-tribe .ik-r95-reserve-policy-col .ik-r94-reserve-policy{grid-template-columns:repeat(3,minmax(0,1fr));}
#view-tribe .ik-r95-reservations-panel .ik-r94-reserve-rules{margin:0 0 8px;}
#view-tribe .ik-r95-reserve-col .ik-ally-help{font-size:11px;line-height:1.3;margin:8px 0 0;}

/* Reports: all attack/defense/away tables stretch to the inner detail width.
   Old R80's max-content columns at 46px are intentionally overridden. */
#view-reports .ik-report-view,#view-reports .ik-report-detail-card,
#view-reports .ik-report-armies,#view-reports .ik-report-army,
#view-reports .ik-r40-spy-troops,#view-reports .ik-r40-spy-building-list{max-width:100%;min-width:0;width:100%;box-sizing:border-box;}
body #view-reports .ik-report-detail-card .ik-command-table-scroll,
body #view-reports .ik-r40-spy-troops .ik-command-table-scroll{
 width:100%!important;max-width:100%!important;overflow-x:auto!important;
 border:1px solid #46515C;border-radius:10px!important;box-sizing:border-box;}
body #view-reports table.ik-r40-horizontal-units,
body #view-reports .ik-report-detail-card table.ik-report-units,
body #view-reports .ik-r40-spy-troops table.ik-r40-horizontal-units{
 width:100%!important;min-width:600px!important;max-width:none!important;
 table-layout:fixed!important;border-collapse:separate!important;border-spacing:0!important;}
body #view-reports .ik-r40-horizontal-units tr > :is(th,td){
 box-sizing:border-box!important;width:auto!important;min-width:0!important;max-width:none!important;
 padding:5px 3px!important;text-align:center!important;}
body #view-reports .ik-r40-horizontal-units tr > :first-child{width:105px!important;min-width:105px!important;text-align:left!important;}
body #view-reports .ik-r40-horizontal-units tr > :last-child{width:78px!important;min-width:78px!important;}
body #view-reports .ik-r40-horizontal-units img{max-width:100%;object-fit:contain;}

/* Spy report: new R82 icons; no yellow cell background; gold ONLY level text.
   13 cells use all available room, with horizontal scroll only if needed. */
body #view-reports .ik-r41-spy-table-scroll{width:100%!important;max-width:100%!important;
 padding:5px!important;overflow-x:auto!important;border-radius:10px!important;
 background:#232A31!important;border:1px solid #46515C!important;box-sizing:border-box;}
body #view-reports table.ik-r41-spy-building-grid{width:100%!important;min-width:715px!important;
 table-layout:fixed!important;border-spacing:3px!important;border-collapse:separate!important;
 background:transparent!important;}
body #view-reports .ik-r41-spy-building-grid td.ik-r41-spy-building,
body #view-reports .ik-r41-spy-building-grid td.ik-r41-spy-building:hover{
 width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;
 padding:5px 2px!important;border:1px solid #46515C!important;
 border-radius:8px!important;background:#282F37!important;background-image:none!important;
 box-shadow:none!important;}
body #view-reports .ik-r41-spy-building-grid td.ik-r41-spy-building img{
 display:block!important;width:min(100%,46px)!important;height:43px!important;
 max-width:100%!important;object-fit:contain!important;margin:0 auto 3px!important;
 background:transparent!important;border:0!important;}
body #view-reports .ik-r41-spy-building-grid td.ik-r41-spy-building strong{
 display:block!important;margin:0!important;padding:0!important;
 color:#D2B56C!important;background:transparent!important;
 font:700 13px/1.2 system-ui,sans-serif!important;}

@media(max-width:1000px){
 #view-ranking .ik-r95-ranking-layout{grid-template-columns:170px minmax(0,1fr);gap:9px;}
 #view-tribe .ik-r95-reserve-policy-col .ik-r94-reserve-policy{grid-template-columns:1fr;}
}
@media(max-width:760px){
 #view-ranking .ik-r95-ranking-layout{grid-template-columns:minmax(0,1fr);}
 #view-ranking .ik-r95-ranking-menu{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
 #view-tribe .ik-r95-reservations-grid.ik-r95-two-columns{grid-template-columns:minmax(0,1fr);}
 #view-tribe .ik-r95-reserve-col .ik-ally-form{grid-template-columns:minmax(0,1fr);}
}

/* Round map/village control chrome, never the actual canvas, sprites or tiles. */
#view-world :is(.map-panel,.panel-heading,.map-jump,.ik-map-zoom-controls,
 .ik-map-settings,.ik-main-map-settings,.ik-map-dark-subpanel,
 .map-tools-panel,.map-demo-panel),
#view-village :is(.scene-controls,.village-stage-controls,.ik-village-activity,
 .ik-village-orders,.ik-village-panel),
#ik-quickbar .ik-quickbar-inner :is(a,button),
#view-world :is(button,input:not([type=checkbox]),select),
#view-village :is(button,input:not([type=checkbox]),select){border-radius:9px!important;}


/* ---- GAME : r71r98-quick-order-rank.css ---- */
/* R71-R98 — Scoped affordances only; R95 restored interface preserved. */
.ik-map-quick-dialog .ik-r98-quick-unit-field .ik-r98-quick-unit-heading{
 display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;
}
.ik-map-quick-dialog .ik-r98-quick-unit-heading>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ik-map-quick-dialog button.ik-r98-stock-toggle{
 flex:0 0 auto;min-height:25px!important;padding:2px 7px!important;border-radius:6px!important;
 background:#2b343e;border:1px solid #667280;color:#e3cb8e;
 font:600 11px/1.2 system-ui,sans-serif;font-variant-numeric:tabular-nums;
 cursor:pointer;
}
.ik-map-quick-dialog button.ik-r98-stock-toggle:hover:not(:disabled),
.ik-map-quick-dialog button.ik-r98-stock-toggle[aria-pressed="true"]{
 background:#34516d;border-color:#a38c60;color:#fff0be;
}
.ik-map-quick-dialog button.ik-r98-stock-toggle:disabled{cursor:default;opacity:.52}
.ik-r54-order-tooltip .ik-r98-order-roster{display:block;max-width:100%;}
.ik-r54-order-tooltip .ik-r98-order-troops-table{width:100%;border-collapse:collapse;table-layout:fixed;background:transparent;}
.ik-r54-order-tooltip .ik-r98-order-troops-table th,
.ik-r54-order-tooltip .ik-r98-order-troops-table td{padding:3px 8px;border-bottom:1px solid #434c57;text-align:center;}
.ik-r54-order-tooltip .ik-r98-order-troops-table th{font-size:10px;font-weight:600;color:#cbd2dc;background:#303943;}
.ik-r54-order-tooltip .ik-r98-order-troops-table td{background:#252d35;}
.ik-r54-order-tooltip .ik-r98-order-troops-table tr:nth-child(even) td{background:#2b343d;}
.ik-r54-order-tooltip .ik-r98-order-troops-table td:first-child{width:64px;}
.ik-r54-order-tooltip .ik-r98-order-troops-table td img{
 display:block;margin:0 auto;width:30px!important;height:30px!important;object-fit:contain;max-width:30px!important;
}
.ik-r54-order-tooltip .ik-r98-order-troops-table td b{font-variant-numeric:tabular-nums;color:#e9d6a6;font-size:12px;}
.ik-r54-order-tooltip .ik-r98-order-troops-table tbody tr:last-child td{border-bottom:none;}


/* ---- GAME : r71r99-report-hover-rename-headers.css ---- */
/* Iron Kingdoms R71-R99 — only requested presentation fixes; R95 shell retained. */
/* Command tooltip: one horizontal row of icons, second row of counts. */
#ik-r54-order-tooltip.ik-r54-order-tooltip{
 width:max-content!important;max-width:min(710px,calc(100vw - 20px))!important;
 overflow-x:auto!important;overflow-y:auto!important;
 box-sizing:border-box;border-radius:10px!important;
}
#ik-r54-order-tooltip .ik-r99-order-horizontal{
 width:max-content!important;min-width:100%;max-width:none!important;
 table-layout:auto!important;border-collapse:separate!important;border-spacing:3px 0!important;
}
#ik-r54-order-tooltip .ik-r99-order-horizontal th,
#ik-r54-order-tooltip .ik-r99-order-horizontal td{
 min-width:44px!important;width:52px!important;max-width:66px!important;
 text-align:center!important;vertical-align:middle!important;
 padding:3px 3px!important;white-space:nowrap!important;
 border-bottom:0!important;background:#252d35!important;
}
#ik-r54-order-tooltip .ik-r99-order-horizontal th{
 border-radius:7px 7px 0 0!important;
}
#ik-r54-order-tooltip .ik-r99-order-horizontal td{
 border-radius:0 0 7px 7px!important;
}
#ik-r54-order-tooltip .ik-r99-order-horizontal th img{
 display:block!important;width:42px!important;height:42px!important;max-width:100%!important;
 margin:0 auto!important;object-fit:contain!important;
}
#ik-r54-order-tooltip .ik-r99-order-horizontal td b{
 font:700 11px/1.25 system-ui,sans-serif!important;font-variant-numeric:tabular-nums;
 color:#e9d6a6!important;
}
/* Ranking title mirrors the reports title and gold line, not a new global theme. */
#view-ranking .ik-rank-page>.ik-tribe-intro{
 position:relative!important;isolation:isolate;overflow:hidden;
 margin:0 0 9px!important;padding:9px 12px!important;
 background:radial-gradient(ellipse at 91% 10%,#b1843a22,transparent 42%),linear-gradient(115deg,var(--ik-theme-surface-alt) 0%,var(--ik-theme-surface) 55%,#101b1c 100%)!important;
 border:1px solid #a27e4d!important;border-radius:12px!important;
 box-shadow:inset 0 1px #ffebbb19,0 16px 38px #0005!important;
}
#view-ranking .ik-rank-page>.ik-tribe-intro::before{
 content:"";position:absolute;left:0;top:10px;bottom:10px;width:4px;
 border-radius:0 3px 3px 0;background:linear-gradient(#f1d09c,#9e6b37);
}
#view-ranking .ik-rank-page>.ik-tribe-intro .eyebrow{
 display:block!important;margin:0 0 9px!important;color:#d9b479!important;
 font:700 10px/1.5 system-ui,sans-serif!important;letter-spacing:.18em!important;
}
#view-ranking .ik-rank-page>.ik-tribe-intro h1{
 margin:0 0 7px!important;color:#f7e4c1!important;
 font:400 clamp(26px,2.8vw,39px)/1.2 Georgia,serif!important;letter-spacing:.015em!important;
}
#view-ranking .ik-rank-page>.ik-tribe-intro p{
 max-width:780px!important;margin:0!important;color:#c5cfc3!important;
 font:12px/1.65 system-ui,sans-serif!important;
}
/* Kingdom header and tabs never overlap; restore all four rounded corners. */
#view-tribe #ik-tribe-root>.ik-ally-title{
 position:relative!important;inset:auto!important;float:none!important;
 display:flex!important;flex-flow:row wrap!important;align-items:center!important;
 justify-content:space-between!important;gap:10px 16px!important;
 height:auto!important;min-height:0!important;max-height:none!important;
 box-sizing:border-box!important;margin:0 0 10px!important;
 border:1px solid #46515C!important;border-radius:12px!important;
 padding:12px 14px!important;overflow:visible!important;
}
#view-tribe #ik-tribe-root>.ik-ally-title>div{flex:1 1 220px;min-width:0;}
#view-tribe #ik-tribe-root>.ik-ally-title h2{overflow-wrap:anywhere!important;line-height:1.25!important;}
#view-tribe #ik-tribe-root>.ik-ally-title>button{flex:0 0 auto;border-radius:8px!important;}
#view-tribe #ik-tribe-root>.ik-ally-tabstrip{
 position:relative!important;inset:auto!important;clear:both!important;
 display:flex!important;flex-wrap:wrap!important;align-items:center!important;
 gap:5px!important;margin:0 0 10px!important;padding:8px!important;
 box-sizing:border-box!important;border:1px solid #46515C!important;
 border-radius:12px!important;background:#292F37!important;
 height:auto!important;min-height:0!important;overflow:visible!important;
}
#view-tribe #ik-tribe-root>.ik-ally-tabstrip button{border-radius:8px!important;min-width:0;}
#view-tribe #ik-tribe-body{
 border:1px solid #46515C!important;border-radius:12px!important;
 min-width:0!important;
}
@media(max-width:700px){
 #view-tribe #ik-tribe-root>.ik-ally-title>button{width:auto;max-width:100%;}
}


/* ---- GAME : r71r100-headings-and-movement-filters.css ---- */
/* R71-R100. Header treatment from Reports/Ranking, strictly scoped to page-level titles.
 * Explicit selector list: never touch table headers, map overlays, dialogs or nested cards.
 * The R95 visual baseline and R97 rollback remain unchanged elsewhere. */
:scope{--ik-r100-header-gradient:radial-gradient(ellipse at 91% 10%,#b1843a22,transparent 42%),linear-gradient(115deg,var(--ik-theme-surface-alt) 0%,var(--ik-theme-surface) 55%,#101b1c 100%)}
:is(
 #view-general .ik-general-page>.ik-general-intro,
 #view-global .ik-global-actions-page>.ik-global-actions-heading,
 #view-recruitment .ik-recruitment-page>.ik-recruitment-heading,
 #view-tribe #ik-tribe-root>.ik-ally-title,
 #view-ranking .ik-rank-page>.ik-tribe-intro,
 #view-reports .ik-reports-page>.ik-reports-header,
 #view-messages .ik-messages-page>header,
 #view-profile #ik-public-profile>header,
 #view-admin>.page-title,
 #view-simulator .ik-simulator-header,
 #view-global #ik-army-global-root>.ik-army-head,
 #view-global .ik-military-overview>.ik-military-overview-header,
 #view-global .ik-economy-dashboard>.ik-economy-intro,
 #view-buildings #main-building-hero,
 #view-buildings .ik-trade-header
){
 position:relative!important;isolation:isolate;
 border:1px solid #a27e4d!important;
 border-radius:12px!important;
 background:var(--ik-r100-header-gradient)!important;
 box-shadow:inset 0 1px #ffebbb19,0 9px 22px #0003!important;
 box-sizing:border-box;
 min-width:0;
}
:is(
 #view-general .ik-general-page>.ik-general-intro,
 #view-global .ik-global-actions-page>.ik-global-actions-heading,
 #view-recruitment .ik-recruitment-page>.ik-recruitment-heading,
 #view-tribe #ik-tribe-root>.ik-ally-title,
 #view-ranking .ik-rank-page>.ik-tribe-intro,
 #view-reports .ik-reports-page>.ik-reports-header,
 #view-messages .ik-messages-page>header,
 #view-profile #ik-public-profile>header,
 #view-admin>.page-title,
 #view-simulator .ik-simulator-header,
 #view-global #ik-army-global-root>.ik-army-head,
 #view-global .ik-military-overview>.ik-military-overview-header,
 #view-global .ik-economy-dashboard>.ik-economy-intro,
 #view-buildings .ik-trade-header
){padding:12px 16px!important;margin-bottom:12px!important;}
/* Main building hero has an image and a calibrated two-column grid: keep geometry. */
#view-buildings #main-building-hero{overflow:hidden;}
:is(
 #view-general .ik-general-page>.ik-general-intro,
 #view-global .ik-global-actions-page>.ik-global-actions-heading,
 #view-recruitment .ik-recruitment-page>.ik-recruitment-heading,
 #view-tribe #ik-tribe-root>.ik-ally-title,
 #view-ranking .ik-rank-page>.ik-tribe-intro,
 #view-reports .ik-reports-page>.ik-reports-header,
 #view-messages .ik-messages-page>header,
 #view-profile #ik-public-profile>header,
 #view-admin>.page-title,
 #view-simulator .ik-simulator-header,
 #view-global #ik-army-global-root>.ik-army-head,
 #view-global .ik-military-overview>.ik-military-overview-header,
 #view-global .ik-economy-dashboard>.ik-economy-intro,
 #view-buildings .ik-main-building-intro,
 #view-buildings .ik-trade-header
) :is(h1,h2){
 color:#f7e4c1!important;font:400 clamp(25px,2.5vw,36px)/1.2 Georgia,serif!important;
 letter-spacing:.015em!important;margin:2px 0 6px!important;
}
:is(
 #view-general .ik-general-page>.ik-general-intro,
 #view-global .ik-global-actions-page>.ik-global-actions-heading,
 #view-recruitment .ik-recruitment-page>.ik-recruitment-heading,
 #view-tribe #ik-tribe-root>.ik-ally-title,
 #view-ranking .ik-rank-page>.ik-tribe-intro,
 #view-reports .ik-reports-page>.ik-reports-header,
 #view-messages .ik-messages-page>header,
 #view-profile #ik-public-profile>header,
 #view-admin>.page-title,
 #view-simulator .ik-simulator-header,
 #view-global #ik-army-global-root>.ik-army-head,
 #view-global .ik-military-overview>.ik-military-overview-header,
 #view-global .ik-economy-dashboard>.ik-economy-intro,
 #view-buildings .ik-main-building-intro,
 #view-buildings .ik-trade-header
) :is(.eyebrow,.ik-general-eyebrow,.ik-army-eyebrow,.ik-ally-kicker){
 color:#d9b479!important;font:700 10px/1.5 system-ui,sans-serif!important;
 letter-spacing:.18em!important;
}
:is(
 #view-general .ik-general-page>.ik-general-intro,
 #view-global .ik-global-actions-page>.ik-global-actions-heading,
 #view-recruitment .ik-recruitment-page>.ik-recruitment-heading,
 #view-tribe #ik-tribe-root>.ik-ally-title,
 #view-ranking .ik-rank-page>.ik-tribe-intro,
 #view-reports .ik-reports-page>.ik-reports-header,
 #view-messages .ik-messages-page>header,
 #view-profile #ik-public-profile>header,
 #view-admin>.page-title,
 #view-simulator .ik-simulator-header,
 #view-global #ik-army-global-root>.ik-army-head,
 #view-global .ik-military-overview>.ik-military-overview-header,
 #view-global .ik-economy-dashboard>.ik-economy-intro,
 #view-buildings .ik-main-building-intro,
 #view-buildings .ik-trade-header
) p{color:#c5cfc3!important;font:12px/1.65 system-ui,sans-serif!important;margin:0!important;}
#view-tribe #ik-tribe-root>.ik-ally-title h2 a{color:inherit!important;}
/* Separate low-friction controls in Village / General Overview; no change to the map canvas. */
#view-village .ik-r100-exclude-return,
#view-general .ik-r100-exclude-return,
#view-global .ik-r100-exclude-return{
 display:inline-flex!important;flex:0 0 auto!important;align-items:center!important;
 gap:6px!important;align-self:center;min-width:max-content;
 color:#d7dfe6!important;font:600 11px/1.4 system-ui,sans-serif!important;
 cursor:pointer;white-space:nowrap;
}
#view-village .ik-r100-exclude-return input,
#view-general .ik-r100-exclude-return input,
#view-global .ik-r100-exclude-return input{
 appearance:auto!important;accent-color:#b89a52!important;width:15px!important;height:15px!important;
 margin:0!important;cursor:pointer;
}
:is(#view-village,#ik-rally-village-movements) .ik-r37-vm-header-controls{display:flex;align-items:center;flex-wrap:wrap;gap:7px;}
:is(#view-village,#ik-rally-village-movements) .ik-vm-filters .ik-r100-exclude-return{padding-inline:3px;}
#view-general .ik-military-controls .ik-r100-exclude-return,
#view-global .ik-military-controls .ik-r100-exclude-return{padding:6px 9px;border:1px solid #46515c;border-radius:8px;background:#29313a;}
#view-general .ik-military-controls .ik-r100-exclude-return:has(input:checked),
#view-global .ik-military-controls .ik-r100-exclude-return:has(input:checked){border-color:#b89a52;background:#35404b;}


/* ---- GAME : r71r100-recruit-times.css ---- */
/* R100: time estimates from the authoritative unit durations returned by the server. */
#view-recruitment .ik-r100-recruit-time{display:block;grid-column:1/-1;color:#d9c7a8;font:500 10px/1.45 system-ui,sans-serif;padding:3px 0 0;white-space:normal;overflow-wrap:anywhere;}
#view-global .ik-r88-army-unit .ik-r100-recruit-time{display:block;grid-column:1/-1;color:#d2bea0;font:500 10px/1.35 system-ui,sans-serif;min-height:27px;white-space:normal;overflow-wrap:anywhere;}
#view-global .ik-r89-army-fold .ik-army-plan-row small{line-height:1.5;white-space:normal;}

/* Compact time visibility controls, no new outer panels. */
#view-actionconfirm .ik-r100-time-visibility{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;margin:5px 0;padding:6px 9px;border:1px solid #45525f;border-radius:8px;}
#view-actionconfirm .ik-r100-time-visibility legend{font-size:11px;color:#e1c58d;padding:0 4px;}
#view-actionconfirm .ik-r100-time-visibility label{display:inline-flex;align-items:center;gap:5px;color:#dbe3e8;font-size:11px;cursor:pointer;}
#view-actionconfirm .ik-r100-time-visibility input{accent-color:#b89a52;width:15px;height:15px;}
#ik-command-batch-timings .ik-r100-batch-time-row{display:flex;flex-wrap:wrap;gap:4px 9px;padding:3px 5px;}
#ik-command-batch-timings [data-command-time][hidden],.ik-r88-command-facts [data-command-time][hidden]{display:none!important;}
/* At most five lines visible before scrolling; all orders remain in the DOM. */
#view-actionconfirm .ik-r54-target-orders{height:auto!important;max-height:265px!important;min-height:0!important;}
#view-actionconfirm .ik-r54-target-orders-list{flex:0 1 auto!important;max-height:calc(5 * 37px + 8px)!important;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable;}
#view-actionconfirm .ik-r54-target-order{min-height:33px;box-sizing:border-box;}

/* Three account pages: one simple shell, aligned with R95 Reports baseline. */
.ik-r100-basic-page{margin:auto;max-width:min(1024px,100%);box-sizing:border-box;padding:16px;background:#232a31;border:1px solid #45515e;border-radius:12px;color:#d9e0e8;}
.ik-r100-basic-header{border-bottom:1px solid #47515b;padding:0 0 12px;margin-bottom:14px;}
.ik-r100-basic-header .eyebrow{font-size:10px;letter-spacing:.15em;color:#b89a52;}
.ik-r100-basic-header h1{font:400 30px/1.2 Georgia,serif;margin:5px 0;color:#f7e4c1;}
.ik-r100-settings-times{display:flex;flex-wrap:wrap;gap:12px;max-width:620px;border:1px solid #45515e;border-radius:9px;padding:10px;color:#dbe3e8;}
.ik-r100-settings-times legend{color:#e5cb99;font-size:12px;}
.ik-r100-settings-times label{display:inline-flex;gap:7px;align-items:center;}
.ik-r100-settings-times input{accent-color:#b89a52;}

/* Quick action: one compact three-category military matrix, not stacked input cards. */
.ik-map-quick-dialog:has(.ik-r100-categorized-units){width:min(790px,96vw);max-height:90vh;overflow-y:auto;}
.ik-map-quick-dialog .ik-r100-categorized-units{max-height:none!important;overflow:visible!important;display:grid!important;grid-template-columns:1fr;gap:7px;}
.ik-map-quick-dialog .ik-r100-quick-category{min-width:0;border:1px solid #475560;border-radius:8px;padding:6px 8px;background:#273039;}
.ik-map-quick-dialog .ik-r100-quick-category h4{font-size:12px;color:#e3bf88;margin:0 0 5px;}
.ik-map-quick-dialog .ik-r100-quick-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;}
.ik-map-quick-dialog .ik-r100-quick-unit-field{padding:4px;border-radius:7px;background:#1d252d;min-width:0;}
.ik-map-quick-dialog .ik-r100-quick-unit-heading{display:flex;justify-content:space-between;gap:2px;min-width:0;font-size:11px;}
.ik-map-quick-dialog .ik-r100-quick-unit-heading span{min-width:0;overflow-wrap:anywhere;}
.ik-map-quick-dialog .ik-r100-quick-unit-field input{height:27px;min-height:27px;}
.ik-r100-quick-line-tools{display:flex;align-items:center;gap:10px;justify-content:space-between;}
.ik-r100-quick-line-tools button,.ik-r100-quick-remove{border-radius:7px;padding:5px 10px;font-size:11px;}
.ik-r100-quick-extra-orders{display:grid;gap:7px;}
.ik-r100-quick-extra-orders:empty{display:none;}
.ik-r100-quick-extra-row{background:#273039;border:1px solid #485763;border-radius:9px;padding:8px;display:grid;gap:7px;}
.ik-r100-quick-extra-heading{display:flex;align-items:center;gap:8px;}
.ik-r100-quick-extra-heading input{min-width:0;flex:1;}
.ik-r100-quick-extra-grid{display:grid;gap:6px;}
.ik-r100-quick-extra-category>strong{display:block;font-size:11px;color:#e3bf88;margin-bottom:4px;}
.ik-r100-quick-extra-unit{display:flex;align-items:center;gap:3px;min-width:0;background:#1d252d;border-radius:7px;padding:3px;}
.ik-r100-quick-extra-unit img{width:24px;height:24px;object-fit:contain;flex:none;}
.ik-r100-quick-extra-unit input{min-width:0;width:100%;padding:3px!important;}
@media(max-width:600px){.ik-map-quick-dialog .ik-r100-quick-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}


/* ---- GAME : r71r100-button-states.css ---- */
/* R100. Regat-style interactive states: neutral gray, soft golden hover,
   cobalt active. Explicit navigational selectors avoid the R96 global reset.
   Do not affect semantic blue/green/red action buttons or container geometry. */
:scope{--ik-r100-nav-idle:#303943;--ik-r100-nav-hover:#514a38;--ik-r100-nav-selected:#2d4f7c;--ik-r100-nav-border:#46535d;--ik-r100-nav-gold:#b89a52;}
/* Neutral tab families that actually represent a selected view or filter. */
body:not(.portal):not(.worlds-page) :is(
 .tabs button.nav,.ik-ally-tabstrip button,.ik-ally-filters button,
 .ik-general-tabs button,.ik-general-filters button,.ik-global-actions-tabs button,
 .ik-r89-market-menu button,.ik-trade-tabs button,.ik-military-controls button[data-filter],
 .ik-ally-forum-sections button,.ik-rank-menu button
):not(:is(.primary,.danger,.attack,.support,.won,.loss,.warning,.error,[data-kind="attack"],[data-kind="support"])){
 background:var(--ik-r100-nav-idle)!important;border-color:var(--ik-r100-nav-border)!important;
 color:#dfe6ef!important;border-radius:8px!important;
 transition:background-color .13s ease,border-color .13s ease,color .13s ease;
}
body:not(.portal):not(.worlds-page) :is(
 .tabs button.nav,.ik-ally-tabstrip button,.ik-ally-filters button,
 .ik-general-tabs button,.ik-general-filters button,.ik-global-actions-tabs button,
 .ik-r89-market-menu button,.ik-trade-tabs button,.ik-military-controls button[data-filter],
 .ik-ally-forum-sections button,.ik-rank-menu button
):not(:disabled):hover:not(:is(.primary,.danger,.attack,.support,.won,.loss,.warning,.error)){
 background:var(--ik-r100-nav-hover)!important;border-color:var(--ik-r100-nav-gold)!important;color:#ffe5a5!important;
}
body:not(.portal):not(.worlds-page) :is(
 .tabs button.nav,.ik-ally-tabstrip button,.ik-ally-filters button,
 .ik-general-tabs button,.ik-general-filters button,.ik-global-actions-tabs button,
 .ik-r89-market-menu button,.ik-trade-tabs button,.ik-military-controls button[data-filter],
 .ik-ally-forum-sections button,.ik-rank-menu button
):is(.active,.selected,.is-active,[aria-selected="true"],[aria-pressed="true"],[aria-current="page"]):not(:is(.primary,.danger,.attack,.support,.won,.loss,.warning,.error)){
 background:var(--ik-r100-nav-selected)!important;border-color:#7293c0!important;color:#fff!important;
}
/* Native seven-button quickbar: same width, icon size, ordering and layout as R83. */
body #ik-quickbar .ik-quickbar-inner > :is(button[data-quick-building],button#ik-simulator-open,a[data-quick-building],a#ik-simulator-open){
 background:var(--ik-r100-nav-idle)!important;border:1px solid var(--ik-r100-nav-border)!important;
 border-radius:8px!important;color:#e2e7ee!important;
}
body #ik-quickbar .ik-quickbar-inner > :is(button[data-quick-building],button#ik-simulator-open,a[data-quick-building],a#ik-simulator-open):not(:disabled):is(:hover,:focus-visible){
 background:var(--ik-r100-nav-hover)!important;border-color:var(--ik-r100-nav-gold)!important;color:#ffe5a5!important;
}
body #ik-quickbar .ik-quickbar-inner > :is(button[data-quick-building],button#ik-simulator-open,a[data-quick-building],a#ik-simulator-open):is(.ik-r100-current,[aria-current="page"]){
 background:var(--ik-r100-nav-selected)!important;border-color:#7293c0!important;color:#fff!important;
}
/* Semantic primary/danger/success remain handled by the existing R85 palette. */
/* Remaining ordinary in-page controls use the same state rule without
   changing dimensions, layout, typography or precoloured action buttons. */
body:not(.portal):not(.worlds-page) .view button:not(:disabled):hover:not(:is(
 .primary,.danger,.attack,.support,.won,.loss,.warning,.error,.success,
 .ik-map-radial-action,.ik-map-legend-dot,.ik-map-color-swatch,.ik-map-filter-color,
 [data-kind="attack"],[data-kind="support"]
)){
 background:#514a38!important;border-color:#b89a52!important;color:#ffe5a5!important;
}
body:not(.portal):not(.worlds-page) .view button:is(
 .active,.selected,.is-active,.is-selected,[aria-selected="true"],[aria-pressed="true"],[aria-current="page"]
):not(:is(
 .primary,.danger,.attack,.support,.won,.loss,.warning,.error,.success,
 .ik-map-radial-action,.ik-map-legend-dot,.ik-map-color-swatch,.ik-map-filter-color,
 [data-kind="attack"],[data-kind="support"]
)){
 background:#2d4f7c!important;border-color:#7293c0!important;color:#fff!important;
}


/* ---- GAME : r71r101-command-matrix-and-map-icons.css ---- */
/* R101: limited, UI-only refinements; keep approved R95/R97 graphite interface. */
/* Fast map attack/support menu: unit medallion and remaining-stock button, no labels taking extra height. */
.ik-map-quick-dialog .ik-r101-quick-unit-heading{display:flex;align-items:center;justify-content:center;gap:7px;min-height:35px;padding:2px 0 3px;}
.ik-map-quick-dialog .ik-r101-quick-icon{display:block;flex:none;width:33px;height:33px;object-fit:contain;background:transparent;}
.ik-map-quick-dialog .ik-r101-quick-unit-heading .ik-r98-stock-toggle{flex:0 0 auto;min-width:46px;min-height:26px;padding:2px 5px;font-size:11px;font-variant-numeric:tabular-nums;border-radius:6px;}
.ik-map-quick-dialog .ik-r100-quick-unit-field{min-width:0;border-radius:8px;padding:4px 6px;}
.ik-map-quick-dialog .ik-r100-quick-category-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;}
.ik-map-quick-dialog .ik-r100-quick-unit-field input{box-sizing:border-box;width:100%;min-width:0;text-align:center;font-variant-numeric:tabular-nums;}
.ik-map-quick-dialog .ik-r100-quick-extra-unit img{background:transparent;}
/* Multiple-command confirmation: a single matrix; content-size vertically and scroll only horizontally when necessary. */
#view-buildings .ik-r101-batch-matrix-host{display:block!important;min-width:0;max-width:100%;margin:7px 0 0!important;overflow:visible;}
#view-buildings .ik-r101-batch-table-scroll{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;border:1px solid #43515f;border-radius:10px;background:#232a31;scrollbar-color:#586677 #232a31;}
#view-buildings .ik-r101-batch-table{width:100%;min-width:max-content;max-width:none;table-layout:auto;border-collapse:separate;border-spacing:0;font:12px/1.3 system-ui,sans-serif;color:#dfe5ec;}
#view-buildings .ik-r101-batch-table th,#view-buildings .ik-r101-batch-table td{border:0;border-right:1px solid #39434e;border-bottom:1px solid #3d4752;padding:6px 5px;text-align:center;vertical-align:middle;background:transparent;}
#view-buildings .ik-r101-batch-table th:last-child,#view-buildings .ik-r101-batch-table td:last-child{border-right:0;}
#view-buildings .ik-r101-batch-table tbody tr:last-child>*{border-bottom:0;}
#view-buildings .ik-r101-batch-table thead th{background:#303943;color:#ebd4a8;font-weight:650;padding:5px 7px;}
#view-buildings .ik-r101-batch-table tbody tr:nth-child(even){background:#27313b;}
#view-buildings .ik-r101-batch-table tbody tr:hover{background:#303b47;}
#view-buildings .ik-r101-batch-table .ik-r101-batch-number{min-width:50px;width:56px;white-space:nowrap;font-size:12px;font-weight:700;color:#d5b778;font-variant-numeric:tabular-nums;}
#view-buildings .ik-r101-batch-table img.ik-r101-batch-icon{display:block;width:35px!important;height:35px!important;max-width:35px!important;object-fit:contain;margin:auto;background:transparent;}
#view-buildings .ik-r101-batch-table .ik-r101-batch-qty{min-width:65px;}
#view-buildings .ik-r101-batch-table input[data-batch-qty]{box-sizing:border-box!important;display:block!important;width:63px!important;max-width:63px!important;min-width:0!important;height:30px!important;padding:3px 4px!important;margin:0 auto!important;border:1px solid #566473;border-radius:6px;background:#1d252e;color:#f0f3f8;text-align:center;font:12px system-ui,sans-serif;font-variant-numeric:tabular-nums;}
#view-buildings .ik-r101-batch-table input[data-batch-qty]:focus{outline:1px solid #a38a59;outline-offset:1px;border-color:#c4a76c;}
#view-buildings .ik-r101-batch-table .ik-r101-batch-name-head,#view-buildings .ik-r101-batch-table .ik-r101-batch-name-cell{min-width:155px;max-width:260px;}
#view-buildings .ik-r101-batch-table .ik-r101-batch-name-cell input.ik-command-batch-name{box-sizing:border-box!important;width:100%!important;min-width:125px!important;max-width:none!important;height:30px!important;padding:4px 7px!important;border-radius:6px!important;}
#view-buildings .ik-r101-batch-table .ik-command-batch-first-name{display:grid;gap:2px;align-items:center;justify-content:center;color:#e7e2d8;font:600 11px system-ui,sans-serif;}
#view-buildings .ik-r101-batch-table .ik-command-batch-first-name small{margin:0;color:#aeb9c4;font-size:10px;font-weight:400;}
#view-buildings .ik-r101-batch-table .ik-r101-batch-target{display:grid;gap:3px;margin:5px 0 0;font-size:10px;font-weight:400;color:#e0c79e;text-align:left;}
#view-buildings .ik-r101-batch-table .ik-r101-batch-target select{box-sizing:border-box;width:100%;min-width:125px;height:30px;padding:3px;border-radius:6px;}
#view-buildings .ik-r101-batch-table .ik-r101-batch-carry{white-space:nowrap;color:#e2d0ae;font-variant-numeric:tabular-nums;min-width:65px;}
#view-buildings .ik-r101-batch-table .ik-r101-batch-actions{min-width:75px;}
#view-buildings .ik-r101-batch-table .ik-command-batch-delete{margin:0!important;padding:5px 9px!important;background:#583a39;border:1px solid #845253;border-radius:7px;color:#f5dbd9;font:600 11px system-ui,sans-serif;}
#view-buildings .ik-r101-batch-table .ik-command-batch-delete:hover{background:#724646;}
#view-buildings .ik-command-batch-panel .ik-command-batch-total{margin:7px 1px 0!important;font-size:11px!important;color:#d5c4a7;}
#view-buildings .ik-command-batch-panel .ik-command-batch-preview:empty{display:none;}
@media(max-width:750px){.ik-map-quick-dialog .ik-r100-quick-category-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:510px){.ik-map-quick-dialog .ik-r100-quick-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
/* R101 header audit: the R100 selector missed dynamic subpages and account pages.
 * Only actual PAGE headings below; no tables, tooltips, modals or nested cards.
 * Keep the R95/R97 layout geometry intact. */
:is(
 #view-coins .ik-r100-basic-page>.ik-r100-basic-header,
 #view-settings .ik-r100-basic-page>.ik-r100-basic-header,
 #view-global .ik-global-build-head,
 #view-global .ik-raid-shell .ik-raid-heading,
 #view-global .ik-army-page>.ik-army-head,
 #view-profile #ik-public-profile>header
){
 position:relative!important;isolation:isolate;box-sizing:border-box!important;
 min-height:0!important;min-width:0!important;
 margin:0 0 12px!important;padding:12px 16px!important;
 border:1px solid #a27e4d!important;border-radius:12px!important;
 background:radial-gradient(ellipse at 91% 10%,#b1843a22,transparent 42%),linear-gradient(115deg,#303943 0%,#232a31 55%,#101b1c 100%)!important;
 box-shadow:inset 0 1px #ffebbb19,0 9px 22px #0003!important;
}
:is(
 #view-coins .ik-r100-basic-header,
 #view-settings .ik-r100-basic-header,
 #view-global .ik-global-build-head,
 #view-global .ik-raid-heading,
 #view-global .ik-army-page>.ik-army-head,
 #view-profile #ik-public-profile>header
) :is(h1,h2){
 margin:2px 0 6px!important;color:#f7e4c1!important;
 font:400 clamp(25px,2.5vw,36px)/1.2 Georgia,serif!important;letter-spacing:.015em!important;
}
:is(
 #view-coins .ik-r100-basic-header,
 #view-settings .ik-r100-basic-header,
 #view-global .ik-global-build-head,
 #view-global .ik-raid-heading,
 #view-global .ik-army-page>.ik-army-head
) :is(.eyebrow,.ik-general-eyebrow,.ik-army-eyebrow){
 color:#d9b479!important;font:700 10px/1.5 system-ui,sans-serif!important;letter-spacing:.18em!important;
}
:is(
 #view-coins .ik-r100-basic-header,
 #view-settings .ik-r100-basic-header,
 #view-global .ik-global-build-head,
 #view-global .ik-raid-heading,
 #view-global .ik-army-page>.ik-army-head
) p{margin:0!important;color:#c5cfc3!important;font:12px/1.6 system-ui,sans-serif!important;}
/* Village profiles can have a direct h1 instead of a header; same visual treatment. */
#view-profile #ik-public-profile>h1{
 margin:0 0 12px!important;padding:12px 16px!important;
 border:1px solid #a27e4d!important;border-radius:12px!important;
 color:#f7e4c1!important;font:400 clamp(25px,2.5vw,36px)/1.2 Georgia,serif!important;
 background:linear-gradient(115deg,#303943,#232a31 55%,#101b1c)!important;
}
/* The confirmation page is a distinct route (not a popup); style only its main title. */
#view-buildings .ik-command-confirm-page>h2{
 margin:0 0 10px!important;padding:11px 15px!important;border:1px solid #a27e4d!important;
 border-radius:12px!important;background:linear-gradient(115deg,#303943,#232a31 55%,#101b1c)!important;
 color:#f7e4c1!important;font:400 clamp(22px,2.4vw,30px)/1.2 Georgia,serif!important;
}
@media(max-width:620px){
 :is(#view-coins .ik-r100-basic-header,#view-settings .ik-r100-basic-header,#view-global .ik-global-build-head,#view-global .ik-raid-heading,#view-profile #ik-public-profile>header){padding:10px 12px!important;}
}


/* ---- GAME : r71r102-command-links-matrix-headers.css ---- */
/* R102: scoped polish on R95/R97 baseline. No global shell overrides. */
.ik-map-quick-dialog.ik-r102-matrix-dialog{width:min(1320px,97vw);max-height:91vh;overflow-y:auto;}
.ik-map-quick-dialog .ik-r102-quick-matrix-scroll{width:100%;min-width:0;max-width:100%;overflow-x:auto;margin:8px 0;border:1px solid #495663;border-radius:10px;background:#232a31;}
.ik-map-quick-dialog table.ik-r102-quick-matrix{width:100%;min-width:880px;table-layout:auto;border-spacing:0;border-collapse:separate;color:#dce5ef;font:12px/1.35 system-ui,sans-serif;}
.ik-map-quick-dialog .ik-r102-quick-matrix th,.ik-map-quick-dialog .ik-r102-quick-matrix td{padding:5px 6px;text-align:center;vertical-align:middle;border:0;border-right:1px solid #3b4754;border-bottom:1px solid #3b4754;background:transparent;}
.ik-map-quick-dialog .ik-r102-quick-matrix th:last-child,.ik-map-quick-dialog .ik-r102-quick-matrix td:last-child{border-right:0;}
.ik-map-quick-dialog .ik-r102-quick-matrix tbody tr:last-child>*{border-bottom:0;}
.ik-map-quick-dialog .ik-r102-quick-matrix thead th{background:#303943;color:#e9d3a6;font-weight:650;}
.ik-map-quick-dialog .ik-r102-quick-matrix tbody tr:nth-child(even){background:#28313b;}
.ik-map-quick-dialog .ik-r102-quick-matrix tbody tr:hover{background:#313d48;}
.ik-map-quick-dialog .ik-r102-group-head{font-size:11px;letter-spacing:.035em;padding-block:4px!important;color:#e9c893!important;}
.ik-map-quick-dialog .ik-r102-number{width:48px;min-width:48px;font-weight:700;color:#d8bd83;white-space:nowrap;}
.ik-map-quick-dialog .ik-r102-unit-head{min-width:74px;}
.ik-map-quick-dialog .ik-r102-icon-and-stock{display:inline-flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:5px;white-space:nowrap;max-width:100%;}
.ik-map-quick-dialog .ik-r102-unit-icon{display:block;flex:0 0 29px;width:29px;height:29px;object-fit:contain;background:transparent;}
.ik-map-quick-dialog .ik-r102-icon-and-stock .ik-r98-stock-toggle{display:inline-flex;align-items:center;justify-content:center;position:static;flex:none;margin:0!important;min-width:32px;max-width:64px;min-height:24px;padding:2px 4px;white-space:nowrap;line-height:1.1;font-size:10px;font-variant-numeric:tabular-nums;}
.ik-map-quick-dialog .ik-r102-quantity{min-width:72px;}
.ik-map-quick-dialog .ik-r102-quantity input{box-sizing:border-box;min-width:0;width:66px;height:29px;max-width:100%;padding:3px 5px;border:1px solid #566474;border-radius:6px;background:#1b242d;color:#f1f4f8;text-align:center;font:12px system-ui,sans-serif;}
.ik-map-quick-dialog .ik-r102-order-name{min-width:139px;width:160px;}
.ik-map-quick-dialog .ik-r102-order-name input{box-sizing:border-box;min-width:0;width:100%;height:29px;padding:4px 7px;border:1px solid #536171;border-radius:6px;background:#1b242d;color:#f1f4f8;font:12px system-ui,sans-serif;}
.ik-map-quick-dialog .ik-r102-actions{min-width:70px;}
.ik-map-quick-dialog .ik-r102-actions button{font-size:11px;padding:5px 9px;border-radius:7px;}
.ik-map-quick-dialog .ik-r102-quick-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0 6px;}
.ik-map-quick-dialog .ik-r102-quick-tools small{color:#a9b7c5;font-size:11px;}
#view-buildings .ik-r102-time-details{min-width:0;border:1px solid #455361;border-radius:9px;margin:5px 0 8px;background:#252e37;}
#view-buildings .ik-r102-time-details>summary{cursor:pointer;list-style:revert;padding:7px 11px;color:#e4cb95;font:600 12px system-ui,sans-serif;}
#view-buildings .ik-r102-time-details[open]>summary{border-bottom:1px solid #3c4854;background:#303943;border-radius:8px 8px 0 0;}
#view-buildings .ik-r102-time-details .ik-r100-time-visibility{margin:0!important;border:0!important;border-radius:0!important;padding:8px 11px!important;}
.ik-r102-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;}
#view-buildings .ik-r102-target-link{color:#dfc28c;text-decoration:none;border-bottom:1px dashed #a38b65;}
#view-buildings .ik-r102-target-link:hover{color:#ffe0a4;border-bottom-style:solid;}
/* Apply the existing Reports gold left rail ONLY on page-level headers. */
:is(#view-general .ik-general-page>.ik-general-intro,#view-global .ik-global-actions-page>.ik-global-actions-heading,#view-recruitment .ik-recruitment-page>.ik-recruitment-heading,#view-tribe #ik-tribe-root>.ik-ally-title,#view-ranking .ik-rank-page>.ik-tribe-intro,#view-messages .ik-messages-page>header,#view-profile #ik-public-profile>header,#view-admin>.page-title,#view-simulator .ik-simulator-header,#view-global #ik-army-global-root>.ik-army-head,#view-global .ik-military-overview>.ik-military-overview-header,#view-global .ik-economy-dashboard>.ik-economy-intro,#view-buildings #main-building-hero,#view-buildings .ik-trade-header,#view-coins .ik-r100-basic-page>.ik-r100-basic-header,#view-settings .ik-r100-basic-page>.ik-r100-basic-header,#view-global .ik-global-build-head,#view-global .ik-raid-shell .ik-raid-heading,#view-global .ik-army-page>.ik-army-head,#view-profile #ik-public-profile>h1,#view-buildings .ik-command-confirm-page>h2)::before{
 content:"";position:absolute;left:0;top:16px;bottom:16px;width:4px;background:linear-gradient(#f1d09c,#9e6b37);border-radius:0 3px 3px 0;pointer-events:none;z-index:1;
}
#view-profile #ik-public-profile>h1,#view-buildings .ik-command-confirm-page>h2{position:relative;}


/* ---- GAME : r71r103-quick-stock-and-neutral-hover.css ---- */
/* R103 — scoped finish over the approved R97/R102 interface.
   Gold on hover for INACTIVE neutral navigation; blue is reserved for current page.
   Existing semantic blue/green/red action buttons are deliberately excluded. */
:scope{--ik-r103-idle:#303943;--ik-r103-hover:#514a38;--ik-r103-gold:#b89a52;--ik-r103-current:#2d4f7c;}
/* The main navigation is made of <a>, not buttons, hence the previous R100 rule
   could not override the old blue --ik-theme-button-hover-bg on these links. */
body .ik-global-chrome nav.tabs>a.nav:not(.active):not([aria-current="page"]){
 background:var(--ik-r103-idle)!important;border-color:#46535d!important;color:#dfe6ef!important;
}
body .ik-global-chrome nav.tabs>a.nav:not(.active):not([aria-current="page"]):is(:hover,:focus-visible){
 background:var(--ik-r103-hover)!important;border-color:var(--ik-r103-gold)!important;color:#ffe5a5!important;
}
body .ik-global-chrome nav.tabs>a.nav:is(.active,[aria-current="page"]),
body .ik-global-chrome nav.tabs>a.nav:is(.active,[aria-current="page"]):is(:hover,:focus-visible){
 background:var(--ik-r103-current)!important;border-color:#7293c0!important;color:#fff!important;
}
/* Same rule for the approved seven-icon quickbar, with no dimensional changes. */
body #ik-quickbar .ik-quickbar-inner>:is(a[data-quick-building],a#ik-simulator-open,button[data-quick-building],button#ik-simulator-open):not(.ik-r100-current):not([aria-current="page"]):is(:hover,:focus-visible){
 background:var(--ik-r103-hover)!important;border-color:var(--ik-r103-gold)!important;color:#ffe5a5!important;
}
body #ik-quickbar .ik-quickbar-inner>:is(a[data-quick-building],a#ik-simulator-open,button[data-quick-building],button#ik-simulator-open):is(.ik-r100-current,[aria-current="page"]):is(:hover,:focus-visible){
 background:var(--ik-r103-current)!important;border-color:#7293c0!important;color:#fff!important;
}
/* Rankings sidebar had a separate grey-on-hover override of the gold rule. */
body #view-ranking .ik-r95-ranking-menu button:not(.active):not([aria-selected="true"]):not(:disabled):is(:hover,:focus-visible){
 background:var(--ik-r103-hover)!important;border-color:var(--ik-r103-gold)!important;color:#ffe5a5!important;
}
body #view-ranking .ik-r95-ranking-menu button:is(.active,[aria-selected="true"]):is(:hover,:focus-visible){
 background:var(--ik-r103-current)!important;border-color:#7293c0!important;color:#fff!important;
}
/* A pressed checkbox/toggle is not a selected navigation page. Avoid painting
   unrelated pressed controls cobalt unless they also carry a real active state. */
body:not(.portal):not(.worlds-page) .view button[aria-pressed="true"]:not(:is(.active,.selected,.is-active,.is-selected,[aria-selected="true"],[aria-current="page"],.primary,.danger,.attack,.support,.won,.loss,.warning,.error,.success)){
 background:var(--ik-r103-idle)!important;border-color:#46535d!important;color:#dfe6ef!important;
}
body:not(.portal):not(.worlds-page) .view button[aria-pressed="true"]:not(:is(.active,.selected,.is-active,.is-selected,[aria-selected="true"],[aria-current="page"],.primary,.danger,.attack,.support,.won,.loss,.warning,.error,.success)):not(:disabled):hover{
 background:var(--ik-r103-hover)!important;border-color:var(--ik-r103-gold)!important;color:#ffe5a5!important;
}
/* R102 quick attack matrix: icon above remaining-stock toggle, in ONE header cell. */
body .ik-map-quick-dialog .ik-r102-quick-matrix .ik-r102-unit-head{min-width:64px;padding:4px 3px!important;}
body .ik-map-quick-dialog .ik-r102-quick-matrix .ik-r102-icon-and-stock{
 display:inline-flex!important;flex-direction:column!important;align-items:center!important;
 justify-content:center!important;gap:2px!important;min-width:0;max-width:100%;white-space:nowrap;
}
body .ik-map-quick-dialog .ik-r102-quick-matrix .ik-r102-unit-icon{
 flex:0 0 27px!important;width:27px!important;height:27px!important;object-fit:contain!important;
}
body .ik-map-quick-dialog .ik-r102-quick-matrix .ik-r102-icon-and-stock button.ik-r98-stock-toggle{
 position:static!important;display:inline-flex!important;max-width:100%!important;
 width:auto!important;min-width:31px!important;min-height:19px!important;height:20px!important;
 margin:0!important;padding:1px 4px!important;font-size:10px!important;line-height:1!important;
 background:var(--ik-r103-idle)!important;border-color:#667280!important;color:#e3cb8e!important;
}
body .ik-map-quick-dialog .ik-r102-quick-matrix .ik-r102-icon-and-stock button.ik-r98-stock-toggle:not(:disabled):hover{
 background:var(--ik-r103-hover)!important;border-color:var(--ik-r103-gold)!important;color:#ffe5a5!important;
}
/* The toggle is not a page: pressed must never turn cobalt. */
body .ik-map-quick-dialog .ik-r102-quick-matrix .ik-r102-icon-and-stock button.ik-r98-stock-toggle[aria-pressed="true"]:not(:hover){
 background:var(--ik-r103-idle)!important;border-color:#b89a52!important;color:#e3cb8e!important;
}
body .ik-map-quick-dialog .ik-r103-quick-no-units{
 margin:0;padding:14px 12px;text-align:center;font-size:12px;color:#b9c7d5;
}


/* ---- GAME : r71r104-quick-recruit-demo.css ---- */
/* R104 – targeted refinements, R95/R97 interface preserved. */
/* Larger unit icons and stock figures remain vertically stacked in one header cell. */
body .ik-map-quick-dialog .ik-r102-quick-matrix .ik-r102-unit-head{
  min-width:82px!important;padding:6px 5px!important;
}
body .ik-map-quick-dialog .ik-r102-quick-matrix .ik-r102-icon-and-stock{
  display:inline-flex!important;flex-direction:column!important;align-items:center!important;
  justify-content:center!important;gap:4px!important;max-width:100%;white-space:nowrap;
}
body .ik-map-quick-dialog .ik-r102-quick-matrix .ik-r102-unit-icon{
  width:44px!important;height:44px!important;flex:0 0 44px!important;object-fit:contain!important;
}
body .ik-map-quick-dialog .ik-r102-quick-matrix .ik-r102-icon-and-stock button.ik-r98-stock-toggle{
  min-width:49px!important;min-height:26px!important;height:26px!important;
  padding:2px 7px!important;font:600 13px/1.2 system-ui,sans-serif!important;
  font-variant-numeric:tabular-nums!important;max-width:100%!important;
}
/* One-unit and total durations on separate readable lines, without new cards. */
#view-recruitment .ik-r100-recruit-time,
#view-global .ik-r88-army-unit .ik-r100-recruit-time{
  white-space:pre-line!important;line-height:1.55!important;
}
#view-global .ik-r104-plan-time{display:block;line-height:1.4;white-space:nowrap;}
/* Large demo batches: existing button grid is kept; let the new item wrap. */
#map-demo-panel #map-demo-create-5000{font-variant-numeric:tabular-nums;}


/* ---- GAME : r71r105-navigation-map-performance.css ---- */
/* R105: typography parity only. No global nav/panel geometry overrides. */
body .ik-global-chrome nav.tabs > button.nav:is(
 [data-view="profile"],[data-view="coins"],[data-view="settings"]
){
 font-family:Arial,sans-serif!important;
 font-size:12px!important;
 font-weight:600!important;
 letter-spacing:.018em!important;
 line-height:normal!important;
 text-transform:none!important;
}




}


/* ---- INTERNAL MAP TILE EDITOR (scoped) ---- */
@scope (html:has(body.ik-r111-tool-editor)) {

    :scope { --bg:#10161d; --panel:#18212b; --panel2:#223041; --border:#2d4256; --text:#e7edf5; --muted:#9eb0c2; --accent:#7cc36e; }
    *{box-sizing:border-box}
    body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);height:100vh;display:grid;grid-template-columns:360px 1fr;overflow:hidden}
    aside{background:var(--panel);border-right:1px solid var(--border);padding:12px;overflow:auto}
    main{display:flex;flex-direction:column;min-width:0}
    h1{font-size:18px;margin:0 0 10px}
    .section{background:var(--panel2);border:1px solid var(--border);border-radius:10px;padding:10px;margin-bottom:10px}
    .controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}
    label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
    select,input,button,textarea{width:100%;border-radius:8px;border:1px solid var(--border);background:#0f161d;color:var(--text);padding:8px}
    button{cursor:pointer;background:#1f3344}
    button:hover{background:#274158}
    .btn-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
    .asset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-height:50vh;overflow:auto;padding-right:4px}
    .asset{border:1px solid var(--border);border-radius:10px;padding:6px;background:#0f161d;cursor:pointer}
    .asset.selected{outline:2px solid var(--accent)}
    .asset img{display:block;width:100%;height:72px;object-fit:contain;background:#13202b;border-radius:6px}
    .asset span{display:block;font-size:11px;margin-top:4px;word-break:break-word}
    .hint{font-size:12px;color:var(--muted);line-height:1.4}
    #toolbar{padding:10px;border-bottom:1px solid var(--border);display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:var(--panel)}
    #canvasWrap{flex:1;overflow:auto;background:#0b1016;padding:12px}
    #mapCanvas{background:#20311e;box-shadow:0 0 0 1px #0d1218;image-rendering:auto;display:block}
    .pill{padding:6px 10px;border-radius:999px;background:#0f161d;border:1px solid var(--border);font-size:12px;color:var(--muted)}
    .small{font-size:11px;color:var(--muted)}
    textarea{min-height:90px;resize:vertical}
  
}



/* ---- Internal editor carried its original r48 button overrides after its local CSS. ---- */
@scope (html:has(body.ik-r111-tool-editor)) {
/* Iron Kingdoms 0.4.60 · HF18-R48 — ONE button design system, based on
   Trib -> Rezervări -> Toate / Proprii. Overrides legacy per-module skins.
   The functional .primary class is an ACTION, not a SELECTED tab. */
:scope{
 --ik-r48-btn-border:#947e56;
 --ik-r48-btn-text:#efdbb4;
 --ik-r48-btn-bg:linear-gradient(110deg,#353c30,#1d292a);
 --ik-r48-btn-hover:#3a4237;
 --ik-r48-btn-active-bg:linear-gradient(110deg,#51452d,#27352d);
 --ik-r48-btn-active-border:#d0a366;
}
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village){
 box-sizing:border-box!important;
 min-height:41px;
 padding:9px 12px!important;
 border:1px solid var(--ik-r48-btn-border)!important;
 border-radius:4px!important;
 background:var(--ik-r48-btn-bg)!important;
 color:var(--ik-r48-btn-text)!important;
 box-shadow:0 1px 8px #0004!important;
 font-family:Georgia,'Palatino Linotype',serif!important;
 font-size:clamp(13px,calc(14px * var(--ik-r44-ui-scale,1)),56px)!important;
 font-weight:600;
 line-height:1.2;
 vertical-align:middle;
 cursor:pointer;
 transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease!important;
}
/* Hover does not mean selected. Keep the orange fill for actual selection. */
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):hover:not(:disabled):not(.active):not(.is-active):not(.selected):not([aria-pressed="true"]):not([aria-selected="true"]):not([aria-checked="true"]){
 background:var(--ik-r48-btn-hover)!important;
 border-color:#c3a572!important;
 color:#ffe4b1!important;
}
/* .primary and submit buttons must NOT light up before being selected. */
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):is(.primary,[type="submit"]):not(:is(.active,.is-active,.selected,[aria-pressed="true"],[aria-selected="true"],[aria-checked="true"])):not(:disabled){
 background:var(--ik-r48-btn-bg)!important;
 border-color:var(--ik-r48-btn-border)!important;
 color:var(--ik-r48-btn-text)!important;
 box-shadow:0 1px 8px #0004!important;
}
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):is(.primary,[type="submit"]):not(:is(.active,.is-active,.selected,[aria-pressed="true"],[aria-selected="true"],[aria-checked="true"])):hover:not(:disabled){
 background:var(--ik-r48-btn-hover)!important;
 border-color:#c3a572!important;
 color:#ffe4b1!important;
}
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):is(.active,.is-active,.selected,[aria-pressed="true"],[aria-selected="true"],[aria-checked="true"]):not(:disabled),
body #ik-tribe-root .ik-ally-forum-section.active>button:not(:disabled){
 background:var(--ik-r48-btn-active-bg)!important;
 border-color:var(--ik-r48-btn-active-border)!important;
 color:#ffe1a9!important;
 box-shadow:inset 0 0 0 1px #c7a2694d,0 1px 8px #0004!important;
}
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):focus-visible{
 outline:2px solid #f3cc86!important;
 outline-offset:2px!important;
}
body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village):disabled{
 opacity:.45!important;cursor:not-allowed!important;filter:saturate(.55);
}
body button:is(.danger,[data-report-tool="archive"],[data-action="delete"],[data-action="remove"]):not(:disabled){color:#ffb8a9!important}
/* Keep specialized component dimensions/layout: icon-only buttons, ranking
   tabs (R47: 53px), scene tools, navbar, forum section tiles, and quickbar. */
#view-ranking .ik-rank-toolbar button{min-height:53px}
.ik-ally-forum-sections>button,.ik-ally-forum-section>button{min-height:74px;text-align:left;}
.ik-ally-forum-section>button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px}
#ik-tribe-root .ik-ally-forum-section.active>button{border-radius:4px!important}
/* Forum threads: layout is an explicit vertical stack. The back button can
   never overlap the first discussion panel, even with a long title or zoom. */
#ik-tribe-thread{
 display:flex;flex-direction:column;align-items:stretch;
 gap:14px;min-width:0;isolation:isolate;
}
#ik-tribe-thread>.ik-ally-thread-back{
 position:static!important;float:none!important;clear:both;
 flex:0 0 auto;align-self:flex-start;
 display:inline-flex;align-items:center;justify-content:center;
 margin:0!important;max-width:100%;white-space:normal;
}
#ik-tribe-thread>.ik-ally-panel{
 position:relative;clear:both;min-width:0;margin:0;
}
#ik-tribe-thread .ik-ally-posts{min-width:0;overflow-wrap:anywhere;}
@media(max-width:700px){
 #ik-tribe-root .ik-ally-reserve-search{align-items:flex-end}
}
@media(max-width:520px){
 body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village){min-height:40px;padding:9px 11px!important;max-width:100%;}
 #ik-tribe-thread>.ik-ally-thread-back{width:100%;}
}
@media(prefers-reduced-motion:reduce){body :is(button,input[type="button"],input[type="submit"],input[type="reset"],a.ik-profile-open-village){transition:none!important}}

}
/* =======================================================================
   R111 — Unified interaction tokens. Only color/states; NEVER dimensions.
   Default = graphite; hover = warm subtle gold; selected navigation = blue.
   Explicit variants for future elements:
     .ik-btn--neutral, .ik-btn--primary, .ik-btn--success, .ik-btn--danger
   Existing .primary / .danger / .attack / .support / .success, etc. are
   semantic and must not be recolored by the neutral styling.
   ======================================================================= */
:root {
  --ik-control-neutral: #303943;
  --ik-control-neutral-border: #46535d;
  --ik-control-neutral-text: #dfe6ef;
  --ik-control-hover: #514a38;
  --ik-control-hover-border: #b89a52;
  --ik-control-hover-text: #ffe5a5;
  --ik-control-selected: #2d4f7c;
  --ik-control-selected-border: #7293c0;
  --ik-control-selected-text: #ffffff;
}
/* semantic variants: use a dedicated class for intentionally colored actions */
#ik-theme-r111 :is(button,input[type=button],input[type=submit],input[type=reset],a.nav,.ik-quickbar-inner>a,a.ik-profile-open-village):not(:is(.primary,.ik-btn--primary,.danger,.ik-btn--danger,.success,.ik-btn--success,
           .attack,.support,.won,.loss,.warning,.error,
           .ik-map-radial-action,.ik-map-legend-dot,.ik-map-color-swatch,.ik-map-filter-color,
           [data-kind="attack"],[data-kind="support"])) {
  background: var(--ik-control-neutral) !important;
  border-color: var(--ik-control-neutral-border) !important;
  color: var(--ik-control-neutral-text) !important;
}
#ik-theme-r111 :is(button,input[type=button],input[type=submit],input[type=reset],a.nav,.ik-quickbar-inner>a,a.ik-profile-open-village):not(:is(.primary,.ik-btn--primary,.danger,.ik-btn--danger,.success,.ik-btn--success,
           .attack,.support,.won,.loss,.warning,.error,
           .ik-map-radial-action,.ik-map-legend-dot,.ik-map-color-swatch,.ik-map-filter-color,
           [data-kind="attack"],[data-kind="support"])):is(:hover,:focus-visible):not(:disabled) {
  background: var(--ik-control-hover) !important;
  border-color: var(--ik-control-hover-border) !important;
  color: var(--ik-control-hover-text) !important;
}
/* Selected links/buttons only in actual navigation, filter tabs or quickbar. */
#ik-theme-r111 :is(
  nav.tabs>.nav,
  #ik-quickbar .ik-quickbar-inner>a,
  .ik-ally-tabstrip>button,
  .ik-r95-ranking-menu>button,
  .ik-r89-market-menu>button,
  .ik-general-tabs>button,
  .ik-general-filters>button,
  .ik-trade-tabs>button,
  .ik-global-actions-tabs>button,
  .ik-ally-forum-sections>button
):is(.active,.selected,.is-active,.is-selected,.ik-r100-current,[aria-selected="true"],[aria-current="page"]):not(:is(.primary,.danger,.success,.ik-btn--primary,.ik-btn--danger,.ik-btn--success)) {
  background: var(--ik-control-selected) !important;
  border-color: var(--ik-control-selected-border) !important;
  color: var(--ik-control-selected-text) !important;
}
#ik-theme-r111 :is(
  nav.tabs>.nav,
  #ik-quickbar .ik-quickbar-inner>a,
  .ik-ally-tabstrip>button,
  .ik-r95-ranking-menu>button,
  .ik-r89-market-menu>button,
  .ik-general-tabs>button,
  .ik-general-filters>button,
  .ik-trade-tabs>button,
  .ik-global-actions-tabs>button,
  .ik-ally-forum-sections>button
):is(.active,.selected,.is-active,.is-selected,.ik-r100-current,[aria-selected="true"],[aria-current="page"]):is(:hover,:focus-visible) {
  background: var(--ik-control-selected) !important;
  border-color: var(--ik-control-selected-border) !important;
  color: var(--ik-control-selected-text) !important;
}
/* Keep deliberate colored variants explicit and separate from neutral. */
#ik-theme-r111 .ik-btn--primary { background:#2d4f7c !important; border-color:#7293c0 !important; color:#fff !important; }
#ik-theme-r111 .ik-btn--success { background:#275543 !important; border-color:#488569 !important; color:#e1f7e7 !important; }
#ik-theme-r111 .ik-btn--danger { background:#6c3034 !important; border-color:#a65962 !important; color:#ffe5e5 !important; }
#ik-theme-r111 :is(.ik-btn--primary,.ik-btn--success,.ik-btn--danger):not(:disabled):hover { filter:brightness(1.12); }

/* Preserve primary action blue while hovered; unlike neutral controls,
   primary buttons denote an operation and are never active-page markers. */
#ik-theme-r111 :is(button.primary, input.primary):not(:disabled):hover {
 background:#2d4f7c!important; border-color:#7293c0!important; color:#fff!important; filter:brightness(1.09);
}

/* R112: destructive conversation action, scoped to dialogue header. */
#view-messages .ik-r112-delete-conversation{margin-left:auto;background:#433039;border:1px solid #805360;color:#F3DFE0;border-radius:8px;padding:7px 11px;cursor:pointer;font:inherit;font-size:12px}
#view-messages .ik-r112-delete-conversation:hover:not(:disabled){background:#63404b;border-color:#a96b78;color:white}
#view-messages .ik-r112-delete-conversation:disabled{opacity:.55;cursor:wait}
#view-messages .ik-dialogue-heading{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
#view-messages .ik-dialogue-heading .ik-dialogue-close{margin-left:0}
