@import"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Outfit:wght@300;400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Anton&family=Bricolage+Grotesque:opsz,wght@10..48,300;10..48,400;10..48,500;10..48,700&family=JetBrains+Mono:wght@500;700&display=swap";:root{--bg-base: #f4f6ff;--bg-tint: #fff9ef;--surface-strong: rgba(255, 255, 255, .86);--surface-soft: rgba(255, 255, 255, .64);--surface-border: rgba(17, 36, 82, .16);--ink-strong: #1b2a4c;--ink-soft: #4d5c7d;--primary: #1d63e8;--primary-hover: #1652c0;--accent: #ff8f52;--primary-cta-start: #ff8a52;--primary-cta-end: #ff5f7a;--primary-cta-border: rgba(201, 89, 36, .85);--primary-cta-shadow: rgba(201, 89, 36, .28);--danger: #cc3454;--success: #178f56;--radius-xl: 28px;--radius-lg: 18px;--radius-md: 12px;--shadow-lg: 0 18px 50px rgba(23, 48, 98, .14);--shadow-md: 0 10px 30px rgba(20, 42, 88, .1);--focus-ring: 0 0 0 3px rgba(29, 99, 232, .24);--max-content: 1140px;color:var(--ink-strong);font-family:Outfit,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{min-height:100%;position:relative;isolation:isolate}body{margin:0;color:var(--ink-strong);background:radial-gradient(circle at 10% 20%,#ffe8cb 0%,transparent 44%),radial-gradient(circle at 83% 7%,#d9ebff 0%,transparent 42%),linear-gradient(165deg,var(--bg-base) 0%,var(--bg-tint) 100%);min-width:320px;position:relative}body:before,body:after{content:"";position:fixed;border-radius:50%;pointer-events:none;z-index:-1;filter:blur(50px);opacity:.45}body:before{width:280px;height:280px;right:8%;bottom:10%;background:#a7c9ff;animation:driftOne 16s ease-in-out infinite}body:after{width:220px;height:220px;left:7%;top:18%;background:#ffd1c2;animation:driftTwo 18s ease-in-out infinite}h1,h2,h3,h4,strong{margin:0;color:var(--ink-strong);font-family:Space Grotesk,sans-serif;letter-spacing:-.02em}p{margin:0;color:var(--ink-soft);line-height:1.5}a{color:inherit}input,textarea,select{width:100%;margin:0;border:1px solid rgba(25,57,114,.22);border-radius:var(--radius-md);padding:.72rem .85rem;background:#ffffffd1;color:var(--ink-strong);font:inherit;transition:border-color .2s ease,box-shadow .2s ease}textarea{resize:vertical;min-height:120px}input:focus,textarea:focus,select:focus,button:focus-visible,a:focus-visible{outline:none;border-color:#1d63e899;box-shadow:var(--focus-ring)}button{font:inherit}.page-shell{min-height:100vh;padding:clamp(.85rem,2vw,1.6rem);display:flex;flex-direction:column;gap:1rem}.app-frame{position:relative;z-index:2}.site-aurora{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:1;opacity:.9}.site-aurora-band{display:block;position:absolute;width:90vw;height:40vh;border-radius:999px;filter:blur(36px);opacity:.62;transform-origin:center}.site-aurora-band-1{top:-2%;left:-20%;background:linear-gradient(100deg,#ff91689e,#50a5ff70);animation:auroraDriftOne 12s ease-in-out infinite alternate}.site-aurora-band-2{top:28%;left:10%;background:linear-gradient(110deg,#4899ff8a,#5fd8be5c);animation:auroraDriftTwo 14s ease-in-out infinite alternate}.site-aurora-band-3{bottom:-12%;right:-22%;background:linear-gradient(120deg,#ffad6f70,#54a0ff6b);animation:auroraDriftThree 13s ease-in-out infinite alternate}.top-nav{width:min(var(--max-content),100%);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:.85rem}.brand-wrap{display:flex;align-items:center;gap:.7rem}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,var(--primary-cta-start),var(--primary-cta-end));color:#fff;font-family:Space Grotesk,sans-serif;font-weight:700;box-shadow:0 8px 16px var(--primary-cta-shadow)}.eyebrow{font-size:.77rem;letter-spacing:.09em;text-transform:uppercase;color:#6c7ea6;font-weight:600}.nav-actions{display:flex;align-items:center;gap:.5rem}.user-chip{border:1px solid rgba(24,54,112,.18);background:#fff9;color:#38507d;border-radius:999px;padding:.44rem .85rem;font-weight:500}.user-chip-button{display:inline-flex;align-items:center;gap:.48rem;font:inherit;cursor:pointer}.user-chip-avatar{width:24px;height:24px;border-radius:999px;border:1px solid rgba(24,54,112,.2);background:#ffffffe0;display:inline-flex;align-items:center;justify-content:center;color:#2f4e82;font-size:.74rem;font-weight:700;overflow:hidden;flex:none}.user-chip-avatar img{width:100%;height:100%;object-fit:cover}.panel{border:1px solid var(--surface-border);background:linear-gradient(165deg,var(--surface-strong),var(--surface-soft));border-radius:var(--radius-xl);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.loading-screen{width:min(560px,100%);margin:auto;text-align:center;border:1px solid var(--surface-border);border-radius:var(--radius-xl);padding:2.6rem 1rem;background:var(--surface-strong);color:#52658f}.unauth-shell{width:min(560px,100%);margin:auto;text-align:center;padding:2.2rem 1.5rem;display:grid;gap:.8rem;justify-items:center}.center-text{text-align:center}.muted{color:#6b7b9f;font-size:.94rem}.section-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.9rem}.field{display:grid;gap:.42rem}.field>span{font-size:.86rem;color:#4f628a;font-weight:500}.field-helper{color:#6f7fa0;font-size:.78rem}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem}.stack-form{display:grid;gap:.92rem}.form-actions{display:flex;justify-content:flex-end}.btn{border:1px solid transparent;border-radius:999px;padding:.62rem 1.08rem;font-weight:600;cursor:pointer;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease}.btn:link,.btn:visited,.btn:hover,.btn:active{text-decoration:none!important}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(140deg,var(--primary-cta-start),var(--primary-cta-end));border-color:var(--primary-cta-border);color:#fff;box-shadow:0 10px 20px var(--primary-cta-shadow)}.btn-primary:hover:not(:disabled){background:linear-gradient(140deg,#f1783f,#f25668)}.btn-secondary{background:#fffc;border-color:#15377533;color:#25457b}.btn-secondary.is-selected,.btn-primary.is-selected{box-shadow:inset 0 0 0 2px #ffffffb8,var(--shadow-md)}.btn-ghost{background:transparent;border-color:#15397529;color:#3c5687}.btn-danger{background:#cc34541f;border-color:#cc34545c;color:#b92c4b}.btn-sm{padding:.4rem .84rem;font-size:.84rem}.btn-icon{width:42px;height:42px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem}.btn-block{width:100%;justify-content:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.inline-notice{border-radius:12px;border:1px solid transparent;padding:.62rem .78rem;font-size:.88rem;font-weight:500}.inline-notice.success{border-color:#178f5666;background:#178f561a;color:#12633d}.inline-notice.error{border-color:#cc345459;background:#cc34541f;color:#8e1d37}.inline-notice.info{border-color:#1d63e847;background:#1d63e817;color:#16489f}.auth-page{justify-content:center}.auth-layout{width:min(var(--max-content),100%);margin:0 auto;display:grid;grid-template-columns:minmax(280px,1.05fr) minmax(280px,.95fr);gap:1rem}.auth-layout-meta{grid-column:1 / -1;display:flex;justify-content:flex-start}.auth-hero,.auth-panel{padding:clamp(1.35rem,2.5vw,2.2rem)}.auth-hero{display:grid;gap:1rem;align-content:center}.auth-hero h1{font-size:clamp(2rem,4vw,3.35rem);max-width:10.5ch;line-height:1.02}.auth-hero p{max-width:42ch}.hero-points{display:flex;flex-wrap:wrap;gap:.5rem}.hero-points span{border-radius:999px;padding:.4rem .75rem;border:1px solid rgba(20,61,132,.2);background:#ffffff9e;color:#27457a;font-size:.87rem}.auth-panel{display:grid;gap:1rem}.auth-headline{display:flex;align-items:center;gap:.8rem}.auth-headline h2{font-size:1.42rem}.auth-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;background:#16356f14;padding:.32rem;border-radius:999px}.auth-tabs button{border:none;background:transparent;border-radius:999px;color:#51689b;font-weight:600;padding:.54rem .6rem;cursor:pointer}.auth-tabs button.is-active{background:#ffffffe0;color:#26467d;box-shadow:0 8px 18px #122a5a26}.onboarding-page{justify-content:center}.onboarding-shell{width:min(700px,100%);margin:0 auto;padding:clamp(1.3rem,2.7vw,2.3rem);display:grid;gap:1rem}.page-heading{display:grid;gap:.4rem}.page-heading h1{font-size:clamp(1.6rem,3vw,2.3rem)}.autocomplete{position:relative}.autocomplete-list{position:absolute;z-index:20;top:calc(100% + .35rem);left:0;right:0;border-radius:var(--radius-lg);border:1px solid rgba(20,54,112,.2);background:#fffffff7;box-shadow:var(--shadow-lg);max-height:260px;overflow-y:auto;padding:.4rem;display:grid;gap:.28rem}.autocomplete-item{text-align:left;border:1px solid transparent;border-radius:10px;background:transparent;color:#27457d;padding:.52rem .62rem;cursor:pointer}.autocomplete-item:hover{border-color:#224d9b33;background:#1d63e814}.autocomplete-item.custom{color:#5f4f9a;background:#7c68ee14}.autocomplete-empty{padding:.45rem .55rem;font-size:.9rem}.home-page .home-grid{width:min(var(--max-content),100%);margin:0 auto;display:grid;grid-template-columns:minmax(300px,1.35fr) minmax(220px,.75fr);gap:1rem}.hero-panel,.home-metrics{padding:clamp(1.2rem,2.4vw,2rem);display:grid;gap:.95rem}.hero-panel h2{font-size:clamp(1.48rem,3.2vw,2.5rem);max-width:18ch}.home-actions{display:flex;flex-wrap:wrap;gap:.56rem}.home-metrics{align-content:start}.metric-card{border:1px solid rgba(21,57,117,.15);border-radius:var(--radius-lg);background:#ffffffb8;padding:.8rem .9rem;display:grid;gap:.22rem}.metric-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.07em}.metric-value{color:#203866;font-weight:600}.directory-shell{width:min(var(--max-content),100%);margin:0 auto;display:grid;gap:.92rem}.directory-toolbar{padding:.95rem;display:flex;align-items:flex-end;justify-content:space-between;gap:.8rem}.search-field{min-width:0;width:min(420px,100%)}.toolbar-meta{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.pill{border-radius:999px;border:1px solid rgba(21,57,117,.2);background:#ffffffbd;padding:.36rem .76rem;color:#315388;font-size:.82rem;font-weight:600}.pill.active{border-color:#178f5659;color:#12623d;background:#178f561a}.pill.frozen{border-color:#cc34544d;color:#962241;background:#cc34541a}.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.82rem;align-items:stretch}.year-card{min-height:365px;perspective:1200px}.year-card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .62s cubic-bezier(.22,1,.36,1)}.year-card.is-flipped .year-card-inner{transform:rotateY(180deg)}.year-card-face{position:absolute;inset:0;border-radius:var(--radius-lg);backface-visibility:hidden;border:1px solid rgba(20,56,116,.16);background:linear-gradient(160deg,#ffffffe6,#f1f7ffb8);box-shadow:var(--shadow-md);padding:.85rem;display:grid;gap:.7rem}.year-card-back{transform:rotateY(180deg)}.flip-trigger{justify-self:end;border-radius:999px;width:32px;height:32px;border:1px solid rgba(30,69,142,.38);background:linear-gradient(160deg,#fffffff5,#e6efffe6);color:#214378;font-weight:700;box-shadow:0 4px 12px #1836702e;cursor:pointer}.flip-trigger:hover{border-color:#1e458e80;background:linear-gradient(160deg,#fffffffc,#deebfff2)}.year-card-open{display:grid;gap:.58rem;text-align:left;border:none;background:transparent;cursor:pointer;color:inherit;padding:0}.year-card-open h2{font-size:1.03rem;line-height:1.2}.year-card-open p{font-size:.89rem;min-height:2.55rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tile-counts{margin-top:auto;display:flex;gap:.45rem;flex-wrap:wrap}.tile-counts span{border:1px solid rgba(20,56,114,.14);border-radius:999px;padding:.28rem .55rem;color:#3f5887;font-size:.79rem}.year-card-back-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.year-card-back-head h3{font-size:1rem}.vote-list{margin:0;padding:0;list-style:none;display:grid;gap:.58rem}.vote-row{border-radius:12px;border:1px solid rgba(23,59,120,.16);background:#ffffffad;padding:.52rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem}.vote-title{color:#2a4375;font-weight:600;font-size:.88rem}.vote-meta{font-size:.79rem}.avatar{width:58px;height:58px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(23,56,117,.2);background:linear-gradient(145deg,#ecf3ff,#fff);color:#30528a;font-weight:700;font-size:1.1rem}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-large{width:148px;height:148px;border-radius:42px;margin:0 auto}.profile-layout{width:min(var(--max-content),100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.92rem;align-items:start}.profile-main-card,.superlative-panel,.comments-panel{padding:clamp(1rem,2.2vw,1.6rem)}.profile-main-card{display:grid;gap:.9rem}.profile-main-card h2{text-align:center;font-size:clamp(1.45rem,2.7vw,2rem)}.social-link-list{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center}.social-link{border-radius:999px;padding:.4rem .72rem;background:#1d63e81c;border:1px solid rgba(29,99,232,.25);color:#1d4b9b;text-decoration:none;font-weight:600;font-size:.82rem}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.52rem}.stat-item{border-radius:14px;border:1px solid rgba(22,59,119,.15);background:#ffffffb3;padding:.56rem;text-align:center}.stat-item p{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em}.stat-item strong{font-size:1.15rem}.interaction-row{display:flex;flex-wrap:wrap;gap:.52rem;justify-content:center}.superlative-panel{display:grid;gap:.7rem}.badge-list{margin:0;padding:0;list-style:none;display:grid;gap:.52rem}.badge-item{border-radius:12px;border:1px solid rgba(24,60,120,.18);background:#ffffffc2;padding:.62rem .74rem;display:flex;justify-content:space-between;align-items:center;color:#2f4d84}.badge-item strong{color:#203866}.comments-panel{grid-column:1 / -1;display:grid;gap:.75rem}.comments-list{display:grid;gap:.58rem}.comment-item{border-radius:14px;border:1px solid rgba(23,60,120,.16);background:#ffffffbd;padding:.68rem;display:flex;gap:.62rem}.comment-avatar{width:44px;height:44px;border-radius:12px;flex:none}.comment-content{display:grid;gap:.33rem;min-width:0}.comment-meta{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.comment-meta span{font-size:.78rem;color:#6d7fa4}.comment-visibility{border-radius:999px;padding:.2rem .5rem;border:1px solid;font-weight:600}.comment-visibility.public{border-color:#178f5652;color:#12633d;background:#178f561a}.comment-visibility.private{border-color:#cc34544d;color:#962241;background:#cc34541a}.comment-form{display:grid;gap:.6rem}.comment-form-footer{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.edit-layout{width:min(var(--max-content),100%);margin:0 auto;display:grid;grid-template-columns:minmax(260px,.88fr) minmax(320px,1.12fr);gap:.92rem;align-items:start}.profile-preview,.edit-form-panel{padding:clamp(1rem,2.2vw,1.6rem);display:grid;gap:.85rem}.profile-preview h2{font-size:1.3rem}.profile-preview h3,.profile-preview p{text-align:center}.pill-list{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center}.other-link-list{display:grid;gap:.55rem}.other-link-row{display:grid;grid-template-columns:minmax(130px,.55fr) minmax(180px,1fr) auto;gap:.42rem;align-items:start}.landing-page{position:relative;gap:.9rem;overflow:hidden}.landing-page .panel{background:linear-gradient(165deg,#ffffff8f,#ffffff57);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@keyframes auroraDriftOne{0%{transform:translateZ(0) rotate(-6deg) scale(1)}to{transform:translate3d(14vw,4vh,0) rotate(6deg) scale(1.08)}}@keyframes auroraDriftTwo{0%{transform:translateZ(0) rotate(4deg) scale(1)}to{transform:translate3d(-10vw,7vh,0) rotate(-5deg) scale(1.06)}}@keyframes auroraDriftThree{0%{transform:translateZ(0) rotate(-4deg) scale(1)}to{transform:translate3d(-12vw,-7vh,0) rotate(5deg) scale(1.07)}}.landing-nav{width:min(var(--max-content),100%);margin:0 auto;padding:.86rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.9rem}.landing-nav h1{font-size:clamp(1.15rem,2.5vw,1.56rem)}.landing-shell{width:min(var(--max-content),100%);margin:0 auto;display:grid;gap:.92rem}.landing-hero{padding:clamp(1rem,2.5vw,1.8rem);display:grid;grid-template-columns:minmax(260px,1fr) minmax(280px,1fr);gap:.95rem;align-items:center}.landing-copy{display:grid;gap:.85rem}.landing-copy h2{font-size:clamp(1.7rem,3.8vw,2.9rem);line-height:1.05;max-width:16ch}.landing-cta-row{display:flex;flex-wrap:wrap;gap:.5rem}.landing-metrics{display:grid;gap:.52rem}.landing-metrics div{border-radius:14px;border:1px solid rgba(22,59,119,.16);background:#ffffffb8;padding:.66rem .76rem;display:grid;gap:.22rem}.landing-metrics strong{color:#28477d;font-size:.95rem}.landing-metrics span{color:#60769f;font-size:.83rem}.landing-visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.58rem}.landing-shot{border-radius:20px;overflow:hidden;position:relative;min-height:150px;border:1px solid rgba(26,62,125,.2);box-shadow:0 16px 32px #142e5f38}.landing-shot img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.landing-shot:hover img{transform:scale(1.06)}.shot-1{transform:rotate(-1.7deg)}.shot-2{transform:rotate(1.2deg)}.shot-3{transform:rotate(1.5deg)}.shot-4{transform:rotate(-1deg)}.landing-flow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.72rem}.flow-card{padding:.95rem;display:grid;gap:.35rem}.flow-card h3{font-size:1.1rem}.landing-dev-cta{padding:1.1rem;display:grid;gap:.5rem;justify-items:center;text-align:center;border-color:#ff8f5273;background:linear-gradient(145deg,#ffefe5f5,#e8f5fff0);box-shadow:0 12px 26px #ff8f5224}.landing-dev-cta h3{font-size:clamp(1.2rem,2.4vw,1.6rem)}.landing-dev-cta .eyebrow{color:#a4552a}.landing-dev-cta .btn-primary{border-color:#35844ad9;background:linear-gradient(140deg,#3cb17d,#228f65);box-shadow:0 10px 22px #228f6547}.landing-dev-cta .btn-primary:hover{background:linear-gradient(140deg,#349f70,#1f815b)}.hub-page{gap:.88rem}.hub-header{align-items:flex-start}.hub-shell{width:min(var(--max-content),100%);margin:0 auto;display:grid;gap:.84rem}.hub-toolbar{padding:.95rem;display:grid;gap:.74rem}.hub-toolbar-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.72rem}.hub-tab-row{display:flex;gap:.45rem;flex-wrap:wrap}.hub-tab{border-radius:999px;border:1px solid rgba(24,59,120,.2);background:#ffffffb8;color:#34558a;padding:.42rem .82rem;font-weight:600;cursor:pointer}.hub-tab.is-active{background:linear-gradient(140deg,var(--primary),#4f92ff);border-color:#1c5bd6d9;color:#fff;box-shadow:0 10px 20px #195bd638}.hub-toolbar-grid{display:grid;grid-template-columns:minmax(220px,.9fr) auto;gap:.68rem;align-items:end}.hub-toolbar-actions{display:flex;gap:.48rem;flex-wrap:wrap}.hub-content{display:grid;gap:.8rem}.spotlight-panel{padding:.92rem;display:grid;gap:.7rem}.spotlight-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.spotlight-body{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:center}.discover-grid{align-items:stretch}.card-top-actions{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.pin-toggle{border:none;background:transparent;color:#35578c;width:auto;height:auto;display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:.95rem;font-weight:600;cursor:pointer}.pin-toggle.is-pinned{color:#984d23}.student-quick-actions{display:flex;gap:.42rem;flex-wrap:wrap}.chip-action{border-radius:999px;border:1px solid rgba(21,57,117,.2);background:#ffffffbf;color:#35578d;font-weight:600;font-size:.8rem;padding:.28rem .58rem;cursor:pointer}.chip-action.is-active{background:#1d63e824;border-color:#1d63e859;color:#1d4d9f}.pulse-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pulse-card{padding:.95rem;display:grid;gap:.66rem}.pulse-card h3{font-size:1.15rem}.rank-list{margin:0;padding:0;list-style:none;display:grid;gap:.45rem}.rank-entry{width:100%;text-align:left;border:1px solid rgba(23,60,120,.16);border-radius:12px;background:#ffffffbd;padding:.44rem .58rem;display:flex;justify-content:space-between;align-items:center;color:#324f84;cursor:pointer}.rank-entry strong{font-size:.95rem}.pulse-summary .stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.superlative-board{grid-column:1 / -1}.superlative-board-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.62rem}.superlative-board-card{border-radius:14px;border:1px solid rgba(21,58,117,.17);background:#ffffffb3;padding:.66rem;display:grid;gap:.42rem}.superlative-board-card h4{font-size:.94rem}.empty-bookmarks{width:min(620px,100%);margin:0 auto;padding:1.2rem;text-align:center;display:grid;gap:.6rem;justify-items:center}.bookmark-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.bookmark-card{padding:.88rem;display:grid;gap:.68rem}.bookmark-head{display:grid;grid-template-columns:auto 1fr;gap:.62rem;align-items:center}.bookmark-head h3{font-size:1.02rem}.bookmark-head p{font-size:.9rem}.bookmark-actions{display:flex;flex-wrap:wrap;gap:.45rem}.vote-budget-panel{padding:.9rem;display:grid;gap:.65rem}.vote-budget-panel h3{font-size:1.08rem}.vote-budget-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.56rem}.vote-budget-card{border:1px solid rgba(21,58,117,.17);border-radius:14px;background:#ffffffbd;padding:.58rem;display:grid;gap:.2rem}.vote-budget-card p{font-size:.82rem}.vote-budget-card strong{font-size:1.05rem}.vote-budget-card span{color:#64799f;font-size:.77rem}.memory-tab{display:grid;gap:.78rem}.memory-composer,.story-strip-panel,.reels-panel{padding:.95rem;display:grid;gap:.7rem}.memory-form{display:grid;gap:.62rem}.memory-form-row{display:flex;align-items:flex-end;gap:.62rem;flex-wrap:wrap}.memory-file-input{min-width:240px;flex:1}.story-strip{display:flex;gap:.55rem;overflow-x:auto;padding-bottom:.15rem}.story-bubble{flex:none;border:none;background:transparent;display:grid;gap:.3rem;justify-items:center;color:#2f4f84;cursor:pointer}.story-bubble span{font-size:.75rem;max-width:70px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.story-avatar-ring{padding:2px;border-radius:999px;background:linear-gradient(140deg,#ff8f52,#1d63e8)}.story-avatar{width:56px;height:56px;border-radius:999px}.reels-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.reel-card{border:1px solid rgba(21,58,118,.16);border-radius:16px;background:#ffffffc7;padding:.66rem;display:grid;gap:.55rem}.reel-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.reel-user{border:none;background:transparent;padding:0;display:flex;align-items:center;gap:.45rem;cursor:pointer;text-align:left}.reel-user strong{display:block;font-size:.92rem;color:#26477d}.reel-user span{display:block;font-size:.75rem;color:#697fa6}.reel-avatar{width:38px;height:38px;border-radius:11px}.reel-media{border-radius:14px;overflow:hidden;border:1px solid rgba(22,57,118,.16);background:#e9eef8}.reel-media img,.reel-media video{width:100%;max-height:360px;display:block;object-fit:cover}.reel-body{display:grid;gap:.45rem}.reel-body p{color:#37578d;font-size:.88rem}.reel-actions{display:flex;align-items:center;gap:.45rem}.story-viewer-overlay{position:fixed;inset:0;background:#0f1a309e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:80}.story-viewer-card{width:min(560px,100%);max-height:calc(100vh - 2rem);overflow-y:auto;border-radius:20px;border:1px solid rgba(255,255,255,.22);background:linear-gradient(160deg,#0d1d39e6,#192e51e0);color:#e6eefc;padding:.84rem;display:grid;gap:.65rem}.story-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.story-viewer-head .reel-user strong{color:#f2f6ff}.story-viewer-head .reel-user span{color:#bfd0ee}.story-viewer-head .btn-ghost{border-color:#ffffff4d;color:#e9f1ff}.story-viewer-media{border-radius:16px;overflow:hidden;background:#00000059}.story-viewer-media img,.story-viewer-media video{width:100%;max-height:68vh;object-fit:contain;display:block}.story-viewer-caption{color:#dfebff;font-size:.92rem}.story-viewer-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem}@media(max-width:980px){.auth-layout,.home-page .home-grid,.landing-hero,.landing-flow-grid,.profile-layout,.edit-layout{grid-template-columns:1fr}.hub-toolbar-grid{grid-template-columns:1fr;align-items:stretch}.hub-toolbar-top{flex-direction:column;align-items:stretch}.pulse-grid,.superlative-board-list,.bookmark-grid,.vote-budget-grid,.reels-grid{grid-template-columns:1fr}.spotlight-body{grid-template-columns:1fr;text-align:center}.spotlight-body .tile-counts{justify-content:center}.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search-field{width:100%}.toolbar-meta{justify-content:flex-start}.top-nav{flex-wrap:wrap;align-items:flex-start}}@media(max-width:720px){.page-shell{padding:.7rem}.landing-nav{flex-direction:column;align-items:flex-start}.landing-nav .nav-actions{width:100%}.landing-nav .nav-actions .btn{flex:1;text-align:center}.landing-visual-grid{grid-template-columns:1fr}.memory-form-row{flex-direction:column;align-items:stretch}.field-grid,.other-link-row,.directory-grid{grid-template-columns:1fr}.auth-hero{order:2}.auth-panel{order:1}.stat-grid{grid-template-columns:1fr}.comment-form-footer{flex-direction:column;align-items:stretch}.nav-actions{width:100%;justify-content:flex-start}}@media(max-width:560px){.page-shell{padding:.55rem;gap:.65rem}.panel{border-radius:16px}.top-nav{gap:.55rem}.brand-wrap{width:100%}.brand-wrap h1{font-size:1.35rem;line-height:1.12}.brand-mark{width:38px;height:38px;border-radius:12px}.nav-actions{width:100%;gap:.4rem}.nav-actions .btn,.nav-actions .user-chip-button{flex:1;justify-content:center}.auth-layout,.landing-shell,.hub-shell,.onboarding-shell,.profile-layout,.edit-layout{gap:.65rem}.auth-hero,.auth-panel,.hub-toolbar,.spotlight-panel,.vote-budget-panel,.pulse-card,.bookmark-card,.memory-composer,.story-strip-panel,.reels-panel,.profile-main-card,.superlative-panel,.comments-panel,.profile-preview,.edit-form-panel,.landing-hero{padding:.82rem}.hub-tab-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.2rem}.hub-toolbar-grid{gap:.52rem}.hub-toolbar-actions{display:grid;grid-template-columns:1fr}.toolbar-meta{gap:.38rem}.pill{font-size:.77rem;padding:.3rem .58rem}.directory-grid{gap:.58rem}.year-card{min-height:330px}.year-card-face{padding:.66rem;gap:.55rem}.year-card-open p{min-height:0}.reel-media img,.reel-media video{max-height:270px}.other-link-row{grid-template-columns:1fr}}@keyframes driftOne{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(-20px,-16px,0) scale(1.08)}}@keyframes driftTwo{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(20px,15px,0) scale(.93)}}:root{--ink: #101826;--ink-soft: #344260;--bg: #f8f7f2;--surface: rgba(255, 255, 255, .72);--surface-strong: rgba(255, 255, 255, .9);--line: rgba(16, 24, 38, .15);--cyan: #0bc0ff;--orange: #ff8752;--lime: #d3ff55;--radius-lg: 26px;--radius-md: 18px;--radius-sm: 12px;--shadow: 0 20px 45px rgba(14, 27, 50, .15)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Bricolage Grotesque,sans-serif;color:var(--ink);background:radial-gradient(circle at 12% 20%,rgba(255,135,82,.24),transparent 40%),radial-gradient(circle at 88% 8%,rgba(11,192,255,.22),transparent 36%),radial-gradient(circle at 80% 85%,rgba(211,255,85,.22),transparent 38%),linear-gradient(160deg,#fffefb,#f8f7f2 48%,#f0f6ff);background-attachment:fixed}.noise-overlay{position:fixed;inset:0;pointer-events:none;opacity:.08;z-index:0;background-image:radial-gradient(rgba(15,20,32,.35) .35px,transparent .35px);background-size:4px 4px}.portfolio-page{position:relative;min-height:100vh;padding:1rem}.portfolio-nav,.portfolio-main{width:min(1140px,100%);margin:0 auto;position:relative;z-index:1}.portfolio-nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:.75rem 1rem;border:1px solid var(--line);border-radius:999px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffb3;position:sticky;top:.8rem}.brand-lockup{display:inline-flex;align-items:center;gap:.65rem;color:inherit;text-decoration:none}.brand-block{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--cyan),var(--orange));display:inline-flex;align-items:center;justify-content:center;color:#06101f;font-family:JetBrains Mono,monospace;font-size:.95rem;font-weight:700}.brand-copy{font-family:JetBrains Mono,monospace;text-transform:lowercase;letter-spacing:.06em;font-size:.88rem}.nav-links{display:inline-flex;justify-content:center;gap:.85rem;flex-wrap:wrap}.nav-links a{color:var(--ink-soft);text-decoration:none;font-size:.9rem;padding:.4rem .65rem;border-radius:999px;transition:color .25s ease,background-color .25s ease}.nav-links a:hover{color:var(--ink);background:#10182614}.resume-button{text-decoration:none;color:#fff;border:1px solid rgba(201,89,36,.85);border-radius:999px;padding:.45rem .95rem;font-weight:600;font-size:.88rem;background:linear-gradient(140deg,#ff8a52,#ff5f7a);box-shadow:0 10px 20px #c9592447;display:inline-flex;align-items:center;gap:.4rem}.resume-button svg{width:.9rem;height:.9rem;fill:currentColor}.portfolio-actions{display:inline-flex;align-items:center;gap:.5rem}.yearbook-button{text-decoration:none;color:#fff;border:1px solid rgba(201,89,36,.85);border-radius:999px;padding:.45rem .95rem;font-weight:600;font-size:.88rem;background:linear-gradient(140deg,#ff8a52,#ff5f7a);box-shadow:0 10px 20px #c9592447}.resume-button:hover,.yearbook-button:hover{background:linear-gradient(140deg,#f1783f,#f25668)}.portfolio-main{display:grid;gap:1.1rem;padding-top:1.1rem;padding-bottom:3.2rem}.hero-section,.section,.contact-section{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow)}.hero-section{display:grid;grid-template-columns:1.2fr .8fr;gap:1.2rem;padding:clamp(1rem,2vw,2rem)}.hero-label{font-family:JetBrains Mono,monospace;letter-spacing:.09em;font-size:.79rem;color:var(--ink-soft);margin:0 0 .65rem}.hero-copy h1{margin:0;font-family:Anton,sans-serif;font-size:clamp(2.3rem,6vw,4.8rem);line-height:.95;letter-spacing:.03em;text-transform:uppercase;display:grid;gap:.45rem}.hero-copy h1 span{display:block;font-family:Bricolage Grotesque,sans-serif;text-transform:none;font-size:clamp(1.12rem,2.6vw,1.95rem);font-weight:700;color:var(--ink-soft);letter-spacing:-.01em}.hero-tagline{margin:.95rem 0 0;font-size:clamp(1rem,2vw,1.22rem);font-weight:600}.hero-summary{margin:.85rem 0 0;color:var(--ink-soft);max-width:68ch}.sync-note{margin:.9rem 0 0;border:1px dashed rgba(16,24,38,.36);border-radius:var(--radius-sm);padding:.7rem .85rem;font-size:.88rem;color:#344260;background:#d3ff5529}.sync-note code{font-family:JetBrains Mono,monospace;font-size:.8rem}.status-pills{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.52rem}.status-pills span{border-radius:999px;padding:.4rem .72rem;font-size:.8rem;border:1px solid rgba(16,24,38,.2);background:#ffffffd1}.cta-row{margin-top:1.05rem;display:flex;flex-wrap:wrap;gap:.6rem}.cta-row a,.project-links a,.contact-links a{text-decoration:none;color:var(--ink);font-weight:700;font-size:.9rem;border:1px solid rgba(16,24,38,.22);background:#ffffffdb;border-radius:999px;padding:.5rem .88rem;transition:transform .2s ease,background-color .2s ease}.cta-row a:hover,.project-links a:hover,.contact-links a:hover{transform:translateY(-2px);background:#fff}.hero-stack{display:grid;gap:.8rem;align-content:start}.identity-card,.current-status-card,.stat-grid article,.highlight-list article,.timeline-item,.project-card,.skills-grid article,.stacked-cards article,.achievement-list li{border:1px solid rgba(16,24,38,.18);border-radius:var(--radius-md);background:#fffc}.identity-card{padding:.9rem;display:grid;gap:.72rem}.current-status-card{padding:.95rem;display:grid;gap:.58rem;background:linear-gradient(145deg,#d3ff5533,#0bc0ff1c),#ffffffd1;border-color:#1018263d}.current-status-card h3{margin:0;font-size:1.14rem;line-height:1.2}.current-status-card p{margin:0;color:var(--ink-soft);line-height:1.45}.status-trackers{margin-top:.2rem;display:flex;flex-wrap:wrap;gap:.42rem}.status-trackers span{border-radius:999px;border:1px solid rgba(16,24,38,.2);background:#ffffffdb;padding:.3rem .58rem;font-size:.76rem;font-family:JetBrains Mono,monospace;color:#243353}.identity-card .label{margin:0;color:var(--ink-soft);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono,monospace}.identity-card strong,.identity-card a{display:inline-block;margin-top:.24rem;font-size:1rem;color:var(--ink);font-weight:700;text-decoration:none}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.stat-grid article{padding:.8rem}.stat-grid h3{margin:0;font-family:Anton,sans-serif;letter-spacing:.02em;font-size:1.55rem}.stat-grid p{margin:.25rem 0 0;font-size:.82rem;color:var(--ink-soft)}.section,.contact-section{padding:clamp(1rem,2vw,1.6rem)}.section-headline{display:grid;gap:.18rem;margin-bottom:.8rem}.section-headline p{margin:0;font-size:.78rem;font-family:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-soft)}.section-headline h2{margin:0;font-family:Anton,sans-serif;letter-spacing:.03em;text-transform:uppercase;font-size:clamp(1.45rem,3vw,2.25rem)}.highlight-list,.project-grid,.skills-grid,.stacked-cards,.achievement-list,.timeline-list,.contact-links{display:grid;gap:.72rem}.highlight-list{grid-template-columns:repeat(3,minmax(0,1fr))}.highlight-list article{padding:.95rem;color:var(--ink-soft);line-height:1.45}.timeline-item{display:grid;grid-template-columns:190px 1fr;gap:.95rem;padding:.9rem}.timeline-meta p,.timeline-meta span,.timeline-content h4,.timeline-content li,.project-card p,.stacked-cards p,.achievement-list li{color:var(--ink-soft)}.timeline-meta p{margin:0;font-family:JetBrains Mono,monospace;font-size:.82rem}.timeline-meta span{display:inline-block;margin-top:.35rem;font-size:.9rem}.timeline-content h3,.project-top h3,.skills-grid h3,.stacked-cards h3{margin:0;font-size:1.16rem}.timeline-content h4,.stacked-cards h4{margin:.2rem 0 0;font-size:.96rem;font-weight:600}.timeline-content ul{margin:.7rem 0 0;padding-left:1rem;display:grid;gap:.45rem}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{display:grid;gap:.72rem;padding:.95rem}.project-top span{display:inline-block;font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--ink-soft)}.project-impact{padding:.6rem;border-radius:var(--radius-sm);background:#0bc0ff17;border:1px dashed rgba(11,192,255,.35)}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skills-grid article,.stacked-cards article{padding:.95rem}.chip-row{display:flex;flex-wrap:wrap;gap:.45rem}.chip-row span{border:1px solid rgba(16,24,38,.2);border-radius:999px;padding:.3rem .63rem;font-size:.78rem;background:#ffffffe6}.project-links{display:flex;flex-wrap:wrap;gap:.46rem}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.achievement-list{list-style:none;margin:0;padding:0}.achievement-list li{padding:.9rem}.contact-section{text-align:center}.contact-section p{margin:0;font-family:JetBrains Mono,monospace;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.contact-section h2{margin:.55rem auto 0;max-width:18ch;font-family:Anton,sans-serif;text-transform:uppercase;font-size:clamp(1.65rem,4.3vw,2.8rem);line-height:1}.contact-links{margin-top:.95rem;display:flex;flex-wrap:wrap;justify-content:center}.reveal-up{animation:revealUp .68s ease both}.delay-1{animation-delay:90ms}.delay-2{animation-delay:.16s}@keyframes revealUp{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1050px){.portfolio-nav{grid-template-columns:auto 1fr}.portfolio-actions{grid-column:span 2;justify-self:end}.hero-section,.split,.project-grid,.skills-grid,.highlight-list,.timeline-item{grid-template-columns:1fr}}@media(max-width:700px){.portfolio-page{padding:.7rem}.portfolio-nav{border-radius:16px;top:.5rem;padding:.8rem}.nav-links{justify-content:flex-start;gap:.45rem}.portfolio-actions{justify-self:start;flex-wrap:wrap}.stat-grid{grid-template-columns:1fr}.hero-copy h1{font-size:clamp(2rem,10vw,3rem)}}@media(max-width:560px){.portfolio-page{padding:.55rem}.portfolio-main{gap:.75rem;padding-top:.8rem;padding-bottom:2rem}.portfolio-nav{padding:.65rem;gap:.6rem}.nav-links{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:.2rem}.nav-links a{white-space:nowrap;font-size:.84rem;padding:.34rem .56rem}.portfolio-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.yearbook-button,.resume-button{text-align:center;font-size:.84rem;padding:.42rem .62rem}.hero-section,.section,.contact-section{border-radius:16px;padding:.82rem}.timeline-item,.project-card,.skills-grid article,.stacked-cards article,.achievement-list li,.highlight-list article,.identity-card{padding:.72rem}}@media(prefers-reduced-motion:reduce){.reveal-up,.delay-1,.delay-2{animation:none}*{scroll-behavior:auto}}
