@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{font-family:"DM Sans",sans-serif;color:#edf0f7;background:#0d1017;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 70% -15%,#202b3b 0,transparent 42%),#0d1017}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{min-height:100vh}.side{position:fixed;inset:0 auto 0 0;width:235px;background:#111620;border-right:1px solid #28313e;padding:24px 15px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;padding:0 9px 32px}.brand b{display:block;font:800 19px Manrope;letter-spacing:2px}.brand small{display:block;font-size:9px;letter-spacing:1.4px;color:#8290a3;margin-top:3px}.mark{width:44px;height:44px;border-radius:13px;background:linear-gradient(145deg,#d9b56c,#86643a);color:#19140d;display:grid;place-items:center;font:800 25px Manrope}.mark.mini{width:35px;height:35px;font-size:20px}.navcap,header small,.eyebrow{font-size:10px;letter-spacing:1.6px;color:#7f8da2;font-weight:700}.navcap{padding-left:10px}.nav{border:0;background:none;color:#9eabbc;display:flex;align-items:center;gap:12px;width:100%;padding:12px;border-radius:8px;text-align:left;font-size:13px}.nav:hover,.nav.on{background:#222c3a;color:#e8c477}.sidefoot{margin-top:auto;border-top:1px solid #2a3340;padding-top:12px}.who{padding:10px;color:#dce3ed}.who b,.who small{display:block}.who small{color:#8290a3;font-size:10px;margin-top:3px}main{margin-left:235px;padding:29px 36px;max-width:1550px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #293341;padding-bottom:20px;margin-bottom:27px}header h1{font:700 25px Manrope;margin:4px 0;text-transform:capitalize}header select,.toolbar input,.inline input,.inline select,.stack input,.stack select,.stack textarea,.fields input,.fields select{background:#101721;border:1px solid #364254;border-radius:7px;color:#eaf0f8;padding:10px}.intro{display:flex;justify-content:space-between;align-items:center;margin:8px 0 20px}.intro h2{font:700 21px Manrope;margin:4px 0}.intro p{color:#8e9caf;font-size:12px}.intro button,.toolbar button,.actions button,.modalactions button{background:#202a38;color:#dce3ed;border:1px solid #364254;border-radius:7px;padding:9px 12px;font-size:11px}.gold{background:#d4ad67!important;color:#19140d!important;border:1px solid #d4ad67!important;font-weight:700}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:20px}.stat,.panel,.member{background:linear-gradient(145deg,#171f2a,#141a24);border:1px solid #293442;border-radius:12px;padding:18px}.stat small{display:block;color:#8d9aad;font-size:11px}.stat b{display:block;font:700 21px Manrope;margin-top:10px}.panel{margin-bottom:16px}.panel h3,.member h3{font:700 15px Manrope;margin:0 0 13px}.rank{display:flex;align-items:center;gap:14px;border-top:1px solid #293341;padding:12px 0;font-size:12px}.rank span{color:#8492a6}.rank em,.member em{margin-left:auto;font-style:normal;color:#e3c17c;background:#403521;padding:5px 9px;border-radius:18px;font-size:10px}.rank strong{min-width:95px;text-align:right}.toolbar{display:flex;gap:10px;margin-bottom:17px}.toolbar input{flex:1;max-width:400px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.member{padding:15px}.memberhead{display:flex;align-items:center;gap:10px;margin-bottom:15px}.memberhead h3{margin:0 0 3px}.memberhead small{color:#8b9aae;font-size:10px}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#303b4c;color:#e8c477;font-weight:700}.power{display:flex;justify-content:space-between;border-top:1px solid #2a3441;border-bottom:1px solid #2a3441;padding:12px 0;color:#91a0b2;font-size:11px}.power b{color:#edc779;font-size:14px}.member p{font-size:11px;color:#aab6c5}.member>small{display:block;color:#93a2b5;font-size:10px;margin:4px 0}.actions{display:flex;justify-content:flex-end;gap:7px;margin-top:13px}.actions .red{color:#ff9fa5;background:#3b2026;border-color:#703c42}.inline{display:flex;gap:8px;flex-wrap:wrap;padding:13px;background:#171f2a;border:1px solid #2c3745;border-radius:10px;margin-bottom:16px}.inline>*{flex:1;min-width:120px}.attrow{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #293341;padding:9px 0;font-size:12px}.attrow select{background:#101721;color:#eaf0f8;border:1px solid #354254;padding:7px;border-radius:6px}table{width:100%;border-collapse:collapse;font-size:12px}td,th{text-align:left;padding:12px;border-bottom:1px solid #2b3542}th{font-size:10px;color:#8e9caf;text-transform:uppercase}.empty{padding:22px;text-align:center;color:#8997aa;font-size:12px}.pills{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.pills span{padding:8px 11px;border-radius:7px;background:#222d3b;font-size:11px}.stack{display:flex;flex-direction:column;gap:12px}.stack label,.fields label,.uploads label{display:flex;flex-direction:column;gap:6px;color:#afbbca;font-size:11px}.stack input,.stack select,.stack textarea{width:100%}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.uploads{display:grid;grid-template-columns:1fr 1fr;gap:10px}.uploads label{padding:12px;border:1px dashed #586578;border-radius:8px}.modalactions{display:flex;justify-content:flex-end;gap:8px}.overlay{position:fixed;inset:0;background:#05070bc9;display:grid;place-items:center;padding:18px;z-index:5}.modal{width:min(610px,100%);max-height:90vh;overflow:auto;background:#171f2a;border:1px solid #3b4758;border-radius:14px;padding:22px}.modalhead{display:flex;justify-content:space-between;margin-bottom:18px}.modalhead h2{font:700 19px Manrope;margin:5px 0}.modalhead small{color:#e2bd78;letter-spacing:1.5px}.alert{padding:10px 13px;background:#48292d;color:#ffc4c7;border-radius:7px;margin-bottom:15px;font-size:12px;display:flex;justify-content:space-between}.alert button{background:none;border:0;color:inherit}.center{min-height:100vh;display:grid;place-items:center;padding:20px}.auth{width:min(440px,100%);padding:32px;background:#171f2a;border:1px solid #344052;border-radius:16px}.auth .mark{margin-bottom:20px}.auth h1{font:800 25px Manrope}.auth h1 span{display:block;color:#d8b66f}.auth p{font-size:12px;color:#95a3b5;line-height:1.7}.auth form{display:grid;gap:12px}.auth label{display:grid;gap:6px;font-size:11px;color:#aebaca}.auth input{background:#101721;border:1px solid #364254;color:white;border-radius:7px;padding:12px}.auth button{padding:12px;border-radius:7px}.error{color:#ff9fa5}.wiki{white-space:pre-wrap;color:#aab6c5;font-size:12px;line-height:1.7}@media(max-width:1050px){.cards{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.side{position:static;width:100%;height:auto;display:flex;flex-direction:row;overflow:auto;padding:10px}.brand{padding:0 12px 0 0}.navcap,.sidefoot{display:none}.nav{width:auto;white-space:nowrap;padding:10px}.shell{display:block}main{margin:0;padding:18px 13px}.cards{grid-template-columns:1fr}.stats{gap:8px}.stat{padding:13px}.stat b{font-size:17px}.fields,.uploads{grid-template-columns:1fr}.intro{align-items:flex-start;gap:10px;flex-direction:column}.toolbar{flex-wrap:wrap}.toolbar input{max-width:none;min-width:100%}}
/* Compact member roster: squad filters + power-ranked rows */
.member-list-wrap{overflow-x:auto;background:linear-gradient(145deg,#171f2a,#141a24);border:1px solid #293442;border-radius:12px}
.member-list{min-width:1120px}
.member-list th{padding:14px 12px;color:#8e9caf;white-space:nowrap}
.member-list td{padding:12px;vertical-align:middle;white-space:nowrap}
.member-list tbody tr:hover{background:#202a38}
.member-list td:first-child strong,.member-list td:first-child small{display:block}
.member-list td:first-child strong{color:#edf0f7;font-size:12px}
.member-list td:first-child small{color:#8492a6;font-size:10px;margin-top:3px}
.member-list .power-cell{font-weight:800;color:#edc779;font-variant-numeric:tabular-nums;white-space:nowrap}
.squad-tag{display:inline-block;padding:5px 9px;border-radius:20px;font-size:10px;font-weight:700;background:#303b4c;color:#e6d5b0}
.squad-tank{background:#263f35;color:#a9e2bd}
.squad-missile{background:#45352a;color:#f1c18a}
.squad-air{background:#263b50;color:#a9d6f3}
.member-list .actions{justify-content:flex-start;flex-wrap:wrap;margin:0;min-width:220px}
.member-list .actions button{white-space:nowrap}
.toolbar select{background:#101721;border:1px solid #364254;border-radius:7px;color:#eaf0f8;padding:10px;min-width:145px}
@media(max-width:700px){.member-list{min-width:760px}.toolbar select{flex:1}}


.profile-preview{display:block;max-width:100%;max-height:180px;object-fit:contain;border:1px solid var(--line);border-radius:10px;margin:8px 0;background:#0b1119}.image-empty{display:block;color:var(--muted);font-size:12px;padding:8px 0}.uploads label{min-width:0}

.member-name-cell{display:flex;align-items:center;gap:10px;min-width:150px}.member-name-cell .profile-preview{width:42px;height:42px;min-width:42px;object-fit:cover;border-radius:50%;display:block}.member-name-cell .image-empty{width:42px;height:42px;min-width:42px;display:block;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16)}.member-name-cell>div{display:flex;flex-direction:column;gap:3px}.member-name-cell small{display:block}

/* Server Shiny Tasks: Rubik-style server tiles */
.shiny-note{color:#9eacbd;font-size:12px;margin:8px 0 18px}
.shiny-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0 20px}
.shiny-day{min-width:0;background:#111923;border:1px solid #354254;border-radius:11px;padding:12px}
.shiny-day-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:12px}
.shiny-day-head h3{font-size:12px;letter-spacing:1px;color:#e7c77f;margin:0}
.shiny-day-head span{font-size:11px;color:#aab6c5}
.shiny-day-head b{font-size:10px;color:#8e9caf;margin-left:auto}
.shiny-cube{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.shiny-tile{aspect-ratio:1;display:grid;place-items:center;border:1px solid #ffffff24;border-radius:5px;font-size:clamp(12px,1.5vw,17px);font-weight:800;font-variant-numeric:tabular-nums;color:#101721;background:#e7c66f;box-shadow:inset 0 -3px 0 #0002}
.shiny-tile:nth-child(6n+2){background:#80c7a4}
.shiny-tile:nth-child(6n+3){background:#8ab8e8}
.shiny-tile:nth-child(6n+4){background:#d99a9e}
.shiny-tile:nth-child(6n+5){background:#c0a1df}
.shiny-tile:nth-child(6n){background:#e5a96d}
@media(max-width:1050px){.shiny-days{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.shiny-days{grid-template-columns:1fr}.shiny-cube{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* Server 1641 events calendar inside Wiki */
.server1641-calendar{margin:18px 0 22px}
.server1641-title small{color:#e7c66f;font-weight:800;letter-spacing:1.8px;font-size:10px}
.server1641-title h2{margin:4px 0;font-size:22px}
.server1641-title p{color:#9eacbd;font-size:12px;margin:4px 0 14px}
.server1641-form{display:grid;grid-template-columns:1.2fr 1fr .8fr 1.3fr auto;gap:8px;align-items:center;margin:14px 0 18px}
.server1641-form input,.server1641-form select{min-width:0;width:100%;background:#101721;border:1px solid #364254;border-radius:7px;color:#eaf0f8;padding:10px;font:inherit}
.server1641-monthbar{display:flex;align-items:center;justify-content:center;gap:18px;margin:12px 0}
.server1641-monthbar h3{min-width:180px;text-align:center;margin:0;font-size:16px}
.server1641-monthbar button{width:34px;height:34px;padding:0;font-size:22px;line-height:1}
.server1641-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.server1641-weekday{text-align:center;color:#93a2b6;font-size:10px;font-weight:800;padding:8px 2px}
.server1641-day{min-height:94px;min-width:0;padding:6px;background:#111923;border:1px solid #303c4c;border-radius:7px}
.server1641-day.empty-day{background:transparent;border-color:transparent}
.server1641-day.today{border-color:#e7c66f}
.server1641-daynum{display:block;font-size:11px;font-weight:800;color:#c6d0dc;margin-bottom:5px}
.server1641-event{position:relative;background:#29384a;border-left:3px solid #e7c66f;border-radius:4px;padding:4px 16px 4px 5px;margin:3px 0;overflow-wrap:anywhere}
.server1641-event b{display:block;font-size:9px;line-height:1.25;color:#f1dba7}
.server1641-event small{display:block;font-size:9px;color:#b9c5d4;margin-top:2px}
.server1641-event button{position:absolute;right:2px;top:1px;padding:0 3px;background:transparent;color:#d9a0a0;font-size:13px}
@media(max-width:850px){.server1641-form{grid-template-columns:1fr 1fr}.server1641-form button{grid-column:1/-1}}
@media(max-width:600px){.server1641-grid{gap:2px}.server1641-day{min-height:78px;padding:3px}.server1641-event{padding:3px 4px}.server1641-event button{position:static;float:right}.server1641-weekday{font-size:9px}.server1641-daynum{font-size:10px}}

/* Weekly member train reservations */
.train-signup-panel{margin:16px 0 22px}
.train-signup-panel>h3{margin:0 0 4px;color:#e7c77f}
.train-signup-panel>p{margin:0 0 14px;color:#9eacbd;font-size:12px}
.train-week-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0}
.train-week-nav b{font-size:12px;text-align:center}
.train-hide-name{display:flex;align-items:center;gap:8px;margin:10px 0 16px;color:#d5deea;font-size:12px}
.train-hide-name input{width:auto;min-width:0}
.train-signup-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.train-signup-day{padding:12px;background:#111923;border:1px solid #303c4c;border-radius:9px;min-width:0}
.train-signup-date{display:flex;justify-content:space-between;gap:8px;margin-bottom:8px;color:#e7c77f;font-size:12px}
.train-signup-date span{color:#9eacbd}
.train-signup-slot{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;margin:4px 0;background:#29384a;border-radius:6px;color:#eaf0f8;font-size:11px}
.train-signup-slot.open{background:#17231f;color:#a9e2bd}
.train-signup-slot button{padding:5px 9px;font-size:10px;white-space:nowrap}
.train-signup-day>small{display:block;color:#9eacbd;font-size:10px;margin-top:7px}
@media(max-width:650px){.train-signup-days{grid-template-columns:1fr}.train-week-nav{flex-wrap:wrap}.train-week-nav b{order:-1;width:100%}}

/* Train signup name fields: match the dark slot background and use white text. */
.train-signup-slot input{background:#29384a;color:#fff;border:1px solid #46566b;border-radius:6px;padding:7px 9px;font:inherit;min-width:0;flex:1;outline-color:#d4ad67}
.train-signup-slot input::placeholder{color:#c2ccda;opacity:1}

/* Train signup Save action: use the alliance gold accent. */
.train-signup-slot button{background:linear-gradient(145deg,#e7c77f,#c99b4f);color:#19140d;border:1px solid #f0d99e;border-radius:7px;padding:7px 14px;font-size:11px;font-weight:800;letter-spacing:.25px;box-shadow:0 2px 7px #0005;transition:filter .15s ease,transform .15s ease,box-shadow .15s ease}
.train-signup-slot button:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 4px 10px #0006}
.train-signup-slot button:active{transform:translateY(0);box-shadow:0 1px 4px #0005}
