@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

:root {
  --bg: #f5f5f7; --surface: #fff; --grouped: #ececec; --ink: #1d1d1f;
  --muted: #6e6e73; --tertiary: #86868b; --accent: #007aff; --accent-hover: #0062d6;
  --success: #34c759; --warning: #ff9f0a; --danger: #ff3b30; --line: rgba(0,0,0,.06);
  --shadow: 0 8px 24px rgba(0,0,0,.08); --shadow-hover: 0 14px 32px rgba(0,0,0,.10);
  --content: 1200px; --ease: cubic-bezier(.2,.8,.2,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
[id="hero"],[id="gift"],[id="agenda"],[id="tasks"],[id="live-slido"],[id="post-event"],[id="thank-you-desk"],[id="gallery"],[id="playlists"] { scroll-margin-top: 92px; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, sans-serif; -webkit-font-smoothing: antialiased; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid rgba(0,122,255,.28); outline-offset: 2px; }
h1,h2,h3,p { margin-top: 0; }
h1,h2,h3,.brand { font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", Inter, sans-serif; }
h1 { font-size: clamp(2.75rem,5vw,4.5rem); line-height: 1.04; letter-spacing: -.045em; }
h2 { font-size: clamp(1.75rem,3vw,2.25rem); line-height: 1.15; letter-spacing: -.035em; }
h3 { letter-spacing: -.02em; }
.loading { min-height: 100vh; display: grid; place-items: center; color: var(--muted); }
.visually-hidden { width:1px!important; height:1px!important; position:absolute!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; clip-path:inset(50%)!important; white-space:nowrap!important; }
.eyebrow,.type { color: var(--accent); font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }

.primary,.secondary { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; border-radius: 14px; padding: .75rem 1.25rem; border: 1px solid transparent; font-weight: 600; transition: transform 150ms var(--ease),background 150ms,box-shadow 150ms; }
.primary { background: var(--accent); color: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.10); }
.primary:hover { background: var(--accent-hover); transform: scale(1.02); }
.secondary { background: #fff; color: var(--ink); border-color: rgba(0,0,0,.08); }
.primary:active,.secondary:active { transform: scale(.98); }

/* Authentication */
.auth-page { min-height: 100vh; display: grid; grid-template-columns: minmax(0,1.1fr) minmax(400px,.9fr); background: var(--bg); }
.auth-copy { padding: clamp(3rem,7vw,7rem); display: flex; flex-direction: column; justify-content: center; color: #fff; position: relative; overflow: hidden; background: #111214; }
.auth-copy:before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 75% 20%,rgba(0,122,255,.28),transparent 38%); }
.auth-copy>* { position: relative; }
.auth-copy .eyebrow { color: #8fc5ff; }
.auth-copy h1 { max-width: 720px; margin: 1.25rem 0; }
.auth-copy p { max-width: 540px; color: rgba(255,255,255,.65); font-size: 1.1rem; line-height: 1.55; }
.auth-stats { display: flex; gap: 3rem; margin-top: 3rem; }
.auth-stats span { display: grid; gap: .2rem; color: rgba(255,255,255,.52); font-size: .85rem; }
.auth-stats b { color: #fff; font-size: 1.25rem; }
.auth-card { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem,7vw,6rem); max-width: 640px; width: 100%; }
.auth-card .logo,.brand>span { width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; background: var(--accent); color: #fff; font-weight: 700; }
.auth-card h2 { margin: 2rem 0 .5rem; }
.auth-card>p { color: var(--muted); margin-bottom: 2rem; line-height: 1.5; }
.auth-card form,.profile-form { display: grid; gap: 1rem; }
.auth-card label,.profile-form label,.modal label { display: grid; gap: .5rem; font-weight: 600; font-size: .85rem; }
.auth-card input,.auth-card select,.profile-form input,.profile-form select,.modal input,.modal textarea,.modal select { width: 100%; min-height: 48px; border: 1px solid rgba(0,0,0,.08); border-radius: 12px; padding: .8rem 1rem; background: #fff; color: var(--ink); transition: border 150ms,box-shadow 150ms; }
.auth-card input:focus,.profile-form input:focus,.modal input:focus,.modal textarea:focus,.modal select:focus { border-color: var(--accent); box-shadow: 0 0 0 4px rgba(0,122,255,.1); outline: none; }
.form-error { padding: .85rem 1rem; border: 1px solid #d83c4d; border-radius: 12px; background: #fff3f4; color: #8f1d2c; font-size: .9rem; font-weight: 600; line-height: 1.4; }
.auth-card input[aria-invalid="true"] { border-color: #d83c4d; }
.auth-card .link,.back { border: 0; background: none; padding: 1rem; color: var(--accent); }
.auth-choice { display: grid; gap: .75rem; text-align: center; border-top: 1px solid var(--line); }
.auth-choice>span { color: var(--muted); font-size: .85rem; font-weight: 600; }
.auth-choice .signup-action { width: 100%; color: var(--ink); background: #fff; }
.auth-choice .signup-action:hover { color: #fff; background: #022d47; }
.back { align-self: flex-start; padding-left: 0; }

/* Navigation */
header { width: min(calc(100% - 32px),var(--content)); height: 64px; position: sticky; top: 12px; z-index: 20; margin: 12px auto 0; padding: 0 12px 0 10px; display: flex; align-items: center; border: 1px solid rgba(0,0,0,.06); border-radius: 18px; background: rgba(255,255,255,.78); box-shadow: 0 8px 28px rgba(0,0,0,.07); backdrop-filter: blur(22px) saturate(180%); -webkit-backdrop-filter: blur(22px) saturate(180%); }
.brand { display: flex; align-items: center; gap: .7rem; color: var(--ink); font-weight: 650; text-decoration: none; margin-right: auto; white-space: nowrap; border: 0; background: none; padding: 0; }
.brand>span { width: 38px; height: 38px; border-radius: 11px; }
nav { min-width:0; display:flex; flex:1 1 auto; align-self:stretch; align-items:center; justify-content:flex-end; gap:.15rem; overflow-x:auto; scrollbar-width:none; }
nav::-webkit-scrollbar { display:none; }
.nav-link { min-height: 44px; border: 0; background: none; padding: .7rem .9rem; color: var(--muted); border-radius: 11px; font-size: .9rem; font-weight: 500; position: relative; }
.nav-link:hover { color: var(--ink); background: rgba(0,0,0,.035); }
.nav-link:disabled { color: var(--tertiary); opacity: .48; cursor: not-allowed; background: none; }
.nav-link.active { color: var(--ink); font-weight: 600; }
.nav-link.active:after { content: ''; position: absolute; left: 35%; right: 35%; bottom: 4px; height: 2px; background: var(--accent); border-radius: 2px; }
.profile-chip { margin-left: .65rem; min-height: 44px; display: flex; align-items: center; gap: .55rem; border: 0; background: none; border-radius: 12px; padding: .3rem .5rem; }
.profile-chip:hover { background: rgba(0,0,0,.035); }
.profile-chip>span,.avatar { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: #e8f2ff; color: var(--accent); font-weight: 700; }
.profile-chip small { font-weight: 600; max-width: 120px; overflow: hidden; text-overflow: ellipsis; }
main { max-width: var(--content); margin: auto; padding-bottom: 72px; }
[id] { scroll-margin-top: 100px; }

.progress-strip { margin: 28px 0 0; padding: 16px 20px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px; background: rgba(255,255,255,.74); border: 1px solid var(--line); border-radius: 16px; }
.progress-strip>div:first-child { display: grid; min-width: 170px; }
.progress-strip span { color: var(--muted); font-size: .75rem; }
.progress-strip b { font-size: .9rem; }
.progress-strip strong { color: var(--accent); }
.bar { height: 7px; background: #e5e5e7; border-radius: 99px; overflow: hidden; }
.bar i { display: block; height: 100%; background: var(--accent); border-radius: inherit; transition: width 400ms var(--ease); }

/* Home */
.hero { min-height: 470px; margin: 24px 0; padding: clamp(2.5rem,6vw,5rem); border-radius: 28px; display: flex; align-items: center; justify-content: space-between; overflow: hidden; position: relative; color: #fff; background: #17181b; }
.hero:before { content: ''; position: absolute; width: 560px; height: 560px; right: -150px; top: -210px; background: radial-gradient(circle,rgba(0,122,255,.48),rgba(0,122,255,0) 65%); }
.hero:after { content: ''; position: absolute; width: 250px; height: 250px; right: 10%; bottom: -120px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }
.hero>div:first-child { max-width: 680px; position: relative; z-index: 1; }
.hero .eyebrow { color: #8fc5ff; }
.hero h1 { margin: 1rem 0 1.25rem; }
.hero p { max-width: 600px; font-size: 1.08rem; line-height: 1.55; color: rgba(255,255,255,.66); }
.hero-actions { margin-top: 28px; display:flex; align-items:center; gap:12px; }.hero-link { min-height:46px; padding:.75rem 1rem; color:#fff; border:0; border-radius:14px; background:rgba(255,255,255,.08); font-weight:600; }.hero-link:hover { background:rgba(255,255,255,.14); }
.technical-support-action{width:117px;height:117px;flex:0 0 117px;display:block;padding:0;overflow:hidden;border:0;border-radius:50%;background:transparent}.technical-support-action img{width:100%;height:100%;display:block}.technical-support-action:focus-visible{outline:3px solid #fff;outline-offset:4px}
.site-floating-layer{z-index:2147483647!important;pointer-events:none;isolation:isolate}.site-floating-layer>a,.site-floating-layer>button{pointer-events:auto}.registration-support{position:fixed;right:44px;bottom:max(32px,env(safe-area-inset-bottom));width:117px;height:117px}.registration-support .technical-support-action:focus-visible{outline-color:var(--accent)}
.section,.page-title,.timeline,.support-grid,.contact-card,.profile-form,.admin-grid { margin: clamp(3.5rem,7vw,6rem) 0; }
.section-head { display: flex; justify-content: space-between; align-items: end; margin-bottom: 1.75rem; }
.section-head h2 { margin: .5rem 0 0; }
.section-head>span { color: var(--muted); font-size: .9rem; }
.challenge-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.challenge-card { min-height: 300px; padding: 24px; display: flex; flex-direction: column; text-align: left; color: inherit; border: 1px solid var(--line); border-radius: 20px; background: #fff; transition: transform 200ms var(--ease),box-shadow 200ms,border 200ms; animation: card-in 350ms var(--ease) both; }
.challenge-card:nth-child(2){animation-delay:50ms}.challenge-card:nth-child(3){animation-delay:100ms}
.challenge-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-hover); border-color: transparent; }
.challenge-card.done { background: linear-gradient(145deg,#fff,#f2fbf5); }
.challenge-number { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: #f2f2f4; color: var(--muted); font-weight: 650; }
.challenge-card.done .challenge-number { background: rgba(52,199,89,.12); color: #248a3d; }
.challenge-card .type { margin-top: 1.5rem; }
.challenge-card h3 { margin: .6rem 0; font-size: 1.3rem; }
.challenge-card p { color: var(--muted); line-height: 1.5; font-size: .94rem; }
.task-meta { margin-bottom:14px; color:var(--tertiary); font-size:.78rem; }
.challenge-card footer { margin-top: auto; padding-top: 1rem; display: flex; justify-content: space-between; border-top: 1px solid var(--line); }
.challenge-card footer span { color: var(--accent); font-weight: 600; }
.challenge-card.done footer span { color: #248a3d; }
.embed-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.embed-grid iframe { width: 100%; aspect-ratio: 16/9; border: 0; border-radius: 18px; background: #e5e5e7; }
.live-broadcast { margin-top: 24px; }
.live-broadcast .embed-grid { grid-template-columns: 1fr; }
.live-broadcast iframe { width:100%; min-height:clamp(360px,60vw,720px); border:0; background:#f4f6f8; }

/* Inner pages */
.page-title { max-width: 820px; }
.page-title h1 { margin: .8rem 0 1rem; }
.page-title p { color: var(--muted); font-size: 1.08rem; line-height: 1.55; }
.timeline { display: grid; gap: 3rem; }
.agenda-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: start; }
.agenda-column > h2 { margin: 0 0 16px; padding-bottom: 12px; border-bottom: 2px solid var(--line); text-align: center; text-transform: uppercase; letter-spacing: .08em; font-size: 1rem; }
.agenda-column article { display: grid; grid-template-columns: 84px 1fr; padding: 22px; margin-top: 12px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.agenda-column time { color: var(--accent); font-weight: 650; }
.agenda-column article h3 { margin-bottom: .45rem; font-size: 1.15rem; }
.agenda-column article p,.agenda-column article span { color: var(--muted); line-height: 1.5; }
.agenda-version { margin: clamp(2.5rem,6vw,5rem) 0; }
.agenda-version>h2 { margin-bottom:.4rem; color:#022d47; text-transform:uppercase; letter-spacing:.06em; }
.agenda-version>p { color:var(--muted); }
.agenda-city-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-top:24px; }
.agenda-city-card { min-height:190px; padding:24px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; border:1px solid var(--line); border-radius:0; color:#022d47; background:#fff; box-shadow:6px 6px 0 #b9e6f7; transition:transform 180ms var(--ease),box-shadow 180ms var(--ease); }
.agenda-city-card>span { font-size:2rem; color:#17abe5; }.agenda-city-card strong { font-size:1.25rem; }.agenda-city-card small { color:var(--muted); }
.agenda-city-card:hover { transform:translateY(-3px); box-shadow:8px 9px 0 #9bdcf4; }.agenda-city-card:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.agenda-city-modal { width:min(760px,100%); }.agenda-city-modal .agenda-column { max-height:65vh; overflow:auto; padding:0 8px 8px 0; }
.day h2 { padding-bottom: 1rem; border-bottom: 1px solid rgba(0,0,0,.12); }
.day article { display: grid; grid-template-columns: 120px 1fr; padding: 24px; margin-top: 12px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.day time { color: var(--accent); font-weight: 650; }
.day article h3 { margin-bottom: .45rem; font-size: 1.15rem; }
.day article p,.day article span { color: var(--muted); line-height: 1.5; }
.squad-resources { margin: -2rem 0 clamp(3.5rem,7vw,6rem); padding: clamp(24px,4vw,42px); display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; border-radius: 26px; background: linear-gradient(135deg,#a8ddff,#7bc4f5); }
.squad-resource-card { min-height: 205px; padding: 26px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.72); border-radius: 18px; background: rgba(255,255,255,.72); color: var(--ink); box-shadow: 0 9px 24px rgba(42,105,145,.12); transition: transform 180ms var(--ease),box-shadow 180ms var(--ease); }
.squad-resource-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(42,105,145,.2); }
.squad-resource-card:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.resource-icon { width: 58px; height: 58px; margin-bottom: 20px; display: grid; place-items: center; border-radius: 16px; background: rgba(255,255,255,.62); font-size: 1.7rem; font-style: normal; }
.resource-gifts .resource-icon { color: #e62aa5; background: rgba(239,168,224,.28); }.resource-playlist .resource-icon { color: #3f9bc8; }.resource-watch .resource-icon { color: #568b47; background: rgba(149,190,139,.2); }
.squad-resource-card strong { font-size: 1.08rem; }.squad-resource-card small { margin-top: 8px; color: var(--muted); font-size: .88rem; }.squad-resource-card em { margin-top: 18px; color: var(--tertiary); font-size: .76rem; font-style: normal; }
.resource-modal ul { margin: 1.5rem 0 0; padding: 0; display: grid; gap: 10px; list-style: none; }.resource-modal li { padding: 14px 16px; border-radius: 12px; background: #f4f7fa; }.resource-modal .resource-icon { margin-bottom: 8px; }
.avatar.small { width: 34px; height: 34px; }.rank-row div { display: grid; }.rank-row small { color: var(--muted); }.rank-row em { font-style: normal; font-weight: 700; }
.support-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.support-grid article { padding: 24px; border: 1px solid var(--line); border-radius: 20px; background: #fff; }
.support-grid article>span { color: var(--accent); font-weight: 700; }.support-grid h3 { margin-top: 2rem; }.support-grid p { margin-bottom: 0; color: var(--muted); line-height: 1.55; }
.contact-card { padding: 40px; display: flex; justify-content: space-between; align-items: center; border-radius: 24px; color: #fff; background: #1d1d1f; }
.contact-card p { margin: 0; color: rgba(255,255,255,.62); }.contact-card a { text-decoration: none; }
.profile-form { max-width: 640px; padding: 32px; border: 1px solid var(--line); border-radius: 20px; background: #fff; }
.profile-form input:disabled { background: #f2f2f4; color: var(--tertiary); }

/* Dialogs and admin */
.modal-backdrop { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; padding: 20px; overflow: auto; background: rgba(0,0,0,.42); backdrop-filter: blur(8px); }
.modal { width: min(620px,100%); padding: clamp(1.5rem,4vw,2.5rem); position: relative; border: 1px solid rgba(255,255,255,.7); border-radius: 26px; background: rgba(255,255,255,.94); box-shadow: 0 24px 70px rgba(0,0,0,.2); animation: modal-in 220ms var(--ease); }
.modal-close { width: 40px; height: 40px; position: absolute; right: 16px; top: 16px; border: 0; border-radius: 50%; background: #ececef; font-size: 1.4rem; }
.modal h2 { margin: .75rem 2rem .75rem 0; font-size: 2rem; }.modal>p { color: var(--muted); line-height: 1.55; }
.consent-backdrop { z-index: 110; }
.consent-modal { width: min(720px,100%); }
.consent-policy { max-height: 42vh; margin: 1.25rem 0; padding: 1rem; overflow: auto; white-space: pre-wrap; line-height: 1.6; color: var(--muted); border: 1px solid var(--line); border-radius: 12px; background: #fafafa; }
.consent-modal form { display: grid; gap: 1rem; }
.consent-option { min-height: 58px; display: grid; grid-template-columns: auto auto 1fr; align-items: center; gap: .45rem; padding: 1rem; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.consent-option input { width: 20px; min-height: 20px; margin-right: .35rem; }
.consent-option label { cursor: pointer; }
.consent-option button { width: max-content; padding: 0; border: 0; color: var(--accent); background: transparent; font: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.consent-option button:hover { color: var(--ink); }
.consent-back { margin-bottom: 1rem; }
.instructions { padding: 16px; margin: 1.5rem 0; border-radius: 12px; background: #f2f7ff; }.instructions p { margin: .35rem 0 0; color: var(--muted); }
.modal form { display: grid; gap: 1rem; }.modal textarea { min-height: 110px; resize: vertical; }.modal footer { margin-top: 1rem; display: flex; align-items: center; justify-content: space-between; }.modal footer strong { color: var(--accent); }
.upload { padding: 2rem; text-align: center; cursor: pointer; border: 1px dashed rgba(0,0,0,.2); border-radius: 16px; background: #fafafa; }.upload input { display: none; }.upload span { font-size: 1rem; }.upload small { color: var(--muted); }
.choices { display: grid; gap: 8px; }.choices label { display: block; }.choices input { position: absolute; opacity: 0; }.choices span { min-height: 48px; display: flex; align-items: center; padding: .8rem 1rem; border: 1px solid rgba(0,0,0,.08); border-radius: 12px; background: #fff; }.choices input:checked+span { border-color: var(--accent); background: #f2f7ff; }
.confirm { grid-template-columns: auto 1fr!important; align-items: center; padding: 1rem; border-radius: 12px; background: #fff; }.confirm input { width: 20px; min-height: 20px; }
.editor { width: min(720px,100%); }.form-row { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 1rem; }
.admin-title { max-width: none; display: flex; align-items: end; justify-content: space-between; }.admin-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.admin-list { display: grid; gap: 8px; }.admin-list article { min-height: 72px; padding: 12px 14px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }.admin-list article>div { margin-right: auto; }.admin-list h3 { margin: .2rem 0; font-size: 1rem; }.admin-list span,.admin-list small { color: var(--muted); font-size: .75rem; }.admin-list button,.admin-section-head button { min-height: 36px; padding: .5rem .7rem; border: 0; border-radius: 9px; color: var(--accent); background: #f0f6ff; font-weight: 600; }.admin-list button.danger { color: var(--danger); background: #fff2f1; }.admin-section-head { display:flex;justify-content:space-between;align-items:center; }.results article>b { color: var(--accent); }
.playlist-admin-list span { overflow-wrap:anywhere; }
.admin-wide{grid-column:1/-1}.admin-content-form{max-width:none!important;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-content-form>label:has(textarea),.admin-content-form>.confirm,.admin-content-form>button{grid-column:1/-1}.profile-form textarea{width:100%;min-height:120px;padding:.8rem 1rem;border:1px solid rgba(0,0,0,.08);border-radius:12px;background:#fff;color:var(--ink);resize:vertical}.asset-upload{display:grid;grid-template-columns:2fr 1fr 2fr auto;gap:1rem;align-items:end;margin:1rem 0 1.5rem}.asset-upload label{display:grid;gap:.5rem;font-weight:600;font-size:.85rem}.asset-upload input{min-height:48px;width:100%;padding:.7rem;border:1px solid var(--line);border-radius:12px;background:#fff}.asset-list img{width:64px;height:52px;object-fit:cover;border-radius:8px}.legal>span{margin-right:auto;color:inherit}
.empty { padding: 3rem; text-align: center; color: var(--muted); border: 1px dashed rgba(0,0,0,.14); border-radius: 16px; background: #fff; }
.toast { position: fixed; z-index: 2147483647; top: 50%; left: 50%; width: max-content; max-width: calc(100vw - 32px); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); box-sizing: border-box; padding: 14px 18px; overflow: auto; overflow-wrap: anywhere; text-align: center; color: #fff; background: rgba(29,29,31,.94); border-radius: 14px; box-shadow: var(--shadow); transform: translate(-50%,-50%); animation: toast-in 220ms var(--ease); }

@keyframes card-in { from { opacity:0; transform:translateY(10px) scale(.99); } }
.moderation-grid{display:grid;gap:10px}.moderation-grid article{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fff}.moderation-grid img{width:72px;height:72px;object-fit:cover;border-radius:10px}.moderation-grid article div{display:grid;margin-right:auto}.moderation-grid small{color:var(--muted)}
#photo-previews article{min-width:0;position:relative;padding:8px;border:1px solid var(--line);background:#fff}#photo-previews img{display:block;width:100%;height:180px;object-fit:contain;background:#f1f2f3}#photo-previews button{width:100%;margin-top:8px}
.readonly{margin:18px 0;padding:14px 18px;border-radius:14px;background:#fff4ce;color:#6b4f00;font-weight:600}.gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:2rem 0}.gallery-card{padding:0;overflow:hidden;text-align:left;border:1px solid var(--line);border-radius:16px;background:#fff}.gallery-card img{width:100%;aspect-ratio:1;object-fit:contain;background:#eee}.gallery-card span{display:grid;padding:12px}.gallery-card small{color:var(--muted)}.viewer .modal{width:min(1000px,100%)}.viewer img{width:100%;max-height:70vh;object-fit:contain;border-radius:14px;background:#111}.playlist-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.playlist-links a{text-decoration:none;color:inherit}.cookie-banner{position:fixed;z-index:80;left:20px;right:20px;bottom:20px;display:flex;align-items:center;gap:10px;padding:16px;border-radius:16px;background:#fff;box-shadow:var(--shadow)}.cookie-banner p{margin:0 auto 0 0}.cookie-banner button,.legal button{border:0;background:none;color:var(--accent)}.legal{display:flex;justify-content:center;gap:18px;padding:30px}.legal-modal p{white-space:pre-wrap;line-height:1.6}
@keyframes modal-in { from { opacity:0; transform:translateY(12px) scale(.98); } }
@keyframes toast-in { from { opacity:0; transform:translate(-50%,calc(-50% + 12px)) scale(.98); } }

@media (max-width: 1240px) { main { padding-left: 32px; padding-right: 32px; } .progress-strip { margin-top: 24px; } }
@media (max-width: 900px) {
  .agenda-city-grid { grid-template-columns:repeat(2,1fr); }
  .gallery-grid{grid-template-columns:repeat(3,1fr)}
  .auth-page { grid-template-columns: 1fr; }.auth-copy { min-height: 42vh; padding: 3rem; }.auth-card { max-width:none;padding:3rem;min-height:58vh; }
  header { width: calc(100% - 32px); }.profile-chip small { display:none; }.nav-link { padding:.7rem; }
  .challenge-grid { grid-template-columns: repeat(2,1fr); }.admin-grid { grid-template-columns:1fr; }.support-grid { grid-template-columns:1fr; }.embed-grid { grid-template-columns:1fr; }
  .hero { min-height:400px; }
}
@media (max-width: 680px) {
  .agenda-city-grid { grid-template-columns:1fr 1fr; gap:12px; }.agenda-city-card { min-height:140px; padding:16px; box-shadow:4px 4px 0 #b9e6f7; }
  .gallery-grid,.playlist-links{grid-template-columns:repeat(2,1fr)}.cookie-banner{bottom:82px;align-items:stretch;flex-wrap:wrap}.cookie-banner p{width:100%}
  body { padding-bottom: 0; } main { padding: 0 18px 36px; }
  header { width:100%; height:58px; top:0; margin:0; padding:0 18px; border-width:0 0 1px; border-radius:0; }.brand>span { width:34px;height:34px; }.brand { font-size:.95rem; }.profile-chip { margin-left:auto; }
  nav { position:fixed; z-index:40; left:10px; right:10px; bottom:8px; height:64px; padding:4px; display:grid; grid-template-columns:repeat(5,1fr); border:1px solid rgba(0,0,0,.07); border-radius:19px; background:rgba(255,255,255,.9); box-shadow:0 8px 32px rgba(0,0,0,.14); backdrop-filter:blur(22px); }
  .nav-link { min-width:0; min-height:54px; padding:0 3px; display:grid; place-items:center; font-size:.66rem; line-height:1.1; }.nav-link.active { color:var(--accent);background:#f1f7ff; }.nav-link.active:after { display:none; }
  .nav-link[data-view="admin"] { display:none; }
  .progress-strip { margin:18px 0 0; grid-template-columns:1fr auto; gap:8px 16px; }.progress-strip .bar { grid-column:1/-1;grid-row:2; }.progress-strip>div:first-child { min-width:0; }
  .hero { min-height:430px; margin:16px 0; padding:32px 24px; display:block; border-radius:22px; }.hero h1 { font-size:2.8rem; }.hero p { font-size:1rem; }
  .hero-actions { align-items:flex-start;flex-direction:column; }.hero-actions .primary,.hero-link { width:100%; }
  .section,.page-title,.timeline,.support-grid,.contact-card,.profile-form,.admin-grid { margin:3.5rem 0; }
  .challenge-grid { grid-template-columns:1fr; }.challenge-card { min-height:270px; }.section-head { align-items:start; }.section-head>span { white-space:nowrap; }
  .podium { grid-template-columns:1fr 1fr; }.podium .place-1 { grid-column:1/-1;order:1; }.podium .place-2 { order:2; }.podium .place-3 { order:3; }
  .squad-resources { grid-template-columns:1fr; padding:18px; }.squad-resource-card { min-height:180px; }
  .rank-row { grid-template-columns:38px 38px 1fr auto;padding:10px 8px; }.rank-row small { max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
  .day article { grid-template-columns:1fr;gap:12px; }.contact-card { display:block;padding:28px; }.contact-card .primary { margin-top:20px; }
  .agenda-columns { grid-template-columns:1fr; }.agenda-column article { grid-template-columns:1fr;gap:12px; }
  .modal-backdrop { padding:0;align-items:end; }.modal { max-height:92vh;overflow:auto;border-radius:26px 26px 0 0;padding:28px 20px calc(24px + env(safe-area-inset-bottom)); }.modal footer { align-items:stretch;flex-direction:column;gap:14px; }.form-row { grid-template-columns:1fr 1fr; }.form-row label:first-child { grid-column:1/-1; }
  .admin-title { display:block; }.admin-title button { margin-top:16px; }.admin-list article { flex-wrap:wrap; }
  .auth-page { min-height:100svh; }
  .registration-support{right:18px;bottom:max(18px,env(safe-area-inset-bottom));width:64px;height:64px}.registration-support .technical-support-action{width:64px;height:64px;flex-basis:64px}
  .auth-copy { min-height:120px; padding:22px 24px; justify-content:flex-end; }
  .auth-copy .squad-wordmark { top:20px; left:24px; }
  .auth-copy .auth-anniversary,.auth-copy>p { display:none; }
  .auth-copy .eyebrow { font-size:.62rem; }
  .auth-copy h1 { margin:.45rem 0 0; font-size:2.1rem; }
  .auth-card { min-height:calc(100svh - 120px); padding:24px; justify-content:flex-start; }
  .auth-card:before { top:18px; right:24px; }
  .auth-card .logo { width:38px; height:38px; }
  .auth-card .eyebrow { margin-top:.75rem; }
  .auth-card h2 { margin-bottom:.25rem; }
  .auth-card>p { margin:0 0 1rem; }
  .auth-card form { gap:.65rem; }
  .auth-card .link { padding:.5rem; }
  .auth-choice { gap:.55rem; }
}
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important; } }
@media (prefers-contrast: more) { :root { --line:rgba(0,0,0,.2); }.primary { border-color:#000; } }

/* Thank You Desk */
.thank-you-desk{scroll-margin-top:90px;overflow:hidden}.desk-intro{display:grid;grid-template-columns:minmax(0,.7fr) minmax(320px,1.3fr);gap:clamp(24px,5vw,70px);align-items:start;padding:36px 0}.desk-intro>p{font-size:clamp(1.35rem,2.4vw,2.25rem);line-height:1.25;color:#022d47;font-weight:750}.thanks-form,.desk-state{min-width:0;padding:26px;background:#fff;border:1px solid var(--line);box-shadow:7px 7px 0 #b9e6f7}.thanks-form label{display:block;margin-bottom:10px;font-weight:800}.thanks-form textarea{width:100%;min-height:160px;resize:vertical;padding:16px;border:2px solid #53636c;border-radius:0;font:inherit;line-height:1.5}.thanks-form textarea:focus-visible{outline:3px solid #17abe5;outline-offset:3px}.thanks-form-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:14px}.thanks-form output{color:var(--muted);font-variant-numeric:tabular-nums}.desk-state.success{border-left:7px solid #10769f}.sticky-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:20px 7px 30px}.sticky{min-width:0;min-height:210px;padding:28px 25px 22px;position:relative;display:flex;flex-direction:column;justify-content:space-between;box-shadow:5px 8px 16px rgba(2,45,71,.16);overflow-wrap:anywhere;white-space:pre-wrap}.sticky:after{content:"";position:absolute;right:0;top:0;border-style:solid;border-width:0 0 22px 22px;border-color:transparent transparent rgba(0,0,0,.08) transparent}.sticky p{margin:0;font-size:1.08rem;line-height:1.55}.sticky footer{margin-top:24px;font-weight:800;color:#33464f}.sticky.yellow{background:#fff2a8}.sticky.green{background:#d9f2c8}.sticky.blue{background:#cdeefe}.sticky.pink{background:#ffd8e5}.sticky.purple{background:#e8dafa}.load-thanks{display:block;margin:0 auto}.thanks-confirm blockquote{max-height:45vh;overflow:auto;margin:22px 0;padding:20px;background:#f7f8f9;border-left:5px solid #17abe5;white-space:pre-wrap;overflow-wrap:anywhere}.thanks-admin{grid-column:1/-1}.pending-badge{display:inline-block;margin-left:8px;padding:5px 9px;background:#fff2a8;font:700 .72rem Inter,sans-serif;vertical-align:middle}.thanks-tabs{display:flex;gap:8px;margin:16px 0;overflow:auto}.thanks-tabs button{min-height:44px;padding:8px 16px}.thanks-tabs [aria-selected="true"]{background:#022d47;color:#fff}.thanks-moderation{display:grid;gap:12px}.thanks-moderation article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:20px;border:1px solid var(--line);background:#fff}.thanks-moderation article div{min-width:0;display:grid;gap:5px}.thanks-moderation p{white-space:pre-wrap;overflow-wrap:anywhere}.thanks-moderation footer{display:flex;align-items:center;gap:8px}.thanks-moderation button{min-height:44px;min-width:96px}
@media(max-width:900px){.sticky-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.desk-intro{grid-template-columns:1fr;padding:24px 0}.sticky-grid{grid-template-columns:1fr}.sticky{min-height:180px}.thanks-form-footer{align-items:stretch;flex-direction:column}.thanks-form-footer .primary{width:100%;min-height:48px}.thanks-moderation article{grid-template-columns:1fr}.thanks-moderation footer{display:grid;grid-template-columns:1fr 1fr}.thanks-moderation button{width:100%}}

/* SQUAD 10th anniversary event identity */
:root {
  --bg:#f7f8f9; --surface:#fff; --grouped:#e8f5fb; --ink:#181a1f;
  --muted:#53636c; --tertiary:#6e838e; --accent:#17abe5; --accent-hover:#10769f;
  --success:#10769f; --warning:#f2b84b; --danger:#d83c4d; --line:rgba(2,45,71,.12);
  --shadow:0 18px 50px rgba(2,45,71,.10); --shadow-hover:0 22px 54px rgba(2,45,71,.16);
  --content:1240px;
}
body { background:linear-gradient(180deg,#fff 0,#f7f8f9 42rem); }
h1,h2,h3,.brand,.squad-wordmark { font-family:"Arial Narrow","Roboto Condensed",Inter,Arial,sans-serif; font-stretch:condensed; }
h1 { font-weight:800; text-transform:uppercase; letter-spacing:-.055em; }
h2 { font-weight:800; letter-spacing:-.045em; }
.eyebrow,.type { color:var(--accent-hover); font-weight:800; letter-spacing:.14em; }
.primary { border-radius:0; background:var(--accent); box-shadow:6px 6px 0 #022d47; text-transform:uppercase; letter-spacing:.06em; font-size:.78rem; font-weight:800; }
.primary:hover { background:#fff; color:#022d47; transform:translate(-2px,-2px); box-shadow:8px 8px 0 #022d47; }
.secondary { border-radius:0; border:2px solid #022d47; }

header { top:0; width:100%; max-width:none; height:72px; margin:0; padding:0 max(28px,calc((100vw - var(--content))/2)); border:0; border-bottom:1px solid var(--line); border-radius:0; background:rgba(255,255,255,.94); box-shadow:none; }
.brand { color:#181a1f; font-size:1.05rem; font-weight:900; letter-spacing:.04em; }
.brand>span,.auth-card .logo { border-radius:5px; background:#181a1f; font-size:1.1rem; box-shadow:inset 0 0 0 2px #181a1f; }
.brand small { margin-left:.3rem; padding-left:.65rem; color:#17abe5; border-left:1px solid var(--line); font-size:.64rem; letter-spacing:.08em; }
.nav-link { border-radius:0; font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.035em; }
.nav-link.active:after { left:.8rem; right:.8rem; bottom:0; height:4px; background:#17abe5; }
.profile-chip>span,.avatar { background:#b9e6f7; color:#022d47; }

.anniversary-hero { min-height:610px; margin:0 calc(50% - 50vw) 5rem; padding:clamp(4rem,8vw,8rem) max(28px,calc((100vw - var(--content))/2)); position:relative; display:flex; align-items:center; overflow:hidden; color:#fff; background:radial-gradient(circle at 78% 32%,rgba(185,230,247,.95) 0 5%,rgba(116,205,239,.8) 17%,transparent 41%),linear-gradient(125deg,#022d47 8%,#10769f 50%,#17abe5 100%); }
.anniversary-hero:after { content:""; position:absolute; inset:0; opacity:.34; background:repeating-radial-gradient(ellipse at 85% 45%,transparent 0 40px,rgba(255,255,255,.28) 42px 44px,transparent 46px 70px); transform:rotate(-12deg) scale(1.4); }
.hero-copy { width:min(620px,58%); position:relative; z-index:2; }
.squad-wordmark { display:block; color:#fff; font-weight:900; font-size:1rem; letter-spacing:.08em; }
.hero-copy .eyebrow { display:block; margin:5rem 0 1rem; color:#b9e6f7; }
.hero-copy h1 { margin:0 0 1.25rem; font-size:clamp(4rem,8vw,7.5rem); line-height:.82; }
.hero-copy p { max-width:560px; margin-bottom:2rem; color:rgba(255,255,255,.82); font-size:1.05rem; line-height:1.65; }
.hero-mark { width:min(38vw,430px); aspect-ratio:1; position:absolute; z-index:2; right:max(28px,calc((100vw - var(--content))/2)); display:grid; place-content:center; text-align:center; transform:rotate(-7deg); filter:drop-shadow(0 20px 25px rgba(2,45,71,.25)); }
.hero-mark span { grid-row:1/4; grid-column:1; color:#fff; font-family:Inter,sans-serif; font-size:clamp(11rem,24vw,22rem); font-weight:900; line-height:.72; letter-spacing:-.14em; text-shadow:0 5px 0 #74cdef,0 10px 0 rgba(2,45,71,.16); }
.hero-mark strong,.hero-mark em { grid-column:1; z-index:1; justify-self:center; color:#022d47; background:#fff; }
.hero-mark strong { grid-row:2; padding:.25rem .7rem; font-size:clamp(.75rem,1.5vw,1.2rem); letter-spacing:.18em; }
.hero-mark em { grid-row:3; align-self:start; margin-top:.6rem; padding:.2rem .6rem; font-size:clamp(.75rem,1.4vw,1.1rem); font-weight:800; }

.auth-page { background:#fff; }
.auth-copy { background:radial-gradient(circle at 72% 26%,rgba(185,230,247,.9),rgba(23,171,229,.35) 22%,transparent 48%),linear-gradient(140deg,#022d47,#10769f 58%,#17abe5); }
.auth-copy:before { background:repeating-radial-gradient(ellipse at 80% 30%,transparent 0 30px,rgba(255,255,255,.18) 32px 34px,transparent 36px 55px); transform:rotate(-10deg) scale(1.5); }
.auth-copy .squad-wordmark { position:absolute; top:3rem; left:clamp(3rem,7vw,7rem); }
.auth-anniversary { display:flex; align-items:center; margin-bottom:2rem; transform:rotate(-4deg); }
.auth-anniversary>strong { font-size:clamp(7rem,14vw,14rem); line-height:.65; letter-spacing:-.13em; }
.auth-anniversary>div { display:grid; margin-left:1rem; }
.auth-anniversary b { font-size:1.5rem; letter-spacing:.18em; }
.auth-anniversary span { font-style:italic; }
.auth-copy h1 { font-size:clamp(3rem,5.4vw,5.8rem); line-height:.88; }
.auth-card { position:relative; }
.auth-card:before { content:"10YRS / THE ALBUM OF THE DECADE"; position:absolute; top:2rem; right:2rem; color:#74cdef; font-size:.6rem; font-weight:800; letter-spacing:.12em; }
.auth-card .eyebrow { margin-top:1.5rem; }
.auth-card h2 { margin-top:.6rem; }
.auth-card input,.profile-form input,.modal input,.modal textarea,.modal select { border-width:0 0 2px; border-radius:0; background:#f7f8f9; }

.page-title { max-width:900px; }
.page-title h1 { color:#022d47; }
.section-head { padding-bottom:1rem; border-bottom:3px solid #181a1f; }
.challenge-grid { gap:20px; }
.challenge-card,.agenda-column article,.day article,.support-grid article,.profile-form { border-radius:0; border:1px solid var(--line); box-shadow:6px 6px 0 #b9e6f7; }
.challenge-card { position:relative; overflow:hidden; }
.challenge-card:before { content:""; width:110px; height:110px; position:absolute; right:-42px; top:-42px; border:18px solid rgba(23,171,229,.12); border-radius:50%; }
.challenge-card:hover { transform:translate(-3px,-3px); box-shadow:10px 10px 0 #17abe5; }
.challenge-number { border-radius:50%; background:#b9e6f7; color:#022d47; }
.challenge-card.done { background:linear-gradient(145deg,#fff,#e8f8fd); }
.agenda-column>h2 { color:#022d47; border-color:#17abe5; }
.agenda-column article { border-left:6px solid #17abe5; }
.agenda-column time { color:#10769f; }
.squad-resources { border-radius:0; background:#17abe5; box-shadow:12px 12px 0 #022d47; }
.squad-resource-card { border-radius:0; box-shadow:none; }
.resource-icon { border-radius:50%; background:#b9e6f7; }
.gallery-card,.embed-grid iframe { border-radius:0; }
.gift-panel { min-height:180px; display:flex; align-items:center; gap:28px; padding:32px; border:1px solid var(--line); background:#fff; box-shadow:8px 8px 0 #b9e6f7; }
.gift-panel .resource-icon { flex:0 0 auto; width:76px; height:76px; display:grid; place-items:center; font-size:2rem; }
.gift-panel h3 { margin-bottom:.5rem; font-size:1.5rem; }.gift-panel p { margin:0; color:var(--muted); }
.modal { border-radius:0; border-top:8px solid #17abe5; }
.modal-close { border-radius:0; }
.contact-card { border-radius:0; background:#022d47; }

@media (max-width:900px) {
  .anniversary-hero { min-height:560px; }
  .hero-copy { width:62%; }
  .hero-mark { right:-5vw; opacity:.72; }
}
@media (max-width:680px) {
  header { padding:0 18px; }
  .brand small { display:none; }
  nav { display:flex; overflow-x:auto; border-radius:0; border-top:4px solid #17abe5; scrollbar-width:none; }
  nav::-webkit-scrollbar { display:none; }
  nav .nav-link { flex:0 0 auto; min-width:76px; }
  .nav-link.active { color:#022d47; background:#b9e6f7; }
  .anniversary-hero { min-height:650px; margin-bottom:3.5rem; padding:4rem 24px 13rem; align-items:flex-start; }
  .hero-copy { width:100%; }
  .hero-copy .eyebrow { margin-top:3.5rem; }
  .hero-copy h1 { font-size:4rem; }
  .hero-mark { width:260px; right:-15px; bottom:28px; }
  .auth-copy { min-height:48vh; }
  .auth-anniversary>strong { font-size:8.5rem; }
  .auth-copy h1 { font-size:3.1rem; }
  .challenge-card,.agenda-column article,.profile-form { box-shadow:4px 4px 0 #b9e6f7; }
  .gift-panel { align-items:flex-start; padding:24px; box-shadow:5px 5px 0 #b9e6f7; }
}

/* SQUAD 10 — premium anniversary album experience */
:root{--color-dark:#181a1f;--color-navy:#031d2c;--color-blue:#12b9ea;--color-cyan:#7de5ff;--color-ice:#b9e6f7;--color-white:#fff;--album-radius:clamp(28px,3.2vw,52px);--content:1440px}
body{background:#fff;color:var(--color-dark);font-family:"Arial Narrow","Roboto Condensed",Inter,Arial,sans-serif}
main{max-width:none;padding:0;overflow:hidden}
header{top:18px;width:min(calc(100% - 40px),1400px);height:76px;margin:0 auto;padding:0 16px 0 18px;border:1px solid rgba(255,255,255,.66);border-radius:999px;background:rgba(247,253,255,.76);box-shadow:0 16px 50px rgba(3,29,44,.12),inset 0 1px 0 #fff;backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%)}
.brand{font-size:1rem;letter-spacing:.08em}.brand>span{border-radius:50%;background:var(--color-dark);box-shadow:none}.brand small{color:#087ca4;border-color:rgba(3,29,44,.14)}
.nav-link{border-radius:999px;padding:.72rem 1.05rem;text-transform:none;font-size:.9rem;letter-spacing:0}.nav-link:hover{background:rgba(185,230,247,.45)}.nav-link.active:after{left:30%;right:30%;bottom:6px;height:2px;border-radius:9px}
.profile-chip{border-radius:999px}.profile-chip>span{background:var(--color-dark);color:#fff}
.album-section{position:relative;padding:clamp(6rem,10vw,10rem) max(24px,calc((100vw - 1400px)/2));scroll-margin-top:112px}
.album-kicker{display:block;margin-bottom:1.25rem;color:#07799f;font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.section-intro{max-width:1000px;margin:0 auto clamp(3rem,6vw,6rem);text-align:center}.section-intro h2{font-size:clamp(2.8rem,5.4vw,5.3rem);line-height:.95}.section-intro p{color:rgba(255,255,255,.7);font-size:clamp(1.2rem,2vw,1.8rem);line-height:1.35}
.anniversary-hero{min-height:min(940px,100vh);margin:0;padding:clamp(8rem,14vh,10rem) max(24px,calc((100vw - 1400px)/2)) 5rem;align-items:center;color:var(--color-dark);background:radial-gradient(circle at 79% 42%,rgba(255,255,255,.98) 0 4%,rgba(187,239,252,.86) 13%,transparent 31%),radial-gradient(circle at 12% 9%,rgba(255,255,255,.82),transparent 31%),linear-gradient(135deg,#b9f1fb 0,#22c9ef 46%,#64e2fb 72%,#c6f5fc 100%)}
.anniversary-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(255,255,255,.22),transparent 44%),repeating-radial-gradient(ellipse at 82% 46%,transparent 0 54px,rgba(255,255,255,.32) 56px 58px,transparent 60px 88px);opacity:.55;transform:rotate(-8deg) scale(1.25)}
.anniversary-hero:after{inset:auto 0 0;height:210px;background:linear-gradient(180deg,transparent,var(--color-dark));opacity:1;transform:none}
.hero-copy{width:min(850px,66%);position:relative;z-index:3}.squad-wordmark{position:absolute;top:-6rem;color:var(--color-dark);font-size:1.15rem;letter-spacing:.14em}.squad-wordmark span{font-size:.5em;vertical-align:top}.hero-welcome{display:block;margin-bottom:1.5rem;font-size:clamp(1.1rem,1.5vw,1.4rem)}
.album-badge{width:min(660px,100%);display:grid;grid-template-columns:auto 1fr;align-items:center;gap:0 1.35rem;transform:rotate(-2deg);filter:drop-shadow(0 20px 25px rgba(3,29,44,.17))}.album-badge strong{grid-row:1/3;font-size:clamp(8rem,15vw,14rem);line-height:.62;letter-spacing:-.13em;color:#fff;text-shadow:0 6px 0 rgba(3,29,44,.13)}.album-badge span,.album-badge em{padding:.35rem .7rem;color:#fff;background:var(--color-dark);font-size:clamp(.75rem,1.4vw,1.15rem);font-style:normal;font-weight:800;letter-spacing:.12em}.album-badge em{margin-top:.35rem;background:#fff;color:var(--color-dark)}
.hero-copy h1{margin:2.4rem 0 2rem;font-size:clamp(2.5rem,4vw,4.5rem);line-height:.93}.hero-copy h1 span{color:#fff;text-shadow:0 2px 18px rgba(3,29,44,.12)}.hero-scroll{display:inline-flex;align-items:center;gap:1rem;min-height:50px;padding:0;border:0;background:none;color:var(--color-dark);font-weight:800;letter-spacing:.04em}.hero-scroll i{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(3,29,44,.25);border-radius:50%;font-style:normal;transition:.25s}.hero-scroll:hover i{background:var(--color-dark);color:#fff;transform:translateY(3px)}
.hero-vinyl{width:min(38vw,520px);aspect-ratio:1;position:absolute;right:max(-6vw,calc((100vw - 1540px)/2));z-index:2;border-radius:50%;background:repeating-radial-gradient(circle,#101216 0 8px,#1d2026 9px 12px,#0a0b0e 13px 17px);box-shadow:0 38px 80px rgba(3,29,44,.3);transform:rotate(-8deg)}.hero-vinyl:before{content:"10";position:absolute;inset:29%;display:grid;place-items:center;border:10px solid #fff;border-radius:50%;background:var(--color-blue);color:#fff;font-size:clamp(4rem,8vw,8rem);font-weight:900;letter-spacing:-.08em}.hero-vinyl span{position:absolute;inset:48%;border-radius:50%;background:#fff}
.why-section{margin-top:-2px;color:#fff;background:radial-gradient(circle at 50% 0,rgba(18,185,234,.23),transparent 32%),var(--color-dark)}.why-section .album-kicker{color:var(--color-cyan)}.why-section .section-intro h2{color:var(--color-ice)}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.2vw,2.5rem)}.feature-item{min-height:360px;padding:2rem;display:flex;flex-direction:column;justify-content:space-between;text-align:left;border:1px solid rgba(185,230,247,.17);border-radius:var(--album-radius);color:#fff;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));transition:transform .35s,border-color .35s,background .35s}.feature-item:hover{transform:translateY(-8px);border-color:rgba(125,229,255,.52);background:linear-gradient(145deg,rgba(125,229,255,.13),rgba(255,255,255,.03))}.feature-disc{width:112px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:repeating-radial-gradient(circle,#0c0d10 0 5px,#292d34 6px 8px);box-shadow:0 18px 34px rgba(0,0,0,.3)}.feature-disc i{width:46%;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:var(--color-blue);font-style:normal;font-weight:800}.feature-item strong,.feature-item small{display:block}.feature-item strong{margin-bottom:.8rem;color:var(--color-ice);font-size:clamp(1.5rem,2vw,2rem)}.feature-item small{max-width:330px;color:rgba(255,255,255,.65);font:400 1rem/1.5 Inter,sans-serif}.feature-item b{display:block;margin-top:1.25rem;color:var(--color-cyan);font-size:1.35rem}
.gift-section{min-height:850px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);align-items:center;gap:clamp(3rem,7vw,8rem);background:radial-gradient(circle at 80% 48%,rgba(255,255,255,.92),transparent 25%),linear-gradient(145deg,#bdf3fb,#18bde8 58%,#80e8f8)}.gift-copy h2{font-size:clamp(2.5rem,4.5vw,4.8rem);line-height:1.03}.editorial-link{margin-top:2rem;padding:.9rem 0;border:0;border-bottom:1px solid rgba(3,29,44,.3);background:none;color:var(--color-dark);font-weight:800}.editorial-link span{display:inline-block;margin-left:1.5rem;transition:.25s}.editorial-link:hover span{transform:translateX(8px)}
.gift-box-art{height:500px;position:relative;filter:drop-shadow(0 36px 35px rgba(3,29,44,.25));transform:perspective(900px) rotateY(-9deg) rotateX(3deg)}.gift-lid,.gift-base{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.72);background:linear-gradient(145deg,#eefcff,#86e8fa);box-shadow:inset 0 0 45px rgba(255,255,255,.45)}.gift-lid{inset:5% 2% 43%;z-index:2;border-radius:22px}.gift-base{inset:46% 8% 4%;border-radius:8px 8px 30px 30px;background:linear-gradient(145deg,#0a3c55,#031d2c);color:#fff}.gift-lid b{font-size:clamp(3.5rem,7vw,7rem);letter-spacing:-.08em}.gift-lid small{font-weight:800;letter-spacing:.28em}.gift-base i{font-style:normal;font-weight:800;letter-spacing:.15em;text-align:center;line-height:1.6}
.agenda-album{color:#fff;background:radial-gradient(circle at 15% 15%,rgba(18,185,234,.3),transparent 28%),radial-gradient(circle at 90% 70%,rgba(125,229,255,.13),transparent 35%),var(--color-navy)}.agenda-album .album-kicker{color:var(--color-cyan)}.stream-header{padding:clamp(1.5rem,3vw,2.4rem);display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(185,230,247,.25);border-radius:999px;background:rgba(185,230,247,.08);backdrop-filter:blur(14px)}.stream-header h2{margin:0;color:var(--color-ice);font-size:clamp(2.2rem,4.5vw,4.8rem)}.live-dot{padding:.7rem 1rem;border-radius:999px;background:#fff;color:var(--color-dark);font-size:.75rem;font-weight:900;letter-spacing:.14em}.live-dot:before{content:"";display:inline-block;width:8px;height:8px;margin-right:.6rem;border-radius:50%;background:#ff3b30}
.timezone-grid{display:grid;grid-template-columns:repeat(3,1fr);margin:clamp(2rem,5vw,4.5rem) 0;border-block:1px solid rgba(185,230,247,.16)}.timezone-grid>div{padding:2rem clamp(1rem,2vw,2rem);display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem}.timezone-grid>div+div{border-left:1px solid rgba(185,230,247,.16)}.timezone-grid strong{font-size:clamp(2.7rem,4.5vw,5rem);line-height:.85}.timezone-grid span{align-self:center;color:var(--color-cyan);font-weight:800}.timezone-grid small{grid-column:1/3;color:rgba(255,255,255,.55);font:400 .9rem Inter,sans-serif}
.track-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 2rem}.track-item{min-height:150px;display:grid;grid-template-columns:58px 72px 1fr;align-items:center;gap:1rem;text-align:left;border:0;border-bottom:1px solid rgba(185,230,247,.15);background:none;color:#fff}.play-control{width:54px;aspect-ratio:1;display:grid;place-items:center;border:1px solid rgba(125,229,255,.4);border-radius:50%;color:var(--color-cyan)}.track-number{color:rgba(185,230,247,.48);font-size:.72rem;letter-spacing:.1em}.track-item strong,.track-item small{display:block}.track-item strong{color:var(--color-ice);font-size:1.5rem}.track-item small{margin-top:.4rem;color:rgba(255,255,255,.52);font:400 .8rem/1.4 Inter,sans-serif}
.locations-section{text-align:center;background:#fff}.locations-section h2{margin:0 auto clamp(3rem,6vw,6rem);color:#78cde8;font-size:clamp(3rem,6vw,6.5rem);line-height:.9}.record-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2.5vw,3rem)}.city-record{padding:0;border:0;background:none;color:var(--color-dark)}.vinyl{width:100%;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:repeating-radial-gradient(circle,#0b0c0f 0 6px,#24272d 7px 9px,#101216 10px 14px);box-shadow:0 22px 35px rgba(3,29,44,.18);transition:transform .45s}.vinyl i{width:35%;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:var(--color-blue);color:#fff;font-size:1.5rem;font-style:normal;font-weight:900}.city-record strong{display:block;margin-top:1.5rem;font-size:clamp(1.4rem,2.4vw,2.2rem);letter-spacing:.08em}.city-record:hover .vinyl{transform:rotate(7deg) scale(1.035)}.city-record:focus-visible .vinyl{outline:4px solid var(--color-blue);outline-offset:5px}
.activities-section{background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.7),transparent 24%),linear-gradient(130deg,#9cebf8,#1ebce8 56%,#baf3fb)}.activities-section .section-intro h2{font-size:clamp(2.3rem,4.2vw,4.4rem)}.activities-section .challenge-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem}.activities-section .challenge-card{min-height:360px;padding:2rem;border:1px solid rgba(255,255,255,.62);border-radius:clamp(28px,3vw,42px);background:rgba(255,255,255,.25);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 24px 55px rgba(3,29,44,.12);backdrop-filter:blur(18px)}.activities-section .challenge-card:before{display:none}.activities-section .challenge-card:hover{transform:translateY(-8px);border-color:#fff;box-shadow:0 30px 60px rgba(3,29,44,.18)}.activities-section .challenge-number{position:absolute;right:2rem;top:2rem;background:rgba(255,255,255,.5)}.activities-section .type{margin:0;color:#075c79}.activities-section .challenge-card h3{margin:3.5rem 0 1rem;font-size:clamp(1.8rem,2.5vw,2.6rem)}.activities-section .challenge-card p{color:rgba(3,29,44,.72);font:400 1rem/1.55 Inter,sans-serif}.activities-section .challenge-card footer{border-color:rgba(255,255,255,.55)}.activities-section .challenge-card footer span{color:var(--color-dark)}.activities-section .challenge-card footer b{transition:.25s}.activities-section .challenge-card:hover footer b{transform:translateX(7px)}
.activities-section+.section{margin:0;padding:clamp(5rem,8vw,8rem) max(24px,calc((100vw - 1400px)/2));background:var(--color-dark);color:#fff}.activities-section+.section .section-head{border-color:rgba(255,255,255,.2)}
.legal{max-width:1400px;margin:0 auto;padding:2rem 24px 0}
@media(max-width:1000px){.hero-copy{width:68%}.hero-vinyl{right:-16vw;opacity:.72}.feature-grid{grid-template-columns:repeat(2,1fr)}.feature-item:last-child{grid-column:1/-1}.gift-section{grid-template-columns:1fr}.gift-box-art{width:min(620px,100%);margin:auto}.track-grid{grid-template-columns:repeat(2,1fr)}.record-grid{grid-template-columns:repeat(2,1fr)}.activities-section .challenge-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){header{top:10px;width:calc(100% - 20px);height:64px;padding:0 10px}.brand{font-size:0}.brand>span{font-size:1rem}.profile-chip small,.brand small{display:none}nav{position:fixed;left:10px;right:10px;bottom:10px;height:62px;padding:7px;justify-content:space-around;border:1px solid rgba(255,255,255,.65);border-radius:999px;background:rgba(247,253,255,.9);box-shadow:0 12px 40px rgba(3,29,44,.22);backdrop-filter:blur(20px)}nav .nav-link{min-width:auto;padding:.6rem .7rem;font-size:.72rem}.album-section{padding:5.5rem 24px}.anniversary-hero{min-height:780px;padding:7.5rem 24px 15rem}.hero-copy{width:100%}.squad-wordmark{top:-4rem}.album-badge{gap:0 .7rem}.album-badge strong{font-size:8.5rem}.hero-copy h1{font-size:2.55rem}.hero-vinyl{width:300px;right:-70px;bottom:-35px;opacity:.78}.section-intro{text-align:left}.section-intro h2{font-size:2.8rem}.section-intro p br{display:none}.feature-grid,.timezone-grid,.track-grid,.activities-section .challenge-grid{grid-template-columns:1fr}.feature-item:last-child{grid-column:auto}.feature-item{min-height:300px}.gift-section{min-height:0}.gift-copy h2{font-size:2.6rem}.gift-box-art{height:360px}.stream-header{align-items:flex-start;gap:1rem;border-radius:30px}.stream-header h2{font-size:2.5rem}.timezone-grid>div+div{border-left:0;border-top:1px solid rgba(185,230,247,.16)}.track-item{grid-template-columns:52px 62px 1fr}.record-grid{gap:2.5rem 1rem}.city-record strong{font-size:1.2rem}.activities-section .challenge-card{min-height:310px}.activities-section+.section{padding:5rem 24px}.legal{padding-bottom:0}}

/* Unified treatment for pre-event, live event, post-event, account and admin surfaces */
.readonly{margin:110px auto 0;width:min(calc(100% - 48px),1400px);padding:1rem 1.4rem;border:1px solid rgba(18,185,234,.35);border-radius:999px;background:#e9faff;color:#075c79;text-align:center;font-weight:700}
main>.page-title,main>.timeline,main>.profile-form,main>.admin-grid,main>.support-grid,main>.contact-card,main>.gallery-grid,main>.section:not(.album-section),main>#agenda>*,main>#post-event>*{width:min(calc(100% - 48px),1400px);margin-inline:auto}
.page-title{padding-top:clamp(8rem,12vw,11rem);margin-bottom:3rem}.page-title .eyebrow,.section-head .eyebrow{color:#0788b2}.page-title h1{max-width:920px;margin:.65rem 0 1rem;color:var(--color-dark);font-size:clamp(3.2rem,6vw,6.4rem);line-height:.9}.page-title p,.section-head p{max-width:760px;color:#50616b;font:400 clamp(1rem,1.5vw,1.25rem)/1.55 Inter,sans-serif}
main>.section:not(.album-section),#post-event>.section,#agenda{padding-block:clamp(5rem,8vw,8rem);margin:0;background:#f7fbfc}.section-head{margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(3,29,44,.14)}.section-head h2{margin:.55rem 0 0;font-size:clamp(2.7rem,5vw,5.2rem);line-height:.94}.section-head>span{align-self:flex-end;padding:.55rem .85rem;border-radius:999px;background:#dff7fd;color:#075c79;font-weight:800}
.live-broadcast{position:relative!important;color:#fff;background:radial-gradient(circle at 78% 15%,rgba(18,185,234,.27),transparent 30%),var(--color-navy)!important}.live-broadcast .section-head{border-color:rgba(185,230,247,.2)}.live-broadcast .section-head h2,.live-broadcast .section-head p{color:#fff}.live-broadcast .eyebrow{color:var(--color-cyan)}.live-broadcast .empty{border-color:rgba(185,230,247,.22);background:rgba(255,255,255,.06);color:var(--color-ice)}.live-broadcast iframe{border:1px solid rgba(185,230,247,.22);border-radius:30px;box-shadow:0 35px 80px rgba(0,0,0,.32)}
#post-event{background:var(--color-navy)}#post-event>.section{background:transparent;color:#fff}#post-event>.section .section-head{border-color:rgba(185,230,247,.2)}#post-event>.section h2{color:var(--color-ice)}
#agenda{background:#fff}#agenda>.page-title{padding-top:0}.agenda-version{margin:0 auto 2rem;padding:clamp(1.5rem,3vw,2.5rem);border:1px solid rgba(3,29,44,.1);border-radius:32px;background:#f6fbfc}.agenda-version>h2{font-size:clamp(2rem,3vw,3.2rem)}.agenda-version>p{color:#62747d;font:400 1rem/1.5 Inter,sans-serif}.agenda-city-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.agenda-city-card{min-height:190px;padding:1.5rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;border:1px solid rgba(3,29,44,.1);border-radius:26px;background:linear-gradient(145deg,#fff,#e6f8fc);color:var(--color-dark);text-align:left;transition:.3s}.agenda-city-card>span{width:52px;height:52px;margin-bottom:auto;display:grid;place-items:center;border-radius:50%;background:var(--color-dark);color:var(--color-cyan)}.agenda-city-card strong{font-size:1.65rem}.agenda-city-card small{margin-top:.3rem;color:#61747e}.agenda-city-card:hover{transform:translateY(-5px);border-color:var(--color-blue);box-shadow:0 20px 40px rgba(3,29,44,.1)}.agenda-column article,.day article{border:0;border-bottom:1px solid rgba(3,29,44,.12);border-radius:0;background:transparent;box-shadow:none}.agenda-column article time,.day article time{color:#0788b2;font-size:1.15rem}.agenda-column article h3,.day article h3{font-size:1.35rem}
.agenda-version[data-agenda="online"] .agenda-column article{grid-template-columns:max-content minmax(0,1fr);column-gap:clamp(1rem,3vw,2rem)}
.agenda-version[data-agenda="online"] .agenda-column article>div{min-width:0}
.agenda-version[data-agenda="online"] .agenda-time-range{white-space:nowrap}
.city-record small{display:block;margin-top:.45rem;color:#71818a;font-size:.85rem}.city-record:hover small{color:#087ca4}
.thank-you-desk{background:radial-gradient(circle at 10% 10%,rgba(125,229,255,.18),transparent 28%),var(--color-dark)!important;color:#fff}.thank-you-desk .section-head{border-color:rgba(185,230,247,.2)}.thank-you-desk h2{color:var(--color-ice)}.thank-you-desk .eyebrow{color:var(--color-cyan)}.desk-intro{grid-template-columns:minmax(0,.8fr) minmax(360px,1.2fr);gap:clamp(2rem,6vw,6rem)}.desk-intro>p{color:var(--color-ice);font-size:clamp(1.8rem,3vw,3rem);line-height:1.08}.thanks-form,.desk-state{padding:clamp(1.5rem,3vw,2.5rem);border:1px solid rgba(185,230,247,.2);border-radius:30px;background:rgba(255,255,255,.07)}.thanks-form textarea{border:1px solid rgba(185,230,247,.25);border-radius:18px;background:rgba(255,255,255,.08);color:#fff}.sticky-grid{gap:1.4rem}.sticky{min-height:220px;border:0;border-radius:2px 28px 4px 22px;box-shadow:0 22px 45px rgba(0,0,0,.2);transform:rotate(-1deg)}.sticky:nth-child(even){transform:rotate(1.2deg)}
#gallery{background:#fff!important}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:1.2rem}.gallery-card{position:relative;overflow:hidden;border:0;border-radius:28px;background:#071d29}.gallery-card img{aspect-ratio:4/3;transition:transform .5s}.gallery-card:hover img{transform:scale(1.04)}.gallery-card>span{padding:1.3rem;color:#fff;background:linear-gradient(180deg,transparent,rgba(3,29,44,.9))}.gallery-card small{color:rgba(255,255,255,.65)}
#playlists{color:#fff;background:radial-gradient(circle at 85% 20%,rgba(18,185,234,.25),transparent 30%),var(--color-dark)!important}#playlists .section-head{border-color:rgba(185,230,247,.2)}#playlists h2{color:var(--color-ice)}#playlists .eyebrow{color:var(--color-cyan)}#playlists .section-head p{color:rgba(255,255,255,.65)}.playlist-links{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.playlist-links .squad-resource-card{min-height:230px;align-items:flex-start;padding:2rem;border:1px solid rgba(185,230,247,.2);border-radius:30px;background:rgba(255,255,255,.07);color:#fff;text-decoration:none}.playlist-links .resource-icon{background:var(--color-cyan);color:var(--color-navy)}.playlist-links small{color:rgba(255,255,255,.6)}
.profile-form{padding:clamp(1.5rem,4vw,3rem);border:1px solid rgba(3,29,44,.1);border-radius:32px;background:#fff;box-shadow:0 30px 70px rgba(3,29,44,.09)}.profile-form label,.modal label{color:#17313e;font-size:.9rem;letter-spacing:.02em}.profile-form input,.profile-form select,.modal input,.modal textarea,.modal select,.auth-card input,.auth-card select{border:1px solid rgba(3,29,44,.12);border-radius:14px;background:#f5fafb}.profile-form input:focus,.profile-form select:focus,.modal input:focus,.modal textarea:focus,.modal select:focus,.auth-card input:focus,.auth-card select:focus{border-color:var(--color-blue);box-shadow:0 0 0 4px rgba(18,185,234,.15)}
.primary{border:0;border-radius:999px;background:var(--color-dark);box-shadow:none}.primary:hover{background:var(--color-blue);color:var(--color-dark);box-shadow:none;transform:translateY(-2px)}.secondary{border:1px solid rgba(3,29,44,.14);border-radius:999px;background:#fff}.secondary:hover{border-color:var(--color-blue);color:#087ca4}
.auth-page{grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);background:#f7fbfc}.auth-copy{min-height:100vh;background:#087da7 url('/images/auth-copy.webp') center/cover no-repeat}.auth-copy:before{content:none}.auth-copy>*{display:none}.auth-card{max-width:680px;justify-self:center;padding:clamp(2rem,6vw,6rem)}.auth-card:before{color:#0788b2}.auth-card h2{font-size:clamp(2.2rem,3.5vw,3.8rem)}.auth-card>p{color:#5a6d76}.auth-card .logo{border-radius:50%;background:var(--color-dark);box-shadow:none}
@media(max-width:800px){.auth-copy{background-image:url('/images/auth-copy-small.webp')}}
.modal-backdrop{background:rgba(3,14,20,.72);backdrop-filter:blur(16px)}.modal{border:1px solid rgba(255,255,255,.7);border-top:0;border-radius:32px;background:rgba(251,254,255,.96);color:var(--color-dark);box-shadow:0 35px 100px rgba(0,0,0,.35)}.modal:before{content:"SIDE A · SQUAD 10";display:block;margin-bottom:1rem;color:#0788b2;font-size:.7rem;font-weight:800;letter-spacing:.16em}.modal-close{border-radius:50%;background:#e3f6fa}.modal h2{font-size:clamp(2rem,4vw,3.6rem);line-height:.95}.instructions{border:1px solid #d7eef4;border-radius:18px;background:#edf9fb}.upload{border:1px dashed #58bedc;border-radius:22px;background:#effafd}.choices span{border-radius:14px;background:#f5fafb}.choices input:checked+span{border-color:var(--color-blue);background:#e1f8fd}
.song-modal{width:min(760px,100%)}.song-modal>p{max-width:560px;margin-bottom:1.75rem}.song-fields{min-width:0;margin:0;padding:0;border:0}.song-list{display:grid;gap:.9rem}.song-row{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) 42px;gap:.85rem;align-items:end;padding:1rem;border:1px solid rgba(3,29,44,.09);border-radius:20px;background:#fff}.song-row-single{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.song-row label{min-width:0}.song-row input{background:#f5fafb}.song-remove{width:42px;height:48px;display:grid;place-items:center;padding:0;border:1px solid rgba(216,60,77,.18);border-radius:50%;background:#fff3f4;color:#b42336;font-size:1.6rem;line-height:1;transition:background 150ms,border-color 150ms,transform 150ms}.song-remove:hover{border-color:rgba(216,60,77,.38);background:#ffe8eb;transform:translateY(-1px)}.song-add{margin-top:1rem;gap:.45rem;padding-inline:1.1rem;color:#075c79}.song-add>span{font-size:1.3rem;font-weight:400;line-height:1}.song-add:disabled{opacity:.45;cursor:not-allowed}.song-modal footer{justify-content:flex-end}.song-modal footer .primary{min-width:126px}
.association-modal{width:min(720px,100%)}.association-modal>p{max-width:560px;margin-bottom:1.5rem}.association-fields{min-width:0;margin:0;padding:1rem;border:1px solid rgba(3,29,44,.09);border-radius:20px;background:#fff}.field-hint{margin:0 0 .9rem;color:#62747d;font-size:.9rem}.word-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.word-grid label>span{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.word-grid small{color:#71818a;font-size:.68rem;font-weight:500}.word-grid input{min-width:0;background:#f5fafb}.association-modal footer{justify-content:flex-end}.association-modal footer .primary{min-width:126px}.association-review{width:min(620px,100%)}.association-review>p{margin-bottom:1.25rem}.association-review ul{display:flex;flex-wrap:wrap;gap:.65rem;margin:0;padding:1.1rem;list-style:none;border:1px solid rgba(3,29,44,.09);border-radius:20px;background:#fff}.association-review li{padding:.65rem 1rem;border-radius:999px;background:#dff7fd;color:#075c79;font-weight:800}.association-review footer{gap:.75rem}.association-review footer .primary{min-width:126px}
.admin-title{padding-inline:max(24px,calc((100vw - 1400px)/2));max-width:none!important}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;padding-bottom:6rem}.admin-grid>div,.thanks-admin{padding:clamp(1.4rem,3vw,2.4rem);border:1px solid rgba(3,29,44,.1);border-radius:30px;background:#fff;box-shadow:0 22px 55px rgba(3,29,44,.07)}.admin-grid>div>h2,.admin-section-head h2{font-size:clamp(1.8rem,3vw,2.7rem)}.admin-grid .profile-form{padding:0;border:0;box-shadow:none}.admin-list article,.moderation-grid article,.thanks-moderation article{border:1px solid rgba(3,29,44,.09);border-radius:18px;background:#f7fbfc}.admin-list button,.admin-section-head button,.moderation-grid button{border-radius:999px}.thanks-tabs{padding:5px;border-radius:999px;background:#edf8fa}.thanks-tabs button{border-radius:999px}.thanks-tabs button[aria-selected="true"]{background:var(--color-dark);color:#fff}.moderation-grid img{border-radius:14px}
.toast{border:1px solid rgba(255,255,255,.3);border-radius:999px;background:var(--color-dark);box-shadow:0 18px 50px rgba(0,0,0,.22)}.empty{padding:2.4rem;border:1px solid rgba(3,29,44,.09);border-radius:24px;background:#f4fafb;color:#61747e}
@media(max-width:1000px){.agenda-city-grid{grid-template-columns:repeat(2,1fr)}.desk-intro{grid-template-columns:1fr}.gallery-grid,.playlist-links{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}}
@media(max-width:1000px){.admin-wide{grid-column:auto}.asset-upload{grid-template-columns:1fr 1fr}.admin-content-form{grid-template-columns:1fr}.admin-content-form>label{grid-column:auto!important}.legal>span{width:100%;margin-bottom:.5rem}}
@media(max-width:680px){.readonly{margin-top:84px;width:calc(100% - 32px);border-radius:22px}.page-title{padding-top:7rem}.page-title h1{font-size:3.4rem}main>.page-title,main>.timeline,main>.profile-form,main>.admin-grid,main>.support-grid,main>.contact-card,main>.gallery-grid,main>.section:not(.album-section),main>#agenda>*,main>#post-event>*{width:calc(100% - 32px)}main>.section:not(.album-section),#post-event>.section,#agenda{padding-block:4.5rem}.section-head{align-items:flex-start;flex-direction:column}.section-head>span{align-self:flex-start}.agenda-city-grid,.gallery-grid,.playlist-links{grid-template-columns:1fr}.agenda-column article,.day article{grid-template-columns:72px 1fr;padding:18px 0}.auth-page{display:block}.auth-copy{min-height:45vh;padding:7rem 24px 3rem}.auth-copy:before{font-size:13rem}.auth-copy h1{font-size:3.5rem}.auth-card{min-height:55vh;padding:2.5rem 24px 7rem}.modal{border-radius:26px}.song-modal>p,.association-modal>p{margin-bottom:1.25rem}.song-row{grid-template-columns:minmax(0,1fr) 42px;padding:.9rem}.song-row-single{grid-template-columns:1fr}.song-row label{grid-column:1}.song-row .song-remove{grid-column:2;grid-row:1/3;align-self:center}.song-add{width:100%}.song-modal footer .primary,.association-modal footer .primary{width:100%}.association-fields{padding:.9rem}.word-grid{grid-template-columns:1fr}.association-review footer button{width:100%}.admin-title{padding-inline:16px}.admin-grid{padding-bottom:7rem}}

/* Approved SQUAD wordmark. The SVG stays at its native 148:32 ratio at every size. */
.brand-logo{display:block;width:148px;height:auto;aspect-ratio:148/32;object-fit:contain;filter:brightness(0) saturate(100%)}
.brand .brand-logo{flex:0 0 auto}
.auth-card .auth-logo{width:148px;height:44px;object-position:left center;border-radius:0;background:transparent;box-shadow:none}
@media(max-width:680px){.auth-card .auth-logo{height:38px}}
@media(max-width:340px){.brand .brand-logo{width:120px}}

/* Branded HTTP error pages */
.error-body{min-height:100vh;background:radial-gradient(circle at 78% 18%,rgba(18,185,234,.28),transparent 30%),radial-gradient(circle at 12% 85%,rgba(125,229,255,.12),transparent 28%),#031d2c;color:#fff}
.error-page{width:min(1400px,100%);min-height:100vh;margin:0 auto;padding:clamp(24px,4vw,56px);display:flex;flex-direction:column}
.error-brand{width:max-content;display:block}.error-brand .brand-logo{filter:brightness(0) invert(1)}
.error-card{margin:auto 0;display:grid;grid-template-columns:minmax(280px,.8fr) minmax(320px,1.2fr);align-items:center;gap:clamp(3rem,8vw,9rem)}
.error-record{width:min(430px,78vw);aspect-ratio:1;position:relative;display:grid;place-items:center;border:1px solid rgba(185,230,247,.2);border-radius:50%;background:repeating-radial-gradient(circle,#0b1116 0 7px,#202b31 8px 10px,#0a151b 11px 16px);box-shadow:0 40px 90px rgba(0,0,0,.38);animation:error-spin 24s linear infinite}
.error-record:before{content:"";width:39%;aspect-ratio:1;position:absolute;border-radius:50%;background:linear-gradient(145deg,#9cebf8,#12b9ea);box-shadow:0 0 0 10px rgba(3,29,44,.3)}
.error-record:after{content:"";width:7%;aspect-ratio:1;position:absolute;border-radius:50%;background:#031d2c}
.error-record span{z-index:1;color:#031d2c;font-family:"Barlow Condensed",Impact,sans-serif;font-size:clamp(2.5rem,6vw,5.5rem);font-weight:800;line-height:1;animation:error-counter-spin 24s linear infinite}
.error-record i{width:12%;height:2px;position:absolute;right:14%;top:22%;background:rgba(125,229,255,.65);transform:rotate(-35deg);transform-origin:right center}
.error-copy .eyebrow{color:#7de5ff}.error-copy h1{max-width:780px;margin:.8rem 0 1.25rem;color:#fff;font-family:"Barlow Condensed",Impact,sans-serif;font-size:clamp(4rem,8vw,8.5rem);line-height:.82;letter-spacing:-.025em;text-transform:uppercase}
.error-copy p{max-width:620px;margin-bottom:2rem;color:rgba(255,255,255,.68);font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.6}
.error-actions{display:flex;flex-wrap:wrap;gap:.8rem}.error-actions a{text-decoration:none}.error-actions .primary{background:#7de5ff;color:#031d2c}.error-actions .primary:hover{background:#fff}.error-actions .secondary{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff}.error-actions .secondary:hover{border-color:#7de5ff;background:rgba(125,229,255,.12)}
.error-footnote{margin:0;color:rgba(185,230,247,.52);font-size:.68rem;font-weight:800;letter-spacing:.17em}
@keyframes error-spin{to{transform:rotate(360deg)}}@keyframes error-counter-spin{to{transform:rotate(-360deg)}}
@media(prefers-reduced-motion:reduce){.error-record,.error-record span{animation:none}}
@media(max-width:760px){.error-page{padding:24px}.error-card{grid-template-columns:1fr;gap:2.5rem;padding:4rem 0}.error-record{width:min(270px,68vw);justify-self:center}.error-copy{text-align:center}.error-copy p{margin-inline:auto}.error-actions{justify-content:center}.error-actions .primary,.error-actions .secondary{width:100%}.error-footnote{text-align:center}}
/*
 * Keep the 1600x1000 desktop composition intact on smaller laptop screens.
 * Root-level zoom participates in layout, so fixed elements, spacing and type
 * shrink together without leaving transformed overflow or clipped page edges.
 */
@media(min-width:1001px){
 html{zoom:min(1,calc(100vw / 1600px),calc(100dvh / 1000px))}
}

/*
 * The login artwork is square. Its column therefore follows the viewport height
 * instead of a percentage of the viewport width: no crop, stretch or letterbox.
 * The form uses the same height as its sizing scale so both columns stay aligned.
 */
.login-page{width:100%;max-width:none;height:100vh;height:100dvh;min-height:0;margin:0;padding:0;grid-template-columns:100vh minmax(0,1fr);grid-template-columns:100dvh minmax(0,1fr);overflow:hidden}
.login-page .auth-login-art{width:100vh;width:100dvh;height:100vh;height:100dvh;min-height:0;padding:0;background:#087da7}
.login-page .auth-login-art>picture{display:block;position:absolute;inset:0}
.login-page .auth-artwork{display:block;width:100%;height:100%;min-height:0;object-fit:contain;object-position:center}
.login-page .auth-card{align-self:stretch;max-width:760px;height:100vh;height:100dvh;min-height:0;overflow-y:auto;padding:clamp(1.25rem,4.75dvh,4.75rem) clamp(1.25rem,4vw,4.75rem)}
.login-page .auth-logo{width:clamp(7rem,18.4dvh,11.5rem);height:auto}
.login-page .auth-card>.eyebrow{margin-top:clamp(.75rem,2dvh,2rem);font-size:clamp(.68rem,1.3dvh,.82rem)}
.login-page .auth-card h2{margin:clamp(.45rem,1.2dvh,.75rem) 0;font-size:clamp(2rem,7.2dvh,4.5rem);line-height:.95}
.login-page .auth-card>p{margin-bottom:clamp(.9rem,3.6dvh,2.25rem);font-size:clamp(.9rem,1.8dvh,1.125rem)}
.login-page .auth-card form{gap:clamp(.45rem,2dvh,1.25rem)}
.login-page .auth-card label{gap:clamp(.3rem,1dvh,.65rem);font-size:clamp(.8rem,1.6dvh,1rem)}
.login-page .auth-card input{min-height:clamp(44px,6dvh,60px);padding:clamp(.7rem,1.6dvh,1rem) clamp(.8rem,1.8dvh,1.125rem);font-size:clamp(.9rem,1.7dvh,1.05rem)}
.login-page .auth-card .link{min-height:clamp(36px,4.4dvh,44px);justify-self:center;padding:clamp(.35rem,1dvh,.65rem) .25rem;font-size:clamp(.85rem,1.6dvh,1rem)}
.login-page .auth-card .primary,.login-page .auth-card .secondary{min-height:clamp(44px,5.8dvh,58px);padding:clamp(.7rem,1.6dvh,1rem) clamp(1rem,2.4dvh,1.5rem);font-size:clamp(.9rem,1.7dvh,1.05rem)}

/* Login typography follows the lighter, compact type scale from the reference. */
.login-page .auth-card{font-family:"Roboto",Arial,sans-serif;font-stretch:90%;color:#031d2c}
.login-page .auth-card>.eyebrow{color:#0788b2;font-family:"Roboto",Arial,sans-serif;font-size:clamp(.625rem,1.2dvh,.75rem);font-weight:500;line-height:1.25;letter-spacing:.1em}
.login-page .auth-card h2{color:#031d2c;font-family:"Roboto",Arial,sans-serif;font-size:clamp(2rem,6dvh,3.75rem);font-stretch:80%;font-weight:400;line-height:1;letter-spacing:-.03em;text-transform:none}
.login-page .auth-card>p{color:#62747d;font-size:clamp(.875rem,1.6dvh,1rem);font-weight:400;line-height:1.45;letter-spacing:.005em}
.login-page .auth-card label{color:#17313e;font-size:clamp(.75rem,1.4dvh,.875rem);font-weight:500;line-height:1.25;letter-spacing:.01em}
.login-page .auth-card input{color:#17313e;font-family:"Roboto",Arial,sans-serif;font-size:clamp(.875rem,1.55dvh,1rem);font-stretch:90%;font-weight:400;line-height:1.4;letter-spacing:.005em}
.login-page .auth-card input::placeholder{color:#71818a;opacity:1}
.login-page .auth-card .link{color:#087ca4;font-size:clamp(.75rem,1.4dvh,.875rem);font-weight:400;line-height:1.25;letter-spacing:0}
.login-page .auth-card .primary,.login-page .auth-card .secondary{font-family:"Roboto",Arial,sans-serif;font-size:clamp(.8125rem,1.45dvh,.9375rem);font-stretch:90%;font-weight:500;line-height:1.2}
.login-page .auth-card .primary{letter-spacing:.045em}
.login-page .auth-card .secondary{color:#17313e;letter-spacing:0;text-transform:none}

@media(min-width:681px){
 html:has(.login-page){zoom:1}
}
@media(max-width:1000px){
 .login-page .auth-card{padding-inline:clamp(1rem,3vw,2rem)}
}
@media(max-width:680px){
 .login-page{display:block;height:auto;min-height:100svh;overflow:visible}
 .login-page .auth-login-art{width:100%;height:auto;min-height:45vh;aspect-ratio:1}
 .login-page .auth-artwork{min-height:0}
 .login-page .auth-card{height:auto;min-height:55svh;padding:2.5rem 24px 7rem;overflow:visible}
 .login-page .auth-logo{width:164px}
 .login-page .auth-card h2{font-size:3rem}
 .login-page .auth-card>p{font-size:1rem}
}
