@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=Instrument+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#111510;--sidebar:#171c15;--card:#1a2018;--raised:#222a1f;--line:#31392d;--text:#eff1e8;--muted:#a7b0a0;--lime:#d4e99b;--orange:#f2ad76;--danger:#ffa594;--display:"Barlow Condensed","Arial Narrow",Impact,sans-serif;--sans:"Instrument Sans",system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 var(--sans)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}a{color:inherit;text-decoration:none}a.link{color:var(--lime);text-decoration:underline;text-underline-offset:4px}button{cursor:pointer}button:disabled{cursor:progress;opacity:.65}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.04}h1,h2,.event-name,.brand{font-family:var(--display)}img{display:block;max-width:100%}
.layout{display:grid;grid-template-columns:237px minmax(0,1fr);min-height:100vh}.sidebar{padding:26px 16px 19px;background:var(--sidebar);border-right:1px solid var(--line);position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;padding:3px 5px 32px;font-size:28px;letter-spacing:.15px;font-weight:800;line-height:.98}.brand img{width:41px}.brand small{display:block;font:700 8px/1.4 var(--sans);letter-spacing:1.05px;color:var(--muted);margin-top:7px}.nav-title{display:block;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;padding:0 12px;margin:8px 0}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 11px;border:1px solid transparent;border-radius:8px;color:var(--muted);font-weight:600;margin:3px 0}.nav-item[aria-current]{background:#283220;border-color:#3b4a2f;color:var(--lime)}.nav-item:hover{color:var(--text);background:#262e22}.ico{flex:none;width:18px;height:18px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.identity{margin-top:auto;padding:13px 4px 0;border-top:1px solid var(--line);display:flex;align-items:center;gap:9px}.identity .exit{margin-left:auto}.avatar{display:grid;place-items:center;background:#39472a;color:var(--lime);border:1px solid #465435;border-radius:9px;flex:0 0 34px;height:34px;font-size:12px;font-weight:700}.identity strong,.identity small{display:block;overflow-wrap:anywhere}.identity small{color:var(--muted);font-size:12px}
.top{height:62px;display:flex;justify-content:space-between;align-items:center;padding:0 33px;border-bottom:1px solid var(--line);color:var(--muted);gap:12px;font-size:13px}.top>div:first-child{display:flex;align-items:center;gap:8px}.live{display:inline-block;width:8px;height:8px;border-radius:50%;background:#a8ca74;box-shadow:0 0 0 4px #a8ca7418}.surface{min-width:0}main{margin:0 auto;padding:29px 32px 48px;max-width:1480px}.loading{color:var(--muted)}.hero{min-height:292px;display:flex;align-items:center;overflow:hidden;border:1px solid #424b34;border-radius:14px;background-color:#252e1e;background-image:linear-gradient(90deg,#142017 2%,#142017ed 19%,#14201766 52%,#151b1000 75%),url('/camp.webp');background-position:center,center 54%;background-size:cover;position:relative}.hero-content{padding:33px clamp(23px,4.4vw,61px);position:relative;max-width:660px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-weight:700;font-size:11px;color:var(--lime);display:flex;align-items:center;gap:8px;margin-bottom:9px}.hero h1{font-size:clamp(52px,7vw,96px);font-weight:800;letter-spacing:-.6px;line-height:.9;margin:0 0 15px;text-transform:uppercase}.hero p{color:#d2dbc9;margin-bottom:22px;max-width:370px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border:1px solid var(--line);border-radius:8px;background:var(--raised);color:var(--text);padding:7px 13px;font-weight:700;font-size:13px;text-align:center}.btn:hover{border-color:#71855b;background:#323f2a}.btn.primary{background:var(--lime);color:#20291a;border-color:var(--lime)}.btn.primary:hover{background:#e4f6b9}.btn.danger{color:var(--danger)}.btn.icon-only{padding:6px;min-height:32px}.section{margin-top:25px;scroll-margin-top:16px}.section-head,.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:15px}.section-head h2,.page-head h1{margin:0;font-size:39px;letter-spacing:.1px}.page-head{margin:8px 0 22px}.page-head p{max-width:58ch;margin:6px 0 0;color:var(--muted)}.grid{display:grid;grid-template-columns:minmax(0, 1fr) minmax(238px, .36fr);gap:18px}.stack{display:grid;gap:11px;align-content:start;min-width:0}.filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:1px}.filter{background:transparent;border:1px solid var(--line);color:var(--muted);padding:6px 12px;border-radius:7px;font-size:12px;font-weight:700}.filter[aria-pressed=true]{background:#2d3924;border-color:#475737;color:var(--lime)}.filter:hover{color:var(--text)}
.card,.event,.empty{border:1px solid var(--line);background:var(--card);border-radius:11px}.card,.empty{padding:17px}.event{display:grid;grid-template-columns:55px minmax(0,1fr) auto;gap:14px;padding:14px;align-items:center}.date-chip{display:grid;justify-items:center;align-content:center;border-radius:8px;background:#272f23;border:1px solid #384333;min-height:59px;color:#dbe4d4}.date-chip b{font:700 28px/.95 var(--display)}.date-chip small{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#b4bbac;font-weight:700;margin-top:4px}.event-name{font-size:26px;letter-spacing:.12px;font-weight:700;margin:2px 0 3px;overflow-wrap:anywhere}.event-meta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:12px}.event-meta .ico{width:14px;height:14px;margin-right:3px}.tag{display:inline-flex;align-items:center;gap:5px;width:max-content;border-radius:5px;padding:2px 6px;background:#303a29;color:var(--lime);font-weight:700;font-size:10px;letter-spacing:.55px;text-transform:uppercase}.tag.raid{background:#473325;color:#ffc093}.tag.neutral{background:#333930;color:#d9e1d4}.kicker{color:var(--muted);font-size:13px;margin:0}.card h3{font-family:var(--display);font-size:24px;margin:0 0 12px}.card h3 .ico{color:var(--lime);margin:0 5px 2px 0}.card h3+p{color:var(--muted);font-size:13px;margin-bottom:12px}.stats{display:grid;gap:10px;padding:0;margin:0;list-style:none}.stats li{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:9px;color:var(--muted);font-size:13px}.stats b{color:var(--text)}.empty h3{margin:0 0 6px;font-size:17px}.empty p:last-child,.card p:last-child{margin-bottom:0}.hint{color:var(--muted);font-size:13px;margin:0 0 14px}.banner{border:1px solid #4c5736;background:#252f20;border-radius:8px;padding:11px 14px;margin-bottom:16px;color:#e5efcd;font-size:13px;display:flex;justify-content:space-between;gap:10px;align-items:center}.onboard{max-width:490px;margin:21px 0}.row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.row:first-child{border-top:0}.row small{display:block;color:var(--muted)}.row .left{display:flex;align-items:center;gap:9px;min-width:0}.row .right{display:flex;align-items:center;gap:7px}.form{display:grid;gap:13px}.form label{display:grid;gap:5px;font-weight:600;font-size:13px}input,select,textarea{width:100%;background:#131911;color:var(--text);border:1px solid #475241;border-radius:7px;padding:8px 10px}textarea{min-height:84px;resize:vertical}.cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form footer,.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.form .error{margin:0}.error{color:var(--danger)}dialog{width:min(95vw,620px);max-height:88vh;overflow:auto;padding:0;border:1px solid #44513e;border-radius:13px;background:var(--card);color:var(--text)}dialog::backdrop{background:#080b08bd}dialog .inner{padding:21px}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.dialog-head h2{font-size:34px;margin:0 0 5px}.dialog-head .kicker{margin:0}.dialog-head button{flex:none}.description{white-space:pre-wrap;overflow-wrap:anywhere;color:#d4ddcd}.roster{margin-top:17px}.roster h3{margin:0 0 8px;font-size:17px}.rsp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.rsp label{position:relative}.rsp input{position:absolute;width:1px;height:1px;opacity:0}.rsp input:focus-visible+span{outline:2px solid var(--lime);outline-offset:2px}.rsp span{padding:7px;text-align:center;background:var(--raised);border:1px solid var(--line);border-radius:7px;cursor:pointer}.rsp input:checked+span{background:#36462b;border-color:#8cab65;color:var(--lime)}.group{display:grid;gap:7px;padding:0;border:0;margin:0}.group legend{font-size:13px;font-weight:600;margin-bottom:5px}.details-form{border-block:1px solid var(--line);padding:15px 0}.member-table{max-width:850px}.skip{position:absolute;left:12px;top:-100px;background:var(--lime);color:#1d2617;padding:8px;z-index:3}.skip:focus{top:12px}#notice:not(:empty){position:fixed;bottom:19px;right:21px;z-index:10;background:var(--lime);color:#1d2719;border-radius:8px;padding:10px 15px;box-shadow:0 4px 20px #0008}
@media(max-width:1100px){.layout{grid-template-columns:195px minmax(0,1fr)}.brand{font-size:24px}.brand img{width:35px}.brand small{font-size:7px}.sidebar{padding-inline:12px}main{padding-inline:23px}.top{padding-inline:23px}}
@media(max-width:820px){.grid{grid-template-columns:1fr}.sidecards{grid-template-columns:repeat(2,minmax(0,1fr))}.layout{grid-template-columns:165px minmax(0,1fr)}.brand{font-size:22px}.brand small{letter-spacing:.5px}.brand img{width:31px}.hero{min-height:260px}}
@media(max-width:620px){.layout{display:block}.sidebar{height:auto;position:static;padding:11px 12px 8px;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:8px}.brand{padding:0 2px;font-size:26px}.brand small{font-size:7px;margin-top:5px}.nav-title{display:none}nav{grid-column:1/-1;grid-row:2;display:flex;flex-wrap:wrap;gap:4px}.nav-item{font-size:12px;padding:5px 7px;margin:0;gap:4px}.nav-item .ico{width:14px;height:14px}.identity{margin:0;border:0;padding:0;gap:5px}.identity .avatar{display:none}.identity small{font-size:10px}.identity strong{font-size:12px}.top{height:40px;padding:0 13px;font-size:11px}main{padding:13px 12px 30px}.hero{min-height:236px;background-position:center,62% center}.hero-content{padding:24px 17px}.hero h1{font-size:clamp(48px,12vw,62px)}.hero p{max-width:230px;font-size:13px}.section-head h2,.page-head h1{font-size:33px}.sidecards{grid-template-columns:1fr}.event{gap:9px;padding:10px;grid-template-columns:43px minmax(0,1fr) auto}.event-name{font-size:22px}.date-chip{min-height:52px}.date-chip b{font-size:25px}.event button{padding:6px 8px;font-size:11px}.event-meta{gap:5px;font-size:11px}.cols{grid-template-columns:1fr}.banner{align-items:flex-start}}
.table-wrap{width:100%;overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;text-align:left;white-space:nowrap}th,td{padding:8px 8px 8px 0;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:600}tbody tr:last-child td{border-bottom:0}.attendance-row label{width:110px;flex:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.attendance-list{border-block:1px solid var(--line)}.form .attendance-check{min-height:44px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 2px;cursor:pointer}.attendance-check+.attendance-check{border-top:1px solid var(--line)}.attendance-check small{display:block;color:var(--muted);font-weight:400}.check-caption{display:flex;align-items:center;gap:8px;color:var(--muted);flex:none}.check-caption input{margin:0;width:17px;height:17px;accent-color:var(--lime)}.attendance-extra summary{cursor:pointer;color:var(--lime);padding:5px 0;font-size:13px;font-weight:700}.attendance-extra .attendance-list{margin-top:6px;max-height:215px;overflow:auto}
.loot-head{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:6px}
.raid-loot{margin-top:18px}.raid-details{border-top:1px solid var(--line);padding:10px 0}.raid-details summary{cursor:pointer;color:var(--text);padding:4px 0}.raid-details summary .kicker{margin-left:8px}.raid-details[open] summary{margin-bottom:8px}.raid-sources{margin-top:12px;font-size:13px;gap:14px}.raid-loot td .actions{flex-wrap:nowrap}
.officer-nav{margin-bottom:16px}.officer-history{margin-top:12px}.officer-history summary{cursor:pointer;font-weight:700}.officer-history[open] summary{margin-bottom:10px}.officer-event{flex-wrap:wrap}.priority-note{margin-top:12px}.raid-loot .table-wrap small{display:block;color:var(--muted)}
.gear-actions{margin-bottom:10px}.gear-hint{margin-top:12px}.roster .right,.member-table .right{flex-wrap:wrap;justify-content:flex-end}
.role-summary{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0;margin:10px 0}.role-summary li{background:var(--raised);border:1px solid var(--line);border-radius:7px;padding:5px 7px;font-size:12px;min-width:0}.role-summary strong{display:block;color:var(--lime);font-size:14px;white-space:nowrap}.role-summary small{display:block;color:var(--muted);font-size:10px}.event .role-summary{margin:7px 0 0;max-width:255px}
.tag.pvp{background:#402b47;color:#edcaf5}.account-summary{grid-template-columns:repeat(auto-fit,minmax(95px,1fr));max-width:800px}
.tag.official{background:#403a24;color:#ffe298;border:1px solid #6d5e35;margin-left:5px}
.admin-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.62fr);align-items:start}@media(max-width:820px){.admin-grid{grid-template-columns:1fr}}
[data-role-fields][hidden]{display:none}.pvp-reserves{margin-top:6px}
.form .poll-choice{display:flex;align-items:center;gap:8px;padding:7px 0}.poll-choice input{width:auto;accent-color:var(--lime)}
[data-poll-invites][hidden]{display:none}.poll-invite-list{max-height:180px;overflow:auto}
.poll-record summary{cursor:pointer}.poll-record summary small{display:block;color:var(--muted);margin-top:4px}.poll-record[open] summary{margin-bottom:12px}
