@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Inter:wght@300;400;500&family=Anton&display=swap";:root{--navy:#0b1829;--navy-mid:#0f2035;--navy-light:#132844;--ivory:#f5f0e8;--ivory-dim:#ddd5c8;--gold:#b8943e;--gold-light:#d4b15a;--gold-bright:#e8cc72;--gold-pale:#b8943e1a;--gold-glow:#d4b15a0f;--text:#c8c2b8;--text-muted:#7d7871;--border:#b8943e1f;--border-strong:#b8943e40;--card-bg:#0f203599;--card-bg-hover:#132844cc;--heading:"Cormorant Garamond", Georgia, "Times New Roman", serif;--body:"Inter", system-ui, -apple-system, sans-serif;--mono:ui-monospace, Consolas, monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overscroll-behavior-x:none;overflow-x:hidden}a,a:visited,a:active{color:inherit;-webkit-tap-highlight-color:transparent}a:-webkit-any-link{color:inherit;-webkit-tap-highlight-color:transparent}body{font-family:var(--body);background:var(--navy);color:var(--text);overscroll-behavior-x:none;min-height:100vh;font-weight:300;line-height:1.6;overflow-x:hidden}body:before{content:"";background:radial-gradient(ellipse 800px 600px at 20% 10%, #132844e6 0%, transparent 70%), radial-gradient(ellipse 600px 400px at 80% 90%, #6b27370f 0%, transparent 60%), radial-gradient(ellipse 400px 400px at 50% 50%, var(--gold-glow) 0%, transparent 70%);z-index:-1;pointer-events:none;position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(300px at 15% 20%,#b8943e12 0%,#0000 100%),radial-gradient(250px at 85% 60%,#b8943e0f 0%,#0000 100%),radial-gradient(200px at 50% 80%,#6b273712 0%,#0000 100%);animation:20s ease-in-out infinite alternate orbDrift;position:fixed;inset:0}@keyframes orbDrift{0%{transform:translate(0)scale(1)}33%{transform:translate(30px,-20px)scale(1.05)}66%{transform:translate(-20px,15px)scale(.95)}to{transform:translate(10px,-10px)scale(1.02)}}.particles{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.particle{background:var(--gold);opacity:0;border-radius:50%;width:2px;height:2px;animation:linear infinite particleFloat;position:absolute}@keyframes particleFloat{0%{opacity:0;transform:translateY(100vh)scale(0)}10%{opacity:.7}90%{opacity:.4}to{opacity:0;transform:translateY(-20px)scale(1)}}.grid-overlay{z-index:-1;pointer-events:none;background-image:linear-gradient(#b8943e0a 1px,#0000 1px),linear-gradient(90deg,#b8943e0a 1px,#0000 1px);background-size:60px 60px;animation:8s ease-in-out infinite alternate gridPulse;position:fixed;inset:0;-webkit-mask-image:radial-gradient(80% 60% at 50% 40%,#000 0%,#0000 100%);mask-image:radial-gradient(80% 60% at 50% 40%,#000 0%,#0000 100%)}@keyframes gridPulse{0%{opacity:.4}to{opacity:.8}}.vignette{z-index:-1;pointer-events:none;background:radial-gradient(#0000 50%,#080e1880 100%);position:fixed;inset:0}.fade-in{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(24px)}.fade-in.visible{opacity:1;transform:translateY(0)}.site-header{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);z-index:100;background:#0b1829eb;position:sticky;top:0}.site-header nav{align-items:center;max-width:1000px;height:68px;margin:0 auto;padding:0 32px;display:flex}.logo{font-family:var(--heading);color:var(--gold);letter-spacing:4px;align-items:center;gap:12px;font-size:26px;font-weight:600;text-decoration:none;transition:opacity .3s;display:flex}.logo:visited,.logo:active{color:var(--gold)}.logo:hover{opacity:.8}.logo img{width:32px;height:32px}.site-header ul{flex:1;justify-content:center;align-items:center;gap:2px;list-style:none;display:flex}.site-header li{align-items:center;display:flex}.site-header li a{color:var(--text-muted);letter-spacing:1.5px;text-transform:uppercase;vertical-align:baseline;box-sizing:content-box;border-radius:2px;padding:10px 16px;font-size:11px;font-weight:400;line-height:1.6;text-decoration:none;transition:color .3s,background .3s;display:inline-block;position:relative}.site-header li a:after{content:"";background:var(--gold);height:1px;transition:transform .3s;position:absolute;bottom:6px;left:16px;right:16px;transform:scaleX(0)}.site-header li a:hover:after,.site-header li a.active:after{transform:scaleX(1)}.site-header li a:visited{color:var(--text-muted)}.site-header li a:hover,.site-header li a.active,.site-header li a.active:visited,.site-header li a:active{color:var(--gold)}.site-header li a.nav-add{color:var(--navy);background:linear-gradient(135deg, var(--gold-light), var(--gold));letter-spacing:1.5px;border-radius:2px;padding:6px 16px;font-weight:500;transition:all .3s}.site-header li a.nav-add:after{display:none}.site-header li a.nav-add:visited{color:var(--navy)}.site-header li a.nav-add:hover{background:linear-gradient(135deg, var(--gold-bright), var(--gold-light));color:var(--navy);box-shadow:0 4px 12px #b8943e4d}.site-header li a.nav-add.active{background:linear-gradient(135deg, var(--gold-bright), var(--gold));color:var(--navy)}.nav-signout-wrap{text-align:right;min-width:70px}.logo{min-width:70px}.site-header li.nav-connect{position:relative}.site-header .nav-connect-btn{cursor:pointer;color:var(--text-muted);letter-spacing:1.5px;text-transform:uppercase;vertical-align:baseline;box-sizing:content-box;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:2px;margin:0;padding:10px 16px;font-family:inherit;font-size:11px;font-weight:400;line-height:1.6;transition:color .3s,background .3s;display:inline-block;position:relative}.site-header .nav-connect-btn:after{content:"";background:var(--gold);height:1px;transition:transform .3s;position:absolute;bottom:6px;left:16px;right:16px;transform:scaleX(0)}.site-header li.nav-connect:hover .nav-connect-btn,.site-header li.nav-connect.is-active .nav-connect-btn,.site-header li.nav-connect.is-open .nav-connect-btn{color:var(--gold)}.site-header li.nav-connect:hover .nav-connect-btn:after,.site-header li.nav-connect.is-active .nav-connect-btn:after,.site-header li.nav-connect.is-open .nav-connect-btn:after{transform:scaleX(1)}.nav-connect-caret{vertical-align:middle;margin-left:4px;transition:transform .2s;display:inline-block;position:relative;top:-1px}.site-header li.nav-connect:hover .nav-connect-caret,.site-header li.nav-connect.is-open .nav-connect-caret{transform:rotate(180deg)}.nav-connect-menu{opacity:0;visibility:hidden;pointer-events:none;z-index:200;background:#0b1829;border:1px solid #b8943e38;border-radius:4px;flex-direction:column;min-width:180px;margin:0;padding:6px 0;list-style:none;transition:opacity .15s,transform .15s,visibility .15s;display:flex;position:absolute;top:100%;left:50%;transform:translate(-50%)translateY(-4px);box-shadow:0 6px 18px #00000073}.site-header li.nav-connect:hover .nav-connect-menu,.site-header li.nav-connect:focus-within .nav-connect-menu,.site-header li.nav-connect.is-open .nav-connect-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%)translateY(0)}.site-header .nav-connect-menu li{width:100%;padding:0;display:block}.site-header .nav-connect-menu li a{box-sizing:border-box;width:100%;font-family:var(--body);letter-spacing:0;color:var(--text-muted);text-align:left;text-transform:none;white-space:nowrap;padding:8px 16px;font-size:13px;font-weight:400;line-height:1.4;text-decoration:none;transition:color .12s,background .12s;display:block}.nav-connect-menu li a:after{display:none}.nav-connect-menu li a:hover,.nav-connect-menu li a.active{color:var(--gold);background:#b8943e14}.nav-unread-badge{min-width:18px;height:18px;font-family:var(--body);letter-spacing:0;color:#0b1829;background:var(--gold-bright);vertical-align:middle;pointer-events:none;border-radius:9px;justify-content:center;align-items:center;margin-right:6px;padding:0 5px;font-size:10px;font-weight:600;animation:2.4s ease-in-out infinite nav-unread-pulse;display:inline-flex;box-shadow:0 0 0 2px #b8943e33}@keyframes nav-unread-pulse{0%,to{box-shadow:0 0 0 2px #b8943e33}50%{box-shadow:0 0 0 4px #b8943e52}}.nav-signout-wrap a{color:var(--text-muted);opacity:.5;text-transform:uppercase;letter-spacing:1px;font-size:10px;text-decoration:none;transition:opacity .3s}.nav-signout-wrap a:hover{opacity:1;color:var(--text)}main{max-width:1000px;margin:0 auto;padding:0 32px}.hero{text-align:center;padding:120px 40px 100px;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#b8943e0a 0%,#0000 70%);width:500px;height:500px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-ornament-top,.hero-ornament-bottom{background:linear-gradient(90deg, transparent, var(--gold), transparent);opacity:.4;width:120px;height:1px;margin:0 auto}.hero-ornament-top{margin-bottom:40px}.hero-ornament-bottom{margin-top:40px}.hero-logo{width:90px;height:90px;margin-bottom:32px;animation:1.5s both logoFade}@keyframes logoFade{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.hero h1{font-family:var(--heading);color:var(--ivory);letter-spacing:3px;margin-bottom:20px;font-size:68px;font-weight:400;line-height:1.05;animation:1s .2s both fadeUp}.hero-rule{justify-content:center;align-items:center;gap:12px;margin-bottom:20px;animation:1s .4s both fadeUp;display:flex}.rule-line{background:var(--gold);width:60px;height:1px}.rule-diamond{background:var(--gold);width:6px;height:6px;transform:rotate(45deg)}.hero .subtitle{font-family:var(--heading);color:var(--gold);letter-spacing:6px;text-transform:uppercase;margin-bottom:12px;font-size:22px;font-style:italic;font-weight:400;animation:1s .5s both fadeUp}.hero .tagline{color:var(--text-muted);letter-spacing:.5px;font-size:14px;font-weight:300;animation:1s .6s both fadeUp}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.section-divider{justify-content:center;align-items:center;gap:20px;padding:16px 0;display:flex}.divider-line{background:linear-gradient(90deg, transparent, var(--border-strong), transparent);flex:1;max-width:120px;height:1px}.divider-icon{opacity:.4;width:24px;height:24px}.highlights{grid-template-columns:repeat(3,1fr);gap:24px;padding:56px 0;display:grid}.card{background:radial-gradient(ellipse 220px 160px at 50% 0%, var(--gold-glow), transparent 70%), var(--card-bg);border:1px solid var(--border);text-align:center;border-radius:2px;flex-direction:column;align-items:center;padding:38px 28px 34px;transition:all .4s;display:flex;position:relative;overflow:hidden}.card:before{content:"";background:linear-gradient(90deg, transparent, var(--gold), transparent);opacity:0;height:2px;transition:opacity .4s;position:absolute;top:0;left:0;right:0}@media (hover:hover){.card:hover{background:radial-gradient(ellipse 240px 180px at 50% 0%, #d4b15a1a, transparent 70%), var(--card-bg-hover);border-color:var(--border-strong);transform:translateY(-4px);box-shadow:0 20px 40px #0000004d}.card:hover:before{opacity:1}.card:hover .card-corner{opacity:.85}.card:hover .card-emblem-ring{opacity:.9;transform:scale(1.04)}.card:hover .card-icon{color:var(--gold-light)}}.card-corner{border:1px solid var(--gold);opacity:.4;pointer-events:none;width:14px;height:14px;transition:opacity .4s;position:absolute}.card-corner-tl{border-bottom:0;border-right:0;top:10px;left:10px}.card-corner-tr{border-bottom:0;border-left:0;top:10px;right:10px}.card-corner-bl{border-top:0;border-right:0;bottom:10px;left:10px}.card-corner-br{border-top:0;border-left:0;bottom:10px;right:10px}.card-numeral{justify-content:center;align-items:center;gap:12px;margin-bottom:22px;display:flex}.card-numeral-line{background:linear-gradient(90deg, transparent, var(--gold), transparent);opacity:.6;width:32px;height:1px}.card-number{font-family:var(--heading);color:var(--gold);letter-spacing:3px;font-size:14px;font-style:italic;display:inline-block}.card-emblem{justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:22px;display:flex;position:relative}.card-emblem-ring{color:var(--gold);opacity:.55;transition:opacity .4s,transform .4s;position:absolute;inset:0}.card-icon{z-index:1;color:var(--gold);transition:color .3s;position:relative}.card h2{font-family:var(--heading);color:var(--ivory);letter-spacing:.5px;margin-bottom:12px;font-size:26px;font-weight:500}.card p{color:var(--text-muted);max-width:32ch;margin-bottom:28px;font-size:14px;line-height:1.7}.card .btn{margin-top:auto}.btn{color:var(--gold);text-transform:uppercase;letter-spacing:2px;padding-bottom:4px;font-size:11px;font-weight:500;text-decoration:none;transition:color .3s;display:inline-block;position:relative}.btn:after{content:"";background:var(--gold);transform-origin:100%;width:100%;height:1px;transition:transform .3s;position:absolute;bottom:0;left:0}.btn:visited,.btn:active{color:var(--gold)}.btn:hover{color:var(--gold-bright)}.btn:hover:after{transform-origin:0;background:var(--gold-bright)}.moment{text-align:center;padding:16px 0 40px}.moment h2{font-family:var(--heading);color:var(--ivory);letter-spacing:1px;margin-bottom:8px;font-size:36px;font-weight:400}.moment-sub{color:var(--text-muted);letter-spacing:.5px;margin-bottom:28px;font-size:14px;font-style:italic}.moment-wrap{max-width:820px;margin:0 auto;position:relative}.moment-border{border:1px solid var(--gold);border-radius:3px;padding:14px 24px;position:relative}.moment-side-ornament{pointer-events:none;filter:drop-shadow(0 0 3px #f3e0a859);z-index:2;shape-rendering:geometricprecision;width:28px;height:78%;max-height:460px;position:absolute;top:50%;transform:translateY(-50%)}.moment-side-ornament:first-of-type{left:-14.5px}.moment-side-ornament:last-of-type{right:-14.5px}.moment-frame{cursor:pointer;background:#0003;border-radius:2px;transition:transform .4s,box-shadow .4s;position:relative;overflow:hidden;box-shadow:0 20px 60px -20px #0009}.moment-frame:hover{transform:translateY(-2px);box-shadow:0 28px 70px -20px #000000bf}.moment-frame img,.moment-frame video{object-fit:cover;width:100%;max-height:520px;display:block}@media (width<=640px){.moment-border{padding:16px}.moment-side-ornament{display:none}}.moment-frame .video-play-icon{filter:drop-shadow(0 4px 20px #000000b3);border-width:22px 0 22px 36px}.moment-caption{color:var(--ivory);font-family:var(--heading);letter-spacing:.5px;margin-top:18px;font-size:20px}.moment-meta{color:var(--text-muted);letter-spacing:.5px;margin-top:4px;font-size:13px}.moment-loading,.moment-empty{color:var(--text-muted);font-style:italic}.recent{padding:32px 0 56px}.recent h2{font-family:var(--heading);color:var(--ivory);letter-spacing:1px;margin-bottom:36px;font-size:36px;font-weight:400}.timeline{border-left:1px solid var(--border-strong);padding-left:32px;list-style:none}.timeline li{align-items:baseline;gap:24px;padding:16px 0;transition:opacity .3s;display:flex;position:relative}.timeline:hover li{opacity:.5}.timeline:hover li:hover{opacity:1}.timeline li:before{content:"";background:var(--navy);border:1.5px solid var(--gold);border-radius:50%;width:8px;height:8px;transition:background .3s;position:absolute;top:22px;left:-37px}.timeline li:hover:before{background:var(--gold)}.timeline .date{font-family:var(--heading);color:var(--gold);min-width:120px;font-size:16px;font-style:italic;font-weight:400}.timeline .entry{color:var(--text);font-size:15px;font-weight:300}.timeline.recent-detailed{border-left:none;flex-direction:column;gap:10px;padding-left:0;display:flex}.timeline.recent-detailed:hover li{opacity:1}.timeline.recent-detailed li{padding:0;display:block;position:relative}.timeline.recent-detailed li:before{display:none}.recent-card{background:var(--card-bg);border:1px solid var(--border);border-left:3px solid #0000;transition:border-color .18s,transform .18s,box-shadow .18s}.recent-card:hover{border-color:var(--gold-dim);border-left-color:var(--gold);transform:translateY(-1px);box-shadow:0 6px 18px #0000002e}.recent-card-photo{border-left-color:#b8943e73}.recent-card-video{border-left-color:#e8b54f8c}.recent-card-event{border-left-color:#78aadc99}.recent-card-alumni{border-left-color:#b4dcb48c}.recent-card-tradition{border-left-color:#dcb4dc73}.recent-card-link{color:var(--ivory);grid-template-columns:64px 1fr;align-items:center;gap:14px;padding:12px 14px;text-decoration:none;display:grid}.recent-thumb{border:1px solid var(--border);background:#0000004d;justify-content:center;align-items:center;width:64px;height:64px;display:flex;overflow:hidden}.recent-thumb img{object-fit:cover;width:100%;height:100%;display:block}.recent-thumb-icon{color:var(--gold-light);opacity:.85;display:flex}.recent-card-event .recent-thumb-icon{color:#b4d2f0}.recent-card-alumni .recent-thumb-icon{color:#bedcbe}.recent-card-tradition .recent-thumb-icon{color:#dcb4dc}.recent-body{flex-direction:column;gap:4px;min-width:0;display:flex}.recent-row-top,.recent-row-bot{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.recent-row-bot{justify-content:space-between}.recent-type{font-family:var(--body);letter-spacing:1.4px;text-transform:uppercase;border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;background:#ffffff05;border-radius:999px;padding:2px 8px;font-size:9px}.recent-type-photo{color:var(--gold-light);background:#b8943e14;border-color:#b8943e80}.recent-type-video{color:#f4c86e;background:#e8b54f14;border-color:#e8b54f99}.recent-type-event{color:#b4d2f0;background:#5082c814;border-color:#78aadc8c}.recent-type-alumni{color:#bedcbe;background:#508c500f;border-color:#b4dcb473}.recent-type-tradition{color:#dcb4dc;background:#a064a00f;border-color:#dcb4dc73}.recent-tag{font-family:var(--body);letter-spacing:.4px;color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:10px}.recent-tag:before{content:"·";color:var(--text-muted);opacity:.6;margin-right:6px}.recent-name{font-family:var(--heading);color:var(--ivory);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:16px;font-weight:500;line-height:1.25;overflow:hidden}.recent-submitter{font-family:var(--body);color:var(--ivory-dim);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:11px;overflow:hidden}.recent-submitter:before{content:"by ";color:var(--text-muted)}.recent-submitter-anon{color:var(--text-muted);font-style:italic}.recent-submitter-anon:before{content:""}.recent-time{font-family:var(--body);color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:11px}.recent-empty{color:var(--text-muted);text-align:center;border:1px dashed var(--border);background:#0000001f;padding:24px 16px;font-style:italic}@media (width<=540px){.recent-card-link{grid-template-columns:52px 1fr;gap:10px;padding:10px 12px}.recent-thumb{width:52px;height:52px}.recent-name{font-size:15px}}.cta{text-align:center;background:linear-gradient(135deg, var(--card-bg), #1328444d);border:1px solid var(--border);border-radius:2px;margin:24px 0;padding:72px 40px;position:relative}.cta:before,.cta:after{content:"";border-color:var(--gold);opacity:.2;width:40px;height:40px;position:absolute}.cta:before{border-top:1px solid;border-left:1px solid;top:16px;left:16px}.cta:after{border-bottom:1px solid;border-right:1px solid;bottom:16px;right:16px}.cta h2{font-family:var(--heading);color:var(--ivory);letter-spacing:.5px;margin-bottom:12px;font-size:32px;font-weight:400}.cta p{color:var(--text-muted);margin-bottom:32px;font-size:15px;font-weight:300}.btn-cta{font-family:var(--body);text-transform:uppercase;letter-spacing:2.5px;color:var(--navy);background:linear-gradient(135deg, var(--gold-light), var(--gold));border-radius:2px;padding:14px 36px;font-size:11px;font-weight:500;text-decoration:none;transition:all .3s;display:inline-block}.btn-cta:visited,.btn-cta:active{color:var(--navy)}.btn-cta:hover{background:linear-gradient(135deg, var(--gold-bright), var(--gold-light));transform:translateY(-1px);box-shadow:0 8px 24px #b8943e40}.page-header{text-align:center;padding:80px 0 48px;position:relative}.page-header .hero-rule{margin-bottom:16px}.page-label{font-family:var(--body);color:var(--gold);letter-spacing:3px;text-transform:uppercase;opacity:.7;margin-bottom:16px;font-size:11px;font-weight:400;display:block}.page-header h1{font-family:var(--heading);color:var(--ivory);letter-spacing:1px;margin-bottom:16px;font-size:52px;font-weight:400}.page-header p{color:var(--text-muted);font-size:15px;font-weight:300}.events-list{max-width:980px;margin:0 auto;padding:60px 0 80px;position:relative}.events-list:before{content:"";pointer-events:none;z-index:0;background:linear-gradient(#0000 0%,#b8943e8c 4% 96%,#0000 100%);width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-.5px)}.events-list:not(:has(.event-card)):before{display:none}.event-card{transition:transform .25s}.event-card-frame{background:var(--card-bg);border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:8px;align-items:flex-start;gap:12px;padding:20px 24px;transition:background .25s,border-color .25s;display:flex}.event-card:hover .event-card-frame{background:var(--card-bg-hover);border-color:var(--border-strong);border-left-color:var(--gold-light)}.event-card:hover{transform:translate(4px)}.event-card-badge{background:var(--gold-pale);border:1px solid var(--border);border-radius:8px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex;box-shadow:inset 0 0 0 1px #b8943e2e,inset 0 1px 2px #0000002e}.event-card-perforation{background-image:linear-gradient(#b8943e73 50%,#0000 50%);background-repeat:repeat-y;background-size:1px 7px;flex-shrink:0;align-self:stretch;width:1px;position:relative}.event-badge-month{font-family:var(--body);letter-spacing:1.5px;color:var(--gold);text-transform:uppercase;font-size:10px;font-weight:500;line-height:1}.event-badge-day{font-family:var(--heading);color:var(--ivory);font-size:22px;font-weight:600;line-height:1.2}.event-card-badge-hidden{background:#ffffff08;border-style:dashed}.event-card-badge-hidden .event-badge-month,.event-card-badge-hidden .event-badge-day{color:var(--text-muted)}.event-card-body{flex:1;min-width:0}.event-card-name{font-family:var(--heading);color:var(--ivory);font-size:20px;font-weight:500;line-height:1.3;display:block}.event-card-time{font-family:var(--body);color:var(--text-muted);margin-top:4px;font-size:13px;font-weight:300;display:block}.event-card-desc{color:var(--text-muted);margin-top:8px;font-size:14px;font-weight:300;line-height:1.6}.event-card.event-hidden{opacity:.55}.event-card.event-hidden .event-card-frame{border-left-color:var(--text-muted);border-style:dashed}.event-card.event-admin-hidden .event-card-frame{border-left-style:dashed;border-left-color:var(--gold)}.event-admin-flag{color:var(--gold);font-family:var(--body);letter-spacing:.04em;text-transform:uppercase;background:#b8943e14;border:1px solid #b8943e73;border-radius:999px;align-items:center;margin-top:8px;padding:3px 10px;font-size:11px;font-weight:500;display:inline-flex}.event-admin-flag-desc{color:var(--text-muted);background:#ffffff08;border-color:#ffffff2e}.event-card .event-coming{color:var(--gold);font-style:italic}.event-card.event-hidden[data-side=left] .event-card-frame{border-right-color:var(--text-muted);border-right-style:dashed}.event-card.event-admin-hidden[data-side=left] .event-card-frame{border-right-style:dashed}@media (width<=768px){.event-card.event-hidden[data-side=left] .event-card-frame,.event-card.event-hidden[data-side=right] .event-card-frame{border-left-color:var(--text-muted);border-left-style:dashed;border-right-style:solid}.event-card.event-admin-hidden[data-side=left] .event-card-frame,.event-card.event-admin-hidden[data-side=right] .event-card-frame{border-left-style:dashed;border-right-style:solid}}.event-card{z-index:1;position:relative}.event-card[data-side=left]{--punch-x:86.5px;width:calc(50% - 36px);margin-right:auto}.event-card[data-side=left] .event-card-frame{border-left:none;border-right:3px solid var(--gold)}.event-card[data-side=right]{--punch-x:89.5px;width:calc(50% - 36px);margin-left:auto}.event-card+.event-card,.event-chapter-title+.event-card{margin-top:22px}.event-card[data-side] .event-card-frame{-webkit-mask-image:radial-gradient(circle 7px at var(--punch-x) 0, transparent 6.5px, black 7px), radial-gradient(circle 7px at var(--punch-x) 100%, transparent 6.5px, black 7px);-webkit-mask-image:radial-gradient(circle 7px at var(--punch-x) 0, transparent 6.5px, black 7px), radial-gradient(circle 7px at var(--punch-x) 100%, transparent 6.5px, black 7px);mask-image:radial-gradient(circle 7px at var(--punch-x) 0, transparent 6.5px, black 7px), radial-gradient(circle 7px at var(--punch-x) 100%, transparent 6.5px, black 7px);-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;mask-composite:intersect}.event-card[data-side=left]:hover{transform:translate(-4px)}.event-card[data-side=left]:hover .event-card-frame{border-left-color:#0000;border-right-color:var(--gold-light)}.event-card[data-side=right]:hover{transform:translate(4px)}.event-card[data-side]:before{content:"";background:var(--border-strong);pointer-events:none;width:32px;height:1px;position:absolute;top:32px}.event-card[data-side=left]:before{right:-32px}.event-card[data-side=right]:before{left:-32px}.event-card[data-side]:after{content:"";background:var(--gold);border:2px solid var(--navy);z-index:2;width:11px;height:11px;transition:transform .25s,box-shadow .25s,background .25s;position:absolute;top:26px;transform:rotate(45deg);box-shadow:0 0 0 1px #b8943e59}.event-card[data-side=left]:after{right:-43.25px}.event-card[data-side=right]:after{left:-43.25px}.event-card[data-side]:hover:after{transform:rotate(45deg)scale(1.35);box-shadow:0 0 0 4px #b8943e2e}.event-card.event-hidden[data-side]:after{background:var(--text-muted);box-shadow:none}.event-chapter-title{z-index:3;justify-content:center;align-items:center;gap:14px;margin:56px 0 32px;padding:6px 0;display:flex;position:relative}.event-chapter-title:first-child{margin-top:12px}.event-chapter-rule{background:linear-gradient(to right, transparent, var(--gold-light));flex:0 90px;height:1px}.event-chapter-title>.event-chapter-rule:last-child{background:linear-gradient(to left, transparent, var(--gold-light))}.event-chapter-diamond{background:var(--gold);flex-shrink:0;width:5px;height:5px;transform:rotate(45deg)}.event-chapter-name{font-family:var(--heading);color:var(--ivory);letter-spacing:.06em;white-space:nowrap;background:var(--navy);margin:0;padding:4px 18px;font-size:28px;font-style:italic;font-weight:500}.event-reorder{flex-direction:column;flex-shrink:0;align-self:flex-start;gap:4px;margin-top:2px;display:none}body.edit-mode .event-reorder{display:flex}.event-reorder-btn{border:1px solid var(--border);width:30px;height:30px;color:var(--gold);cursor:pointer;background:#b8943e14;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:background .18s,border-color .18s,transform .12s;display:inline-flex}.event-reorder-btn:hover{border-color:var(--gold);background:#b8943e38}.event-reorder-btn:active{transform:scale(.92)}@media (width<=768px){.events-list{padding:40px 0 60px}.events-list:before{left:20px;transform:none}.event-card-frame{gap:8px;padding:14px 16px}.event-card-badge{width:48px;height:48px}.event-badge-day{font-size:19px}.event-card-name{font-size:18px}.event-card-time{font-size:12px}.event-card-desc{font-size:13px;line-height:1.55}.event-admin-flag{letter-spacing:.03em;padding:2px 8px;font-size:10px}.event-reorder-btn{width:26px;height:26px}.event-card[data-side=left],.event-card[data-side=right]{--punch-x:68.5px;width:calc(100% - 44px);margin-left:44px;margin-right:0}.event-card[data-side=left] .event-card-frame,.event-card[data-side=right] .event-card-frame{border-left:3px solid var(--gold);border-right:1px solid var(--border)}.event-card[data-side=left]:hover,.event-card[data-side=right]:hover{transform:translate(4px)}.event-card[data-side=left]:hover .event-card-frame,.event-card[data-side=right]:hover .event-card-frame{border-left-color:var(--gold-light);border-right-color:var(--border-strong)}.event-card[data-side=left]:before,.event-card[data-side=right]:before{width:23px;left:-23px;right:auto}.event-card[data-side=left]:after,.event-card[data-side=right]:after{top:26px;left:-31px;right:auto}.event-chapter-title{justify-content:flex-start;gap:10px;margin:44px 0 24px;padding-left:44px}.event-chapter-title .event-chapter-rule{display:none}.event-chapter-name{background:0 0;padding:0;font-size:22px}}@media (width<=380px){.event-card-frame{gap:6px;padding:12px}.event-card-badge{width:42px;height:42px}.event-badge-month{letter-spacing:1px;font-size:9px}.event-badge-day,.event-card-name{font-size:17px}.event-card[data-side=left],.event-card[data-side=right]{--punch-x:57.5px;width:calc(100% - 36px);margin-left:36px}.events-list:before{left:16px}.event-card[data-side=left]:before,.event-card[data-side=right]:before{width:19px;left:-19px}.event-card[data-side=left]:after,.event-card[data-side=right]:after{top:24px;left:-27px}.event-chapter-title{padding-left:36px}.event-chapter-name{font-size:20px}}.alumni-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;padding:40px 0;display:grid}.alumni-card{background:var(--card-bg);border:1px solid var(--border);border-radius:2px;justify-content:space-between;align-items:center;gap:18px;padding:28px;transition:all .4s;display:flex;position:relative}.alumni-avatar{background:var(--gold-pale);border:1px solid var(--border-strong);width:52px;min-width:52px;height:52px;font-family:var(--heading);color:var(--gold);letter-spacing:1px;border-radius:50%;justify-content:center;align-items:center;font-size:18px;font-weight:500;display:flex;overflow:hidden}.alumni-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.alumni-card:after{content:"";background:linear-gradient(90deg, transparent, var(--gold), transparent);opacity:0;height:1px;transition:opacity .4s;position:absolute;bottom:0;left:28px;right:28px}@media (hover:hover){.alumni-card:hover{background:var(--card-bg-hover);border-color:var(--border-strong);transform:translateY(-2px);box-shadow:0 12px 32px #0003}.alumni-card:hover:after{opacity:.4}}.alumni-card h3{font-family:var(--heading);color:var(--ivory);letter-spacing:.3px;margin-bottom:4px;font-size:22px;font-weight:500}.alumni-card .years{font-family:var(--heading);color:var(--gold);margin-bottom:8px;font-size:14px;font-style:italic}.alumni-card .bio{color:var(--text-muted);font-size:13px;font-weight:300;line-height:1.6}.alumni-linkedin{font-family:var(--heading);color:var(--text-muted);letter-spacing:.3px;align-items:center;gap:6px;margin-top:4px;font-size:12px;text-decoration:none;transition:color .2s;display:inline-flex}.alumni-linkedin:hover{color:var(--gold)}.alumni-linkedin svg{flex-shrink:0}.alumni-modal{z-index:1000;background:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:none;position:fixed;top:0;left:0}.alumni-modal.active{display:flex}.alumni-modal-content{background:var(--card-bg);border:1px solid var(--border-strong);text-align:center;border-radius:4px;width:100%;max-width:420px;padding:40px;animation:.3s modalFadeIn;position:relative}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.alumni-modal-close{width:44px;height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:26px;line-height:1;transition:color .3s;display:flex;position:absolute;top:6px;right:6px}.alumni-modal-close:hover{color:var(--ivory)}.alumni-modal-avatar{background:var(--gold-pale);border:2px solid var(--gold);width:90px;height:90px;font-family:var(--heading);color:var(--gold);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;font-size:28px;font-weight:500;display:flex;overflow:hidden}.alumni-modal-avatar.has-photo{background:0 0}.alumni-modal-avatar img{object-fit:cover;width:100%;height:100%}.alumni-modal-content h2{font-family:var(--heading);color:var(--ivory);margin-bottom:6px;font-size:26px;font-weight:500}.alumni-modal-year{font-family:var(--heading);color:var(--gold);margin-bottom:16px;font-size:15px;font-style:italic}.alumni-modal-bio{color:var(--text-muted);border-top:1px solid var(--border);padding-top:16px;font-size:14px;font-weight:300;line-height:1.7}.alumni-count{text-align:center;font-family:var(--heading);color:var(--text-muted);padding:24px 0 0;font-size:16px;font-style:italic}.alumni-count span{color:var(--gold);font-size:20px;font-weight:500}.class-filter-wrap{padding-top:32px}.class-filter{flex-wrap:wrap;gap:6px;display:flex}.class-filter button{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-family:var(--heading);letter-spacing:.6px;text-transform:none;background:0 0;border-radius:2px;min-width:56px;padding:7px 14px;font-size:12px;font-weight:400;transition:all .3s}.class-filter button[data-filter=all],.class-filter button[data-filter=unknown]{letter-spacing:1px;text-transform:uppercase;font-size:11px}.class-filter button:hover,.class-filter button.active{background:var(--gold-pale);color:var(--gold);border-color:var(--gold)}.class-filter-select{border:1px solid var(--border);width:100%;color:var(--ivory);font-family:var(--heading);letter-spacing:.4px;cursor:pointer;appearance:none;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='none' stroke='%23b8943e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5l5 5 5-5'/></svg>") right 14px center no-repeat;border-radius:2px;padding:12px 36px 12px 14px;font-size:14px;transition:border-color .3s,color .3s;display:none}.class-filter-select:focus{border-color:var(--gold);color:var(--gold);outline:none}.class-filter-select option{background:var(--card-bg);color:var(--ivory)}.traditions-list{flex-direction:column;gap:24px;padding:40px 0;display:flex}.tradition-card{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;align-items:flex-start;gap:24px;padding:28px 28px 28px 24px;transition:background .25s,border-color .25s;display:flex;position:relative}.tradition-card:hover{background:var(--card-bg-hover);border-color:var(--border-strong)}.tradition-card-numeral{width:52px;font-family:var(--heading);color:var(--gold);opacity:.3;text-align:center;flex-shrink:0;padding-top:2px;font-size:36px;font-weight:600;line-height:1}.tradition-card-content{flex:1;min-width:0}.tradition-card-title{font-family:var(--heading);color:var(--ivory);letter-spacing:.3px;font-size:22px;font-weight:500;line-height:1.3}.tradition-card-rule{background:var(--gold);opacity:.4;border-radius:1px;width:40px;height:2px;margin:12px 0}.tradition-card-date{font-family:var(--heading);color:var(--text-muted);margin-bottom:8px;font-size:14px;font-style:italic}.tradition-card-desc{color:var(--text);font-size:15px;font-weight:300;line-height:1.7}.tradition-card-origin{font-family:var(--heading);color:var(--gold);opacity:.7;margin-top:12px;font-size:14px;font-style:italic}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:20px;padding:40px 0;display:grid}.gallery-item{background:var(--card-bg);border:1px solid var(--border);aspect-ratio:4/3;color:var(--text-muted);font-family:var(--heading);text-align:center;cursor:default;border-radius:2px;justify-content:center;align-items:center;padding:20px;font-size:15px;font-style:italic;transition:all .4s;display:flex;overflow:hidden}.gallery-item:hover{border-color:var(--border-strong);background:var(--card-bg-hover);transform:scale(1.02);box-shadow:0 12px 32px #0003}.gallery-item.has-image{cursor:pointer;padding:0;position:relative}.gallery-item.has-image img{object-fit:cover;width:100%;height:100%;display:block}.gallery-overlay{opacity:0;background:linear-gradient(#0000 50%,#0b1829e6 100%);flex-direction:column;justify-content:flex-end;padding:16px;transition:opacity .3s;display:flex;position:absolute;inset:0}.gallery-item.has-image:hover .gallery-overlay{opacity:1}.gallery-caption{font-family:var(--heading);color:var(--ivory);font-size:16px;font-weight:500}.gallery-year{font-family:var(--heading);color:var(--gold);font-size:13px;font-style:italic}.gallery-tabs{justify-content:center;gap:8px;margin-bottom:8px;display:flex}.gallery-tab{font-family:var(--heading);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:2px;padding:10px 32px;font-size:14px;font-weight:500;transition:all .3s}.gallery-tab.active{color:var(--ivory);background:var(--card-bg);border-color:var(--gold)}.gallery-tab:hover:not(.active){color:var(--ivory);border-color:var(--border-strong)}.video-tip{border:1px solid var(--border-strong);color:var(--text);letter-spacing:.3px;opacity:0;pointer-events:none;z-index:5;background:#0b1829eb;border-radius:2px;align-items:center;gap:12px;padding:8px 14px 8px 16px;font-size:13px;font-style:italic;transition:opacity .3s,transform .3s;display:flex;position:absolute;top:24px;left:50%;transform:translate(-50%,-8px);box-shadow:0 8px 24px #0006}.video-tip.visible{opacity:1;pointer-events:auto;transform:translate(-50%)}.video-tip-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-family:inherit;font-size:18px;line-height:1;transition:color .2s}.video-tip-close:hover{color:var(--gold-bright)}.video-item{position:relative}.video-item video{object-fit:cover;width:100%;height:100%;display:block}.video-play-icon{filter:drop-shadow(0 2px 12px #0000008c);pointer-events:none;color:#0000;border:14px solid #0000;border-left:24px solid #ffffffe6;border-right-width:0;width:0;height:0;font-size:0;transition:transform .3s,border-left-color .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.video-item:hover .video-play-icon{border-left-color:var(--gold-bright);transform:translate(-50%,-50%)scale(1.15)}.video-lightbox-content{contain:layout paint;justify-content:center;align-items:center;width:90vw;max-width:900px;display:flex}.video-lightbox-content iframe{aspect-ratio:16/9;backface-visibility:hidden;border:0;width:100%;display:block;transform:translate(0,0)}#video-lightbox{cursor:default}#video-lightbox.active{will-change:auto;transition:none}#video-lightbox{-webkit-backdrop-filter:none;contain:paint;background:#0b1829}body.modal-open:before,body.modal-open:after,body.modal-open .grid-overlay,body.modal-open .particles,body.modal-open .vignette,body.modal-open .site-header,body.modal-open footer{display:none!important}body.modal-open main>:not(.lightbox):not(.alumni-modal){visibility:hidden!important}.vp{width:100%;max-width:1100px;box-shadow:0 20px 60px #0009, 0 0 0 1px var(--border-strong);cursor:default;contain:layout paint;background:#000;border-radius:4px;position:relative;overflow:hidden}.vp.vp-fullscreen{border-radius:0;max-width:none;height:100vh}.vp-video{background:#000;width:100%;max-height:80vh;display:block;transform:translateZ(0)}.vp.vp-fullscreen .vp-video{object-fit:contain;height:100vh;max-height:100vh}.vp-bigplay{border:1px solid var(--gold);width:84px;height:84px;color:var(--gold-bright);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0b18298c;border-radius:50%;place-items:center;margin:auto;padding:0 0 0 6px;transition:transform .25s,background .25s,opacity .25s;display:grid;position:absolute;inset:0}.vp-bigplay svg{display:block}.vp-bigplay:hover{background:#b8943e40;transform:scale(1.08)}.vp.vp-playing .vp-bigplay{opacity:0;pointer-events:none}.vp-error{text-align:center;z-index:4;background:#0b1829f2;flex-direction:column;justify-content:center;align-items:center;padding:24px 32px;display:none;position:absolute;inset:0}.vp.vp-errored .vp-error{display:flex}.vp.vp-errored .vp-bigplay,.vp.vp-errored .vp-controls,.vp.vp-errored .vp-loader{display:none!important}.vp-error-title{font-family:var(--heading);color:var(--gold-bright);letter-spacing:.4px;margin:0 0 10px;font-size:18px}.vp-error-body{color:var(--text);max-width:540px;margin:0 0 18px;font-size:13px;line-height:1.55}.vp-error-actions{gap:10px;margin:0;display:flex}.vp-error-btn{border:1px solid var(--gold);color:var(--gold-bright);letter-spacing:.3px;font-size:13px;font-family:var(--body);background:0 0;border-radius:2px;padding:8px 18px;text-decoration:none;transition:background .2s,color .2s}.vp-error-btn:hover{background:var(--gold);color:#0b1829}.vp-loader{pointer-events:none;place-items:center;display:none;position:absolute;inset:0}.vp.vp-loading .vp-loader{display:grid}.vp.vp-loading .vp-bigplay{opacity:0}.vp-loader span{background:var(--gold-light);border-radius:50%;width:10px;height:10px;margin:0 4px;animation:1.2s ease-in-out infinite both vp-bounce}.vp-loader span:first-child{animation-delay:-.32s}.vp-loader span:nth-child(2){animation-delay:-.16s}@keyframes vp-bounce{0%,80%,to{opacity:.4;transform:scale(.4)}40%{opacity:1;transform:scale(1)}}.vp-controls{will-change:opacity, transform;background:linear-gradient(#0000,#0000008c 40%,#000000d9);flex-direction:column;gap:10px;padding:14px 16px 12px;transition:opacity .25s,transform .25s;display:flex;position:absolute;bottom:0;left:0;right:0}.vp.vp-hide-ui .vp-controls{opacity:0;pointer-events:none;transform:translateY(8px)}.vp.vp-hide-ui .vp-bigplay{opacity:0}.vp.vp-hide-ui{cursor:none}.vp-progress{cursor:pointer;touch-action:none;align-items:center;height:18px;display:flex;position:relative}.vp-progress-track{background:#ffffff2e;border-radius:2px;width:100%;height:4px;transition:height .15s;position:relative;overflow:visible}.vp-progress:hover .vp-progress-track{height:6px}.vp-progress-buffer,.vp-progress-fill{transform-origin:0;will-change:transform;border-radius:2px;position:absolute;inset:0}.vp-progress-buffer{background:#ffffff47;transform:scaleX(0)}.vp-progress-fill{background:linear-gradient(90deg, var(--gold), var(--gold-bright));transform:scaleX(0)}.vp-progress-thumb{background:var(--gold-bright);pointer-events:none;border-radius:50%;width:12px;height:12px;transition:transform .15s;position:absolute;top:50%;transform:translate(-50%,-50%)scale(0);box-shadow:0 0 0 3px #b8943e40}.vp-progress:hover .vp-progress-thumb{transform:translate(-50%,-50%)scale(1)}.vp-progress-tooltip{border:1px solid var(--border-strong);color:var(--gold-light);font-size:11px;font-family:var(--body,system-ui);opacity:0;pointer-events:none;white-space:nowrap;background:#0b1829f2;border-radius:2px;padding:3px 8px;transition:opacity .15s;position:absolute;bottom:22px;transform:translate(-50%)}.vp-progress:hover .vp-progress-tooltip{opacity:1}.vp-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.vp-btn{color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;font-size:18px;transition:color .2s,background .2s,border-color .2s;display:inline-flex;position:relative}.vp-btn svg{width:22px;height:22px}.vp-btn:hover{color:var(--gold-bright);border-color:var(--border-strong);background:#b8943e1f}.vp-btn:focus-visible{border-color:var(--gold);outline:none}.vp-btn-num{letter-spacing:.5px;margin-left:3px;font-size:11px;font-weight:600}.vp-volume{align-items:center;gap:4px;display:inline-flex}.vp-vol-slider{appearance:none;cursor:pointer;background:#fff3;border-radius:3px;outline:none;width:0;height:5px;transition:width .25s}.vp-volume:hover .vp-vol-slider,.vp-vol-slider:focus{width:100px}.vp-vol-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--gold-bright);cursor:pointer;border:none;border-radius:50%;width:14px;height:14px}.vp-vol-slider::-moz-range-thumb{background:var(--gold-bright);cursor:pointer;border:none;border-radius:50%;width:14px;height:14px}.vp-time{color:var(--text-muted);font-variant-numeric:tabular-nums;letter-spacing:.3px;white-space:nowrap;margin-left:8px;font-size:14px}.vp-time .vp-cur{color:var(--text)}.vp-spacer{flex:1}.vp-speed{position:relative}.vp-speed-btn{font-variant-numeric:tabular-nums;width:auto;min-width:52px;padding:0 14px;font-size:14px;font-weight:600}.vp-speed-menu{border:1px solid var(--border-strong);z-index:5;background:#0b1829f7;border-radius:2px;flex-direction:column;min-width:90px;display:none;position:absolute;bottom:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 8px 24px #00000080}.vp-speed-menu.open{display:flex}.vp-speed-menu button{color:var(--text);text-align:left;cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:none;padding:10px 14px;font-size:13px;transition:background .15s,color .15s}.vp-speed-menu button:hover{color:var(--gold-bright);background:#b8943e26}.vp-speed-menu button.active{color:var(--gold-bright)}.vp-speed-menu button.active:before{content:"✓ "}@media (width<=540px){.vp-time{font-size:12px}.vp-btn{width:38px;height:38px;font-size:15px}.vp-btn svg{width:18px;height:18px}.vp-volume:hover .vp-vol-slider,.vp-vol-slider:focus{width:70px}.vp-bigplay{width:64px;height:64px;font-size:24px}}.gallery-semester-heading{font-family:var(--heading);color:var(--gold);border-bottom:1px solid var(--border);letter-spacing:1px;grid-column:1/-1;margin:32px 0 12px;padding-bottom:8px;font-size:20px;font-weight:500}.gallery-semester-heading:first-child{margin-top:0}.gallery-semester-grid{grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px;display:grid}.cover-star{border:1px solid var(--border-strong);width:34px;height:34px;color:var(--gold);cursor:pointer;opacity:0;z-index:3;background:#0b1829c7;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:opacity .25s,transform .25s,background .2s,border-color .2s;display:flex;position:absolute;top:10px;right:10px;transform:translateY(-4px)}.cover-star svg path{fill:none;transition:fill .2s}.cover-star.is-active svg path{fill:currentColor}.cover-star.is-active{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold-glow), 0 4px 10px #00000059;background:#0b1829e6}body:not(.edit-mode) .cover-star{display:none}body.edit-mode .gallery-item:hover .cover-star,body.edit-mode .cover-star.is-active,body.edit-mode .cover-star:focus-visible{opacity:1;transform:translateY(0)}body.edit-mode .cover-star:hover{border-color:var(--gold);background:#0b1829f2}.gallery-folder{background:var(--card-bg);border:1px solid var(--border);cursor:pointer;border-radius:2px;flex-direction:column;transition:transform .4s,box-shadow .4s,border-color .4s;display:flex;position:relative;overflow:hidden}.gallery-folder:hover{border-color:var(--border-strong);transform:translateY(-4px);box-shadow:0 18px 36px #0006}.folder-cover{aspect-ratio:4/3;background:var(--navy-mid);border-bottom:1px solid var(--border);position:relative;overflow:hidden}.folder-cover-img{background-position:50%;background-size:cover;transition:transform .6s;position:absolute;inset:0}.folder-cover-empty{background:radial-gradient(ellipse at center, #b8943e0f, transparent 70%), var(--navy-mid)}.folder-cover-video{object-fit:cover;pointer-events:none;width:100%;height:100%;transition:transform .6s;position:absolute;inset:0}.folder-cover:after{content:"";pointer-events:none;background:linear-gradient(#0b182973 0%,#0000 22%),linear-gradient(#0000 78%,#0b182973 100%);position:absolute;inset:0}.gallery-folder:hover .folder-cover-img,.gallery-folder:hover .folder-cover-video{transform:scale(1.06)}.folder-corner{border:1px solid var(--gold);opacity:.75;pointer-events:none;z-index:2;width:12px;height:12px;transition:opacity .4s;position:absolute}.folder-corner-tl{border-bottom:0;border-right:0;top:8px;left:8px}.folder-corner-tr{border-bottom:0;border-left:0;top:8px;right:8px}.folder-corner-bl{border-top:0;border-right:0;bottom:8px;left:8px}.folder-corner-br{border-top:0;border-left:0;bottom:8px;right:8px}.gallery-folder:hover .folder-corner{opacity:1}.folder-caption{background:var(--card-bg);justify-content:space-between;align-items:baseline;gap:12px;padding:14px 18px 16px;display:flex;position:relative}.folder-caption:before{content:"";background:linear-gradient(90deg, transparent, var(--gold), transparent);opacity:.25;height:1px;transition:opacity .4s;position:absolute;top:0;left:18px;right:18px}.gallery-folder:hover .folder-caption:before{opacity:.6}.folder-year{font-family:var(--heading);color:var(--ivory);letter-spacing:.5px;font-size:22px;font-style:italic;font-weight:500;line-height:1}.folder-count{font-family:var(--heading);color:var(--gold);text-transform:uppercase;letter-spacing:2px;white-space:nowrap;font-size:11px;line-height:1}.gallery-back{border:1px solid var(--border);color:var(--gold);font-family:var(--heading);cursor:pointer;background:0 0;border-radius:2px;margin-bottom:8px;padding:8px 18px;font-size:15px;transition:all .3s}.gallery-back:hover{background:var(--card-bg-hover);border-color:var(--gold)}.gallery-class-title{font-family:var(--heading);color:var(--ivory);margin:16px 0 0;font-size:28px}.gallery-loading,.gallery-empty{text-align:center;font-family:var(--heading);color:var(--text-muted);grid-column:1/-1;padding:48px 0;font-size:16px;font-style:italic}.gallery-empty a{color:var(--gold);text-decoration:underline}.lightbox{z-index:300;opacity:0;pointer-events:none;cursor:zoom-out;contain:layout paint;background:#0b1829f7;flex-direction:column;justify-content:center;align-items:center;transition:opacity .22s ease-out;display:flex;position:fixed;inset:0}.lightbox.active{opacity:1;pointer-events:all}.lightbox img{object-fit:contain;border-radius:2px;max-width:90vw;max-height:80vh;box-shadow:0 20px 60px #00000080}.lightbox-close{width:44px;height:44px;color:var(--ivory);cursor:pointer;opacity:.6;font-size:32px;line-height:1;font-family:var(--body);background:0 0;border:none;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;top:16px;right:16px}.lightbox-close:hover{opacity:1}.lightbox-caption{font-family:var(--heading);color:var(--ivory-dim);text-align:center;margin-top:20px;font-size:18px;font-style:italic}.lightbox-submitter{font-family:var(--heading);color:var(--text-muted);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:6px;padding:0 16px;font-size:13px;font-style:italic;display:inline-flex}.lightbox-submitter[hidden]{display:none}.lightbox-submitter-name{color:var(--gold);letter-spacing:.3px;font-style:normal;font-weight:500}.lightbox-submitter-role{font-family:var(--heading);letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);background:var(--gold-pale);border:1px solid var(--border-strong);border-radius:999px;padding:2px 8px;font-size:10px;font-style:normal;display:inline-block}.lightbox-likes{text-align:center;flex-direction:column;align-items:center;gap:4px;width:100%;max-width:560px;margin-top:12px;padding:0 16px;display:flex}.lightbox-likes:empty{display:none}.like-btn{cursor:pointer;color:var(--ivory);-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:6px;line-height:1;display:inline-flex}.like-btn .like-icon{fill:none;stroke:currentColor;stroke-width:2px;width:30px;height:30px;transition:transform .15s,fill .15s,color .15s;display:block}.like-btn:hover:not(.disabled):not(:disabled) .like-icon{color:#ff6f7a;transform:scale(1.1)}.like-btn.liked .like-icon{color:#ed4956;fill:#ed4956;stroke:#ed4956;animation:.42s cubic-bezier(.4,0,.2,1) like-pop}@keyframes like-pop{0%{transform:scale(1)}35%{transform:scale(1.35)}to{transform:scale(1)}}.like-btn.disabled{cursor:default;opacity:.55}.like-count-label{color:var(--ivory);font-size:14px;font-family:var(--heading);letter-spacing:.01em;font-variant-numeric:tabular-nums}.like-hint{color:var(--ivory-dim);margin-top:0;font-size:12px;font-style:italic}.likes-loading{color:var(--ivory-dim);font-size:13px;font-style:italic}.about-verses{flex-direction:column;gap:28px;max-width:640px;margin:0 auto;padding:48px 0 8px;display:flex}.verse{border-left:2px solid var(--gold);background:#b8943e0d;margin:0;padding:20px 28px}.verse p{font-family:var(--heading);color:var(--ivory-dim);margin:0 0 10px;font-size:18px;font-style:italic;font-weight:400;line-height:1.65}.verse cite{font-family:var(--body);letter-spacing:2px;text-transform:uppercase;color:var(--gold);font-size:11px;font-style:normal;display:block}.about-content{max-width:640px;margin:0 auto;padding:20px 0}.maintainer-grid{grid-template-columns:repeat(4,1fr);gap:20px;margin:28px 0 12px;display:grid}.maintainer-card{text-align:center;position:relative}.maintainer-card.is-editable .maintainer-avatar{cursor:pointer}.maintainer-edit-btn{font-family:var(--body);letter-spacing:1px;text-transform:uppercase;color:var(--gold);border:1px solid var(--border-strong);cursor:pointer;background:0 0;border-radius:3px;align-items:center;gap:5px;margin-top:8px;padding:5px 12px;font-size:10px;font-weight:600;transition:all .2s;display:inline-flex}.maintainer-edit-btn:hover{border-color:var(--gold);background:var(--gold-pale)}.maintainer-edit-fields{flex-direction:column;gap:10px;width:100%;max-width:320px;margin:4px auto 0;display:flex}.maintainer-edit-fields[hidden]{display:none}.maintainer-edit-row{flex-direction:column;gap:6px;display:flex}.maintainer-edit-row[hidden]{display:none}.maintainer-edit-label{font-family:var(--body);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);text-align:left;font-size:10.5px;font-weight:600}.maintainer-edit-name{background:var(--navy-mid);border:1px solid var(--border-strong);width:100%;color:var(--ivory);font-family:var(--body);border-radius:4px;padding:11px 13px;font-size:16px}.maintainer-edit-name:focus{border-color:var(--gold);outline:none}.maintainer-replace-btn{font-family:var(--body);letter-spacing:1px;text-transform:uppercase;color:var(--gold);border:1px dashed var(--border-strong);cursor:pointer;background:0 0;border-radius:4px;padding:10px 16px;font-size:11px;font-weight:500;transition:all .2s}.maintainer-replace-btn:hover{border-style:solid;border-color:var(--gold);background:var(--gold-pale)}.maintainer-replace-btn:disabled{opacity:.6;cursor:default}.maintainer-remove-btn{font-family:var(--body);letter-spacing:1px;text-transform:uppercase;color:#e0a86a;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:8px 12px;font-size:11px;transition:all .2s}.maintainer-remove-btn:hover{color:#e57373;border-color:#e5737366}.maintainer-add-card{text-align:center}.maintainer-add-circle{aspect-ratio:1;border:2px dashed var(--border-strong);width:100%;color:var(--gold);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;margin-bottom:12px;transition:all .2s;display:flex}.maintainer-add-circle:hover{border-color:var(--gold);background:var(--gold-pale)}.maintainer-add-plus{font-size:46px;font-weight:300;line-height:1}.maintainer-add-label{font-family:var(--body);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);font-size:11px}.maintainer-avatar{aspect-ratio:1;background:var(--card-bg);width:100%;color:var(--gold);font-family:var(--heading);letter-spacing:1px;cursor:zoom-in;-webkit-user-select:none;user-select:none;border:1px solid #b8943e4d;border-radius:50%;justify-content:center;align-items:center;margin-bottom:12px;font-size:22px;font-weight:400;transition:border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.maintainer-avatar:hover{border-color:var(--gold);box-shadow:0 0 0 2px #b8943e33}.maintainer-avatar img{object-fit:cover;pointer-events:none;-webkit-user-drag:none;transform-origin:50%;width:100%;height:100%}.maintainer-adjust{z-index:400;opacity:0;pointer-events:none;contain:paint;background:#0b1829;justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:fixed;inset:0}.maintainer-adjust.active{opacity:1;pointer-events:all}.maintainer-adjust-close{color:var(--text);cursor:pointer;opacity:.7;font-size:32px;font-family:var(--body);background:0 0;border:none;line-height:1;transition:opacity .2s,color .2s;position:absolute;top:24px;right:28px}.maintainer-adjust-close:hover{opacity:1;color:var(--gold-bright)}.maintainer-adjust-stage{flex-direction:column;align-items:center;gap:16px;max-width:90vw;display:flex}.maintainer-adjust-frame{aspect-ratio:1;border:1px solid var(--gold);cursor:grab;touch-action:none;background:#000;border-radius:50%;width:min(70vmin,540px);position:relative;overflow:hidden;box-shadow:0 0 0 4px #b8943e26,0 20px 60px #00000080}.maintainer-adjust-frame.dragging{cursor:grabbing}.maintainer-adjust-frame img{object-fit:cover;pointer-events:none;-webkit-user-drag:none;transform-origin:50%;will-change:transform, object-position;backface-visibility:hidden;width:100%;height:100%}.maintainer-adjust-hint{color:var(--text-muted);letter-spacing:.3px;text-align:center;margin:4px 0 0;font-size:12px;font-style:italic}.maintainer-adjust-zoom{align-items:center;gap:12px;width:min(70vmin,540px);margin-top:4px;display:flex}.maintainer-adjust-zoom span{color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px;min-width:44px;font-size:12px}.maintainer-adjust-zoom input[type=range]{appearance:none;background:#ffffff2e;border-radius:2px;outline:none;flex:1;height:4px}.maintainer-adjust-zoom input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--gold-bright);cursor:pointer;border:none;border-radius:50%;width:14px;height:14px}.maintainer-adjust-zoom input[type=range]::-moz-range-thumb{background:var(--gold-bright);cursor:pointer;border:none;border-radius:50%;width:14px;height:14px}.maintainer-adjust-actions{gap:12px;margin-top:8px;display:flex}.maintainer-adjust-actions .btn-cancel,.maintainer-adjust-actions .btn-cta{min-width:110px}.maintainer-fallback{opacity:.7}.maintainer-name{font-family:var(--body);color:var(--ivory);letter-spacing:.5px;font-size:13px;font-weight:400}.maintainer-role{font-family:var(--body);color:var(--gold);text-transform:uppercase;letter-spacing:2px;margin-top:4px;font-size:10px}@media (width<=520px){.maintainer-grid{grid-template-columns:repeat(2,1fr);gap:16px}}.about-content p{color:var(--text);margin-bottom:24px;font-size:15px;font-weight:300;line-height:1.85}.about-content .about-lead{font-family:var(--heading);color:var(--ivory-dim);font-size:22px;font-style:italic;font-weight:400;line-height:1.6}.about-content h2{font-family:var(--heading);color:var(--ivory);letter-spacing:.5px;margin:48px 0 16px;font-size:28px;font-weight:400}.about-content ul{padding:0;list-style:none}.about-content li{color:var(--text-muted);padding:8px 0;font-size:15px;font-weight:300;transition:padding-left .3s,color .3s}.about-content li:hover{color:var(--text);padding-left:8px}.about-content li:before{content:"—";color:var(--gold);margin-right:12px}.add-section{max-width:640px;margin:0 auto;padding:48px 0}.add-number{font-family:var(--heading);color:var(--gold);letter-spacing:2px;opacity:.5;margin-bottom:10px;font-size:13px;display:block}.add-section h2{font-family:var(--heading);color:var(--ivory);letter-spacing:.5px;margin-bottom:8px;font-size:28px;font-weight:500}.add-desc{color:var(--text-muted);margin-bottom:28px;font-size:14px;font-weight:300}.add-form{flex-direction:column;gap:20px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{font-family:var(--body);color:var(--text-muted);text-transform:uppercase;letter-spacing:1.2px;font-size:11px;font-weight:400}.form-group input,.form-group textarea{font-family:var(--body);color:var(--ivory);background:var(--card-bg);border:1px solid var(--border);resize:vertical;border-radius:2px;outline:none;padding:12px 16px;font-size:16px;font-weight:300;transition:border-color .3s}.form-group select{font-family:var(--body);color:var(--ivory);background:var(--card-bg);border:1px solid var(--border);cursor:pointer;border-radius:2px;outline:none;padding:12px 16px;font-size:16px;font-weight:300;transition:border-color .3s}.form-group select:focus{border-color:var(--gold)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted);opacity:.5}.form-group input:focus,.form-group textarea:focus{border-color:var(--gold)}.form-group input[type=file]{cursor:pointer;padding:10px 16px}.form-group input[type=file]::file-selector-button{font-family:var(--body);text-transform:uppercase;letter-spacing:1px;color:var(--gold);background:var(--gold-pale);border:1px solid var(--border);cursor:pointer;border-radius:2px;margin-right:12px;padding:6px 14px;font-size:11px;font-weight:400;transition:all .3s}.form-group input[type=file]::file-selector-button:hover{border-color:var(--gold);background:#b8943e33}.visibility-options{border-top:1px solid var(--border);margin-top:8px;padding-top:16px}.checkbox-row{align-items:center;gap:10px;margin-top:8px;display:flex}.checkbox-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--gold);cursor:pointer;flex-shrink:0}.checkbox-row label{color:var(--text-muted);cursor:pointer;margin-bottom:0;font-size:13px}.date-reveal{margin:6px 0 12px 26px}.form-group input[type=datetime-local],.form-group input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.date-reveal input[type=date],.date-reveal input[type=datetime-local]{font-family:var(--body);border:1px solid var(--border);color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#ffffff0a;border-radius:4px;padding:6px 10px;font-size:13px}.date-reveal input[type=date]:focus,.date-reveal input[type=datetime-local]:focus{border-color:var(--gold);outline:none}.hide-sublabel{letter-spacing:.4px;color:var(--text);text-transform:uppercase;margin-bottom:5px;font-size:12px;font-weight:600;display:block}.hide-optional{text-transform:none;letter-spacing:0;color:var(--gold);font-weight:400}.hide-hint{color:var(--text-muted);margin-top:5px;font-size:12px;font-style:italic;display:block}.dp-wrap{width:100%;display:block}.dp-display{width:100%;font-family:var(--body);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:#ffffff0a;border-radius:6px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:14px;transition:border-color .2s,color .2s;display:flex}.dp-display:hover{border-color:var(--border-strong)}.dp-display.dp-has-value{color:var(--text)}.dp-display.dp-error{border-color:#c0392b;animation:.3s dpShake}@keyframes dpShake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.dp-icon{opacity:.5;flex-shrink:0}.dp-backdrop{z-index:9998;display:none;position:fixed;inset:0}.dp-backdrop.dp-open{display:block}.dp-panel{z-index:9999;background:var(--navy-mid);border:1px solid var(--border-strong);border-radius:10px;width:300px;padding:16px;display:none;position:absolute;box-shadow:0 12px 40px #00000080}.dp-panel.dp-open{animation:.15s ease-out dpFadeIn;display:block}@keyframes dpFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dp-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.dp-title{font-family:var(--heading);color:var(--ivory);letter-spacing:.3px;font-size:17px;font-weight:500}.dp-nav{border:1px solid var(--border);color:var(--gold);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;line-height:1;transition:background .15s,border-color .15s;display:flex}.dp-nav:hover{background:var(--gold-pale);border-color:var(--gold)}.dp-days-header{text-align:center;grid-template-columns:repeat(7,1fr);margin-bottom:4px;display:grid}.dp-days-header span{font-family:var(--body);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:4px 0;font-size:11px;font-weight:500}.dp-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.dp-cell{aspect-ratio:1;font-family:var(--body);border-radius:8px;justify-content:center;align-items:center;font-size:13px;display:flex}.dp-empty{pointer-events:none}.dp-day{color:var(--text);cursor:pointer;background:0 0;border:none;transition:background .12s,color .12s}.dp-day:hover{background:var(--gold-pale);color:var(--ivory)}.dp-day.dp-today{border:1px solid var(--border-strong);color:var(--gold-light)}.dp-day.dp-selected{background:var(--gold);color:var(--navy);font-weight:600}.dp-day.dp-selected:hover{background:var(--gold-light)}.dp-time{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:14px;padding-top:14px;display:flex}.dp-time-label{font-family:var(--body);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:500}.dp-time-inputs{align-items:center;gap:4px;display:flex}.dp-time-sep{color:var(--text-muted);font-size:14px}.dp-hour,.dp-minute{font-family:var(--body);border:1px solid var(--border);color:var(--text);appearance:none;cursor:pointer;text-align:center;background:#ffffff0f;border-radius:6px;min-width:52px;padding:6px 8px;font-size:14px}.dp-hour:focus,.dp-minute:focus{border-color:var(--gold);outline:none}.dp-ampm{font-family:var(--body);letter-spacing:.5px;border:1px solid var(--gold);color:var(--gold);cursor:pointer;background:#b8943e1f;border-radius:6px;min-width:48px;margin-left:4px;padding:6px 12px;font-size:13px;font-weight:600;transition:background .15s}.dp-ampm:hover{background:#b8943e38}.dp-ampm:focus{background:#b8943e38;outline:none}.dp-footer{border-top:1px solid var(--border);justify-content:space-between;margin-top:14px;padding-top:14px;display:flex}.dp-clear,.dp-done{font-family:var(--body);cursor:pointer;border:none;border-radius:6px;padding:6px 16px;font-size:13px;transition:background .15s,border-color .15s}.dp-clear{color:var(--text-muted);background:0 0}.dp-clear:hover{color:var(--text)}.dp-done{background:var(--gold);color:var(--navy);font-weight:600}.dp-done:hover{background:var(--gold-light)}@media (width<=420px){.dp-panel{width:calc(100vw - 32px);max-width:320px}}.video-source-toggle{gap:0;display:flex}.video-src-btn{font-family:var(--body);letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;padding:8px 20px;font-size:12px;font-weight:400;transition:all .3s}.video-src-btn:first-child{border-radius:2px 0 0 2px}.video-src-btn:last-child{border-left:none;border-radius:0 2px 2px 0}.video-src-btn.active{color:var(--ivory);background:var(--card-bg);border-color:var(--gold)}.video-src-btn:hover:not(.active){color:var(--ivory)}.photo-dropzone{border:2px dashed var(--border);text-align:center;cursor:pointer;border-radius:4px;padding:48px 24px;transition:all .3s}.photo-dropzone:hover,.photo-dropzone.dragover{border-color:var(--gold);background:#b8943e0d}.dropzone-content p{font-family:var(--body);color:var(--text-muted);margin:4px 0;font-size:14px}.dropzone-icon{color:var(--gold);margin-bottom:8px;font-size:32px;display:block}.dropzone-or{font-style:italic;font-size:12px!important}.dropzone-browse{font-family:var(--body);text-transform:uppercase;letter-spacing:1.5px;color:var(--gold);border:1px solid var(--gold);cursor:pointer;border-radius:2px;margin-top:8px;padding:8px 20px;font-size:11px;font-weight:500;transition:all .3s;display:inline-block}.dropzone-browse:hover{background:#b8943e26}#bulk-photo-input{opacity:0;pointer-events:none;clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.dropzone-mobile-hint{display:none}@media (hover:none) and (pointer:coarse){.dropzone-desktop-hint{display:none}.dropzone-mobile-hint{display:block}}.photo-preview-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.photo-preview-item{border:1px solid var(--border);background:var(--card-bg);border-radius:2px;transition:opacity .2s;position:relative;overflow:hidden}.photo-preview-item.deselected{opacity:.35}.photo-preview-check{z-index:2;cursor:pointer;width:18px;height:18px;accent-color:var(--gold);position:absolute;top:6px;left:6px}.photo-preview-item img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.photo-preview-placeholder{aspect-ratio:4/3;background:var(--navy-light);width:100%;color:var(--text-muted);letter-spacing:1px;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:18px;font-weight:500;display:flex}.photo-preview-placeholder .placeholder-name{opacity:.6;text-overflow:ellipsis;white-space:nowrap;max-width:90%;font-size:10px;font-weight:300;overflow:hidden}.photo-preview-remove{border:1px solid var(--border);width:24px;height:24px;color:var(--ivory);cursor:pointer;background:#0b1829d9;border-radius:2px;justify-content:center;align-items:center;font-size:16px;line-height:1;transition:all .2s;display:flex;position:absolute;top:4px;right:4px}.photo-preview-remove:hover{background:#c0392b;border-color:#c0392b}.photo-preview-caption{box-sizing:border-box;width:100%;font-family:var(--body);color:var(--ivory);background:var(--card-bg);border:none;border-top:1px solid var(--border);outline:none;padding:8px;font-size:12px}.photo-preview-caption:focus{border-top-color:var(--gold)}.photo-preview-caption::placeholder{color:var(--text-muted);opacity:.5}.photo-preview-tag-btn{width:100%;font-family:var(--body);letter-spacing:.6px;text-transform:uppercase;color:var(--gold);border:none;border-top:1px solid var(--border);cursor:pointer;background:0 0;padding:8px;font-size:11px;transition:background .18s,color .18s}.photo-preview-tag-btn:hover{color:var(--ivory);background:#b8943e14}.tag-modal-content{flex-direction:column;gap:18px;max-height:min(92vh,760px);display:flex;overflow:hidden;text-align:left!important;max-width:540px!important;padding:28px 28px 22px!important}.tag-modal-header h3{font-family:var(--heading);color:var(--ivory);letter-spacing:.04em;margin:0 0 4px;font-size:22px;font-weight:500}.tag-modal-sub{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.tag-modal-actions{justify-content:flex-end;margin-top:4px;display:flex}.tag-modal-preview{object-fit:contain;border:1px solid var(--border);background:#0006;border-radius:4px;width:100%;max-height:200px;margin-bottom:18px;display:block}.form-hint{color:var(--text-muted);margin:6px 0 0;font-size:12px;font-style:italic;line-height:1.5}.bulk-progress-bar{background:var(--card-bg);border:1px solid var(--border);border-radius:3px;width:100%;height:6px;overflow:hidden}.bulk-progress-fill{background:var(--gold);width:0%;height:100%;transition:width .3s}.bulk-progress-text{font-family:var(--body);color:var(--text-muted);margin-top:8px;font-size:13px;font-style:italic}.btn-submit{font-family:var(--body);text-transform:uppercase;letter-spacing:2px;color:var(--navy);background:linear-gradient(135deg, var(--gold-light), var(--gold));cursor:pointer;border:none;border-radius:2px;align-self:flex-start;padding:14px 32px;font-size:11px;font-weight:500;transition:all .3s}.btn-submit:hover{background:linear-gradient(135deg, var(--gold-bright), var(--gold-light));transform:translateY(-1px);box-shadow:0 8px 24px #b8943e40}.submit-modal{will-change:opacity;z-index:9999;opacity:0;pointer-events:none;background:#0b1829eb;justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:fixed;inset:0}.submit-modal.active{opacity:1;pointer-events:all}.modal-content{background:var(--navy-mid);border:1px solid var(--border-strong);text-align:center;will-change:transform;border-radius:2px;width:90%;max-width:400px;padding:48px;transition:transform .3s;transform:translateY(20px)translateZ(0)}.submit-modal.active .modal-content{transform:translateY(0)translateZ(0)}.modal-logo{opacity:.6;width:40px;height:40px;margin-bottom:20px}.modal-content h3{font-family:var(--heading);color:var(--ivory);letter-spacing:1px;margin-bottom:12px;font-size:28px;font-weight:500}.modal-content p{color:var(--text-muted);margin-bottom:28px;font-size:14px;font-weight:300;line-height:1.6}.modal-content .btn-cta{cursor:pointer;border:none;padding:12px 28px;font-size:11px}@media (width<=768px){.form-row{grid-template-columns:1fr}.add-section{padding:36px 0}}.edit-card{background:var(--card-bg);border:1px solid var(--border);border-radius:6px;padding:36px 32px 32px}.edit-card #form-fields{flex-direction:column;gap:24px;display:flex}.edit-card #form-fields .form-row{gap:16px}.edit-section-divider{border-top:1px solid var(--border);align-items:center;gap:12px;margin:4px 0 0;padding-top:24px;display:flex}.edit-section-divider span{font-family:var(--body);text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);white-space:nowrap;font-size:10px;font-weight:500}.edit-section-divider:after{content:"";background:var(--border);flex:1;height:1px}#show-event-wrap:not(:empty){border-top:1px solid var(--border);margin-top:24px;padding-top:24px}.alumni-photo-edit{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.alumni-photo-edit-preview{object-fit:cover;border:1px solid var(--border);background:var(--card-bg);border-radius:4px;width:140px;height:140px}.alumni-photo-edit-actions{flex-wrap:wrap;gap:10px;display:flex}.btn-photo-pick{font-family:var(--body);text-transform:uppercase;letter-spacing:1.5px;color:var(--gold);background:var(--card-bg);border:1px solid var(--border-strong);cursor:pointer;border-radius:2px;padding:10px 18px;font-size:11px;font-weight:500;transition:all .3s}.btn-photo-pick:hover{background:var(--gold-pale);border-color:var(--gold)}.btn-photo-remove{font-family:var(--body);text-transform:uppercase;letter-spacing:1.5px;color:#e05555;cursor:pointer;background:0 0;border:1px solid #e055554d;border-radius:2px;padding:10px 18px;font-size:11px;font-weight:500;transition:all .3s}.btn-photo-remove:hover{background:#e055551a;border-color:#e05555}.alumni-photo-edit-status{color:var(--text-muted);min-height:1em;margin:0;font-size:12px;font-style:italic}.photo-tagger{flex-direction:column;gap:16px;min-height:0;display:flex;position:relative}.photo-tagger-section{flex-direction:column;gap:8px;min-height:0;display:flex}.photo-tagger-label{font-family:var(--heading);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);opacity:.85;font-size:10px}.photo-tagger-chips{background:#ffffff08;border:1px dashed #b8943e40;border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px;min-height:32px;padding:8px 10px;display:flex}.photo-tagger-empty{color:var(--text-muted);padding:0 4px;font-size:12px;font-style:italic}.photo-tagger-chip{color:var(--ivory);background:#b8943e29;border:1px solid #b8943e66;border-radius:999px;align-items:center;gap:4px;padding:4px 4px 4px 10px;font-size:12.5px;line-height:1.3;display:inline-flex}.photo-tagger-chip button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:2px 6px;font-size:16px;line-height:1;transition:color .15s,background .15s}.photo-tagger-chip button:hover{color:#ff8a8a;background:#ff8a8a1a}.photo-tagger-search{width:100%;color:var(--ivory);background:#0b182999;border:1px solid #b8943e40;border-radius:6px;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}.photo-tagger-search:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #b8943e26}.photo-tagger-results{z-index:20;background:#0b1829;border:1px solid #b8943e40;border-radius:6px;max-height:320px;margin-top:6px;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 12px 32px #00000073}.photo-tagger-results.is-open{display:block}.photo-tagger-results-inline{max-height:240px;box-shadow:none;background:#0b182980;margin-top:0;display:block;position:relative;top:auto}.photo-tagger-row{width:100%;color:var(--ivory);font-family:var(--body);text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #b8943e1a;align-items:center;gap:12px;padding:10px 14px;transition:background .15s;display:flex}.photo-tagger-row:last-child{border-bottom:none}.photo-tagger-row:hover{background:#b8943e1a}.photo-tagger-row.is-top{background:#b8943e0f}.photo-tagger-row.is-top:hover{background:#b8943e24}.photo-tagger-row.is-tagged{background:#b8943e1f}.photo-tagger-row.is-tagged .photo-tagger-check{color:var(--gold)}.photo-tagger-avatar{width:34px;height:34px;color:var(--gold);font-family:var(--heading);background:#0b1829cc;border:1.5px solid #b8943e73;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex;overflow:hidden}.photo-tagger-avatar img{object-fit:cover;width:100%;height:100%}.photo-tagger-meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.photo-tagger-name{color:var(--ivory);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.photo-tagger-year{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px}.photo-tagger-check{color:var(--text-muted);text-align:center;width:22px;padding-left:8px;font-size:18px;font-weight:500;transition:color .15s}.photo-tagger-row:hover .photo-tagger-check{color:var(--gold)}.photo-tagger-empty-row{color:var(--text-muted);text-align:center;padding:18px;font-size:13px;font-style:italic}.lightbox-stage{cursor:default;justify-content:center;align-items:center;width:100%;display:flex}.lightbox-stage img{object-fit:contain;border-radius:2px;max-width:min(90vw,1100px);max-height:80vh;box-shadow:0 20px 60px #00000080}.lightbox-tags{width:260px;max-height:80vh;color:var(--ivory);cursor:default;z-index:2;background:#0f2035d9;border:1px solid #b8943e40;border-radius:4px;padding:18px 14px;position:absolute;top:50%;right:32px;overflow-y:auto;transform:translateY(-50%)}.lightbox-tags:empty{display:none}.lightbox-tags-title{font-family:var(--body);letter-spacing:1.8px;text-transform:uppercase;color:#b8943ee6;margin:0 0 14px 4px;font-size:11px;font-weight:500}.lightbox-tag-list{flex-direction:column;gap:4px;display:flex}.lightbox-tag-row{color:var(--ivory);text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:12px;padding:8px 10px;text-decoration:none;transition:background .15s;display:flex}.lightbox-tag-row:hover,.lightbox-tag-row:visited,.lightbox-tag-row:active{color:var(--ivory)}.lightbox-tag-row:hover{background:#b8943e26}.lightbox-tag-avatar{background:var(--card-bg);width:36px;height:36px;color:var(--gold);border:1px solid #b8943e4d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:500;display:flex;overflow:hidden}.lightbox-tag-avatar img{object-fit:cover;width:100%;height:100%}.lightbox-tag-meta{flex-direction:column;min-width:0;display:flex}.lightbox-tag-name{color:var(--ivory);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.lightbox-tag-year{color:var(--text-muted);letter-spacing:.5px;margin-top:2px;font-size:11px}@media (width<=1024px){.lightbox-stage{flex-direction:column;gap:14px}.lightbox-stage img{max-width:92vw;max-height:60vh}.lightbox-tags{width:92vw;max-width:520px;max-height:30vh;margin:0 auto;padding:14px;position:static;transform:none}}@media (width<=768px){.lightbox-stage img{max-height:55vh}.lightbox-tags{max-width:420px;max-height:28vh;padding:12px}.lightbox-tags-title{margin-bottom:10px}.lightbox-tag-avatar{width:32px;height:32px}.lightbox-tag-name{font-size:13px}}.btn-show-event{width:100%;font-family:var(--body);text-transform:uppercase;letter-spacing:1.5px;color:var(--gold);border:1px solid var(--gold);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;gap:10px;padding:14px 24px;font-size:11px;font-weight:500;transition:all .3s;display:flex}.btn-show-event:hover{background:var(--gold-pale)}.btn-show-event:disabled{opacity:.5;cursor:not-allowed}.edit-actions{border-top:1px solid var(--border);align-items:center;gap:12px;margin-top:32px;padding-top:28px;display:flex}.edit-actions .btn-submit{flex:1}.edit-actions .btn-cancel{margin-left:auto}.btn-delete{font-family:var(--body);text-transform:uppercase;letter-spacing:2px;color:#e05555;cursor:pointer;background:#e055551a;border:1px solid #e055554d;border-radius:2px;padding:14px 24px;font-size:11px;font-weight:500;transition:all .3s}.btn-delete:hover{background:#e0555533;border-color:#e05555}.btn-cancel{font-family:var(--body);text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);padding:14px 16px;font-size:11px;font-weight:400;text-decoration:none;transition:color .3s}.btn-cancel:hover,.btn-cancel:visited{color:var(--text)}.modal-actions{justify-content:center;gap:12px;display:flex}.modal-actions .btn-cta{cursor:pointer;border:none;padding:12px 24px;font-size:11px}.modal-actions .btn-delete{padding:12px 24px}.edit-mode-bar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;background:#b8943ef2;justify-content:center;align-items:center;gap:16px;padding:14px 32px;transition:transform .3s;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.edit-mode-bar.active{transform:translateY(0)}.edit-mode-bar p{font-family:var(--body);color:var(--navy);letter-spacing:.5px;font-size:13px;font-weight:500}.edit-mode-bar button{font-family:var(--body);text-transform:uppercase;letter-spacing:1.5px;cursor:pointer;border:1px solid var(--navy);color:var(--navy);background:0 0;border-radius:2px;padding:8px 20px;font-size:11px;font-weight:500;transition:all .3s}.edit-mode-bar button:hover{background:var(--navy);color:var(--gold)}.edit-mode-bar-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.edit-toggle-wrap{text-align:center;padding:24px 0 0}.edit-toggle-wrap-top{padding:0 0 16px}.edit-toggle{font-family:var(--body);text-transform:uppercase;letter-spacing:1.5px;color:var(--gold);background:var(--card-bg);border:1px solid var(--border-strong);cursor:pointer;border-radius:2px;padding:12px 24px;font-size:11px;font-weight:500;transition:all .3s}.edit-toggle:hover{background:var(--gold-pale);border-color:var(--gold)}.edit-toggle.hidden{display:none}body.edit-mode .alumni-card,body.edit-mode .event-card,body.edit-mode .tradition-card,body.edit-mode .gallery-item.has-image{cursor:pointer;transition:border-color .2s,box-shadow .2s}body.edit-mode .alumni-card:hover,body.edit-mode .tradition-card:hover{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}body.edit-mode .event-card:hover .event-card-frame{background:var(--gold-pale)}body.edit-mode .gallery-item.has-image:hover{border-color:var(--gold)}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{text-align:center;width:100%;max-width:380px}.login-logo{width:72px;height:72px;margin-bottom:24px;animation:1.5s both logoFade}.login-card h1{font-family:var(--heading);color:var(--ivory);letter-spacing:2px;margin-bottom:4px;font-size:36px;font-weight:400}.login-subtitle{font-family:var(--heading);color:var(--gold);letter-spacing:4px;text-transform:uppercase;font-size:16px;font-style:italic}.login-form{text-align:left;flex-direction:column;gap:16px;margin-top:32px;display:flex}.login-error{color:#e05555;text-align:center;min-height:18px;font-size:13px;line-height:1.45;transition:padding .18s,background .18s,border .18s}.login-error:not(:empty){background:#e0555514;border:1px solid #e0555559;border-radius:2px;padding:8px 12px}.login-footer-text{font-family:var(--heading);color:var(--text-muted);letter-spacing:.5px;margin-top:28px;font-size:15px;font-style:italic}footer{border-top:1px solid var(--border);text-align:center;margin-top:48px;padding:64px 32px 48px;position:relative}footer:before{content:"";background:var(--gold);width:60px;height:2px;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.footer-logo{opacity:.5;width:40px;height:40px;margin-bottom:20px}.footer-title{font-family:var(--heading);color:var(--ivory-dim);letter-spacing:2px;margin-bottom:4px;font-size:20px;font-weight:400}.footer-sub{font-family:var(--heading);color:var(--text-muted);letter-spacing:1px;margin-bottom:0;font-size:14px;font-style:italic}.footer-rule{background:var(--border-strong);width:40px;height:1px;margin:24px auto}.footer-copy{font-family:var(--body);color:var(--text-muted);letter-spacing:1px;text-transform:uppercase;opacity:.6;font-size:11px;font-weight:300}@media (width<=1024px){main{padding:0 24px}.hero{padding:80px 24px 64px}.hero h1{font-size:52px}.highlights{grid-template-columns:1fr 1fr;gap:20px}.highlights .card:last-child{grid-column:1/-1}.alumni-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.gallery-grid,.gallery-semester-grid{grid-template-columns:repeat(3,1fr);gap:18px}.cta{padding:56px 32px}.page-header h1{font-size:40px}}@media (width<=768px){main{padding:0 16px}.site-header nav{flex-direction:column;gap:8px;height:auto;padding:12px 16px}.site-header ul{flex-wrap:wrap;justify-content:center;gap:4px}.site-header li a{letter-spacing:1px;padding:6px 10px;font-size:10px}.site-header li a.nav-add{padding:5px 12px}.nav-signout-wrap a{font-size:9px}.logo img{width:28px;height:28px}.hero{padding:60px 16px 48px}.hero h1{letter-spacing:1px;font-size:34px}.hero .subtitle{letter-spacing:2px;font-size:14px}.hero .tagline{font-size:13px}.hero-logo{width:56px;height:56px;margin-bottom:20px}.hero-ornament-top,.hero-ornament-bottom{width:80px}.hero-ornament-top{margin-bottom:24px}.hero-ornament-bottom{margin-top:24px}.rule-line{width:40px}.page-header{text-align:center;padding:48px 0 32px}.page-header h1{font-size:32px}.page-label{letter-spacing:2px;font-size:10px}.highlights{grid-template-columns:1fr;gap:16px;padding:36px 0}.highlights .card:last-child{grid-column:auto}.card{padding:24px 20px}.card h2{font-size:22px}.card-number{font-size:12px}.alumni-grid{grid-template-columns:1fr;gap:12px}.alumni-card{gap:14px;padding:20px}.alumni-avatar{width:44px;min-width:44px;height:44px;font-size:15px}.alumni-card h3{font-size:18px}.alumni-count{font-size:14px}.alumni-count span{font-size:18px}.class-filter-wrap{padding-top:24px}.class-filter{display:none}.class-filter-select{display:block}.event-card{gap:10px;padding:16px}.event-card-badge{width:46px;height:46px}.event-card[data-side=left],.event-card[data-side=right]{--punch-x:70.5px}.event-badge-day{font-size:18px}.event-card-name{font-size:17px}.tradition-card{gap:16px;padding:20px 18px}.tradition-card-numeral{width:36px;font-size:28px}.tradition-card-title{font-size:19px}.tradition-card-desc{font-size:14px}.gallery-grid,.gallery-semester-grid{grid-template-columns:repeat(3,1fr);gap:12px}.folder-caption{flex-direction:column;align-items:flex-start;gap:5px;padding:10px 10px 11px}.folder-year{letter-spacing:.3px;font-size:15px}.folder-count{letter-spacing:1.2px;font-size:8.5px}.folder-corner{width:9px;height:9px}.folder-corner-tl{top:6px;left:6px}.folder-corner-tr{top:6px;right:6px}.folder-corner-bl{bottom:6px;left:6px}.folder-corner-br{bottom:6px;right:6px}.gallery-item{padding:12px;font-size:13px}.gallery-caption{font-size:14px}.lightbox img{max-width:95vw;max-height:70vh}.lightbox-close{font-size:28px;top:16px;right:16px}.lightbox-caption{padding:0 16px;font-size:15px}.cta{margin:16px 0;padding:40px 20px}.cta h2{font-size:24px}.cta p{font-size:14px}.btn-cta{letter-spacing:2px;padding:12px 28px;font-size:10px}.recent h2{font-size:28px}.timeline{padding-left:24px}.timeline li{flex-direction:column;gap:4px}.timeline .date{min-width:auto}.section-divider{padding:12px 0}.divider-line{max-width:80px}.about-content{padding:16px 0}.about-content h2{margin:32px 0 12px;font-size:24px}.about-content .about-lead{font-size:19px}.add-section{padding:32px 0}.add-section h2{font-size:24px}.form-row{grid-template-columns:1fr}.btn-submit{text-align:center;width:100%}.edit-card{padding:24px 20px 20px}.edit-actions{flex-direction:column;gap:12px}.edit-actions .btn-submit,.edit-actions .btn-delete{text-align:center;width:100%}.edit-actions .btn-submit{order:-1}.edit-actions .btn-cancel{text-align:center;margin-left:0}.edit-mode-bar{flex-direction:column;gap:8px;padding:10px 12px 12px}.edit-mode-bar p{text-align:center;font-size:12px}.edit-mode-bar-actions{flex-wrap:wrap;justify-content:center;gap:8px;width:100%}.edit-mode-bar button{letter-spacing:1px;flex:auto;min-width:0;padding:10px 12px}.alumni-photo-edit-preview{width:120px;height:120px}.alumni-photo-edit-actions{width:100%}.btn-photo-pick,.btn-photo-remove{text-align:center;flex:auto;padding:12px 14px}.photo-tagger-chip{padding:6px 6px 6px 12px;font-size:13px}.photo-tagger-chip button{min-width:32px;min-height:32px;padding:2px 10px;font-size:20px}.photo-tagger-results{max-height:50vh}.photo-tagger-row{min-height:56px;padding:14px}.photo-tagger-avatar{width:40px;height:40px}.photo-tagger-name{font-size:14px}.photo-tagger-check{padding-left:12px;font-size:20px}footer{margin-top:32px;padding:48px 16px 36px}.footer-title{font-size:18px}.footer-logo{width:32px;height:32px}.modal-content{padding:32px 24px}.modal-actions{flex-direction:column;gap:10px}.login-card h1{font-size:28px}.login-logo{width:56px;height:56px}}.gallery-item.dragging{opacity:.3}.gallery-drag-placeholder{border:2px dashed var(--gold);aspect-ratio:4/3;background:#b8943e14;border-radius:2px;min-height:80px}.edit-mode .gallery-item{cursor:grab!important}.edit-mode .gallery-item:active{cursor:grabbing!important}.event-card.dragging{opacity:.3}.event-drag-placeholder{border:2px dashed var(--gold);background:#b8943e14;border-radius:8px;height:110px;margin:12px 0}.edit-mode .event-card{cursor:grab}.edit-mode .event-card:active{cursor:grabbing}.door-photo-section{text-align:center;max-width:700px;margin:60px auto 0;padding:0 24px}.door-photo-title{font-family:var(--heading);color:var(--ivory);margin-bottom:8px;font-size:32px}.door-photo-subtitle{color:var(--text-muted);margin-bottom:24px;font-size:14px}.door-photo-wrap{cursor:pointer;border:1px solid var(--border-strong);border-radius:8px;max-width:500px;margin:0 auto;transition:border-color .3s,box-shadow .3s;overflow:hidden}.door-photo-wrap:hover{border-color:var(--gold);box-shadow:0 0 24px #b8943e26}.door-photo{width:100%;display:block}.door-zoom-modal{z-index:2000;background:#000000eb;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.door-zoom-modal.active{display:flex}.door-zoom-close{z-index:2010;width:44px;height:44px;color:var(--ivory);cursor:pointer;opacity:.7;background:0 0;border:none;justify-content:center;align-items:center;font-size:32px;line-height:1;transition:opacity .2s;display:flex;position:fixed;top:12px;right:12px}.door-zoom-close:hover{opacity:1}.door-zoom-hint{z-index:2010;color:var(--text-muted);letter-spacing:.5px;pointer-events:none;background:#0b1829cc;border-radius:20px;padding:8px 20px;font-size:13px;transition:opacity .6s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.door-zoom-container{cursor:grab;justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}.door-zoom-img{transform-origin:50%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:90vw;max-height:90vh;transition:none}@media (width<=380px){.hero h1{font-size:28px}.hero .subtitle{letter-spacing:1.5px;font-size:12px}.site-header li a{padding:5px 8px;font-size:9px}.page-header h1{font-size:26px}.alumni-card{text-align:center;flex-direction:column}.alumni-avatar{margin:0 auto}.gallery-grid,.gallery-semester-grid{grid-template-columns:repeat(3,1fr);gap:8px}.edit-mode-bar-actions{flex-direction:column;align-items:stretch}.edit-mode-bar button{flex:none;width:100%}.photo-tagger-results{max-height:45vh}.photo-tagger-avatar{width:36px;height:36px}}.nav-toggle{width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;margin-left:auto;padding:0;transition:color .2s,border-color .2s,background .2s;display:none}.nav-toggle:hover{color:var(--gold-bright);border-color:var(--border-strong);background:#b8943e14}.nav-toggle svg{width:22px;height:22px;display:block}.nav-toggle .nav-toggle-x,.site-header.nav-open .nav-toggle .nav-toggle-bars{display:none}.site-header.nav-open .nav-toggle .nav-toggle-x{display:block}@media (prefers-reduced-motion:reduce){body:after,.grid-overlay{animation:none!important}.particle{opacity:0!important;animation:none!important}}@media (width<=900px){.particles{display:none}.grid-overlay,body:after{animation:none}}.site-header li.nav-signout-mobile{display:none}@view-transition{navigation:auto}::view-transition-old(root){animation-duration:.26s}::view-transition-new(root){animation-duration:.26s}.site-header{view-transition-name:site-header}::view-transition-group(site-header){animation:none}::view-transition-old(site-header){animation:none}::view-transition-new(site-header){animation:none}::view-transition-group(bottom-nav){animation:none}::view-transition-old(bottom-nav){animation:none}::view-transition-new(bottom-nav){animation:none}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}.mobile-bottom-nav{display:none}@keyframes bottomnav-rise{0%{opacity:0;transform:translateY(calc(100% + 24px))}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.site-header li.nav-in-bottombar{display:none}.mobile-bottom-nav{grid-template-columns:repeat(var(--bn-cols,4), 1fr);view-transition-name:bottom-nav;left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:96;-webkit-backdrop-filter:blur(18px)saturate(140%);background:linear-gradient(#12233aeb,#0a1626f0);border:1px solid #b8943e38;border-radius:22px;align-items:center;padding:7px 6px;display:grid;position:fixed;box-shadow:0 12px 34px #00000080,0 3px 10px #00000052,inset 0 1px #ffffff0d}.mobile-bottom-nav.is-entering{animation:.55s cubic-bezier(.16,1,.3,1) both bottomnav-rise}.bottom-nav-camera{color:#1a1206;cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(150deg,#e7c66a,#b8943e);border:3px solid #0b1829;border-radius:50%;justify-content:center;place-self:center;align-items:center;width:54px;height:54px;margin-top:-26px;padding:0;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;display:flex;box-shadow:0 8px 20px #b8943e73,0 2px 6px #0006}.bottom-nav-camera svg{width:25px;height:25px;display:block}.bottom-nav-camera:active{transform:scale(.88);box-shadow:0 4px 12px #b8943e66}.mobile-bottom-nav a{color:var(--text-muted);font-family:var(--body);letter-spacing:1px;text-transform:uppercase;-webkit-tap-highlight-color:transparent;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:8px 4px 6px;font-size:9.5px;text-decoration:none;transition:color .2s,transform .18s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}.mobile-bottom-nav a:before{content:"";opacity:0;background:radial-gradient(circle at 50% 30%,#b8943e42,#b8943e12);border:1px solid #b8943e2e;border-radius:13px;transition:opacity .28s,transform .4s cubic-bezier(.16,1,.3,1);position:absolute;inset:2px 7px;transform:scale(.6)}.mobile-bottom-nav a.active:before{opacity:1;transform:scale(1)}.mobile-bottom-nav a svg,.mobile-bottom-nav a span{z-index:1;position:relative}.mobile-bottom-nav a svg{width:23px;height:23px;transition:transform .35s cubic-bezier(.34,1.56,.64,1),filter .25s;display:block}.mobile-bottom-nav a span{transition:opacity .2s,transform .2s}.mobile-bottom-nav a.active{color:var(--gold-bright)}.mobile-bottom-nav a.active svg{filter:drop-shadow(0 0 7px #b8943e73);transform:translateY(-2px)scale(1.14)}.mobile-bottom-nav a:active{transform:scale(.9)}.mobile-bottom-nav a:active svg{transform:scale(.86)}body{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}}@media (width<=900px) and (prefers-reduced-motion:reduce){.mobile-bottom-nav.is-entering{animation:none}.mobile-bottom-nav a,.mobile-bottom-nav a:before,.mobile-bottom-nav a svg{transition:none}}.qu-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);opacity:0;background:#040a128c;justify-content:center;align-items:flex-end;transition:opacity .22s;display:flex;position:fixed;inset:0}.qu-overlay[hidden]{display:none}.qu-overlay.is-open{opacity:1}.qu-sheet{width:100%;max-width:520px;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));background:linear-gradient(#112236,#0b1829);border:1px solid #b8943e47;border-bottom:none;border-radius:22px 22px 0 0;margin:0 10px;transition:transform .28s cubic-bezier(.16,1,.3,1);transform:translateY(16px);box-shadow:0 -16px 44px #0000008c}.qu-overlay.is-open .qu-sheet{transform:translateY(0)}.qu-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.qu-title{font-family:var(--display,var(--body));letter-spacing:1px;color:var(--text);text-transform:uppercase;font-size:18px}.qu-close{width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:flex}.qu-close svg{width:20px;height:20px}.qu-close:disabled{opacity:.4;cursor:default}.qu-sub{color:var(--text-muted);letter-spacing:.3px;margin:0 0 14px;font-size:12.5px}.qu-sub strong{color:var(--gold-bright);font-weight:600}.qu-grid{grid-template-columns:repeat(3,1fr);gap:8px;max-height:46vh;display:grid;overflow-y:auto}.qu-grid:empty{display:none}.qu-thumb{aspect-ratio:1;background:#00000059;border:1px solid #ffffff0f;border-radius:12px;animation:.3s cubic-bezier(.16,1,.3,1) both qu-thumb-in;position:relative;overflow:hidden}@keyframes qu-thumb-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.qu-thumb img,.qu-thumb video{object-fit:cover;width:100%;height:100%;display:block}.qu-thumb-badge{color:#fff;background:#0000008c;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;bottom:6px;left:6px}.qu-thumb-badge svg{width:12px;height:12px}.qu-thumb-x{color:#fff;cursor:pointer;background:#08101cc7;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:absolute;top:5px;right:5px}.qu-thumb-x svg{width:13px;height:13px}.qu-empty{text-align:center;color:var(--text-muted);border:1px dashed #b8943e40;border-radius:14px;padding:28px 12px;font-size:13px}.qu-progress{margin-top:14px}.qu-progress-track{background:#ffffff14;border-radius:4px;height:6px;overflow:hidden}.qu-progress-fill{background:linear-gradient(90deg,#b8943e,#e7c66a);border-radius:4px;width:0;height:100%;transition:width .3s}.qu-progress-text{color:var(--text-muted);margin-top:7px;font-size:12px;display:block}.qu-actions{gap:10px;margin-top:16px;display:flex}.qu-add,.qu-send{font-family:var(--body);letter-spacing:1px;text-transform:uppercase;cursor:pointer;border-radius:14px;flex:1;justify-content:center;align-items:center;gap:8px;padding:14px 12px;font-size:13px;transition:transform .15s,opacity .2s,background .2s;display:flex}.qu-add{color:var(--gold-bright);background:#b8943e1a;border:1px solid #b8943e4d}.qu-add svg{width:19px;height:19px}.qu-send{color:#1a1206;background:linear-gradient(150deg,#e7c66a,#b8943e);border:none;font-weight:600}.qu-add:active,.qu-send:active{transform:scale(.96)}.qu-send:disabled{opacity:.45;cursor:default;filter:grayscale(.4)}.qu-add:disabled{opacity:.5;cursor:default}@media (prefers-reduced-motion:reduce){.qu-overlay,.qu-sheet,.qu-thumb{transition:none;animation:none}}@media (width<=900px){.site-header{-webkit-backdrop-filter:none!important;background:#0b1829!important}.nav-toggle{display:inline-flex}.site-header nav{grid-template-rows:64px;grid-template-columns:auto 1fr auto;align-items:center;gap:0;height:64px;padding:0 20px;display:grid!important}.nav-signout-wrap{display:none}.site-header li.nav-signout-mobile{display:list-item}.nav-signout-mobile a{color:var(--text-muted);opacity:.7;text-transform:uppercase;letter-spacing:1.5px}.logo{grid-area:1/1;place-self:center start;align-items:center;width:auto;min-width:0;height:44px;margin:0;padding:0;display:flex}.logo img{width:36px;height:36px;display:block}.nav-toggle{grid-area:1/3;place-self:center end;margin:0}.site-header ul{border-bottom:1px solid var(--border-strong);opacity:0;pointer-events:none;z-index:95;background:#0b1829;flex-direction:column;flex:none;justify-content:flex-start;gap:4px;padding:8px 16px 16px;transition:opacity .2s,transform .2s;position:absolute;top:100%;left:0;right:0;transform:translateY(-8px);box-shadow:0 12px 28px #0006}.site-header.nav-open ul{opacity:1;pointer-events:auto;transform:translateY(0)}.site-header li{width:100%}.site-header li a{border-radius:4px;width:100%;padding:14px 12px;font-size:13px;display:block}.site-header li a:after{display:none}.site-header li.nav-connect{width:100%;padding:0;display:block}.site-header li.nav-connect:before{content:none}.site-header .nav-connect-btn{cursor:pointer;text-align:left;width:100%;color:var(--text-muted);font-family:var(--body);letter-spacing:1.5px;text-transform:uppercase;background:0 0;border:none;border-radius:4px;justify-content:flex-start;align-items:center;margin:0;padding:14px 12px;font-size:13px;font-weight:400;line-height:1.6;display:flex!important}.site-header .nav-connect-btn:after{display:none}.nav-connect-caret{flex-shrink:0;margin-left:8px;transition:transform .2s;display:inline-block!important}.site-header li.nav-connect.is-open .nav-connect-caret{transform:rotate(180deg)}.site-header li.nav-connect.is-open .nav-connect-btn{color:var(--gold)}.site-header .nav-connect-menu{opacity:1;visibility:hidden;pointer-events:none;max-height:0;box-shadow:none;z-index:auto;background:0 0;border:none;width:100%;min-width:0;margin:0;padding:0;transition:max-height .24s,opacity .24s;overflow:hidden;position:static!important;transform:none!important}.site-header li.nav-connect:hover .nav-connect-menu,.site-header li.nav-connect:focus-within .nav-connect-menu{opacity:1;visibility:hidden;pointer-events:none;max-height:0;transform:none!important}.site-header.nav-open li.nav-connect.is-open .nav-connect-menu{visibility:visible;pointer-events:auto;background:#b8943e0d;border-left:2px solid #b8943e59;border-radius:0 6px 6px 0;max-height:240px;margin:2px 0 4px 8px;padding:4px 0}.site-header .nav-connect-menu li{width:100%}.site-header .nav-connect-menu li a{text-transform:uppercase;letter-spacing:1.5px;width:100%;font-size:13px;font-family:var(--body);opacity:0;border-radius:0 4px 4px 0;align-items:center;padding:13px 12px 13px 22px;transition:opacity .2s,transform .2s,color .12s,background .12s;display:flex;transform:translate(-6px)}.site-header.nav-open li.nav-connect.is-open .nav-connect-menu li a{opacity:1;transform:translate(0)}.site-header.nav-open li.nav-connect.is-open .nav-connect-menu li:first-child a{transition-delay:60ms}.site-header.nav-open li.nav-connect.is-open .nav-connect-menu li:nth-child(2) a{transition-delay:.11s}.site-header .nav-connect-menu li a:hover,.site-header .nav-connect-menu li a.active{color:var(--gold);background:#b8943e1f}}@media (width<=640px){main{padding:0 16px}.hero{padding:80px 20px 64px}.hero h1{letter-spacing:2px;font-size:38px}.hero-logo{width:72px;height:72px;margin-bottom:24px}.page-header h1{letter-spacing:.5px;font-size:32px}.about-content h2,.add-section h2{font-size:22px}.gallery-tabs{flex-direction:column;gap:8px}.gallery-tab{width:100%;padding:12px 20px}.video-tip{left:16px;right:16px;transform:translateY(-8px)}.video-tip.visible{transform:translateY(0)}}@media (width<=480px){.site-header nav{height:60px;padding:0 14px}.logo{min-width:0;font-size:22px}.logo img{width:28px;height:28px}}@media (width<=600px){.vp-row{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow:auto hidden}.vp-row::-webkit-scrollbar{display:none}.vp-row>*{flex-shrink:0}.vp-spacer{display:none}.vp-time{font-size:12px}.vp-speed-menu{left:0;right:auto}}@media (width<=540px){.maintainer-adjust-frame,.maintainer-adjust-zoom{width:min(82vmin,360px)}.maintainer-adjust-actions{flex-direction:column-reverse;width:min(82vmin,360px)}.maintainer-adjust-actions .btn-cancel,.maintainer-adjust-actions .btn-cta{width:100%}.maintainer-adjust-stage{gap:12px}}.moderate-mode-toggle{justify-content:center;gap:8px;max-width:1100px;margin:24px auto 8px;padding:0 24px;display:flex}.moderate-mode-btn{font-family:var(--body);letter-spacing:1.4px;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;padding:10px 22px;font-size:11px;transition:all .18s}.moderate-mode-btn:hover{color:var(--ivory);border-color:var(--gold-dim)}.moderate-mode-btn.active{color:var(--ivory);border-color:var(--gold);background:#b8943e14}.moderate-empty{text-align:center;color:var(--text-muted);padding:48px 24px;font-style:italic}.moderate-empty .btn{margin-top:16px;display:inline-block}.moderate-card{background:var(--card-bg);border:1px solid var(--border);grid-template-columns:minmax(300px,1fr) 1fr;align-items:start;gap:28px;padding:24px;display:grid}.moderate-card-media,.moderate-grid-media{border:1px solid var(--border);background:#0006;justify-content:center;align-items:center;min-height:240px;display:flex}.moderate-grid-media{min-height:200px}.moderate-preview-img,.moderate-preview-video,.moderate-preview-iframe{object-fit:contain;background:#000;border:0;width:100%;max-height:460px;display:block}.moderate-grid-media .moderate-preview-img,.moderate-grid-media .moderate-preview-video,.moderate-grid-media .moderate-preview-iframe{max-height:220px}.moderate-preview-iframe{aspect-ratio:16/9}.moderate-preview-link{color:var(--gold);word-break:break-all;padding:24px}.moderate-card-type{font-family:var(--body);letter-spacing:1.6px;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold-dim);margin-bottom:14px;padding:4px 10px;font-size:10px;display:inline-block}.moderate-meta{color:var(--ivory);flex-direction:column;gap:6px;margin-bottom:14px;font-size:13px;display:flex}.moderate-meta-row span:first-child{min-width:92px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-right:8px;font-size:10px;display:inline-block}.moderate-tags{color:var(--ivory);margin-bottom:14px;font-size:13px}.moderate-tags strong{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;font-size:10px;font-weight:400;display:block}.moderate-tag-chip{border:1px solid var(--gold-dim);color:var(--ivory);background:#b8943e1a;border-radius:999px;margin:2px 4px 2px 0;padding:3px 9px;font-size:11px;display:inline-block}.moderate-actions{gap:12px;margin-top:12px;display:flex}.moderate-actions .btn-submit,.moderate-actions .btn-delete{flex:1;padding:12px 18px}.moderate-nav{justify-content:space-between;align-items:center;gap:16px;margin-top:18px;display:flex}.moderate-nav-btn{font-family:var(--body);letter-spacing:1.6px;text-transform:uppercase;color:var(--ivory);border:1px solid var(--gold);cursor:pointer;background:#b8943e14;padding:14px 28px;font-size:12px;font-weight:500;transition:background .18s,color .18s,transform .18s,box-shadow .18s}.moderate-nav-btn:hover:not(:disabled){background:var(--gold);color:#0b1829;transform:translateY(-1px);box-shadow:0 4px 16px #b8943e59}.moderate-nav-btn:active:not(:disabled){transform:translateY(0)}.moderate-nav-btn:disabled{color:var(--text-muted);border-color:var(--border);cursor:not-allowed;background:0 0}.moderate-nav-position{font-family:var(--body);letter-spacing:1.4px;text-transform:uppercase;color:var(--ivory);font-size:13px;font-weight:500}.moderate-bulk-actions{text-align:center;margin-bottom:18px}.moderate-bulk-actions .form-hint{margin-top:8px}.moderate-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:18px;display:grid}.moderate-grid-card{background:var(--card-bg);border:1px solid var(--border);flex-direction:column;display:flex}.moderate-grid-body{padding:16px}.pending-panel{border:1px solid var(--gold-dim);background:#b8943e0f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1100px;margin:24px auto 0;padding:18px 24px;display:flex}.pending-panel-text{font-family:var(--body);color:var(--ivory);align-items:center;gap:14px;font-size:14px;display:flex}.pending-panel-badge{background:var(--gold);color:#0b1829;border-radius:999px;justify-content:center;align-items:center;min-width:32px;height:32px;padding:0 10px;font-size:14px;font-weight:600;display:inline-flex}.pending-panel-badge.is-zero{color:var(--text-muted);border:1px solid var(--border);background:0 0;font-weight:400}.pending-panel-btn{font-family:var(--body);letter-spacing:1.4px;text-transform:uppercase;color:var(--ivory);background:var(--gold);border:1px solid var(--gold);cursor:pointer;padding:10px 20px;font-size:11px;text-decoration:none;transition:all .18s}.pending-panel-btn:hover{color:var(--gold);background:0 0}@media (width<=768px){.moderate-card,.moderate-grid{grid-template-columns:1fr}.pending-panel{margin:16px 12px 0;padding:14px 16px}}.moderate-card,.moderate-grid-card{position:relative;overflow:hidden}.moderate-card.is-approving,.moderate-grid-card.is-approving{pointer-events:none;animation:.42s forwards moderate-approve-out}.moderate-card.is-rejecting,.moderate-grid-card.is-rejecting{pointer-events:none;animation:.42s forwards moderate-reject-out}.moderate-card.is-approving:after,.moderate-card.is-rejecting:after,.moderate-grid-card.is-approving:after,.moderate-grid-card.is-rejecting:after{content:"";font-family:var(--heading);pointer-events:none;opacity:0;justify-content:center;align-items:center;font-size:96px;font-weight:600;animation:.42s forwards moderate-stamp;display:flex;position:absolute;inset:0}.moderate-card.is-approving:after,.moderate-grid-card.is-approving:after{content:"✓";color:#6fcf6f;text-shadow:0 0 24px #50b4508c}.moderate-card.is-rejecting:after,.moderate-grid-card.is-rejecting:after{content:"✕";color:#d97070;text-shadow:0 0 24px #c850508c}@keyframes moderate-approve-out{0%{opacity:1;background:var(--card-bg);transform:translateY(0)scale(1);box-shadow:0 0 #50b45000}35%{background:#50b4502e;transform:translateY(-2px)scale(1.01);box-shadow:0 0 32px #50b45059}to{opacity:0;background:#50b4500d;transform:translateY(-36px)scale(.96);box-shadow:0 0 #50b45000}}@keyframes moderate-reject-out{0%{opacity:1;background:var(--card-bg);transform:translate(0)scale(1);box-shadow:0 0 #c8464600}20%{background:#c846462e;transform:translate(-8px)scale(1);box-shadow:0 0 32px #c8464659}to{opacity:0;background:#c846460d;transform:translate(72px)scale(.96);box-shadow:0 0 #c8464600}}@keyframes moderate-stamp{0%{opacity:0;transform:scale(.5)}35%{opacity:1;transform:scale(1.08)}70%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.04)}}.alumni-modal-contact{border-top:1px solid var(--border);text-align:left;flex-direction:column;gap:10px;width:100%;margin-top:20px;padding-top:18px;display:flex}.alumni-modal-contact-row{align-items:baseline;gap:14px;font-size:13px;line-height:1.5;display:flex}.alumni-modal-contact-label{color:var(--text-muted);letter-spacing:1.4px;text-transform:uppercase;flex:0 0 70px;font-size:10px}.alumni-modal-contact-value{color:var(--ivory);word-break:break-word;flex:1}.alumni-modal-contact-value a{color:var(--gold);border-bottom:1px solid var(--gold-dim);text-decoration:none;transition:color .18s,border-color .18s}.alumni-modal-contact-value a:hover{color:var(--ivory);border-bottom-color:var(--ivory)}@media (width<=480px){.alumni-modal-contact-row{flex-direction:column;gap:2px}.alumni-modal-contact-label{flex:none}}.suggestions-board{max-width:900px;margin:0 auto;padding:24px}.suggestions-board-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;margin-bottom:18px;padding-bottom:14px;display:flex}.suggestions-board-title{font-family:var(--heading);color:var(--ivory);letter-spacing:1.4px;margin:0;font-size:22px;font-weight:500}.suggestions-board-count{font-family:var(--body);letter-spacing:1.6px;text-transform:uppercase;color:var(--text-muted);font-size:11px}.suggestion-card{background:var(--card-bg);border:1px solid var(--border);margin-bottom:14px;padding:18px 20px;transition:border-color .18s,box-shadow .18s}.suggestion-card.is-new{animation:.4s both suggestion-fade-in}.suggestion-card:hover{border-color:var(--gold-dim)}@keyframes suggestion-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.suggestion-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.suggestion-head-left{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.suggestion-author{font-family:var(--body);color:var(--ivory);letter-spacing:.2px;font-size:14px;font-weight:500}.suggestion-time{font-family:var(--body);color:var(--text-muted);letter-spacing:.6px;font-size:11px}.suggestion-role{font-family:var(--body);letter-spacing:1.4px;text-transform:uppercase;border:1px solid var(--border);color:var(--text-muted);background:#ffffff05;border-radius:999px;padding:2px 7px;font-size:9px;display:inline-block}.suggestion-role.role-admin{border-color:var(--gold);color:var(--gold);background:#b8943e1a}.suggestion-role.role-wing-authority{color:#f4c86e;background:#e8b54f1a;border-color:#e8b54fb3}.suggestion-role.role-alumni{color:#b4d2f0;background:#5082c814;border-color:#78aadc99}.suggestion-role.role-all-student{color:#bedcbe;background:#508c500f;border-color:#b4dcb466}.suggestion-role.role-freshman{border-color:var(--border);color:var(--text-muted)}.suggestion-delete,.reply-delete{font-family:var(--body);letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;padding:4px 10px;font-size:11px;transition:color .18s,border-color .18s}.reply-delete{letter-spacing:0;padding:0 8px;font-size:16px;line-height:1}.suggestion-delete:hover,.reply-delete:hover{color:#d97070;border-color:#d9707066}.suggestion-body{font-family:var(--body);color:var(--ivory);white-space:pre-wrap;word-wrap:break-word;margin:0 0 14px;font-size:14px;line-height:1.6}.suggestion-actions{border-top:1px solid var(--border);align-items:center;gap:6px;padding-top:10px;display:flex}.suggestion-like,.suggestion-reply-toggle{font-family:var(--body);letter-spacing:.5px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:6px 12px;font-size:12px;transition:color .18s,background .18s,border-color .18s,transform .18s;display:inline-flex}.suggestion-like:hover,.suggestion-reply-toggle:hover{color:var(--ivory);border-color:var(--gold-dim);background:#b8943e0f}.suggestion-like.is-liked{color:#e07a7a;background:#e07a7a14;border-color:#e07a7a66}.suggestion-like.is-liked:hover{color:#f08585}.suggestion-like svg{transition:transform .18s}.suggestion-like.is-liked svg{animation:.4s like-pop}.suggestion-like-count{font-family:var(--body);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.suggestion-reply-toggle.is-open{color:var(--gold);border-color:var(--gold-dim)}.suggestion-thread{border-left:2px solid var(--gold-dim);flex-direction:column;gap:12px;margin-top:14px;padding:14px 0 0 18px;display:flex}.reply-item{border:1px solid var(--border);background:#ffffff05;padding:10px 14px}.reply-item.is-new{animation:.3s both suggestion-fade-in}.reply-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;display:flex}.reply-author{font-family:var(--body);color:var(--ivory);font-size:13px;font-weight:500}.reply-time{font-family:var(--body);letter-spacing:.5px;color:var(--text-muted);font-size:10px}.reply-body{font-family:var(--body);color:var(--ivory);white-space:pre-wrap;word-wrap:break-word;margin:0;font-size:13px;line-height:1.55}.reply-form{border:1px dashed var(--border);background:#ffffff05;grid-template-columns:1fr;gap:8px;margin-top:4px;padding:12px;display:grid}.reply-form .reply-name{font-family:var(--body);color:var(--ivory);background:var(--card-bg);border:1px solid var(--border);outline:none;padding:8px 10px;font-size:12px}.reply-form .reply-body{font-family:var(--body);color:var(--ivory);background:var(--card-bg);border:1px solid var(--border);resize:vertical;outline:none;padding:8px 10px;font-size:13px}.reply-form .reply-name:focus,.reply-form .reply-body:focus{border-color:var(--gold-dim)}.reply-form .btn-submit.reply-submit{justify-self:end;padding:8px 18px;font-size:11px}@media (width<=600px){.suggestions-board{padding:16px 12px}.suggestion-card{padding:14px}.suggestion-head{flex-wrap:wrap}.suggestion-thread{padding-left:12px}}.new-suggestion-section{max-width:720px;margin:32px auto 0;padding:0 24px}.new-suggestion-card{background:linear-gradient(180deg, #b8943e0a 0%, #b8943e00 60%), var(--card-bg);border:1px solid var(--border);padding:28px 28px 24px;position:relative;overflow:hidden;box-shadow:0 8px 32px #00000040}.new-suggestion-accent{background:linear-gradient(90deg, transparent 0%, var(--gold) 30%, var(--gold) 70%, transparent 100%);opacity:.8;height:2px;position:absolute;top:0;left:0;right:0}.new-suggestion-head{border-bottom:1px solid var(--border);align-items:flex-start;gap:14px;margin-bottom:22px;padding-bottom:18px;display:flex}.new-suggestion-icon{border:1px solid var(--gold-dim);width:40px;height:40px;color:var(--gold);background:#b8943e0f;border-radius:50%;flex:0 0 40px;justify-content:center;align-items:center;display:inline-flex}.new-suggestion-head-text{flex:1;min-width:0}.new-suggestion-title{font-family:var(--heading);color:var(--ivory);letter-spacing:1.2px;margin:0 0 4px;font-size:22px;font-weight:500}.new-suggestion-sub{font-family:var(--body);color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.new-suggestion-form{flex-direction:column;gap:18px;display:flex}.new-suggestion-as{border:1px solid var(--border);font-family:var(--body);background:#b8943e0f;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:6px 12px 6px 10px;font-size:12px;display:inline-flex}.new-suggestion-as-label{letter-spacing:1.4px;text-transform:uppercase;color:var(--text-muted);font-size:9px}.new-suggestion-as-name{color:var(--gold-light);white-space:nowrap;text-overflow:ellipsis;max-width:60vw;font-weight:500;overflow:hidden}.new-suggestion-field{flex-direction:column;gap:6px;display:flex}.new-suggestion-field-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.new-suggestion-field label{font-family:var(--body);letter-spacing:1.6px;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:500}.new-suggestion-counter{font-family:var(--body);letter-spacing:.5px;color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px;transition:color .18s}.new-suggestion-counter.is-near{color:var(--gold)}.new-suggestion-field input,.new-suggestion-field textarea{box-sizing:border-box;width:100%;font-family:var(--body);color:var(--ivory);border:1px solid var(--border);background:#0000002e;outline:none;padding:12px 14px;font-size:14px;transition:border-color .18s,background .18s,box-shadow .18s}.new-suggestion-field textarea{resize:vertical;min-height:96px;line-height:1.55}.new-suggestion-field input::placeholder,.new-suggestion-field textarea::placeholder{color:var(--text-muted);opacity:.55}.new-suggestion-field input:focus,.new-suggestion-field textarea:focus{border-color:var(--gold);background:#00000047;box-shadow:0 0 0 3px #b8943e1f}.new-suggestion-btn{font-family:var(--body);letter-spacing:1.6px;text-transform:uppercase;color:#0b1829;background:var(--gold);border:1px solid var(--gold);cursor:pointer;align-self:flex-start;align-items:center;gap:10px;padding:13px 26px;font-size:12px;font-weight:500;transition:background .2s,color .2s,transform .2s,box-shadow .2s;display:inline-flex}.new-suggestion-btn svg{transition:transform .2s}.new-suggestion-btn:hover:not(:disabled){color:var(--gold);background:0 0;transform:translateY(-1px);box-shadow:0 6px 20px #b8943e40}.new-suggestion-btn:hover:not(:disabled) svg{transform:translate(3px)}.new-suggestion-btn:disabled{opacity:.6;cursor:not-allowed}@media (width<=520px){.new-suggestion-section{padding:0 12px}.new-suggestion-card{padding:22px 18px 18px}.new-suggestion-head{gap:10px}.new-suggestion-icon{flex-basis:34px;width:34px;height:34px}.new-suggestion-title{font-size:19px}.new-suggestion-btn{justify-content:center;align-self:stretch}}.new-suggestion-section+.section-divider{margin:44px 0 36px}.suggestions-note{border:1px solid var(--gold-dim);border-left:3px solid var(--gold);background:#b8943e0f;align-items:flex-start;gap:12px;max-width:720px;margin:28px auto 0;padding:14px 18px;display:flex}.suggestions-note-icon{width:26px;height:26px;color:var(--gold);background:#b8943e1a;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-top:1px;display:inline-flex}.suggestions-note-body{font-family:var(--body);color:var(--ivory);flex:1;margin:0;font-size:13px;line-height:1.6}.suggestions-note-body strong{color:var(--gold);letter-spacing:.4px;margin-right:4px;font-weight:600}@media (width<=520px){.suggestions-note{margin:20px 12px 0;padding:12px 14px}}@media (hover:none) and (pointer:coarse){.suggestion-like,.suggestion-reply-toggle{min-height:40px;padding:10px 14px}.suggestion-delete{min-height:36px;padding:8px 12px}.reply-delete{justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}.moderate-mode-btn{min-height:44px}}@media (width<=720px){.moderate-mode-toggle{flex-wrap:wrap;padding:0 16px}.moderate-mode-btn{text-align:center;flex:calc(50% - 8px);padding:12px 16px}.moderate-bulk-actions .btn-submit{width:100%}}@media (width<=540px){.suggestions-board-head{flex-wrap:wrap;gap:6px}.suggestions-board-title{letter-spacing:1px;font-size:19px}.suggestion-head{align-items:flex-start}.suggestion-head-left{gap:8px}.suggestion-author{font-size:13px}.suggestion-time{font-size:10px}.suggestion-actions{flex-wrap:wrap}.suggestion-like,.suggestion-reply-toggle{flex:auto;justify-content:center}.reply-form{gap:6px;padding:10px}.reply-form .btn-submit.reply-submit{justify-self:stretch;width:100%}.moderate-nav{flex-direction:column;gap:10px}.moderate-nav-btn{width:100%;padding:14px 18px}.moderate-nav-position{order:-1}.moderate-actions{gap:8px}.moderate-actions .btn-submit,.moderate-actions .btn-delete{padding:12px 10px;font-size:11px}.pending-panel{flex-direction:column;align-items:stretch;gap:12px}.pending-panel-btn{text-align:center}.suggestions-note{gap:10px;padding:10px 12px}.suggestions-note-icon{width:22px;height:22px}.suggestions-note-body{font-size:12px;line-height:1.55}}@media (width<=380px){.new-suggestion-card{padding:18px 14px 14px}.new-suggestion-title{font-size:17px}.suggestion-card{padding:12px}.suggestion-thread{padding-left:10px}.suggestion-actions .suggestion-like,.suggestion-actions .suggestion-reply-toggle{flex:100%}.moderate-actions{flex-direction:column}.moderate-actions .btn-submit,.moderate-actions .btn-delete{width:100%}}.alumni-search-wrap{max-width:520px;margin:24px auto 16px;padding:0 16px;position:relative}.alumni-search-icon{color:var(--text-muted);pointer-events:none;justify-content:center;align-items:center;transition:color .18s;display:inline-flex;position:absolute;top:50%;left:30px;transform:translateY(-50%)}.alumni-search-input{box-sizing:border-box;width:100%;font-family:var(--body);color:var(--ivory);border:1px solid var(--border);background:#0000002e;outline:none;padding:12px 40px;font-size:14px;transition:border-color .18s,background .18s,box-shadow .18s}.alumni-search-input::placeholder{color:var(--text-muted);opacity:.55}.alumni-search-input:focus{border-color:var(--gold);background:#00000047;box-shadow:0 0 0 3px #b8943e1f}.alumni-search-wrap:focus-within .alumni-search-icon{color:var(--gold)}.alumni-search-input::-webkit-search-cancel-button{appearance:none}.alumni-search-input::-webkit-search-decoration{appearance:none}.alumni-search-clear{width:22px;height:22px;color:var(--ivory);cursor:pointer;background:#b8943e26;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;line-height:1;transition:background .18s,color .18s;display:inline-flex;position:absolute;top:50%;right:24px;transform:translateY(-50%)}.alumni-search-clear:hover{background:var(--gold);color:#0b1829}@media (width<=480px){.alumni-search-wrap{margin:16px auto 12px;padding:0 12px}.alumni-search-icon{left:26px}.alumni-search-clear{right:20px}}.alumni-view-toggle{justify-content:center;gap:6px;max-width:360px;margin:24px auto 0;padding:0 16px;display:flex}.alumni-view-btn{font-family:var(--body);letter-spacing:1.4px;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;flex:1;padding:9px 16px;font-size:11px;transition:color .18s,border-color .18s,background .18s}.alumni-view-btn:hover{color:var(--ivory);border-color:var(--gold-dim)}.alumni-view-btn.active{color:var(--ivory);border-color:var(--gold);background:#b8943e14}.alumni-map-section{max-width:1100px;margin:24px auto 48px;padding:0 16px}.alumni-map-status{text-align:center;font-family:var(--body);letter-spacing:.6px;color:var(--text-muted);min-height:18px;margin-bottom:12px;font-size:12px}.alumni-map-frame{border:1px solid var(--border-strong);isolation:isolate;z-index:0;background:#0b1829;position:relative;box-shadow:0 8px 32px #0000004d}.alumni-map{width:100%;height:60vh;min-height:360px}.alumni-map-header{display:none}body.alumni-map-mode .alumni-map-header{display:block}body.alumni-map-mode .page-header:not(.alumni-map-header),body.alumni-map-mode .alumni-search-wrap,body.alumni-map-mode .class-filter-wrap,body.alumni-map-mode .alumni-count,body.alumni-map-mode #alumni-grid,body.alumni-map-mode .door-photo-section,body.alumni-map-mode main>.section-divider{display:none!important}body.alumni-map-mode .alumni-view-toggle{margin-top:8px;margin-bottom:8px}body.alumni-map-mode .alumni-map{height:calc(100vh - 180px);min-height:480px}body.alumni-map-mode .alumni-map-section{margin-top:8px}.alumni-map-empty{text-align:center;color:var(--text-muted);margin-top:16px;font-size:13px;font-style:italic}.alumni-pin{filter:drop-shadow(0 4px 8px #00000080);background:0 0!important;border:none!important}.leaflet-popup-content-wrapper{overflow:hidden;color:var(--ivory)!important;border:1px solid var(--gold-dim)!important;background:linear-gradient(#132844fa,#0f2035fa)!important;border-radius:4px!important;padding:0!important;box-shadow:0 16px 40px #0000008c,0 0 0 1px #b8943e0d!important}.leaflet-popup-content{min-width:240px;max-width:320px;font-family:var(--body)!important;margin:0!important}.leaflet-popup-tip{border:1px solid var(--gold-dim)!important;background:#132844!important}.leaflet-popup-close-button{transition:color .18s;color:var(--text-muted)!important;justify-content:center!important;align-items:center!important;width:28px!important;height:28px!important;padding:0!important;font-size:18px!important;line-height:1!important;display:flex!important;top:6px!important;right:8px!important}.leaflet-popup-close-button:hover{color:var(--gold)!important}.alumni-pin-popup{padding:14px 16px}.alumni-pin-loc{font-family:var(--body);letter-spacing:1.6px;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--border);align-items:center;gap:8px;margin-bottom:12px;padding-bottom:10px;padding-right:22px;font-size:10px;font-weight:500;display:flex}.alumni-pin-loc:before{content:"";background:var(--gold);border-radius:50%;flex:0 0 5px;width:5px;height:5px;box-shadow:0 0 0 3px #b8943e2e}.alumni-pin-list{flex-direction:column;gap:4px;max-height:280px;display:flex;overflow-y:auto}.alumni-pin-row{cursor:pointer;text-align:left;font-family:var(--body);color:var(--ivory);background:0 0;border:1px solid #0000;align-items:center;gap:12px;width:100%;padding:8px 10px;transition:background .18s,border-color .18s,padding-right .18s;display:flex;position:relative}.alumni-pin-row:after{content:"→";color:var(--gold);opacity:0;font-size:14px;transition:opacity .18s,transform .18s;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.alumni-pin-row:hover{border-color:var(--gold-dim);background:#b8943e1a;padding-right:28px}.alumni-pin-row:hover:after{opacity:1;transform:translate(2px,-50%)}.alumni-pin-avatar{width:40px;min-width:40px;height:40px;color:var(--gold-light);font-family:var(--heading);border:1px solid var(--gold-dim);letter-spacing:.5px;background:linear-gradient(135deg,#b8943e4d,#b8943e0f) 50%/cover;border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:500;display:inline-flex}.alumni-pin-avatar.has-photo{color:#0000;border-color:var(--gold);box-shadow:inset 0 0 0 1px #00000040}.alumni-pin-meta{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.alumni-pin-name{color:var(--ivory);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;line-height:1.2;overflow:hidden}.alumni-pin-year{font-family:var(--heading);color:var(--gold-light);letter-spacing:.3px;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-style:italic;overflow:hidden}.alumni-modal-map-link{border:1px solid var(--gold-dim);color:var(--gold);font-family:var(--body);letter-spacing:1.2px;text-transform:uppercase;cursor:pointer;background:0 0;align-items:center;gap:5px;margin-left:10px;padding:4px 9px;font-size:10px;transition:background .18s,color .18s,border-color .18s;display:inline-flex}.alumni-modal-map-link:hover{background:var(--gold);color:#0b1829;border-color:var(--gold)}@media (width<=480px){.alumni-view-toggle{margin-top:16px}.alumni-map{height:55vh}.alumni-map-section{padding:0 12px}.alumni-modal-map-link{margin-top:6px;margin-left:0}}.leaflet-control-attribution{color:var(--text-muted)!important;border-top:1px solid var(--border)!important;background:#0b1829cc!important;padding:2px 6px!important;font-size:10px!important}.leaflet-control-attribution a{color:var(--gold-dim,#b8943e)!important;text-decoration:none!important}.leaflet-control-zoom a{color:var(--ivory)!important;border:1px solid var(--border-strong)!important;background:#0b1829d9!important;border-bottom:none!important;width:30px!important;height:30px!important;font-size:18px!important;line-height:28px!important;transition:background .15s,color .15s!important}.leaflet-control-zoom a:last-child{border-bottom:1px solid var(--border-strong)!important}.leaflet-control-zoom a:hover{color:var(--gold)!important;background:#b8943e2e!important}.leaflet-bar{border-radius:0!important;box-shadow:0 4px 12px #00000080!important}.codex-header{text-align:center;max-width:720px;margin:0 auto;padding:64px 24px 0}.codex-eyebrow{font-family:var(--body);letter-spacing:4px;text-transform:uppercase;color:var(--gold);opacity:.85;margin-bottom:14px;font-size:11px;display:block}.codex-title{font-family:var(--heading);letter-spacing:1.4px;color:var(--ivory);margin:0 0 18px;font-size:56px;font-weight:500;line-height:1}.codex-header-rule{color:var(--gold);justify-content:center;margin-bottom:22px;display:flex}.codex-intro{font-family:var(--body);color:var(--text-muted);max-width:520px;margin:0 auto;font-size:14px;font-style:italic;line-height:1.65}.codex-chapters{max-width:720px;margin:0 auto;padding:40px 28px 80px}.codex-chapter{margin-top:72px;position:relative}.codex-chapter:first-of-type{margin-top:32px}.codex-chapter-mark{color:var(--gold);justify-content:center;align-items:center;gap:14px;margin-bottom:20px;display:flex}.codex-flourish{flex:none}.codex-chapter-num{font-family:var(--heading);letter-spacing:5px;color:var(--gold);font-size:26px;font-weight:500;line-height:1;transform:translateY(-1px)}.codex-chapter-title{font-family:var(--heading);letter-spacing:.8px;color:var(--ivory);text-align:center;margin:0 0 8px;font-size:32px;font-weight:500;line-height:1.2}.codex-chapter-date{font-family:var(--heading);color:var(--gold-dim,#b8943e);text-align:center;letter-spacing:1px;opacity:.85;margin:0 0 26px;font-size:13px;font-style:italic}.codex-chapter-body{font-family:var(--heading);color:var(--ivory);text-align:justify;-webkit-hyphens:auto;hyphens:auto;white-space:pre-wrap;word-break:break-word;margin:0;font-size:16.5px;font-weight:400;line-height:1.85}.codex-chapter-body:after{content:"";clear:both;display:block}.codex-dropcap{font-family:var(--heading);color:var(--gold);float:left;text-shadow:0 0 22px #b8943e40;margin:8px 14px 0 0;padding:0;font-size:78px;font-weight:500;line-height:.85}.codex-chapter-origin{font-family:var(--body);color:var(--text-muted);text-align:right;letter-spacing:.4px;margin:28px 0 0;font-size:13px;font-style:italic}.codex-empty{text-align:center;color:var(--text-muted);padding:48px 16px;font-style:italic}body.edit-mode .codex-chapter{cursor:pointer;outline-offset:18px;outline:1px dashed #0000;transition:outline-color .18s}body.edit-mode .codex-chapter:hover{outline-color:#b8943eb3}@media (width<=720px){.codex-header{padding:48px 16px 0}.codex-title{font-size:44px}.codex-chapters{padding:32px 18px 60px}.codex-chapter{margin-top:56px}.codex-chapter-title{font-size:26px}.codex-chapter-num{letter-spacing:4px;font-size:22px}.codex-chapter-body{text-align:left;-webkit-hyphens:none;hyphens:none;font-size:15px;line-height:1.75}.codex-dropcap{margin:5px 10px 0 0;font-size:60px}.codex-chapter-mark{gap:10px}.codex-flourish{width:44px}.codex-flourish svg,.codex-flourish{height:auto}}@media (width<=420px){.codex-title{letter-spacing:1px;font-size:36px}.codex-chapter-title{font-size:22px}.codex-chapter-body{font-size:14.5px}.codex-dropcap{font-size:52px}}.tcg-grid{perspective:1400px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:28px;max-width:1200px;margin:0 auto;padding:32px 24px 80px;display:grid}.tcg-card{cursor:pointer;border:1.5px solid var(--gold);min-height:360px;transform-style:preserve-3d;will-change:transform;background:radial-gradient(at top,#b8943e14,#0000 60%),linear-gradient(160deg,#142845 0%,#0b1829 60%,#08111f 100%);border-radius:12px;padding:0;transition:transform .32s cubic-bezier(.2,.8,.3,1),box-shadow .32s;position:relative;box-shadow:0 14px 28px #00000073,inset 0 0 0 3px #0b1829f5,inset 0 0 0 4px #b8943e8c}.tcg-card:hover{transform:translateY(-10px)scale(1.02)rotateX(4deg)rotateY(-4deg);box-shadow:0 32px 56px #0009,inset 0 0 0 3px #0b1829f5,inset 0 0 0 4px #f4dc8c}.tcg-card:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .7s cubic-bezier(.4,0,.2,1);position:absolute;inset:0;box-shadow:0 0 56px 2px #b8943e47}.tcg-card:hover:after{opacity:1}.tcg-card-inner:before{content:"";pointer-events:none;border-radius:inherit;z-index:4;mix-blend-mode:screen;background:linear-gradient(115deg,#0000 25%,#fff8e100 40%,#fff8e133 48%,#fff8e180 50%,#fff8e133 52%,#fff8e100 60%,#0000 75%);transition:transform .9s cubic-bezier(.4,0,.2,1);position:absolute;inset:0;transform:translate(-110%)}.tcg-card:hover .tcg-card-inner:before{transform:translate(110%)}.tcg-card:hover .tcg-card-art-corner{opacity:1;transition:opacity .4s}.tcg-card-art-corner{transition:opacity .4s}.tcg-card-inner{border-radius:10px;flex-direction:column;gap:8px;height:100%;padding:14px 14px 12px;display:flex;position:relative;overflow:hidden}.tcg-card-header{border-bottom:1px solid #b8943e4d;justify-content:space-between;align-items:center;padding-bottom:6px;display:flex}.tcg-card-rune{font-family:var(--heading);letter-spacing:2.5px;color:var(--gold);font-size:16px;font-weight:600;line-height:1}.tcg-card-set{font-family:var(--body);letter-spacing:1.6px;text-transform:uppercase;color:var(--gold);opacity:.7;font-size:9px}.tcg-card-art{justify-content:center;align-items:center;margin:2px 0;display:flex;position:relative}.tcg-card-art-frame{aspect-ratio:5/4;background:radial-gradient(circle at 50% 35%,#b8943e38,#0000 70%),linear-gradient(#0a1626 0%,#0e1d33 100%);border:1px solid #b8943e59;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.tcg-card-art-frame:before{content:"";pointer-events:none;background-image:repeating-linear-gradient(115deg,#b8943e0a 0 1px,#0000 1px 14px);position:absolute;inset:0}.tcg-card-art-frame.has-photo:before{display:none}.tcg-card-art-img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.tcg-card-art-frame.has-photo:after{content:"";pointer-events:none;background:radial-gradient(#0000 60%,#08111f8c 100%);position:absolute;inset:0}.tcg-card-glyph,.tcg-card-glyph-shadow{font-family:var(--heading);font-size:clamp(60px,11vw,86px);font-weight:500;line-height:1;position:relative}.tcg-card-glyph{background:linear-gradient(#f7e7b8 0%,#d4b768 35%,#b8943e 65%,#7a5f1e 100%);color:#0000;z-index:2;text-shadow:0 0 24px #b8943e1f;-webkit-background-clip:text;background-clip:text}.tcg-card-glyph-shadow{color:#000;opacity:.45;filter:blur(5px);z-index:1;position:absolute;transform:translate(2px,5px)}.tcg-card-art-corner{color:var(--gold);opacity:.7;position:absolute}.tcg-card-art-corner-tl{top:5px;left:5px}.tcg-card-art-corner-tr{top:5px;right:5px}.tcg-card-art-corner-bl{bottom:5px;left:5px}.tcg-card-art-corner-br{bottom:5px;right:5px}.tcg-card-title{font-family:var(--heading);letter-spacing:.5px;color:var(--ivory);text-align:center;margin:4px 0 0;font-size:17px;font-weight:500;line-height:1.2}.tcg-card-stats{flex-direction:column;gap:4px;margin-top:2px;display:flex}.tcg-stat{font-family:var(--body);color:var(--ivory);letter-spacing:.2px;background:#b8943e0f;border:1px solid #b8943e33;justify-content:space-between;align-items:baseline;gap:8px;padding:4px 8px;font-size:11px;display:flex}.tcg-stat-label{color:var(--gold);text-transform:uppercase;letter-spacing:1.5px;flex:none;font-size:9px;font-weight:500}.tcg-card-flavor{font-family:var(--heading);color:var(--text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:4px 0 0;font-size:11.5px;font-style:italic;line-height:1.55;display:-webkit-box;overflow:hidden}.tcg-card-flavor.is-detail{-webkit-line-clamp:unset;white-space:pre-wrap;color:var(--ivory);font-size:14px;font-style:normal;line-height:1.7;display:block}.tcg-card-footer{font-family:var(--heading);letter-spacing:1.6px;color:var(--gold);opacity:.6;border-top:1px solid #b8943e2e;align-items:center;margin-top:auto;padding-top:6px;font-size:10px;font-weight:600;display:flex}.tcg-card-footer-spacer{background:linear-gradient(90deg,#0000,#b8943e80,#0000);flex:1;height:1px;margin:0 10px}.tcg-modal{-webkit-backdrop-filter:blur(2px);z-index:500;opacity:0;pointer-events:none;background:#08111ff0;justify-content:center;align-items:center;padding:24px;transition:opacity .22s;display:flex;position:fixed;inset:0}.tcg-modal.is-open{opacity:1;pointer-events:all}.tcg-modal-stage{width:min(460px,92vw);max-height:88vh;transition:transform .32s cubic-bezier(.2,.8,.3,1);transform:scale(.94)rotate(-1deg)}.tcg-modal.is-open .tcg-modal-stage{transform:scale(1)rotate(0)}.tcg-card-detail{aspect-ratio:auto;cursor:default;max-height:88vh;overflow-y:auto}.tcg-card-detail,.tcg-card-detail:hover{box-shadow:0 24px 64px #000000a6, inset 0 0 0 3px #0b1829f5, inset 0 0 0 4px var(--gold), 0 0 60px #b8943e40!important;transform:none!important}.tcg-card-detail .tcg-card-inner:before,.tcg-card-detail:after{display:none!important}.tcg-modal-close{border:1px solid var(--border);width:38px;height:38px;color:var(--ivory);cursor:pointer;z-index:1;background:#0b1829b3;border-radius:50%;justify-content:center;align-items:center;font-size:22px;line-height:1;transition:background .18s,color .18s,border-color .18s;display:flex;position:absolute;top:20px;right:24px}.tcg-modal-close:hover{background:var(--gold);color:#0b1829;border-color:var(--gold)}.tcg-empty{text-align:center;color:var(--text-muted);grid-column:1/-1;padding:64px 16px;font-style:italic}body.edit-mode .tcg-card{outline-offset:4px;outline:2px dashed #0000;transition:outline-color .18s}body.edit-mode .tcg-card:hover{outline-color:var(--gold);transform:none;box-shadow:0 14px 28px #00000073,inset 0 0 0 3px #0b1829f5,inset 0 0 0 4px #b8943e8c}body.edit-mode .tcg-card:after{display:none}@media (width<=540px){.tcg-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;padding:24px 12px 60px}.tcg-card-inner{gap:6px;padding:11px 10px 9px}.tcg-card-title{font-size:15px}.tcg-card-rune{letter-spacing:2px;font-size:14px}.tcg-card-set{letter-spacing:1.2px;font-size:8px}.tcg-stat{padding:3px 6px;font-size:10px}.tcg-stat-label{letter-spacing:1.2px;font-size:8px}.tcg-card-flavor{-webkit-line-clamp:2;font-size:10.5px}}@media (hover:none) and (pointer:coarse){.tcg-card:hover{transform:none;box-shadow:0 14px 28px #00000073,inset 0 0 0 3px #0b1829f5,inset 0 0 0 4px #b8943e8c}.tcg-card:hover:after{opacity:0}.tcg-card:hover .tcg-card-inner:before{transform:translate(-110%)}.tcg-card:hover .tcg-card-art-corner{opacity:.7}}@media (width<=880px){.tcg-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;padding:28px 18px 64px}}@media (width<=540px){.tcg-grid{grid-template-columns:1fr;gap:18px;padding:20px 14px 48px}.tcg-card{width:100%;max-width:380px;min-height:320px;margin:0 auto}.tcg-card-inner{gap:8px;padding:14px 14px 12px}.tcg-card-title{font-size:17px}.tcg-card-rune{letter-spacing:2.4px;font-size:15px}.tcg-card-set{letter-spacing:1.4px;font-size:9px}.tcg-stat{padding:4px 8px;font-size:11px}.tcg-stat-label{letter-spacing:1.3px;font-size:9px}.tcg-card-flavor{-webkit-line-clamp:3;font-size:11.5px}.tcg-modal{padding:10px}.tcg-modal-stage{width:100%;max-height:92vh}.tcg-modal-close{width:36px;height:36px;top:12px;right:12px}.tcg-card-detail .tcg-card-flavor.is-detail{font-size:13px;line-height:1.6}.tcg-card-detail .tcg-card-title{font-size:19px}.tcg-grid{margin-top:0}body.alumni-map-mode .alumni-map-header{padding:24px 16px 0}body.alumni-map-mode .alumni-map-header h1{font-size:32px}body.alumni-map-mode .alumni-map-header p{font-size:12.5px}body.alumni-map-mode .alumni-map-section{padding:0 8px 32px}body.alumni-map-mode .alumni-map{height:calc(100vh - 240px);min-height:380px}.alumni-map-status{font-size:11px}.leaflet-popup-content{min-width:0!important;max-width:78vw!important}.alumni-pin-popup{padding:12px 14px}.alumni-pin-list{max-height:220px}.alumni-pin-row{gap:10px;padding:7px 9px}.alumni-pin-avatar{width:36px;min-width:36px;height:36px;font-size:12px}.alumni-pin-name{font-size:13px}.alumni-pin-year{font-size:12px}}.gallery-storage{border:1px solid var(--border);background:#b8943e0a;max-width:560px;margin:32px auto 28px;padding:14px 20px}.gallery-storage-row{font-family:var(--body);color:var(--ivory);align-items:baseline;gap:12px;margin-bottom:8px;font-size:12px;display:flex}.gallery-storage-label{letter-spacing:1.6px;text-transform:uppercase;color:var(--gold);flex:none;font-size:10px}.gallery-storage-text{font-variant-numeric:tabular-nums;letter-spacing:.4px}.gallery-storage-sep{color:var(--text-muted);margin:0 4px}.gallery-storage-percent{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px}.gallery-storage-bar{border:1px solid var(--border);background:#00000059;width:100%;height:6px;overflow:hidden}.gallery-storage-fill{background:linear-gradient(90deg,#b8943e 0%,#d4b768 100%);width:0%;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.gallery-storage.is-warn .gallery-storage-fill{background:linear-gradient(90deg,#d4b768 0%,#e8b54f 100%)}.gallery-storage.is-warn .gallery-storage-percent{color:#e8b54f}.gallery-storage.is-critical .gallery-storage-fill{background:linear-gradient(90deg,#d97070 0%,#e8b54f 100%)}.gallery-storage.is-critical .gallery-storage-percent{color:#d97070;font-weight:500}@media (width<=540px){.gallery-storage{margin:12px 12px 0;padding:10px 14px}.gallery-storage-row{flex-wrap:wrap;font-size:11px}.gallery-storage-percent{margin-left:auto}}.gallery-video-note{border:1px solid var(--gold-dim);border-left:3px solid var(--gold);max-width:720px;font-family:var(--body);color:var(--ivory);background:#b8943e0f;align-items:flex-start;gap:12px;margin:8px auto 24px;padding:12px 18px;font-size:13px;line-height:1.55;display:flex}.gallery-video-note-icon{color:var(--gold);flex:none;justify-content:center;align-items:center;margin-top:1px;display:inline-flex}.gallery-video-note strong{color:var(--gold);font-weight:600}@media (width<=540px){.gallery-video-note{margin:4px 12px 18px;padding:10px 14px;font-size:12px}}.signup-success{text-align:center;padding:12px 0 4px}.signup-success h3{font-family:var(--heading);color:var(--ivory);letter-spacing:1px;margin:0 0 10px;font-size:22px;font-weight:500}.signup-success p{font-family:var(--body);color:var(--text-muted);margin:0 0 18px;font-size:13px;line-height:1.6}.signup-success .btn-cta{padding:10px 22px;font-size:11px;display:inline-block}.signups-list{flex-direction:column;gap:14px;max-width:760px;margin:24px auto 80px;padding:0 24px;display:flex}.signup-card{background:var(--card-bg);border:1px solid var(--border);padding:18px 20px;animation:.4s both signup-fade-in;position:relative;overflow:hidden}@keyframes signup-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.signup-card-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.signup-card-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.signup-card-name{font-family:var(--body);color:var(--ivory);font-size:15px;font-weight:500}.signup-role{font-family:var(--body);letter-spacing:1.4px;text-transform:uppercase;border:1px solid var(--border);color:var(--text-muted);background:#ffffff05;border-radius:999px;padding:3px 9px;font-size:9px;display:inline-block}.signup-role.role-alumni{color:#b4d2f0;background:#5082c814;border-color:#78aadc99}.signup-role.role-all-student{color:#bedcbe;background:#508c500f;border-color:#b4dcb466}.signup-role.role-freshman{border-color:var(--border);color:var(--text-muted)}.signup-card-time{font-family:var(--body);letter-spacing:.5px;color:var(--text-muted);font-size:11px}.signup-card-rows{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;gap:6px;margin-bottom:14px;padding:12px 0;display:flex}.signup-row{font-family:var(--body);color:var(--ivory);align-items:baseline;gap:12px;font-size:13px;display:flex}.signup-row-label{letter-spacing:1.4px;text-transform:uppercase;color:var(--text-muted);flex:0 0 80px;font-size:10px}.signup-row-value{word-break:break-word;font-variant-numeric:tabular-nums;flex:1}.signup-actions{gap:12px;display:flex}.signup-actions .btn-submit,.signup-actions .btn-delete{flex:1;padding:11px 14px}.signup-card.is-approving{pointer-events:none;animation:.42s forwards moderate-approve-out}.signup-card.is-rejecting{pointer-events:none;animation:.42s forwards moderate-reject-out}.signup-card.is-approving:after,.signup-card.is-rejecting:after{content:"";font-family:var(--heading);pointer-events:none;opacity:0;justify-content:center;align-items:center;font-size:80px;font-weight:600;animation:.42s forwards moderate-stamp;display:flex;position:absolute;inset:0}.signup-card.is-approving:after{content:"✓";color:#6fcf6f;text-shadow:0 0 24px #50b4508c}.signup-card.is-rejecting:after{content:"✕";color:#d97070;text-shadow:0 0 24px #c850508c}.pending-panel.pending-signups{margin-top:8px}.admin-tray{z-index:50;justify-content:flex-end;max-width:1100px;margin:0 auto;padding:14px 24px 0;display:flex;position:relative}.admin-tray[hidden]{display:none}.admin-tray-toggle{font-family:var(--body);letter-spacing:1.4px;text-transform:uppercase;color:var(--gold);border:1px solid var(--border-strong);cursor:pointer;background:#b8943e0f;align-items:center;gap:8px;padding:8px 14px;font-size:11px;transition:background .18s,border-color .18s,color .18s;display:inline-flex;position:relative}.admin-tray-toggle:hover,.admin-tray.is-open .admin-tray-toggle{border-color:var(--gold);color:var(--gold-light);background:#b8943e29}.admin-tray-icon{color:currentColor;display:inline-flex}.admin-tray-label{line-height:1}.admin-tray-badge{min-width:18px;height:18px;font-family:var(--body);letter-spacing:0;color:#0b1829;background:var(--gold-bright);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:600;animation:2.4s ease-in-out infinite admin-tray-pulse;display:inline-flex;box-shadow:0 0 0 2px #b8943e33}.admin-tray-badge[hidden]{display:none}@keyframes admin-tray-pulse{0%,to{box-shadow:0 0 0 2px #b8943e33}50%{box-shadow:0 0 0 4px #b8943e52}}.admin-tray-chevron{color:var(--text-muted);transition:transform .22s,color .18s}.admin-tray.is-open .admin-tray-chevron{color:var(--gold);transform:rotate(180deg)}.admin-tray-panel{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--gold-dim);transform-origin:100% 0;z-index:50;background:#0f2035f5;flex-direction:column;gap:8px;width:min(440px,100vw - 32px);padding:12px;animation:.18s both admin-tray-in;display:flex;position:absolute;top:calc(100% + 8px);right:24px;box-shadow:0 18px 40px #00000073}.admin-tray-panel[hidden]{display:none}@keyframes admin-tray-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.admin-tray-panel .pending-panel{border-color:var(--border-strong);background:#b8943e0a;flex-wrap:nowrap;gap:12px;max-width:none;margin:0;padding:12px 14px}.admin-tray-panel .pending-panel-text{flex:1;gap:10px;min-width:0;font-size:12px}.admin-tray-panel .pending-panel-text>span:last-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.admin-tray-panel .pending-panel-badge{min-width:24px;height:24px;padding:0 7px;font-size:11px}.admin-tray-panel .pending-panel-btn{letter-spacing:1.2px;white-space:nowrap;padding:7px 12px;font-size:10px}@media (width<=540px){.admin-tray{padding:10px 16px 0}.admin-tray-toggle{gap:7px;padding:7px 12px}.admin-tray-panel{gap:6px;width:calc(100vw - 32px);max-width:360px;padding:10px;right:16px}.admin-tray-panel .pending-panel{flex-wrap:wrap;gap:10px;padding:11px 12px}.admin-tray-panel .pending-panel-text{flex:100%}.admin-tray-panel .pending-panel-btn{text-align:center;width:100%}.signups-list{gap:12px;padding:0 12px}.signup-card{padding:14px}.signup-row-label{flex:0 0 64px;font-size:9px}.signup-actions{flex-direction:column}}.edit-provenance{border:1px solid var(--border);border-left:3px solid var(--gold);font-family:var(--body);color:var(--ivory);background:#b8943e0d;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;padding:10px 14px;font-size:12px;display:flex}.edit-provenance-label{letter-spacing:1.6px;text-transform:uppercase;color:var(--gold);flex:none;font-size:10px}.edit-provenance-value{font-variant-numeric:tabular-nums;word-break:break-all}.edit-provenance-role{letter-spacing:1.4px;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:10px}.edit-provenance-sep{color:var(--text-muted);opacity:.5}.users-stats{grid-template-columns:repeat(6,1fr);gap:10px;max-width:880px;margin:28px auto 16px;padding:0 16px;display:grid}.users-stat{background:var(--card-bg);border:1px solid var(--border);cursor:pointer;font-family:var(--body);color:var(--ivory);text-align:center;outline:none;flex-direction:column;align-items:center;gap:4px;padding:16px 10px 12px;transition:border-color .18s,background .18s,transform .18s;display:flex;position:relative}.users-stat:before{content:"";opacity:0;background:currentColor;height:2px;transition:opacity .18s;position:absolute;top:-1px;left:-1px;right:-1px}.users-stat:hover{border-color:var(--gold-dim);background:var(--card-bg-hover);transform:translateY(-1px)}.users-stat:focus-visible{border-color:var(--gold);box-shadow:0 0 0 3px #b8943e2e}.users-stat.is-active{border-color:var(--gold);background:#b8943e14}.users-stat.is-active:before{opacity:1}.users-stat-num{font-family:var(--heading);letter-spacing:1px;font-size:28px;font-weight:500;line-height:1}.users-stat-label{font-family:var(--body);letter-spacing:1.4px;text-transform:uppercase;color:var(--text-muted);text-align:center;overflow-wrap:anywhere;word-break:break-word;min-width:0;font-size:9px;line-height:1.25}.users-stat-all,.users-stat-all .users-stat-num{color:var(--ivory)}.users-stat-admin,.users-stat-admin .users-stat-num{color:var(--gold)}.users-stat-wing-authority,.users-stat-wing-authority .users-stat-num{color:#f4c86e}.users-stat-alumni,.users-stat-alumni .users-stat-num{color:#b4d2f0}.users-stat-all-student,.users-stat-all-student .users-stat-num{color:#bedcbe}.users-stat-freshman,.users-stat-freshman .users-stat-num{color:var(--text)}@media (width<=760px){.users-stats{grid-template-columns:repeat(3,1fr);gap:8px}.users-stat-num{font-size:24px}.users-stat{padding:12px 8px 10px}}@media (width<=380px){.users-stats{grid-template-columns:repeat(2,1fr)}}.users-toolbar{flex-wrap:wrap;align-items:center;gap:10px;max-width:760px;margin:8px auto 14px;padding:0 16px;display:flex}.users-search-wrap{flex:320px;min-width:0;margin:0;padding:0;position:relative}.users-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.users-search-input{box-sizing:border-box;width:100%;font-family:var(--body);color:var(--ivory);border:1px solid var(--border);background:#0000002e;outline:none;padding:12px 16px 12px 40px;font-size:14px;transition:border-color .18s,background .18s,box-shadow .18s}.users-search-input:focus{border-color:var(--gold);background:#00000047;box-shadow:0 0 0 3px #b8943e1f}.users-search-input::-webkit-search-cancel-button{appearance:none}.users-active-chip{font-family:var(--body);letter-spacing:.4px;color:var(--text);border:1px solid var(--border-strong);cursor:pointer;background:#b8943e1a;align-items:center;gap:6px;padding:6px 10px 6px 12px;font-size:11px;transition:background .18s,border-color .18s;display:inline-flex}.users-active-chip[hidden]{display:none}.users-active-chip:hover{border-color:var(--gold);background:#b8943e2e}.users-active-chip strong{color:var(--gold-light);font-weight:500}.users-active-x{color:var(--text-muted);margin-left:2px;font-size:14px;line-height:1}.users-list{flex-direction:column;gap:8px;max-width:760px;margin:0 auto 80px;padding:0 16px;display:flex}.users-empty{text-align:center;color:var(--text-muted);border:1px dashed var(--border);background:#0000001f;padding:40px 16px;font-style:italic}.user-card{background:var(--card-bg);border:1px solid var(--border);border-left-width:3px;border-left-color:#ffffff0f;transition:border-color .18s,transform .18s,box-shadow .18s;animation:.32s both user-card-in;position:relative;overflow:hidden}@keyframes user-card-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.user-card:hover{border-color:var(--gold-dim);box-shadow:0 6px 18px #0000002e}.user-card.is-open{border-color:var(--gold);box-shadow:0 8px 24px #00000047}.user-card-admin{border-left-color:var(--gold)}.user-card-wing-authority{border-left-color:#e8b54fd9}.user-card-alumni{border-left-color:#78aadcb3}.user-card-all-student{border-left-color:#b4dcb48c}.user-card-freshman{border-left-color:#c8c8c859}.user-row{text-align:left;cursor:pointer;width:100%;font-family:var(--body);color:var(--ivory);background:0 0;border:none;grid-template-columns:40px 1fr 140px 110px 14px;align-items:center;gap:14px;padding:14px 16px;transition:background .18s;display:grid}.user-row:hover{background:#ffffff04}.user-avatar{width:40px;height:40px;color:var(--gold-light);font-family:var(--heading);border:1px solid var(--border-strong);letter-spacing:.5px;background:linear-gradient(135deg,#b8943e38,#b8943e0f);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:500;display:inline-flex}.user-card-admin .user-avatar{border-color:var(--gold);color:var(--gold-bright);background:linear-gradient(135deg,#b8943e52,#b8943e14)}.user-card-alumni .user-avatar{color:#c8dcf0;background:linear-gradient(135deg,#78aadc38,#78aadc0d);border-color:#78aadc80}.user-card-wing-authority .user-avatar{color:#f4c86e;background:linear-gradient(135deg,#e8b54f47,#e8b54f0f);border-color:#e8b54f99}.user-card-all-student .user-avatar{color:#c8e6c8;background:linear-gradient(135deg,#b4dcb42e,#b4dcb40a);border-color:#b4dcb466}.user-meta{flex-direction:column;gap:3px;min-width:0;display:flex}.user-name{color:var(--ivory);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.user-email{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.user-role-badge{letter-spacing:1.4px;text-transform:uppercase;border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;background:#ffffff05;border-radius:999px;justify-self:center;padding:3px 9px;font-size:9px;display:inline-block}.user-role-badge.user-role-admin{border-color:var(--gold);color:var(--gold);background:#b8943e1a}.user-role-badge.user-role-wing-authority{color:#f4c86e;background:#e8b54f1a;border-color:#e8b54fb3}.user-role-badge.user-role-alumni{color:#b4d2f0;background:#5082c814;border-color:#78aadc99}.user-role-badge.user-role-all-student{color:#bedcbe;background:#508c500f;border-color:#b4dcb466}.user-last{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;justify-self:start;align-items:center;gap:6px;font-size:11px;display:inline-flex}.user-last.is-active{color:var(--ivory)}.user-status-dot{background:var(--text-muted);border-radius:50%;flex:0 0 8px;width:8px;height:8px;display:inline-block;position:relative}.user-status-dot.is-active{background:#4ade80;animation:2.2s ease-out infinite user-status-pulse;box-shadow:0 0 #4ade8073}@keyframes user-status-pulse{0%{box-shadow:0 0 #4ade8073}70%{box-shadow:0 0 0 6px #4ade8000}to{box-shadow:0 0 #4ade8000}}.user-chevron{color:var(--text-muted);transition:transform .22s,color .18s}.user-card.is-open .user-chevron{color:var(--gold);transform:rotate(180deg)}.user-detail{grid-template-rows:0fr;transition:grid-template-rows .32s;display:grid}.user-detail-inner{min-height:0;overflow:hidden}.user-card.is-open .user-detail{grid-template-rows:1fr}.user-form{border-top:1px solid var(--border);background:#00000038;flex-direction:column;gap:14px;padding:16px 18px 18px;display:flex}.user-form-field label{font-family:var(--body);letter-spacing:1.4px;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;font-size:10px;display:block}.user-form-row{gap:8px;display:flex}.user-form-row .user-input{font-family:var(--body);color:var(--ivory);border:1px solid var(--border);background:#00000052;outline:none;flex:1;padding:10px 12px;font-size:13px;transition:border-color .18s,background .18s}.user-form-row .user-input:focus{border-color:var(--gold-dim);background:#0006}.user-form-row .user-save{flex:none;padding:10px 18px;font-size:11px}.user-form-status{font-family:var(--body);color:var(--text-muted);min-height:18px;margin:0;font-size:12px;transition:color .18s}.user-form-status.is-error{color:#e07a7a}.user-form-status.is-success{color:#6fcf6f}.user-chat-state{color:var(--text-muted);letter-spacing:.01em;flex:1;align-items:center;font-size:13px;display:inline-flex}.user-chat-state.is-blocked{color:#e07a7a}.user-chat-state.is-open{color:#6fcf6f}.user-chat-flag{font-size:10px;font-family:var(--heading);text-transform:uppercase;letter-spacing:.12em;color:#ff9090;vertical-align:middle;background:#ff7e7e1a;border:1px solid #ff7e7e66;border-radius:999px;margin-left:8px;padding:2px 8px;display:inline-block}.user-danger{border-top:1px solid var(--border);justify-content:flex-end;padding-top:14px;display:flex}.user-delete{padding:8px 16px;font-size:11px}.user-delete:disabled{opacity:.4;cursor:not-allowed}.user-form-row.user-form-row-split{grid-template-columns:1fr 1fr auto;gap:8px;display:grid}@media (width<=540px){.users-list,.users-toolbar{padding:0 12px}.user-row{grid-template-rows:auto auto;grid-template-columns:36px 1fr auto;gap:4px 10px;padding:12px}.user-avatar{grid-area:1/1/span 2;align-self:center;width:36px;height:36px;font-size:13px}.user-meta{grid-area:1/2}.user-role-badge{grid-area:2/2;justify-self:start}.user-last{grid-area:1/3;align-self:start;font-size:10px}.user-chevron{grid-area:2/3;place-self:end}.user-form{padding:14px}.user-form-row{flex-direction:column}.user-form-row .user-save{align-self:stretch}.user-form-row.user-form-row-split{grid-template-columns:1fr}}.chat-gate{max-width:520px;margin:24px auto 80px;padding:0 16px}.chat-gate-card{text-align:center;background:#b8943e0f;border:1px solid #b8943e40;border-radius:6px;padding:28px 24px}.chat-gate-card h2{font-family:var(--heading);color:var(--ivory);margin:0 0 8px;font-size:22px}.chat-gate-card p{color:var(--ivory-dim);margin:0 0 18px;font-size:15px}.chat-shell{flex-direction:column;gap:18px;max-width:760px;margin:8px auto 96px;padding:0 16px;display:flex}.chat-room{background:radial-gradient(circle at 50% 0,#b8943e14,#0000 70%),#0b18298c;border:1px solid #b8943e38;border-radius:8px;padding:14px 18px 18px;position:relative;box-shadow:0 24px 48px -28px #000000b3,inset 0 1px #ffffff08}.chat-room-head{color:var(--gold);opacity:.55;align-items:center;gap:12px;margin-bottom:14px;display:flex}.chat-room-rule{background:linear-gradient(90deg,#0000,#b8943e66,#0000);flex:1;height:1px}.chat-room-diamond{letter-spacing:0;font-size:8px}.chat-list{scroll-behavior:smooth;flex-direction:column;gap:14px;height:60vh;min-height:380px;padding-right:8px;display:flex;overflow-y:auto}.chat-list::-webkit-scrollbar{width:8px}.chat-list::-webkit-scrollbar-track{background:0 0}.chat-list::-webkit-scrollbar-thumb{background:#b8943e2e;border-radius:4px}.chat-list::-webkit-scrollbar-thumb:hover{background:#b8943e52}.chat-loading{color:var(--ivory-dim);margin:auto;font-size:14px;font-style:italic}.chat-empty{text-align:center;color:var(--ivory-dim);flex-direction:column;align-items:center;gap:8px;margin:auto;padding:32px 0;display:flex}.chat-empty-ornament{color:var(--gold);opacity:.6;font-size:14px}.chat-empty-title{font-family:var(--heading);color:var(--ivory);letter-spacing:.02em;margin:0;font-size:16px}.chat-empty-sub{margin:0;font-size:13px;font-style:italic}.msg-day{-webkit-user-select:none;user-select:none;align-items:center;gap:14px;margin:14px 0 4px;display:flex}.msg-day-line{background:linear-gradient(90deg,#0000,#b8943e59,#0000);flex:1;height:1px}.msg-day-label{font-family:var(--heading);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);white-space:nowrap;font-size:11px}.msg-row{opacity:0;grid-template-columns:36px 1fr;align-items:flex-start;gap:12px;transition:opacity .25s,transform .25s;display:grid;transform:translateY(4px)}.msg-row.is-in{opacity:1;transform:translateY(0)}.msg-row.is-grouped{margin-top:-8px}.msg-row.is-mine{grid-template-columns:1fr 36px}.msg-row.is-mine .msg-avatar,.msg-row.is-mine .msg-avatar-spacer{grid-area:1/2}.msg-row.is-mine .msg-content{grid-area:1/1;align-items:flex-end}.msg-row.is-mine .msg-head{flex-direction:row-reverse}.msg-row.is-mine .msg-body{color:var(--ivory);background:linear-gradient(135deg,#b8943e29,#b8943e14);border-color:#b8943e66;border-radius:12px 12px 4px}.msg-avatar{border:1.5px solid var(--gold);width:36px;height:36px;color:var(--gold);font-family:var(--heading);letter-spacing:.04em;background:#0b1829cc;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:inline-flex;box-shadow:0 0 0 3px #0b182980,0 0 12px -4px #b8943e66}.msg-avatar-spacer{width:36px;height:1px;display:block}.msg-content{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;max-width:100%;display:flex}.msg-head{align-items:baseline;gap:10px;margin-bottom:2px;display:flex}.msg-author{font-family:var(--heading);letter-spacing:.02em;color:var(--gold);font-size:13px;font-weight:600}.msg-time{color:var(--ivory-dim);letter-spacing:.06em;text-transform:uppercase;font-variant-numeric:tabular-nums;font-size:10px}.msg-body-wrap{align-self:flex-start;align-items:flex-start;gap:4px;max-width:100%;display:inline-flex}.msg-row.is-mine .msg-body-wrap{flex-direction:row-reverse;align-self:flex-end}.msg-body{color:var(--ivory);white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;background:#ffffff0a;border:1px solid #b8943e24;border-radius:12px 12px 12px 4px;width:fit-content;max-width:100%;padding:9px 14px;font-size:14.5px;line-height:1.5}.msg-bubbles{flex-direction:column;align-items:flex-start;gap:6px;max-width:100%;display:flex}.msg-row.is-mine .msg-bubbles{align-items:flex-end}.msg-image-wrap{background:#0b182999;border:1px solid #b8943e33;border-radius:12px 12px 12px 4px;max-width:min(320px,100%);line-height:0;overflow:hidden}.msg-row.is-mine .msg-image-wrap{border-color:#b8943e59;border-radius:12px 12px 4px}.msg-image-link{text-decoration:none;display:block}.msg-image{object-fit:cover;width:100%;height:auto;max-height:360px;transition:opacity .15s;display:block}.msg-image-link:hover .msg-image{opacity:.92}.chat-attach-btn{color:var(--gold);cursor:pointer;background:0 0;border:1px solid #b8943e59;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s,border-color .15s,color .15s,transform .1s;display:inline-flex}.chat-attach-btn:hover{border-color:var(--gold);background:#b8943e1a}.chat-attach-btn:active{transform:scale(.94)}.chat-attach-btn:disabled{opacity:.4;cursor:default}.chat-composer-preview{background:#0b1829b3;border:1px solid #b8943e4d;border-radius:10px;align-self:flex-start;max-width:160px;line-height:0;position:relative;overflow:hidden}.chat-composer-preview img{object-fit:cover;width:100%;height:auto;max-height:140px;display:block}.chat-image-preview-remove{width:22px;height:22px;color:var(--ivory);cursor:pointer;background:#0b1829d9;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex;position:absolute;top:4px;right:4px}.chat-image-preview-remove:hover{color:#fff;background:#ff7e7ed9}.msg-delete{color:var(--ivory-dim);cursor:pointer;opacity:0;background:0 0;border:1px solid #0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:6px;padding:0;transition:opacity .15s,color .15s,background .15s,border-color .15s;display:inline-flex}.msg-row:hover .msg-delete,.msg-delete:focus-visible{opacity:.7}.msg-delete:hover{opacity:1;color:#ff7e7e;background:#ff7e7e14;border-color:#ff7e7e66}.msg-delete:disabled{cursor:default;opacity:.3!important}.chat-muted-notice{color:var(--ivory);background:#ff7e7e0f;border:1px solid #ff7e7e4d;border-radius:10px;align-items:flex-start;gap:12px;padding:14px 18px;display:flex}.chat-muted-icon{color:#ff7e7e;flex-shrink:0;margin-top:2px}.chat-muted-text{flex-direction:column;gap:4px;font-size:13.5px;line-height:1.5;display:flex}.chat-muted-text strong{color:#ff9090;font-family:var(--heading);letter-spacing:.02em;font-size:14px;font-weight:600}.chat-muted-text span{color:var(--ivory-dim)}.chat-composer{background:#0b1829b3;border:1px solid #b8943e38;border-radius:12px;flex-direction:column;gap:6px;padding:10px 12px 8px;transition:border-color .2s,box-shadow .2s;display:flex}.chat-composer:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px #b8943e26}.chat-composer-row{align-items:flex-end;gap:10px;display:flex}.chat-composer-avatar{border:1.5px solid var(--gold);width:32px;height:32px;color:var(--gold);font-family:var(--heading);background:#0b1829cc;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:4px;font-size:12px;font-weight:600;display:inline-flex}.chat-input{color:var(--ivory);resize:none;background:0 0;border:none;flex:1;min-height:24px;max-height:160px;padding:8px 4px;font-family:inherit;font-size:14.5px;line-height:1.45}.chat-input:focus{outline:none}.chat-input::placeholder{color:var(--ivory-dim);opacity:.7;font-style:italic}.chat-send-btn{background:linear-gradient(135deg, var(--gold-light), var(--gold));color:var(--navy);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:filter .2s,transform .1s;display:inline-flex;box-shadow:0 4px 12px -4px #b8943e99}.chat-send-btn:hover{filter:brightness(1.1);transform:rotate(-8deg)}.chat-send-btn:active{transform:scale(.95)rotate(-8deg)}.chat-send-btn:disabled{opacity:.5;cursor:default;transform:none}.chat-composer-foot{justify-content:space-between;align-items:center;padding:0 6px;display:flex}.chat-composer-as{color:var(--ivory-dim);letter-spacing:.04em;font-size:11px}.chat-composer-as strong{color:var(--gold);font-family:var(--heading);margin-left:2px;font-size:12px;font-weight:600}.chat-composer-counter{color:var(--ivory-dim);font-variant-numeric:tabular-nums;font-size:11px}@media (width<=640px){.chat-shell{gap:12px;margin:4px auto 72px;padding:0 12px}.chat-room{border-radius:6px;padding:8px 10px 12px}.chat-list{gap:12px;height:calc(100vh - 320px);min-height:280px;padding-right:4px}.msg-row{grid-template-columns:30px 1fr;gap:8px}.msg-row.is-mine{grid-template-columns:1fr 30px}.msg-avatar,.msg-avatar-spacer{width:30px;height:30px;font-size:11px}.msg-avatar-spacer{height:1px}.msg-body{max-width:85%;padding:8px 12px;font-size:14px}.msg-author{font-size:12px}.msg-time{font-size:9.5px}.msg-day-label{letter-spacing:.14em;font-size:10px}.chat-composer{border-radius:10px;padding:8px 10px 6px}.chat-composer-avatar{width:28px;height:28px;font-size:11px}.chat-input{font-size:14px}.chat-send-btn,.chat-attach-btn{width:38px;height:38px}.chat-send-btn svg,.chat-attach-btn svg{width:18px;height:18px}.chat-composer-row{gap:6px}.chat-composer-preview{max-width:130px}.chat-composer-preview img{max-height:110px}.msg-image-wrap{max-width:min(240px,100%)}.msg-image{max-height:280px}.chat-image-preview-remove{width:26px;height:26px;top:5px;right:5px}.chat-composer-foot{padding:0 4px}.chat-composer-as{font-size:10px}.chat-composer-as strong{font-size:11px}.chat-composer-counter{font-size:10px}}@media (width<=540px){.tag-modal-content{gap:14px;max-width:96vw!important;padding:20px 18px 16px!important}.tag-modal-header h3{font-size:18px}.tag-modal-sub{font-size:12px}.tag-modal-preview{max-height:140px}.photo-tagger{gap:12px}.photo-tagger-results-inline{max-height:180px}.photo-tagger-row{padding:9px 12px}.photo-tagger-name{font-size:13.5px}}.updates-corner{z-index:60;pointer-events:none;height:0;margin:0;padding:0;position:relative}.updates-bell{width:38px;height:38px;color:var(--gold);cursor:pointer;pointer-events:auto;background:#0b1829b3;border:1px solid #b8943e59;border-radius:50%;justify-content:center;align-items:center;transition:background .15s,border-color .15s,transform .1s,box-shadow .2s;display:inline-flex;position:absolute;top:14px;left:24px}.updates-bell:hover,.updates-bell.is-open{border-color:var(--gold);background:#b8943e1f;box-shadow:0 0 0 3px #b8943e1f}.updates-bell:active{transform:scale(.94)}.updates-bell-dot{background:var(--gold-bright,#e0b95a);border-radius:50%;width:9px;height:9px;animation:2.4s ease-in-out infinite updates-dot-pulse;position:absolute;top:6px;right:6px;box-shadow:0 0 0 2px #0b1829f2,0 0 8px #e0b95a8c}@keyframes updates-dot-pulse{0%,to{box-shadow:0 0 0 2px #0b1829f2,0 0 8px #e0b95a73}50%{box-shadow:0 0 0 2px #0b1829f2,0 0 12px #e0b95ad9}}.updates-popup{pointer-events:auto;z-index:90;background:#0b1829fa;border:1px solid #b8943e4d;border-radius:10px;flex-direction:column;width:min(380px,100vw - 32px);max-height:min(560px,100vh - 140px);animation:.18s ease-out updates-popup-in;display:flex;position:absolute;top:60px;left:24px;overflow:hidden;box-shadow:0 24px 48px -16px #000000b3,0 0 0 1px #ffffff05}.updates-popup[hidden]{display:none}@keyframes updates-popup-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.updates-popup-head{background:#b8943e0f;border-bottom:1px solid #b8943e2e;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.updates-popup-title{font-family:var(--heading);letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-size:14px}.updates-popup-close{color:var(--ivory-dim);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;padding:4px;transition:background .15s,color .15s;display:inline-flex}.updates-popup-close:hover{color:var(--ivory);background:#ffffff0f}.updates-popup-body{padding:6px 0;overflow-y:auto}.updates-popup-body::-webkit-scrollbar{width:8px}.updates-popup-body::-webkit-scrollbar-track{background:0 0}.updates-popup-body::-webkit-scrollbar-thumb{background:#b8943e2e;border-radius:4px}.updates-entry{border-bottom:1px solid #b8943e1a;padding:14px 16px}.updates-entry:last-child{border-bottom:none}.updates-entry-head{flex-direction:column;gap:2px;margin-bottom:8px;display:flex}.updates-entry-title{font-family:var(--heading);color:var(--ivory);letter-spacing:.01em;margin:0;font-size:15px}.updates-entry-date{color:var(--ivory-dim);letter-spacing:.08em;text-transform:uppercase;font-variant-numeric:tabular-nums;font-size:11px}.updates-entry-list{color:var(--ivory);flex-direction:column;gap:6px;margin:0;padding-left:18px;font-size:13.5px;line-height:1.5;display:flex}.updates-entry-list li::marker{color:var(--gold)}.updates-empty{color:var(--ivory-dim);margin:14px 16px;font-size:13px;font-style:italic}@media (width<=640px){.updates-bell{width:36px;height:36px}.updates-bell svg{width:18px;height:18px}.updates-popup{width:calc(100vw - 32px);max-height:calc(100vh - 120px);top:58px}.updates-entry{padding:12px 14px}.updates-entry-title{font-size:14.5px}.updates-entry-list{font-size:13px}}@media (width<=540px){.updates-bell{top:10px;left:16px}.updates-popup{width:calc(100vw - 32px);top:52px;left:16px}}.caption-editor{z-index:200;background:#000000d9;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.caption-editor[hidden]{display:none}.caption-editor-frame{background:#0b1829;border:1px solid #b8943e4d;border-radius:12px;flex-direction:column;width:100%;max-width:560px;max-height:calc(100dvh - 32px);display:flex;position:relative;overflow:hidden}.caption-editor-close{z-index:2;color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s;display:inline-flex;position:absolute;top:8px;right:8px}.caption-editor-close:hover{background:#ff7e7ed9}.caption-stage{background:#000;flex:auto;justify-content:center;align-items:center;min-height:240px;display:flex;position:relative;overflow:hidden}.caption-img{object-fit:contain;max-width:100%;max-height:60dvh;display:block}.caption-overlay{text-align:center;color:#fff;letter-spacing:.01em;word-wrap:break-word;overflow-wrap:break-word;pointer-events:none;text-transform:none;text-shadow:-.025em -.025em #000,0 -.025em #000,.025em -.025em #000,-.025em 0 #000,.025em 0 #000,-.025em .025em #000,0 .025em #000,.025em .025em #000;width:100%;font-family:Anton,Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-weight:400;line-height:1.02;position:absolute;left:0}.caption-overlay-top{top:3%}.caption-overlay-bottom{bottom:3%}.caption-editor-controls{background:#0b1829f2;border-top:1px solid #b8943e26;flex-direction:column;gap:8px;padding:12px 14px 14px;display:flex}.caption-input{color:var(--ivory);background:#ffffff0d;border:1px solid #b8943e40;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:16px;transition:border-color .15s}.caption-toggle{background:#ffffff0a;border:1px solid #b8943e40;border-radius:8px;grid-template-columns:1fr 1fr;gap:0;padding:3px;display:grid}.caption-toggle-btn{color:var(--ivory-dim);font-family:var(--heading);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 10px;font-size:12px;transition:background .15s,color .15s}.caption-toggle-btn:hover{color:var(--ivory)}.caption-toggle-btn.is-active{color:var(--gold);background:#b8943e2e}.caption-input:focus{border-color:var(--gold);outline:none}.caption-input::placeholder{color:var(--ivory-dim);font-style:italic}.caption-editor-done{background:linear-gradient(135deg, var(--gold-light), var(--gold));color:var(--navy);font-family:var(--heading);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:none;border-radius:8px;margin-top:4px;padding:11px 16px;font-size:13px;transition:filter .15s,transform .1s}.caption-editor-done:hover{filter:brightness(1.1)}.caption-editor-done:active{transform:scale(.98)}.caption-editor-done:disabled{opacity:.5;cursor:default}@media (width<=540px){.caption-editor{padding:0}.caption-editor-frame{border:none;border-radius:0;max-width:100%;max-height:100dvh}.caption-img{max-height:52dvh}.caption-input{padding:10px 11px}}.plan-year-cta{text-align:center;margin:18px auto 0;padding:0 20px}.plan-year-btn,.plan-year-btn:visited,.plan-year-btn:active{color:var(--navy);align-items:center;gap:9px;display:inline-flex}.plan-year-btn-mark{opacity:.85;font-size:13px;line-height:1}.plan-year-cta-sub{font-family:var(--body);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);margin:9px 0 0;font-size:11px}.plan-year-btn-wrap{display:inline-block;position:relative}.plan-year-tip{white-space:nowrap;background:var(--navy-light);color:var(--ivory);border:1px solid var(--gold);font-family:var(--body);letter-spacing:.4px;opacity:0;visibility:hidden;pointer-events:none;z-index:60;border-radius:4px;padding:7px 12px;font-size:11px;font-weight:500;transition:opacity .18s,transform .18s;position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 6px 20px #00000073}.plan-year-tip:after{content:"";border:6px solid #0000;border-top-color:var(--gold);position:absolute;top:100%;left:50%;transform:translate(-50%)}.plan-year-tip.show{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.plan-year-cta.is-locked .plan-year-btn{cursor:help;opacity:.88}.plan-year-cta.is-locked .plan-year-btn:hover{box-shadow:none;transform:none}.plan-wizard{max-width:820px;margin:0 auto 80px;padding:0 24px}.plan-steps{justify-content:space-between;gap:6px;margin:0 0 36px;padding:0;list-style:none;display:flex}.plan-step{cursor:pointer;color:var(--text-muted);flex-direction:column;flex:1;align-items:center;gap:7px;display:flex;position:relative}.plan-step:not(:last-child):after{content:"";background:var(--border);width:100%;height:1px;position:absolute;top:15px;left:50%}.plan-step-num{z-index:1;border:1px solid var(--border-strong);background:var(--navy-mid);width:30px;height:30px;font-family:var(--body);border-radius:50%;place-items:center;font-size:13px;font-weight:600;transition:all .2s;display:grid;position:relative}.plan-step-label{font-family:var(--body);letter-spacing:1px;text-transform:uppercase;font-size:10px}.plan-step.is-done .plan-step-num{background:var(--gold-pale);border-color:var(--gold);color:var(--gold-light)}.plan-step.is-active .plan-step-num{background:linear-gradient(135deg, var(--gold-light), var(--gold));border-color:var(--gold-light);color:var(--navy)}.plan-step.is-active .plan-step-label,.plan-step.is-done .plan-step-label{color:var(--ivory-dim)}.plan-panel{display:none}.plan-panel.is-active{animation:.3s fadeUp;display:block}.plan-panel h2{font-family:var(--heading);color:var(--ivory);margin:0 0 6px;font-size:28px;font-weight:600}.plan-panel-desc{font-family:var(--body);color:var(--text-muted);margin:0 0 22px;font-size:14px}.plan-note{background:radial-gradient(120% 90% at 50% -10%, #b8943e1a, transparent 60%), linear-gradient(165deg, var(--navy-light), var(--navy-mid));border:1px solid var(--border-strong);text-align:center;border-radius:10px;padding:42px 40px 36px;position:relative;overflow:hidden}.plan-note:before{content:"";background:linear-gradient(90deg, transparent, var(--gold), var(--gold-bright), var(--gold), transparent);height:2px;position:absolute;top:0;left:0;right:0}.plan-note-mark{color:var(--gold-light);margin-bottom:6px;font-size:30px;display:block}.plan-note h2{font-family:var(--heading);color:var(--ivory);margin:0 0 4px;font-size:34px;font-weight:600}.plan-note-rule{margin:0 auto 22px}.plan-note p{font-family:var(--body);color:var(--text);max-width:600px;margin:0 auto 18px;font-size:15px;line-height:1.7}.plan-note p strong{color:var(--gold-light)}.plan-note p.plan-note-lead{color:var(--text-muted);letter-spacing:2px;text-transform:uppercase;margin-bottom:18px;font-size:11px;font-weight:600}.plan-note-list{text-align:left;gap:12px;max-width:580px;margin:0 auto 24px;padding:0;list-style:none;display:grid}.plan-note-list li{background:var(--card-bg);border:1px solid var(--border);font-family:var(--body);color:var(--text);border-radius:7px;padding:15px 18px 15px 46px;font-size:14.5px;line-height:1.55;transition:border-color .25s,transform .25s;position:relative}.plan-note-list li:hover{border-color:var(--border-strong);transform:translate(2px)}.plan-note-list li:before{content:"◆";color:var(--gold);font-size:13px;position:absolute;top:15px;left:18px}.plan-note-list li strong{color:var(--ivory)}.plan-note-list li em{color:var(--gold-light);font-style:italic}.plan-note a{color:var(--gold-light);text-decoration:underline}.plan-note p.plan-note-foot{color:var(--text-muted);border-top:1px solid var(--border);max-width:480px;margin:0 auto;padding-top:18px;font-size:13px;font-style:italic}.plan-loaded-note{font-family:var(--body);color:var(--gold-light);margin:0 0 16px;font-size:13px}.plan-loaded-note.is-warn{color:#e0a86a}.plan-events-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.plan-add-btn{font-family:var(--body);letter-spacing:1.5px;text-transform:uppercase;color:var(--navy);background:linear-gradient(135deg, var(--gold-light), var(--gold));cursor:pointer;border:none;border-radius:3px;align-items:center;gap:8px;padding:11px 22px;font-size:12px;font-weight:600;transition:all .25s;display:inline-flex}.plan-add-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px #b8943e47}.plan-add-btn-plus{font-size:17px;line-height:1}.plan-events-toolbar-bulk{gap:8px;display:flex}.plan-bulk-btn{font-family:var(--body);letter-spacing:1px;text-transform:uppercase;color:var(--text);background:var(--card-bg);border:1px solid var(--border-strong);cursor:pointer;border-radius:3px;padding:9px 16px;font-size:11px;font-weight:500;transition:all .25s}.plan-bulk-btn:hover{border-color:var(--gold);color:var(--gold-light);background:var(--gold-pale)}.plan-bulk-btn-hide:hover{color:#e0a86a;border-color:#e0a86a}.plan-shift-year{font-family:var(--body);letter-spacing:1px;text-transform:uppercase;color:var(--gold);border:1px dashed var(--border-strong);cursor:pointer;background:0 0;border-radius:3px;align-items:center;gap:8px;margin:0 0 18px;padding:9px 16px;font-size:11px;font-weight:500;transition:all .25s;display:inline-flex}.plan-shift-year:hover{border-style:solid;border-color:var(--gold);background:var(--gold-pale)}.plan-shift-year svg{flex:none}.plan-event-row{background:linear-gradient(160deg, var(--navy-light), var(--navy-mid));border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:6px;margin-bottom:14px;padding:18px 20px;transition:border-color .25s,box-shadow .25s,background .25s;position:relative}.plan-event-row:hover{box-shadow:0 6px 22px #00000040}.plan-event-row.is-mystery{border-left-color:var(--gold);background:linear-gradient(160deg, #b8943e1a, var(--navy-mid))}.plan-event-head{align-items:center;gap:12px;margin-bottom:16px;display:flex}.pe-handle{color:var(--gold);opacity:.5;flex:none;font-size:10px}.pe-name{border:none;border-bottom:1px solid var(--border);min-width:0;color:var(--ivory);font-family:var(--heading);background:0 0;flex:1;padding:5px 2px;font-size:22px;font-weight:600;transition:border-color .2s}.pe-name::placeholder{color:var(--text-muted);font-style:italic;font-weight:500}.pe-name:focus{border-bottom-color:var(--gold);outline:none}.pe-remove{border:1px solid var(--border-strong);width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:50%;flex:none;font-size:17px;line-height:1;transition:all .2s}.pe-remove:hover{color:#e57373;border-color:#e57373}.plan-event-times{flex-wrap:wrap;gap:16px;margin-bottom:16px;display:flex}.pe-field{flex-direction:column;flex:1;gap:7px;min-width:180px;display:flex}.pe-field-label{font-family:var(--body);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);font-size:10.5px;font-weight:600}.plan-event-times input[type=datetime-local],.pe-reveal{background:var(--navy);border:1px solid var(--border-strong);color:var(--ivory);font-family:var(--body);border-radius:4px;padding:10px 12px;font-size:15px;transition:border-color .2s}.plan-event-times input[type=datetime-local]:focus,.pe-reveal:focus{border-color:var(--gold);outline:none}.plan-event-times input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer}.pe-reveal::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer}.plan-event-mystery{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:18px;padding-top:14px;display:flex}.pe-mystery-toggle,.pe-custom-toggle{cursor:pointer;font-family:var(--body);align-items:center;gap:8px;display:inline-flex}.pe-mystery-toggle input,.pe-custom-toggle input{accent-color:var(--gold);cursor:pointer;width:16px;height:16px}.pe-mystery-pill{letter-spacing:.4px;color:var(--gold-light);font-size:12.5px;font-weight:600}.pe-custom-toggle{color:var(--text-muted);font-size:12.5px}.pe-reveal-wrap{min-width:230px;display:inline-block}.pe-mystery-hint{width:100%;font-family:var(--body);color:var(--text-muted);font-size:12px}.is-hidden{display:none!important}.plan-save-events{margin-top:10px}.plan-empty{font-family:var(--body);color:var(--text-muted);text-align:center;padding:28px 0;font-size:14px}.plan-leader{background:linear-gradient(160deg, var(--navy-light), var(--navy-mid));border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:6px;margin-bottom:16px;padding:18px 20px}.plan-leader-head{align-items:center;gap:12px;margin-bottom:14px;display:flex}.plan-leader-badge{background:linear-gradient(135deg, var(--gold-light), var(--gold));width:34px;height:34px;color:var(--navy);font-family:var(--body);letter-spacing:.5px;border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.plan-leader-name{font-family:var(--heading);color:var(--ivory);font-size:22px;font-weight:600}.plan-leader-role{font-family:var(--body);letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-light);background:var(--gold-pale);border:1px solid var(--border-strong);border-radius:2px;padding:3px 8px;font-size:10px;font-weight:600}.plan-leader-goals{margin-bottom:10px}.plan-add-goal{font-family:var(--body);letter-spacing:1px;text-transform:uppercase;color:var(--gold);border:1px dashed var(--border-strong);cursor:pointer;background:0 0;border-radius:3px;padding:8px 16px;font-size:11px;font-weight:500;transition:all .2s}.plan-add-goal:hover{border-color:var(--gold);background:var(--gold-pale);border-style:solid}.plan-goal-row{gap:10px;margin-bottom:10px;display:flex}.plan-goal-input{background:var(--navy-mid);border:1px solid var(--border-strong);color:var(--ivory);font-family:var(--body);border-radius:3px;flex:1;padding:11px 13px;font-size:16px}.plan-goal-remove{border:1px solid var(--border-strong);width:40px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:3px;flex:none;font-size:20px}.plan-goal-remove:hover{color:#e57373;border-color:#e57373}.plan-notes-group{margin-top:22px}.plan-review-block{background:var(--card-bg);border:1px solid var(--border);border-radius:4px;margin-bottom:14px;padding:18px 20px}.plan-review-block h3{font-family:var(--body);letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-light);margin:0 0 10px;font-size:11px}.plan-review-block p,.plan-review-block li{font-family:var(--body);color:var(--text);font-size:14.5px;line-height:1.55}.plan-review-block ul{margin:0;padding-left:20px}.plan-review-block li{margin-bottom:5px}.plan-review-leader{margin-bottom:12px}.plan-review-leader:last-child{margin-bottom:0}.plan-review-leader strong{color:var(--ivory);font-size:13.5px}.plan-review-leader ul{margin-top:4px}.plan-mystery-tag{letter-spacing:1px;text-transform:uppercase;background:var(--gold-pale);color:var(--gold-light);border:1px solid var(--border-strong);border-radius:2px;margin-left:6px;padding:1px 6px;font-size:10px;display:inline-block}.plan-cal-btn{font-family:var(--body);letter-spacing:1px;text-transform:uppercase;color:var(--navy);background:linear-gradient(135deg, var(--gold-light), var(--gold));cursor:pointer;border:none;border-radius:3px;align-items:center;gap:9px;margin-top:14px;padding:11px 20px;font-size:12px;font-weight:600;transition:all .25s;display:inline-flex}.plan-cal-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px #b8943e47}.plan-review-hint{margin-top:10px;color:var(--text-muted)!important;font-size:12.5px!important}.plan-finish-actions{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.plan-status-line{font-family:var(--body);margin-top:14px;font-size:13.5px}.plan-status-line.is-ok{color:var(--gold-light)}.plan-status-line.is-error{color:#e57373}.plan-nav{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;margin-top:32px;padding-top:20px;display:flex}.plan-nav-pos{font-family:var(--body);letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);font-size:12px}.plan-back:disabled{opacity:.4;cursor:default}.plan-toast{background:var(--navy-light);border:1px solid var(--gold);color:var(--ivory);font-family:var(--body);opacity:0;z-index:2000;border-radius:4px;padding:12px 22px;font-size:14px;transition:opacity .3s,transform .3s;position:fixed;bottom:30px;left:50%;transform:translate(-50%)translateY(20px);box-shadow:0 8px 30px #0006}.plan-toast.show{opacity:1;transform:translate(-50%)translateY(0)}@media (width<=640px){.plan-year-cta{margin-top:24px;padding:0 16px}.plan-year-cta-sub{letter-spacing:1px;max-width:280px;margin:9px auto 0;font-size:10px;line-height:1.5}.plan-wizard{margin-bottom:56px;padding:0 14px}.plan-panel h2{font-size:24px}.plan-panel-desc{font-size:13.5px}.plan-step-label{display:none}.plan-steps{gap:4px;margin-bottom:28px}.plan-step-num{width:27px;height:27px;font-size:12px}.plan-step:not(:last-child):after{top:13px}.plan-note{border-radius:8px;padding:28px 18px 26px}.plan-note h2{font-size:26px}.plan-note p{font-size:14px}.plan-note-list li{padding:13px 14px 13px 40px;font-size:13.5px}.plan-note-list li:before{top:13px;left:15px}.plan-events-toolbar{flex-direction:column;align-items:stretch;gap:10px}.plan-add-btn{justify-content:center}.plan-events-toolbar-bulk{gap:8px}.plan-bulk-btn{flex:1}.plan-shift-year{justify-content:center;width:100%}.plan-event-row{padding:16px 15px}.pe-name{font-size:19px}.plan-event-times{flex-direction:column;gap:12px}.pe-field{width:100%;min-width:0}.plan-event-times input[type=datetime-local]{width:100%}.plan-event-mystery{gap:12px}.pe-reveal-wrap{width:100%;min-width:0;display:block}.plan-leader{padding:16px 15px}.plan-leader-name{font-size:19px}.plan-review-block{padding:16px}.plan-cal-btn{justify-content:center;width:100%}.plan-finish-actions{flex-direction:column}.plan-finish-actions>button{width:100%}.plan-nav{gap:8px;margin-top:26px}.plan-nav .edit-toggle,.plan-nav .btn-cta{letter-spacing:1px;padding:11px 16px;font-size:11px}.plan-nav-pos{font-size:11px}.plan-goal-input,.pe-name,.plan-notes-group textarea{font-size:16px}}@media (width<=380px){.plan-step-num{width:24px;height:24px;font-size:11px}.plan-note h2{font-size:23px}.plan-nav-pos{display:none}}
