:root{
  color-scheme:dark;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#f7ead4;
  background:#111820;
  line-height:1.45;
  --ink:#f8eedc;
  --muted:#aeb7be;
  --steel:#1b2731;
  --panel:#1a242d;
  --panel-soft:#22303b;
  --line:#40515c;
  --sand:#e4b76b;
  --gold:#f5c75d;
  --orange:#ee873e;
  --red:#c64e37;
  --green:#57b779;
  --shadow:0 18px 44px #060a0f80;
}
*{box-sizing:border-box}
html{min-height:100%;background:#111820}
body{min-height:100vh;margin:0;background:radial-gradient(ellipse at 50% -20%,#3b4a48 0,#1c272d 38%,#111820 80%);}
body::before{content:"";position:fixed;z-index:-1;inset:0;opacity:.25;pointer-events:none;background-image:linear-gradient(30deg,#ffffff09 12%,transparent 12.5%,transparent 87%,#ffffff09 87.5%,#ffffff09),linear-gradient(150deg,#ffffff08 12%,transparent 12.5%,transparent 87%,#ffffff08 87.5%,#ffffff08);background-size:46px 80px}
header,nav,main,.notice{max-width:1180px;margin-inline:auto}
header{min-height:120px;padding:2rem 1.4rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
header>div:first-child{position:relative;padding-left:1rem}
header>div:first-child::before{content:"";position:absolute;left:0;top:.18rem;bottom:.18rem;width:4px;border-radius:99px;background:linear-gradient(#f7d276,#cb6032)}
.eyebrow{margin:0;color:#e6b563;font-size:.73rem;font-weight:800;letter-spacing:.18em}
h1,h2{margin:.15rem 0;color:var(--ink);letter-spacing:-.025em}
h1{font-size:clamp(1.9rem,4vw,2.85rem);line-height:1.07;text-shadow:0 3px 18px #000a}
h2{font-size:1.13rem;line-height:1.2}
.account{display:grid;gap:.08rem;padding:.65rem .85rem;text-align:right;border:1px solid #8a765133;border-radius:12px;background:#131c23b8;box-shadow:inset 0 1px #ffffff0a}
.account b{color:#f8df9b;font-size:.91rem}.account span,.hint,.event-card p{color:var(--muted);margin:.35rem 0}
nav{display:flex;align-items:center;gap:.48rem;padding:.65rem 1.4rem;border-block:1px solid #ffffff16;background:#101820b8;backdrop-filter:blur(14px);overflow:auto}
button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid transparent;border-radius:9px;padding:.68rem .9rem;font-weight:800;color:#f5ead8;background:#2a3a45;transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease}button:hover{transform:translateY(-1px);background:#344754;border-color:#597080}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #f4c55c;outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.5;transform:none}
nav button,nav a{white-space:nowrap}nav button{background:transparent;color:#c9d3d8;border-color:transparent}nav button:hover{background:#273641;color:#fff}nav .active{background:linear-gradient(180deg,#e9bd64,#cc873e);border-color:#f6d986;color:#17202a;box-shadow:0 3px 12px #0006}nav form,.admin-login{margin-left:auto}.quiet{background:#253541;border-color:#ffffff16;color:#e1e8e7}.admin-login{display:inline-flex;align-items:center;border:1px solid #ffffff22;border-radius:9px;padding:.68rem .9rem;color:#e1e8e7;text-decoration:none}.admin-login:hover{background:#2e414e;color:#fff}
.accent{background:linear-gradient(135deg,#f4cc63,#d9873e);border-color:#ffe69a;color:#1d2226;box-shadow:0 4px 14px #0005}.accent:hover{background:linear-gradient(135deg,#ffe087,#df9148)}.danger{background:#6e302e;border-color:#a9564f;color:#ffe7dc}.danger:hover{background:#843a35}
main{padding:1.3rem 1.4rem 3.5rem}.notice{margin-top:1rem;border:1px solid #72c49066;border-left:4px solid var(--green);border-radius:10px;background:#173425;color:#c7f3d5;padding:.8rem 1.1rem;font-weight:750;box-shadow:var(--shadow)}
.card,.event-card,.team-card,.counts>div,.announcement{background:linear-gradient(145deg,#202d36,#18222a);border:1px solid #ffffff18;border-radius:14px;padding:1.2rem;margin-bottom:1rem;box-shadow:var(--shadow)}
.card,.team-card,.announcement{position:relative;overflow:hidden}.card::before,.team-card::before,.announcement::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,#f1c66966,transparent)}
.event-card{border-left:5px solid var(--gold);background:linear-gradient(105deg,#2c2921,#1c292e 58%)}.event-card h2{font-size:1.28rem}.tag{display:inline-block;border-radius:99px;padding:.22rem .58rem;font-size:.72rem;font-weight:850;letter-spacing:.03em;background:#374853;color:#dce7e9}.tag.open{background:#1d5034;color:#a8edbc}.tag.closed,.tag.completed{background:#622f32;color:#ffd3d1}.tag.published{background:#245b45;color:#b8f5cf}.tag.draft{background:#5a4828;color:#ffe3a0}.tag.archived{background:#3b4650;color:#ced8dc}
.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.form-grid label{display:grid;gap:.35rem;color:#d4dcdd;font-size:.8rem;font-weight:800;letter-spacing:.02em}.wide{grid-column:1/-1}input,select,textarea{width:100%;border:1px solid #49606d;border-radius:9px;padding:.72rem;background:#101820;color:#fff;box-shadow:inset 0 1px 4px #0007}input::placeholder,textarea::placeholder{color:#81909a}input:hover,select:hover,textarea:hover{border-color:#70858f}textarea{min-height:8rem;resize:vertical}.actions{display:flex;gap:.65rem;align-items:center}.controls{display:flex;align-items:center;justify-content:space-between;gap:1rem}.counts{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;margin-bottom:1rem}.counts>div{margin:0;min-height:86px;display:grid;align-content:center;gap:.1rem;background:linear-gradient(135deg,#283641,#1b252d)}.counts span{color:#aeb9bd;font-size:.72rem;text-transform:uppercase;letter-spacing:.055em}.counts b{color:#f8d275;font-size:1.65rem;line-height:1.1}.teams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.team-card{margin:0}.team-card .card-head b{color:#f0c365;background:#3f3928;border-radius:99px;padding:.18rem .5rem;font-size:.8rem}.card-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.75rem}.table-wrap{overflow:auto;border:1px solid #ffffff12;border-radius:10px}table{width:100%;border-collapse:collapse;font-size:.88rem}th,td{text-align:left;padding:.62rem .65rem;border-bottom:1px solid #ffffff12;vertical-align:top}th{color:#e5bd6d;font-size:.69rem;text-transform:uppercase;letter-spacing:.06em;background:#121b22}tbody tr{transition:background .14s}tbody tr:hover{background:#ffffff08}tbody tr:last-child td{border-bottom:0}td button{font-size:.73rem;padding:.42rem .54rem;margin:.1rem}.records{display:grid;gap:.2rem;padding:0;margin:0;list-style:none}.records li,.record{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.7rem .1rem;border-bottom:1px solid #ffffff12}.records li:last-child,.record:last-child{border-bottom:0}.inline-form{display:flex;gap:.65rem}.inline-form input{flex:1}.warn{color:#f2af84;font-weight:750}.empty,.loading{padding:3.5rem 1.5rem;text-align:center;color:var(--muted)}em{font-size:.7rem;color:#f2c36d;font-style:normal}
.info-list>h2{margin:.5rem 0 1rem}.announcement{margin-bottom:.8rem}.announcement.pinned{border-left:4px solid var(--gold);background:linear-gradient(120deg,#352d20,#1d2931 66%)}.announcement-text{margin:.2rem 0;color:#e5e9e5;line-height:1.65}.check{display:flex!important;align-items:center;gap:.55rem}.check input{width:auto;accent-color:#efbc57}.check+.actions{align-items:center}
.map-card,.battle-map-card{overflow:hidden}.tactical-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;padding:.75rem;border:1px solid #ffffff14;border-radius:12px;background:linear-gradient(135deg,#354049,#1a252d)}.map-target{display:grid;gap:.28rem;min-height:5rem;text-align:left;border:1px solid #5b6c73;background:#18232b;color:#f5ead8}.map-target:hover{background:#293942}.map-target b{font-size:.86rem}.map-target span{color:#b6c1c3;font-size:.75rem}.map-target.mine{box-shadow:inset 0 0 0 2px #e4b75f}.map-target.selected{background:linear-gradient(145deg,#d8903e,#a94e32);border-color:#ffd582;color:#fff}.map-target.selected span{color:#fff4df}.tactics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.tactics-grid>.card{margin:0}.plan-toolbar{display:flex;gap:.65rem;align-items:center;margin-bottom:.8rem}.plan-toolbar select{max-width:22rem}.group-list,.assignment-list,.checkin-list{display:grid;gap:.55rem}.group-card{display:flex;justify-content:space-between;gap:.7rem;padding:.8rem;border:1px solid #ffffff1c;border-left:5px solid #e3b461;border-radius:9px;background:#152029}.group-card span,.group-card small{display:block;color:#aebbbe;font-size:.8rem;margin-top:.12rem}.warnings li{margin:.42rem 0;color:#f2af84}.warnings .ok{color:#85daa0}.announcement textarea{width:100%}
.map-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem;align-items:center}.map-actions label{display:grid;gap:.22rem;color:#d4dcdd;font-size:.77rem;font-weight:800}.map-actions select{min-width:10rem}.battle-map{position:relative;aspect-ratio:1080/607;min-height:28rem;border-radius:12px;overflow:hidden;background:#b86c35 url('/assets/desert-storm-map-clean.webp') center/cover no-repeat;box-shadow:inset 0 0 0 1px #f0c16f77,0 12px 30px #0008}.battle-map::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#2913041c,transparent 25%,#16090033)}.battle-post{position:absolute;z-index:1;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:clamp(5.6rem,11vw,8.6rem);min-height:2.55rem;padding:.27rem .35rem;border:1px solid #4e3318cc;border-radius:8px;background:#fff5dbe8;color:#2c1d12;text-align:center;box-shadow:0 2px 7px #2c180a99;font:inherit;line-height:1.05}.battle-post:hover{background:#fff9e9}.battle-post b{display:block;font-size:clamp(.58rem,1.1vw,.82rem)}.battle-post b small{display:inline;font-size:.72em;color:#7a4527}.battle-post.assigned{background:#fff8dbf5}.battle-post .map-names{display:grid;gap:.08rem;margin-top:.14rem}.battle-post .map-names i{font-size:clamp(.52rem,.95vw,.72rem);font-style:normal;font-weight:850;color:#982d25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.battle-post .map-empty{display:block;margin-top:.13rem;font-size:.62rem;color:#7c6d5e}.battle-post.subs-post{width:clamp(8.2rem,15vw,11.5rem);min-height:9rem;padding:.5rem .45rem;border-color:#d44636;background:#fff4dfeb}.battle-post.subs-post b{color:#8a251e}.battle-post.subs-post .map-names{gap:.16rem;max-height:8rem;overflow:auto}.battle-post.selected{outline:3px solid #ffd366;outline-offset:2px;background:#fff0ba}.battle-post.mine{box-shadow:0 0 0 3px #258c5b,0 2px 7px #2c180a99}.map-legend{margin:.7rem 0 0;color:#b4bec0;font-size:.8rem}.map-legend span{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;background:#48b779;margin-right:.25rem}.map-plan-name{position:absolute;z-index:2;top:1rem;left:50%;transform:translateX(-50%);padding:.42rem .78rem;border:1px solid #f6cc7466;border-radius:99px;background:#17222bdf;color:#ffe4a2;font-size:clamp(.68rem,1.35vw,.95rem);font-weight:800;letter-spacing:.04em;white-space:nowrap;box-shadow:0 2px 10px #0008}
@media(max-width:720px){header{min-height:0;padding:1.3rem 1rem .8rem;align-items:flex-start}header>div:first-child{padding-left:.75rem}.account{padding:.5rem .65rem;font-size:.77rem}nav{padding:.55rem 1rem}.form-grid{grid-template-columns:1fr 1fr}.teams,.tactics-grid{grid-template-columns:1fr}.counts{grid-template-columns:1fr 1fr}.controls{align-items:flex-start;flex-direction:column}.wide{grid-column:1/-1}.tactical-map{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-toolbar,.map-actions{align-items:stretch;flex-direction:column}.plan-toolbar select{max-width:none}.map-actions{justify-content:stretch}.map-actions button{white-space:nowrap}.battle-map{min-height:23rem;background-position:center}.battle-post{width:clamp(4.25rem,20vw,6.2rem);min-height:2.1rem;padding:.2rem}.battle-post b{font-size:clamp(.5rem,2vw,.7rem)}.battle-post .map-names i{font-size:clamp(.45rem,1.75vw,.61rem)}.battle-post .map-empty{font-size:.5rem}.map-plan-name{top:.55rem;font-size:.65rem}}
@media(max-width:440px){.form-grid,.counts{grid-template-columns:1fr}.wide{grid-column:auto}header{padding-inline:.85rem}main{padding:1rem .85rem 2.5rem}.inline-form{flex-direction:column}.actions{flex-wrap:wrap}nav{gap:.3rem}.admin-login{padding:.58rem .7rem}}
@media print{*{color-adjust:exact;-webkit-print-color-adjust:exact}header,nav,.notice,.event-card,.plan-toolbar,.inline-form,.tactics-grid,.warnings,.map-actions,main>.card:not(.battle-map-card),.map-legend{display:none!important}body,main{background:#fff;padding:0}.battle-map-card{border:0;box-shadow:none;margin:0;padding:0}.battle-map{border-radius:0;min-height:0;width:100%;page-break-inside:avoid}.battle-post{background:#fffdf0ee!important}.battle-post.selected{outline:0}.battle-map-card h2,.battle-map-card .hint,.map-plan-name{display:block!important}.map-plan-name{background:#142a49!important;color:#fff!important}}
.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr));max-width:32rem}.admin-stats small{color:var(--muted);font-size:.75rem}@media(max-width:440px){.admin-stats{grid-template-columns:1fr}}
.player-search input{max-width:38rem}.always-badge{margin-left:.3rem;background:#594928;color:#ffe4a1}.announcement-actions{display:flex;gap:.4rem;flex-wrap:wrap}.announcement-editor{overflow:visible}.upload-preview,.announcement-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.7rem;margin-top:.65rem}.upload-preview figure{margin:0;border:1px solid #ffffff1c;border-radius:10px;overflow:hidden;background:#131d25}.upload-preview img,.image-thumbnail img{display:block;width:100%;height:8rem;object-fit:cover}.upload-preview figcaption{padding:.45rem;color:var(--muted);font-size:.72rem;overflow-wrap:anywhere}.upload-preview figcaption span{display:flex;gap:.25rem;margin-top:.4rem}.upload-preview figcaption button{margin:.35rem 0 0;padding:.3rem .42rem;font-size:.66rem}.stored-images>b{display:block;margin-top:.35rem}.image-thumbnail{padding:0;overflow:hidden;border:1px solid #f5c75d55;border-radius:10px;background:#17222a}.image-thumbnail:hover{border-color:var(--gold);box-shadow:0 0 0 2px #f5c75d44}.announcement-gallery{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.announcement-gallery img{height:10rem}.lightbox{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:1rem}.lightbox-backdrop{position:absolute;inset:0;border:0;border-radius:0;background:#05090ce8}.lightbox>section{position:relative;z-index:1;width:min(94vw,900px);max-height:92vh;overflow:auto;padding:1rem;border:1px solid #f2c76d77;border-radius:14px;background:#17232c;box-shadow:0 28px 80px #000}.lightbox img{display:block;max-width:100%;max-height:70vh;margin:auto;border-radius:8px}.lightbox-actions{display:flex;justify-content:space-between;gap:.5rem;margin-top:.75rem}@media(max-width:520px){.announcement-gallery,.upload-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.announcement-gallery img,.upload-preview img{height:6.5rem}.lightbox>section{padding:.7rem}}

.admin-notice{margin:.7rem 0;padding:.65rem .8rem;border:1px solid #e4b76b66;border-left:4px solid var(--gold);border-radius:9px;background:#47361a55;color:#ffe4a2;font-weight:750;font-size:.9rem}.player-picker-field{display:flex;align-items:end;gap:.55rem}.player-picker-field label{flex:1;min-width:0}.player-picker-field button{flex:0 0 auto;min-height:42px;white-space:nowrap}.player-picker-dialog{width:min(94vw,34rem);max-height:82vh;padding:0;border:1px solid #f2c76d77;border-radius:14px;background:#17232c;color:#fff;box-shadow:0 28px 80px #000}.player-picker-dialog::backdrop{background:#05090ce8}.player-picker-dialog>section{display:grid;gap:.8rem;padding:1rem}.player-picker-dialog .card-head{margin:0}.player-picker-dialog input{min-height:44px}.player-picker-results{display:grid;gap:.35rem;max-height:50vh;overflow:auto}.player-picker-choice{display:flex;justify-content:space-between;gap:.6rem;min-height:46px;text-align:left}.player-picker-choice small{color:var(--muted)}@media(max-width:520px){.player-picker-field{align-items:stretch;flex-direction:column}.player-picker-field button{width:100%}.player-picker-dialog{width:calc(100vw - 1.25rem);max-height:88vh}.player-picker-results{max-height:55vh}.player-picker-choice{font-size:.95rem}}

/* Hilfe und Nützliches – eigenständiges Beta-Modul */
.help-module{display:grid;gap:1rem}.beta-badge{display:inline-block;padding:.2rem .52rem;border:1px solid #f5c75d66;border-radius:99px;background:#55421f;color:#ffe7a8;font-size:.68rem;font-weight:900;letter-spacing:.08em}.help-hero{display:flex;align-items:center;min-height:9rem;background:linear-gradient(120deg,#213c4d,#202b29 55%,#4d3521)}.help-hero h2{font-size:clamp(1.55rem,3vw,2.25rem)}.help-hero p{max-width:58rem;color:var(--muted);margin:.4rem 0}.help-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.help-category-card{overflow:hidden;display:grid;grid-template-rows:10rem 1fr;border:1px solid #dcb76b40;border-radius:15px;background:linear-gradient(145deg,#22313c,#18222a);box-shadow:var(--shadow)}.help-category-cover{background:#152531;overflow:hidden}.help-category-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.help-category-card:hover img{transform:scale(1.035)}.help-category-cover span{display:grid;height:100%;place-items:center;color:#f8d275;font-weight:900;font-size:1.35rem}.help-category-card>div:last-child{padding:1rem}.help-category-card h2{margin:.45rem 0}.help-category-card p{min-height:3.4rem;margin:.4rem 0 1rem;color:var(--muted)}.help-toolbar{display:grid;grid-template-columns:1fr minmax(13rem,24rem);gap:1rem;align-items:center}.help-toolbar>div{display:block}.help-toolbar h2,.help-detail-head h2{margin:.55rem 0 .2rem}.help-toolbar img{max-height:12rem;width:100%;border-radius:10px;object-fit:cover;object-position:top}.help-filter-row,.help-gear-tabs{display:flex;flex-wrap:wrap;gap:.55rem;align-items:end}.help-filter-row label{display:grid;gap:.28rem;color:var(--muted);font-size:.76rem;font-weight:750}.help-filter-row select{min-width:7rem;padding:.54rem}.help-filter-row button,.help-gear-tabs button,.help-subtab{background:#263640;color:#e4e8e2}.help-filter-row button.active,.help-gear-tabs button.active,.help-subtab.active{background:linear-gradient(135deg,#f4cc63,#d9873e);border-color:#ffe69a;color:#1d2226}.help-tier-list{display:grid;gap:.85rem}.help-tier-row{display:grid;grid-template-columns:4.7rem 1fr;gap:.75rem;align-items:stretch}.tier-mark{display:grid;place-items:center;min-height:8.2rem;border:1px solid #ffffff24;border-radius:13px;background:#283640;color:#f5cc67;font-size:1.8rem;font-weight:950;box-shadow:var(--shadow)}.tier-S .tier-mark{background:linear-gradient(145deg,#7b5c17,#332710);color:#fff0b0}.tier-Aplus .tier-mark{background:linear-gradient(145deg,#3f714e,#183727)}.tier-A .tier-mark{background:linear-gradient(145deg,#285b7a,#142c45)}.tier-B .tier-mark{background:linear-gradient(145deg,#57506e,#28243f)}.tier-C .tier-mark{background:linear-gradient(145deg,#665445,#32281e)}.tier-D .tier-mark{background:linear-gradient(145deg,#4d5458,#262d30)}.help-entry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.75rem}.help-entry-card{display:flex;flex-direction:column;justify-content:space-between;gap:.75rem;border:1px solid #ffffff15;border-radius:12px;padding:.9rem;background:#17222b}.help-entry-card h3{margin:0;color:#f5e8cf;font-size:1rem}.help-entry-card p{margin:.4rem 0;color:#bdc7c8;font-size:.86rem}.help-entry-card small{color:#eac26e;line-height:1.55}.help-buffs{display:flex;flex-wrap:wrap;gap:.35rem}.help-buffs span{border:1px solid #e4b76b55;border-radius:99px;padding:.16rem .4rem;color:#ffdfa1;background:#5a442020;font-size:.7rem;font-weight:800}.help-detail-head{padding-bottom:1rem}.help-detail-head .quiet,.help-toolbar .quiet{float:right}.help-gear-layout,.help-taylor-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:1rem}.help-guide-image{display:grid;place-items:center;padding:.55rem;background:#101820}.help-guide-image img{display:block;max-width:100%;max-height:42rem;border-radius:10px;object-fit:contain}.help-empty-art{display:grid;place-items:center;gap:.4rem;width:100%;min-height:20rem;border:1px dashed #f5c75d66;border-radius:10px;color:#f5c75d;font-size:2rem;font-weight:900}.help-empty-art small{font-size:.85rem;color:var(--muted);font-weight:650}.help-data-list{display:grid;gap:.6rem}.help-data-list div{padding:.75rem;border:1px solid #ffffff13;border-radius:9px;background:#101921}.help-data-list dt{color:#aeb9bd;font-size:.73rem}.help-data-list dd{margin:.1rem 0 0;color:#ffde90;font-weight:800}.help-image-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.65rem;margin-top:1rem}.help-image-strip figure{margin:0}.help-image-strip img{width:100%;height:8rem;object-fit:cover;border-radius:8px}.help-image-strip figcaption{margin-top:.3rem;color:var(--muted);font-size:.74rem}.help-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.help-metrics>div,.help-calculation>div{padding:1rem;border:1px solid #f5c75d3d;border-radius:12px;background:linear-gradient(145deg,#29291f,#18232b);box-shadow:var(--shadow)}.help-metrics span,.help-calculation span{display:block;color:#b8c3c5;font-size:.75rem}.help-metrics b,.help-calculation b{display:block;margin-top:.25rem;color:#ffdc82;font-size:1.35rem}.help-calculation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:1rem}.help-admin details{margin-top:.8rem;border:1px solid #ffffff1c;border-radius:10px;padding:.7rem;background:#121b22}.help-admin summary{cursor:pointer;color:#f5d27d;font-weight:850}.help-admin details>form,.help-admin details>.table-wrap,.help-image-admin{margin-top:.9rem}.help-image-admin{padding-top:.8rem;border-top:1px solid #ffffff18}.help-image-edit{margin:.7rem 0;padding:.7rem;border:1px solid #ffffff17;border-radius:9px}.help-star-fields{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;border:1px solid #ffffff1b;border-radius:10px;padding:.7rem}.help-star-fields legend{padding:0 .35rem;color:#f5cc67;font-weight:850}.help-star-fields label{display:grid;gap:.25rem;color:#b9c2c4;font-size:.72rem}
@media(max-width:850px){.help-category-grid{grid-template-columns:1fr 1fr}.help-gear-layout,.help-taylor-grid{grid-template-columns:1fr}.help-metrics{grid-template-columns:1fr 1fr}.help-star-fields{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.help-category-grid,.help-toolbar,.help-metrics{grid-template-columns:1fr}.help-tier-row{grid-template-columns:1fr}.tier-mark{min-height:3.5rem}.help-calculation{grid-template-columns:1fr}.help-toolbar img{max-height:10rem}.help-detail-head .quiet,.help-toolbar .quiet{float:none;margin-bottom:.7rem}.help-star-fields{grid-template-columns:1fr}.help-category-card{grid-template-rows:8.5rem 1fr}}

/* HaTo Clan Command Center – rein visuelles Thema */
:root{
  --ink:#f8f1df;
  --muted:#a9bac5;
  --steel:#0b1924;
  --panel:#102330;
  --panel-soft:#183343;
  --line:#315269;
  --sand:#dca64d;
  --gold:#f6ca68;
  --orange:#eb8b38;
  --red:#cf4c3f;
  --green:#52c58b;
  --cyan:#56d0ca;
  --shadow:0 22px 54px #020609a6, inset 0 1px #ffffff0c;
}
html{background:#06121b}
body{
  background:
    radial-gradient(ellipse 105% 42% at 50% -8%,#24566a 0%,#102b3a 29%,transparent 66%),
    radial-gradient(circle at 8% 18%,#7b2d2552 0%,transparent 24%),
    radial-gradient(circle at 92% 72%,#ba79322e 0%,transparent 26%),
    linear-gradient(145deg,#07141e 0%,#091a25 48%,#050e16 100%);
}
body::before{
  opacity:.55;
  background-image:
    linear-gradient(30deg,#77c7ce0a 12%,transparent 12.5%,transparent 87%,#f3c56a08 87.5%,#f3c56a08),
    linear-gradient(150deg,#f3c56a08 12%,transparent 12.5%,transparent 87%,#77c7ce0a 87.5%,#77c7ce0a),
    linear-gradient(90deg,#ffffff03 1px,transparent 1px),
    linear-gradient(#ffffff03 1px,transparent 1px);
  background-size:54px 92px,54px 92px,26px 26px,26px 26px;
}
header{
  position:relative;
  isolation:isolate;
  min-height:142px;
  margin-top:1.25rem;
  padding:2.15rem 2rem 1.8rem;
  overflow:hidden;
  border:1px solid #7cc1cf2e;
  border-radius:18px 18px 0 0;
  background:
    linear-gradient(100deg,#0b202d 0%,#102b39e8 52%,#291e18cf 100%),
    linear-gradient(90deg,#ffffff08 1px,transparent 1px);
  background-size:auto,36px 36px;
  box-shadow:0 18px 38px #0008,inset 0 1px #ffffff12;
}
header::before{
  content:"HATO";
  position:absolute;
  z-index:-1;
  right:2rem;
  top:50%;
  transform:translateY(-49%) skewX(-12deg);
  color:#f4c45c12;
  font-size:clamp(4.8rem,12vw,10rem);
  line-height:.8;
  font-weight:950;
  letter-spacing:-.11em;
  text-shadow:2px 2px #d94b3314;
}
header::after{
  content:"CLAN COMMAND  •  LAST WAR";
  position:absolute;
  right:2.05rem;
  bottom:1rem;
  color:#eec766a8;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.18em;
}
header>div:first-child{padding-left:1.2rem}
header>div:first-child::before{width:5px;background:linear-gradient(#57d5cb,#f6cb68 52%,#d64b3b);box-shadow:0 0 14px #58d2ca6b}
.eyebrow{color:#69d8d0;text-shadow:0 0 15px #54d1c072;font-size:.68rem}
h1{font-weight:900;letter-spacing:-.045em}
h1::after{content:"  //  HaTo";color:#f3c45d;font-size:.38em;letter-spacing:.08em;vertical-align:middle;text-shadow:none}
.account{
  min-width:10.5rem;
  border-color:#f4c6624f;
  border-radius:8px;
  background:linear-gradient(145deg,#111f2ae8,#182934cc);
  box-shadow:inset 0 1px #ffffff12,0 10px 25px #0006;
}
.account b{color:#ffdb83}.account span{color:#7edbd0;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
nav{
  position:sticky;
  z-index:10;
  top:0;
  min-height:56px;
  padding:.55rem 1.1rem;
  border:1px solid #73bac62c;
  border-top:1px solid #ffffff12;
  border-radius:0 0 16px 16px;
  background:linear-gradient(90deg,#0c1d29f5,#122d39f5 58%,#241d1af5);
  box-shadow:0 14px 32px #0007;
}
nav button{position:relative;border-radius:7px;color:#b9cbd1;font-size:.88rem}
nav button::after{content:"";position:absolute;inset:auto .65rem .3rem;height:2px;border-radius:2px;background:#59d5cc;transform:scaleX(0);transition:transform .18s ease}
nav button:hover{color:#fff;background:#ffffff0d}nav button:hover::after{transform:scaleX(1)}
nav .active{background:linear-gradient(135deg,#f5cc69,#d97035);border-color:#ffe7a071;color:#171c20;box-shadow:0 5px 15px #0008,inset 0 1px #fff4c7}.active::after{display:none}
nav form,.admin-login{margin-left:auto}.admin-login,.quiet{border-color:#69bec538;background:#152b37;color:#d7ebea}.admin-login:hover,.quiet:hover{background:#1e3b48;border-color:#70d4cc80}
.accent{border-radius:7px;background:linear-gradient(135deg,#f7d276 0%,#e6963e 58%,#ca5940);border-color:#ffeaa78f;box-shadow:0 6px 18px #0007,inset 0 1px #fff9d0a1}.accent:hover{background:linear-gradient(135deg,#ffe493,#efa343 58%,#de6345)}
.danger{border-radius:7px;background:linear-gradient(135deg,#7c3437,#5b232b);border-color:#e5736260}.danger:hover{background:linear-gradient(135deg,#984244,#6d2932)}
main{padding-top:1.65rem}
.card,.event-card,.team-card,.counts>div,.announcement{
  border-color:#6eb7c42b;
  border-radius:13px;
  background:
    linear-gradient(125deg,#193343f2 0%,#10232ee8 62%,#0d1c27f2 100%),
    linear-gradient(90deg,#ffffff05 1px,transparent 1px);
  background-size:auto,26px 26px;
  box-shadow:var(--shadow);
}
.card::before,.team-card::before,.announcement::before{height:2px;background:linear-gradient(90deg,transparent,#57d4cbcc 20%,#f3c363 53%,#d24a3d 83%,transparent)}
.card::after,.team-card::after{content:"";position:absolute;right:-2.2rem;bottom:-2.2rem;width:7rem;height:7rem;border:1px solid #f0be5d1a;border-radius:50%;pointer-events:none}
.event-card{position:relative;overflow:hidden;border-left-color:#55d0c4;background:linear-gradient(110deg,#1f3942,#192a2f 52%,#37251c)}
.event-card::after{content:"";position:absolute;right:1.4rem;top:50%;width:2.9rem;height:2.9rem;border:2px solid #efbe5b7d;transform:translateY(-50%) rotate(45deg);box-shadow:0 0 0 5px #57d2c415}
.event-card h2{position:relative;z-index:1}.tag{border:1px solid #ffffff1d;background:#203e4c;color:#d9f4ef}.tag.open{background:#1b543d;border-color:#66d59255;color:#b9f7cd}.tag.closed,.tag.completed{background:#632d35;border-color:#ed736260;color:#ffd7d2}
input,select,textarea{border-color:#5f95a766;background:#081721d9;box-shadow:inset 0 1px 6px #000a,0 1px #ffffff08}
input:hover,select:hover,textarea:hover{border-color:#71d4cc9b}input:focus,select:focus,textarea:focus{border-color:#f6ca68;box-shadow:0 0 0 3px #f5c66422,inset 0 1px 6px #000a}
.counts>div{border-top:2px solid #4fc9c0;min-height:92px}.counts>div:nth-child(2n){border-top-color:#edbd5c}.counts>div:nth-child(3n){border-top-color:#d75b47}.counts b{color:#ffda80;text-shadow:0 2px 15px #e6a43a3d}
th{background:#091923;color:#71d9d0;border-bottom-color:#eec26450}tbody tr:hover{background:#3c7c8530}td{border-bottom-color:#6eb5bf18}
.team-card .card-head b{border:1px solid #f2c65e5d;background:#4c3d21;color:#ffe59c}
.map-card,.battle-map-card{border-color:#e7b75248}.battle-map{box-shadow:inset 0 0 0 1px #f4ce746e,inset 0 0 4rem #1a060259,0 18px 35px #0009}.map-plan-name{border-color:#6fd4c889;background:#0c2029e8;color:#ffe397;box-shadow:0 4px 17px #000c}.battle-post{border-color:#e9b65d9c;background:#fffae9ed;box-shadow:0 4px 12px #1b080bb0}.battle-post.selected{outline-color:#58d5ca;background:#fff0ba}.battle-post.mine{box-shadow:0 0 0 3px #55d3c2,0 4px 12px #1b080bb0}
.help-category-card{border-color:#65c6c04a;background:linear-gradient(145deg,#15313f,#0c1d27)}.help-category-cover{background:linear-gradient(135deg,#0d2c38,#1d2226)}.help-entry-card{border-color:#5fbcc439;background:linear-gradient(145deg,#132c38,#0b1922)}.tier-mark{border-color:#f1c56255;box-shadow:var(--shadow)}
@media(max-width:720px){header{margin-top:0;border-radius:0;padding:1.55rem 1rem 1.45rem}header::before{right:.8rem}header::after{right:1rem;bottom:.55rem;font-size:.51rem}h1::after{display:none}nav{border-radius:0 0 12px 12px;padding:.55rem .8rem}.account{min-width:auto}.event-card::after{display:none}}

/* Mobile-first Bedienung: Smartphone, Tablet und kleine Hochkant-Bildschirme */
@media (max-width: 760px){
  html{font-size:16px}
  body{min-width:320px;background-attachment:fixed}
  header,nav,main,.notice{max-width:none}
  header{min-height:118px;padding:1.25rem 1rem 1.55rem}
  header>div:first-child{max-width:calc(100% - 7.2rem)}
  header h1{font-size:clamp(1.65rem,8vw,2.15rem)}
  .eyebrow{font-size:.58rem;letter-spacing:.13em}
  header::before{font-size:5.3rem;right:.7rem;opacity:.75}
  header::after{right:.9rem;bottom:.48rem;font-size:.46rem;letter-spacing:.1em}
  .account{position:relative;z-index:1;min-width:6.6rem;padding:.45rem .55rem;font-size:.72rem}
  .account b{font-size:.77rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:6rem}
  nav{top:0;gap:.35rem;padding:.5rem .65rem;scroll-padding-inline:.65rem;-webkit-overflow-scrolling:touch}
  nav button,nav a,.admin-login{min-height:40px;padding:.55rem .66rem;font-size:.78rem}
  nav form,.admin-login{margin-left:0}
  nav .language-toggle{margin-left:auto}
  main{padding:1rem .75rem 2.25rem}
  .notice{margin: .75rem .75rem 0;padding:.72rem .85rem;font-size:.88rem}
  .card,.event-card,.team-card,.announcement{padding:1rem;border-radius:11px;margin-bottom:.8rem}
  .event-card h2{font-size:1.08rem;padding-right:0}
  .event-card p,.hint{font-size:.86rem}
  h2{font-size:1.08rem}
  button{min-height:42px;padding:.65rem .8rem}
  input,select,textarea{min-height:44px;font-size:16px}
  textarea{min-height:7.5rem}
  .form-grid,.help-star-fields{grid-template-columns:1fr!important;gap:.7rem}
  .wide{grid-column:auto}
  .inline-form,.controls,.card-head,.records li,.record{align-items:stretch;flex-direction:column}
  .controls,.card-head{gap:.7rem}
  .card-head>span,.record>span:last-child{display:flex;flex-wrap:wrap;gap:.45rem}
  .card-head>span button,.record>span:last-child button{flex:1}
  .actions{display:grid;grid-template-columns:1fr;gap:.55rem}.actions button{width:100%}
  .counts,.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.55rem}
  .counts>div{min-height:76px;padding:.75rem}.counts b{font-size:1.35rem}
  .teams,.tactics-grid,.help-category-grid,.help-gear-layout,.help-taylor-grid{grid-template-columns:1fr!important;gap:.8rem}
  .team-card .card-head{flex-direction:row;align-items:center}
  .table-wrap{margin-inline:-.1rem;border-radius:8px;max-width:calc(100vw - 1.7rem)}
  table{min-width:43rem;font-size:.8rem}th,td{padding:.55rem .5rem;white-space:nowrap}
  td:last-child{white-space:normal;min-width:8.5rem}td button{min-height:34px;padding:.38rem .48rem}
  .map-actions,.plan-toolbar{display:grid;grid-template-columns:1fr;gap:.55rem}.map-actions button,.plan-toolbar button,.plan-toolbar select{width:100%;max-width:none}
  .battle-map-card{padding:.65rem;overflow:visible}.battle-map{min-height:20rem;border-radius:9px}
  .map-plan-name{max-width:80%;overflow:hidden;text-overflow:ellipsis;top:.5rem}
  .battle-post{width:clamp(3.8rem,19vw,5.7rem);min-height:1.9rem;padding:.16rem .18rem;border-radius:6px}
  .battle-post b{font-size:clamp(.46rem,2vw,.65rem)}.battle-post .map-names i{font-size:clamp(.43rem,1.6vw,.56rem)}.battle-post .map-empty{font-size:.46rem}
  .help-category-card{grid-template-rows:9rem 1fr}.help-category-card p{min-height:0}.help-toolbar{display:grid;grid-template-columns:1fr;gap:.75rem}.help-toolbar img{max-height:10rem}.help-filter-row,.help-gear-tabs{gap:.4rem}.help-filter-row label{width:100%}.help-filter-row select{width:100%}.help-filter-row button,.help-gear-tabs button{flex:1;min-width:5.25rem}
  .help-tier-row{grid-template-columns:1fr;gap:.55rem}.tier-mark{min-height:3.1rem;font-size:1.35rem}.help-entry-grid{grid-template-columns:1fr}.help-metrics,.help-calculation{grid-template-columns:1fr 1fr;gap:.55rem}.help-metrics>div,.help-calculation>div{padding:.75rem}.help-metrics b,.help-calculation b{font-size:1.12rem}
  .upload-preview,.announcement-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.upload-preview img,.image-thumbnail img,.announcement-gallery img{height:6.3rem}
}
@media (max-width:390px){
  header>div:first-child{max-width:calc(100% - 6rem)}
  .account{min-width:5.7rem}.account b{max-width:5.2rem}
  main{padding-inline:.6rem}.notice{margin-inline:.6rem}
  nav button,nav a,.admin-login{font-size:.73rem;padding:.52rem .58rem}
  .counts,.admin-stats{grid-template-columns:1fr!important}
  .help-metrics,.help-calculation{grid-template-columns:1fr}
  .battle-map{min-height:18rem}
}

/* Tactical reserve panel stays inside the left map lane and clear of Oil Refinery I. */
.battle-post.subs-post{width:clamp(6.7rem,11vw,10rem);min-height:8.2rem;padding:.42rem .32rem}
.battle-post.subs-post .map-names{max-height:7rem}
.tactic-profile{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(15rem,.85fr);gap:1rem;align-items:start}
.tactic-profile h2{margin:.45rem 0}.tactic-profile ul{margin:0;padding-left:1.15rem;color:#d8e0dc;display:grid;gap:.35rem}.tactic-rule{grid-column:1/-1;margin:0;padding-top:.75rem;border-top:1px solid #d4a74738}
@media(max-width:720px){.battle-post.subs-post{width:clamp(4.7rem,14vw,6.3rem);min-height:6.2rem;padding:.22rem .13rem}.battle-post.subs-post .map-names{max-height:5rem;gap:.06rem}.tactic-profile{grid-template-columns:1fr;gap:.7rem}}

.tactic-history{grid-column:1/-1;border-top:1px solid #d4a74738;padding-top:.75rem}.tactic-history p{margin:.5rem 0;color:#d8e0dc}.tactic-history small{color:#9faeb0}.tactic-history .tag{margin-right:.35rem}.tag.win{background:#1f754e;color:#d8ffe9}.tag.draw{background:#786631;color:#fff0b0}.tag.loss{background:#8c3737;color:#ffe0e0}.tactic-learning textarea{min-height:5rem}

.battle-post.jumper-post{width:clamp(5.6rem,9vw,7rem);min-height:2.7rem;border-color:#3b9ac5;background:#e7f8ffeb}.battle-post.jumper-post b{color:#175b78}@media(max-width:720px){.battle-post.jumper-post{width:clamp(3.9rem,15vw,5rem);min-height:2rem}}

/* Öffentlicher Squad Configurator */
.squad-configurator{display:grid;gap:1rem}.squad-header{display:flex;gap:1rem;align-items:flex-start}.squad-header h2{margin:.2rem 0}.squad-header p{margin:.35rem 0 0;color:var(--muted)}.squad-tabs{position:static;min-height:0;margin:0;display:flex;gap:.5rem;overflow:auto;border-radius:12px;padding:.5rem}.squad-tabs button{white-space:nowrap}.squad-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(16rem,.75fr);gap:1rem}.squad-formation-layout{align-items:start}.squad-count{padding:.45rem .65rem;border-radius:8px;background:#f0b85225;border:1px solid #f4cb6a63;color:#ffe09a}.squad-filters,.squad-profile{display:flex;flex-wrap:wrap;gap:.45rem;margin:.8rem 0}.squad-filters button,.squad-profile button{border-color:#70b7c844;background:#112a36;color:#c4d8da}.squad-filters button.active,.squad-profile button.active{color:#182127;background:linear-gradient(135deg,#f5d578,#e6893f);border-color:#ffe99d}.squad-hero-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.65rem}.squad-hero{padding:.75rem;border-radius:10px;border:1px solid #65bdc444;background:linear-gradient(145deg,#15313e,#0a1b24);box-shadow:inset 0 1px #fff1}.squad-hero.muted{opacity:.58;filter:saturate(.55)}.squad-hero.assigned{border-color:#f1c45e;box-shadow:0 0 0 1px #f1c45e55,inset 0 1px #fff1}.squad-hero h4{margin:.45rem 0 .2rem}.squad-hero p{font-size:.78rem;color:#aebfc4;margin:.2rem 0 .7rem}.squad-hero-top,.squad-hero-actions{display:flex;gap:.35rem;align-items:center;justify-content:space-between}.squad-hero-actions{justify-content:flex-start}.squad-hero-actions button{min-height:32px;padding:.38rem .48rem;font-size:.72rem}.squad-type{padding:.18rem .36rem;border-radius:999px;color:#e8f6f5;background:#315d63;font-size:.66rem;font-weight:800}.squad-type.air{background:#286083}.squad-type.tank{background:#715d2a}.squad-type.missile{background:#7b3b3a}.icon-button{width:32px;padding:0!important}.squad-board{display:grid;grid-template-columns:2fr 3fr;gap:.9rem;padding:.9rem;border:1px solid #67c4c33a;border-radius:12px;background:#06141da8}.squad-board h3,.subhead{margin:.15rem 0 .55rem;font-size:.95rem}.squad-slots{display:grid;gap:.55rem}.squad-slots.back{grid-template-columns:repeat(3,minmax(0,1fr))}.squad-slot{position:relative;min-height:7.4rem;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.18rem;padding:.65rem;border:1px dashed #72b5c47b;border-radius:9px;background:#0d212be8;color:#d4e9e9}.squad-slot.selected{outline:2px solid #59d6ce;outline-offset:2px}.squad-slot.filled{border-style:solid;border-color:#eac362a6;background:linear-gradient(145deg,#263c37,#18262c)}.squad-slot span{font-size:.67rem;text-transform:uppercase;letter-spacing:.06em;color:#78cfc9}.squad-slot b{font-size:.9rem}.squad-slot small{font-size:.7rem;color:#aac1c5}.squad-slot i{position:absolute;right:.4rem;top:.32rem;padding:.1rem .35rem;font-style:normal;font-size:1rem;color:#ffcfbf;cursor:pointer}.squad-aside{display:grid;gap:1rem}.squad-report ul{padding-left:1.1rem;margin:.75rem 0;color:#cbd9d8;display:grid;gap:.45rem;font-size:.87rem}.squad-score{display:flex;align-items:center;gap:.65rem;margin:.7rem 0}.squad-score b{font-size:2.8rem;line-height:1;color:#ffdc82;text-shadow:0 0 16px #e4973b44}.squad-score span{font-size:.8rem;color:#b9cdcf}.squad-upgrade{padding:.6rem;border-left:3px solid #eabe55;background:#eabe5514}.squad-total{font-size:.83rem;color:#aebfc4}.squad-suggestion{display:flex;width:100%;text-align:left;flex-direction:column;gap:.25rem;margin:.5rem 0;padding:.65rem;border-radius:8px;border-color:#61c5be4b;background:#0d222c;color:#ddf0ef}.squad-suggestion:hover{border-color:#e8bf5b;color:#fff}.squad-suggestion span{font-size:.73rem;color:#a8c0c3}.squad-roster-help{align-self:start}.squad-roster-help ol{padding-left:1.2rem;display:grid;gap:.55rem;color:#d5e0df}.squad-roster-help p{font-size:.84rem;color:#aebfc4}.squad-detail{margin-top:1rem}.squad-fieldset{margin:.85rem 0;padding:.85rem;border:1px solid #67b9c640;border-radius:9px}.squad-fieldset legend{padding:0 .35rem;color:#f8d37a;font-weight:800}.dual{display:grid;grid-template-columns:5rem 1fr;gap:.45rem}.check-label{display:flex;gap:.5rem;align-items:center}.check-label input{min-height:auto}.inline-actions{display:flex;flex-wrap:wrap}.inline-actions button{width:auto}.squad-configurator #squad-backup{width:100%;min-height:18rem;margin-top:.9rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}.squad-category-card .help-category-cover{background:radial-gradient(circle at 65% 25%,#ffd66d 0 4%,transparent 5%),linear-gradient(145deg,#193e4b,#7d3d2a 55%,#142630);font-size:3.2rem;font-weight:950;letter-spacing:-.08em;color:#ffdda0;text-shadow:0 5px 16px #0009}.squad-category-card .help-category-cover::after{content:"SQUAD";position:absolute;bottom:.85rem;right:1rem;font-size:.7rem;letter-spacing:.22em;color:#66d6cd}.squad-category-card .help-category-cover{position:relative}
@media(max-width:900px){.squad-grid{grid-template-columns:1fr}.squad-aside{grid-template-columns:1fr 1fr}.squad-roster-help{align-self:auto}}
@media(max-width:720px){.squad-header{display:grid;grid-template-columns:1fr}.squad-header .quiet{justify-self:start}.squad-tabs{padding:.45rem;gap:.35rem}.squad-tabs button{font-size:.76rem;padding:.5rem .62rem;min-height:38px}.squad-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.squad-hero{padding:.6rem}.squad-hero h4{font-size:.86rem}.squad-hero-actions{flex-wrap:wrap}.squad-hero-actions button{flex:1}.squad-board{grid-template-columns:1fr;padding:.7rem}.squad-slots.back{grid-template-columns:1fr}.squad-slot{min-height:5.2rem}.squad-aside{grid-template-columns:1fr}.dual{grid-template-columns:1fr}.inline-actions{display:grid;grid-template-columns:1fr}.inline-actions button{width:100%}}

/* Squad Configurator: öffentliche Referenzansicht mit freigegebenen Heldenporträts */
.source-configurator .squad-header{background:linear-gradient(130deg,#21374b,#0e202d 60%,#323447)}
.source-configurator .squad-tabs{background:#111d2a;border:1px solid #6fa8c33a}
.source-configurator .squad-tabs button{border-radius:8px;font-weight:800}
.source-configurator .squad-hero-grid{grid-template-columns:repeat(auto-fill,minmax(8.65rem,1fr))}
.source-configurator .source-hero{position:relative;min-height:13.2rem;padding:.45rem;overflow:hidden;border-radius:10px;background:linear-gradient(155deg,#263c53,#101b2a 70%);border-color:#5e8aa078}
.source-configurator .source-hero>img{display:block;width:100%;height:7.3rem;object-fit:cover;object-position:center top;border-radius:7px;background:#172b3c}
.source-configurator .source-hero .squad-hero-top{position:absolute;left:.7rem;right:.7rem;top:.68rem;color:#fff;text-shadow:0 2px 4px #000;font-weight:900}
.source-configurator .source-hero .squad-hero-top span:last-child{padding:.14rem .35rem;border-radius:5px;background:#d28b37;color:#20160b;text-shadow:none}
.source-configurator .source-hero h4{margin:.42rem .1rem .05rem;font-size:.86rem}.source-configurator .source-hero p{margin:.05rem .1rem .38rem;font-size:.68rem}
.source-configurator .source-hero .squad-hero-actions{position:absolute;right:.6rem;bottom:.45rem;left:.6rem}.source-configurator .source-hero .squad-hero-actions .quiet{min-width:1.95rem}.source-configurator .source-hero .squad-hero-actions .accent{font-size:.65rem}
.source-configurator .squad-board{background:linear-gradient(145deg,#172a3c,#101824)}.source-configurator .squad-slot{background:#1b2b3a;border-color:#7e9bad}.source-configurator .squad-suggestion{background:linear-gradient(145deg,#1d3344,#17212f);border-color:#6087a375}.source-configurator .squad-suggestion b{color:#f8d47e}.source-configurator .squad-report{background:linear-gradient(145deg,#20374a,#111c29)}
@media(max-width:720px){.source-configurator .squad-hero-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.source-configurator .source-hero{min-height:10.7rem;padding:.32rem}.source-configurator .source-hero>img{height:5.4rem}.source-configurator .source-hero h4{font-size:.72rem}.source-configurator .source-hero p{font-size:.58rem}.source-configurator .source-hero .squad-hero-top{left:.5rem;right:.5rem;top:.5rem;font-size:.7rem}.source-configurator .source-hero .squad-hero-actions{left:.42rem;right:.42rem;bottom:.32rem;gap:.16rem}.source-configurator .source-hero .squad-hero-actions button{min-height:25px;padding:.2rem}.source-configurator .source-hero .icon-button{width:25px}.source-configurator .squad-tabs{overflow-x:auto}}

.event-confirm{display:flex!important;align-items:flex-start;gap:.65rem;line-height:1.45;padding:.65rem .8rem;border:1px solid #f0b84b55;border-radius:9px;background:#f0b84b12;color:#f7d88d!important}.event-confirm input{width:auto;min-width:1rem;margin:.2rem 0 0;padding:0;box-shadow:none}

/* Owner visitor dashboard */
.visitor-counts{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.visitor-filters{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}
.visitor-filters label{display:grid;gap:.4rem;color:var(--muted);min-width:180px}
.visitor-table .selected-day{background:#46c5b520}.visitor-table td{vertical-align:middle}
.visitor-table td:first-child{white-space:nowrap}.visitor-table td:last-child{color:#ffda80}
@media(max-width:440px){.visitor-filters{align-items:stretch;flex-direction:column}.visitor-filters label{width:100%}}

/* HaTo identity: armored steel, olive, parchment and restrained gold. */
:root{--ink:#f2efe4;--muted:#a6afa9;--steel:#1c2420;--panel:#1a211d;--panel-soft:#232b25;--line:#3e483d;--sand:#c9ab70;--gold:#e6c078;--orange:#cf9e51;--red:#b46252;--green:#8cb697;--shadow:0 8px 28px #00000026;color:var(--ink);background:#101512;line-height:1.55}
html{background:#101512}body{background:radial-gradient(ellipse at 70% 0,#32372a45,transparent 50%),#101512;background-attachment:fixed}
body::before{z-index:0;opacity:.18;background-image:linear-gradient(#bcb4910d 1px,transparent 1px),linear-gradient(90deg,#bcb4910d 1px,transparent 1px);background-size:64px 64px;pointer-events:none}
#app{position:relative;isolation:isolate}header,nav,main,.notice{max-width:1240px}
.clan-header{min-height:260px;margin-top:1.5rem;padding:2.6rem 2.3rem;overflow:hidden;border:1px solid #c6af7052;border-bottom:0;border-radius:18px 18px 0 0;background:linear-gradient(90deg,#141a16 5%,#141a16e8 35%,#141a1655 67%,#141a1680),url('/assets/hato-command-hero.webp') 65% 52%/cover;box-shadow:0 18px 55px #0005}
.clan-header::before{content:"";inset:0;transform:none;font-size:initial;background:linear-gradient(0deg,#101512d6,transparent 65%);z-index:-1;opacity:1}
.clan-header::after{content:"";inset:auto 0 0;height:1px;background:linear-gradient(90deg,#d9b66c,transparent 82%)}
.clan-header .clan-identity{max-width:none;display:flex;align-items:center;gap:1.35rem;padding:0;position:relative;z-index:1}
.clan-header .clan-identity::before{display:none}
.clan-crest{width:112px;height:112px;filter:drop-shadow(0 8px 15px #0008);flex-shrink:0}
.clan-header .eyebrow{font-size:.62rem;letter-spacing:.23em;font-weight:750;color:#d4bc88;text-shadow:none;margin-bottom:.45rem}
.clan-header h1{font-size:clamp(3.2rem,6vw,4.9rem);letter-spacing:-.055em;font-weight:900;line-height:.98;color:#f2e6c8;margin:0;text-shadow:0 3px 20px #0008}
.clan-header h1::after{display:none}.command-title{display:block;font-size:.17em;line-height:1.6;letter-spacing:.27em;color:#e1d8c2;margin:.6rem 0 .25rem}
.clan-motto{color:#c4c7bd;font-size:.82rem;margin:.4rem 0 0}
.header-callsign{position:absolute;bottom:1.15rem;right:1.5rem;letter-spacing:.19em;font:600 .62rem ui-monospace,SFMono-Regular,monospace;color:#d2c6a791}
.clan-header .account{position:absolute;right:1.5rem;top:1.5rem;min-width:0;display:flex;align-items:center;gap:.7rem;padding:.65rem .85rem;background:#151b16d9;border:1px solid #b6ab7b48;border-radius:8px;backdrop-filter:blur(12px);box-shadow:none;text-align:left}
.clan-header .account>div{display:grid}.account b{font-size:.84rem;color:#efe2c5}.clan-header .account span:not(.account-indicator){color:#b4bcae;font-size:.59rem;font-weight:650;letter-spacing:.07em}
.account-indicator{height:7px;width:7px;background:#9bbc85;border-radius:50%;box-shadow:0 0 0 4px #9bbc8512;flex-shrink:0}
.primary-nav{padding:.7rem 1rem;overflow:visible;border:1px solid #c6af7033;border-top:0;background:#1b221ced;border-radius:0 0 12px 12px;box-shadow:0 8px 20px #0003;backdrop-filter:blur(18px);min-height:0}
.nav-panel{display:flex;gap:.65rem;align-items:flex-start;width:100%}.nav-destinations{display:flex;flex:1;flex-wrap:wrap;gap:.3rem;min-width:0}.nav-access{display:flex;align-items:center;gap:.35rem;flex-shrink:0;padding-top:.05rem}
.primary-nav .nav-destinations button{display:flex;align-items:center;gap:.5rem;font-size:.75rem;min-height:41px;padding:.65rem .7rem;border-radius:6px;color:#b8c1b8;line-height:1.2;font-weight:650;background:transparent;border:1px solid transparent;box-shadow:none}
.nav-icon{width:17px;height:17px;flex-shrink:0;opacity:.85}.primary-nav button::after{display:none}.primary-nav .nav-destinations button:hover{color:#eee8d7;background:#cdb47a12;border-color:#a3947040;transform:none}
.primary-nav .nav-destinations .active{background:#d8b775!important;border-color:#f7dfa055!important;color:#171c16!important;box-shadow:0 2px 8px #0002!important;font-weight:800}
.primary-nav form,.primary-nav .admin-login{margin:0}.primary-nav .nav-access button,.primary-nav .admin-login{min-height:40px;padding:.6rem .65rem;font-size:.73rem;white-space:nowrap}.nav-menu-toggle{display:none}
main{padding:1.6rem 1.15rem 3.5rem}h2{font-size:1.15rem;font-weight:750;letter-spacing:-.02em;color:#eeeade}h3{color:#e4ddc9;font-size:1rem;font-weight:700}p{line-height:1.6}
.card,.event-card,.team-card,.counts>div,.announcement{padding:1.4rem;border:1px solid #9daa8527;border-radius:12px;background:linear-gradient(125deg,#202820,#1b221d 75%);background-size:auto;box-shadow:var(--shadow);margin-bottom:1.05rem}
.card::before,.team-card::before,.announcement::before{height:1px;background:linear-gradient(90deg,#d8b77570,transparent 65%)}
.card::after,.team-card::after{display:none}.card-head{margin-bottom:1rem;gap:1rem}.hint,.event-card p,.muted{color:var(--muted)}
.event-card{border-left:3px solid #d8b775;background:linear-gradient(110deg,#38352a,#202720 60%);padding:1.15rem 1.4rem}.event-card::after{display:none}.event-card h2{font-size:1.2rem;margin-top:.5rem}.event-card p{margin:.4rem 0 0;font-size:.86rem}
.tag{padding:.2rem .5rem;font-size:.64rem;font-weight:700;letter-spacing:.03em;border-radius:5px;border:1px solid #c3bf9733;background:#333a2c;color:#d6d6b7}.tag.open,.tag.published{background:#344838;border-color:#799e7b55;color:#c0dec1}.tag.closed,.tag.completed{background:#50352d;color:#e9bcab;border-color:#b9745750}.tag.draft,.always-badge{background:#4a4030;color:#e2c996;border-color:#9f87594d}
button{border-radius:7px;padding:.7rem .95rem;font-size:.85rem;font-weight:700;min-height:40px;background:#354032;color:#e5e8dc;box-shadow:none;transition:background .16s,border-color .16s,box-shadow .16s}
button:hover{transform:none;background:#46523f;border-color:#a6b58955}.quiet,.admin-login{color:#d6dece;background:#2a342b;border-color:#83957840}.quiet:hover,.admin-login:hover{color:#f4f1e4;background:#374431;border-color:#a1b18577}
.accent{background:linear-gradient(135deg,#e6c887,#c79e57);border-color:#f1d79a70;color:#1d2118;box-shadow:0 3px 10px #0002,inset 0 1px #ffedb24d}.accent:hover{background:linear-gradient(135deg,#f1dba2,#d9b672);border-color:#f1d79a}
.danger{background:#51312d;border-color:#a9685355;color:#edc2b0}.danger:hover{background:#684034;border-color:#b47860}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #e6c078;outline-offset:3px}
input,select,textarea{background:#141a15;border:1px solid #85957850;border-radius:7px;padding:.8rem;color:#eeeee2;font-size:.9rem;box-shadow:inset 0 1px 3px #0003;min-height:44px}
input::placeholder,textarea::placeholder{color:#9ca591}input:hover,select:hover,textarea:hover{border-color:#a6af8b99}input:focus,select:focus,textarea:focus{border-color:#d8b775;box-shadow:0 0 0 3px #d8b77516}
.form-grid{gap:1rem}.form-grid label{color:#c8d0be;font-size:.78rem;font-weight:650}.check input,.check-label input{min-height:0;accent-color:#d8b775}
.notice{background:#283d2b;border-color:#74966e55;border-left-color:#90b083;color:#d5e9ce;border-radius:8px}
.counts{gap:.8rem}.counts>div{margin:0;min-height:98px;padding:1.05rem 1.2rem;background:#222b21;border-top:2px solid #aeaa76;box-shadow:0 5px 18px #0002}.counts>div:nth-child(2n){border-top-color:#d6b77a}.counts>div:nth-child(3n){border-top-color:#88a387}.counts span{color:#b2bca8;font-size:.63rem;letter-spacing:.1em}.counts b{color:#e6ce92;font-size:2rem;font-variant-numeric:tabular-nums;text-shadow:none;font-weight:750}
.table-wrap{border-color:#88947230;border-radius:8px}table{font-size:.83rem}th{background:#171e18;color:#cdb989;font-weight:750;letter-spacing:.1em;font-size:.65rem;border-color:#969a6f40;padding:.85rem .75rem}td{padding:.8rem .75rem;border-color:#8e9c7720;color:#d7decc}tbody tr:hover{background:#d6c69909}td button{border-radius:5px}
.team-card .card-head b{color:#e3cb97;border:1px solid #b79d624d;background:#413d2b}.records li,.record{padding:.85rem .1rem;border-bottom-color:#8e9c7720}
.help-hero{background:linear-gradient(120deg,#2d382a,#222a21 65%,#3f3828)}.help-category-card,.help-entry-card{border-color:#a49b6b40;background:linear-gradient(135deg,#2a3327,#1b231d)}.help-category-cover{background:linear-gradient(120deg,#2c382b,#39362a)}.help-category-cover span{color:#d6bb7d}.help-category-card>div:last-child{padding:1.2rem}.help-category-card p{font-size:.87rem}.help-category-card h2{font-size:1.06rem}
.help-detail-head,.help-entry-detail,.help-gallery,.help-admin-panel{border-color:#a49b6b40}.help-metrics>div,.help-calculation>div{background:#202b22;border-color:#7c8c6950}.help-filter-row button,.help-gear-tabs button{background:#29362a;border-color:#81917155;color:#d3ddcb}.help-filter-row .active,.help-gear-tabs .active{background:#d8b775;color:#171c16}
.upload-preview figure,.image-thumbnail,.lightbox>section,.player-picker-dialog{background:#1c251e;border-color:#b8a57250}.player-picker-choice{background:#2b3529}.player-picker-choice small{color:#aebca7}
.visitor-table .selected-day{background:#cfba7210}.visitor-table td:last-child{color:#e6ce92}.warn{color:#ddb58f}
.battle-map-card{border-color:#b59b6248}.map-plan-name{background:#192019ed;border-color:#cdb47a80;color:#f1ddaa;box-shadow:0 4px 15px #0006}.battle-post.selected{outline-color:#dbb96a}.battle-post.mine{box-shadow:0 0 0 3px #8eb786,0 4px 12px #1b080bb0}
.tactical-map{background:#222c23;border-color:#8d9e7850}.map-target{background:#263026;border-color:#85957155;color:#e7e4d5}.map-target.selected{background:#8b7544;border-color:#cfb873}.group-card{background:#202a21;border-color:#85957133;border-left-color:#d5b66e}
@media(min-width:1241px){.clan-header{margin-inline:auto}.primary-nav{top:.5rem}}
@media(max-width:760px){
  body{min-width:320px}.clan-header{margin-top:0;min-height:215px;padding:2.8rem 1rem 1.4rem;border-radius:0;border-inline:0;background-position:68% center}
  .clan-header .clan-identity{gap:.8rem;max-width:none}.clan-crest{width:74px;height:74px}.clan-header h1{font-size:3.3rem}.clan-header .eyebrow{font-size:.49rem;letter-spacing:.15em}.clan-motto{font-size:.72rem;margin-top:.6rem}.command-title{font-size:.18em;letter-spacing:.18em}
  .clan-header .account{top:.65rem;right:.75rem;padding:.38rem .55rem;gap:.5rem;min-width:0}.clan-header .account b{font-size:.65rem;max-width:9rem}.clan-header .account span:not(.account-indicator){font-size:.48rem}.account-indicator{width:5px;height:5px}.header-callsign{bottom:.6rem;right:.9rem;font-size:.48rem}
  .primary-nav{top:0;margin:0;padding:.5rem .7rem;border-radius:0 0 10px 10px;border-inline:0;background:#1b231af5;display:block}
  .nav-menu-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:0;padding:.5rem .65rem;min-height:46px;background:#293328;border:1px solid #7b875c55;color:#eee4c9;box-shadow:none;border-radius:7px}
  .nav-menu-toggle>span{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.menu-label{font-size:.67rem!important;color:#bebfa5}.menu-label svg{width:18px;height:18px}.nav-menu-toggle::after{display:none}.nav-menu-toggle:hover{background:#354031}
  .primary-nav .nav-panel{display:none}.primary-nav[data-expanded="true"] .nav-panel{display:flex;flex-direction:column;padding-top:.6rem;gap:.7rem}
  .nav-destinations{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:.35rem}.primary-nav .nav-destinations button{min-height:46px;text-align:left;white-space:normal;padding:.7rem .6rem;font-size:.74rem;border-color:#82906930;background:#222b21}
  .primary-nav .nav-access{width:100%;border-top:1px solid #a3ab7930;padding-top:.65rem;justify-content:flex-end}.primary-nav .nav-access button,.primary-nav .admin-login{min-height:42px}
  main{padding:1rem .7rem 2.5rem}.card,.event-card,.team-card,.announcement{padding:1.05rem;margin-bottom:.8rem;border-radius:10px}.card-head{gap:.65rem}.event-card{padding:1rem 1.05rem}.event-card h2{font-size:1.08rem}
  input,select,textarea{font-size:16px}.counts>div{padding:.9rem}.counts b{font-size:1.7rem}.counts span{font-size:.61rem}.battle-map-card{padding:.6rem}.notice{margin-inline:.7rem}.clan-header .clan-identity .clan-wordmark{max-width:none}
  .player-picker-dialog{width:calc(100vw - 1.25rem)}
}
@media(max-width:390px){.clan-crest{width:63px;height:63px}.clan-header h1{font-size:2.95rem}.clan-header .clan-identity{gap:.65rem}.clan-header .eyebrow{font-size:.46rem}.nav-destinations{grid-template-columns:1fr 1fr}.primary-nav .nav-destinations button{font-size:.69rem;gap:.38rem}.nav-icon{width:15px;height:15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{.clan-header,.primary-nav{display:none!important}body::before{display:none}}
.login-screen{display:grid;place-items:center;padding:1.4rem;min-height:100svh;background:linear-gradient(90deg,#101512e8,#101512d0),url('/assets/hato-command-hero.webp') 65% center/cover fixed}
.login-box{position:relative;z-index:1;width:min(100%,420px);margin:1rem auto;padding:2rem;border:1px solid #c8aa6355;border-radius:14px;background:#1a231bf2;box-shadow:0 24px 65px #0005;backdrop-filter:blur(16px)}
.login-crest{width:80px;height:80px;display:block;margin-bottom:.8rem}.login-box h1{font-size:1.65rem;color:#eed8a8;letter-spacing:-.025em;text-shadow:none}.login-box h1::after{display:none}.login-box .eyebrow{color:#cdb98a;font-size:.6rem}.login-box>p{font-size:.87rem;color:#b7c0ac}
.login-box label{display:grid;gap:.4rem;margin:1rem 0;font-size:.8rem;font-weight:700;color:#d1d8c5}.login-box button{width:100%;margin:.5rem 0}.login-box .back{display:block;margin-top:1rem;text-align:center;color:#d4c49e;font-size:.8rem;text-decoration:none}.login-box .back:hover{color:#fff0c7;text-decoration:underline}.login-box .login-language{font-size:.72rem;color:#a8b59b;margin-top:.5rem}.login-box .error{padding:.75rem;border:1px solid #b9685355;border-radius:7px;color:#f0bdab;background:#5a352b55}
@media(max-width:440px){.login-screen{padding:.9rem}.login-box{padding:1.5rem}}
/* Keep map markers anchored when hovering or using keyboard focus. */
.battle-post:hover,.battle-post:focus-visible{transform:translate(-50%,-50%)}

/* Danek: connected tasks, safe preview and phase transitions. */
.tactical-preview{border:1px solid var(--gold,#eebd61);scroll-margin-top:110px}
.danek-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.danek-preview-grid table{min-width:0;width:100%}.danek-preview-grid td{white-space:normal;overflow-wrap:anywhere;vertical-align:top}.danek-preview-grid th{white-space:normal}
.danek-role-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:16px 0}.danek-role-grid select{width:100%;min-width:0}
.danek-transitions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}.danek-transitions p{display:flex;flex-direction:column;gap:4px;margin:0;padding:10px 12px;background:rgba(255,255,255,.04);border-radius:8px}.danek-transitions span{font-size:.9rem;color:var(--muted,#aebfc7)}
.danek-arrows{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.danek-arrows path{stroke:#fff0b9;stroke-width:.5;fill:none;filter:drop-shadow(0 1px 1px #261808)}
@media(max-width:900px){.danek-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.danek-preview-grid{grid-template-columns:1fr}.danek-transitions{grid-template-columns:1fr}}
@media(max-width:520px){.danek-role-grid{grid-template-columns:1fr}.tactical-preview .actions{flex-direction:column}.tactical-preview .actions button{width:100%}}

.danek-map{min-height:0;aspect-ratio:1672/941}.danek-phase-list table{width:100%;min-width:0}.danek-phase-list td{white-space:normal;overflow-wrap:anywhere}.danek-phase-list th{white-space:normal}
@media(max-width:720px){.danek-map{min-height:0}.danek-map .battle-post.subs-post{min-height:0}.danek-map .battle-post.subs-post .map-names{max-height:none;font-size:.4rem;gap:0}.danek-map .battle-post.jumper-post{min-height:0}.danek-map .map-plan-name{font-size:.5rem;top:.25rem;padding:.25rem .4rem}}

/* Focused admin workspace: useful actions first, occasional forms on demand. */
.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.admin-heading h2{margin:0;font-size:1.5rem}.admin-heading .eyebrow{font-size:.8rem;margin-bottom:.4rem}
.admin-sections,.admin-page-navigation{display:flex;flex-wrap:wrap;gap:.5rem}.admin-page-navigation{margin-bottom:1rem;padding:.8rem;background:#1b231a;border:1px solid #a6a57440;border-radius:10px}
.admin-sections button,.admin-page-navigation button{font-size:.9rem;min-height:44px;margin:0}
.admin-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1rem 0}
.admin-shortcut{display:flex;align-items:flex-start;gap:.8rem;padding:1.15rem;text-align:left;white-space:normal;width:100%;min-width:0;margin:0;background:#202a21;border:1px solid #85957155;box-shadow:none}
.admin-shortcut .nav-icon{width:24px;height:24px;flex-shrink:0;margin-top:.1rem;color:#e6ce92}
.admin-shortcut span{display:grid;gap:.5rem;min-width:0}.admin-shortcut b{font-size:1rem;color:#eed8a8}.admin-shortcut small{font-size:.9rem;font-weight:400;line-height:1.5;color:#bac4b1}
.admin-shortcut:hover{background:#34412f;border-color:#d8b775}
.admin-create>summary{cursor:pointer;font-size:1rem;font-weight:700;color:#eed8a8;min-height:44px;align-content:center}.admin-create[open]>summary{margin-bottom:1rem}.admin-create .form-grid label{font-size:.9rem}.admin-create input,.admin-create select{font-size:1rem}
.admin-create .event-confirm{display:flex;align-items:flex-start;gap:.7rem;line-height:1.5}.admin-create .event-confirm input{flex-shrink:0;width:20px;min-height:20px;margin:.15rem 0}
.admin-events{display:grid;gap:1rem}.admin-event{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem;background:#19231b;border:1px solid #85957140;border-radius:9px}.admin-event h3{margin:.7rem 0 .4rem;font-size:1.1rem}.admin-event p{margin:0;font-size:1rem}.admin-event .tag{font-size:.85rem;margin-right:.4rem}
.admin-event-actions{display:flex;flex-direction:column;gap:.7rem;align-items:flex-end}.admin-event-actions>button{font-size:.95rem;min-height:44px;margin:0}.admin-event-more>summary{cursor:pointer;font-size:.9rem;color:#c8d0be;text-align:right;min-height:44px;align-content:center}.admin-event-more .actions{justify-content:flex-end;margin-top:.5rem;flex-wrap:wrap}.admin-create+.table-wrap{margin-top:1rem}
@media(max-width:900px){.admin-shortcuts{grid-template-columns:1fr}.admin-event{align-items:flex-start}.admin-heading{align-items:flex-start}}
@media(max-width:600px){.admin-sections{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-page-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-page-navigation button{white-space:normal;padding:.7rem .5rem}.admin-event{flex-direction:column}.admin-event-actions{width:100%;align-items:stretch}.admin-event-more>summary{text-align:left}.admin-event-more .actions{justify-content:flex-start}.admin-event-more button{width:100%}.admin-shortcut{padding:1rem}}

/* Stable personal-strength form and touch-friendly player picker. */
.player-profile-card{max-width:900px;margin-inline:auto}.player-profile-card .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.player-profile-card .wide{grid-column:1/-1}.player-profile-card label{font-size:1rem}.player-profile-card input{font-size:1rem;min-height:48px}.player-profile-card .player-picker-field{align-items:flex-end;min-width:0}.player-profile-card .player-picker-field label{min-width:0}.player-profile-card .actions{justify-content:flex-start}.player-profile-card .actions button{min-height:48px;font-size:1rem}
.player-picker-dialog{margin:auto;max-width:calc(100vw - 2rem);max-height:85dvh;overflow:auto}.player-picker-dialog>section{min-width:0}.player-picker-dialog .card-head>div{min-width:0}.player-picker-results{overscroll-behavior:contain}.player-picker-choice{width:100%;min-width:0;align-items:center}.player-picker-choice span{overflow-wrap:anywhere;min-width:0;white-space:normal}.player-picker-choice small{flex-shrink:0;font-size:.9rem}.selection-registration-head{margin-top:1.5rem}
@media(max-width:720px){.player-profile-card .form-grid{grid-template-columns:1fr!important}.player-profile-card .player-picker-field{flex-direction:column;align-items:stretch}.player-profile-card .player-picker-field button{width:100%;white-space:normal}.player-profile-card .actions button{width:100%}.player-picker-dialog .card-head{flex-direction:row;align-items:flex-start}.player-picker-dialog .card-head button{flex-shrink:0}.player-picker-dialog{max-height:85dvh}.player-picker-dialog .hint{font-size:.95rem}}
/* HaTo Arcade */
.snake-page{max-width:1120px;margin-inline:auto}.snake-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:2rem}.snake-layout>section{min-width:0}.snake-stats{display:flex;justify-content:space-between;gap:1rem;margin:1rem 0}.snake-board{position:relative;width:100%;max-width:600px;aspect-ratio:1;border:2px solid #47755d;border-radius:14px;overflow:hidden}.snake-board canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-4px}.snake-board canvas:focus-visible{outline:3px solid #edbd60}.snake-board>div{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:1rem;font-size:1.25rem;font-weight:700;background:#061812a8;pointer-events:none}.snake-board>[hidden]{display:none}.snake-actions{margin-top:1rem;flex-wrap:wrap}.snake-pad{display:grid;grid-template-columns:repeat(3,64px);grid-template-rows:repeat(2,56px);justify-content:center;gap:8px;margin:1rem 0}.snake-pad button{padding:0;font-size:1.6rem;touch-action:manipulation;user-select:none}.snake-pad button:first-child{grid-column:2}.snake-pad button:nth-child(2){grid-column:1;grid-row:2}.snake-pad button:nth-child(3){grid-column:2;grid-row:2}.snake-pad button:nth-child(4){grid-column:3;grid-row:2}#snake-save{display:flex;align-items:end;gap:.8rem;flex-wrap:wrap}#snake-save[hidden]{display:none}#snake-save label{flex:1;min-width:160px}.snake-ranking td:nth-child(2){overflow-wrap:anywhere}.snake-page button{min-height:48px}.snake-page input{font-size:1rem;min-height:48px}#snake-message{min-height:1.5em}.snake-ranking .card-head{flex-wrap:wrap}
@media(max-width:760px){.snake-layout{grid-template-columns:1fr;gap:1rem}.snake-stats{font-size:.95rem}.snake-page .snake-actions button{flex:1}.snake-ranking{border-top:1px solid #47755d;padding-top:1rem}#snake-save button{width:100%}}
@media(min-width:761px){.snake-layout{grid-template-columns:minmax(0,480px) minmax(0,1fr)}.snake-board{max-width:480px}}
.snake-actions{margin:0 0 1rem}
/* Classic LCD Snake with a dedicated touch play surface. */
.snake-board{border:5px solid #33442b;border-radius:8px;background:#a5b96a;box-shadow:inset 0 0 0 3px #899d55}.snake-board>div{color:#1e2c18;background:#a5b96abf;font-family:monospace}.snake-header-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.snake-header-actions [hidden]{display:none}.snake-instructions{margin:.75rem 0}.snake-instructions summary{cursor:pointer;color:var(--muted);font-size:.95rem}.snake-pad{grid-template-columns:repeat(3,minmax(60px,84px));grid-template-rows:repeat(2,64px);gap:8px;margin:.75rem 0}.snake-pad button{border:2px solid #82906b;background:#29362a;color:#f4f5d9;box-shadow:0 3px 0 #111c15;border-radius:12px;-webkit-tap-highlight-color:transparent}.snake-pad button:active{transform:translateY(2px);background:#50653b;box-shadow:0 1px 0 #111c15}.snake-play-mode{overflow:hidden;overscroll-behavior:none}.snake-play-mode .snake-page{position:fixed;inset:0;z-index:1000;margin:0;border:0;border-radius:0;max-width:none;overflow-y:auto;overscroll-behavior:contain;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#142017}.snake-play-mode .snake-page>.card-head{margin:0 0 8px}.snake-play-mode .snake-page .eyebrow{display:none}.snake-play-mode .snake-page h2{margin:0;font-size:1.3rem}.snake-play-mode .snake-layout{max-width:980px;margin:auto}.snake-play-mode .snake-stats{margin:6px 0;font-size:.95rem}.snake-play-mode .snake-actions{display:flex;gap:8px;margin-bottom:8px}.snake-play-mode .snake-actions button{width:auto!important;flex:1;padding:8px;font-size:.9rem;min-height:44px}.snake-play-mode .snake-board{width:min(100%,calc(100dvh - 310px));margin:0 auto;max-width:480px}.snake-play-mode .snake-instructions,.snake-play-mode .snake-ranking{display:none}.snake-play-mode #snake-message:empty{display:none}.snake-play-mode .snake-pad{margin:8px 0;grid-template-rows:repeat(2,56px)}.snake-play-mode #snake-save{margin-top:8px}
@media(max-width:760px){.snake-page>.card-head{gap:8px}.snake-header-actions{gap:6px}.snake-header-actions button{font-size:.85rem;padding:8px;min-height:44px}.snake-stats{gap:6px}.snake-actions{display:flex!important;flex-direction:row!important;gap:8px}.snake-actions button{width:auto!important;font-size:.85rem;padding:10px 8px}.snake-pad{touch-action:none}.snake-play-mode .snake-layout{display:block}.snake-play-mode .snake-board{min-width:200px;max-width:100%}}
@media(max-height:500px) and (min-width:600px){.snake-play-mode .snake-layout>section:first-child{display:grid;grid-template-columns:minmax(200px,1fr) 240px;gap:8px;align-items:center}.snake-play-mode .snake-board{grid-column:1;grid-row:1/5;width:min(100%,calc(100dvh - 76px));min-width:0}.snake-play-mode .snake-stats,.snake-play-mode .snake-actions,.snake-play-mode .snake-pad{grid-column:2}.snake-play-mode .snake-layout{display:block}.snake-play-mode .snake-ranking{display:none}}
.snake-play-mode .snake-page>.card-head{display:flex;flex-direction:row!important;align-items:center;justify-content:space-between;gap:8px}

/* HaTo Arcade selection and Overlord barrel game. Snake's controls stay unchanged. */
.games-hub{margin-bottom:1.1rem}.games-heading h1{font-size:clamp(1.6rem,4vw,2.3rem);margin:.25rem 0}.games-heading p:not(.eyebrow){color:var(--muted,#b9c4bd);margin:.5rem 0 1rem}.games-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.games-switch button{text-align:left;padding:18px 22px;display:flex;flex-direction:column;gap:6px;border:1px solid #647b67;background:linear-gradient(120deg,#202e28,#18221e);border-radius:16px;color:#ecebdc;min-height:88px}.games-switch button span{font-size:.85rem;font-weight:400;color:#b8c5bd}.games-switch button.active{border-color:#d9b46c;background:linear-gradient(120deg,#39402a,#24382e);box-shadow:inset 0 0 0 1px #d9b46c}.games-switch button:focus-visible{outline:3px solid #6acabc;outline-offset:3px}.kong-page{max-width:850px;margin:auto}.kong-header-actions{display:flex;gap:8px}.kong-page .card-head{flex-wrap:wrap;gap:10px}.kong-page h2{margin:0}.kong-stats{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 0;font-size:.9rem;font-variant-numeric:tabular-nums}.kong-board{position:relative;max-width:600px;margin:auto;border:3px solid #9d7b45;border-radius:12px;overflow:hidden;background:#101c24;box-shadow:0 16px 35px #0005}.kong-board canvas{display:block;width:100%;height:auto;aspect-ratio:600/680;touch-action:none;outline:none}.kong-board canvas:focus-visible{outline:3px solid #6acabc;outline-offset:-4px}#kong-overlay{position:absolute;left:8%;right:8%;top:45%;background:#12251bef;border:1px solid #d9b46c;border-radius:12px;padding:20px;text-align:center;font-weight:700;font-size:1.15rem;color:#ffe5a4;pointer-events:none}#kong-overlay[hidden]{display:none}.kong-controls{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:600px;margin:16px auto 0;touch-action:none;user-select:none;-webkit-user-select:none}.kong-dpad{display:grid;grid-template-columns:repeat(3,60px);grid-template-rows:repeat(2,54px);gap:6px}.kong-dpad [data-kong-control=up]{grid-column:2}.kong-dpad [data-kong-control=left]{grid-column:1;grid-row:2}.kong-dpad [data-kong-control=down]{grid-column:2;grid-row:2}.kong-dpad [data-kong-control=right]{grid-column:3;grid-row:2}.kong-controls button{border:1px solid #659182;background:#203b31;color:#eef1dc;border-radius:12px;font-size:1.5rem;touch-action:none;-webkit-tap-highlight-color:transparent;min-height:54px}.kong-controls button.pressed,.kong-controls button:active{background:#53755c;box-shadow:inset 0 2px 7px #0005}.kong-controls .kong-jump{background:linear-gradient(135deg,#ddbc6d,#c98236);color:#1e281c;border-color:#ffe1a3;font-size:1rem;font-weight:800;min-width:115px;min-height:78px}.kong-guide{max-width:600px;margin:16px auto 0;line-height:1.5}.kong-play-mode{overflow:hidden;overscroll-behavior:none}.kong-play-mode #app>header,.kong-play-mode #app>nav,.kong-play-mode #app>.notice,.kong-play-mode .games-hub{visibility:hidden}.kong-play-mode .kong-page{position:fixed;inset:0;z-index:2000;width:100%;max-width:none;height:100dvh;border:0;border-radius:0;padding:calc(8px + env(safe-area-inset-top)) 12px calc(8px + env(safe-area-inset-bottom));background:#12231a;display:flex;flex-direction:column;align-items:stretch;overflow:hidden;gap:5px}.kong-play-mode .kong-page .card-head{margin:0}.kong-play-mode .kong-page h2{font-size:1.15rem}.kong-play-mode .kong-page .eyebrow,.kong-play-mode .kong-intro,.kong-play-mode .kong-guide{display:none}.kong-play-mode .kong-header-actions button{padding:8px 12px;font-size:.8rem}.kong-play-mode .kong-stats{padding:2px 0;font-size:.75rem}.kong-play-mode .kong-actions{margin:0;gap:8px}.kong-play-mode .kong-actions button{min-height:34px;padding:7px 14px;font-size:.85rem}.kong-play-mode .kong-board{flex:1;min-height:0;max-width:600px;width:100%;display:flex;justify-content:center;align-items:center}.kong-play-mode .kong-board canvas{width:auto;height:100%;max-width:100%;object-fit:contain}.kong-play-mode .kong-controls{flex:none;width:100%;margin:0}.kong-play-mode .kong-dpad{grid-template-columns:repeat(3,56px);grid-template-rows:repeat(2,48px);gap:5px}.kong-play-mode .kong-controls button{min-height:48px}.kong-play-mode .kong-jump{min-height:75px}
@media(max-width:600px){.games-switch button{padding:15px 13px;min-height:96px}.games-switch button span{font-size:.75rem}.games-switch{gap:8px}.kong-page{padding:14px}.kong-dpad{grid-template-columns:repeat(3,52px);grid-template-rows:repeat(2,50px)}.kong-controls{gap:10px}.kong-controls .kong-jump{min-width:100px}.kong-stats{font-size:.78rem}}
@media(max-height:500px) and (orientation:landscape){.kong-play-mode .kong-page{padding-left:205px;padding-right:140px}.kong-play-mode .kong-controls{position:absolute;left:12px;right:12px;bottom:20px;width:auto;max-width:none;pointer-events:none}.kong-play-mode .kong-controls button{pointer-events:auto}.kong-play-mode .kong-guide{display:none}}
.kong-play-mode .kong-page .card-head{display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:nowrap}.kong-play-mode .kong-actions{display:flex;flex-direction:row}.kong-play-mode .kong-actions button{width:auto;flex:1}.kong-play-mode .kong-header-actions{flex:none}
@media(max-height:500px) and (orientation:landscape){.kong-play-mode .kong-board canvas{width:100%;height:100%;aspect-ratio:auto;object-fit:fill}}
/* Space defense: responsive play area and multi-touch controls. */
.games-switch{grid-template-columns:repeat(3,minmax(0,1fr))}.invaders-page{max-width:850px;margin:auto}.invaders-header-actions{display:flex;gap:8px}.invaders-page .card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.invaders-page h2{margin:0}.invaders-setup{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:center;margin:12px 0}.invaders-setup p{margin:0}.invaders-stats{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:.9rem;padding:12px 0;font-variant-numeric:tabular-nums}.invaders-board{position:relative;max-width:600px;margin:auto;border:3px solid #529b8f;border-radius:12px;overflow:hidden;background:#07121d}.invaders-board canvas{display:block;width:100%;height:auto;aspect-ratio:600/680;touch-action:none;outline:none}.invaders-board canvas:focus-visible{outline:3px solid #e9c377;outline-offset:-4px}#invaders-overlay{position:absolute;top:44%;left:8%;right:8%;padding:20px;border:1px solid #69c8b5;border-radius:12px;background:#0e2330ed;color:#d2f8e8;text-align:center;font-weight:700;pointer-events:none}#invaders-overlay[hidden]{display:none}.invaders-controls{display:flex;gap:12px;max-width:600px;margin:14px auto 0;touch-action:none;user-select:none;-webkit-user-select:none}.invaders-controls button{flex:1;min-height:62px;border:1px solid #67a695;border-radius:12px;background:#23483e;color:#e1ffe9;font-size:1.6rem;touch-action:none;-webkit-tap-highlight-color:transparent}.invaders-controls .invaders-fire{flex:1.7;background:linear-gradient(135deg,#e1c279,#c7863b);color:#16281f;font-size:1rem;font-weight:800}.invaders-controls button.pressed{filter:brightness(1.35);box-shadow:inset 0 3px 8px #0005}.invaders-guide{max-width:600px;margin:16px auto 0}.invaders-play-mode{overflow:hidden;overscroll-behavior:none}.invaders-play-mode #app>header,.invaders-play-mode #app>nav,.invaders-play-mode #app>.notice,.invaders-play-mode .games-hub{visibility:hidden}.invaders-play-mode .invaders-page{position:fixed;inset:0;z-index:2000;max-width:none;height:100dvh;width:100%;border:0;border-radius:0;padding:calc(8px + env(safe-area-inset-top)) 12px calc(8px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:6px;background:#101f26;overflow:hidden}.invaders-play-mode .invaders-page .card-head{margin:0;flex-wrap:nowrap}.invaders-play-mode .invaders-page h2{font-size:1.15rem}.invaders-play-mode .eyebrow,.invaders-play-mode .invaders-setup,.invaders-play-mode .invaders-guide{display:none}.invaders-play-mode .invaders-header-actions button{padding:8px 10px;font-size:.8rem}.invaders-play-mode .invaders-stats{padding:2px 0;font-size:.75rem}.invaders-play-mode .invaders-actions{display:flex;flex-direction:row;gap:8px;margin:0}.invaders-play-mode .invaders-actions button{flex:1;width:auto;min-height:34px;padding:7px 12px;font-size:.85rem}.invaders-play-mode .invaders-board{flex:1;min-height:0;max-width:600px;width:100%;display:flex;align-items:center;justify-content:center}.invaders-play-mode .invaders-board canvas{height:100%;width:auto;max-width:100%;object-fit:contain}.invaders-play-mode .invaders-controls{flex:none;width:100%;margin:0}.invaders-play-mode .invaders-controls button{min-height:68px}
@media(max-width:600px){.games-switch{grid-template-columns:1fr}.games-switch button{min-height:65px;padding:12px 15px}.invaders-page{padding:14px}.invaders-setup{grid-template-columns:1fr;gap:10px}.invaders-stats{font-size:.8rem}}
@media(max-height:500px) and (orientation:landscape){.invaders-play-mode .invaders-page{padding-left:140px;padding-right:145px}.invaders-play-mode .invaders-controls{position:absolute;left:10px;right:10px;bottom:16px;width:auto;max-width:none;pointer-events:none}.invaders-play-mode .invaders-controls button{pointer-events:auto;flex:none;width:60px}.invaders-play-mode .invaders-controls .invaders-fire{margin-left:auto;width:125px}.invaders-play-mode .invaders-board canvas{width:100%;height:100%;object-fit:contain;aspect-ratio:auto}}

/* HaTo Royal Command: presentation only; routes and controls are preserved. */
:root{--ink:#f5f3ec;--muted:#a7b7ca;--steel:#112338;--panel:#071627;--panel-soft:#10263c;--line:#29415d;--sand:#dfbd75;--gold:#f0c76e;--orange:#dba34b;--shadow:0 14px 34px #0005;color:var(--ink);background:#030b16}
html{background:#030b16}body{background:radial-gradient(ellipse at 75% 0,#12335988,transparent 50%),#030b16;background-attachment:scroll}body::before{display:none}
#app{max-width:1560px;margin:auto;padding:24px;display:grid;grid-template-columns:220px minmax(0,1fr);column-gap:22px;align-items:start}
#app>header,#app>main,#app>.notice{grid-column:2;max-width:none;width:100%;margin-inline:0}
.clan-header{position:relative;min-height:0;margin-top:0;padding:0;display:block;border:1px solid #b18b4a80;border-radius:8px;overflow:hidden;background:#041020;box-shadow:0 18px 50px #0006}
.clan-header::before,.clan-header::after{display:none}
.clan-header .clan-identity{min-height:88px;padding:15px 24px;gap:12px;max-width:calc(100% - 185px);background:transparent}
.clan-crest{width:52px;height:52px;filter:drop-shadow(0 3px 6px #0008)}
.clan-header .eyebrow{font-size:10px;letter-spacing:.16em;margin:0 0 4px;color:#abbed4}
.clan-header h1{font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:34px;letter-spacing:-.02em;line-height:1;color:#f4d58e;text-shadow:0 2px 9px #be842533}
.command-title{font-family:Inter,system-ui,sans-serif;font-size:11px;letter-spacing:.22em;margin:5px 0 0;line-height:1.3;color:#e5c383}
.clan-header .clan-motto{display:none}
.clan-header .account{position:absolute;top:19px;right:22px;padding:9px 12px;border:1px solid #a88c5155;background:#0a1b30;border-radius:5px;backdrop-filter:none}
.clan-header .account b{font-size:14px;color:#f0d492}.clan-header .account span:not(.account-indicator){font-size:11px;color:#a6b9d0;letter-spacing:.02em}.account-indicator{display:none}
.header-callsign{position:absolute;top:69px;bottom:auto;right:25px;font:10px system-ui,sans-serif;letter-spacing:.13em;color:#a4b7ca}
.clan-banner{height:270px;border-top:1px solid #b18b4a66;background:linear-gradient(0deg,#021020a6,transparent 30%),url('/assets/hato-royal-banner.webp') center/cover;position:relative}
.clan-banner-caption{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:#fff0c7;letter-spacing:.18em;font:600 12px system-ui,sans-serif;text-shadow:0 2px 6px #000;}
#app>.primary-nav{grid-column:1;grid-row:1/5;position:sticky;top:24px;width:100%;height:calc(100dvh - 48px);max-height:1000px;margin:0;padding:22px 12px;border:1px solid #b18b4a80;border-radius:8px;display:flex;flex-direction:column;background:linear-gradient(#03101ff5 60%,#05142799),url('/assets/hato-royal-banner.webp') left bottom/auto 350px no-repeat;backdrop-filter:none;overflow:auto;box-shadow:0 14px 34px #0004}
.primary-nav::before{content:'HaTo';font:700 36px Georgia,'Times New Roman',serif;letter-spacing:-.03em;color:#f1cc7d;display:block;padding:4px 12px 22px;border-bottom:1px solid #b18b4a55;margin-bottom:15px;text-shadow:0 2px 12px #e7b45422}
.primary-nav .nav-panel{display:flex;flex-direction:column;align-items:stretch;gap:20px;flex:1;width:100%}
.primary-nav .nav-destinations{display:flex;flex-direction:column;flex-wrap:nowrap;gap:5px;flex:none}
.primary-nav .nav-destinations button{width:100%;display:flex;align-items:center;text-align:left;white-space:normal;font-size:14px;line-height:1.4;min-height:52px;padding:12px;gap:12px;border-radius:4px;border:1px solid transparent;color:#c6d4e6;background:transparent;font-weight:600}
.primary-nav .nav-icon{width:21px;height:21px;color:#eac576;opacity:1}
.primary-nav .nav-destinations button:hover{color:#fff1ce;background:#112940;border-color:#97733d55}
.primary-nav .nav-destinations button.active{color:#fff1ce!important;background:linear-gradient(110deg,#74562c99,#142638)!important;border:1px solid #edc172aa!important;box-shadow:inset 3px 0 #edc172,0 0 15px #e4a24012!important}
.primary-nav .nav-access{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;border-top:1px solid #b18b4a44;padding-top:16px;gap:8px;margin-top:auto}
.primary-nav .nav-access button,.primary-nav .admin-login{min-height:44px;padding:10px 12px;font-size:13px;background:#0e2238;border-color:#947a4b66;color:#e8d7ac}
#app>main{padding:22px 0 40px;min-width:0}#app>.notice{margin-top:16px;background:#102e31;border-color:#477c72;color:#daf5e8}
h2,h3{color:#f4dcaa;letter-spacing:.005em}h2{font-size:20px}h3{font-size:17px}.eyebrow{color:#dcb873;letter-spacing:.14em}
.card,.event-card,.team-card,.counts>div,.announcement{background:linear-gradient(125deg,#0d2035,#061321 82%);border:1px solid #9d804d66;border-radius:7px;box-shadow:0 10px 24px #0003}
.card::before,.team-card::before,.announcement::before{background:linear-gradient(90deg,#d3b36d88,transparent 75%)}
.card::after,.team-card::after{display:none}.hint,.event-card p,.muted{color:#a9bbd0}.event-card{border-left:3px solid #e9c476;background:linear-gradient(115deg,#2a2930,#0b1d31 60%)}.event-card h2{font-size:21px}.event-card p{font-size:14px}
button{font-size:14px;border-radius:5px;min-height:44px;background:#142b42;color:#edf1f7;border:1px solid #42617f66}button:hover{background:#203f5b;border-color:#c3a26780;transform:none}.quiet,.admin-login{background:#11283e;color:#cddbeb;border-color:#47617b88}.quiet:hover,.admin-login:hover{background:#1b3a54;color:#fff0c9;border-color:#b49359aa}
.accent{background:linear-gradient(135deg,#f3d68c,#c79445);border-color:#f4d894;color:#151d29;box-shadow:inset 0 1px #fff1c7,0 3px 9px #0004}.accent:hover{background:linear-gradient(135deg,#ffe6a1,#d8a955)}.danger{background:#532634;border-color:#98505b;color:#ffe3e5}.danger:hover{background:#6c3543;border-color:#bd7981}
input,select,textarea{background:#051526;color:#f2f5fa;border-color:#47617f99;border-radius:5px;box-shadow:inset 0 1px 5px #0004;font-size:16px;min-height:48px}input::placeholder,textarea::placeholder{color:#8ca3bd}input:hover,select:hover,textarea:hover{border-color:#aa905c}input:focus,select:focus,textarea:focus{border-color:#e5c47d;box-shadow:0 0 0 3px #e5c47d18}.form-grid label{color:#c6d5e6;font-size:14px;font-weight:650}.check input,.check-label input{accent-color:#e4bb69}
.table-wrap{border-color:#38516b99;border-radius:5px}table{font-size:14px}th{background:#081a2d;color:#dfbf80;font-size:12px;letter-spacing:.08em;border-color:#6a604466}td{color:#dae4ef;border-color:#29415d88}tbody tr:hover{background:#1a354944}td button{font-size:13px}.team-card .card-head b{background:#5b46294d;border-color:#ad8d4c99;color:#f4d895}
.counts>div{background:#0e2237;border-top-color:#cba65e}.counts>div:nth-child(2n),.counts>div:nth-child(3n){border-top-color:#cba65e}.counts span{color:#a6b8ce;font-size:12px}.counts b{color:#f1d38d}.records li,.record{border-color:#29415d88}
.tag{font-size:12px;border-color:#65768b66;background:#1b324a;color:#d4e1f0}.tag.open,.tag.published{background:#173d33;color:#b7ebcc;border-color:#4d896f77}.tag.closed,.tag.completed{background:#4f2630;color:#f7c6ca;border-color:#9d5d6977}.tag.draft,.always-badge{background:#493b26;color:#efd39d;border-color:#ad8f4d77}
.help-hero{background:linear-gradient(110deg,#142c47,#08192c 70%,#3b2e20)}.help-category-card,.help-entry-card{background:linear-gradient(135deg,#112840,#061423);border-color:#ab8c5055}.help-category-cover{background:linear-gradient(135deg,#18364e,#132032)}.help-category-cover span{color:#efd092}.help-detail-head,.help-entry-detail,.help-gallery,.help-admin-panel{border-color:#ab8c5055}.help-metrics>div,.help-calculation>div{background:#10273d;border-color:#466381}.help-filter-row button,.help-gear-tabs button{background:#132b41;border-color:#526783;color:#d4e1ef}.help-filter-row .active,.help-gear-tabs .active{background:#e1bd75;color:#0b1828}
.announcement.pinned{border-left-color:#e6c378;background:linear-gradient(125deg,#2e2c2d,#0b1d31 66%)}.announcement-text{color:#dce6f3}.upload-preview figure,.image-thumbnail,.lightbox>section,.player-picker-dialog{background:#0b2035;border-color:#9e855266}.player-picker-choice{background:#142d44}.player-picker-choice small{color:#adc2d8}.visitor-table .selected-day{background:#294b6644}.visitor-table td:last-child{color:#efd092}.warn{color:#efc094}
.admin-shortcut,.admin-event,.admin-summary,.admin-heading{border-color:#9e855266;background:#0b2035}.admin-page-navigation,.admin-sections{background:#081a2b;border-color:#9e855255}.group-card,.map-target{background:#102940;border-color:#5b739377}.tactical-map{background:#0d2336;border-color:#62779166}.map-target.selected{background:#65502c;border-color:#d6b879}.map-plan-name{background:#061a2bed;border-color:#d6b879;color:#f3d799}.battle-map-card{border-color:#ac8f5655}.battle-post.selected{outline-color:#e8c56f}.battle-post.mine{box-shadow:0 0 0 3px #79b6ce,0 4px 12px #0008}
.login-screen{background:linear-gradient(90deg,#030e1ee8,#030e1eaa),url('/assets/hato-royal-banner.webp') center/cover}.login-box{background:#07182bee;border-color:#b49359aa}.login-box h1{color:#f4d58e}
@media(max-width:1050px) and (min-width:761px){#app{grid-template-columns:190px minmax(0,1fr);gap:16px;padding:16px}.primary-nav .nav-destinations button{font-size:13px;padding:10px;gap:9px}.clan-header .clan-identity{padding:15px}.clan-banner{height:230px}.clan-header .account{right:14px}.counts{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 #app{display:block;padding:0;width:100%;max-width:none}
 .clan-header{border-radius:0;border-inline:0;margin:0;min-height:0;padding:0;background:#041020}
 .clan-header .clan-identity{min-height:76px;padding:12px 14px;max-width:calc(100% - 124px);gap:8px}.clan-crest{width:40px;height:40px}.clan-header h1{font-size:29px}.clan-header .eyebrow{display:none}.command-title{font-size:9px;letter-spacing:.13em;margin-top:4px}
 .clan-header .account{right:12px;top:17px;padding:7px 9px;max-width:124px}.clan-header .account b{font-size:12px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clan-header .account span:not(.account-indicator){font-size:9px}.header-callsign{display:none}
 .clan-banner{height:200px;background-position:center}.clan-banner-caption{font-size:10px;letter-spacing:.13em;bottom:12px}
 #app>.primary-nav{display:block;position:sticky;top:0;width:100%;height:auto;max-height:85dvh;margin:0;padding:8px 12px;border-inline:0;border-top:0;border-radius:0;background:#051528f5;overflow:auto;box-shadow:0 8px 18px #0005;z-index:100}
 .primary-nav::before{display:none}.nav-menu-toggle{display:flex;min-height:48px;padding:11px 13px;border-radius:4px;color:#f5dfaf;background:#0e263e;border-color:#b1945c80}.nav-menu-toggle:hover{background:#1a3650}.nav-menu-toggle>span{font-size:14px}.menu-label{font-size:12px!important;color:#d7c298}
 .primary-nav .nav-panel{display:none}.primary-nav[data-expanded="true"] .nav-panel{display:flex;gap:12px;padding-top:8px}.primary-nav .nav-destinations{display:flex;flex-direction:column;gap:2px}.primary-nav .nav-destinations button{min-height:48px;font-size:14px;padding:11px 13px}.primary-nav .nav-access{margin-top:0;padding-top:12px;justify-content:flex-start}.primary-nav .nav-icon{width:21px;height:21px}
 #app>main{padding:14px 12px 30px}.card,.event-card,.team-card,.announcement{padding:16px;border-radius:6px}.card-head{flex-wrap:wrap;gap:10px}h2{font-size:19px}.event-card h2{font-size:19px}.event-card p{font-size:14px}
 #app>.notice{width:calc(100% - 24px);margin:12px 12px 0}.form-grid{grid-template-columns:1fr}.form-grid label{font-size:14px}input,select,textarea{font-size:16px}.counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.counts>div{padding:14px;min-height:85px}.counts span{font-size:11px}.counts b{font-size:27px}.teams{grid-template-columns:1fr}.player-picker-dialog{max-width:calc(100vw - 24px)}
}
@media print{#app{display:block;padding:0}.clan-header,#app>.primary-nav{display:none!important}#app>main{width:100%}}
@media(min-width:761px){.clan-banner{height:auto;aspect-ratio:3/1}.clan-banner-caption{bottom:13px}}
.clan-header .account span:not(.account-indicator){margin:2px 0 0;line-height:1.2}

/* New 3:2 HaTo map: live cards cover the template's sample counters. */
.battle-map-viewport{overflow-x:auto;overscroll-behavior-x:contain;border-radius:12px}
.battle-map.royal-map{aspect-ratio:3/2;min-height:0;min-width:900px;container-type:inline-size;background-image:url('/assets/desert-storm-map-clean.webp?v=20261005-clear-buildings');background-size:100% 100%;overflow:visible}
.royal-map .battle-post{width:14%;min-height:6.1cqw;padding:.35cqw;border-radius:.7cqw;background:#061a2b;color:#fff;border:1px solid #e5be68;box-shadow:0 2px 5px #0008}
.royal-map .battle-post b{font-size:1.02cqw;line-height:1.15;color:#f6d888}
.royal-map .battle-post b small{color:#ffe55d}
.royal-map .map-empty{font-size:1cqw;color:#dbe6f6}
.royal-map .map-names{gap:.08cqw;margin-top:.2cqw;max-height:none;overflow:visible}
.royal-map .map-names i{font-size:1cqw;line-height:1.15;color:white}
.royal-map .battle-post.subs-post,.royal-map .battle-post.jumper-post{width:13.1%;min-height:8.9cqw}
.royal-map .battle-post.subs-post{transform:translate(-50%,-50%);background:#351017;border-color:#ff9294}
.royal-map .battle-post.jumper-post{background:#0b365d;border-color:#7fd3ff}
.royal-map .map-plan-name{top:.8cqw;font-size:1.15cqw;padding:.5cqw 1cqw}
.royal-map .battle-post.selected{outline:3px solid #ffdb65;outline-offset:2px}
@media print{.battle-map-viewport{overflow:visible}.battle-map.royal-map{min-width:0}.royal-map .battle-post{break-inside:avoid}}
.royal-map .battle-post.subs-post .map-names{max-height:none;overflow:visible;gap:.08cqw}

.kong-layout{display:grid;grid-template-columns:minmax(0,600px) minmax(0,1fr);gap:24px}.kong-layout>section{min-width:0}.kong-ranking .card-head{flex-wrap:wrap}.kong-ranking td:nth-child(2){overflow-wrap:anywhere}.kong-stats{flex-wrap:wrap;gap:12px}.kong-stats b{font-size:14px}#kong-save{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-top:20px}#kong-save[hidden]{display:none}#kong-save label{flex:1;min-width:160px}#kong-save input{font-size:16px;min-height:48px}.kong-play-mode .kong-ranking,.kong-play-mode #kong-save,.kong-play-mode #kong-message{display:none}.kong-play-mode .kong-layout{display:block}
@media(max-width:1000px){.kong-layout{grid-template-columns:1fr}.kong-ranking{border-top:1px solid #b89b6255;padding-top:20px}}

/* Larger continuous thumb targets, preserving the established Arcade styling. */
.kong-controls button{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:background .06s,box-shadow .06s}.kong-dpad{gap:2px;grid-template-columns:repeat(3,62px);grid-template-rows:repeat(2,58px)}.kong-play-mode .kong-dpad{gap:2px;grid-template-columns:repeat(3,60px);grid-template-rows:repeat(2,56px)}.kong-play-mode .kong-controls button{min-height:56px}.kong-play-mode .kong-jump{min-height:82px;min-width:114px}.kong-board canvas{image-rendering:auto}@media(max-width:360px){.kong-play-mode .kong-dpad{grid-template-columns:repeat(3,52px)}.kong-play-mode .kong-jump{min-width:100px}.kong-controls{gap:8px}}
.kong-play-mode .kong-layout{flex:1;min-height:0;display:flex;flex-direction:column}.kong-play-mode .kong-play{flex:1;min-height:0;display:flex;flex-direction:column;gap:6px}.kong-play-mode .kong-board{flex:1;min-height:0}.kong-play-mode .kong-board canvas{object-fit:contain;aspect-ratio:600/680}.kong-play-mode .kong-controls{max-width:600px}@media(max-height:500px) and (orientation:landscape){.kong-play-mode .kong-controls{max-width:none}.kong-play-mode .kong-board canvas{object-fit:contain}}

/* Readable labels and resilient layouts across German/English and narrow screens. */
#app>header,#app>main,.card,.event-card,.team-card,.form-grid>*,.card-head>*,.controls>*,.tactics-grid>*{min-width:0}
.card h2,.event-card h2,.team-card h2,.announcement h2,.hint,.record>span,.group-card>div,.announcement-text{overflow-wrap:anywhere}
.card-head{align-items:flex-start}.card-head h2{line-height:1.3}.card-head>b,.card-head>.tag{flex-shrink:0}
.form-grid label,.map-actions label,.counts span,th{font-size:.875rem;line-height:1.4}
.form-grid label{letter-spacing:normal}.hint,.event-card p{line-height:1.55}
.actions,.inline-form,.plan-toolbar,.controls{flex-wrap:wrap}.inline-form input{min-width:160px}.inline-form select{flex:1;min-width:140px}.plan-toolbar label{min-width:160px;flex:1}.plan-toolbar select{max-width:100%}
.primary-nav .nav-icon{flex-shrink:0}.nav-menu-toggle>span:first-child{min-width:0;gap:8px}.nav-menu-toggle>span:first-child>span{white-space:normal;text-align:left}.nav-menu-toggle .menu-label{flex-shrink:0}
.clan-header .account{max-width:190px}.clan-header .account b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:165px}.clan-header .account span:not(.account-indicator){display:block;font-size:.875rem;line-height:1.3;text-transform:none}.header-callsign{display:none}
.table-wrap{max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.table-wrap th,.table-wrap td{line-height:1.45}.table-wrap td:not(:nth-child(2)){font-variant-numeric:tabular-nums}.table-wrap td:nth-child(2){min-width:110px;overflow-wrap:anywhere}.table-wrap th{white-space:nowrap}
.player-picker-choice{white-space:normal;overflow-wrap:anywhere}.player-picker-choice small{font-size:.875rem;line-height:1.4}.player-picker-dialog{max-height:85dvh;overflow:auto}
@media(max-width:760px){
 .clan-header .clan-identity{max-width:calc(100% - 140px)}.clan-header .account{top:14px;right:10px;max-width:130px;padding:7px 9px}.clan-header .account b{font-size:.875rem;max-width:110px}.clan-header .account span:not(.account-indicator){font-size:.75rem}.clan-header .clan-wordmark{min-width:0}.command-title{font-size:.625rem;letter-spacing:.08em}
 .counts span{font-size:.875rem}.tag{font-size:.8125rem}.form-grid label{font-size:.875rem}.map-actions button{white-space:normal}.inline-form input,.inline-form select{min-width:0;width:100%;flex-basis:100%}.inline-form button{width:100%}.record,.group-card{flex-wrap:wrap;align-items:flex-start}.record>span{flex:1;min-width:140px}.record>button{margin-left:auto}.table-wrap{background:linear-gradient(to right,#061321,transparent 12px),linear-gradient(to left,#061321,transparent 12px);background-attachment:local}
}
@media(max-width:360px){.clan-header .clan-identity{max-width:calc(100% - 125px);padding-inline:10px;gap:6px}.clan-crest{width:32px;height:32px}.clan-header h1{font-size:26px}.clan-header .account{max-width:116px}.clan-header .account b{max-width:96px}.nav-menu-toggle{gap:8px}.menu-label{font-size:.75rem!important}}

/* Simple, guided public workflows. Admin forms retain their existing layout. */
.public-quick-nav{display:none}
.simple-user-form{max-width:980px;margin-inline:auto}
.simple-user-form>h2{margin-bottom:.4rem}
.simple-user-form>form{margin-top:1.5rem;gap:1.25rem}
.simple-user-form .user-step{min-width:0;margin:0;padding:1rem 1.2rem 1.2rem;border:1px solid #8ba1b34d;border-radius:12px;background:#07182766}
.simple-user-form .user-step legend{padding:0 .45rem;color:#f8e6bd;font-size:1.1rem;font-weight:750;line-height:1.5}
.step-number{display:inline-grid;place-items:center;width:30px;height:30px;margin-right:6px;border-radius:50%;background:#e7c27b;color:#101e2c;font-size:1rem;vertical-align:middle}
.simple-user-form .user-step>.hint{margin:.65rem 0 1rem;font-size:.95rem}
.simple-user-form .user-step>.hint:last-child{margin-bottom:0}
.simple-user-form .player-picker-field{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:end}
.simple-user-form .player-picker-field button{min-height:50px;white-space:normal}
.simple-user-form input,.simple-user-form select{min-height:50px;font-size:1rem}
.simple-user-form .user-step .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.simple-user-form #signup-form .user-step:nth-child(2) .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.simple-user-form .actions button{min-height:52px;padding:.8rem 1.4rem;font-size:1rem}
.user-optional{margin-top:1rem}.user-optional summary{cursor:pointer;color:#e8c987;min-height:44px;display:list-item;padding:.55rem 0}.user-optional label{margin-top:.5rem}
.public-team-list{list-style:none;padding:0;margin:1rem 0 0;counter-reset:players}
.public-team-list li{counter-increment:players;display:flex;gap:.75rem;align-items:center;border-top:1px solid #8ba1b329;padding:.85rem 0;min-width:0}
.public-team-list li::before{content:counter(players);font-size:.875rem;color:#b5c5d8;min-width:1.5rem;text-align:center;font-variant-numeric:tabular-nums}
.public-team-list li>div{flex:1;min-width:0}.public-team-list b{display:block;font-size:1rem;overflow-wrap:anywhere}.public-team-list small{display:block;margin-top:.3rem;color:#b7c8db;line-height:1.5;font-size:.8rem;overflow-wrap:anywhere}.public-team-list .tag{flex-shrink:0}
@media(max-width:760px){
 #app[data-audience="public"] .clan-banner{height:130px}
 #app[data-audience="public"] .primary-nav{padding:10px}
 .public-quick-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:8px}
 .public-quick-nav button{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:65px;padding:9px 4px;color:#dbe7f6;background:#0e263e;border:1px solid #526782;border-radius:8px;font-size:.875rem;white-space:normal}
 .public-quick-nav button.active{color:#101e2c;background:#e5c17a;border-color:#ffde91}
 #app[data-audience="public"] .nav-menu-toggle{min-height:44px;padding:8px 11px}
 .simple-user-form .user-step{padding:.75rem .8rem 1rem}.simple-user-form .user-step legend{font-size:1rem}
 .simple-user-form .player-picker-field{grid-template-columns:1fr;gap:.7rem}
 .simple-user-form .user-step .form-grid,.simple-user-form #signup-form .user-step:nth-child(2) .form-grid{grid-template-columns:1fr!important}
 .simple-user-form .actions{display:grid;width:100%}.simple-user-form .actions button{width:100%}
 .public-team-list li{gap:.5rem}.public-team-list .tag{white-space:normal;max-width:90px}
}
#app[data-audience="public"]>main{scroll-margin-top:20px}
@media(max-width:760px){#app[data-audience="public"]>main{scroll-margin-top:145px}}

/* Admin tasks follow one clear path; optional management stays expandable. */
#app[data-audience="admin"] .clan-banner{height:140px;aspect-ratio:auto}
.admin-workflow{display:grid;gap:12px;margin-bottom:18px;padding:16px;border:1px solid #a48b5855;background:#081a2b;border-radius:10px}
.admin-workflow>button{justify-self:start}.admin-workflow nav{display:flex;flex-wrap:wrap;gap:8px}.admin-workflow nav button{flex:1;min-width:145px;min-height:48px;font-size:1rem}
.admin-heading{gap:16px}.admin-sections{flex-wrap:wrap}.admin-sections button{min-height:48px;font-size:1rem}.admin-shortcut{min-height:100px;align-items:flex-start}.admin-shortcut b{font-size:1.05rem;line-height:1.4}.admin-shortcut small{font-size:.875rem;line-height:1.5;margin-top:6px}
.admin-task-intro>p{margin:.6rem 0 1rem;line-height:1.5}.admin-create summary,#admin-extra-plan summary,#admin-tactic-background>summary,.admin-plan-options>summary{font-size:1rem;color:#f2d59b;cursor:pointer;min-height:44px;padding:10px 0;line-height:1.5}
#admin-extra-plan form,#admin-event-times>div,.admin-plan-options>.actions{margin-top:12px}.admin-plan-options{flex-basis:100%}.admin-plan-options[open]{padding-bottom:8px}
#app[data-audience="admin"] .edit-card{scroll-margin-top:20px}#app[data-audience="admin"]>main{scroll-margin-top:20px}
#app[data-audience="admin"] .form-grid label,#app[data-audience="admin"] .inline-form input,#app[data-audience="admin"] .form-grid input,#app[data-audience="admin"] .form-grid select{font-size:1rem}
#app[data-audience="admin"] .actions button{min-height:46px}#app[data-audience="admin"] .event-confirm{line-height:1.5;font-size:.95rem}
@media(max-width:760px){
 #app[data-audience="admin"] .clan-banner{height:110px}
 #app[data-audience="admin"]>main,#app[data-audience="admin"] .edit-card{scroll-margin-top:70px}
 .admin-workflow{padding:12px}.admin-workflow nav{display:grid;grid-template-columns:1fr;width:100%}.admin-workflow nav button{min-width:0;width:100%;text-align:left}.admin-workflow>button{width:100%}
 .admin-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px}.admin-sections button{width:100%;font-size:.95rem}
 .admin-shortcuts{grid-template-columns:1fr}.admin-shortcut{min-height:90px;padding:16px}.plan-toolbar{display:grid;grid-template-columns:1fr;gap:12px}.plan-toolbar>*,.plan-toolbar button{width:100%;min-width:0}.admin-event-actions{width:100%}.admin-event-actions>button{width:100%}
 .admin-record-table,.admin-record-table tbody{display:block;width:100%;min-width:0!important}.admin-record-table thead{display:none}.admin-record-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px 0;border-top:1px solid #70849866}.admin-record-table tr:first-child{border-top:0}.admin-record-table td{display:block;min-width:0!important;padding:0;border:0;overflow-wrap:anywhere;white-space:normal}.admin-record-table td::before{content:attr(data-label);display:block;color:#b9c9dc;font-size:.875rem;font-weight:600;margin-bottom:4px}.admin-record-table td:first-child,.admin-record-table td:last-child,.admin-record-table td[colspan]{grid-column:1/-1}.admin-record-table td:first-child{font-weight:750;font-size:1.05rem}.admin-record-table td:last-child{display:flex;flex-wrap:wrap;gap:8px}.admin-record-table td:last-child::before{width:100%}.admin-record-table td:last-child button{min-height:44px;flex:1;min-width:100px;font-size:.875rem;margin:0}
 #app[data-audience="admin"] .card-head label{width:100%}#app[data-audience="admin"] .edit-card .actions,#app[data-audience="admin"] #edit-registration>.accent{width:100%}
}

/* Labels begin beneath the building bases and grow downward with assignments. */
.royal-map .battle-post,.royal-map .battle-post:hover,.royal-map .battle-post:focus-visible{transform:translate(-50%,0);box-sizing:border-box;width:12.5%;min-height:0;padding:.35cqw .45cqw;border-radius:.5cqw;background:#061a2bf2}
.royal-map .battle-post b{font-size:max(12px,.94cqw);line-height:1.2}
.royal-map .map-empty,.royal-map .map-names i{font-size:max(12px,.92cqw);line-height:1.2}
.royal-map .battle-post.subs-post,.royal-map .battle-post.jumper-post{width:13.1%;min-height:0;padding:.7cqw .45cqw}
.royal-map .battle-post.subs-post{transform:translate(-50%,0);background:#351017f2;border-color:#ff9294}
.royal-map .battle-post.jumper-post{background:#0b365df2;border-color:#7fd3ff}
.royal-map .battle-post:not(.subs-post):not(.jumper-post)::before{content:'';position:absolute;left:50%;bottom:100%;height:.7cqw;border-left:2px solid #f6d888;pointer-events:none}
.royal-map .map-plan-name{font-size:max(13px,1.15cqw)}

/* Full-width R4 composition, with all eleven members inside the image. */
#app[data-audience] .clan-banner{height:auto;aspect-ratio:3/1;overflow:hidden;background:#03101f}
.clan-banner>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}

/* Hero XP calculator */
.hero-xp .card-head{align-items:flex-start;gap:1rem}.hero-xp .card-head p{max-width:48rem}.xp-inputs,.xp-table-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.2rem 0}.hero-xp label{display:grid;gap:.5rem}.hero-xp input{width:100%;min-width:0;min-height:48px;font-size:1.1rem}.xp-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.4rem 0}.xp-results article{padding:1.2rem;background:#071827;border:1px solid #ae8646;border-radius:10px;display:grid;gap:.5rem;min-width:0}.xp-results strong{font-size:clamp(1.35rem,2.5vw,2.3rem);color:#f6d483;overflow-wrap:anywhere}.xp-results small{color:#abbdd0}.xp-error{color:#ffb3a3;padding:1rem;border:1px solid #c76858;border-radius:8px}.hero-xp details{margin-top:1.5rem}.hero-xp summary{cursor:pointer;padding:1rem 0;color:#f4d28a;font-weight:800;min-height:48px}.xp-table-controls{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end}.xp-table-controls button{min-height:48px}.xp-table-scroll{max-height:30rem;overflow:auto;border:1px solid #ae864655;border-radius:8px}.hero-xp table{width:100%;min-width:0;table-layout:fixed}.hero-xp th,.hero-xp td{padding:.75rem .6rem;overflow-wrap:anywhere}.hero-xp th{position:sticky;top:0;background:#0b1f30}.xp-source{margin-top:1.3rem}.hero-xp-category .help-category-cover{background:radial-gradient(ellipse at center,#305bc2,#061827 80%);color:#f5d280}.hero-xp-category .help-category-cover span{font-size:3rem;font-weight:900}
@media(max-width:600px){.hero-xp .card-head{display:flex;flex-direction:column}.xp-inputs{grid-template-columns:1fr 1fr}.xp-inputs label:last-child{grid-column:1/-1}.xp-results{grid-template-columns:1fr}.xp-table-controls{grid-template-columns:1fr 1fr}.xp-table-controls button{width:100%}.hero-xp th,.hero-xp td{padding:.65rem .35rem;font-size:.8rem}}

.arm-stars{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.arm-stars button{min-height:48px}.arm-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.arm-inputs select{width:100%;min-width:0;min-height:48px}.arm-results{grid-template-columns:repeat(3,minmax(0,1fr))}.armament #arm-table>label{max-width:20rem;margin:1rem 0}.armament table th,.armament table td{font-size:.85rem}@media(max-width:600px){.arm-results{grid-template-columns:1fr}.armament table th,.armament table td{font-size:.7rem}.armament .arm-inputs select{font-size:.85rem}}

.event-picker{display:block;max-width:34rem;margin-bottom:1rem}.troop-kind{display:block;color:#b6c8dc;font-size:.8rem;margin-top:.25rem} .battle-post b{display:block;position:relative;z-index:1;flex-shrink:0}.battle-post .map-names{position:relative;display:grid;min-width:0}.battle-post .map-names i{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-picker select{width:100%}
