@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800;900&family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap');

/* Shared visual system: workshop charcoal, warm white, competition red. */
:root {
  --color-bg: #101112; --color-bg-primary: #101112; --color-bg-secondary: #17191b;
  --color-surface: #1b1d20; --color-card: #1b1d20; --color-surface-2: #222528;
  --color-text-primary: #f5f3ed; --color-text: #f5f3ed; --color-text-secondary: #b9babc;
  --color-text-tertiary: #a0a3a7; --color-accent: #ff6259; --color-accent-primary: #ff6259;
  --color-accent-secondary: #e54b43; --color-accent-tertiary: #ff9189;
  --color-accent-gradient: linear-gradient(120deg, #ac2926, #b5312c);
  --font-family-primary: 'DM Sans', sans-serif;
  --font-family-heading: 'Archivo', sans-serif;
  --font-family-mono: 'IBM Plex Mono', monospace;
  --radius-sm: 6px; --radius-md: 10px; --radius-lg: 12px; --radius-xl: 16px;
  --shadow-sm: none; --shadow-md: 0 8px 24px #0002; --shadow-lg: 0 12px 32px #0002;
}
html { scroll-padding-top: 100px; }
body { background: var(--color-bg); font-family: var(--font-family-primary); }
h1,h2,h3,h4,h5,h6 { font-family: var(--font-family-heading); letter-spacing: .01em; color: var(--color-text-primary); }
h2 { font-size: clamp(2rem,4vw,3.5rem); }
h3 { font-size: 1.7rem; }
p { line-height: 1.75; }
img { max-width: 100%; }
button, input, textarea, select { font: inherit; }
a,button,input,textarea,select,[tabindex] { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #ff9189 !important; outline-offset: 5px; }
header,header.scrolled { z-index: 1000; background: #101112f5; border-bottom: 1px solid #ffffff1c; box-shadow:none; padding: 18px 32px; }
.header-content { max-width: 1200px; gap: 24px; }
.logo-container { gap: 12px; animation:none; }
.logo-container img.logo { width:44px; height:44px; object-fit:cover; border-radius:50%; }
.logo-container h1 { font-family:var(--font-family-heading); font-size:24px; letter-spacing:.02em; color:var(--color-text-primary); background:none; -webkit-text-fill-color:currentColor; white-space:nowrap; }
nav { gap:4px; }
nav a { color:#bfc0c2; font-size:13px; padding:12px 14px; min-height:44px; border-radius:4px; }
nav a::before { display:none; }
nav a::after { bottom:4px; height:2px; background:var(--color-accent); }
nav a:hover,nav a.active { color:#fff; background:#ffffff05; transform:none; }
nav a[href='login.html'] { border:1px solid #ffffff35; margin-left:12px; }
section { max-width:1200px; margin:0 auto; padding:56px 32px; border-radius:0; background:transparent; box-shadow:none; }
.container { width:100%; max-width:1200px; padding:0; }
section + section { border-top:1px solid #ffffff12; }
.hero,.hero[style*='60vh'] { min-height:0 !important; padding:72px 32px 56px; background:transparent; justify-content:flex-start; text-align:left; overflow:visible; }
.hero::before,.hero-decoration { display:none; }
.hero-content { width:100%; max-width:none; margin:0; }
.hero h1 { color:var(--color-text-primary); background:none; -webkit-text-fill-color:currentColor; font-size:clamp(3.5rem,7vw,6rem); line-height:.98; font-weight:700; animation:none; }
.hero .subtitle { max-width:630px; font-size:17px; line-height:1.8; margin-bottom:0; animation:none; }
.hero-buttons { justify-content:flex-start; gap:12px; margin-top:30px; animation:none; }
.home-hero { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:64px; padding-top:48px; padding-bottom:64px; }
.home-hero h1 { font-size:clamp(5.5rem,9.5vw,9rem); line-height:.88; letter-spacing:-.025em; margin:28px 0; }
.home-hero h1 span { color:var(--color-accent); }
.eyebrow { font-family:var(--font-family-mono); font-size:10px; letter-spacing:.1em; color:#d0d1d2; }
.eyebrow span { color:var(--color-accent); margin:0 8px; }
.hero-photo { position:relative; margin:0; padding:12px 12px 0; background:#242628; border:1px solid #ffffff24; transform:rotate(2deg); }
.hero-photo::before { content:''; position:absolute; width:70px; height:5px; background:var(--color-accent); top:-3px; left:24px; }
.hero-photo img { display:block; width:100%; height:490px; object-fit:cover; object-position:center; filter:saturate(.8); }
.hero-photo figcaption { display:flex; justify-content:space-between; gap:12px; padding:18px 4px; font-family:var(--font-family-mono); font-size:10px; color:#ddd; }
.hero-photo figcaption span:first-child { color:var(--color-accent); }
.btn,button,#subscribeButton,#logoutButton { min-height:48px; padding:13px 20px; border-radius:6px; background:#ef5b52; color:#151515; box-shadow:none; font-weight:700; font-size:14px; line-height:1.5; letter-spacing:0; }
.btn:hover,button:hover,#subscribeButton:hover,#logoutButton:hover { box-shadow:none; transform:translateY(-1px); filter:brightness(1.08); }
.btn-secondary { background:transparent; border:1px solid #ffffff4d; color:var(--color-text-primary); backdrop-filter:none; }
.btn-secondary:hover { background:#ffffff0d; color:white; }
.btn span[aria-hidden] { margin-left:12px; }
button:disabled { cursor:wait; opacity:.65; transform:none; }
.section-content,.card,.login-card,.resource-section { border:1px solid #ffffff20; box-shadow:none; }
.section-content { padding:36px; animation:none; }
.section-content:hover,.card:hover,.resource-section:hover,.member-card:hover { transform:none; box-shadow:none; border-color:#ffffff40; }
.card::before { display:none; }
.section-header { margin-bottom:32px; text-align:left; }
.section-header h2,.login-header h2 { background:none; -webkit-text-fill-color:currentColor; color:var(--color-text-primary); }
.section-header p { margin-left:0; }
.grid { gap:24px; }
.grid > *, .contact-method > *, .event-content, .highlight-content { min-width:0; }
.grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.grid-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.card { padding:28px; background:var(--color-surface); }
.card h3 { color:var(--color-text-primary); }
.member-card { width:100%; padding:24px; }
.member-avatar { display:block; }
.member-avatar img { width:100%; height:250px; object-fit:cover; object-position:center 25%; border:0; border-radius:6px; margin:0; }
.member-card:hover .member-avatar img { transform:none; }
.member-card h4 { font-size:1.5rem; margin-top:18px; }
.highlight-card { display:block; padding:16px; }
.highlight-image img { width:100%; height:280px; object-fit:cover; border:0; border-radius:6px; }
.highlight-content { padding:24px 8px 8px; }
.event-date,.timeline-date { background:#ff625918; color:var(--color-accent); }
.event-card { gap:20px; }
.event-card h3 { font-size:1.75rem; }
.contact-grid { gap:40px; }
.contact-info-card { padding:28px; }
.contact-details a { overflow-wrap:anywhere; }
.contact-icon { padding:8px; background:#ffffff08; }
.contact-method { align-items:flex-start; }
.modern-form input,.modern-form select,.modern-form textarea,.login-form input { background:#121416; border:1px solid #ffffff35; border-radius:6px; min-height:48px; font-size:16px; color:#f5f3ed; width:100%; }
.modern-form select option { background:#17191b; color:#fff; }
.form-group label { color:#dadbdd; }
.login-hero { min-height:0; padding:64px 32px; background:transparent; }
.login-container { max-width:1000px; gap:64px; }
.login-card { padding:36px; }
.login-header { text-align:left; margin-bottom:32px; }
.login-icon { font-size:2rem; animation:none; }
.login-form { gap:20px; }
.login-form .form-group label,.login-form .form-group.focused label,.login-form .form-group.has-value label { position:static; display:block; transform:none; padding:0; margin:0 0 8px; font-size:14px; background:none; color:#dadbdd; }
.login-form input[type='password'],.login-form input#password { padding-right:60px; }
.password-toggle,.password-toggle:hover { top:auto; bottom:2px; right:4px; width:46px; height:46px; min-height:44px; padding:8px; transform:none; box-shadow:none; background:transparent; }
.input-focus-border,.floating-particle { display:none; }
.login-features { flex-wrap:wrap; }
.login-benefits h3 { color:var(--color-text-primary); }
.benefit-item h4 { font-size:1.4rem; }
.login-error:empty,.form-response:empty { display:none; }
.members-hero { padding:56px 32px; background:transparent; }
.members-welcome h1 { font-size:clamp(2.5rem,5vw,4rem); }
.quick-actions { flex-wrap:wrap; }
.resource-header { padding:20px; }
.resource-header h3 { font-family:var(--font-family-primary); font-size:14px; }
.folder-container { padding:16px; }
.folder-header { color:var(--color-text-primary); border:1px solid #ffffff20; border-radius:6px; }
.folder-content { background:#141618; overflow-wrap:anywhere; }
.page-robot-challenge > .container { max-width:850px; width:calc(100% - 48px); margin:48px auto; padding:32px; background:var(--color-surface); border:1px solid #ffffff25; box-shadow:none; }
.page-robot-challenge { background:var(--color-bg); color:var(--color-text-primary); font-family:var(--font-family-primary); }
.page-robot-challenge h2 { margin:24px 0; text-align:left; color:var(--color-text-primary); }
.page-robot-challenge select { padding:12px; background:#121416; color:white; border:1px solid #ffffff40; border-radius:6px; }
.page-robot-challenge .challenge-instructions { background:#25282b; }
.page-robot-challenge textarea { min-height:260px; background:#111315; font-family:var(--font-family-mono); }
.page-robot-challenge .buttons button { background:#ef5b52; color:#111; }
footer { border-color:#ffffff1c !important; background:#141617 !important; padding:28px 24px !important; }
footer p { font-size:12px; }
.join-section { padding-top:36px; }
.join-section .section-content { text-align:left !important; position:relative; padding:40px; }
.join-section h2 { font-size:3rem; }
.join-section .btn { margin:0 8px 10px 0 !important; }
.menu-toggle,.menu-toggle:hover { width:44px; height:44px; padding:11px 8px; min-height:44px; border:1px solid #ffffff35; border-radius:6px; background:transparent; box-shadow:none; transform:none; flex-shrink:0; }
.menu-toggle span { height:2px; }
.nav-overlay { z-index:999; background:#101112fc; top:81px; overflow-y:auto; }
.mobile-nav { position:static; transform:none; width:100%; padding:24px; text-align:left; }
.mobile-nav a { margin:0; padding:16px 8px; border-bottom:1px solid #ffffff1a; font-family:var(--font-family-heading); font-size:2rem; transition:none; }
.mobile-nav a.active { color:var(--color-accent); }
@media (max-width:1000px) {
  header nav { display:none; } .menu-toggle { display:flex; }
  .home-hero { gap:32px; } .hero-photo img { height:440px; }
  .grid-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .resources-grid { grid-template-columns:1fr; }
  .login-container { gap:32px; }
}
@media (max-width:640px) {
  header,header.scrolled { padding:12px 20px; }
  .logo-container img.logo { width:38px; height:38px; }
  .logo-container h1 { font-size:21px; }
  .header-content { gap:12px; }
  .nav-overlay { top:69px; }
  section { padding:36px 20px; }
  .hero,.hero[style*='60vh'] { padding:40px 20px 32px; }
  .hero h1 { font-size:3.5rem; }
  .hero .subtitle { font-size:15px; }
  .home-hero { grid-template-columns:1fr; gap:36px; }
  .home-hero h1 { font-size:clamp(5rem,20vw,7rem); }
  .eyebrow { font-size:9px; }
  .hero-buttons { margin-top:24px; gap:10px; }
  .hero-buttons .btn { flex:1; justify-content:center; padding:13px 12px; font-size:13px; }
  .hero-photo { transform:none; margin:0; }
  .hero-photo img { height:auto; max-height:460px; object-fit:cover; }
  .hero-photo figcaption { font-size:9px; }
  .grid-2,.grid-3 { grid-template-columns:1fr; }
  .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .section-content,.card,.login-card { padding:24px; }
  .section-header { margin-bottom:24px; }
  .section-header h2 { font-size:2.5rem; }
  .member-avatar img { height:320px; }
  .highlight-card { padding:12px; }
  .highlight-image img { height:240px; }
  .event-card { flex-direction:row; gap:16px; }
  .event-date { min-width:58px; padding:12px 8px; }
  .event-content h3 { font-size:1.5rem; }
  .contact-grid { gap:32px; }
  .contact-method { flex-direction:row; text-align:left; }
  .contact-icon { align-self:auto; }
  .contact-form,.contact-info { min-width:0; }
  .login-hero { padding:32px 20px; }
  .login-container { grid-template-columns:1fr; }
  .login-benefits { padding:16px 4px; }
  .members-hero { padding:36px 20px; }
  .quick-actions { align-items:stretch; }
  .quick-action-btn { max-width:none; }
  .stat-card { padding:20px 12px; }
  .resource-header { flex-direction:row; text-align:left; }
  .join-section .section-content { padding:28px 24px; }
  .join-section h2 { font-size:2.6rem; }
  .page-robot-challenge > .container { width:calc(100% - 32px); padding:20px; margin:28px auto; }
  .timeline-item { padding:20px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  .animate-on-scroll,.reveal { opacity:1 !important; transform:none !important; }
}
.member-placeholder { display:grid; place-items:center; width:100%; height:250px; border-radius:6px; background:repeating-linear-gradient(135deg,#24282b,#24282b 1px,#202326 1px,#202326 16px); color:#b4b7ba; font-family:var(--font-family-heading); font-size:5rem; }
@media (max-width:640px) {
  .team-section .grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .team-section .member-card { padding:12px; }
  .member-avatar img,.member-placeholder { height:170px; }
  .member-placeholder { font-size:3rem; }
  .member-card h4 { font-size:1.3rem; }
  .member-role { font-size:12px; }
  .benefit-item { flex-direction:row; text-align:left; padding:20px; gap:16px; }
  .login-features { flex-direction:row; justify-content:center; gap:12px; font-size:11px; }
}
/* RECF refresh: wider type, drafting details, and a dedicated operations workspace. */
h1,h2,h3,h4 { letter-spacing:-.035em; }
h2,.section-header h2 { font-size:clamp(1.8rem,3.5vw,2.7rem); line-height:1.15; }
h3 { font-size:1.35rem; }
.logo-container h1 { font-size:20px; font-weight:800; letter-spacing:-.04em; }
.hero h1 { font-size:clamp(3rem,6vw,5.2rem); font-weight:800; }
.home-hero { grid-template-columns:1.12fr 1fr; gap:40px; }
.home-hero h1 { font-size:clamp(3.5rem,6.2vw,6rem); line-height:1.04; letter-spacing:-.065em; }
.hero .subtitle { font-size:16px; max-width:480px; }
.eyebrow { letter-spacing:.09em; }
.engineering-visual { min-width:0; position:relative; aspect-ratio:1; padding:24px; background-color:#191c1e; background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px); background-size:28px 28px; border:1px solid #ffffff2a; border-radius:8px; overflow:hidden; }
.engineering-visual::before { content:''; position:absolute; right:0; top:0; width:96px; height:6px; background:var(--color-accent); }
.visual-topline,.visual-bottom { display:flex; justify-content:space-between; gap:10px; font:9px var(--font-family-mono); color:#a7abad; letter-spacing:.05em; }
.visual-bottom { position:absolute; left:24px; right:24px; bottom:20px; align-items:center; }
.crosshair { font-size:28px; color:var(--color-accent); }
.orbital-mark { position:absolute; width:75%; aspect-ratio:1; top:50%; left:50%; transform:translate(-50%,-50%); }
.orbit { position:absolute; inset:0; border:1px solid #ffffff4a; border-radius:50%; }
.orbit-one::after { content:''; position:absolute; inset:10%; border:1px dashed #ffffff2a; border-radius:50%; }
.orbit-two { inset:20%; border:2px solid #ff625969; }
.orbit-center { position:absolute; inset:26%; display:flex; flex-direction:column; justify-content:center; align-items:center; background:var(--color-accent); color:#17191b; transform:rotate(-10deg); font:900 clamp(2rem,4.7vw,4rem) var(--font-family-heading); letter-spacing:-.07em; border-radius:16px; box-shadow:14px 16px 0 #0004; }
.orbit-center span { font:500 10px var(--font-family-mono); letter-spacing:.17em; margin-top:8px; }
.orbit-dot { position:absolute; inset:0; animation:orbit-spin 24s linear infinite; }
.orbit-dot::before { content:''; width:12px; height:12px; background:#ff6259; border:4px solid #1a1d20; border-radius:50%; position:absolute; top:0; left:50%; transform:translate(-50%,-50%); box-sizing:content-box; }
@keyframes orbit-spin { to { transform:rotate(360deg); } }
.current-game { padding-top:64px; padding-bottom:64px; }
.game-layout { display:grid; grid-template-columns:.95fr 1.15fr; gap:64px; align-items:center; }
.game-poster { position:relative; display:flex; flex-direction:column; min-height:440px; padding:28px; background:#dcd988; color:#171c16; overflow:hidden; border-radius:8px; }
.game-poster .eyebrow { color:#41452a; font-size:9px; }
.game-wordmark { font:900 clamp(2.3rem,4vw,3.8rem)/1 var(--font-family-heading); letter-spacing:-.075em; margin-top:24px; }
.game-wordmark span { display:block; }
.game-wordmark sup { position:absolute; font-size:16px; top:75px; right:30px; }
.game-presenter { font:12px var(--font-family-mono); margin-top:12px; }
.fuel-diagram { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; width:180px; align-self:flex-end; transform:rotate(-15deg); margin:8px 0 20px; }
.fuel-diagram i { width:50px; height:50px; border:1px solid #323823; border-radius:50%; background:repeating-linear-gradient(45deg,transparent,transparent 5px,#32382320 5px,#32382320 6px); }
.fuel-diagram i:nth-child(3n) { background:#323823; }
.poster-caption { font:10px var(--font-family-mono); margin-top:auto; border-top:1px solid #32382350; padding-top:16px; }
.game-copy h2 { margin:18px 0 24px; }
.game-phases { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:28px 0; border-block:1px solid #ffffff20; padding:24px 0; }
.game-phases span { font:11px var(--font-family-mono); color:var(--color-accent); display:block; margin-bottom:10px; }
.game-phases strong { font-size:14px; }
.game-phases p { font-size:13px; line-height:1.6; margin:8px 0 0; }
.season-note { font-size:12px; margin-top:24px; color:#a7abad; }
.team-icon { color:var(--color-accent); font:13px var(--font-family-mono); padding-bottom:32px; }
.shared-responsibility { border-left:3px solid var(--color-accent); padding:24px 28px; background:#ffffff04; margin-top:24px; }
.shared-responsibility h3 { margin-top:12px; font-size:1.4rem; }
.shared-responsibility p:last-child { margin:0; }
.member-initials { height:160px; display:grid; place-items:center; border-radius:6px; color:#ff9b91; font:700 3rem var(--font-family-heading); letter-spacing:-.05em; background:linear-gradient(135deg,#ff625915,#ff625903); border:1px solid #ff625929; }
.member-card:nth-child(3n+2) .member-initials { color:#dcd988; background:linear-gradient(135deg,#dcd98815,#dcd98803); border-color:#dcd98829; }
.member-card:nth-child(3n) .member-initials { color:#b4d0d5; background:linear-gradient(135deg,#b4d0d515,#b4d0d503); border-color:#b4d0d529; }
.member-card { animation:none; }
.member-card h4 { font-size:1.1rem; letter-spacing:-.025em; }
.schedule-placeholder { display:flex; gap:24px; align-items:center; padding:32px; border:1px dashed #ffffff35; border-radius:8px; background:#ffffff03; margin-bottom:24px; }
.schedule-placeholder p { margin:0; font-size:14px; }
.schedule-mark { display:grid; place-items:center; flex-shrink:0; width:60px; height:60px; border:1px solid #ffffff20; font:24px var(--font-family-mono); color:var(--color-accent); }
.status-pill { margin-left:auto; white-space:nowrap; font:9px var(--font-family-mono); color:#dcd988; background:#dcd9880e; padding:8px 12px; border-radius:4px; }
.join-section h2 { font-size:clamp(1.8rem,4vw,2.5rem); }
.admin-page { background:#121416; }
.admin-page [hidden] { display:none !important; }
.admin-shell { display:grid; grid-template-columns:240px minmax(0,1fr); min-height:100vh; }
.admin-sidebar { position:sticky; top:0; height:100dvh; padding:28px 20px 20px; border-right:1px solid #ffffff16; background:#17191b; display:flex; flex-direction:column; }
.admin-brand { display:flex; align-items:center; gap:10px; color:#f5f3ed; font-weight:700; font-size:15px; }
.brand-square { display:grid; place-items:center; width:36px; height:36px; background:var(--color-accent); color:#17191b; border-radius:7px; font:800 22px var(--font-family-heading); }
.admin-brand small { display:block; font:9px var(--font-family-mono); color:#8c9399; letter-spacing:.12em; margin-top:4px; }
.sidebar-label { font:10px var(--font-family-mono); color:#8c9399; margin:48px 12px 16px; }
.admin-nav { display:flex; flex-direction:column; gap:6px; align-items:stretch; }
.admin-nav button { display:flex; align-items:center; gap:12px; width:100%; min-height:44px; background:transparent; color:#b9bfc5; text-align:left; border:1px solid transparent; padding:10px 14px; font-size:13px; font-weight:500; }
.admin-nav button span { width:18px; font-size:18px; }
.admin-nav button.selected { background:#ff625911; border-color:#ff625927; color:#ff8e85; }
.admin-nav button:hover { transform:none; background:#ffffff08; }
.sidebar-bottom { margin-top:auto; padding-top:32px; }
.sidebar-bottom > a { display:block; font-size:12px; color:#a4abb2; padding:12px; }
.admin-account { display:flex; align-items:center; gap:10px; border-top:1px solid #ffffff18; padding:20px 0; margin-top:16px; }
.account-initials { display:grid; place-items:center; width:34px; height:34px; background:#ffffff0b; border:1px solid #ffffff20; border-radius:50%; font:11px var(--font-family-mono); flex-shrink:0; }
.admin-account strong { font-size:12px; overflow-wrap:anywhere; }
.admin-account small { display:block; font-size:11px; color:#899199; margin-top:3px; }
.admin-page #logoutButton { width:100%; min-height:36px; font-size:12px; color:#b9bfc5; background:transparent; border:1px solid #ffffff25; padding:8px; }
.admin-main { min-width:0; padding:0 40px 48px; max-width:1600px; width:100%; }
.admin-topbar { display:flex; justify-content:space-between; align-items:center; height:76px; border-bottom:1px solid #ffffff16; font-size:12px; color:#9ca3ab; }
.admin-breadcrumb span { margin:0 12px; color:#60676d; }
.admin-breadcrumb strong { font-weight:500; color:#d8dcdf; }
.workspace-label { font:10px var(--font-family-mono); color:#727b83; }
.admin-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:40px 0 20px; }
.admin-heading h1 { font-size:30px; margin:8px 0; letter-spacing:-.04em; }
.admin-heading p { font-size:13px; margin-bottom:0; }
.admin-heading .eyebrow { font-size:9px; color:#898f96; }
.admin-page .admin-secondary { background:transparent; color:#bbc1c6; border:1px solid #ffffff25; min-height:38px; padding:8px 12px; font-size:12px; font-weight:500; }
.admin-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; padding-bottom:20px; }
.admin-search { display:flex; align-items:center; gap:10px; max-width:360px; width:100%; padding:0 12px; background:#1b1e21; border:1px solid #ffffff20; border-radius:6px; }
.admin-search span { color:#8b949d; font-size:22px; }
.admin-search input { width:100%; min-width:0; min-height:40px; background:transparent; border:0; color:white; font-size:13px; outline-offset:0; }
.admin-page .btn { min-height:40px; font-size:12px; padding:10px 16px; white-space:nowrap; }
.admin-panel { padding:0; margin:0; max-width:none; border:0; }
.admin-page #adminNotice { font-size:12px; color:#dcd988; }
.admin-page #adminNotice:empty { display:none; }
.admin-resource-list { display:grid; gap:16px; }
.admin-page .resource-section { background:#191c1f; border:1px solid #ffffff18; border-radius:8px; }
.admin-page .resource-section:hover { transform:none; }
.resource-row-heading { display:flex; gap:16px; align-items:center; padding:20px 24px; }
.folder-symbol { display:grid; place-items:center; width:36px; height:36px; border:1px solid #ff62592a; border-radius:6px; color:#ff8e85; background:#ff62590a; font:11px var(--font-family-mono); }
.resource-row-heading h2 { font-size:14px; font-family:var(--font-family-primary); letter-spacing:0; margin:0 0 4px; color:#e4e7ea; }
.resource-row-heading p { font-size:12px; margin:0; color:#939ba3; }
.admin-page .folder-content { display:block; max-height:none; padding:0 24px 12px 76px; background:transparent; overflow:visible; }
.admin-page .resource-list li { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:40px; padding:12px 0; border-top:1px solid #ffffff0d; border-bottom:0; }
.admin-page .resource-list a { color:#c7cdd2; font-size:13px; overflow-wrap:anywhere; }
.admin-page .resource-list a::before { display:none; }
.admin-page .resource-list .resource-open { font:10px var(--font-family-mono); flex-shrink:0; color:#969fa6; }
.admin-page .resource-list .resource-state { color:#858e96; font-size:12px; }
.admin-resource-form { padding:24px; background:#1d2023; border:1px solid #ff625940; border-radius:8px; margin-bottom:24px; }
.form-heading { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-bottom:20px; }
.form-heading h2 { font-size:18px; margin:0; }
.resource-form-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:20px; }
.resource-form-fields label { display:block; font-size:12px; color:#b8c0c7; }
.resource-form-fields input,.resource-form-fields select { display:block; width:100%; background:#141619; border:1px solid #ffffff30; color:#e4e7ea; border-radius:5px; min-height:42px; padding:10px 12px; font-size:14px; margin-top:8px; }
.resource-url { grid-column:1/-1; }
#resourceFormStatus { font-size:12px; margin:12px 0 0; }
#resourceFormStatus:empty { display:none; }
.admin-page .doc-preview-wrapper { width:100%; margin-top:24px; }
.inbox-labels { display:flex; justify-content:space-between; border-bottom:1px solid #ffffff20; padding:0 0 16px; font:10px var(--font-family-mono); color:#8e98a0; }
.admin-page #financeMessages { padding-top:20px; font-size:13px; color:#a9b1b8; }
.admin-page .message { padding:24px; background:#191c1f; border:1px solid #ffffff18; border-radius:8px; margin-bottom:16px; }
.admin-page .message h3 { font:600 14px var(--font-family-primary); margin:0 0 4px; }
.admin-page .message h4 { font:600 14px var(--font-family-primary); margin:20px 0 8px; }
.admin-page .message .message-email,.admin-page .message .message-date { font-size:11px; color:#8e98a0; overflow-wrap:anywhere; }
.admin-page .message .message-body { white-space:pre-wrap; overflow-wrap:anywhere; color:#cbd0d5; }
.admin-empty { padding:24px 0; font-size:13px; color:#929ba4; }
.admin-link-list { display:grid; gap:12px; }
.admin-link-list a { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px; background:#191c1f !important; border:1px solid #ffffff18; border-radius:8px; color:#dce1e5 !important; font-size:14px; font-weight:500 !important; box-shadow:none !important; }
.admin-link-list p { font-size:12px; margin:6px 0 0; color:#9ba5ae; }
@media (max-width:1000px) {
 .admin-shell { grid-template-columns:200px minmax(0,1fr); }
 .admin-main { padding-inline:24px; }
 .game-layout { gap:32px; }
 .home-hero { gap:28px; }
 .logo-container h1 { font-size:18px; }
 .schedule-placeholder { flex-wrap:wrap; }
 .status-pill { margin-left:84px; }
}
@media (max-width:700px) {
 .home-hero,.game-layout { grid-template-columns:1fr; }
 .home-hero h1 { font-size:clamp(3rem,12vw,4.8rem); }
 .engineering-visual { max-width:460px; width:100%; margin:0 auto; }
 .orbit-center { font-size:3rem; }
 .game-poster { min-height:380px; }
 .game-wordmark { font-size:3.8rem; }
 .game-copy h2 { font-size:2rem; }
 .game-layout { gap:32px; }
 .game-phases { gap:20px; }
 .member-initials { height:130px; font-size:2.4rem; }
 .member-card h4 { font-size:.9rem; line-height:1.4; }
 .schedule-placeholder { padding:24px; gap:16px; }
 .schedule-mark { width:44px; height:44px; }
 .schedule-placeholder > div { flex:1; min-width:140px; }
 .status-pill { margin-left:0; }
 .admin-shell { display:block; }
 .admin-sidebar { position:static; height:auto; padding:18px 16px 0; border-right:0; border-bottom:1px solid #ffffff20; }
 .admin-brand { font-size:14px; }
 .sidebar-label,.admin-account,.sidebar-bottom > a { display:none; }
 .sidebar-bottom { position:absolute; top:18px; right:16px; padding:0; margin:0; }
 .admin-page #logoutButton { width:auto; min-height:36px; padding:8px 12px; }
 .admin-nav { display:flex; flex-direction:row; margin-top:20px; gap:8px; }
 .admin-nav button { font-size:12px; padding:12px 8px; justify-content:center; gap:6px; border-radius:5px 5px 0 0; }
 .admin-nav button span { width:auto; font-size:15px; }
 .admin-main { padding:0 16px 32px; }
 .admin-topbar { height:50px; }
 .workspace-label { display:none; }
 .admin-heading { padding-top:28px; align-items:flex-start; }
 .admin-heading h1 { font-size:26px; }
 .admin-heading p { font-size:12px; }
 .admin-toolbar { gap:10px; }
 .admin-search input { font-size:16px; }
 .admin-page .btn { padding:10px 12px; font-size:11px; }
 .resource-row-heading { padding:18px 16px; gap:12px; }
 .resource-row-heading p { font-size:11px; }
 .admin-page .folder-content { padding:0 16px 8px; }
 .admin-page .resource-list li { gap:12px; }
 .admin-page .resource-list a { font-size:12px; }
 .resource-form-fields { grid-template-columns:1fr; }
 .resource-form-fields input,.resource-form-fields select { font-size:16px; }
 .admin-resource-form { padding:18px; }
 .admin-link-list a,.admin-page .message { padding:20px; }
 .logo-container h1 { font-size:16px; }
 .shared-responsibility { padding:24px 20px; }
}
@media (prefers-reduced-motion:reduce) { .orbit-dot { animation:none; } }

.pin-diagram { display:flex; align-items:flex-end; justify-content:center; gap:20px; padding:32px 0 22px; margin:auto 0; transform:rotate(-8deg); }
.pin-stack { display:flex; flex-direction:column; align-items:center; gap:3px; --pin-color:#dc5b50; }
.pin-stack i { position:relative; width:68px; height:30px; background:var(--pin-color); border:1px solid #171c1640; border-radius:7px; box-shadow:3px 4px 0 #171c1620; }
.pin-stack i::before { content:''; display:block; position:absolute; width:24px; height:9px; top:-9px; left:21px; background:var(--pin-color); border:1px solid #171c1640; border-bottom:0; border-radius:3px 3px 0 0; }
.stack-blue { --pin-color:#638eac; }
.stack-yellow { --pin-color:#e8b451; }
.admin-search { min-width:0; flex:1; }
.admin-toolbar > button { flex-shrink:0; }
.admin-heading > button { flex-shrink:0; white-space:nowrap; }
