*{box-sizing:border-box}
html{min-height:100%;background:#003f6f}
body{margin:0;background:#003f6f;color:#111;font:11px Verdana,Arial,Helvetica,sans-serif}
a{color:#003399;text-decoration:none}a:hover{text-decoration:underline}
button,input,select,textarea{font:11px Verdana,Arial,Helvetica,sans-serif}
button{cursor:pointer}
img{max-width:100%}
[hidden]{display:none!important}

.site-shell{width:760px;max-width:100%;margin:0 auto;background:#fff;min-height:100vh;border-left:1px solid #003366;border-right:1px solid #003366}
.site-header{height:54px;background:#6699cc;color:#fff;position:relative;border-bottom:1px solid #336699;padding:6px 8px 0}
.brand{font:bold 20px Arial,Helvetica,sans-serif;letter-spacing:-1px;color:#fff;text-shadow:1px 1px #336699;line-height:22px}
.tagline{font:9px Verdana,Arial,sans-serif;color:#eef5fb;margin-left:1px}
.header-tools{position:absolute;right:8px;top:5px;display:flex;align-items:center;gap:3px}
.header-tools input{width:124px;height:17px;border:1px solid #999;background:#fff;padding:1px 3px;font-size:9px}
.header-tools button{height:17px;padding:0 5px;border:1px outset #ccc;background:#eee;color:#222;font-size:9px}
.auth-links{position:absolute;right:8px;bottom:5px;color:#fff;font-size:9px}.auth-links a{color:#fff;font-weight:bold}
.global-nav{height:20px;background:#003366;border-bottom:2px solid #ff9933;padding:3px 7px;color:#fff;white-space:nowrap;overflow:hidden}
.global-nav a{color:#fff;font-weight:bold;font-size:10px;margin-right:13px}.global-nav a.on{color:#ffcc99}
.alpha-note{background:#fff4df;border-bottom:1px solid #ffcc99;padding:4px 8px;color:#7c4a00;font-size:10px}.alpha-note b{color:#cc6600}

.group-cover{height:146px;position:relative;overflow:hidden;border-bottom:1px solid #336699;background:#102740}
.cover-art{position:absolute;inset:0;background:
 linear-gradient(90deg,rgba(3,25,50,.88),rgba(16,58,94,.35) 44%,rgba(2,20,38,.72)),
 radial-gradient(circle at 76% 30%,rgba(255,200,105,.48),transparent 21%),
 linear-gradient(160deg,transparent 0 48%,rgba(6,29,52,.86) 49% 56%,transparent 57%),
 linear-gradient(20deg,#172d43 0 36%,#244e6d 37% 50%,#192a3b 51% 100%)}
.cover-art:before,.cover-art:after{content:"";position:absolute;bottom:-18px;width:220px;height:128px;background:#071c2f;clip-path:polygon(0 100%,17% 51%,29% 65%,43% 24%,58% 61%,76% 34%,100% 100%)}
.cover-art:before{left:-15px}.cover-art:after{right:-18px;transform:scaleX(-1);opacity:.8}
.cover-label{position:absolute;left:12px;top:12px;color:#d8e8f7;font:bold 10px Verdana,Arial,sans-serif;text-transform:uppercase;letter-spacing:.8px;text-shadow:1px 1px #000}
.cover-motto{position:absolute;right:14px;bottom:10px;color:#fff;font:bold 11px Georgia,'Times New Roman',serif;text-shadow:1px 1px 2px #000;text-align:right}

.identity{display:grid;grid-template-columns:94px minmax(0,1fr) 174px;gap:10px;padding:9px 10px 10px;background:#fff;border-bottom:1px solid #ffcc99;align-items:start}
.crest{width:88px;height:88px;margin-top:-34px;border:2px solid #fff;outline:1px solid #999;background:#d8e3ef;box-shadow:0 1px 3px rgba(0,0,0,.35);display:grid;place-items:center;position:relative;z-index:2}
.crest-shield{width:59px;height:68px;background:#1f4f7d;border:3px solid #d2a84c;clip-path:polygon(8% 0,92% 0,92% 58%,50% 100%,8% 58%);display:grid;place-items:center;color:#fff;font:bold 29px Georgia,serif;text-shadow:1px 1px #10243c}
.group-title-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.group-title{margin:0;font:bold 17px Arial,Helvetica,sans-serif;color:#003366}
.badge{display:inline-block;padding:1px 5px;border:1px solid #999;background:#eee;color:#444;font-size:9px;font-weight:normal;line-height:14px}
.badge.recruiting{border-color:#2f6b4f;background:#e6f2eb;color:#20563d;font-weight:bold}
.badge.rank{border-color:#ff9933;background:#fff4df;color:#cc6600}
.group-meta{margin-top:3px;color:#666;font-size:10px;line-height:1.35}.group-about{margin-top:6px;line-height:1.45;color:#222}
.tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.tag{border:1px solid #9fb6d4;background:#e8eef7;padding:2px 5px;color:#003399;font-size:9px}
.join-panel{border:1px solid #ff9933;background:#fffaf3;padding:6px}.join-panel p{margin:5px 1px 0;color:#666;font-size:9px;line-height:1.4}
.btn{display:inline-block;text-align:center;border:2px outset #9fb6d4;background:#c9d6e8;color:#003366;font-weight:bold;padding:5px 8px;min-height:27px}.btn:hover{text-decoration:none;background:#d6e2f0}.btn:active{border-style:inset}.btn.primary{width:100%;background:#ffcc99;border-color:#ff9933;color:#cc6600}.btn.secondary{width:100%;margin-top:5px;background:#e8eef7;border-color:#9fb6d4}.btn.small{padding:3px 7px;min-height:22px;font-size:10px}.btn.danger{background:#f4dddd;border-color:#b86969;color:#7d1f25}.btn.active{border-style:inset;background:#ffcc99;border-color:#ff9933;color:#cc6600}

.group-tabs{display:flex;background:#e8eef7;border-bottom:1px solid #6699cc;overflow-x:auto;white-space:nowrap}.tab{appearance:none;border:0;border-right:1px solid #9fb6d4;background:#dbe7f3;color:#003399;padding:7px 12px;font-weight:bold;min-width:max-content}.tab:hover{background:#eef5fb}.tab.on{background:#fff;color:#003366;border-top:2px solid #ff9933;padding-top:5px}.tab .count{font-weight:normal;color:#666}
.page-body{background:#f4f7fb;padding:10px}.group-grid{display:grid;grid-template-columns:minmax(0,1fr) 226px;gap:10px;align-items:start}.main-column,.side-column{display:flex;flex-direction:column;gap:10px}
.panel{border:1px solid #6699cc;background:#fff}.panel-head{display:flex;align-items:center;min-height:24px;padding:4px 6px;background:#6699cc;color:#fff;font-weight:bold}.panel-head a{margin-left:auto;color:#fff;font-size:9px;font-weight:normal}.panel-body{padding:7px}.panel-subhead{background:#b1d0f0;color:#336699;border-bottom:1px solid #6699cc;padding:4px 6px;font-weight:bold}
.notice-author{display:flex;gap:7px;align-items:flex-start}.avatar{width:34px;height:34px;flex:none;border:1px solid #999;background:#7a8ca3;color:#fff;display:grid;place-items:center;font:bold 12px Arial,Helvetica,sans-serif;overflow:hidden}.avatar.miles{background:linear-gradient(140deg,#e08d26 0 42%,#f0d1a0 43% 56%,#9b2c1a 57%)}.avatar.ysolde{background:linear-gradient(140deg,#172f53 0 45%,#d9c2a0 46% 58%,#5a2134 59%)}.avatar.grum{background:linear-gradient(140deg,#2a5b37 0 45%,#9ec17f 46% 58%,#203b21 59%)}.avatar.perrin{background:linear-gradient(140deg,#514266 0 45%,#d5b894 46% 58%,#20273d 59%)}
.author-line{font-weight:bold}.author-meta{color:#777;font-size:9px;font-weight:normal}.as-character{color:#777;font-size:9px;margin-top:2px}.notice-copy{margin-top:6px;line-height:1.5}.notice-actions{border-top:1px dotted #ccc;margin-top:7px;padding-top:5px;font-size:9px;color:#666}
.rules{margin:0;padding-left:20px;line-height:1.5}.rules li+li{margin-top:3px}
.event-list{display:flex;flex-direction:column;gap:7px}.event{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;border:1px solid #c7d6e6;background:#fff;padding:7px}.date-tile{border:1px solid #ff9933;background:#fff4df;text-align:center;color:#cc6600}.date-tile .month{font:bold 9px Arial,Helvetica,sans-serif;padding-top:3px}.date-tile .day{font:bold 17px Arial,Helvetica,sans-serif;padding-bottom:3px}.event-title{font-weight:bold;color:#003366}.event-meta{color:#666;font-size:9px;line-height:1.4;margin-top:2px}.rsvp{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;align-items:center}.rsvp-note{font-size:9px;color:#666;margin-left:2px}
.roster-list{display:flex;flex-direction:column;gap:7px}.roster-person{display:flex;gap:6px;align-items:center}.roster-person .avatar{width:30px;height:30px}.roster-copy{min-width:0;line-height:1.3}.roster-name{font-weight:bold;color:#003399}.roster-role{font-size:9px;color:#777}.quiet{color:#666;font-size:9px;line-height:1.45}.recruit-copy{line-height:1.45}.contact-copy{line-height:1.45}

.view{display:none}.view.active{display:block}.view>.panel+.panel{margin-top:10px}
.notices-list,.members-list,.events-full{display:flex;flex-direction:column;gap:7px}.list-card{border:1px solid #c7d6e6;background:#fff;padding:8px}.list-card h3{margin:0 0 3px;font:bold 12px Arial,Helvetica,sans-serif;color:#003366}.list-meta{font-size:9px;color:#777;margin-bottom:5px}.list-card p{margin:0;line-height:1.5}
.member-toolbar{display:flex;align-items:center;gap:5px;border-bottom:1px solid #c7d6e6;background:#eef5fb;padding:6px}.member-toolbar b{margin-right:auto}.member-toolbar input{width:130px;border:1px solid #9fb6d4;padding:3px}.member-toolbar select{border:1px solid #9fb6d4;padding:2px;background:#fff}.member-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:7px;padding:8px;border-bottom:1px dotted #bbb;align-items:start}.member-row:last-child{border-bottom:0}.member-row .avatar{width:42px;height:42px}.member-name{font-weight:bold;color:#003399}.account-label{font-size:9px;color:#777;font-weight:normal;margin-left:4px}.member-details{color:#666;font-size:9px;margin-top:3px}.character-chip{margin-top:5px;border:1px solid #c7d6e6;background:#eef5fb;padding:5px;font-size:9px}.private-count{padding:8px;background:#fffaf3;color:#666;line-height:1.45}

.application-modal{position:fixed;inset:0;background:rgba(0,34,64,.72);z-index:20;display:grid;place-items:center;padding:12px}.modal-card{width:420px;max-width:100%;border:2px solid #336699;background:#fff;box-shadow:0 4px 18px rgba(0,0,0,.45)}.modal-head{display:flex;align-items:center;background:#6699cc;color:#fff;font-weight:bold;padding:5px 7px}.modal-close{margin-left:auto;border:1px outset #ccc;background:#eee;color:#333;width:21px;height:19px;padding:0;line-height:16px}.modal-body{padding:9px}.modal-body p{margin:0 0 7px;line-height:1.45}.modal-body label{display:block;color:#cc6600;font-weight:bold;margin:7px 0 2px}.modal-body textarea{width:100%;min-height:58px;border:1px solid #9fb6d4;padding:4px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:5px;border-top:1px solid #c7d6e6;background:#eef5fb;padding:7px}.status-line{margin-top:7px;border:1px solid #7fb28f;background:#e6f2eb;color:#20563d;padding:6px;line-height:1.4}
.toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:30;border:1px solid #ff9933;background:#fff4df;color:#7c4a00;padding:7px 10px;box-shadow:0 2px 8px rgba(0,0,0,.3);font-weight:bold}
.site-footer{border-top:1px solid #ff9933;background:#fff;padding:9px 8px 12px;color:#666;font-size:9px;text-align:center;line-height:1.6}.site-footer a{margin:0 3px}

@media(max-width:680px){
 html,body{background:#fff}.site-shell{width:100%;border:0}.site-header{height:48px}.brand{font-size:18px}.tagline{display:none}.header-tools{display:none}.auth-links{top:18px;bottom:auto}.global-nav{overflow-x:auto;height:22px;padding-top:4px}.global-nav a{margin-right:12px}
 .alpha-note{padding:5px 7px}.group-cover{height:104px}.cover-label{top:8px;left:8px}.cover-motto{font-size:10px;right:8px;bottom:7px}
 .identity{grid-template-columns:70px minmax(0,1fr);gap:7px;padding:8px}.crest{width:66px;height:66px;margin-top:-28px}.crest-shield{width:45px;height:52px;font-size:22px}.group-title{font-size:15px}.group-meta{font-size:9px}.group-about{grid-column:1/-1;margin-top:1px}.tags{grid-column:1/-1}.join-panel{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:5px}.join-panel .btn.secondary{margin-top:0}.join-panel p{grid-column:1/-1;margin-top:1px}
 .tab{padding:8px 10px}.page-body{padding:7px}.group-grid{grid-template-columns:1fr}.side-column{display:contents}.side-column .roster-panel{order:30}.side-column .recruit-panel{order:31}.side-column .contact-panel{order:32}.main-column{display:contents}.notice-panel{order:10}.event-panel{order:20}.rules-panel{order:40}
 .event{grid-template-columns:44px minmax(0,1fr)}.btn.small{min-height:28px}.rsvp .btn.small{flex:1;padding-left:4px;padding-right:4px}.rsvp-note{width:100%;margin-top:2px}
 .member-toolbar{flex-wrap:wrap}.member-toolbar b{width:100%}.member-toolbar input{flex:1}.member-row{grid-template-columns:38px minmax(0,1fr)}.member-row .avatar{width:38px;height:38px}.member-row>.btn{grid-column:2;justify-self:start}.modal-card{width:100%}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
