/* Glassmorphism 2.0: higher contrast, layered light, readable controls, and persistent color themes. */
:root{--font:'Plus Jakarta Sans',sans-serif;--display:'Sora',sans-serif;--mint:#7be7ce;--blue:#b9b7ff;--theme-bg:#11131f;--theme-ink:#f2f5ff;--theme-muted:#b0bfd0;--theme-line:rgba(212,224,250,.17);color-scheme:dark}
html[data-theme="light"]{--mint:#087d70;--blue:#4268a5;--theme-bg:#edf3f9;--theme-ink:#18263b;--theme-muted:#52657b;--theme-line:rgba(45,72,102,.16);color-scheme:light}
html{font-size:16px;scroll-behavior:smooth;scroll-padding-top:100px;transition:background-color .3s,color .3s}
body{font-family:var(--font);font-size:16px;color:var(--theme-ink);background:radial-gradient(ellipse at 75% 8%,rgba(103,91,170,.2),transparent 38%),radial-gradient(ellipse at 5% 77%,rgba(38,122,127,.13),transparent 40%),var(--theme-bg);transition:background .35s ease,color .25s ease}
html[data-theme="light"] body{background:radial-gradient(ellipse at 76% 8%,rgba(102,176,209,.2),transparent 38%),radial-gradient(ellipse at 5% 75%,rgba(147,160,221,.16),transparent 40%),#edf3f9}
.topbar{height:94px;border-color:var(--theme-line);gap:18px}
.brand{gap:13px}
.brand-image{width:auto;height:68px;max-height:72px;object-fit:contain;border-radius:0;background:transparent;padding:0;box-shadow:none}
.brand-copy b{font:700 15px var(--display);letter-spacing:-.025em;color:var(--theme-ink)}
.brand-copy small{font-size:9px;letter-spacing:.12em;color:var(--theme-muted)}
.topnav{gap:24px;font-size:14px;color:var(--theme-muted)}
.nav-button{font-size:14px;color:var(--theme-muted)}
.nav-student{font-size:13px;color:var(--theme-ink)}
.nav-cta{padding:11px 16px}
.theme-toggle{height:42px;min-width:88px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;border-radius:13px;border:1px solid var(--theme-line);background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.025));color:var(--theme-ink);font:600 12px var(--font);cursor:pointer;backdrop-filter:blur(16px);box-shadow:inset 0 1px rgba(255,255,255,.15),0 6px 22px rgba(0,0,0,.08);transition:transform .2s,border-color .2s,background .2s}
.theme-toggle:hover{transform:translateY(-2px);border-color:var(--mint)}
.theme-glyph{font-size:18px;line-height:1;color:var(--mint)}
.college-logo{width:58px;height:58px;flex:0 0 58px;border-radius:0;background:transparent;border:none;box-shadow:none}
.college-logo img{padding:0}
.page-shell{padding-top:39px}
.site-footer{width:min(1280px,calc(100% - 64px));height:auto;min-height:150px;display:block;padding:21px 0 15px;border-color:var(--theme-line);color:var(--theme-muted);font-size:12px;letter-spacing:0}
.footer-main{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:17px}
.footer-brand{display:flex;align-items:center;gap:13px;font:700 15px var(--display);color:var(--theme-ink)}
.footer-brand>img{width:92px;height:58px;object-fit:contain;padding:4px;background:#fff;border-radius:9px}
.footer-brand small{display:block;font:500 11px var(--font);color:var(--theme-muted);margin-top:4px}
.footer-partners{display:flex;align-items:center;gap:20px}
.partner-label{font-size:10px;letter-spacing:.13em;color:var(--theme-muted);font-weight:700}
.footer-partners img{display:block;object-fit:contain;background:#fff;border-radius:9px;padding:5px 8px;box-shadow:0 6px 20px rgba(0,0,0,.1)}
.partner-iic{width:168px;height:58px}.partner-step{width:83px;height:58px}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--theme-line);padding-top:13px;font-size:11px;color:var(--theme-muted)}
.eyebrow{font-size:11px;letter-spacing:.15em;color:var(--theme-muted)}
.hero-copy h1,.auth-intro h1,.registration-head h1{font-family:var(--display);letter-spacing:-.055em}
.hero-copy h1{font-size:clamp(58px,6.4vw,82px)}
.hero-lede,.auth-intro>p,.registration-head>p{font-size:17px;line-height:1.8;color:var(--theme-muted)}
.hero-proof{font-size:13px;color:var(--theme-muted)}.hero-proof b{color:var(--theme-ink)}
.avatars span{font-size:9px}
.glass-card{border-color:rgba(227,242,255,.31);background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(124,165,205,.035) 48%),rgba(13,34,55,.78);box-shadow:0 32px 90px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.2),0 0 50px rgba(96,202,193,.08)}
.launchpad-feature{display:block;width:100%;height:108px;object-fit:contain;margin:30px auto 0;padding:5px;border-radius:12px;background:#fff;box-shadow:0 8px 27px rgba(0,0,0,.16)}
.idea-card h2{font-family:var(--display);font-size:42px;margin:15px 0 25px}
.card-kicker,.card-bottom{font-size:10px}
.floating-chip{font-size:12px;padding:13px 16px}
.fact-value{font-size:29px}.fact-label{font-size:12px}.fact-cta>span{font-size:13px}.fact-cta a{font-size:12px}
.section-heading h2{font-family:var(--display);font-size:36px}.step-card{border-color:var(--theme-line);background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.025));backdrop-filter:blur(16px);box-shadow:inset 0 1px rgba(255,255,255,.09)}
.step-no{font-size:11px}.step-card h3{font-size:16px}.step-card p{font-size:13px;line-height:1.75;color:var(--theme-muted)}
.button{font-size:14px;padding:15px 21px;border-radius:14px}.hero-actions .button-quiet{color:var(--theme-ink)}
.auth-intro h1{font-size:clamp(49px,5vw,62px)}.auth-intro>p{font-size:15px}.mini-note b{font-size:13px}.mini-note small{font-size:12px;color:var(--theme-muted)}
.form-card{border:1px solid rgba(218,235,252,.22);background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.035)),rgba(18,37,59,.76);backdrop-filter:blur(25px);box-shadow:0 25px 75px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.16)}
.form-step{font-size:10px}.form-heading h2,.roster-heading h2{font-family:var(--display);font-size:26px}.form-heading p{font-size:13px;color:var(--theme-muted)}
.stack-form label,.member-input-grid label{font-size:13px;gap:8px}.stack-form input,.stack-form select,.member-input-grid input,.member-input-grid select{height:49px;font-size:14px;padding:0 14px;border-radius:12px}
.field-help{font-size:11px}.form-errors{font-size:13px;line-height:1.7}.form-switch{font-size:13px}.notice{font-size:13px;padding:15px 17px}
.dashboard-head h1{font-family:var(--display);font-size:44px}.dashboard-head p{font-size:14px;color:var(--theme-muted)}
.profile-chip b{font-size:13px}.profile-chip small{font-size:11px;color:var(--theme-muted)}
.empty-state h2{font-family:var(--display);font-size:29px}.empty-state p{font-size:14px;line-height:1.8;color:var(--theme-muted)}
.team-overview-top h2{font-family:var(--display);font-size:29px}.status-pill{font-size:11px;padding:9px 14px}
.team-meta small{font-size:10px}.team-meta b{font-size:13px;color:var(--theme-ink)}
.draft-banner b,.submitted-banner b{font-size:13px}.draft-banner small,.submitted-banner small{font-size:11px;color:var(--theme-muted)}.button-small{font-size:12px}
.section-heading.compact h2{font-size:25px}.section-caption{font-size:11px;color:var(--theme-muted)}
.member-row{min-height:75px}.member-identity b{font-size:13px}.member-identity small,.member-dept small{font-size:11px;color:var(--theme-muted)}.member-dept{font-size:12px}.leader-tag{font-size:9px}.no-members{font-size:13px}
.eligibility-strip b{font-size:13px}.eligibility-strip p{font-size:11px;line-height:1.7;color:var(--theme-muted)}.eligibility-mark{font-size:18px}
.back-link{font-size:13px}.registration-head h1{font-size:56px}.registration-head>p{font-size:15px}.eligibility-note p{font-size:13px;line-height:1.7;color:var(--theme-muted)}
.roster-heading>span{font-size:10px}.leader-card,.member-input-card{backdrop-filter:blur(14px);background:rgba(255,255,255,.035)}
.leader-card-head .member-number,.member-input-head .member-number{font-size:12px}.leader-details b{font-size:14px}.leader-details span,.leader-details small{font-size:11px;color:var(--theme-muted)}.member-input-head>b{font-size:13px}.member-input-caption{font-size:9px}.privacy-note{font-size:10px;color:var(--theme-muted)}
.button:active,.button.is-pressed{transform:scale(.975)}

/* Light appearance keeps glass translucent while raising contrast on every page. */
html[data-theme="light"] .ambient{opacity:.18}
html[data-theme="light"] .topbar{border-color:rgba(41,64,91,.13)}
html[data-theme="light"] .topnav,html[data-theme="light"] .nav-button,html[data-theme="light"] .nav-student{color:#40536b}
html[data-theme="light"] .nav-cta{color:#086f64;border-color:rgba(8,125,112,.38)}
html[data-theme="light"] .theme-toggle{background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(236,242,249,.72));color:#25364c;border-color:rgba(45,72,102,.18);box-shadow:inset 0 1px #fff,0 7px 22px rgba(40,64,89,.09)}
html[data-theme="light"] .college-logo{background:transparent;border:none;box-shadow:none}
html[data-theme="light"] .site-footer{border-color:rgba(45,72,102,.15)}
html[data-theme="light"] .brand-copy b,html[data-theme="light"] .footer-brand{color:#17263b}
html[data-theme="light"] .brand-copy small,html[data-theme="light"] .partner-label{color:#566c84}
html[data-theme="light"] .hero-lede,html[data-theme="light"] .auth-intro>p,html[data-theme="light"] .registration-head>p,html[data-theme="light"] .hero-proof{color:#4d6078}
html[data-theme="light"] .hero-proof b{color:#1d3046}
html[data-theme="light"] .orbit{border-color:rgba(47,94,132,.15)}
html[data-theme="light"] .glass-card{background:linear-gradient(145deg,rgba(255,255,255,.76),rgba(235,244,250,.52) 48%),rgba(223,235,246,.72);border-color:rgba(255,255,255,.82);box-shadow:0 30px 85px rgba(45,71,101,.18),inset 0 1px #fff,0 0 45px rgba(71,165,154,.1)}
html[data-theme="light"] .card-kicker,html[data-theme="light"] .card-bottom{color:#52687e}
html[data-theme="light"] .idea-card h2{color:#1b2d44}
html[data-theme="light"] .floating-chip{background:rgba(255,255,255,.82);border-color:rgba(255,255,255,.92);color:#243950;box-shadow:0 14px 35px rgba(42,70,101,.14)}
html[data-theme="light"] .quick-facts{border-color:rgba(45,72,102,.16)}
html[data-theme="light"] .quick-facts>div{border-color:rgba(45,72,102,.15)}
html[data-theme="light"] .fact-value{color:#1c2e45}html[data-theme="light"] .fact-label{color:#596d83}html[data-theme="light"] .fact-cta>span{color:#23384e}
html[data-theme="light"] .step-card{background:linear-gradient(145deg,rgba(255,255,255,.76),rgba(248,251,255,.48));border-color:rgba(255,255,255,.95);box-shadow:0 12px 36px rgba(42,70,101,.08),inset 0 1px #fff}
html[data-theme="light"] .step-card h3{color:#203249}html[data-theme="light"] .step-card p{color:#53677f}
html[data-theme="light"] .form-card{background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(255,255,255,.66)),rgba(246,250,255,.79);border-color:rgba(255,255,255,.95);box-shadow:0 22px 65px rgba(45,73,103,.13),inset 0 1px #fff}
html[data-theme="light"] .form-step{color:#586e86}html[data-theme="light"] .form-heading p,html[data-theme="light"] .field-help,html[data-theme="light"] .privacy-note{color:#586b82}
html[data-theme="light"] .stack-form label,html[data-theme="light"] .member-input-grid label{color:#2d4057}
html[data-theme="light"] .stack-form input,html[data-theme="light"] .stack-form select,html[data-theme="light"] .member-input-grid input,html[data-theme="light"] .member-input-grid select{background:rgba(255,255,255,.72);border-color:rgba(73,103,136,.25);color:#1c2c41;box-shadow:inset 0 1px 3px rgba(39,66,97,.035)}
html[data-theme="light"] .stack-form input::placeholder,html[data-theme="light"] .member-input-grid input::placeholder{color:#77899d}
html[data-theme="light"] .stack-form select option,html[data-theme="light"] .member-input-grid select option{background:#fff;color:#1c2c41}
html[data-theme="light"] .button-quiet{background:rgba(255,255,255,.62);border-color:rgba(66,96,128,.22);color:#263b52}
html[data-theme="light"] .form-switch{color:#53677f}
html[data-theme="light"] .profile-chip{background:rgba(255,255,255,.63);border-color:rgba(255,255,255,.95);box-shadow:0 8px 24px rgba(46,73,101,.07)}
html[data-theme="light"] .profile-chip b{color:#203249}html[data-theme="light"] .profile-chip small{color:#586d83}
html[data-theme="light"] .empty-state{background:radial-gradient(ellipse at 50% 0,rgba(44,164,151,.1),transparent 48%),rgba(255,255,255,.56);border-color:rgba(255,255,255,.95);box-shadow:0 20px 55px rgba(48,76,106,.08),inset 0 1px #fff}
html[data-theme="light"] .empty-state h2{color:#1c2f45}html[data-theme="light"] .empty-state p{color:#53677f}
html[data-theme="light"] .team-overview{background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(255,255,255,.54));border-color:rgba(255,255,255,.96);box-shadow:0 16px 46px rgba(42,72,102,.09),inset 0 1px #fff}
html[data-theme="light"] .team-overview-top h2,html[data-theme="light"] .team-meta b,html[data-theme="light"] .member-identity b,html[data-theme="light"] .member-dept{color:#1f3249}
html[data-theme="light"] .team-meta{border-color:rgba(54,80,108,.15)}html[data-theme="light"] .team-meta small{color:#586d83}
html[data-theme="light"] .draft-banner{background:rgba(173,122,10,.07);border-color:rgba(173,122,10,.2)}
html[data-theme="light"] .draft-banner b,html[data-theme="light"] .submitted-banner b{color:#24364c}
html[data-theme="light"] .draft-banner small,html[data-theme="light"] .submitted-banner small{color:#53677f}
html[data-theme="light"] .draft-banner .button-small{background:rgba(255,255,255,.9);border-color:rgba(90,112,137,.27);color:#263b52;box-shadow:0 4px 12px rgba(37,59,83,.08)}
html[data-theme="light"] .draft-banner .button-small:hover{background:#fff;border-color:rgba(8,125,112,.48);color:#075f57}
html[data-theme="light"] .submitted-banner{background:rgba(8,125,112,.065);border-color:rgba(8,125,112,.18)}
html[data-theme="light"] .member-list{border-color:rgba(54,80,108,.16)}html[data-theme="light"] .member-row{background:rgba(255,255,255,.58);border-color:rgba(54,80,108,.1)}
html[data-theme="light"] .member-identity small,html[data-theme="light"] .member-dept small,html[data-theme="light"] .section-caption,html[data-theme="light"] .muted-count{color:#5d7188}
html[data-theme="light"] .eligibility-strip{background:linear-gradient(100deg,rgba(8,125,112,.075),rgba(255,255,255,.55));border-color:rgba(8,125,112,.16)}html[data-theme="light"] .eligibility-strip b{color:#22384d}html[data-theme="light"] .eligibility-strip p{color:#53677f}
html[data-theme="light"] .eligibility-note{background:rgba(8,125,112,.07);border-color:rgba(8,125,112,.19)}html[data-theme="light"] .eligibility-note p{color:#40566d}html[data-theme="light"] .eligibility-note b{color:#1a3b3b}
html[data-theme="light"] .leader-card,html[data-theme="light"] .member-input-card{background:rgba(255,255,255,.57);border-color:rgba(54,80,108,.16)}html[data-theme="light"] .leader-card{background:rgba(8,125,112,.055);border-color:rgba(8,125,112,.19)}
html[data-theme="light"] .leader-details b,html[data-theme="light"] .member-input-head>b{color:#203249}html[data-theme="light"] .leader-details span,html[data-theme="light"] .leader-details small{color:#566b82}
html[data-theme="light"] .roster-heading{border-color:rgba(54,80,108,.15)}html[data-theme="light"] .roster-heading>span,html[data-theme="light"] .member-input-caption{color:#5c7188}
html[data-theme="light"] .form-actions{border-color:rgba(54,80,108,.15)}
html[data-theme="light"] .status-pill{color:#086f64;border-color:rgba(8,125,112,.28)}html[data-theme="light"] .status-draft{color:#795800}
html[data-theme="light"] .site-footer,html[data-theme="light"] .footer-bottom{color:#53677f}
html[data-theme="light"] .team-id-highlight{background:linear-gradient(120deg,rgba(8,125,112,.1),rgba(66,104,165,.07)),rgba(255,255,255,.78);border-color:rgba(8,125,112,.22);box-shadow:inset 0 1px #fff,0 10px 28px rgba(39,73,93,.08)}
html[data-theme="light"] .team-id-highlight small{color:#506b7e}html[data-theme="light"] .team-id-highlight strong{color:#123e45}html[data-theme="light"] .team-id-highlight div>span{color:#526b7c}

@media(max-width:850px){.topbar{gap:12px}.topnav{gap:15px}.brand-image{width:63px;height:48px}.brand-copy b{font-size:13px}.brand-copy small{font-size:8px}.theme-toggle{min-width:44px;width:44px;padding:0}.theme-toggle-label{display:none}.hero-lede{font-size:16px}}
@media(max-width:650px){.topbar{height:76px;gap:8px}.brand{gap:7px}.brand-image{width:49px;height:42px;padding:2px}.brand-copy{display:none}.topnav{gap:10px;font-size:12px}.nav-cta{padding:8px 10px}.theme-toggle{width:39px;height:39px;min-width:39px;border-radius:12px}.theme-glyph{font-size:18px}.college-logo{width:43px;height:43px;flex-basis:43px;border-radius:12px}.page-shell{padding-top:24px}.site-footer{width:calc(100% - 32px);padding-top:17px}.footer-main{align-items:flex-start;flex-direction:column;gap:17px}.footer-brand>img{width:78px;height:48px}.footer-partners{width:100%;gap:11px;flex-wrap:wrap}.partner-label{width:100%;font-size:9px}.partner-iic{width:145px;height:51px}.partner-step{width:70px;height:51px}.footer-bottom{font-size:10px}.hero-copy h1{font-size:clamp(49px,13vw,64px)}.hero-lede{font-size:15px}.hero-actions .button{font-size:12px}.hero-proof{font-size:12px}.fact-value{font-size:25px}.fact-label{font-size:11px}.fact-cta>span{font-size:12px}.fact-cta a{font-size:11px}.section-heading h2{font-size:30px}.step-card h3{font-size:15px}.step-card p{font-size:13px}.auth-intro h1{font-size:43px}.auth-intro>p{font-size:14px}.form-card{padding:20px}.form-heading h2,.roster-heading h2{font-size:23px}.stack-form label,.member-input-grid label{font-size:12px}.stack-form input,.stack-form select,.member-input-grid input,.member-input-grid select{height:47px;font-size:14px}.dashboard-head h1{font-size:36px}.dashboard-head p{font-size:13px}.empty-state h2{font-size:23px}.empty-state p{font-size:13px}.team-overview-top h2{font-size:22px}.team-meta b{font-size:12px}.member-identity b{font-size:12px}.member-identity small,.member-dept small{font-size:10px}.eligibility-strip p{font-size:10px}.registration-head h1{font-size:46px}.registration-head>p{font-size:14px}.eligibility-note p{font-size:12px}}
@media(max-width:650px){.team-id-highlight{padding:15px 14px;gap:11px}.team-id-symbol{width:38px;height:38px;flex-basis:38px}.team-id-highlight strong{font-size:21px}.team-id-highlight div>span{font-size:11px}}

/* Make portal entry points and feedback notices readable in both themes. */
.staff-entry-link{display:flex;align-items:center;gap:10px;width:max-content;max-width:100%;margin-top:18px;color:var(--theme-muted);font-size:15px;line-height:1.6}
.staff-entry-link>span{color:var(--mint);font-size:16px}
.staff-entry-link b{color:var(--theme-ink);font-size:15px;font-weight:700}
.staff-entry-link:hover b{color:var(--mint)}
.staff-account-note{margin:0;color:var(--theme-muted);font-size:12px;line-height:1.65}
.notice-success{color:#d9fff2}
.notice-error{color:#ffe0e3}
html[data-theme="light"] .notice-success{background:rgba(8,125,112,.1);border-color:rgba(8,125,112,.25);color:#174e46}
html[data-theme="light"] .notice-error{background:rgba(177,47,66,.08);border-color:rgba(177,47,66,.24);color:#7d2634}
html[data-theme="light"] .staff-entry-link{color:#52657b}
html[data-theme="light"] .staff-entry-link b{color:#18263b}
html[data-theme="light"] .staff-entry-link:hover b{color:#087d70}
html[data-theme="light"] .staff-account-note{color:#52657b}
@media(max-width:650px){.staff-entry-link{font-size:14px;flex-wrap:wrap;gap:6px}.staff-entry-link b{margin-left:25px;font-size:14px}}

/* Final contrast pass for text that was originally tuned only for dark glass. */
html[data-theme="light"] .mini-note b{color:#20354c}
html[data-theme="light"] .step-card-three{--step-accent:#7451a8}
html[data-theme="light"] .form-errors{background:rgba(177,47,66,.075);border-color:rgba(177,47,66,.25);color:#7d2634}
html[data-theme="light"] .form-errors b{color:#70232f}
html[data-theme="light"] .no-members{color:#52657b}
html[data-theme="light"] .eligibility-mark{color:#456779}
html[data-theme="light"] .logo-fallback{color:#40536b}
html[data-theme="light"] .hero-index{color:#536981}
html[data-theme="light"] .stack-form textarea::placeholder,html[data-theme="light"] .deadline-form input::placeholder,html[data-theme="light"] .staff-user-form input::placeholder,html[data-theme="light"] .staff-decision-form textarea::placeholder{color:#71849a;opacity:1}
html[data-theme="dark"] .stack-form textarea::placeholder,html[data-theme="dark"] .deadline-form input::placeholder,html[data-theme="dark"] .staff-user-form input::placeholder,html[data-theme="dark"] .staff-decision-form textarea::placeholder{color:#9eafc5;opacity:1}
html[data-theme="light"] .is-disabled{opacity:.68;filter:grayscale(.35)}
html[data-theme="dark"] .is-disabled{opacity:.58;filter:grayscale(.4)}

/* Mentor assignments, feedback, and administrator team records. */
.mentor-heading{margin-top:14px}
.mentor-intro{max-width:760px;color:var(--theme-muted);font-size:13px;line-height:1.7}
.mentor-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:15px 0 0 33px}
.mentor-input-grid label{display:flex;flex-direction:column;gap:7px;color:var(--theme-ink);font-size:12px;font-weight:600}
.mentor-input-grid input{width:100%;height:44px;padding:0 12px;border:1px solid var(--theme-line);border-radius:11px;background:rgba(255,255,255,.045);color:var(--theme-ink);font:inherit}
.mentor-input-grid input::placeholder{color:var(--theme-muted);opacity:.8}
.mentors-section{max-width:1120px;margin:35px auto 0;padding:25px 0 0;border-top:1px solid var(--theme-line)}
.mentor-feedback-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:18px}
.mentor-feedback-card{padding:18px 0;border-top:2px solid color-mix(in srgb,var(--mint) 55%,transparent)}
.mentor-feedback-head{display:flex;align-items:center;gap:12px}
.mentor-avatar{width:40px;height:40px;display:grid;place-items:center;flex:0 0 40px;border-radius:50%;background:color-mix(in srgb,var(--mint) 14%,transparent);color:var(--mint);font-size:17px}
.mentor-feedback-head h3{margin:0;color:var(--theme-ink);font:650 16px var(--display)}
.mentor-feedback-head p,.mentor-feedback-head small{display:block;margin:4px 0 0;color:var(--theme-muted);font-size:12px;line-height:1.5}
.mentor-feedback-copy{margin-top:16px;padding-left:13px;border-left:2px solid var(--mint)}
.mentor-feedback-copy>span{color:var(--mint);font-size:9px;font-weight:700;letter-spacing:.13em}
.mentor-feedback-copy p{margin:7px 0;color:var(--theme-ink);font-size:13px;line-height:1.75;overflow-wrap:anywhere}
.mentor-feedback-copy small,.mentor-feedback-pending{color:var(--theme-muted);font-size:11px;line-height:1.6}
.admin-team-detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:19px}
.admin-team-detail-grid h4{margin:0;color:var(--theme-ink);font:650 14px var(--display)}
.admin-mentor-list{display:grid;gap:9px;margin-top:12px}
.admin-mentor-list article{display:flex;flex-direction:column;gap:5px;padding:12px 13px;border-left:2px solid var(--mint);background:rgba(255,255,255,.035)}
.admin-mentor-list b{color:var(--theme-ink);font-size:13px}
.admin-mentor-list span,.admin-mentor-list small{color:var(--theme-muted);font-size:11px;line-height:1.5;overflow-wrap:anywhere}
.admin-mentor-list p{margin:5px 0 0;color:var(--theme-ink);font-size:12px;line-height:1.65;overflow-wrap:anywhere}
.mentor-feedback-form{display:grid;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--theme-line)}
.mentor-feedback-form label{display:flex;flex-direction:column;gap:8px;color:var(--theme-ink);font-size:13px;font-weight:650}
.mentor-feedback-form textarea{width:100%;min-height:120px;padding:13px 14px;resize:vertical;border:1px solid var(--theme-line);border-radius:13px;background:rgba(255,255,255,.045);color:var(--theme-ink);font:inherit;line-height:1.65}
.mentor-feedback-form textarea::placeholder{color:var(--theme-muted);opacity:.85}
.mentor-feedback-form>small{color:var(--theme-muted);font-size:11px}
html[data-theme="light"] .mentor-input-grid input,html[data-theme="light"] .mentor-feedback-form textarea{background:rgba(255,255,255,.82);border-color:rgba(73,103,136,.25);color:#1c2c41}
html[data-theme="light"] .mentor-input-grid input::placeholder,html[data-theme="light"] .mentor-feedback-form textarea::placeholder{color:#71849a}
html[data-theme="light"] .admin-mentor-list article{background:rgba(238,244,250,.82)}
html[data-theme="light"] .mentor-feedback-card{border-color:rgba(8,125,112,.5)}
@media(max-width:700px){.mentor-input-grid,.admin-team-detail-grid{grid-template-columns:1fr}.mentor-input-grid{margin-left:0}.mentor-feedback-list{grid-template-columns:1fr}.admin-team-card{padding:16px}}

/* Developer gallery and footer credits. */
.footer-credits{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0 4px;border-top:1px solid var(--theme-line);color:var(--theme-muted)}
.footer-credits p{flex:1 1 auto;margin:0;font-size:12px;line-height:1.7;white-space:nowrap}
.footer-credits p>a{color:var(--theme-ink);font-weight:700;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--mint) 60%,transparent);text-underline-offset:3px}
.footer-credits strong{color:var(--theme-ink);font-weight:650}
.footer-copyright,.footer-edition{flex:0 0 auto;color:var(--theme-muted);font-size:10px;white-space:nowrap}
.footer-copyright{position:relative;cursor:pointer;transition:color .2s ease}
.footer-copyright:hover{color:var(--mint);text-decoration:underline;text-underline-offset:3px}
.footer-copyright[data-tooltip]::after{
  content:attr(data-tooltip);
  position:absolute;
  bottom:calc(100% + 8px);
  left:50%;
  transform:translateX(-50%) translateY(4px);
  background:rgba(13,27,42,.95);
  color:#6ee7b7;
  padding:5px 12px;
  border-radius:8px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.02em;
  white-space:nowrap;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transition:opacity .2s ease,transform .2s ease,visibility .2s;
  box-shadow:0 6px 18px rgba(0,0,0,.35);
  border:1px solid rgba(86,203,187,.35);
  backdrop-filter:blur(10px);
  z-index:1000;
}
.footer-copyright[data-tooltip]::before{
  content:"";
  position:absolute;
  bottom:calc(100% + 2px);
  left:50%;
  transform:translateX(-50%) translateY(4px);
  border:4px solid transparent;
  border-top-color:rgba(13,27,42,.95);
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transition:opacity .2s ease,transform .2s ease,visibility .2s;
  z-index:1000;
}
.footer-copyright:hover::after,.footer-copyright:focus-visible::after{
  opacity:1;
  visibility:visible;
  transform:translateX(-50%) translateY(0);
}
.footer-copyright:hover::before,.footer-copyright:focus-visible::before{
  opacity:1;
  visibility:visible;
  transform:translateX(-50%) translateY(0);
}
html[data-theme="light"] .footer-copyright[data-tooltip]::after{
  background:rgba(15,35,58,.94);
  color:#f0fdfa;
  border-color:rgba(8,126,130,.4);
}
html[data-theme="light"] .footer-copyright[data-tooltip]::before{
  border-top-color:rgba(15,35,58,.94);
}
.developers-page .page-shell{width:min(1060px,calc(100% - 64px));padding-top:72px}
.developers-intro{text-align:center;margin:0 auto 52px}
.developers-intro .eyebrow{justify-content:center;color:var(--mint)}
.developers-intro .eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px var(--mint)}
.developers-intro h1{margin:14px 0 9px;color:var(--theme-ink);font:700 clamp(38px,6vw,58px)/1.1 var(--display);letter-spacing:-.06em}
.developers-intro h1 em{color:var(--mint);font-style:normal}
.developers-intro>p{margin:0;color:var(--theme-muted);font-size:15px;line-height:1.7}
.creator-guide{display:grid;grid-template-columns:minmax(220px,300px) 1fr;align-items:center;gap:30px;margin:0 auto 22px;padding:15px;border:1px solid var(--theme-line);border-radius:26px;background:linear-gradient(120deg,rgba(255,255,255,.08),rgba(255,255,255,.025));box-shadow:0 18px 50px rgba(0,0,0,.1);overflow:hidden}
.creator-photo{position:relative;min-height:360px;aspect-ratio:4/4.3;overflow:hidden;border-radius:22px;background:radial-gradient(ellipse at 45% 25%,color-mix(in srgb,var(--blue) 75%,transparent),transparent 55%),linear-gradient(145deg,color-mix(in srgb,var(--mint) 28%,var(--theme-bg)),color-mix(in srgb,var(--blue) 26%,var(--theme-bg)))}
.creator-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.creator-card:hover .creator-photo>img{transform:scale(1.035)}
.creator-photo>span:not(.creator-role-chip){position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.85);font:700 100px var(--display);text-shadow:0 5px 35px rgba(0,0,0,.18)}
.creator-role-chip{position:absolute;top:15px;left:15px;z-index:2;padding:8px 11px;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:rgba(13,26,43,.35);backdrop-filter:blur(12px);color:#fff;font-size:9px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}
.creator-guide .creator-photo{min-height:190px;aspect-ratio:1.4/1;border-radius:19px}
.creator-guide-copy{padding:12px 24px 12px 0}
.creator-kicker{display:inline-flex;padding:7px 10px;border:1px solid color-mix(in srgb,var(--mint) 35%,transparent);border-radius:999px;color:var(--mint);font-size:9px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.creator-guide-copy h2{margin:16px 0 3px;color:var(--theme-ink);font:650 clamp(25px,3vw,34px)/1.2 var(--display);letter-spacing:-.04em}
.creator-role{margin:0 0 12px;color:var(--mint);font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.creator-guide-copy>p:last-child{max-width:540px;margin:0;color:var(--theme-muted);font-size:14px;line-height:1.8}
.creator-guide-contacts{margin-top:14px;display:flex;flex-wrap:wrap;gap:10px}
.creator-guide-contacts .creator-email{display:inline-flex;align-items:center;gap:7px;padding:8px 16px;border-radius:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#e4f6f2;font-size:12px;font-weight:600;text-decoration:none;backdrop-filter:blur(8px);transition:all .2s ease}
html[data-theme="light"] .creator-guide-contacts .creator-email{background:rgba(8,126,120,.08);border-color:rgba(8,126,120,.2);color:#085f5a}
.creator-guide-contacts .creator-email:hover{background:rgba(45,174,161,.22);border-color:#2daea1;color:#fff;transform:translateY(-1px)}
html[data-theme="light"] .creator-guide-contacts .creator-email:hover{background:#087e78;color:#fff;border-color:#087e78}
.creator-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.creator-card{padding:10px;border:1px solid var(--theme-line);border-radius:25px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));box-shadow:0 15px 42px rgba(0,0,0,.1);animation-delay:calc(var(--creator-order,0)*.09s)}
.creator-card .creator-photo{min-height:430px;aspect-ratio:1/1.07}
.creator-photo-caption{position:absolute;right:0;bottom:0;left:0;z-index:1;padding:38px 21px 21px;background:linear-gradient(180deg,transparent,rgba(6,13,24,.91));color:#fff}
.creator-photo-caption h2{margin:0 0 4px;color:#fff;font:650 24px var(--display);letter-spacing:-.03em}
.creator-photo-caption p{margin:0 0 10px;color:#b6f3e4;font-size:10px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
html[data-theme="light"] .creator-guide{border-color:rgba(45,72,102,.1);background:linear-gradient(120deg,rgba(255,255,255,.84),rgba(255,255,255,.58));box-shadow:0 16px 40px rgba(46,67,91,.07)}
html[data-theme="light"] .creator-card{border-color:rgba(45,72,102,.1);background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,255,255,.64));box-shadow:0 14px 36px rgba(46,67,91,.08)}
@media(max-width:1000px){.footer-credits{gap:12px;flex-wrap:wrap}.footer-credits p{flex:1 1 100%;white-space:normal}.footer-copyright{margin-left:0}}
@media(max-width:700px){.footer-credits{align-items:center;gap:10px 16px;padding-top:13px}.footer-credits p span{display:block}.footer-copyright{margin-left:0}.footer-edition{flex-basis:100%}.developers-page .page-shell{width:calc(100% - 32px);padding-top:42px}.developers-intro{margin-bottom:34px}.developers-intro>p{font-size:13px}.creator-guide{grid-template-columns:1fr;gap:12px;padding:10px;border-radius:22px}.creator-guide .creator-photo{min-height:210px;aspect-ratio:1.5/1}.creator-guide-copy{padding:8px 9px 14px}.creator-guide-copy h2{margin-top:11px}.creator-guide-copy>p:last-child{font-size:13px}.creator-grid{grid-template-columns:1fr;gap:15px}.creator-card{padding:8px;border-radius:21px}.creator-card .creator-photo{min-height:400px;aspect-ratio:1/1.05}.creator-photo-caption{padding:38px 17px 17px}}

/* Mentor approval, team progress, and review feedback surfaces. */
.mentor-approval-form{display:grid;gap:12px;margin-top:17px;padding-top:15px;border-top:1px solid var(--theme-line)}
.mentor-account-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.mentor-approval-form label{display:flex;flex-direction:column;gap:7px;color:var(--theme-ink);font-size:12px;font-weight:650}
.mentor-approval-form input,.mentor-approval-form textarea{width:100%;min-height:43px;padding:10px 12px;border:1px solid var(--theme-line);border-radius:11px;background:rgba(255,255,255,.045);color:var(--theme-ink);font:inherit}
.mentor-approval-form textarea{resize:vertical;min-height:65px}
.mentor-approval-form input::placeholder,.mentor-approval-form textarea::placeholder{color:var(--theme-muted);opacity:.85}
.mentor-account-match{margin:0;color:var(--theme-muted);font-size:13px;line-height:1.6}
.mentor-account-match b{color:var(--theme-ink)}
.mentor-approval-actions{display:flex;gap:9px;flex-wrap:wrap}
.mentor-approval-status{align-self:center;flex:0 0 auto;padding:6px 9px;border:1px solid var(--theme-line);border-radius:999px;color:var(--theme-muted);font-size:9px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.mentor-status-approved{color:var(--mint);border-color:color-mix(in srgb,var(--mint) 40%,transparent)}
.mentor-status-rejected{color:#e99aa5;border-color:rgba(233,154,165,.35)}
.team-progress-section{max-width:1120px;margin:34px auto 0;padding:25px 0 0;border-top:1px solid var(--theme-line)}
.progress-timeline{display:grid;gap:0;margin-top:15px}
.progress-update{position:relative;padding:0 0 19px 18px;border-left:1px solid color-mix(in srgb,var(--mint) 42%,var(--theme-line))}
.progress-update::before{content:"";position:absolute;left:-4px;top:4px;width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px color-mix(in srgb,var(--mint) 50%,transparent)}
.progress-stage{display:inline-flex;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--mint) 11%,transparent);color:var(--mint);font-size:9px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.progress-update p{margin:8px 0;color:var(--theme-ink);font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.progress-update small{color:var(--theme-muted);font-size:10px}
.team-progress-form{display:grid;grid-template-columns:minmax(170px,.45fr) minmax(0,1fr);align-items:end;gap:13px;margin-top:16px;padding-top:16px;border-top:1px solid var(--theme-line)}
.team-progress-form label{display:flex;flex-direction:column;gap:7px;color:var(--theme-ink);font-size:12px;font-weight:650}
.team-progress-form select,.team-progress-form textarea{width:100%;min-height:45px;padding:10px 12px;border:1px solid var(--theme-line);border-radius:11px;background:rgba(255,255,255,.045);color:var(--theme-ink);font:inherit}
.team-progress-form textarea{min-height:100px;resize:vertical;line-height:1.65}
.team-progress-form textarea::placeholder{color:var(--theme-muted);opacity:.85}
.team-progress-form button{grid-column:2;justify-self:start}
.team-progress-form>small{grid-column:1/-1;color:var(--theme-muted);font-size:10px}
.mentor-team-progress{margin-top:17px;padding-top:15px;border-top:1px solid var(--theme-line)}
.mentor-team-progress h4{margin:0;color:var(--theme-ink);font:650 14px var(--display)}
.mentor-team-progress .progress-timeline{margin-top:12px}
html[data-theme="light"] .mentor-approval-form input,html[data-theme="light"] .mentor-approval-form textarea,html[data-theme="light"] .team-progress-form select,html[data-theme="light"] .team-progress-form textarea{background:rgba(255,255,255,.85);border-color:rgba(73,103,136,.25);color:#1c2c41}
html[data-theme="light"] .mentor-approval-form input::placeholder,html[data-theme="light"] .mentor-approval-form textarea::placeholder,html[data-theme="light"] .team-progress-form textarea::placeholder{color:#71849a}
html[data-theme="light"] .mentor-status-rejected{color:#8e3441}
.mentor-add-button{display:inline-flex;align-items:center;gap:10px;margin:3px 0 4px;padding:11px 14px;border:1px dashed color-mix(in srgb,var(--mint) 50%,var(--theme-line));border-radius:13px;background:color-mix(in srgb,var(--mint) 7%,transparent);color:var(--theme-ink);font:700 13px var(--font);cursor:pointer;transition:transform .2s,border-color .2s,background .2s}
.mentor-add-button[hidden]{display:none}
.mentor-add-button:hover{transform:translateY(-1px);border-color:var(--mint);background:color-mix(in srgb,var(--mint) 12%,transparent)}
.mentor-add-button>span{color:var(--mint);font-size:18px;line-height:1}
.mentor-add-button small{margin-left:2px;color:var(--theme-muted);font-size:10px;font-weight:650}
.mentor-remove-button{margin-left:auto;padding:6px 9px;border:1px solid var(--theme-line);border-radius:9px;background:transparent;color:var(--theme-muted);font-size:10px;font-weight:650;cursor:pointer}
.mentor-remove-button:hover{border-color:rgba(200,80,92,.4);color:#c4505e}
.mentor-empty-state{margin:6px 0;color:var(--theme-muted);font-size:12px}
@media(max-width:650px){.mentor-account-fields{grid-template-columns:1fr}.team-progress-form{grid-template-columns:1fr}.team-progress-form button,.team-progress-form>small{grid-column:1}.mentor-approval-actions{display:grid;grid-template-columns:1fr}.mentor-approval-actions .button{width:100%}}

/* A compact, high-contrast feature card for the four-person team rule. */
.hero-proof-card{position:relative;isolation:isolate;max-width:465px;margin-top:32px;padding:16px 19px 17px;border:1px solid rgba(205,232,255,.2);border-radius:18px;background:linear-gradient(125deg,rgba(255,255,255,.105),rgba(255,255,255,.025) 56%,rgba(120,166,207,.08)),rgba(10,27,45,.5);backdrop-filter:blur(20px);box-shadow:0 17px 42px rgba(0,0,0,.16),inset 0 1px rgba(255,255,255,.14);overflow:hidden}
.hero-proof-card::before{content:"";position:absolute;z-index:-1;width:210px;height:150px;right:-55px;bottom:-85px;border-radius:50%;background:rgba(123,231,206,.17);filter:blur(46px)}
.proof-card-head{display:flex;align-items:center;gap:9px;color:var(--theme-muted);font-size:10px;font-weight:700;letter-spacing:.15em}
.proof-pulse{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px var(--mint);animation:proofPulse 2.4s ease-in-out infinite}
.proof-spark{margin-left:auto;color:var(--mint);font-size:16px}
.proof-card-stats{display:flex;align-items:center;gap:18px;margin-top:12px}
.proof-stat{display:flex;align-items:center;gap:9px}
.proof-stat strong{font:700 31px/.95 var(--display);letter-spacing:-.06em;color:var(--theme-ink)}
.proof-stat strong span{color:var(--mint);font-size:.75em;margin-left:1px}
.proof-stat>span{font-size:9px;letter-spacing:.12em;font-weight:700;color:var(--theme-muted)}
.proof-join{font:400 20px var(--display);color:var(--mint);opacity:.9}
.proof-card-message{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--theme-line)}
.proof-card-message>span{font-size:11px;line-height:1.5;color:var(--theme-muted)}
.proof-card-message strong{font:650 12px var(--display);white-space:nowrap;color:var(--theme-ink)}
.proof-card-message i{display:inline-grid;place-items:center;width:20px;height:20px;margin-left:7px;border-radius:50%;background:rgba(123,231,206,.13);color:var(--mint);font-style:normal;font-size:11px}
html[data-theme="light"] .hero-proof-card{background:linear-gradient(125deg,rgba(255,255,255,.94),rgba(255,255,255,.68) 56%,rgba(225,237,248,.83)),rgba(255,255,255,.8);border-color:rgba(255,255,255,.98);box-shadow:0 17px 42px rgba(43,70,99,.12),inset 0 1px #fff}
html[data-theme="light"] .proof-card-head,html[data-theme="light"] .proof-stat>span{color:#50657b}
html[data-theme="light"] .proof-stat strong,html[data-theme="light"] .proof-card-message strong{color:#1c3046}
html[data-theme="light"] .proof-card-message>span{color:#4f647b}
@keyframes proofPulse{0%,100%{box-shadow:0 0 7px var(--mint);opacity:.8}50%{box-shadow:0 0 16px var(--mint);opacity:1}}
@media(max-width:650px){.hero-proof-card{margin-top:24px;padding:14px 15px 15px}.proof-card-stats{gap:12px}.proof-stat{gap:7px}.proof-stat strong{font-size:28px}.proof-stat>span{font-size:8px}.proof-card-message{align-items:flex-start;flex-direction:column;gap:6px}.proof-card-message>span{font-size:11px}.proof-card-message strong{font-size:12px}}

/* Centered eligibility callout replaces the duplicated eligibility counters. */
.eligibility-cta{min-height:188px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;margin:0 0 10px;padding:26px 18px;border-top:1px solid var(--theme-line);border-bottom:1px solid var(--theme-line);background:radial-gradient(ellipse at 50% 100%,rgba(123,231,206,.09),transparent 56%)}
.eligibility-cta .eyebrow{justify-content:center;font-size:10px;letter-spacing:.17em}
.eligibility-cta .eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px var(--mint)}
.eligibility-cta h2{margin:1px 0 2px;font:700 clamp(28px,3.5vw,38px)/1.2 var(--display);letter-spacing:-.045em;color:var(--theme-ink)}
.eligibility-cta h2 em{font-style:normal;color:var(--mint)}
.eligibility-link{display:inline-flex;align-items:center;gap:12px;margin-top:3px;padding:11px 16px;border:1px solid rgba(123,231,206,.26);border-radius:999px;background:linear-gradient(120deg,rgba(123,231,206,.12),rgba(169,199,255,.08));color:var(--theme-ink);font-size:14px;font-weight:650;box-shadow:inset 0 1px rgba(255,255,255,.12),0 7px 20px rgba(0,0,0,.08);transition:transform .23s,border-color .23s,box-shadow .23s}
.eligibility-link:hover{transform:translateY(-2px);border-color:var(--mint);box-shadow:0 10px 26px rgba(0,0,0,.12),0 0 22px rgba(123,231,206,.08)}
.eligibility-link span{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:rgba(123,231,206,.18);color:var(--mint);font-size:14px}
html[data-theme="light"] .eligibility-cta{background:radial-gradient(ellipse at 50% 100%,rgba(8,125,112,.07),transparent 57%);border-color:rgba(45,72,102,.14)}
html[data-theme="light"] .eligibility-link{background:linear-gradient(120deg,rgba(8,125,112,.085),rgba(66,104,165,.06));border-color:rgba(8,125,112,.23);color:#1b3047;box-shadow:inset 0 1px #fff,0 7px 20px rgba(43,70,99,.09)}
.topbar{height:116px}
.college-logo{width:76px;height:70px;flex:0 0 76px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:0;border-radius:0;padding:0;background:transparent;box-shadow:none}
.college-logo img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;padding:0;object-fit:contain;overflow:hidden;filter:none}
.brand-image{width:74px;height:54px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;object-fit:contain}
.launchpad-feature{background:transparent;padding:0;box-shadow:none;filter:drop-shadow(0 6px 12px rgba(0,0,0,.12))}
.footer-brand>img{background:transparent;box-shadow:none;padding:0}
.footer-partners img{background:transparent;box-shadow:none;padding:0;border-radius:0;filter:drop-shadow(0 2px 8px rgba(20,36,58,.1))}
html[data-theme="light"] .college-logo{background:transparent;border:0;box-shadow:none}
@media(max-width:850px){.college-logo{width:68px;height:62px;flex-basis:68px}}
@media(max-width:650px){.topbar{height:94px}.college-logo{width:52px;height:48px;flex-basis:52px;padding:0}.brand-image{width:49px;height:42px}.eligibility-cta{min-height:170px;padding:23px 12px}.eligibility-cta h2{font-size:29px}.eligibility-link{font-size:13px;padding:10px 14px}}
.proof-card-message{display:block;margin-top:14px;padding-top:14px}
.proof-card-message>span{display:block;font-size:13px;line-height:1.55}
.proof-card-message strong{display:block;margin-top:6px;font:650 19px/1.35 var(--display);letter-spacing:-.025em;white-space:normal}
.proof-card-message i{width:24px;height:24px;margin-left:8px}
@media(max-width:650px){.proof-card-message>span{font-size:12px}.proof-card-message strong{font-size:17px}}

/* Dark mode palette: midnight indigo, bright aqua, and sapphire with stronger text contrast. */
html[data-theme="dark"]{--mint:#76f0d7;--blue:#a3c2ff;--theme-bg:#080f1e;--theme-ink:#f5f8ff;--theme-muted:#bdcadd;--theme-line:rgba(204,224,247,.2)}
html[data-theme="dark"] body{background:radial-gradient(ellipse at 76% 7%,rgba(48,92,173,.26),transparent 39%),radial-gradient(ellipse at 6% 75%,rgba(17,117,126,.19),transparent 42%),#080f1e}
html[data-theme="dark"] .ambient-one{background:#386ce5;opacity:.17}
html[data-theme="dark"] .ambient-two{background:#16a89f;opacity:.15}
html[data-theme="dark"] .topbar,html[data-theme="dark"] .site-footer{border-color:rgba(204,224,247,.2)}
html[data-theme="dark"] .brand-copy small,html[data-theme="dark"] .footer-bottom{color:#b0bfd2}
html[data-theme="dark"] .brand-image,html[data-theme="dark"] .launchpad-feature{filter:brightness(1.28) saturate(1.1) drop-shadow(0 0 7px rgba(143,190,255,.28))}
html[data-theme="dark"] .college-logo img{filter:drop-shadow(0 0 10px rgba(117,190,255,.24))}
html[data-theme="dark"] .footer-partners img{filter:brightness(1.62) saturate(1.08) drop-shadow(0 0 7px rgba(148,190,255,.24))}
html[data-theme="dark"] .glass-card{background:linear-gradient(145deg,rgba(211,231,255,.14),rgba(119,158,212,.035) 48%),rgba(12,25,47,.83);border-color:rgba(208,230,255,.32)}
html[data-theme="dark"] .form-card{background:linear-gradient(145deg,rgba(207,229,255,.13),rgba(255,255,255,.035)),rgba(13,27,49,.82);border-color:rgba(207,229,255,.27)}
html[data-theme="dark"] .step-card{background:linear-gradient(148deg,rgba(211,231,255,.13),rgba(255,255,255,.035) 46%,rgba(133,170,218,.07)),rgba(14,27,48,.82);border-color:rgba(203,225,248,.23)}
html[data-theme="dark"] .step-no,html[data-theme="dark"] .team-meta small,html[data-theme="dark"] .section-caption,html[data-theme="dark"] .member-number,html[data-theme="dark"] .member-input-caption,html[data-theme="dark"] .roster-heading>span{color:#b6c7db}
html[data-theme="dark"] .card-kicker,html[data-theme="dark"] .card-bottom,html[data-theme="dark"] .team-meta b,html[data-theme="dark"] .member-identity small,html[data-theme="dark"] .member-dept small,html[data-theme="dark"] .leader-details span,html[data-theme="dark"] .leader-details small{color:#c2d0e1}
html[data-theme="dark"] .proof-card-head,html[data-theme="dark"] .step-category,html[data-theme="dark"] .step-card-bottom>span:first-child,html[data-theme="dark"] .proof-card-message>span,html[data-theme="dark"] .field-help,html[data-theme="dark"] .privacy-note{color:#bdcadd}
html[data-theme="dark"] .stack-form input,html[data-theme="dark"] .stack-form select,html[data-theme="dark"] .member-input-grid input,html[data-theme="dark"] .member-input-grid select{background:rgba(5,13,27,.72);border-color:rgba(187,213,244,.22);color:#f4f8ff}
html[data-theme="dark"] .stack-form input::placeholder,html[data-theme="dark"] .member-input-grid input::placeholder{color:#9eafc5}
html[data-theme="dark"] .button-quiet{background:rgba(202,224,250,.075);border-color:rgba(202,224,250,.23);color:#eef5ff}
html[data-theme="dark"] .theme-toggle{border-color:rgba(194,218,247,.24);background:linear-gradient(145deg,rgba(209,231,255,.15),rgba(164,194,235,.055));color:#f2f6ff}
html[data-theme="dark"] .status-pill{color:#a7f5e2;border-color:rgba(118,240,215,.34)}
html[data-theme="dark"] .status-draft{color:#ffe2a0;border-color:rgba(255,210,122,.3)}
html[data-theme="dark"] .eligibility-strip p,html[data-theme="dark"] .eligibility-note p,html[data-theme="dark"] .draft-banner small,html[data-theme="dark"] .submitted-banner small{color:#bdcadd}

/* Home page motion and left-aligned college identity. */
.topbar .college-logo{order:0;flex-shrink:0}
.topbar .brand{order:1}
.topbar .topnav{order:2}
.topbar .theme-toggle{order:3}
.home-page .launchpad-float{position:relative;z-index:1;width:min(100%,430px);padding:13px 18px 9px;animation:launchpadDrift 5.6s ease-in-out infinite}
.home-page .launchpad-float .card-top{position:relative;z-index:1}
.home-page .launchpad-visual{position:relative;width:100%;height:215px;margin:8px auto 0;isolation:isolate}
.home-page .launchpad-feature{position:relative;z-index:1;width:100%;height:100%;margin:0;padding:0;object-fit:contain;filter:brightness(1.12) saturate(1.08) drop-shadow(0 5px 12px rgba(37,72,110,.18))}
.home-page .launchpad-float h2{font:700 clamp(40px,4.2vw,54px)/.96 var(--display);letter-spacing:-.06em;margin:0 0 18px;text-align:center}
.home-page .launchpad-float h2 span{color:var(--mint)}
.home-page .launchpad-float .card-bottom{border:0;padding:0;max-width:290px;margin:0 auto}
.home-page .hero-art{isolation:isolate}
.home-page .hero-art::before{content:"";position:absolute;z-index:0;width:250px;height:250px;left:22%;top:19%;border-radius:50%;background:radial-gradient(circle,rgba(81,156,213,.17),rgba(81,156,213,.035) 47%,transparent 72%);filter:blur(11px);animation:ambientDrift 8s ease-in-out infinite;pointer-events:none}
.home-page .hero-art::after{content:"";position:absolute;z-index:0;width:10px;height:10px;left:18%;top:20%;background:var(--mint);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);filter:drop-shadow(0 0 8px var(--mint));animation:starDrift 4s ease-in-out infinite;pointer-events:none}
.home-page .hero-mote{position:absolute;z-index:0;display:grid;place-items:center;color:#9cf0d9;font-size:14px;text-shadow:0 0 12px currentColor;pointer-events:none;animation:moteDrift 5.8s ease-in-out infinite}
.home-page .mote-one{left:10%;top:37%;color:#ffe58c}
.home-page .mote-two{right:11%;bottom:28%;animation-delay:-2.1s}
.home-page .mote-three{left:22%;bottom:18%;width:5px;height:5px;border-radius:50%;background:#a5c4ff;box-shadow:0 0 14px #a5c4ff;animation-delay:-3.6s}
.home-page .orbit-a{animation:orbitA 12s ease-in-out infinite}
.home-page .orbit-b{animation:orbitB 15s ease-in-out infinite}
body.home-page.scroll-motion-enabled .scroll-animate{opacity:0;transform:translateY(16px);transition:opacity .35s ease-out,transform .35s cubic-bezier(.16,1,.3,1);transition-delay:var(--scroll-delay,0ms);will-change:opacity,transform}
body.home-page.scroll-motion-enabled .scroll-animate.is-visible{opacity:1;transform:translateY(0)}
@keyframes launchpadDrift{0%,100%{transform:translateY(0) rotate(-.35deg)}50%{transform:translateY(-4px) rotate(.35deg)}}
@keyframes ambientDrift{0%,100%{transform:translate(0,0) scale(.92);opacity:.58}50%{transform:translate(10px,-9px) scale(1.08);opacity:1}}
@keyframes starDrift{0%,100%{transform:translate(0,0) rotate(0) scale(.8);opacity:.42}50%{transform:translate(9px,-13px) rotate(55deg) scale(1.25);opacity:.95}}
@keyframes moteDrift{0%,100%{transform:translate3d(0,0,0) rotate(0) scale(.75);opacity:.34}48%{transform:translate3d(8px,-12px,0) rotate(32deg) scale(1.15);opacity:.9}76%{transform:translate3d(-3px,-5px,0) rotate(52deg) scale(.9);opacity:.56}}
@keyframes orbitA{0%,100%{transform:translateY(0) rotate(-25deg)}50%{transform:translateY(-8px) rotate(-22deg)}}
@keyframes orbitB{0%,100%{transform:rotate(33deg) scale(1)}50%{transform:rotate(29deg) scale(1.025)}}
html[data-theme="light"] .home-page .launchpad-feature{filter:brightness(1.02) saturate(1.05) drop-shadow(0 7px 14px rgba(40,70,105,.18))}
@media(max-width:650px){.home-page .launchpad-float{width:min(100%,390px);padding:10px 8px}.home-page .launchpad-visual{height:190px;margin-top:7px}.home-page .launchpad-float h2{font-size:42px;margin-bottom:15px}}
@media(prefers-reduced-motion:reduce){body.home-page.scroll-motion-enabled .scroll-animate{opacity:1;transform:none;transition:none}.home-page .launchpad-feature,.home-page .hero-art::before,.home-page .hero-art::after,.home-page .orbit-a,.home-page .orbit-b{animation:none!important}}

/* Dashboard refresh: an editorial layout with open surfaces, fine rules, and less card framing. */
.dashboard-head{align-items:center;padding:18px 0 32px;margin-bottom:14px;border-bottom:1px solid var(--theme-line)}
.dashboard-head h1{font:700 clamp(38px,4vw,48px)/1.15 var(--display);letter-spacing:-.055em}
.dashboard-head p{font-size:15px;color:var(--theme-muted)}
.profile-chip{gap:12px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.profile-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(145deg,rgba(118,240,215,.24),rgba(163,194,255,.24));border:1px solid color-mix(in srgb,var(--mint) 42%,transparent);color:var(--mint);font:700 17px var(--display)}
.profile-chip b{font-size:13px;color:var(--theme-ink)}.profile-chip small{font-size:11px;color:var(--theme-muted)}
.team-overview{padding:20px 0 0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
.team-overview-top{align-items:flex-end;padding-bottom:19px;border-bottom:1px solid var(--theme-line)}
.team-overview-top h2{font:650 clamp(28px,3.2vw,36px)/1.2 var(--display);letter-spacing:-.045em}
.status-pill{padding:0;border:0;border-radius:0;background:transparent;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.status-pill i{width:7px;height:7px;box-shadow:0 0 12px currentColor}
.team-id-highlight{gap:14px;margin-top:19px;padding:8px 0 15px;border:0;border-radius:0;background:transparent;box-shadow:none}
.team-id-symbol{width:3px;height:50px;flex:0 0 3px;border:0;border-radius:4px;padding:0;background:linear-gradient(180deg,var(--mint),var(--blue));font-size:0}
.team-id-highlight div{gap:3px}
.team-id-highlight small{font-size:10px;letter-spacing:.16em;color:var(--theme-muted)}
.team-id-highlight strong{font:700 clamp(24px,3vw,32px)/1.2 var(--display);letter-spacing:.025em;color:var(--theme-ink)}
.team-id-highlight div>span{font-size:12px;color:var(--theme-muted)}
.team-id-check{width:auto;height:auto;background:transparent;color:var(--mint);font-size:20px}
.team-meta{display:flex;align-items:center;gap:clamp(28px,7vw,88px);margin:0;padding:17px 0;border-top:1px solid var(--theme-line);border-bottom:1px solid var(--theme-line)}
.team-meta>div{min-width:0}
.team-meta small{font-size:9px;letter-spacing:.14em;color:var(--theme-muted);margin-bottom:6px}
.team-meta b{font-size:13px;color:var(--theme-ink)}
.submitted-banner,.draft-banner{gap:12px;padding:15px 0 3px;border:0;border-radius:0;background:transparent}
.submitted-banner>span,.draft-banner>span{font-size:16px;color:var(--mint)}
.submitted-banner b,.draft-banner b{font-size:12px;color:var(--theme-ink)}
.submitted-banner small,.draft-banner small{font-size:11px;color:var(--theme-muted)}
.members-section{margin-top:27px;padding:25px 0 8px;border-top:1px solid var(--theme-line)}
.section-heading.compact{align-items:flex-end}
.section-heading.compact h2{font:650 26px var(--display);letter-spacing:-.035em}
.member-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;margin-top:13px;border:0;border-radius:0;overflow:visible}
.member-row{position:relative;min-height:92px;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;gap:3px 12px;padding:14px 4px;border:0;border-bottom:1px solid var(--theme-line);background:transparent;transition:background .2s,padding .2s}
.member-row:hover{padding-left:10px;background:linear-gradient(90deg,rgba(118,240,215,.055),transparent 85%)}
.member-number{grid-column:1;grid-row:1/3;align-self:center;width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--theme-line);border-radius:50%;font:600 10px var(--display);color:var(--theme-muted)}
.member-identity{grid-column:2;grid-row:1}
.member-identity b{font-size:13px;color:var(--theme-ink)}
.member-identity small{font-size:10px;color:var(--theme-muted);line-height:1.5}
.member-dept{grid-column:2;grid-row:2;margin-top:2px;font-size:11px;color:var(--theme-ink)}
.member-dept small{display:inline;margin-left:8px;font-size:10px;color:var(--theme-muted)}
.member-check{display:none}
.leader-tag{padding:3px 6px;border:1px solid rgba(118,240,215,.28);border-radius:999px;background:rgba(118,240,215,.08);font-size:8px;letter-spacing:.09em}
.eligibility-strip{display:flex;gap:11px;align-items:center;margin-top:18px;padding:15px 0 5px;border:0;border-top:1px solid var(--theme-line);border-radius:0;background:transparent}
.eligibility-icon{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--mint);box-shadow:0 0 10px var(--mint)}
.eligibility-strip b{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--theme-muted)}
.eligibility-strip p{font-size:11px;color:var(--theme-muted)}
html[data-theme="light"] .member-number{border-color:rgba(45,72,102,.18);color:#5a6e85}
html[data-theme="light"] .member-row:hover{background:linear-gradient(90deg,rgba(8,125,112,.055),transparent 85%)}
html[data-theme="light"] .team-overview-top,html[data-theme="light"] .team-meta,html[data-theme="light"] .members-section,html[data-theme="light"] .eligibility-strip{border-color:rgba(45,72,102,.16)}
html[data-theme="light"] .team-overview .team-id-highlight{border:0;background:transparent;box-shadow:none}
@media(max-width:650px){.dashboard-head{align-items:flex-start;gap:15px;flex-direction:column;padding:10px 0 22px}.dashboard-head h1{font-size:35px}.profile-avatar{width:36px;height:36px;font-size:14px}.team-overview{padding-top:15px}.team-overview-top{align-items:flex-start;gap:12px}.team-overview-top h2{font-size:24px}.status-pill{font-size:9px}.team-id-highlight{gap:11px}.team-id-highlight strong{font-size:23px}.team-meta{gap:18px;justify-content:space-between}.team-meta b{font-size:11px}.team-meta small{font-size:8px}.members-section{margin-top:21px;padding-top:21px}.section-heading.compact{gap:8px}.section-heading.compact h2{font-size:22px}.member-list{grid-template-columns:1fr}.member-row{min-height:77px}.eligibility-strip{align-items:flex-start}.eligibility-strip p{font-size:10px}}

/* Profile-card direction for the registered team: expressive initials, no student photos. */
.dashboard-head{max-width:1280px;margin:0 auto 27px;padding:20px 0 26px}
.dashboard-head h1{font-size:clamp(40px,4.5vw,54px);letter-spacing:-.06em}
.dashboard-head p{font-size:16px;margin-top:7px}
.profile-chip{padding:10px 0}
.profile-avatar{width:48px;height:48px;font-size:18px}
.team-overview{max-width:1280px;margin:0 auto;padding:30px 32px 22px;display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,.58fr);gap:0 32px;border:1px solid rgba(255,255,255,.72);border-radius:24px;background:linear-gradient(120deg,rgba(255,255,255,.79),rgba(255,255,255,.49) 62%,rgba(223,241,245,.56));box-shadow:0 18px 52px rgba(51,80,111,.09),inset 0 1px rgba(255,255,255,.95);backdrop-filter:blur(22px)}
.team-overview-top{grid-column:1;grid-row:1;align-items:flex-start;padding:0;border:0}
.team-overview-top h2{font-size:clamp(30px,3.2vw,39px);margin-top:9px}
.team-overview-top .status-pill{margin-top:7px}
.team-id-highlight{grid-column:2;grid-row:1;align-self:center;margin:0;padding:17px 18px;gap:12px;border:1px solid rgba(8,125,112,.15);border-radius:18px;background:linear-gradient(130deg,rgba(8,125,112,.095),rgba(75,116,169,.07));box-shadow:inset 0 1px rgba(255,255,255,.66)}
.team-id-symbol{width:35px;height:35px;flex:0 0 35px;display:grid;place-items:center;border-radius:12px;background:rgba(8,125,112,.12);color:var(--mint);font-size:17px}
.team-id-highlight small{font-size:9px;letter-spacing:.14em}
.team-id-highlight strong{font-size:clamp(19px,2vw,25px);letter-spacing:.015em;white-space:nowrap}
.team-id-highlight div>span{font-size:11px}
.team-id-check{display:none}
.team-meta{grid-column:1/-1;display:flex;gap:clamp(28px,7vw,95px);margin-top:20px;padding:16px 0 13px;border-top:1px solid rgba(53,77,102,.13);border-bottom:0}
.team-meta small{font-size:9px;letter-spacing:.14em}
.team-meta b{font-size:13px}
.submitted-banner,.draft-banner{grid-column:1/-1;gap:10px;margin-top:2px;padding:12px 0 0;border-top:1px solid rgba(53,77,102,.1)}
.submitted-banner>span,.draft-banner>span{width:25px;height:25px;flex:0 0 25px;display:grid;place-items:center;border-radius:50%;background:rgba(8,125,112,.1);font-size:13px}
.submitted-banner b,.draft-banner b{font-size:12px}
.submitted-banner small,.draft-banner small{font-size:11px}
.members-section{max-width:1280px;margin:40px auto 0;padding:0;border:0}
.section-heading.compact{align-items:center;flex-direction:column;gap:7px;text-align:center}
.section-heading.compact h2{font:700 clamp(29px,3.2vw,38px)/1.2 var(--display);letter-spacing:-.05em;margin-top:8px}
.muted-count{font:600 14px var(--font);vertical-align:middle;padding:4px 8px;border-radius:999px;background:rgba(111,137,165,.11);color:var(--theme-muted)}
.section-caption{font-size:14px;color:var(--theme-muted)}
.member-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:25px}
.member-card{min-width:0;min-height:242px;display:flex;flex-direction:column;padding:22px 20px 18px;border:1px solid rgba(255,255,255,.82);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(255,255,255,.52));box-shadow:0 12px 34px rgba(44,70,100,.075),inset 0 1px rgba(255,255,255,.96);transition:transform .28s,border-color .28s,box-shadow .28s}
.member-card:hover{transform:translateY(-5px);border-color:rgba(8,125,112,.29);box-shadow:0 21px 46px rgba(44,70,100,.13),inset 0 1px #fff}
.member-card-head{display:flex;align-items:center;gap:9px;min-height:53px}
.member-avatar{width:50px;height:50px;flex:0 0 50px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.88);border-radius:50%;font:700 18px var(--display);box-shadow:0 7px 17px rgba(35,56,80,.12),inset 0 1px rgba(255,255,255,.7)}
.member-avatar-1{background:linear-gradient(145deg,#b8eee2,#72cbbb);color:#17483f}.member-avatar-2{background:linear-gradient(145deg,#d3c9ff,#a99bf0);color:#3b3270}.member-avatar-3{background:linear-gradient(145deg,#ffe0ae,#f5bd71);color:#704b1e}.member-avatar-4{background:linear-gradient(145deg,#c5dafa,#8fb5e8);color:#274c78}
.member-sequence{font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--theme-muted)}
.member-card .leader-tag{margin-left:auto;white-space:nowrap;font-size:7px}
.member-card h3{margin:17px 0 5px;font:650 18px/1.3 var(--display);letter-spacing:-.025em;color:var(--theme-ink)}
.member-card-dept{min-height:42px;margin:0;color:var(--theme-muted);font-size:12px;line-height:1.6}
.member-card-dept span{color:var(--mint);font-weight:700}
.member-card-contact{display:flex;flex-direction:column;gap:6px;margin-top:auto;padding-top:13px;border-top:1px solid rgba(53,77,102,.12);color:var(--theme-muted);font-size:12px;line-height:1.5}
.member-card-contact span{overflow-wrap:anywhere}
.member-card-contact span:first-child::before{content:"REG. NO.  ";font-size:9px;font-weight:700;letter-spacing:.09em;color:var(--theme-muted)}
.member-card-contact span:nth-child(2)::before{content:"EMAIL  ";font-size:9px;font-weight:700;letter-spacing:.09em;color:var(--theme-muted)}
.member-card-contact span:nth-child(3)::before{content:"PHONE  ";font-size:9px;font-weight:700;letter-spacing:.09em;color:var(--theme-muted)}
.member-check{display:none}
.eligibility-strip{max-width:1280px;margin:30px auto 0;padding:15px 18px;border:1px solid rgba(143,168,190,.15);border-radius:14px;background:rgba(255,255,255,.33)}
.eligibility-strip b{font-size:10px}.eligibility-strip p{font-size:12px;margin-top:5px}
html[data-theme="dark"] .team-overview{border-color:rgba(196,219,247,.18);background:linear-gradient(125deg,rgba(159,192,235,.105),rgba(121,151,194,.055) 58%,rgba(64,143,153,.075)),rgba(12,24,44,.74);box-shadow:0 20px 55px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.1)}
html[data-theme="dark"] .team-id-highlight{border-color:rgba(118,240,215,.21);background:linear-gradient(130deg,rgba(118,240,215,.12),rgba(122,159,229,.09));box-shadow:inset 0 1px rgba(255,255,255,.11)}
html[data-theme="dark"] .team-meta,html[data-theme="dark"] .submitted-banner,html[data-theme="dark"] .draft-banner{border-color:rgba(196,219,247,.16)}
html[data-theme="dark"] .member-card{border-color:rgba(204,224,247,.17);background:linear-gradient(145deg,rgba(201,224,249,.105),rgba(151,183,220,.045)),rgba(15,27,48,.72);box-shadow:0 14px 34px rgba(0,0,0,.15),inset 0 1px rgba(255,255,255,.11)}
html[data-theme="dark"] .member-card:hover{border-color:rgba(118,240,215,.34);box-shadow:0 23px 46px rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.16)}
html[data-theme="dark"] .member-card h3{color:#f3f7ff}
html[data-theme="dark"] .member-card-dept,html[data-theme="dark"] .member-card-contact{color:#bdcadd}
html[data-theme="dark"] .member-card-contact{border-color:rgba(204,224,247,.16)}
html[data-theme="dark"] .eligibility-strip{border-color:rgba(204,224,247,.15);background:rgba(161,191,228,.045)}
html[data-theme="light"] .team-overview{border-color:rgba(255,255,255,.94)}
html[data-theme="light"] .team-id-highlight{border-color:rgba(8,125,112,.17);background:linear-gradient(130deg,rgba(8,125,112,.075),rgba(75,116,169,.05))}
html[data-theme="light"] .member-card{border-color:rgba(255,255,255,.96)}
html[data-theme="light"] .eligibility-strip{border-color:rgba(70,98,128,.15);background:rgba(255,255,255,.47)}
html[data-theme="light"] .dashboard-head .profile-chip,html[data-theme="dark"] .dashboard-head .profile-chip{background:transparent;border:0;border-radius:0;box-shadow:none}
html[data-theme="light"] .team-overview .submitted-banner,html[data-theme="dark"] .team-overview .submitted-banner{background:transparent;border:0;border-radius:0;box-shadow:none}
.dashboard-head .profile-chip{gap:14px}
.dashboard-head .profile-chip b{font-size:16px;line-height:1.35}
.dashboard-head .profile-chip small{font-size:13px;line-height:1.5}
@media(max-width:1000px){.member-list{grid-template-columns:repeat(2,minmax(0,1fr))}.team-overview{grid-template-columns:minmax(0,1fr) minmax(260px,.8fr)}}
@media(max-width:650px){.team-overview{grid-template-columns:1fr;padding:23px 19px 18px;gap:0;border-radius:20px}.team-overview-top{grid-column:1;grid-row:1}.team-overview-top h2{font-size:27px}.team-id-highlight{grid-column:1;grid-row:2;margin-top:17px;padding:13px 14px}.team-id-highlight strong{font-size:21px}.team-meta{grid-column:1;grid-row:3;gap:14px;margin-top:14px;padding:13px 0}.team-meta>div{flex:1}.team-meta b{font-size:10px}.submitted-banner,.draft-banner{grid-column:1;grid-row:4}.members-section{margin-top:34px}.member-list{grid-template-columns:1fr;gap:12px;margin-top:19px}.member-card{min-height:220px;padding:20px}.section-heading.compact h2{font-size:28px}.section-caption{font-size:12px}.eligibility-strip{margin-top:22px;padding:13px 14px}.eligibility-strip p{font-size:11px}}
@media(prefers-reduced-motion:reduce){html,body,*{transition-duration:.01ms!important}}

/* Role-based registration workspaces and student-request windows. */
.staff-section,.notification-section{max-width:1120px;margin:36px auto 0;padding:28px 0;border-top:1px solid var(--theme-line)}
.staff-section h2{margin:8px 0 0;font:700 clamp(24px,3vw,32px)/1.2 var(--display);letter-spacing:-.04em;color:var(--theme-ink)}
.staff-intro,.staff-empty{max-width:760px;color:var(--theme-muted);font-size:14px;line-height:1.75}
.deadline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
.deadline-form,.staff-item,.staff-user-form,.staff-user-list article{border:1px solid var(--theme-line);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025)),rgba(255,255,255,.035);box-shadow:0 12px 32px rgba(0,0,0,.06)}
.deadline-form{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:20px}
.deadline-form .button{display:inline-flex;visibility:visible;min-height:44px;opacity:1;font-size:13px;font-weight:750}
html[data-theme="light"] .deadline-form .button-primary,html[data-theme="light"] .staff-decision-form .button-primary{color:#092333}
.deadline-form label,.staff-user-form label,.staff-decision-form label{display:flex;flex-direction:column;gap:8px;width:100%;color:var(--theme-ink);font-size:13px;font-weight:650}
.deadline-form input,.staff-user-form input,.staff-user-form select,.staff-decision-form textarea{width:100%;min-height:45px;padding:11px 13px;border:1px solid var(--theme-line);border-radius:12px;background:rgba(255,255,255,.035);color:var(--theme-ink)}
.stack-form textarea{width:100%;min-height:120px;padding:13px 14px;resize:vertical;border:1px solid var(--theme-line);border-radius:13px;background:rgba(255,255,255,.055);color:var(--theme-ink);font:inherit;line-height:1.65}
.deadline-form small{color:var(--theme-muted);font-size:12px}
.staff-queue{display:grid;gap:14px;margin-top:20px}
.staff-item{padding:20px}
.staff-item-heading{display:flex;justify-content:space-between;gap:16px}
.staff-item-heading small{color:var(--theme-muted);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.staff-item-heading h3{margin:7px 0;font:700 20px var(--display);color:var(--theme-ink)}
.staff-item-heading p,.staff-item-heading>span{margin:0;color:var(--theme-muted);font-size:12px}
.review-roster{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-top:16px}
.review-roster>div{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:11px;background:rgba(255,255,255,.045)}
.review-roster b{color:var(--theme-ink);font-size:12px}
.review-roster span{color:var(--theme-muted);font-size:11px;line-height:1.5}
.eligibility-review-count{display:block;margin-top:10px;color:var(--theme-muted);font-size:11px}
.staff-decision-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;margin-top:18px}
.staff-decision-form textarea{resize:vertical;min-height:68px}
.staff-decision-form>div{display:flex;gap:8px;flex-wrap:wrap}
.request-summary{margin:14px 0 0;color:var(--theme-ink);font-size:13px;font-weight:650}
.staff-item blockquote{margin:12px 0 0;padding-left:14px;border-left:2px solid var(--mint);color:var(--theme-muted);font-size:13px;line-height:1.7}

.staff-empty-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 8px;
  padding: 36px 20px;
  border: 1px dashed var(--theme-line);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.025);
  margin-top: 18px;
}
.staff-empty-box svg {
  color: var(--mint);
  margin-bottom: 4px;
}
.staff-empty-box b {
  font-size: 15px;
  font-weight: 750;
  color: var(--theme-ink);
}
.staff-empty-box p {
  font-size: 13px;
  color: var(--theme-muted);
  max-width: 480px;
  margin: 0;
  line-height: 1.5;
}
html[data-theme="light"] .staff-empty-box {
  background: rgba(255, 255, 255, 0.7);
  border-color: rgba(73, 103, 136, 0.2);
}

.request-review-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 22px;
  border-radius: 18px;
  border: 1px solid var(--theme-line);
  background: rgba(255, 255, 255, 0.035);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
  transition: border-color 0.2s ease;
}
.request-review-card:hover {
  border-color: rgba(105, 218, 194, 0.35);
}
html[data-theme="light"] .request-review-card {
  background: rgba(255, 255, 255, 0.9);
  border-color: rgba(73, 103, 136, 0.18);
  box-shadow: 0 4px 16px rgba(44, 70, 100, 0.05);
}

.request-type-badge-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.request-team-code {
  font-size: 11px;
  font-weight: 800;
  color: var(--theme-muted);
  letter-spacing: 0.06em;
}

.request-change-highlight {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 13px;
  border-radius: 10px;
  background: rgba(14, 165, 233, 0.1);
  border: 1px solid rgba(14, 165, 233, 0.25);
  color: #38bdf8;
  font-size: 13px;
  font-weight: 650;
}
html[data-theme="light"] .request-change-highlight {
  background: rgba(14, 165, 233, 0.07);
  border-color: rgba(14, 165, 233, 0.22);
  color: #0369a1;
}

.request-reason-quote {
  margin: 0;
  padding: 10px 14px;
  border-left: 3px solid var(--mint);
  background: rgba(255, 255, 255, 0.025);
  border-radius: 0 10px 10px 0;
}
.request-reason-quote small {
  display: block;
  font-size: 11px;
  font-weight: 750;
  color: var(--theme-muted);
  margin-bottom: 4px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.request-reason-quote p {
  margin: 0;
  font-size: 13px;
  color: var(--theme-ink);
  line-height: 1.6;
}

.staff-decision-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.button-reject {
  color: #f87171 !important;
  border-color: rgba(239, 68, 68, 0.35) !important;
}
.button-reject:hover {
  background: rgba(239, 68, 68, 0.15) !important;
  border-color: rgba(239, 68, 68, 0.5) !important;
}
html[data-theme="light"] .button-reject {
  color: #dc2626 !important;
  border-color: rgba(239, 68, 68, 0.28) !important;
}
.staff-user-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:20px;margin-top:18px}
.staff-user-form button{align-self:end;min-height:45px}
.staff-user-list{display:grid;gap:9px;margin-top:18px}
.staff-user-list article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 17px}
.staff-user-list article>span:first-child{display:flex;flex-direction:column;gap:4px}
.staff-user-list b{color:var(--theme-ink);font-size:14px}
.staff-user-list small{color:var(--theme-muted);font-size:12px}
.staff-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin-top:20px}
.staff-stats article{display:flex;flex-direction:column;gap:8px;padding:18px;border-bottom:1px solid var(--theme-line)}
.staff-stats small{color:var(--theme-muted);font-size:10px;font-weight:700;letter-spacing:.11em}
.staff-stats b{font:700 30px var(--display);color:var(--theme-ink)}
/* =========================================================================
   TEAM CHANGES & DISSOLUTION PROCESS HUB (STUDENT DASHBOARD & REQUEST FORM)
   ========================================================================= */
.team-request-controls {
  max-width: 1180px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin: 32px auto 0;
  padding: 28px 0;
  border-top: 1px solid var(--theme-line);
  border-bottom: 1px solid var(--theme-line);
}

.team-changes-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  align-items: start;
  gap: 28px;
}

.request-control-copy h2 {
  margin: 8px 0;
  font: 750 26px var(--display);
  letter-spacing: -0.04em;
  color: var(--theme-ink);
}

.request-control-copy p {
  margin: 0;
  color: var(--theme-muted);
  font-size: 13.5px;
  line-height: 1.65;
}

.request-status {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 14px;
  padding: 10px 14px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--theme-line);
  border-left: 3px solid var(--mint);
}

html[data-theme="light"] .request-status {
  background: rgba(255, 255, 255, 0.85);
  border-color: rgba(73, 103, 136, 0.18);
  border-left-color: var(--mint);
}

.request-status-badge-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.status-badge {
  font-size: 10.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 2px 7px;
  border-radius: 5px;
}

.status-badge.status-pending {
  background: rgba(245, 158, 11, 0.15);
  color: #fbbf24;
  border: 1px solid rgba(245, 158, 11, 0.3);
}

.status-badge.status-approved {
  background: rgba(16, 185, 129, 0.15);
  color: #34d399;
  border: 1px solid rgba(16, 185, 129, 0.3);
}

.status-badge.status-rejected {
  background: rgba(239, 68, 68, 0.15);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.3);
}

.request-status b {
  color: var(--theme-ink);
  font-size: 13px;
}

.request-status small {
  color: var(--theme-muted);
  font-size: 11.5px;
  line-height: 1.5;
}

.request-deadlines {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.deadline-action-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 18px 20px;
  border: 1px solid var(--theme-line);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.035);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.deadline-action-card:hover {
  transform: translateY(-2px);
  border-color: rgba(105, 218, 194, 0.35);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

html[data-theme="light"] .deadline-action-card {
  background: rgba(255, 255, 255, 0.88);
  border-color: rgba(73, 103, 136, 0.18);
  box-shadow: 0 6px 20px rgba(44, 70, 100, 0.06);
}

.deadline-meta-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
}

.deadline-type-tag {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 5px;
  background: rgba(105, 218, 194, 0.14);
  color: var(--mint);
  border: 1px solid rgba(105, 218, 194, 0.28);
}

.deadline-type-danger {
  background: rgba(239, 68, 68, 0.12);
  color: #f87171;
  border-color: rgba(239, 68, 68, 0.28);
}

html[data-theme="light"] .deadline-type-danger {
  background: rgba(239, 68, 68, 0.08);
  color: #dc2626;
  border-color: rgba(239, 68, 68, 0.24);
}

.deadline-action-card small {
  color: var(--theme-muted);
  font-size: 9.5px;
  font-weight: 750;
  letter-spacing: 0.1em;
}

.deadline-date {
  color: var(--theme-ink);
  font-size: 13.5px;
  font-weight: 750;
  line-height: 1.4;
  min-height: 38px;
  display: flex;
  align-items: center;
}

.button-danger-quiet {
  color: #f87171 !important;
  border-color: rgba(239, 68, 68, 0.3) !important;
}

.button-danger-quiet:hover {
  background: rgba(239, 68, 68, 0.15) !important;
  border-color: rgba(239, 68, 68, 0.45) !important;
}

html[data-theme="light"] .button-danger-quiet {
  color: #dc2626 !important;
  border-color: rgba(239, 68, 68, 0.25) !important;
}

.leader-only-hint {
  font-size: 11px;
  font-weight: 600;
  color: var(--theme-muted);
  font-style: italic;
  margin-top: 4px;
}

/* Step-by-Step Interactive Workflow Hub */
.team-change-workflow-hub {
  margin-top: 8px;
  padding-top: 24px;
  border-top: 1px dashed var(--theme-line);
  width: 100%;
}

.workflow-tabs-header {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
}

.workflow-tabs-pills {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--theme-line);
  flex-wrap: wrap;
}

html[data-theme="light"] .workflow-tabs-pills {
  background: rgba(0, 0, 0, 0.04);
  border-color: rgba(73, 103, 136, 0.16);
}

.workflow-tab-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 10px;
  font-size: 12.5px;
  font-weight: 750;
  color: var(--theme-muted);
  background: transparent;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.2s ease;
}

.workflow-tab-btn:hover {
  color: var(--theme-ink);
  background: rgba(255, 255, 255, 0.05);
}

.workflow-tab-btn.active {
  color: var(--theme-ink);
  background: rgba(255, 255, 255, 0.09);
  border-color: rgba(105, 218, 194, 0.35);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}

html[data-theme="light"] .workflow-tab-btn.active {
  background: #ffffff;
  color: #0f172a;
  border-color: rgba(73, 103, 136, 0.22);
  box-shadow: 0 4px 14px rgba(44, 70, 100, 0.08);
}

.tab-chip {
  font-size: 10px;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(105, 218, 194, 0.16);
  color: var(--mint);
  font-weight: 800;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

.workflow-panel {
  display: none;
}

.workflow-panel.active {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 18px;
  animation: fadeIn 0.25s ease;
}

.workflow-panel-lead {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.workflow-lead-info h4 {
  font-size: 16.5px;
  font-weight: 750;
  color: var(--theme-ink);
  margin: 0;
  letter-spacing: -0.02em;
}

.workflow-lead-info p {
  font-size: 13px;
  color: var(--theme-muted);
  margin: 4px 0 0;
  line-height: 1.5;
}

.workflow-prereq-alert {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 15px;
  border-radius: 12px;
  font-size: 12.5px;
  line-height: 1.55;
  background: rgba(14, 165, 233, 0.12);
  border: 1px solid rgba(14, 165, 233, 0.3);
  color: #38bdf8;
}

.workflow-prereq-alert svg {
  flex: 0 0 16px;
}

.workflow-prereq-alert.alert-warning {
  background: rgba(245, 158, 11, 0.12);
  border-color: rgba(245, 158, 11, 0.3);
  color: #fbbf24;
}

html[data-theme="light"] .workflow-prereq-alert {
  background: rgba(14, 165, 233, 0.08);
  border-color: rgba(14, 165, 233, 0.25);
  color: #0369a1;
}

html[data-theme="light"] .workflow-prereq-alert.alert-warning {
  background: rgba(245, 158, 11, 0.08);
  border-color: rgba(245, 158, 11, 0.25);
  color: #b45309;
}

.workflow-steps-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(205px, 1fr));
  gap: 14px;
}

.steps-grid-4 {
  grid-template-columns: repeat(auto-fit, minmax(235px, 1fr));
}

.workflow-step-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 18px;
  border-radius: 16px;
  border: 1px solid var(--theme-line);
  background: rgba(255, 255, 255, 0.035);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.workflow-step-card:hover {
  transform: translateY(-3px);
  border-color: rgba(105, 218, 194, 0.38);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

html[data-theme="light"] .workflow-step-card {
  background: rgba(255, 255, 255, 0.88);
  border-color: rgba(73, 103, 136, 0.18);
  box-shadow: 0 4px 14px rgba(44, 70, 100, 0.04);
}

.workflow-step-card.step-highlight {
  background: linear-gradient(150deg, rgba(105, 218, 194, 0.09), rgba(255, 255, 255, 0.03));
  border-color: rgba(105, 218, 194, 0.4);
}

html[data-theme="light"] .workflow-step-card.step-highlight {
  background: linear-gradient(150deg, rgba(8, 125, 112, 0.07), rgba(255, 255, 255, 0.95));
  border-color: rgba(8, 125, 112, 0.35);
}

.step-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.step-number-badge {
  font-size: 13.5px;
  font-weight: 850;
  font-family: var(--display);
  color: var(--mint);
  letter-spacing: 0.02em;
}

.step-policy-badge {
  font-size: 9.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 2px 6px;
  border-radius: 5px;
}

.badge-mandatory {
  background: rgba(239, 68, 68, 0.14);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.28);
}

.badge-policy {
  background: rgba(139, 92, 246, 0.14);
  color: #a78bfa;
  border: 1px solid rgba(139, 92, 246, 0.28);
}

.badge-eligibility {
  background: rgba(14, 165, 233, 0.14);
  color: #38bdf8;
  border: 1px solid rgba(14, 165, 233, 0.28);
}

.badge-action {
  background: rgba(245, 158, 11, 0.14);
  color: #fbbf24;
  border: 1px solid rgba(245, 158, 11, 0.28);
}

.badge-approval {
  background: rgba(16, 185, 129, 0.14);
  color: #34d399;
  border: 1px solid rgba(16, 185, 129, 0.28);
}

html[data-theme="light"] .badge-mandatory {
  background: rgba(239, 68, 68, 0.08);
  color: #b91c1c;
}
html[data-theme="light"] .badge-policy {
  background: rgba(139, 92, 246, 0.08);
  color: #6d28d9;
}
html[data-theme="light"] .badge-eligibility {
  background: rgba(14, 165, 233, 0.08);
  color: #0369a1;
}
html[data-theme="light"] .badge-action {
  background: rgba(245, 158, 11, 0.08);
  color: #b45309;
}
html[data-theme="light"] .badge-approval {
  background: rgba(16, 185, 129, 0.08);
  color: #047857;
}

.step-icon-circle {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: rgba(105, 218, 194, 0.12);
  color: var(--mint);
  border: 1px solid rgba(105, 218, 194, 0.25);
}

.workflow-step-card h5 {
  font-size: 14.5px;
  font-weight: 750;
  color: var(--theme-ink);
  margin: 0;
  line-height: 1.35;
}

.workflow-step-card p {
  font-size: 12px;
  color: var(--theme-muted);
  margin: 0;
  line-height: 1.6;
}

.workflow-step-card a {
  color: var(--mint);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.workflow-step-card code {
  font-size: 11px;
  padding: 1px 4px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.08);
  color: var(--mint);
}

html[data-theme="light"] .workflow-step-card code {
  background: rgba(0, 0, 0, 0.06);
  color: #047857;
}

/* Checklist Card in team_change.php */
.team-change-checklist-card {
  margin: 18px 0 22px;
  padding: 18px 20px;
  border-radius: 16px;
  border: 1px solid var(--theme-line);
  background: rgba(255, 255, 255, 0.035);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
}

html[data-theme="light"] .team-change-checklist-card {
  background: rgba(255, 255, 255, 0.88);
  border-color: rgba(73, 103, 136, 0.18);
  box-shadow: 0 4px 16px rgba(44, 70, 100, 0.05);
}

.checklist-header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
}

.checklist-icon-badge {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: rgba(105, 218, 194, 0.12);
  color: var(--mint);
  border: 1px solid rgba(105, 218, 194, 0.25);
  flex: 0 0 36px;
}

.checklist-header h4 {
  font-size: 15.5px;
  font-weight: 750;
  color: var(--theme-ink);
  margin: 0;
  letter-spacing: -0.01em;
}

.checklist-header p {
  font-size: 12px;
  color: var(--theme-muted);
  margin: 3px 0 0;
  line-height: 1.45;
}

.checklist-items-grid {
  display: grid;
  gap: 10px;
}

.checklist-item-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid var(--theme-line);
  font-size: 12px;
  line-height: 1.55;
}

.checklist-item-row.item-highlight {
  background: rgba(105, 218, 194, 0.08);
  border-color: rgba(105, 218, 194, 0.25);
}

html[data-theme="light"] .checklist-item-row.item-highlight {
  background: rgba(8, 125, 112, 0.07);
  border-color: rgba(8, 125, 112, 0.25);
}

.checklist-item-row.item-danger {
  background: rgba(239, 68, 68, 0.08);
  border-color: rgba(239, 68, 68, 0.25);
}

html[data-theme="light"] .checklist-item-row.item-danger {
  background: rgba(239, 68, 68, 0.06);
  border-color: rgba(239, 68, 68, 0.22);
}

.checklist-dot {
  font-weight: 850;
  color: var(--mint);
  flex: 0 0 auto;
  margin-top: 1px;
}

.item-danger .checklist-dot {
  color: #f87171;
}

.checklist-item-row b {
  color: var(--theme-ink);
  font-weight: 750;
  margin-right: 4px;
}

.checklist-item-row span {
  color: var(--theme-muted);
}

.checklist-item-row a {
  color: var(--mint);
  font-weight: 750;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.is-disabled{opacity:.42;pointer-events:none;filter:grayscale(.6)}
.notification-section{padding-bottom:0}
.notification-list{display:grid;gap:0;margin-top:18px}
.notification-item{display:flex;gap:13px;padding:14px 0;border-bottom:1px solid var(--theme-line)}
.notification-dot{width:8px;height:8px;flex:0 0 8px;margin-top:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 10px color-mix(in srgb,var(--mint) 60%,transparent)}
.notification-item b{color:var(--theme-ink);font-size:14px}
.notification-item p{margin:4px 0;color:var(--theme-muted);font-size:13px;line-height:1.6}
.notification-item small{color:var(--theme-muted);font-size:11px}
.post-submit-mentor-form{margin-top:20px;padding:18px 0;border-top:1px solid var(--theme-line)}
.post-submit-mentor-form .mentor-input-grid{margin:0 0 12px}
.post-submit-mentor-form .field-help{margin:0 0 13px;color:var(--theme-muted);font-size:12px}
.post-submit-mentor-form .button{margin-right:12px}
.mentor-slots-note,.mentor-slots-full{color:var(--theme-muted);font-size:12px}
.teammate-login-guide{max-width:1180px;margin:4px auto 14px;padding:16px 0;border-bottom:1px solid var(--theme-line)}
.teammate-login-guide p{margin:8px 0 0;color:var(--theme-muted);font-size:13px;line-height:1.7}
.teammate-login-guide a{color:var(--mint);font-weight:700;text-decoration:underline;text-underline-offset:3px}
html[data-theme="light"] .teammate-login-guide a{color:#087d70}

/* Signup layout: give the form more of the available width and shorten the page. */
.register-page .register-auth-layout{width:min(1100px,100%);max-width:1100px;grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);gap:48px}
.register-page .form-card{padding:clamp(24px,3vw,34px)}
.register-page .signup-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.register-page .signup-field,.register-page .signup-row,.register-page .signup-password,.register-page .signup-guidance,.register-page .signup-submit,.register-page .signup-switch{grid-column:1/-1}
.register-page .signup-field{grid-column:auto;min-width:0}
.register-page .signup-row{gap:14px}
.register-page .signup-form label{gap:6px}
.register-page .signup-form input,.register-page .signup-form select{height:45px}
.register-page .signup-form .field-help{font-size:11px;line-height:1.45}
.register-page .signup-guidance{margin:0}
.register-page .signup-submit{width:100%;min-height:46px}
.register-page .signup-switch{margin:0;text-align:center}
@media(max-width:850px){.register-page .register-auth-layout{gap:28px;grid-template-columns:minmax(210px,.72fr) minmax(0,1.28fr)}}
@media(max-width:650px){.register-page .register-auth-layout{grid-template-columns:1fr;gap:20px;padding:20px 0 28px}.register-page .form-card{padding:22px}.register-page .auth-intro{padding:0}.register-page .auth-intro h1{margin:12px 0}.register-page .signup-form{gap:11px 13px}}
@media(max-width:480px){.register-page .signup-form{grid-template-columns:1fr}.register-page .signup-field,.register-page .signup-row,.register-page .signup-password,.register-page .signup-guidance,.register-page .signup-submit,.register-page .signup-switch{grid-column:1}.register-page .signup-row{grid-template-columns:1fr}.register-page .form-card{padding:19px}}

/* Clear, higher contrast mentor area on the student dashboard. */
.teammate-login-guide{display:flex;align-items:center;gap:16px;margin:15px auto 18px;padding:18px 21px;border:1px solid color-mix(in srgb,var(--mint) 24%,var(--theme-line));border-radius:18px;background:linear-gradient(115deg,color-mix(in srgb,var(--mint) 9%,transparent),rgba(255,255,255,.035));box-shadow:0 12px 30px rgba(20,45,70,.06)}
.teammate-login-guide::before{content:'↗';width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:14px;background:color-mix(in srgb,var(--mint) 16%,transparent);color:var(--mint);font-size:20px;font-weight:800}
.teammate-login-guide .eyebrow{font-size:11px;color:var(--theme-ink)}
.teammate-login-guide p{margin:5px 0 0;color:var(--theme-ink);font-size:14px;line-height:1.65}
.mentors-section{padding:25px;border:1px solid var(--theme-line);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025)),rgba(255,255,255,.025);box-shadow:0 18px 45px rgba(22,48,73,.08)}
.mentors-section .section-heading.compact{align-items:flex-end;flex-direction:row;justify-content:space-between;gap:20px;text-align:left}
.mentors-section .section-heading.compact h2{font-size:30px}
.mentors-section .section-caption{font-size:13px;color:var(--theme-muted)}
.mentors-section .mentor-feedback-pending{margin:16px 0 0;padding:13px 15px;border-radius:13px;background:color-mix(in srgb,var(--mint) 7%,transparent);color:var(--theme-ink);font-size:13px;line-height:1.6}
.post-submit-mentor-form{margin-top:18px;padding:19px;border:1px solid var(--theme-line);border-radius:17px;background:rgba(255,255,255,.035)}
.post-submit-mentor-form::before{content:'ADD A FACULTY MENTOR';display:block;margin:0 0 13px;color:var(--theme-ink);font-size:11px;font-weight:800;letter-spacing:.12em}
.post-submit-mentor-form .mentor-input-grid{margin:0 0 12px;gap:14px}
.post-submit-mentor-form .mentor-input-grid label{font-size:13px;color:var(--theme-ink)}
.post-submit-mentor-form .mentor-input-grid input,.post-submit-mentor-form .mentor-input-grid select{width:100%;height:48px;padding:0 13px;border:1px solid var(--theme-line);border-radius:12px;background:rgba(255,255,255,.07);color:var(--theme-ink);font:inherit}
.post-submit-mentor-form .mentor-input-grid select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--theme-muted) 50%),linear-gradient(135deg,var(--theme-muted) 50%,transparent 50%);background-position:calc(100% - 18px) 20px,calc(100% - 13px) 20px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:35px}
.post-submit-mentor-form .mentor-input-grid select option{background:#fff;color:#1c2c41}
.post-submit-mentor-form .field-help{margin:0 0 14px;color:var(--theme-muted);font-size:13px;line-height:1.5}
.post-submit-mentor-form .button-primary{min-height:46px;padding:12px 18px;background:linear-gradient(120deg,#79e7ce,#91bfff);color:#102b3a;font-size:14px;box-shadow:0 8px 22px rgba(8,125,112,.16)}
.mentor-slots-note,.mentor-slots-full{margin-left:12px;color:var(--theme-ink);font-size:13px}
html[data-theme="light"] .mentors-section{background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(245,249,253,.88));border-color:rgba(82,111,145,.2);box-shadow:0 18px 45px rgba(44,70,100,.08),inset 0 1px #fff}
html[data-theme="light"] .post-submit-mentor-form{background:rgba(232,241,249,.62);border-color:rgba(73,103,136,.2)}
html[data-theme="light"] .post-submit-mentor-form .mentor-input-grid input,html[data-theme="light"] .post-submit-mentor-form .mentor-input-grid select{background-color:#fff;border-color:rgba(73,103,136,.3);color:#1c2c41}
html[data-theme="light"] .post-submit-mentor-form .mentor-input-grid input::placeholder{color:#70839a;opacity:1}
html[data-theme="light"] .post-submit-mentor-form .mentor-input-grid select option{background:#fff;color:#1c2c41}
html[data-theme="light"] .post-submit-mentor-form .button-primary{color:#102b3a}
html[data-theme="light"] .button-primary,html[data-theme="dark"] .button-primary{background:linear-gradient(120deg,#79e7ce,#91bfff);color:#102b3a;border:1px solid rgba(16,43,58,.14);box-shadow:0 8px 22px rgba(8,125,112,.16);opacity:1}
html[data-theme="light"] .button-primary:hover,html[data-theme="dark"] .button-primary:hover{background:linear-gradient(120deg,#8af0d9,#a0c9ff);color:#102b3a;box-shadow:0 11px 27px rgba(8,125,112,.22)}
@media(max-width:700px){.mentors-section{padding:19px}.mentors-section .section-heading.compact{align-items:flex-start;flex-direction:column}.mentors-section .section-heading.compact h2{font-size:27px}.post-submit-mentor-form{padding:15px}.teammate-login-guide{align-items:flex-start;padding:15px}.teammate-login-guide::before{width:36px;height:36px;flex-basis:36px}}
@media(max-width:520px){.teammate-login-guide{gap:11px}.teammate-login-guide p{font-size:13px}.mentor-slots-note,.mentor-slots-full{display:block;margin:10px 0 0}.post-submit-mentor-form .button-primary{width:100%}}

/* Faculty mentor workspace: identify the professor clearly and give team details room. */
.mentor-workspace .section-heading.compact{align-items:flex-start;flex-direction:row;justify-content:space-between;text-align:left}
.mentor-workspace .section-heading.compact h2{font-size:34px}
.mentor-workspace .staff-intro{font-size:15px;line-height:1.75}
.mentor-assignment-card{padding:25px;border-radius:22px}
.mentor-identity-strip{display:flex;align-items:center;gap:13px;margin:0 0 20px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--mint) 28%,var(--theme-line));border-radius:15px;background:linear-gradient(100deg,color-mix(in srgb,var(--mint) 10%,transparent),rgba(255,255,255,.035))}
.mentor-identity-avatar{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--mint) 55%,transparent);border-radius:50%;background:color-mix(in srgb,var(--mint) 14%,transparent);color:var(--mint);font-size:18px;font-weight:800}
.mentor-identity-strip>div{display:flex;flex-direction:column;gap:3px}
.mentor-identity-strip small{color:var(--theme-muted);font-size:10px;font-weight:800;letter-spacing:.12em}
.mentor-identity-strip strong{color:var(--theme-ink);font-size:17px;font-weight:800}
.mentor-identity-strip>div>span{color:var(--theme-muted);font-size:13px}
.mentor-assignment-card .staff-item-heading{align-items:flex-start;padding-bottom:17px;border-bottom:1px solid var(--theme-line)}
.mentor-assignment-card .staff-item-heading small{font-size:11px}
.mentor-assignment-card .staff-item-heading h3{font-size:27px}
.mentor-assignment-card .staff-item-heading p{font-size:14px}
.mentor-assignment-card .review-roster{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.mentor-assignment-card .review-roster>div{min-height:78px;padding:14px;border:1px solid var(--theme-line);border-radius:14px;background:rgba(255,255,255,.035)}
.mentor-assignment-card .review-roster b{font-size:14px;color:var(--theme-ink)}
.mentor-assignment-card .review-roster span{font-size:12px;line-height:1.6}
.mentor-team-progress{margin-top:20px;padding-top:18px;border-top:1px solid var(--theme-line)}
.mentor-team-progress h4{margin:0 0 12px;color:var(--theme-ink);font-size:16px}
.mentor-team-progress .staff-empty{font-size:14px}
.mentor-assignment-card .mentor-feedback-form{margin-top:19px;padding-top:18px}
.mentor-assignment-card .mentor-feedback-form label{font-size:15px}
.mentor-assignment-card .mentor-feedback-form textarea{min-height:145px;font-size:14px}
.mentor-assignment-card .mentor-feedback-form textarea::placeholder{color:var(--theme-muted);opacity:1}
html[data-theme="light"] .mentor-identity-strip{background:linear-gradient(100deg,rgba(8,125,112,.08),rgba(255,255,255,.75));border-color:rgba(8,125,112,.2)}
html[data-theme="light"] .mentor-identity-avatar{background:rgba(8,125,112,.1);color:#087d70;border-color:rgba(8,125,112,.35)}
html[data-theme="light"] .mentor-assignment-card .review-roster>div{background:rgba(255,255,255,.68);border-color:rgba(73,103,136,.17)}
html[data-theme="light"] .mentor-assignment-card .staff-item-heading h3,html[data-theme="light"] .mentor-identity-strip strong,html[data-theme="light"] .mentor-team-progress h4{color:#1c2c41}
@media(max-width:700px){.mentor-workspace .section-heading.compact{flex-direction:column;gap:8px}.mentor-workspace .section-heading.compact h2{font-size:29px}.mentor-assignment-card{padding:17px}.mentor-assignment-card .review-roster{grid-template-columns:1fr}.mentor-assignment-card .staff-item-heading h3{font-size:23px}.mentor-identity-strip strong{font-size:15px}}

/* Shared important dates and official downloads. */
.publication-grid,.publication-manage-grid,.shared-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.publication-form,.publication-manage-grid>section,.shared-info-column{min-width:0;padding:20px;border:1px solid var(--theme-line);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.025)),rgba(255,255,255,.025)}
.publication-form{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.publication-form h3,.publication-manage-grid h3,.shared-info-column h3{margin:0 0 4px;color:var(--theme-ink);font:700 18px var(--display)}
.publication-form label{display:flex;flex-direction:column;gap:7px;color:var(--theme-ink);font-size:13px;font-weight:700}
.publication-form label>small{display:inline;color:var(--theme-muted);font-weight:500}
.publication-form input:not([type=file]),.publication-form textarea,.publication-form input[type=file]{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--theme-line);border-radius:11px;background:rgba(255,255,255,.055);color:var(--theme-ink);font:inherit}
.publication-form textarea{min-height:76px;resize:vertical}
.publication-form input[type=file]{padding:9px;font-size:12px}
.publication-form input::placeholder,.publication-form textarea::placeholder{color:var(--theme-muted);opacity:.9}
.publication-form .button{align-self:flex-start;min-height:44px}
.publication-help{color:var(--theme-muted);font-size:11px;line-height:1.5}
.publication-manage-grid{margin-top:20px}
.publication-list{display:grid;gap:12px;margin-top:14px}
.publication-list>article,
.publication-card{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid var(--theme-line);border-radius:14px;background:rgba(255,255,255,.035);box-shadow:0 2px 8px rgba(0,0,0,.06);transition:border-color .2s ease,background .2s ease;min-width:0;box-sizing:border-box}
.publication-list>article:hover,
.publication-card:hover{border-color:rgba(105,218,194,.28);background:rgba(255,255,255,.05)}
.publication-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%}
.publication-card-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.publication-card-title,.publication-list b{color:var(--theme-ink);font-size:14.5px;font-weight:750;line-height:1.35;letter-spacing:-.01em;word-break:break-word}
.publication-card-meta,.publication-list span{color:var(--theme-muted);font-size:12px;line-height:1.45;word-break:break-word}
.publication-card-action{flex:0 0 auto;margin:0}
.publication-card-action .button-quiet{padding:6px 14px;font-size:12px;font-weight:650;border-radius:8px;min-height:32px}
.shared-info-section{max-width:1120px;margin:36px auto 0;padding:26px 0;border-top:1px solid var(--theme-line)}
.shared-info-heading h2{margin:8px 0 0;color:var(--theme-ink);font:750 clamp(25px,3vw,34px)/1.2 var(--display);letter-spacing:-.04em}
.shared-info-heading p{margin:7px 0 0;color:var(--theme-muted);font-size:14px}
.shared-info-grid{margin-top:22px}
.shared-info-column h3{display:flex;align-items:center;gap:10px;margin-bottom:13px;font-size:17px}
.shared-info-column h3>span{color:var(--mint);font-size:20px}
.shared-date-list,.shared-document-list{display:grid;gap:10px}
.shared-date-item,.shared-document-item{display:flex;align-items:flex-start;gap:12px;padding:13px;border:1px solid var(--theme-line);border-radius:13px;background:rgba(255,255,255,.035)}
.shared-date-calendar{width:45px;height:49px;flex:0 0 45px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--mint) 35%,transparent);border-radius:11px;background:color-mix(in srgb,var(--mint) 9%,transparent);color:var(--theme-ink)}
.shared-date-calendar b{font:800 18px var(--display);line-height:1}.shared-date-calendar span{margin-top:3px;color:var(--theme-muted);font-size:9px;font-weight:800;letter-spacing:.08em}
.shared-date-item>div:last-child,.shared-document-item>div{min-width:0;flex:1}
.shared-date-item h4,.shared-document-item h4{margin:0;color:var(--theme-ink);font-size:14px;line-height:1.4}
.shared-date-item time,.shared-document-item p,.shared-document-item small{display:block;margin:4px 0 0;color:var(--theme-muted);font-size:12px;line-height:1.55}
.shared-date-item p{margin:6px 0 0;color:var(--theme-ink);font-size:12px;line-height:1.6}
.shared-document-icon{width:42px;height:46px;flex:0 0 42px;display:grid;place-items:center;border:1px solid rgba(128,169,224,.25);border-radius:11px;background:rgba(128,169,224,.09);color:var(--theme-ink);font-size:9px;font-weight:800}
.shared-download-link{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:9px 12px;border:1px solid color-mix(in srgb,var(--mint) 38%,var(--theme-line));border-radius:10px;background:color-mix(in srgb,var(--mint) 9%,transparent);color:var(--theme-ink);font-size:12px;font-weight:800;transition:transform .2s,background .2s}
.shared-download-link:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--mint) 16%,transparent)}
.shared-info-empty{margin:0;padding:13px 0;color:var(--theme-muted);font-size:13px}
html[data-theme="light"] .publication-form,html[data-theme="light"] .publication-manage-grid>section,html[data-theme="light"] .shared-info-column{background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(245,249,253,.85));border-color:rgba(73,103,136,.18);box-shadow:0 12px 32px rgba(44,70,100,.05),inset 0 1px #fff}
html[data-theme="light"] .publication-form input:not([type=file]),html[data-theme="light"] .publication-form textarea,html[data-theme="light"] .publication-form input[type=file]{background:#fff;border-color:rgba(73,103,136,.28);color:#1c2c41}
html[data-theme="light"] .publication-list>article,html[data-theme="light"] .shared-date-item,html[data-theme="light"] .shared-document-item{background:rgba(255,255,255,.7);border-color:rgba(73,103,136,.17)}
html[data-theme="light"] .shared-date-item p{color:#40536b}
html[data-theme="light"] .shared-download-link{color:#14554d;border-color:rgba(8,125,112,.28);background:rgba(8,125,112,.08)}
@media(max-width:760px){.publication-grid,.publication-manage-grid,.shared-info-grid{grid-template-columns:1fr}.publication-manage-grid>section,.publication-form,.shared-info-column{padding:16px}}
@media(max-width:480px){.shared-document-item{flex-wrap:wrap}.shared-download-link{margin-left:54px}.publication-card-header{gap:10px}}

/* Original transparent SVG accents add detail without obscuring the page copy. */
.home-page .hero-svg-orbit{position:absolute;z-index:0;left:50%;top:50%;width:min(112%,540px);height:auto;transform:translate(-50%,-50%);opacity:.76;pointer-events:none;animation:svgOrbitFloat 16s ease-in-out infinite}
.home-page .proof-spark-svg{display:block;width:34px;height:34px;flex:0 0 34px;margin-left:auto;filter:drop-shadow(0 0 9px rgba(105,218,194,.3));animation:sparkTurn 18s linear infinite}
.home-page .steps-section{position:relative;isolation:isolate}
.home-page .steps-heading,.home-page .steps-grid{position:relative;z-index:1}
.home-page .steps-constellation-art{position:absolute;z-index:0;top:64px;right:-8px;width:clamp(150px,18vw,240px);height:auto;opacity:.38;pointer-events:none;filter:drop-shadow(0 8px 20px rgba(53,105,145,.12));animation:constellationFloat 9s ease-in-out infinite}
html[data-theme="light"] .home-page .hero-svg-orbit{opacity:.7;filter:drop-shadow(0 8px 18px rgba(71,125,165,.12))}
html[data-theme="light"] .home-page .proof-spark-svg{filter:drop-shadow(0 0 8px rgba(8,125,112,.22))}
html[data-theme="light"] .home-page .steps-constellation-art{opacity:.32}
@keyframes svgOrbitFloat{0%,100%{transform:translate(-50%,-50%) rotate(-2deg) scale(.98)}50%{transform:translate(-50%,-51%) rotate(2deg) scale(1.02)}}
@keyframes sparkTurn{0%,92%,100%{transform:rotate(0) scale(1)}96%{transform:rotate(18deg) scale(1.07)}}
@keyframes constellationFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}
@media(max-width:850px){.home-page .steps-constellation-art{right:-24px;width:180px;opacity:.24}}
@media(max-width:650px){.home-page .hero-svg-orbit{width:122%;opacity:.54}.home-page .proof-spark-svg{width:29px;height:29px;flex-basis:29px}.home-page .steps-constellation-art{top:8px;right:0;width:112px;opacity:.2}}
@media(prefers-reduced-motion:reduce){.home-page .hero-svg-orbit,.home-page .proof-spark-svg,.home-page .steps-constellation-art{animation:none!important}}
.header-home-logo,.topbar>.brand{position:relative;z-index:3;cursor:pointer}
.header-home-logo{display:inline-flex;flex:0 0 auto;border-radius:14px}
.header-home-logo,.topbar>.brand{pointer-events:auto}
.header-home-logo *,.topbar>.brand *{pointer-events:none}
.header-home-logo:focus-visible,.topbar>.brand:focus-visible{outline:3px solid var(--mint);outline-offset:4px}
html[data-theme="light"] .deadline-form,html[data-theme="light"] .staff-item,html[data-theme="light"] .staff-user-form,html[data-theme="light"] .staff-user-list article{background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(245,249,253,.85));box-shadow:0 12px 32px rgba(44,70,100,.06),inset 0 1px #fff}
html[data-theme="light"] .deadline-form input,html[data-theme="light"] .staff-user-form input,html[data-theme="light"] .staff-user-form select,html[data-theme="light"] .staff-decision-form textarea{background:rgba(255,255,255,.82)}
html[data-theme="light"] .stack-form textarea{background:rgba(255,255,255,.82)}
html[data-theme="light"] .request-deadlines>div{background:rgba(255,255,255,.55)}
@media(max-width:760px){.deadline-grid,.team-request-controls{grid-template-columns:1fr}.request-deadlines{grid-template-columns:1fr 1fr}.staff-decision-form{grid-template-columns:1fr}.staff-user-form{grid-template-columns:1fr}}
@media(max-width:520px){.staff-section,.notification-section{margin-top:25px;padding-top:22px}.staff-item,.deadline-form{padding:16px}.request-deadlines{grid-template-columns:1fr}.staff-decision-form>div{display:grid;grid-template-columns:1fr}.staff-user-list article{align-items:flex-start}}

/* Landing page: three glass panels with a clear sequence and breathing room. */
.steps-section{padding:96px 0 25px}
.steps-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:30px}
.steps-heading .eyebrow{gap:10px}
.steps-heading .eyebrow i{display:block;width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 14px color-mix(in srgb,var(--mint) 70%,transparent)}
.steps-heading h2{font:700 clamp(34px,4vw,46px)/1.15 var(--display);letter-spacing:-.055em;margin:13px 0 0;color:var(--theme-ink)}
.steps-heading h2 em{font-style:normal;color:var(--mint)}
.steps-heading>p{max-width:310px;margin:0 0 4px;color:var(--theme-muted);font-size:14px;line-height:1.8}
.steps-grid{position:relative;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:0}
.steps-grid::before{content:"";position:absolute;left:12%;right:12%;top:51px;height:1px;background:linear-gradient(90deg,transparent,rgba(123,231,206,.48),rgba(169,199,255,.48),transparent);z-index:0;pointer-events:none}
.step-card{--step-accent:var(--mint);position:relative;z-index:1;display:flex;flex-direction:column;min-height:300px;padding:25px 25px 18px;border-radius:21px;border:1px solid rgba(220,239,255,.21);background:linear-gradient(148deg,rgba(255,255,255,.12),rgba(255,255,255,.035) 46%,rgba(255,255,255,.055)),rgba(15,32,52,.69);backdrop-filter:blur(24px);box-shadow:0 16px 42px rgba(0,0,0,.14),inset 0 1px rgba(255,255,255,.16);overflow:hidden;transition:transform .32s cubic-bezier(.2,.8,.2,1),border-color .32s,box-shadow .32s}
.step-card::after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:-100px;top:-105px;background:var(--step-accent);opacity:.1;filter:blur(45px);transition:opacity .3s,transform .4s;pointer-events:none}
.step-card:hover{transform:translateY(-7px);border-color:color-mix(in srgb,var(--step-accent) 48%,rgba(255,255,255,.2));box-shadow:0 26px 56px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.2)}
.step-card:hover::after{opacity:.2;transform:scale(1.2)}
.step-card-two{--step-accent:var(--blue)}.step-card-three{--step-accent:#d3a8ff}
.step-card-top{display:flex;align-items:center;gap:12px;position:relative;z-index:1}
.step-number{width:43px;height:43px;display:grid;place-items:center;flex:0 0 43px;border:1px solid color-mix(in srgb,var(--step-accent) 38%,transparent);border-radius:14px;background:color-mix(in srgb,var(--step-accent) 12%,transparent);color:var(--step-accent);font:700 14px var(--display);box-shadow:inset 0 1px rgba(255,255,255,.1)}
.step-category{font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--theme-muted)}
.step-icon-wrap{width:54px;height:54px;display:grid;place-items:center;margin-left:auto;border:1px solid color-mix(in srgb,var(--step-accent) 26%,rgba(255,255,255,.08));border-radius:17px;background:linear-gradient(145deg,color-mix(in srgb,var(--step-accent) 19%,transparent),rgba(255,255,255,.045));color:var(--step-accent);box-shadow:inset 0 1px rgba(255,255,255,.16),0 8px 22px rgba(0,0,0,.12);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.step-card:hover .step-icon-wrap{transform:translateY(-2px) rotate(-5deg) scale(1.04)}
.step-icon-wrap svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.step-card h3{position:relative;z-index:1;margin:27px 0 11px;font:650 20px/1.3 var(--display);letter-spacing:-.035em;color:var(--theme-ink)}
.step-card p{position:relative;z-index:1;max-width:330px;margin:0;color:var(--theme-muted);font-size:14px;line-height:1.8}
.step-card-bottom{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:21px}
.step-card-bottom>span:first-child{font-size:9px;letter-spacing:.13em;font-weight:700;color:var(--theme-muted)}
.step-arrow{width:29px;height:29px;display:grid;place-items:center;border:1px solid var(--theme-line);border-radius:50%;color:var(--step-accent);font-size:14px;transition:transform .25s,background .25s}
.step-card:hover .step-arrow{transform:translate(2px,-2px);background:color-mix(in srgb,var(--step-accent) 12%,transparent)}
.team-id-highlight{display:flex;align-items:center;gap:16px;margin-top:22px;padding:19px 21px;border:1px solid rgba(123,231,206,.27);border-radius:17px;background:linear-gradient(120deg,rgba(123,231,206,.12),rgba(169,199,255,.07)),rgba(255,255,255,.035);box-shadow:inset 0 1px rgba(255,255,255,.16),0 10px 28px rgba(0,0,0,.1)}
.team-id-symbol{width:46px;height:46px;display:grid;place-items:center;flex:0 0 46px;border:1px solid rgba(123,231,206,.3);border-radius:15px;background:rgba(123,231,206,.12);color:var(--mint);font-size:22px}
.team-id-highlight div{display:flex;flex-direction:column;gap:4px;flex:1}
.team-id-highlight small{font-size:10px;font-weight:700;letter-spacing:.15em;color:#a9c5d4}
.team-id-highlight strong{font:700 26px var(--display);letter-spacing:.035em;color:#eafff8}
.team-id-highlight div>span{font-size:12px;color:#a9bbcb}
.team-id-check{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:rgba(123,231,206,.14);color:var(--mint);font-size:14px}
.team-meta-submitted{grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-theme="light"] .steps-grid::before{background:linear-gradient(90deg,transparent,rgba(8,125,112,.35),rgba(66,104,165,.35),transparent)}
html[data-theme="light"] .step-card{background:linear-gradient(148deg,rgba(255,255,255,.91),rgba(255,255,255,.68) 48%,rgba(242,248,253,.8)),rgba(255,255,255,.76);border-color:rgba(255,255,255,.97);box-shadow:0 16px 42px rgba(43,70,99,.1),inset 0 1px #fff}
html[data-theme="light"] .step-card:hover{box-shadow:0 26px 56px rgba(43,70,99,.16),inset 0 1px #fff}
html[data-theme="light"] .step-card h3{color:#172b43}
html[data-theme="light"] .step-card p{color:#52667e}
html[data-theme="light"] .step-category,html[data-theme="light"] .step-card-bottom>span:first-child{color:#5b6f85}
html[data-theme="light"] .step-number{box-shadow:inset 0 1px #fff,0 4px 12px rgba(44,70,99,.06)}
@media(max-width:850px){.steps-section{padding-top:76px}.step-card{min-height:315px;padding:21px 19px 17px}.step-card h3{font-size:18px}.step-card p{font-size:13px}.steps-heading>p{max-width:260px}}
@media(max-width:650px){.steps-section{padding-top:59px}.steps-heading{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:22px}.steps-heading h2{font-size:32px}.steps-heading>p{font-size:13px;max-width:340px}.steps-grid{grid-template-columns:1fr;gap:12px}.steps-grid::before{left:21px;right:auto;top:43px;bottom:43px;width:1px;height:auto;background:linear-gradient(180deg,rgba(123,231,206,.42),rgba(169,199,255,.42),rgba(211,168,255,.4))}.step-card{min-height:0;padding:19px 20px 15px}.step-card h3{font-size:19px;margin:18px 0 7px}.step-card p{font-size:13px;max-width:none}.step-card-bottom{padding-top:14px;margin-top:12px}.step-icon-wrap{width:46px;height:46px;border-radius:15px}.step-icon-wrap svg{width:24px;height:24px}.step-number{width:39px;height:39px;flex-basis:39px}}
@media(max-width:650px){.team-id-highlight{padding:15px 14px;gap:11px}.team-id-symbol{width:38px;height:38px;flex-basis:38px}.team-id-highlight strong{font-size:21px}.team-id-highlight div>span{font-size:11px}}

/* iTech Ideathon public programme additions */
.landing-live-strip{display:grid;grid-template-columns:1fr 1px 1fr 1px 1fr;align-items:center;gap:28px;margin:38px auto 20px;padding:24px 30px;width:min(980px,100%);border:1px solid var(--line);border-radius:24px;background:linear-gradient(125deg,rgba(255,255,255,.105),rgba(255,255,255,.035));backdrop-filter:blur(20px);box-shadow:0 18px 55px rgba(15,35,58,.08)}.landing-live-strip>div{display:flex;flex-direction:column;gap:4px}.landing-live-strip .eyebrow{grid-column:1/-1;font-size:10px;letter-spacing:.17em;color:var(--theme-muted)}.landing-live-strip strong{font:800 clamp(30px,4vw,46px)/1 var(--display);letter-spacing:-.06em;color:var(--mint)}.stat-just-updated{animation:statGlow 1.2s ease}@keyframes statGlow{0%{transform:scale(1)}50%{transform:scale(1.08);color:var(--mint,#087e78);text-shadow:0 0 14px rgba(45,174,161,.55)}100%{transform:scale(1)}}.landing-live-strip small{font-size:13px;color:var(--theme-muted)}.landing-live-strip>i{height:54px;background:var(--line)}
.problem-statements,.ideathon-timeline{padding:68px 0 28px}.problem-statements .section-heading,.ideathon-timeline .section-heading{text-align:center;margin-bottom:28px}.problem-statements .section-heading h2,.ideathon-timeline .section-heading h2{font-size:clamp(34px,5vw,52px);margin:10px 0}.problem-statements .section-heading p,.ideathon-timeline .section-heading p{color:var(--theme-muted);font-size:16px}.problem-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:16px}.problem-card{position:relative;padding:24px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.045));backdrop-filter:blur(18px);box-shadow:0 16px 40px rgba(17,36,57,.07);transition:transform .3s,box-shadow .3s}.problem-card:hover{transform:translateY(-5px);box-shadow:0 24px 55px rgba(17,36,57,.14)}.problem-card>span{display:inline-flex;padding:7px 10px;border-radius:999px;color:#077c82;background:rgba(56,201,184,.13);font-size:12px;font-weight:800;letter-spacing:.08em}.problem-card h3{font:750 20px/1.3 var(--display);color:var(--theme-ink);margin:15px 0 8px}.problem-card p{font-size:14px;line-height:1.7;color:var(--theme-muted)}.problem-card small{display:block;margin-top:14px;font-size:12px;color:var(--theme-muted)}.problem-empty{text-align:center;padding:24px;color:var(--theme-muted);border:1px dashed var(--line);border-radius:18px}.timeline-art-wrap{overflow-x:auto;padding:18px 8px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(120deg,rgba(255,255,255,.86),rgba(233,244,250,.72));box-shadow:0 18px 50px rgba(25,49,73,.09)}.timeline-art-wrap img{display:block;width:100%;min-width:900px;height:auto}.ideathon-logo-float .launchpad-visual{width:100%;height:auto;min-height:initial;margin:24px 0 8px;overflow:visible}.ideathon-mark{display:block;width:115%;max-width:none;height:auto;transform:translateX(-6%);filter:drop-shadow(0 12px 25px rgba(40,73,101,.17));animation:ideathonMarkFloat 6s ease-in-out infinite}.ideathon-logo-float h2{margin-top:0}@keyframes ideathonMarkFloat{0%,100%{transform:translate(-6%,0) scale(1)}50%{transform:translate(-6%,-7px) scale(1.012)}}
.pitch-submission-section,.submission-history-section{margin:30px 0;padding:26px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.035));backdrop-filter:blur(18px)}.pitch-problem-title{font-size:17px;font-weight:700;color:var(--theme-ink)}.pitch-upload-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.pitch-upload-card{display:grid;align-content:start;gap:13px;padding:20px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.08)}.pitch-upload-card .pitch-kind{font:800 19px var(--display);color:var(--theme-ink)}.pitch-upload-card>b{color:var(--theme-muted);font-size:13px}.pitch-upload-card label{display:grid;gap:8px;font-weight:650;color:var(--theme-ink)}.pitch-upload-card input[type=file]{width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.62);color:var(--theme-ink)}.pitch-upload-card>small{font-size:12px;line-height:1.55;color:var(--theme-muted)}.submission-history-list{display:grid;gap:10px}.submission-history-item{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:15px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.07)}.submission-history-item b,.submission-history-item small{display:block}.submission-history-item b{color:var(--theme-ink);font-size:14px}.submission-history-item small{margin-top:5px;color:var(--theme-muted);font-size:12px}.submission-preview{margin-top:12px}.submission-preview summary,.admin-team-preview summary{cursor:pointer;font-weight:700;color:#0b827d}.submission-preview iframe{display:block;width:min(100%,850px);height:480px;margin-top:12px;border:1px solid var(--line);border-radius:12px;background:white}.admin-team-preview{margin-top:10px}.admin-team-preview summary{display:inline-flex;padding:9px 13px;border-radius:999px;border:1px solid var(--line);background:rgba(66,183,169,.1)}.admin-history{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.admin-history p{padding:7px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--theme-muted)}.admin-history a{color:#087e82;text-decoration:underline}.problem-admin-form{margin:16px 0}.problem-admin-list{display:grid;gap:9px;margin-top:18px}.problem-admin-list article{display:grid;gap:7px;padding:14px;border:1px solid var(--line);border-radius:14px}.problem-admin-list span{font-size:13px;color:var(--theme-muted)}
html[data-theme="light"] .landing-live-strip{background:linear-gradient(125deg,rgba(255,255,255,.94),rgba(239,247,251,.84));border-color:rgba(255,255,255,.9);box-shadow:0 18px 55px rgba(30,61,88,.1)}html[data-theme="light"] .problem-card{background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(249,252,255,.72))}html[data-theme="light"] .pitch-upload-card{background:rgba(255,255,255,.72)}
@media(max-width:700px){.landing-live-strip{gap:11px;padding:19px 15px;border-radius:18px}.landing-live-strip small{font-size:10px}.landing-live-strip .eyebrow{font-size:8px}.problem-statements,.ideathon-timeline{padding-top:46px}.timeline-art-wrap{margin:0 -8px}.pitch-upload-grid{grid-template-columns:1fr}.pitch-submission-section,.submission-history-section{padding:18px}.submission-history-item{flex-direction:column}.submission-history-item .button{width:100%}.submission-preview iframe{height:350px}.ideathon-mark{width:108%;transform:translateX(-4%)}@keyframes ideathonMarkFloat{0%,100%{transform:translate(-4%,0) scale(1)}50%{transform:translate(-4%,-5px) scale(1.01)}}}
@media(prefers-reduced-motion:reduce){.ideathon-mark{animation:none!important}.problem-card{transition:none}}
.coordinator-contact-note{display:flex;align-items:flex-start;gap:16px;margin:14px 0 30px;padding:20px 23px;border:1px solid rgba(34,171,161,.25);border-radius:20px;background:linear-gradient(120deg,rgba(117,231,211,.11),rgba(255,255,255,.055));box-shadow:0 14px 36px rgba(18,46,67,.06)}.coordinator-note-icon{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:rgba(43,189,168,.13);color:#048b81;font-size:22px}.coordinator-contact-note .eyebrow{font-size:10px;letter-spacing:.15em;color:var(--theme-muted)}.coordinator-contact-note h3{margin:5px 0 8px;color:var(--theme-ink);font:750 19px var(--display)}.coordinator-contact-note p,.coordinator-contact-note small{color:var(--theme-muted);font-size:13px;line-height:1.75}.coordinator-contact-note p{margin:0 0 7px}.coordinator-contact-note a,.creator-email{color:#07857f;text-decoration:underline;text-underline-offset:3px}.creator-email{display:inline-block;margin-top:5px;font-size:12px}.edition-form{margin:0 0 14px}.edition-form label{max-width:360px}.team-id-highlight{overflow-wrap:anywhere}
html[data-theme="dark"] .coordinator-contact-note{background:linear-gradient(120deg,rgba(43,189,168,.13),rgba(255,255,255,.035));border-color:rgba(128,242,207,.2)}html[data-theme="dark"] .coordinator-note-icon{color:#9cf0d9}
@media(max-width:650px){.coordinator-contact-note{padding:17px;gap:12px}.coordinator-contact-note h3{font-size:16px}.coordinator-contact-note p,.coordinator-contact-note small{font-size:12px}}
.ideathon-logo-banner{position:relative;isolation:isolate;display:flex;justify-content:center;align-items:center;width:min(1120px,100%);min-height:clamp(150px,22vw,300px);margin:-10px auto 8px;padding:4px 18px}.ideathon-logo-banner::before{content:"";position:absolute;z-index:-1;left:10%;right:10%;top:12%;bottom:12%;border-radius:50%;background:radial-gradient(ellipse,rgba(255,255,255,.96) 0%,rgba(255,255,255,.82) 48%,rgba(255,255,255,.35) 70%,transparent 82%);filter:blur(17px)}.ideathon-logo-banner img{display:block;width:min(100%,1040px);height:auto;max-height:300px;object-fit:contain;filter:drop-shadow(0 13px 28px rgba(32,55,77,.16))}.home-page .hero-grid{padding-top:6px}
.ideathon-logo-banner .logo-dark{display:none!important}
.ideathon-logo-banner .logo-light{display:block!important}
html[data-theme="dark"] .ideathon-logo-banner .logo-light{display:none!important}
html[data-theme="dark"] .ideathon-logo-banner .logo-dark{display:block!important}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) .ideathon-logo-banner .logo-light{display:none!important}html:not([data-theme="light"]) .ideathon-logo-banner .logo-dark{display:block!important}}
html[data-theme="dark"] .ideathon-logo-banner img{filter:drop-shadow(0 14px 32px rgba(0,0,0,.45)) drop-shadow(0 0 20px rgba(100,229,205,.12))}
html[data-theme="dark"] .ideathon-logo-banner::before{background:radial-gradient(ellipse,rgba(54,183,198,.16) 0%,rgba(32,117,158,.12) 52%,rgba(34,88,128,.05) 72%,transparent 84%);filter:blur(19px)}
@media(max-width:650px){.ideathon-logo-banner{min-height:clamp(105px,31vw,160px);padding:0 5px;margin:-4px auto 5px}.ideathon-logo-banner::before{left:2%;right:2%;top:15%;bottom:15%;filter:blur(12px)}.ideathon-logo-banner img{max-height:165px}.home-page .hero-grid{padding-top:0}}
@media(prefers-reduced-motion:reduce){.ideathon-logo-banner img{animation:none!important}}
.ideathon-timeline{position:relative;padding:78px 0 52px}.ideathon-timeline .section-heading{text-align:center;margin-bottom:48px}.ideathon-timeline .section-heading h2{font-size:clamp(35px,5vw,54px);margin:10px 0}.ideathon-timeline .section-heading p{color:var(--theme-muted);font-size:16px}.timeline-sequence{position:relative;display:grid;gap:22px;max-width:1080px;margin:0 auto}.timeline-sequence::before{content:"";position:absolute;z-index:0;top:14px;bottom:14px;left:50%;width:2px;transform:translateX(-50%);transform-origin:top;background:linear-gradient(180deg,#56d7d5,#b386e8 47%,#f3b552);box-shadow:0 0 16px rgba(81,197,202,.44);transition:transform 1.2s cubic-bezier(.2,.75,.25,1)}.timeline-motion-ready .timeline-sequence::before{transform:translateX(-50%) scaleY(0)}.timeline-motion-ready .timeline-sequence.timeline-active::before{transform:translateX(-50%) scaleY(1)}.timeline-milestone{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 86px minmax(0,1fr);align-items:center;min-height:132px}.timeline-glass-card{grid-column:1;grid-row:1;padding:21px 23px;border:1px solid rgba(255,255,255,.72);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.83),rgba(255,255,255,.51));backdrop-filter:blur(22px) saturate(150%);box-shadow:0 17px 44px rgba(27,53,77,.1),inset 0 1px rgba(255,255,255,.78);transition:transform .28s,box-shadow .28s,border-color .28s}.timeline-glass-card:hover{transform:translateY(-4px);box-shadow:0 23px 55px rgba(27,53,77,.15),inset 0 1px rgba(255,255,255,.9);border-color:rgba(255,255,255,.95)}.timeline-milestone:nth-child(even) .timeline-glass-card{grid-column:3}.timeline-card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.timeline-card-meta>span{font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--timeline-accent,#168e9d)}.timeline-card-meta>span i{font-style:normal;opacity:.55}.timeline-card-meta time{font-size:12px;font-weight:700;color:var(--theme-muted);text-align:right}.timeline-glass-card h3{margin:0;color:var(--theme-ink);font:750 clamp(16px,1.8vw,21px)/1.4 var(--display);letter-spacing:-.025em}.timeline-pin{grid-column:2;grid-row:1;position:relative;justify-self:center;width:58px;height:58px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.82);border-radius:50%;background:linear-gradient(145deg,rgba(255,255,255,.91),rgba(229,242,250,.77));box-shadow:0 9px 25px rgba(28,56,81,.12),0 0 0 7px rgba(111,192,207,.1);color:var(--timeline-accent,#168e9d)}.timeline-pin b{position:absolute;top:-8px;right:-8px;min-width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:var(--timeline-accent,#168e9d);color:white;border:2px solid #f0f6fa;font:800 10px var(--display)}.timeline-pin i{font-style:normal;font-size:24px;font-weight:800}.timeline-spacer{grid-column:3;grid-row:1}.timeline-milestone:nth-child(even) .timeline-spacer{grid-column:1}.timeline-tone-cyan{--timeline-accent:#229cad}.timeline-tone-gold{--timeline-accent:#c68b1e}.timeline-tone-green{--timeline-accent:#4b9c50}.timeline-tone-teal{--timeline-accent:#168d8c}.timeline-tone-violet{--timeline-accent:#8654ae}.timeline-tone-orange{--timeline-accent:#d96737}.timeline-tone-blue{--timeline-accent:#316fba}.timeline-tone-purple{--timeline-accent:#823faa}.timeline-tone-pink{--timeline-accent:#c5427e}.timeline-values{display:flex;justify-content:center;align-items:center;gap:clamp(15px,4vw,45px);flex-wrap:wrap;margin:52px auto 0;padding:18px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--theme-ink);font:750 13px var(--display);letter-spacing:.015em}.timeline-values>i{height:24px;width:1px;background:var(--line)}.timeline-motion-ready .timeline-milestone:not(.is-visible){opacity:0;transform:translateY(20px) scale(.985)}.timeline-motion-ready .timeline-milestone.is-visible{animation:timelineMilestoneIn .7s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--step)*75ms)}@keyframes timelineMilestoneIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}html[data-theme="dark"] .timeline-glass-card{background:linear-gradient(135deg,rgba(23,42,63,.92),rgba(20,37,56,.76));border-color:rgba(187,220,244,.15);box-shadow:0 18px 45px rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.08)}html[data-theme="dark"] .timeline-pin{background:linear-gradient(145deg,rgba(40,67,91,.95),rgba(19,40,61,.91));border-color:rgba(218,237,249,.22);box-shadow:0 9px 25px rgba(0,0,0,.32),0 0 0 7px rgba(111,192,207,.12)}html[data-theme="dark"] .timeline-pin b{border-color:#0b1725}
@media(max-width:700px){.ideathon-timeline{padding:54px 0 35px}.ideathon-timeline .section-heading{margin-bottom:32px}.ideathon-timeline .section-heading p{font-size:14px}.timeline-sequence{gap:14px;margin-left:0}.timeline-sequence::before{left:26px}.timeline-motion-ready .timeline-sequence::before,.timeline-motion-ready .timeline-sequence.timeline-active::before{transform:translateX(-50%) scaleY(1)}.timeline-milestone,.timeline-milestone:nth-child(even){grid-template-columns:54px minmax(0,1fr);min-height:112px}.timeline-glass-card,.timeline-milestone:nth-child(even) .timeline-glass-card{grid-column:2;grid-row:1;padding:17px 16px}.timeline-pin{grid-column:1;grid-row:1;width:44px;height:44px}.timeline-pin i{font-size:19px}.timeline-pin b{top:-6px;right:-7px;min-width:20px;height:20px;font-size:9px}.timeline-spacer,.timeline-milestone:nth-child(even) .timeline-spacer{display:none}.timeline-card-meta{align-items:flex-start;flex-direction:column;gap:6px;margin-bottom:9px}.timeline-card-meta time{text-align:left;font-size:11px}.timeline-glass-card h3{font-size:16px}.timeline-values{gap:12px 18px;margin-top:35px;padding:15px;font-size:11px}.timeline-values>i{height:18px}}
@media(prefers-reduced-motion:reduce){.timeline-motion-ready .timeline-milestone:not(.is-visible){opacity:1;transform:none}.timeline-motion-ready .timeline-milestone.is-visible{animation:none}.timeline-glass-card{transition:none}}
/* Compact Admin Team Cards ("small rectangle alone in sideways and down ways") */
.admin-team-queue {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: flex-start !important;
  margin-top: 14px !important;
}
.admin-team-card {
  display: inline-flex !important;
  flex-direction: column !important;
  width: auto !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: all 0.25s ease !important;
}
.admin-team-preview {
  margin: 0 !important;
  width: 100% !important;
}
.admin-team-preview > summary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  width: auto !important;
  min-width: 260px !important;
  max-width: 360px !important;
  padding: 10px 14px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(66, 183, 169, 0.35) !important;
  background: rgba(66, 183, 169, 0.1) !important;
  color: var(--theme-ink) !important;
  list-style: none !important;
  cursor: pointer !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.2s ease !important;
  user-select: none !important;
}
.admin-team-preview > summary::-webkit-details-marker {
  display: none !important;
}
.admin-team-preview > summary:hover {
  background: rgba(66, 183, 169, 0.18) !important;
  border-color: rgba(8, 126, 130, 0.5) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}
.admin-team-id-pill {
  display: inline-block !important;
  padding: 3px 8px !important;
  border-radius: 8px !important;
  background: rgba(8, 126, 130, 0.15) !important;
  color: #087e82 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  line-height: 1.3 !important;
  flex-shrink: 0 !important;
}
html[data-theme="dark"] .admin-team-id-pill {
  background: rgba(72, 181, 166, 0.22) !important;
  color: #5eead4 !important;
}
.admin-team-pill-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  text-align: left !important;
}
.admin-team-pill-title {
  margin: 0 !important;
  font-size: 13.5px !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  color: var(--theme-ink) !important;
}
.admin-team-lead-sub {
  font-size: 11px !important;
  color: var(--theme-muted) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.admin-team-ps-badge {
  display: inline-block !important;
  padding: 2px 7px !important;
  border-radius: 6px !important;
  background: rgba(14, 165, 233, 0.12) !important;
  color: #0284c7 !important;
  font-size: 10.5px !important;
  font-weight: 750 !important;
  letter-spacing: 0.04em !important;
  flex-shrink: 0 !important;
}
html[data-theme="dark"] .admin-team-ps-badge {
  background: rgba(14, 165, 233, 0.2) !important;
  color: #38bdf8 !important;
}
.admin-team-status-tag {
  display: inline-block !important;
  padding: 2px 8px !important;
  border-radius: 999px !important;
  font-size: 10px !important;
  font-weight: 750 !important;
  letter-spacing: 0.03em !important;
  flex-shrink: 0 !important;
}
.status-tag-approved {
  background: rgba(16, 185, 129, 0.14) !important;
  color: #059669 !important;
}
html[data-theme="dark"] .status-tag-approved {
  background: rgba(16, 185, 129, 0.22) !important;
  color: #34d399 !important;
}
.status-tag-submitted {
  background: rgba(14, 165, 233, 0.14) !important;
  color: #0284c7 !important;
}
html[data-theme="dark"] .status-tag-submitted {
  background: rgba(14, 165, 233, 0.22) !important;
  color: #38bdf8 !important;
}
.status-tag-draft {
  background: rgba(245, 158, 11, 0.14) !important;
  color: #d97706 !important;
}
.admin-team-preview > summary::after {
  content: "＋" !important;
  display: grid !important;
  place-items: center !important;
  flex: 0 0 22px !important;
  width: 22px !important;
  height: 22px !important;
  margin-left: 2px !important;
  border-radius: 50% !important;
  background: rgba(8, 126, 130, 0.12) !important;
  color: #087e82 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  transition: transform 0.2s ease, background 0.2s ease !important;
}
html[data-theme="dark"] .admin-team-preview > summary::after {
  background: rgba(72, 181, 166, 0.2) !important;
  color: #5eead4 !important;
}
.admin-team-preview[open] > summary::after {
  content: "−" !important;
  background: rgba(8, 126, 130, 0.2) !important;
}
.admin-team-card:has(details[open]),
.admin-team-card.is-open {
  flex: 1 1 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 20px !important;
  border: 1px solid var(--theme-line) !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(245, 249, 253, 0.85)) !important;
  box-shadow: 0 12px 32px rgba(44, 70, 100, 0.08) !important;
}
html[data-theme="dark"] .admin-team-card:has(details[open]),
html[data-theme="dark"] .admin-team-card.is-open {
  background: linear-gradient(145deg, rgba(25, 44, 65, 0.92), rgba(17, 32, 50, 0.8)) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25) !important;
}
.admin-team-card:has(details[open]) .admin-team-preview > summary,
.admin-team-card.is-open .admin-team-preview > summary {
  width: 100% !important;
  max-width: 100% !important;
  margin-bottom: 14px !important;
}
.admin-team-expanded-body {
  padding-top: 4px;
}
.creator-section{margin:0 auto 38px}.creator-section-heading{text-align:center;margin:0 auto 22px}.creator-section-heading .eyebrow{justify-content:center}.creator-section-heading .eyebrow i{display:block;width:6px;height:6px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px var(--mint)}.creator-section-heading h2{margin:9px 0 5px;color:var(--theme-ink);font:700 clamp(28px,4vw,38px)/1.15 var(--display);letter-spacing:-.045em}.creator-section-heading h2 em{color:var(--mint);font-style:normal}.creator-section-heading>p{margin:0;color:var(--theme-muted);font-size:14px}.creator-grid-developers,
.creator-grid-coordinators{display:grid;grid-template-columns:repeat(2,minmax(0,360px));justify-content:center;gap:24px}
.creator-card{padding:8px;border-radius:21px}
.creator-guide{margin-top:8px}
.creator-guide .creator-photo{min-height:160px}
.creator-guide .creator-photo>img{object-position:center 35%}
@media(max-width:700px){
  .creator-section{margin-bottom:30px}
  .creator-section-heading{margin-bottom:16px}
  .creator-section-heading>p{font-size:12px}
}

/* =========================================================================
   COORDINATOR & DEVELOPER PROFILE CARDS (FULL FACE VISIBILITY: PORTRAIT PHOTO + CLEAN DETAILS BELOW)
   ========================================================================= */
.developer-card,
.coordinator-card{display:flex!important;flex-direction:column!important;padding:14px!important;border:1px solid var(--theme-line);border-radius:24px!important;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.03))!important;box-shadow:0 16px 42px rgba(0,0,0,.12);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;overflow:hidden}
html[data-theme="light"] .developer-card,
html[data-theme="light"] .coordinator-card{background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(246,250,254,.75))!important;border-color:rgba(45,72,102,.14)!important;box-shadow:0 14px 36px rgba(46,67,91,.08)!important}
.developer-card:hover,
.coordinator-card:hover{transform:translateY(-4px);border-color:rgba(64,198,183,.45);box-shadow:0 20px 48px rgba(0,0,0,.18)}
.developer-card .developer-photo,
.coordinator-card .coordinator-photo{position:relative;width:100%;aspect-ratio:1/1.08!important;min-height:290px!important;max-height:380px!important;border-radius:18px!important;overflow:hidden!important;background:radial-gradient(ellipse at 50% 25%,rgba(45,174,161,.25),transparent 70%),linear-gradient(145deg,rgba(16,32,52,.9),rgba(8,18,32,.95))}
html[data-theme="light"] .developer-card .developer-photo,
html[data-theme="light"] .coordinator-card .coordinator-photo{background:radial-gradient(ellipse at 50% 25%,rgba(45,174,161,.18),transparent 70%),linear-gradient(145deg,#e4eff7,#d5e5f2)}
.developer-card .developer-photo>img,
.coordinator-card .coordinator-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 15%!important;transition:transform .5s ease}
.developer-card:hover .developer-photo>img,
.coordinator-card:hover .coordinator-photo>img{transform:scale(1.03)}
.developer-card-copy,
.coordinator-card-copy{display:flex;flex-direction:column;padding:16px 8px 6px;gap:6px}
.developer-card-copy h2,
.coordinator-card-copy h2{margin:0;color:var(--theme-ink,#fff);font:700 21px/1.3 var(--display);letter-spacing:-.025em}
html[data-theme="light"] .developer-card-copy h2,
html[data-theme="light"] .coordinator-card-copy h2{color:#0b1e33}
.developer-role-tag,
.coordinator-role-tag{margin:0 0 4px;color:#087e78;font-size:10.5px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
html[data-theme="dark"] .developer-role-tag,
html[data-theme="dark"] .coordinator-role-tag{color:#5ce3ce}
.coordinator-contacts{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.coordinator-contacts .creator-email{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 14px;border-radius:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#e4f6f2;font-size:12px;font-weight:600;text-decoration:none;overflow-wrap:anywhere;word-break:break-all;backdrop-filter:blur(8px);transition:all .2s ease}
html[data-theme="light"] .coordinator-contacts .creator-email{background:rgba(8,126,120,.08);border-color:rgba(8,126,120,.2);color:#085f5a}
.coordinator-contacts .creator-email:hover{background:rgba(45,174,161,.22);border-color:#2daea1;color:#fff;transform:translateY(-1px)}
html[data-theme="light"] .coordinator-contacts .creator-email:hover{background:#087e78;color:#fff;border-color:#087e78}
@media(max-width:850px){
  .creator-grid-developers,
  .creator-grid-coordinators{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
}
@media(max-width:650px){
  .creator-grid-developers,
  .creator-grid-coordinators{grid-template-columns:1fr!important;max-width:360px!important;margin:0 auto!important;gap:22px!important}
  .developer-card,
  .coordinator-card{padding:14px!important}
  .developer-card .developer-photo,
  .coordinator-card .coordinator-photo{min-height:290px!important;max-height:380px!important;aspect-ratio:1/1.08!important}
  .developer-card-copy h2,
  .coordinator-card-copy h2{font-size:19px}
}
@media(max-width:420px){
  .creator-grid-developers,
  .creator-grid-coordinators{max-width:100%!important}
  .developer-card .developer-photo,
  .coordinator-card .coordinator-photo{min-height:280px!important;aspect-ratio:1/1.08!important}
}
.admin-team-filter-bar{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(150px,1fr)) auto;align-items:end;gap:12px;margin:0 0 30px;padding:17px;border:1px solid var(--theme-line);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.045));backdrop-filter:blur(18px)}.admin-team-filter-bar label{display:grid;gap:7px;color:var(--theme-muted);font-size:11px;font-weight:750}.admin-team-filter-bar input,.admin-team-filter-bar select{width:100%;height:43px;padding:0 12px;border:1px solid var(--theme-line);border-radius:12px;background:rgba(255,255,255,.76);color:#203249;font:600 13px var(--body)}.admin-team-filter-bar input::placeholder{color:#71839a}.admin-team-group{margin-top:30px}.admin-team-group>.section-heading{margin-bottom:15px}.admin-team-group>.section-heading h3{margin:9px 0;color:var(--theme-ink);font:700 25px var(--display)}.admin-team-card[hidden]{display:none!important}.withdrawn-team-group .admin-team-card{border-color:rgba(193,108,108,.27)}.admin-problem-summary{margin:13px 0 6px;padding:13px 15px;border-left:3px solid var(--mint);border-radius:0 12px 12px 0;background:rgba(72,181,166,.08);color:var(--theme-muted);font-size:13px;line-height:1.65}.admin-problem-summary>b{color:var(--theme-ink)}.admin-problem-summary p{margin:4px 0 0}.admin-info-note{position:relative;display:flex;justify-content:flex-end;margin:-10px 0 18px}.admin-info-note>summary{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--theme-line);border-radius:50%;background:rgba(255,255,255,.6);color:#087e82;cursor:pointer;font-size:17px;font-weight:800;list-style:none}.admin-info-note>summary::-webkit-details-marker{display:none}.admin-info-note>div{position:absolute;z-index:5;top:37px;right:0;width:min(390px,calc(100vw - 48px));padding:17px 19px;border:1px solid var(--theme-line);border-radius:16px;background:rgba(248,252,255,.97);box-shadow:0 17px 42px rgba(24,49,75,.16);backdrop-filter:blur(20px);color:#344a62;font-size:13px;line-height:1.65}.admin-info-note>div b{color:#1b3048}.admin-info-note>div p{margin:5px 0 0}.problem-admin-list article>p{margin:6px 0;color:var(--theme-muted);font-size:13px;line-height:1.6}.problem-admin-list article>p strong{color:var(--theme-ink)}.problem-theme{color:#087e82;font-weight:750}.problem-card .problem-outcome{margin:8px 0 0;font-size:13px;line-height:1.6}.problem-outcome b{color:var(--theme-ink)}.team-problem-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 20px}.team-problem-summary p{margin:0;padding:13px 15px;border:1px solid var(--theme-line);border-radius:14px;background:rgba(255,255,255,.14);color:var(--theme-muted);font-size:13px;line-height:1.65}.team-problem-summary b{display:block;margin-bottom:4px;color:var(--theme-ink);font-size:11px;letter-spacing:.07em;text-transform:uppercase}.admin-team-filter-bar button{height:43px;white-space:nowrap}
html[data-theme="dark"] .admin-team-filter-bar{background:linear-gradient(135deg,rgba(25,44,65,.88),rgba(17,32,50,.76))}html[data-theme="dark"] .admin-team-filter-bar input,html[data-theme="dark"] .admin-team-filter-bar select{background:rgba(11,24,39,.84);color:#eaf2fb}html[data-theme="dark"] .admin-info-note>summary{background:rgba(23,42,63,.9);color:#8cebd5}html[data-theme="dark"] .admin-info-note>div{background:rgba(19,35,53,.98);color:#cfdae7}html[data-theme="dark"] .admin-info-note>div b{color:#f0f6ff}html[data-theme="dark"] .admin-problem-summary{background:rgba(72,181,166,.11)}html[data-theme="dark"] .team-problem-summary p{background:rgba(18,34,52,.58)}

/* Landing page PSID cards and live team interest. */
.landing-live-strip{position:relative;isolation:isolate;overflow:hidden;border-color:rgba(92,211,197,.28);background:linear-gradient(125deg,rgba(16,43,66,.76),rgba(18,68,79,.52),rgba(18,34,56,.78));box-shadow:0 22px 65px rgba(16,56,77,.16),inset 0 1px rgba(255,255,255,.28);animation:liveStripFloat 7s ease-in-out infinite}
.landing-live-strip::before{content:"";position:absolute;z-index:-1;inset:-55%;background:conic-gradient(from 0deg,transparent 0 65%,rgba(83,228,204,.2) 73%,transparent 83%);animation:liveStripOrbit 16s linear infinite}
.landing-live-strip::after{content:"";position:absolute;z-index:-1;inset:1px;border-radius:inherit;background:linear-gradient(125deg,rgba(255,255,255,.12),rgba(255,255,255,.015));pointer-events:none}
.landing-live-strip>div{position:relative;z-index:1;min-height:68px;justify-content:center}
.landing-live-strip>i{position:relative;z-index:1;background:linear-gradient(180deg,transparent,rgba(111,227,211,.4),transparent)}
.landing-live-strip strong{display:inline-block;text-shadow:0 0 25px rgba(74,222,201,.24);animation:liveNumberGlow 3.2s ease-in-out infinite alternate}
.landing-live-strip .eyebrow{display:flex;align-items:center;gap:8px}
.live-stat-teams .eyebrow i{width:7px;height:7px;border-radius:50%;background:#68e8c3;box-shadow:0 0 0 0 rgba(104,232,195,.55);animation:liveDotPulse 2s ease-out infinite}
.problem-statement-glass{padding:0;overflow:hidden;border-color:rgba(85,200,190,.25);background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(230,243,249,.26));box-shadow:0 16px 42px rgba(22,58,82,.09),inset 0 1px rgba(255,255,255,.72);backdrop-filter:blur(24px);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.problem-statement-glass:hover{transform:translateY(-4px);border-color:rgba(66,200,184,.54);box-shadow:0 25px 55px rgba(22,72,91,.15),0 0 30px rgba(86,218,196,.11)}
.problem-card-summary{position:relative;display:flex;min-height:194px;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;padding:25px 26px;cursor:pointer;list-style:none}
.problem-card-summary::-webkit-details-marker{display:none}
.problem-card-summary::after{content:"";position:absolute;top:-46px;right:-48px;width:154px;height:154px;border:1px solid rgba(52,181,170,.2);border-radius:50%;box-shadow:0 0 0 16px rgba(52,181,170,.035),0 0 0 34px rgba(52,181,170,.025);pointer-events:none}
.problem-psid-label{color:var(--theme-muted);font-size:10px;font-weight:800;letter-spacing:.18em}
.problem-psid-code{color:var(--theme-ink);font:800 clamp(35px,4vw,48px)/1 var(--display);letter-spacing:-.055em;text-shadow:0 7px 24px rgba(53,156,154,.12)}
.problem-team-count{display:inline-flex;align-items:center;gap:7px;margin-top:5px;padding:6px 10px;border:1px solid rgba(45,171,157,.22);border-radius:999px;background:rgba(70,199,177,.12);color:#087d78;animation:psidCountEnter .45s ease both}
.problem-team-count[hidden]{display:none}
.problem-team-count strong{font:800 12px var(--display)}
.problem-team-count small{margin:0;color:inherit;font-size:10px;font-weight:700}
.problem-preview-hint{display:flex;align-items:center;gap:8px;margin-top:3px;color:var(--theme-muted);font-size:12px;font-weight:700}
.problem-preview-hint i{display:grid;width:23px;height:23px;place-items:center;border:1px solid rgba(45,171,157,.25);border-radius:50%;color:#078b82;font-style:normal;transition:transform .25s ease,background .25s ease}
.problem-statement-glass[open] .problem-preview-hint i{transform:rotate(90deg);background:rgba(60,191,173,.15)}
.problem-statement-glass[open] .problem-card-summary{min-height:150px;border-bottom:1px solid rgba(93,139,161,.17)}
.problem-preview-content{padding:22px 26px 25px;animation:psidPreviewReveal .28s ease both}
.problem-preview-content .eyebrow{color:#078c83;font-size:10px;letter-spacing:.14em}
.problem-preview-content h3{margin:8px 0 10px;color:var(--theme-ink);font:750 21px/1.3 var(--display)}
.problem-preview-content>p,.problem-preview-meta span{color:var(--theme-muted);font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.problem-preview-content>p{margin:0}
.problem-preview-meta{display:grid;gap:4px;margin-top:15px;padding-top:13px;border-top:1px solid rgba(93,139,161,.16)}
.problem-preview-meta b{color:var(--theme-ink);font-size:11px;letter-spacing:.09em;text-transform:uppercase}
.problem-detail-sections{display:grid;gap:0;margin-top:13px}
.problem-detail-block{padding:13px 0;border-top:1px solid rgba(93,139,161,.16)}
.problem-detail-block>b{display:flex;align-items:center;gap:8px;margin:0 0 7px;color:var(--theme-ink);font-size:11px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.problem-detail-block>b small{padding:3px 6px;border-radius:5px;background:rgba(226,163,62,.13);color:#966d1f;font-size:8px;letter-spacing:.1em}
.problem-detail-block p,.problem-detail-block li{margin:0;color:var(--theme-muted);font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.problem-detail-block ul{display:grid;gap:5px;margin:0;padding-left:20px}
.dashboard-problem-brief{margin:18px 0 0;padding:18px 20px;border:1px solid rgba(67,177,170,.19);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.3),rgba(232,245,249,.14))}
.dashboard-problem-brief>.eyebrow{color:#087e82}
.dashboard-problem-brief h3{margin:6px 0 0;color:var(--theme-ink);font:750 18px/1.35 var(--display)}
html[data-theme="dark"] .problem-detail-block{border-color:rgba(187,216,237,.13)}
html[data-theme="dark"] .problem-detail-block>b small{background:rgba(238,183,80,.12);color:#ffd47d}
html[data-theme="dark"] .dashboard-problem-brief{border-color:rgba(119,196,204,.16);background:linear-gradient(135deg,rgba(27,49,70,.55),rgba(17,36,56,.38))}
html[data-theme="dark"] .dashboard-problem-brief>.eyebrow{color:#82e7d2}
html[data-theme="dark"] .landing-live-strip{border-color:rgba(101,224,205,.22);background:linear-gradient(125deg,rgba(9,25,42,.9),rgba(13,48,62,.82),rgba(8,22,39,.91));box-shadow:0 24px 66px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.12)}
html[data-theme="dark"] .problem-statement-glass{border-color:rgba(119,196,204,.19);background:linear-gradient(145deg,rgba(27,49,70,.85),rgba(17,36,56,.73));box-shadow:0 18px 46px rgba(0,0,0,.19),inset 0 1px rgba(255,255,255,.1)}
html[data-theme="dark"] .problem-statement-glass:hover{border-color:rgba(100,229,205,.45);box-shadow:0 25px 58px rgba(0,0,0,.27),0 0 30px rgba(65,202,184,.09)}
html[data-theme="dark"] .problem-team-count{border-color:rgba(91,221,199,.25);background:rgba(64,196,174,.12);color:#8cebd5}
html[data-theme="dark"] .problem-preview-content .eyebrow{color:#82e7d2}
@keyframes liveStripFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes liveStripOrbit{to{transform:rotate(360deg)}}
@keyframes liveNumberGlow{from{text-shadow:0 0 12px rgba(74,222,201,.12)}to{text-shadow:0 0 28px rgba(74,222,201,.35)}}
@keyframes liveDotPulse{0%{box-shadow:0 0 0 0 rgba(104,232,195,.52)}75%,100%{box-shadow:0 0 0 8px rgba(104,232,195,0)}}
@keyframes psidCountEnter{from{opacity:0;transform:translateY(5px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes psidPreviewReveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.problem-card-summary{min-height:172px;padding:22px}.problem-statement-glass[open] .problem-card-summary{min-height:138px}.problem-preview-content{padding:19px 22px 22px}.landing-live-strip{gap:12px}.landing-live-strip>div{min-height:62px}}
@media(prefers-reduced-motion:reduce){.landing-live-strip,.landing-live-strip::before,.landing-live-strip strong,.live-stat-teams .eyebrow i,.problem-team-count{animation:none!important}.problem-statement-glass,.problem-preview-hint i{transition:none!important}.problem-preview-content{animation:none!important}}

.problem-preview-dialog{position:fixed;width:min(760px,calc(100% - 32px));max-width:none;max-height:min(82vh,760px);margin:auto;padding:0;overflow:visible;border:1px solid rgba(92,211,197,.42);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(237,247,251,.92));color:var(--theme-ink);box-shadow:0 38px 110px rgba(8,29,48,.36),inset 0 1px rgba(255,255,255,.9)}
.problem-preview-dialog[open]{animation:problemDialogIn .38s cubic-bezier(.2,.8,.2,1) both}
.problem-preview-dialog.is-closing{animation:problemDialogOut .17s ease-in both}
.problem-preview-dialog::backdrop{background:rgba(7,20,35,.56);backdrop-filter:blur(8px);animation:problemBackdropIn .3s ease both}
.problem-preview-dialog-shell{position:relative;max-height:min(82vh,760px);overflow:auto;padding:clamp(25px,5vw,46px);border-radius:inherit}
.problem-preview-close{position:absolute;z-index:2;top:17px;right:17px;display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(68,121,143,.2);border-radius:50%;background:rgba(255,255,255,.72);color:#183047;font:400 29px/1 var(--body);cursor:pointer;transition:transform .2s ease,background .2s ease}
.problem-preview-close:hover{transform:rotate(90deg);background:#fff}
.problem-preview-dialog-content .problem-preview-content{padding:12px 8px 10px;animation:none}
.problem-preview-dialog-content .problem-preview-content .eyebrow{display:block;padding-right:44px}
.problem-preview-dialog-content .problem-preview-content h3{max-width:620px;margin:14px 0 15px;font-size:clamp(26px,4vw,38px);line-height:1.18;letter-spacing:-.04em}
.problem-preview-dialog-content .problem-preview-content>p,.problem-preview-dialog-content .problem-preview-meta span{font-size:16px;line-height:1.8;white-space:pre-wrap}
.problem-preview-dialog-content .problem-preview-meta{margin-top:20px;padding-top:17px}
.problem-preview-dialog-content .problem-preview-meta b{font-size:12px;letter-spacing:.12em}
.problem-preview-dialog-count{display:flex;margin:0 8px 8px;padding-top:17px;border-top:1px solid rgba(93,139,161,.17)}
.problem-preview-dialog-count[hidden]{display:none}
.problem-preview-dialog-count .problem-team-count{margin:0;font-size:13px}
html[data-theme="dark"] .problem-preview-dialog{border-color:rgba(112,223,207,.32);background:linear-gradient(145deg,rgba(22,43,64,.98),rgba(12,29,48,.97));box-shadow:0 38px 110px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.1)}
html[data-theme="dark"] .problem-preview-close{border-color:rgba(153,189,209,.23);background:rgba(35,57,78,.88);color:#eef6ff}
html[data-theme="dark"] .problem-preview-close:hover{background:rgba(52,78,101,.96)}
@keyframes problemDialogIn{from{opacity:0;transform:translateY(22px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes problemDialogOut{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(14px) scale(.97)}}
@keyframes problemBackdropIn{from{opacity:0}to{opacity:1}}
@media(max-width:600px){.problem-preview-dialog{width:calc(100% - 22px);max-height:88vh;border-radius:22px}.problem-preview-dialog-shell{max-height:88vh;padding:23px 19px}.problem-preview-close{top:12px;right:12px;width:38px;height:38px}.problem-preview-dialog-content .problem-preview-content{padding:22px 2px 8px}.problem-preview-dialog-content .problem-preview-content>p,.problem-preview-dialog-content .problem-preview-meta span{font-size:14px}.problem-preview-dialog-count{margin:0 2px 3px}}
@media(prefers-reduced-motion:reduce){.problem-preview-dialog[open],.problem-preview-dialog.is-closing,.problem-preview-dialog::backdrop{animation:none!important}.problem-preview-close{transition:none!important}}

.landing-news-section{position:relative;margin:42px auto 20px;padding:54px clamp(20px,4vw,46px);border:1px solid rgba(104,199,200,.22);border-radius:30px;background:linear-gradient(135deg,rgba(255,255,255,.42),rgba(227,241,248,.18));box-shadow:0 22px 65px rgba(24,62,88,.08);backdrop-filter:blur(24px)}
.landing-news-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 auto 27px}
.landing-news-heading .eyebrow{display:flex;align-items:center;gap:9px;color:var(--theme-muted);font-size:10px;letter-spacing:.16em}
.landing-news-heading .eyebrow i{width:8px;height:8px;border-radius:50%;background:#4bdbb8;box-shadow:0 0 0 0 rgba(75,219,184,.5);animation:liveDotPulse 2s ease-out infinite}
.landing-news-heading h2{margin:11px 0 8px;color:var(--theme-ink);font:750 clamp(30px,4vw,43px)/1.12 var(--display);letter-spacing:-.045em}
.landing-news-heading h2 em{color:#0b948b;font-style:normal}
.landing-news-heading p{margin:0;color:var(--theme-muted);font-size:14px;line-height:1.65}
.landing-news-timezone{flex:0 0 auto;margin-bottom:3px;padding:8px 12px;border:1px solid var(--theme-line);border-radius:999px;background:rgba(255,255,255,.3);color:var(--theme-muted);font-size:11px;font-weight:750;letter-spacing:.06em}
.landing-news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:20px}
.landing-news-card{display:flex;flex-direction:column;align-items:stretch;gap:18px;min-width:0;padding:24px 22px;border:1px solid rgba(255,255,255,.66);border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.76),rgba(244,250,253,.43));box-shadow:0 12px 35px rgba(30,65,91,.08),inset 0 1px rgba(255,255,255,.8);backdrop-filter:blur(20px);transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
.landing-news-card:hover{transform:translateY(-3px);border-color:rgba(64,198,183,.42);box-shadow:0 19px 42px rgba(30,65,91,.13),inset 0 1px rgba(255,255,255,.9)}
.landing-news-copy{width:100%;min-width:0}
.landing-news-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.landing-news-meta>span{padding:5px 9px;border-radius:999px;background:rgba(45,174,161,.12);color:#087e78;font-size:9.5px;font-weight:850;letter-spacing:.1em}
.landing-news-meta time{color:var(--theme-muted);font-size:11.5px;font-weight:700}
.landing-news-title-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px}
.landing-news-title-row h3{flex:1;min-width:0;margin:0;color:var(--theme-ink);font:750 clamp(18px,2.2vw,22px)/1.3 var(--display);letter-spacing:-.025em}
.landing-news-copy p{margin:0;color:var(--theme-muted);font-size:12px;line-height:1.65}
.landing-countdown-wrap{min-width:0;padding:12px;border:1px solid rgba(132,180,195,.2);border-radius:17px;background:linear-gradient(140deg,rgba(227,240,246,.5),rgba(255,255,255,.23))}
.landing-countdown-caption{display:block;margin:0 0 9px;color:var(--theme-muted);font-size:9px;font-weight:850;letter-spacing:.13em;text-align:center}
/* =========================================================================
   3D SMOOTH ROLLING TYRE CYLINDER COUNTDOWN TIMER (TIME IN MIDDLE, ZERO OVERLAP)
   ========================================================================= */
.landing-countdown-wrap {
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  padding: 14px 14px 12px;
  border-radius: 20px;
  border: 1px solid rgba(123, 231, 206, 0.25);
  background: linear-gradient(145deg, rgba(14, 28, 45, 0.88), rgba(7, 16, 28, 0.95));
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(20px);
}
.landing-countdown-caption {
  display: block;
  margin: 0 0 11px;
  color: var(--theme-muted);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-align: center;
}
.tyre-slot-grid,
.casino-slot-grid,
.flip-calendar,
.rolling-ring-calendar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.tyre-slot-grid[hidden],
.casino-slot-grid[hidden],
.flip-calendar[hidden],
.rolling-ring-calendar[hidden] {
  display: none;
}
.tyre-slot-unit,
.casino-slot-unit,
.flip-calendar-unit,
.rolling-ring-unit {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  text-align: center;
}
.tyre-wheel-cylinder,
.casino-slot-reel,
.flip-calendar-number,
.rolling-ring-cylinder {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  height: 48px;
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid rgba(123, 231, 206, 0.38);
  border-top: 1px solid rgba(255, 255, 255, 0.22);
  border-bottom: 1px solid rgba(0, 0, 0, 0.85);
  /* 3D Convex Metallic Tyre Surface Gradient */
  background: linear-gradient(
    180deg,
    #030810 0%,
    #081726 14%,
    #102c46 36%,
    #1a4369 50%,
    #102c46 64%,
    #081726 86%,
    #030810 100%
  );
  box-shadow:
    0 10px 24px rgba(0, 0, 0, 0.45),
    inset 0 3px 8px rgba(0, 0, 0, 0.7),
    inset 0 -3px 8px rgba(0, 0, 0, 0.7),
    inset 3px 0 8px rgba(123, 231, 206, 0.14),
    inset -3px 0 8px rgba(123, 231, 206, 0.14);
  perspective: 380px;
  transform-style: preserve-3d;
  contain: paint layout;
}
.flip-calendar-number::after {
  display: none !important;
}
/* Explicitly remove any center line or tread lines across the digits */
.flip-calendar-number::before,
.flip-calendar-number::after,
.tyre-wheel-cylinder::before,
.tyre-wheel-cylinder::after,
.casino-slot-reel::before,
.casino-slot-reel::after,
.tyre-wheel-glass::before,
.tyre-wheel-glass::after,
.casino-reel-glass::before,
.casino-reel-glass::after,
.roller-ring-overlay::before,
.roller-ring-overlay::after {
  content: none !important;
  display: none !important;
}
.tyre-track,
.casino-reel-viewport {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  transform-style: preserve-3d;
}
.tyre-wheel-glass,
.casino-reel-glass,
.roller-ring-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 5;
  border-radius: 13px;
  background: linear-gradient(
    180deg,
    rgba(3, 8, 16, 0.65) 0%,
    rgba(3, 8, 16, 0.1) 22%,
    transparent 36%,
    transparent 64%,
    rgba(3, 8, 16, 0.1) 78%,
    rgba(3, 8, 16, 0.65) 100%
  );
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
}
.tyre-slot-label,
.casino-slot-label,
.flip-calendar-unit small,
.rolling-ring-unit small {
  display: block;
  margin-top: 4px;
  font-family: var(--font);
  font-size: 8.5px;
  font-weight: 750;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--mint);
  text-shadow: 0 0 8px rgba(123, 231, 206, 0.35);
  text-align: center;
  width: 100%;
  box-sizing: border-box;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}
.landing-countdown-ended{display:grid;min-height:66px;place-items:center;border:1px solid rgba(226,171,81,.23);border-radius:11px;background:linear-gradient(145deg,rgba(83,70,50,.13),rgba(255,255,255,.24));color:#966d1f;font-size:13px;font-weight:800;text-align:center}
.landing-countdown-ended[hidden]{display:none}
.landing-news-card.is-ended{opacity:.8}
.landing-news-empty{display:flex;align-items:center;gap:14px;padding:20px;border:1px dashed var(--theme-line);border-radius:18px;color:var(--theme-muted)}
.landing-news-empty>span{display:grid;flex:0 0 38px;height:38px;place-items:center;border-radius:12px;background:rgba(55,184,167,.12);color:#078b82;font-size:20px}
.landing-news-empty p{margin:0;font-size:13px;line-height:1.6}
html[data-theme="dark"] .landing-news-section{border-color:rgba(119,199,206,.16);background:linear-gradient(135deg,rgba(15,34,54,.78),rgba(16,49,62,.55));box-shadow:0 25px 65px rgba(0,0,0,.16)}
html[data-theme="dark"] .landing-news-heading h2 em{color:#73dec7}
html[data-theme="dark"] .landing-news-timezone{background:rgba(12,28,45,.62);color:#c5d5e4}
html[data-theme="dark"] .landing-news-card{border-color:rgba(157,193,209,.14);background:linear-gradient(135deg,rgba(30,51,73,.8),rgba(19,39,60,.68));box-shadow:0 15px 38px rgba(0,0,0,.19),inset 0 1px rgba(255,255,255,.08)}
html[data-theme="dark"] .landing-news-card:hover{border-color:rgba(100,229,205,.34)}
html[data-theme="dark"] .landing-news-meta>span{background:rgba(75,213,190,.12);color:#8cebd5}
html[data-theme="dark"] .landing-countdown-wrap{border-color:rgba(157,193,209,.13);background:linear-gradient(140deg,rgba(12,28,45,.64),rgba(22,43,62,.53))}
html[data-theme="dark"] .landing-countdown-ended{border-color:rgba(241,195,105,.2);background:rgba(145,112,53,.12);color:#f0cf84}
html[data-theme="dark"] .landing-news-empty>span{color:#8cebd5}
html[data-theme="light"] .landing-countdown-wrap {
  border-color: rgba(8, 125, 112, 0.25);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.95), rgba(238, 246, 252, 0.88));
  box-shadow: 0 14px 36px rgba(28, 52, 78, 0.1), inset 0 1px 0 #ffffff;
}
html[data-theme="light"] .tyre-wheel-cylinder,
html[data-theme="light"] .casino-slot-reel,
html[data-theme="light"] .rolling-ring-cylinder,
html[data-theme="light"] .flip-calendar-number {
  background: linear-gradient(
    180deg,
    #bdd0de 0%,
    #dce8f2 14%,
    #f2f7fc 36%,
    #ffffff 50%,
    #f2f7fc 64%,
    #dce8f2 86%,
    #bdd0de 100%
  );
  border-color: rgba(8, 125, 112, 0.35);
  border-top-color: #ffffff;
  border-bottom-color: rgba(20, 45, 70, 0.25);
  color: #0b2236;
  box-shadow:
    0 8px 20px rgba(28, 52, 78, 0.12),
    inset 0 2px 6px rgba(0, 0, 0, 0.12),
    inset 0 -2px 6px rgba(0, 0, 0, 0.15),
    inset 2px 0 6px rgba(8, 125, 112, 0.1),
    inset -2px 0 6px rgba(8, 125, 112, 0.1);
}

html[data-theme="light"] .tyre-digit,
html[data-theme="light"] .casino-digit,
html[data-theme="light"] .roller-digit,
html[data-theme="light"] .flip-calendar-face,
html[data-theme="light"] .flip-calendar-top-flap {
  color: #0b2236;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 0 10px rgba(8, 125, 112, 0.22);
}
html[data-theme="light"] .tyre-wheel-glass,
html[data-theme="light"] .casino-reel-glass,
html[data-theme="light"] .roller-ring-overlay {
  background: linear-gradient(
    180deg,
    rgba(180, 200, 218, 0.5) 0%,
    rgba(215, 230, 242, 0.1) 22%,
    transparent 36%,
    transparent 64%,
    rgba(215, 230, 242, 0.1) 78%,
    rgba(180, 200, 218, 0.5) 100%
  );
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
}
html[data-theme="light"] .tyre-slot-label,
html[data-theme="light"] .casino-slot-label,
html[data-theme="light"] .flip-calendar-unit small,
html[data-theme="light"] .rolling-ring-unit small {
  color: #087d70;
  text-shadow: none;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}
@media(max-width:920px){.landing-news-card{grid-template-columns:1fr}.landing-countdown-wrap{max-width:none}.tyre-wheel-cylinder,.casino-slot-reel,.flip-calendar-number{min-height:48px;height:48px}}
@media(max-width:560px){.landing-news-section{margin-top:30px;padding:33px 16px;border-radius:23px}.landing-news-heading{align-items:flex-start;flex-direction:column;gap:13px}.landing-news-heading h2{font-size:30px}.landing-news-grid{grid-template-columns:1fr}.landing-news-card{gap:15px;padding:15px;border-radius:18px}.tyre-slot-grid,.casino-slot-grid,.flip-calendar{gap:6px}.tyre-wheel-cylinder,.casino-slot-reel,.flip-calendar-number{min-height:42px;height:42px;border-radius:8px}.tyre-digit,.casino-digit,.flip-calendar-face{font-size:16px}.tyre-slot-label,.casino-slot-label,.flip-calendar-unit small{font-size:8px;letter-spacing:.03em;margin-top:6px}}
@media(prefers-reduced-motion:reduce){.landing-news-heading .eyebrow i,.landing-news-card,.tyre-digit,.casino-digit{animation:none!important;transition:none!important}}
.landing-news-tools{position:relative;display:flex;align-items:center;gap:9px;flex:0 0 auto}
.landing-news-info{position:relative}
.landing-news-info>summary{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--theme-line);border-radius:50%;background:rgba(255,255,255,.46);color:#07877f;cursor:pointer;font-size:17px;font-weight:800;list-style:none;transition:transform .2s ease,background .2s ease}
.landing-news-info>summary::-webkit-details-marker{display:none}
.landing-news-info>summary:hover{transform:translateY(-1px);background:rgba(73,198,178,.13)}
.landing-news-info>div{position:absolute;z-index:8;top:43px;right:0;width:min(310px,calc(100vw - 48px));padding:14px 16px;border:1px solid var(--theme-line);border-radius:15px;background:rgba(249,252,255,.98);box-shadow:0 17px 42px rgba(24,49,75,.17);backdrop-filter:blur(20px);color:#40556d;font-size:12px;line-height:1.65}
.landing-news-empty{justify-content:center;flex-wrap:wrap;padding:17px 20px;border-style:solid;background:rgba(255,255,255,.16)}
.landing-news-empty>b{color:var(--theme-muted);font-size:13px;font-weight:700}
html[data-theme="dark"] .landing-news-info>summary{border-color:rgba(128,219,209,.23);background:rgba(17,38,58,.83);color:#8cebd5}
html[data-theme="dark"] .landing-news-info>div{background:rgba(17,34,53,.98);color:#cbd9e7}
@media(max-width:560px){.landing-news-tools{align-self:flex-end}.landing-news-info>div{right:0}}
@media(prefers-reduced-motion:reduce){.landing-news-info>summary{transition:none}}

.problem-admin-list{display:grid;gap:12px;margin-top:18px}
.problem-admin-item{overflow:hidden;border:1px solid rgba(99,190,191,.23);border-radius:19px;background:linear-gradient(135deg,rgba(255,255,255,.62),rgba(232,244,249,.34));box-shadow:0 13px 32px rgba(31,66,92,.07),inset 0 1px rgba(255,255,255,.7);backdrop-filter:blur(20px);transition:border-color .25s ease,box-shadow .25s ease}
.problem-admin-item:hover{border-color:rgba(61,184,171,.45);box-shadow:0 17px 38px rgba(31,66,92,.11),inset 0 1px rgba(255,255,255,.78)}
.problem-admin-item>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:74px;padding:16px 20px;cursor:pointer;list-style:none}
.problem-admin-item>summary::-webkit-details-marker{display:none}
.problem-admin-item>summary>span:first-child{display:grid;gap:4px;min-width:0}
.problem-admin-item>summary>span:first-child small{color:#078a82;font-size:9px;font-weight:850;letter-spacing:.16em}
.problem-admin-item>summary>span:first-child b{overflow-wrap:anywhere;color:var(--theme-ink);font:750 16px/1.4 var(--display)}
.problem-admin-item>summary>span:first-child b i{color:var(--mint);font-style:normal}
.problem-admin-preview-action{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding:8px 11px;border:1px solid rgba(62,177,164,.23);border-radius:999px;background:rgba(66,190,172,.09);color:#087e78;font-size:11px;font-weight:800}
.problem-admin-preview-action i{display:grid;width:21px;height:21px;place-items:center;border-radius:50%;background:rgba(66,190,172,.14);font-size:12px;font-style:normal;transition:transform .22s ease}
.problem-admin-item[open]{border-color:rgba(61,184,171,.48);box-shadow:0 18px 42px rgba(31,66,92,.12),inset 0 1px rgba(255,255,255,.78)}
.problem-admin-item[open]>summary{border-bottom:1px solid rgba(89,145,166,.16)}
.problem-admin-item[open] .problem-admin-preview-action i{transform:rotate(90deg)}
.problem-admin-preview{display:grid;gap:9px;padding:15px 20px 19px;animation:psidPreviewReveal .25s ease both}
.problem-admin-preview>p{display:grid;gap:4px;margin:0;padding:11px 13px;border:1px solid rgba(123,169,187,.15);border-radius:12px;background:rgba(255,255,255,.32);color:var(--theme-muted);font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.problem-admin-preview>p strong{color:var(--theme-ink);font-size:10px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.problem-admin-preview>p strong small{margin-left:5px;padding:3px 6px;border-radius:999px;background:rgba(224,170,61,.14);color:#9a701e;font-size:8px;letter-spacing:.08em}
html[data-theme="dark"] .problem-admin-item{border-color:rgba(123,197,205,.18);background:linear-gradient(135deg,rgba(28,49,70,.87),rgba(17,37,57,.76));box-shadow:0 14px 34px rgba(0,0,0,.16),inset 0 1px rgba(255,255,255,.08)}
html[data-theme="dark"] .problem-admin-item:hover,html[data-theme="dark"] .problem-admin-item[open]{border-color:rgba(105,225,205,.38)}
html[data-theme="dark"] .problem-admin-item>summary>span:first-child small{color:#8cebd5}
html[data-theme="dark"] .problem-admin-preview-action{border-color:rgba(105,225,205,.22);background:rgba(66,190,172,.1);color:#8cebd5}
html[data-theme="dark"] .problem-admin-preview>p{border-color:rgba(144,183,201,.13);background:rgba(10,25,41,.35)}
html[data-theme="dark"] .problem-admin-preview>p strong small{background:rgba(224,170,61,.15);color:#f0cf84}
@media(max-width:560px){.problem-admin-item>summary{align-items:flex-start;padding:15px}.problem-admin-item>summary>span:first-child b{font-size:14px}.problem-admin-preview{padding:12px 14px 15px}}
@media(prefers-reduced-motion:reduce){.problem-admin-item,.problem-admin-preview-action i{transition:none!important}.problem-admin-preview{animation:none!important}}

/* 3D Smooth Rolling Tyre Drum Physics (TIME IN THE DEAD CENTER) */
.tyre-digit,
.casino-digit,
.flip-calendar-face,
.roller-digit {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f0fdf9;
  font-family: var(--display);
  font-weight: 850;
  font-size: clamp(17px, 2.1vw, 21px);
  line-height: 1;
  letter-spacing: -0.025em;
  font-variant-numeric: tabular-nums;
  text-shadow: 0 0 16px rgba(123, 231, 206, 0.55), 0 2px 5px rgba(0, 0, 0, 0.85);
  backface-visibility: hidden;
  will-change: transform, opacity;
  transform-origin: 50% 50% -20px;
  user-select: none;
  pointer-events: none;
  margin: 0;
  padding: 0;
}
.tyre-digit-active,
.casino-digit-active,
.roller-digit-face,
.flip-calendar-face {
  z-index: 2;
  opacity: 1;
}
/* Eliminate any legacy split-flap duplicate element */
.roller-digit-flap,
.flip-calendar-top-flap {
  display: none !important;
}
/* Smooth Tyre Rotation Animation along the Wheel Cylinder Tread */
.tyre-digit.is-rolling-out,
.casino-digit.is-rolling-out {
  animation: tyreRollDownOut 0.34s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
.tyre-digit.is-rolling-in,
.casino-digit.is-rolling-in {
  animation: tyreRollDownIn 0.34s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

@keyframes tyreRollDownOut {
  0% {
    transform: translate(-50%, -50%) rotateX(0deg);
    opacity: 1;
    filter: blur(0);
  }
  30% {
    opacity: 0.85;
  }
  100% {
    transform: translate(-50%, -50%) rotateX(-90deg);
    opacity: 0;
    filter: blur(1.5px);
  }
}

@keyframes tyreRollDownIn {
  0% {
    transform: translate(-50%, -50%) rotateX(90deg);
    opacity: 0;
    filter: blur(1.5px);
  }
  40% {
    opacity: 0.9;
    filter: blur(0);
  }
  85% {
    transform: translate(-50%, -50%) rotateX(-4deg);
  }
  100% {
    transform: translate(-50%, -50%) rotateX(0deg);
    opacity: 1;
    filter: blur(0);
  }
}
.landing-news-title-row{position:relative;display:flex;align-items:flex-start;gap:9px}
.landing-news-title-row h3{flex:1;min-width:0}
.landing-news-item-info{position:relative;flex:0 0 auto;margin-top:-4px}
.landing-news-item-info>summary{display:grid;width:28px;height:28px;place-items:center;border:1px solid rgba(74,184,172,.23);border-radius:50%;background:rgba(70,190,172,.09);color:#07867e;cursor:pointer;font-size:15px;font-weight:850;list-style:none}
.landing-news-item-info>summary::-webkit-details-marker{display:none}
.landing-news-item-info>summary:hover{background:rgba(70,190,172,.17)}
.landing-news-item-info>div{position:absolute;z-index:20;top:35px;right:0;width:min(300px,calc(100vw - 70px));padding:13px 15px;border:1px solid var(--theme-line);border-radius:14px;background:rgba(249,252,255,.98);box-shadow:0 16px 38px rgba(24,49,75,.18);backdrop-filter:blur(20px);color:#40556d;font-size:12px;line-height:1.65}
html[data-theme="dark"] .landing-news-item-info>summary{border-color:rgba(105,225,205,.22);background:rgba(66,190,172,.1);color:#8cebd5}
html[data-theme="dark"] .landing-news-item-info>div{background:rgba(17,34,53,.98);color:#cbd9e7}
@media(prefers-reduced-motion:reduce){.flip-calendar-number.is-flipping .flip-calendar-top-flap{animation:none!important}}
@media(max-width:900px){.admin-team-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-team-filter-bar label:first-child{grid-column:1/-1}.admin-team-filter-bar button{justify-self:start}}
@media(max-width:560px){.admin-team-filter-bar{grid-template-columns:1fr;padding:14px}.admin-team-filter-bar label:first-child{grid-column:auto}.team-problem-summary{grid-template-columns:1fr}.admin-team-group>.section-heading h3{font-size:22px}}
/* Landing page: edition-wide deadlines and journey tracker. */
.common-pitch-deadlines{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,2fr);align-items:end;gap:18px;margin:24px 0 6px;padding:22px 24px;border:1px solid var(--theme-line);border-radius:22px;background:linear-gradient(125deg,rgba(255,255,255,.44),rgba(255,255,255,.13));backdrop-filter:blur(18px)}.common-pitch-deadlines label{display:grid;gap:8px;color:var(--theme-ink);font-size:14px;font-weight:700}.common-pitch-deadlines input{width:100%;min-height:48px;padding:0 15px;border:1px solid var(--theme-line);border-radius:14px;background:rgba(255,255,255,.82);color:#203249;font:600 15px var(--body)}.common-pitch-deadlines button{grid-column:1/-1;justify-self:start}
.journey-tracker{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(220px,.78fr) minmax(0,1.65fr);align-items:center;gap:clamp(30px,6vw,88px);margin:56px auto 18px;padding:clamp(30px,5vw,68px);border:1px solid rgba(255,255,255,.2);border-radius:34px;background:radial-gradient(ellipse at 75% 20%,rgba(52,146,177,.28),transparent 42%),radial-gradient(ellipse at 12% 90%,rgba(88,104,182,.23),transparent 44%),linear-gradient(140deg,#0c1b2d,#11263b 55%,#101c30);box-shadow:0 30px 90px rgba(14,34,57,.22);color:#f2f8ff}.tracker-intro{position:relative;z-index:2}.tracker-intro .eyebrow{color:#8de4d6}.tracker-intro h2{margin:14px 0 12px;color:#f3f8ff;font:760 clamp(34px,4.6vw,58px)/1.04 var(--display);letter-spacing:-.06em}.tracker-intro h2 em{color:#71e0ca;font-style:normal}.tracker-intro p{max-width:330px;color:#b5c7d9;font-size:16px;line-height:1.7}.tracker-link{display:inline-flex;align-items:center;gap:11px;margin-top:15px;color:#aaf0df;font-weight:750;text-decoration:none}.tracker-link span{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(142,234,215,.35);border-radius:50%;transition:transform .25s,background .25s}.tracker-link:hover span{transform:translate(3px,-2px);background:rgba(100,226,203,.13)}.tracker-panels{position:relative;z-index:1;display:grid;grid-template-columns:minmax(195px,.82fr) minmax(260px,1.18fr);align-items:center;gap:17px;perspective:1000px}.tracker-phone{position:relative;overflow:hidden;min-height:410px;padding:20px 18px;border:1px solid rgba(220,239,255,.18);border-radius:29px;background:linear-gradient(155deg,rgba(36,67,91,.89),rgba(12,29,46,.94) 72%);box-shadow:0 24px 65px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.12);backdrop-filter:blur(24px);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .4s}.tracker-phone:hover{transform:translateY(-7px);box-shadow:0 32px 78px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.15)}.tracker-route-phone{transform:rotateY(5deg) rotateZ(-1deg)}.tracker-activity-phone{transform:rotateY(-4deg) rotateZ(1deg)}.tracker-phone-top{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-bottom:15px;border-bottom:1px solid rgba(229,241,252,.12);color:#9fb6c9;font-size:9px;font-weight:800;letter-spacing:.12em}.tracker-phone-top>span:first-child{display:flex;align-items:center;gap:7px}.tracker-phone-top i{width:7px;height:7px;border-radius:50%;background:#62e3c0;box-shadow:0 0 12px rgba(98,227,192,.9)}.tracker-route-heading{display:grid;gap:5px;margin-top:17px}.tracker-route-heading small,.tracker-activity-item small{color:#74d9cd;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.tracker-route-heading b{color:#f3f8ff;font:730 22px var(--display)}.tracker-route-heading>span{color:#a2b8cd;font-size:11px}.tracker-route-map{position:relative;height:248px;margin-top:5px}.tracker-route-map svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.tracker-route-track{fill:none;stroke:#54cbbb;stroke-width:2.4;stroke-linecap:round;stroke-dasharray:8 8;filter:drop-shadow(0 0 5px rgba(84,203,187,.7));animation:trackerRouteFlow 2.8s linear infinite}.tracker-route-dot{fill:#142d42;stroke:#89f0d8;stroke-width:2.5;filter:drop-shadow(0 0 8px rgba(103,230,205,.82));animation:trackerDotPulse 2.1s ease-in-out infinite}.tracker-route-dot:nth-of-type(3){animation-delay:.35s}.tracker-route-dot:nth-of-type(4){animation-delay:.7s}.tracker-route-dot-end{fill:#f49b58;stroke:#ffe1bf;animation-delay:1s}.tracker-map-label{position:absolute;max-width:105px;padding:6px 8px;border:1px solid rgba(214,236,248,.15);border-radius:9px;background:rgba(10,27,43,.78);color:#d7e7f3;font-size:9px;font-weight:700;line-height:1.3;box-shadow:0 6px 18px rgba(0,0,0,.18)}.tracker-map-one{left:0;top:7px}.tracker-map-two{right:0;top:78px}.tracker-map-three{left:0;top:151px}.tracker-map-four{right:0;bottom:0;color:#ffe0c0}.tracker-phone-foot{display:flex;align-items:center;justify-content:space-between;gap:7px;padding-top:13px;border-top:1px solid rgba(229,241,252,.12);color:#9db4c9;font-size:8px;font-weight:800;letter-spacing:.12em}.tracker-phone-foot i{height:1px;flex:1;background:linear-gradient(90deg,#3c8e94,#70d6c0)}.tracker-activity-phone{min-height:450px;padding:22px 20px}.tracker-activity-phone h3{margin:19px 0 2px;color:#f4f8fc;font:730 23px var(--display);letter-spacing:-.04em}.tracker-phone-subtitle{margin:0;color:#9fb6c9;font-size:12px}.tracker-activity-list{display:grid;margin-top:17px}.tracker-activity-item{display:grid;grid-template-columns:32px minmax(0,1fr) 16px;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid rgba(229,241,252,.11)}.tracker-activity-icon{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(111,219,203,.26);border-radius:10px;background:rgba(99,221,200,.09);color:#8de9d4;font-size:16px}.tracker-activity-item>div{display:grid;gap:4px}.tracker-activity-item small{font-size:8px}.tracker-activity-item b{color:#e7f0f7;font-size:10px;line-height:1.4}.tracker-activity-arrow{color:#78d9c7;font-size:13px}.tracker-phone-cta{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding:12px 13px;border:1px solid rgba(127,224,205,.24);border-radius:13px;background:rgba(69,186,173,.1);color:#b4f1e1;font-size:11px;font-weight:750;text-decoration:none}.tracker-phone-cta span{font-size:15px}.tracker-orbit{position:absolute;z-index:-1;border:1px solid rgba(112,208,209,.13);border-radius:50%;pointer-events:none}.tracker-orbit-a{width:460px;height:460px;right:-185px;top:-250px;animation:trackerOrbit 22s linear infinite}.tracker-orbit-b{width:360px;height:360px;right:22%;bottom:-305px;border-color:rgba(160,162,235,.12);animation:trackerOrbit 28s linear infinite reverse}@keyframes trackerRouteFlow{to{stroke-dashoffset:-32}}@keyframes trackerDotPulse{0%,100%{r:6;opacity:.8}50%{r:9;opacity:1}}@keyframes trackerOrbit{to{transform:rotate(360deg)}}
.common-pitch-deadlines label{color:var(--theme-ink)}html[data-theme="dark"] .common-pitch-deadlines{background:linear-gradient(125deg,rgba(20,39,58,.84),rgba(14,29,45,.76))}html[data-theme="dark"] .common-pitch-deadlines input{background:rgba(10,24,39,.82);color:#eaf3fb}
@media(max-width:900px){.journey-tracker{grid-template-columns:1fr;gap:25px}.tracker-intro p{max-width:560px}.tracker-panels{max-width:660px;width:100%;margin:auto}}
@media(max-width:600px){.common-pitch-deadlines{grid-template-columns:1fr;padding:18px}.common-pitch-deadlines button{grid-column:auto;width:100%}.journey-tracker{margin:38px -8px 10px;padding:26px 18px;border-radius:26px}.tracker-intro h2{font-size:38px}.tracker-intro p{font-size:14px}.tracker-panels{grid-template-columns:1fr;max-width:380px;gap:15px}.tracker-phone,.tracker-activity-phone{min-height:0;transform:none}.tracker-route-map{height:230px}.tracker-phone-foot{font-size:7px}.tracker-activity-phone{padding:19px}.tracker-activity-item b{font-size:11px}}
@media(prefers-reduced-motion:reduce){.tracker-route-track,.tracker-route-dot,.tracker-orbit-a,.tracker-orbit-b{animation:none!important}.tracker-phone,.tracker-link span{transition:none}}
/* Chronological, swipeable timeline inspired by interactive event timelines. */
.ideathon-timeline{padding-top:68px}.timeline-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;max-width:1120px;margin:0 auto 13px;color:var(--theme-ink);font-size:13px;font-weight:750}.timeline-toolbar>span{display:flex;align-items:center;gap:10px}.timeline-toolbar>span>i{width:8px;height:8px;border-radius:50%;background:#3bc8ae;box-shadow:0 0 13px rgba(59,200,174,.7)}.timeline-toolbar small{margin-left:4px;color:var(--theme-muted);font-size:11px;font-weight:500}.timeline-toolbar>div{display:flex;gap:7px}.timeline-scroll-button{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.55);color:var(--theme-ink);font-size:19px;cursor:pointer;transition:transform .2s,background .2s,color .2s}.timeline-scroll-button:hover{transform:translateY(-2px);background:#087e82;color:white}.timeline-sequence{position:relative;display:flex;gap:20px;overflow-x:auto;overflow-y:hidden;max-width:none;margin:0 -2px;padding:27px 10px 27px;scroll-snap-type:x proximity;scroll-behavior:smooth;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:rgba(18,143,151,.55) rgba(120,151,174,.12)}.timeline-sequence::before{top:58px;bottom:auto;left:48px;width:3400px;height:2px;transform:none;transform-origin:left;background:linear-gradient(90deg,#52d5d3,#ae88e6 46%,#f4b74e);box-shadow:0 0 16px rgba(81,197,202,.44)}.timeline-motion-ready .timeline-sequence::before{transform:scaleX(0)}.timeline-motion-ready .timeline-sequence.timeline-active::before{transform:scaleX(1)}.timeline-milestone,.timeline-milestone:nth-child(even){position:relative;display:flex;flex:0 0 clamp(218px,22vw,265px);flex-direction:column;align-items:stretch;gap:0;min-height:0;padding-top:51px;scroll-snap-align:start}.timeline-pin{position:absolute;z-index:2;top:7px;left:15px;grid-column:auto;grid-row:auto;justify-self:auto;width:47px;height:47px;box-shadow:0 0 0 7px rgba(111,192,207,.1),0 9px 25px rgba(28,56,81,.12)}.timeline-pin b{top:-5px;right:-6px;min-width:20px;height:20px;font-size:9px}.timeline-pin i{font-size:19px}.timeline-glass-card,.timeline-milestone:nth-child(even) .timeline-glass-card{display:flex;flex:1;flex-direction:column;grid-column:auto;grid-row:auto;min-height:206px;padding:19px 18px;border-radius:21px}.timeline-milestone:nth-child(even) .timeline-pin{top:7px}.timeline-card-meta{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:13px}.timeline-card-meta>span{font-size:10px}.timeline-card-meta time{font-size:11px;text-align:left}.timeline-glass-card h3{font-size:17px;line-height:1.4}.timeline-card-link{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:17px;color:var(--timeline-accent,#168e9d);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.timeline-card-link i{display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--line);border-radius:50%;font-size:13px;font-style:normal;transition:transform .2s,background .2s}.timeline-glass-card:hover .timeline-card-link i{transform:translate(2px,-2px);background:rgba(52,190,171,.13)}.timeline-spacer{display:none}.timeline-motion-ready .timeline-milestone:not(.is-visible){opacity:0;transform:translateY(16px)}.timeline-motion-ready .timeline-milestone.is-visible{animation:timelineMilestoneIn .65s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--step)*55ms)}.timeline-sequence::-webkit-scrollbar{height:9px}.timeline-sequence::-webkit-scrollbar-track{border-radius:10px;background:rgba(120,151,174,.1)}.timeline-sequence::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:10px;background:rgba(18,143,151,.45);background-clip:padding-box}html[data-theme="dark"] .timeline-scroll-button{background:rgba(25,44,65,.87);border-color:rgba(187,220,244,.18);color:#e8f2fb}html[data-theme="dark"] .timeline-scroll-button:hover{background:#168e91;color:white}.timeline-values{margin-top:30px}
@media(max-width:700px){.ideathon-timeline{padding-top:50px}.timeline-toolbar{align-items:flex-start;margin-bottom:10px}.timeline-toolbar>span{flex-wrap:wrap;font-size:12px}.timeline-toolbar small{width:100%;margin-left:18px}.timeline-scroll-button{width:35px;height:35px}.timeline-sequence{gap:13px;margin:0 -12px;padding:25px 12px 20px}.timeline-sequence::before{top:50px;left:46px;width:3400px}.timeline-milestone,.timeline-milestone:nth-child(even){flex-basis:min(78vw,270px);padding-top:45px}.timeline-pin,.timeline-milestone:nth-child(even) .timeline-pin{top:4px;left:13px;width:42px;height:42px}.timeline-glass-card,.timeline-milestone:nth-child(even) .timeline-glass-card{min-height:205px;padding:16px}.timeline-glass-card h3{font-size:16px}.timeline-values{margin-top:26px}}
@media(prefers-reduced-motion:reduce){.timeline-motion-ready .timeline-sequence::before,.timeline-motion-ready .timeline-sequence.timeline-active::before{transform:none}.timeline-motion-ready .timeline-milestone:not(.is-visible){opacity:1;transform:none}.timeline-sequence,.timeline-scroll-button{scroll-behavior:auto;transition:none}}
.common-pitch-deadlines>div:first-child h2{margin:7px 0;color:var(--theme-ink);font:750 clamp(23px,3vw,32px)/1.15 var(--display);letter-spacing:-.04em}.common-pitch-deadlines>div:first-child p{margin:0;color:var(--theme-muted);font-size:13px}.common-deadline-pills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.common-deadline-pills>div{display:grid;gap:7px;padding:15px 17px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.14)}.common-deadline-pills small{color:var(--theme-muted);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.common-deadline-pills b{color:var(--theme-ink);font-size:14px}.journey-tracker .tracker-route-map path{stroke-dashoffset:0}
@media(max-width:600px){.common-deadline-pills{grid-template-columns:1fr}}
/* Theme-matched translucent film treatment for the landing journey. */
.journey-tracker{overflow:hidden;background:radial-gradient(ellipse at 74% 18%,rgba(74,170,190,.13),transparent 43%),radial-gradient(ellipse at 9% 88%,rgba(113,133,203,.1),transparent 42%),linear-gradient(135deg,rgba(255,255,255,.42),rgba(223,238,247,.21) 54%,rgba(250,253,255,.34));border:1px solid rgba(255,255,255,.72);backdrop-filter:blur(26px) saturate(150%);box-shadow:0 24px 75px rgba(28,59,83,.12),inset 0 1px rgba(255,255,255,.7);color:var(--theme-ink);padding-top:clamp(54px,6vw,78px);padding-bottom:clamp(54px,6vw,78px)}.journey-tracker::before,.journey-tracker::after{content:"";position:absolute;z-index:0;left:24px;right:24px;height:13px;pointer-events:none;border-radius:5px;background:repeating-linear-gradient(90deg,transparent 0 7px,rgba(83,132,157,.16) 7px 25px,transparent 25px 38px)}.journey-tracker::before{top:15px}.journey-tracker::after{top:auto;bottom:15px}.tracker-intro .eyebrow{color:#087e82}.tracker-intro h2{color:var(--theme-ink)}.tracker-intro h2 em{color:#098f86}.tracker-intro p{color:var(--theme-muted)}.tracker-link{color:#087e82}.tracker-link span{border-color:rgba(8,126,130,.28)}.tracker-link:hover span{background:rgba(52,190,171,.12)}.tracker-phone,.tracker-activity-phone{border-color:rgba(255,255,255,.72);background:linear-gradient(150deg,rgba(255,255,255,.48),rgba(255,255,255,.2));box-shadow:0 18px 48px rgba(31,66,91,.11),inset 0 1px rgba(255,255,255,.78);backdrop-filter:blur(22px) saturate(145%)}.tracker-phone-top{border-color:rgba(53,91,116,.15);color:#536b81}.tracker-phone-top i{background:#13a995;box-shadow:0 0 11px rgba(19,169,149,.55)}.tracker-route-heading small,.tracker-activity-item small{color:#087e82}.tracker-route-heading b,.tracker-activity-phone h3{color:var(--theme-ink)}.tracker-route-heading>span,.tracker-phone-subtitle{color:var(--theme-muted)}.tracker-route-track{stroke:#108f91;filter:drop-shadow(0 0 5px rgba(16,143,145,.38))}.tracker-route-dot{fill:rgba(242,250,252,.88);stroke:#0a918e;filter:drop-shadow(0 0 7px rgba(16,143,145,.38))}.tracker-route-dot-end{fill:#e8954d;stroke:#fff0d8}.tracker-map-label{border-color:rgba(67,112,139,.19);background:rgba(246,251,254,.76);color:#294158;box-shadow:0 6px 18px rgba(24,58,84,.08);backdrop-filter:blur(12px)}.tracker-map-four{color:#845323}.tracker-phone-foot{border-color:rgba(53,91,116,.15);color:#5e7488}.tracker-phone-foot i{background:linear-gradient(90deg,#4aa8ae,#78d8bd)}.tracker-activity-item{border-color:rgba(53,91,116,.13)}.tracker-activity-icon{border-color:rgba(8,142,136,.2);background:rgba(56,190,172,.11);color:#087e82}.tracker-activity-item b{color:#273d53}.tracker-activity-arrow{color:#087e82}.tracker-phone-cta{border-color:rgba(8,142,136,.22);background:rgba(64,190,172,.1);color:#087e82}.tracker-orbit-a,.tracker-orbit-b{border-color:rgba(45,135,156,.11)}
html[data-theme="dark"] .journey-tracker{background:radial-gradient(ellipse at 74% 18%,rgba(56,155,177,.19),transparent 43%),radial-gradient(ellipse at 9% 88%,rgba(97,111,187,.15),transparent 42%),linear-gradient(135deg,rgba(14,31,48,.63),rgba(18,39,57,.4) 54%,rgba(13,28,44,.57));border-color:rgba(192,221,240,.22);box-shadow:0 24px 75px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.1);color:#edf6ff}html[data-theme="dark"] .journey-tracker::before,html[data-theme="dark"] .journey-tracker::after{background:repeating-linear-gradient(90deg,transparent 0 7px,rgba(183,216,236,.18) 7px 25px,transparent 25px 38px)}html[data-theme="dark"] .tracker-intro .eyebrow{color:#83e5d3}html[data-theme="dark"] .tracker-intro h2,html[data-theme="dark"] .tracker-activity-phone h3{color:#f0f6fc}html[data-theme="dark"] .tracker-intro h2 em{color:#75dfca}html[data-theme="dark"] .tracker-intro p,html[data-theme="dark"] .tracker-route-heading>span,html[data-theme="dark"] .tracker-phone-subtitle{color:#b6c9d8}html[data-theme="dark"] .tracker-link{color:#9aeddc}html[data-theme="dark"] .tracker-link span{border-color:rgba(142,234,215,.3)}html[data-theme="dark"] .tracker-phone,html[data-theme="dark"] .tracker-activity-phone{border-color:rgba(190,221,241,.2);background:linear-gradient(150deg,rgba(255,255,255,.1),rgba(255,255,255,.035));box-shadow:0 20px 52px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.11)}html[data-theme="dark"] .tracker-phone-top{border-color:rgba(220,239,255,.12);color:#a9bfd1}html[data-theme="dark"] .tracker-phone-top i{background:#62e3c0;box-shadow:0 0 12px rgba(98,227,192,.7)}html[data-theme="dark"] .tracker-route-heading small,html[data-theme="dark"] .tracker-activity-item small{color:#78dfd0}html[data-theme="dark"] .tracker-route-heading b{color:#f3f8ff}html[data-theme="dark"] .tracker-route-track{stroke:#67dfcd;filter:drop-shadow(0 0 5px rgba(103,223,205,.55))}html[data-theme="dark"] .tracker-route-dot{fill:#18334a;stroke:#91f2da;filter:drop-shadow(0 0 8px rgba(103,230,205,.65))}html[data-theme="dark"] .tracker-route-dot-end{fill:#f49b58;stroke:#ffe1bf}html[data-theme="dark"] .tracker-map-label{border-color:rgba(214,236,248,.15);background:rgba(10,27,43,.64);color:#d7e7f3}html[data-theme="dark"] .tracker-map-four{color:#ffe0c0}html[data-theme="dark"] .tracker-phone-foot{border-color:rgba(229,241,252,.12);color:#9db4c9}html[data-theme="dark"] .tracker-activity-item{border-color:rgba(229,241,252,.1)}html[data-theme="dark"] .tracker-activity-icon{border-color:rgba(111,219,203,.24);background:rgba(99,221,200,.08);color:#8de9d4}html[data-theme="dark"] .tracker-activity-item b{color:#e7f0f7}html[data-theme="dark"] .tracker-activity-arrow{color:#78d9c7}html[data-theme="dark"] .tracker-phone-cta{border-color:rgba(127,224,205,.22);background:rgba(69,186,173,.08);color:#b4f1e1}html[data-theme="dark"] .tracker-orbit-a,html[data-theme="dark"] .tracker-orbit-b{border-color:rgba(112,208,209,.12)}
.timeline-sequence{padding:31px 10px 27px}.timeline-glass-card,.timeline-milestone:nth-child(even) .timeline-glass-card{position:relative;overflow:hidden;padding-top:30px;background:linear-gradient(145deg,rgba(255,255,255,.57),rgba(255,255,255,.24));border:1px solid rgba(255,255,255,.72);box-shadow:0 16px 38px rgba(27,53,77,.09),inset 0 1px rgba(255,255,255,.7);backdrop-filter:blur(20px) saturate(145%)}.timeline-glass-card::before{content:"";position:absolute;top:10px;left:17px;right:17px;height:7px;border-radius:6px;background:repeating-linear-gradient(90deg,rgba(32,139,145,.28) 0 9px,transparent 9px 16px)}html[data-theme="dark"] .timeline-glass-card,html[data-theme="dark"] .timeline-milestone:nth-child(even) .timeline-glass-card{background:linear-gradient(145deg,rgba(36,62,82,.56),rgba(18,37,56,.42));border-color:rgba(187,220,244,.16);box-shadow:0 17px 42px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.09)}html[data-theme="dark"] .timeline-glass-card::before{background:repeating-linear-gradient(90deg,rgba(123,210,208,.36) 0 9px,transparent 9px 16px)}
@media(max-width:600px){.journey-tracker{padding-top:54px;padding-bottom:54px}.journey-tracker::before,.journey-tracker::after{left:15px;right:15px}.tracker-phone,.tracker-activity-phone{backdrop-filter:blur(18px)}.timeline-sequence{padding-top:27px}.timeline-glass-card,.timeline-milestone:nth-child(even) .timeline-glass-card{padding-top:28px}}
.problem-pdf-download{display:grid;grid-template-columns:38px minmax(0,1fr) 28px;align-items:center;gap:11px;margin-top:18px;padding:13px 15px;border:1px solid rgba(15,143,139,.22);border-radius:16px;background:linear-gradient(120deg,rgba(102,216,197,.12),rgba(255,255,255,.22));color:#087e82;text-decoration:none;transition:transform .22s,box-shadow .22s,background .22s}.problem-pdf-download:hover{transform:translateY(-2px);background:rgba(99,211,194,.17);box-shadow:0 12px 28px rgba(26,113,116,.12)}.problem-pdf-download>span:first-child{display:grid;place-items:center;width:37px;height:37px;border-radius:12px;background:rgba(34,161,151,.13);font-size:20px}.problem-pdf-download>span:nth-child(2){display:grid;gap:3px;font-size:13px;font-weight:800}.problem-pdf-download small{overflow:hidden;color:var(--theme-muted);font-size:11px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.problem-pdf-download>b{display:grid;place-items:center;width:27px;height:27px;border:1px solid rgba(8,126,130,.22);border-radius:50%;font-size:13px}.problem-pdf-upload{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-top:10px;padding:12px;border:1px dashed var(--theme-line);border-radius:13px;background:rgba(255,255,255,.12)}.problem-pdf-upload label{display:grid;gap:7px;color:var(--theme-ink);font-size:12px;font-weight:700}.problem-pdf-upload input[type=file],.problem-admin-form input[type=file]{max-width:100%;padding:9px;border:1px solid var(--theme-line);border-radius:11px;background:rgba(255,255,255,.58);color:var(--theme-ink);font:500 12px var(--body)}.problem-pdf-current{color:#087e82;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.problem-admin-form input[type=file]{width:100%;margin-top:7px}.problem-admin-form label small{display:block;margin-top:3px;color:var(--theme-muted);font-size:11px;font-weight:500}html[data-theme="dark"] .problem-pdf-download{border-color:rgba(127,224,205,.23);background:linear-gradient(120deg,rgba(66,190,172,.11),rgba(255,255,255,.035));color:#9aeddc}html[data-theme="dark"] .problem-pdf-download:hover{background:rgba(66,190,172,.16)}html[data-theme="dark"] .problem-pdf-upload{background:rgba(17,34,51,.38)}html[data-theme="dark"] .problem-pdf-upload input[type=file],html[data-theme="dark"] .problem-admin-form input[type=file]{background:rgba(8,22,37,.76);color:#eaf3fb}html[data-theme="dark"] .problem-pdf-current{color:#9aeddc}
@media(max-width:600px){.problem-pdf-upload{grid-template-columns:1fr}.problem-pdf-upload button{width:100%}.problem-pdf-download{grid-template-columns:34px minmax(0,1fr) 25px;padding:11px}.problem-pdf-download>span:first-child{width:33px;height:33px}}
.teammate-readonly-note{display:flex;align-items:flex-start;gap:12px;margin:16px 0;padding:14px 17px;border:1px solid rgba(16,143,145,.2);border-radius:16px;background:linear-gradient(120deg,rgba(99,211,194,.09),rgba(255,255,255,.1));color:var(--theme-muted)}.teammate-readonly-note>span{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:rgba(28,158,150,.13);color:#087e82;font-weight:800}.teammate-readonly-note p{margin:0;font-size:13px;line-height:1.6}.teammate-readonly-note b{display:block;margin-bottom:2px;color:var(--theme-ink)}html[data-theme="dark"] .teammate-readonly-note{border-color:rgba(127,224,205,.18);background:linear-gradient(120deg,rgba(66,190,172,.08),rgba(255,255,255,.025))}html[data-theme="dark"] .teammate-readonly-note>span{color:#9aeddc}

/* Administrator email verification and guarded edition reset. */
.admin-security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.admin-security-form{display:grid;align-content:start;gap:14px;padding:20px;border:1px solid var(--theme-line);border-radius:18px;background:linear-gradient(140deg,rgba(255,255,255,.5),rgba(255,255,255,.16));backdrop-filter:blur(16px)}.admin-security-form label{display:grid;gap:7px;color:var(--theme-ink);font-size:13px;font-weight:700}.admin-security-form input{width:100%;min-height:46px;padding:10px 13px;border:1px solid var(--theme-line);border-radius:12px;background:rgba(255,255,255,.82);color:#203249;font:600 14px var(--body)}.admin-security-form .button{justify-self:start}.hard-reset-section{border-color:rgba(190,78,78,.28)}.hard-reset-warning{padding:17px 19px;border:1px solid rgba(190,78,78,.22);border-radius:15px;background:rgba(190,78,78,.08);color:var(--theme-ink);line-height:1.65}.hard-reset-confirm-form{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.hard-reset-confirm-form label:nth-child(4){grid-column:1/-1}.button-danger{border:1px solid rgba(158,45,54,.35);background:linear-gradient(135deg,#b73542,#8f2635);color:#fff;box-shadow:0 9px 22px rgba(143,38,53,.2)}.button-danger:hover{background:linear-gradient(135deg,#c43b48,#9b2938);color:#fff;transform:translateY(-1px)}.problem-pdf-library-list{display:grid;gap:12px}.problem-pdf-library-row{display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(260px,1.15fr);align-items:center;gap:16px;padding:17px;border:1px solid var(--theme-line);border-radius:17px;background:linear-gradient(135deg,rgba(255,255,255,.44),rgba(255,255,255,.13));backdrop-filter:blur(15px)}.problem-pdf-library-row>div{display:grid;gap:5px}.problem-pdf-library-row>div small{color:var(--mint);font-size:10px;font-weight:800;letter-spacing:.12em}.problem-pdf-library-row>div b{color:var(--theme-ink);font-size:15px}.problem-pdf-library-row>div span{color:var(--theme-muted);font-size:12px}.problem-pdf-upload{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.problem-pdf-upload label{display:grid;gap:6px;color:var(--theme-ink);font-size:12px;font-weight:700}.problem-pdf-upload input[type=file]{width:100%;min-height:42px;padding:7px;border:1px solid var(--theme-line);border-radius:11px;background:rgba(255,255,255,.72);color:#40556c;font-size:12px}.problem-admin-form>label:first-of-type{max-width:360px}.problem-statement-picker{display:grid;gap:12px;margin:20px 0;padding:0;border:0}.problem-statement-option{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:13px;padding:16px 18px;border:1px solid var(--theme-line);border-radius:16px;background:rgba(255,255,255,.32);cursor:pointer}.problem-statement-option:has(input:checked){border-color:rgba(26,153,146,.52);background:rgba(49,180,163,.1);box-shadow:0 8px 23px rgba(37,125,136,.08)}.problem-statement-option input{width:18px;height:18px;accent-color:#138e8c}.problem-statement-option span{display:grid;gap:4px}.problem-statement-option small{color:var(--mint);font-weight:800;letter-spacing:.08em}.problem-statement-option b{color:var(--theme-ink);font-size:16px}.problem-statement-preview{align-self:center}.problem-statement-preview summary{padding:8px 11px;border:1px solid var(--theme-line);border-radius:999px;color:var(--theme-ink);font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.problem-statement-preview>div{margin-top:9px;padding:15px;border:1px solid var(--theme-line);border-radius:14px;background:rgba(255,255,255,.55);color:var(--theme-muted);line-height:1.65}.problem-statement-preview>div b{color:var(--theme-ink)}html[data-theme=dark] .admin-security-form,html[data-theme=dark] .problem-pdf-library-row{background:linear-gradient(140deg,rgba(24,43,64,.9),rgba(16,32,50,.78))}html[data-theme=dark] .admin-security-form input,html[data-theme=dark] .problem-pdf-upload input[type=file]{background:rgba(9,22,37,.85);color:#edf4fc}html[data-theme=dark] .problem-statement-option{background:rgba(18,36,56,.68)}html[data-theme=dark] .problem-statement-preview>div{background:rgba(15,30,48,.94)}@media(max-width:850px){.problem-pdf-library-row{grid-template-columns:1fr auto}.problem-pdf-upload{grid-column:1/-1}.admin-security-grid{grid-template-columns:1fr}}@media(max-width:580px){.problem-pdf-library-row{grid-template-columns:1fr}.problem-pdf-upload{grid-column:auto;grid-template-columns:1fr}.hard-reset-confirm-form{grid-template-columns:1fr}.hard-reset-confirm-form label:nth-child(4){grid-column:auto}.problem-statement-option{grid-template-columns:20px minmax(0,1fr)}.problem-statement-preview{grid-column:2;justify-self:start}}

/* Team leader problem statement picker. */
.problem-statement-choices{display:grid;gap:12px}.problem-statement-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--theme-line);border-radius:17px;background:linear-gradient(135deg,rgba(255,255,255,.44),rgba(255,255,255,.16));backdrop-filter:blur(14px)}.problem-statement-radio{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:12px;cursor:pointer}.problem-statement-radio input{width:18px;height:18px;margin:0;accent-color:#0c908a}.problem-choice-copy{display:grid;gap:4px}.problem-choice-copy b{color:var(--mint);font-size:11px;letter-spacing:.1em}.problem-choice-copy strong{color:var(--theme-ink);font-size:16px}.problem-statement-choice:has(input:checked){border-color:rgba(20,147,141,.52);background:rgba(57,181,164,.1);box-shadow:0 9px 24px rgba(37,125,136,.08)}.problem-statement-preview>summary{padding:9px 12px;border:1px solid var(--theme-line);border-radius:999px;color:var(--theme-ink);font-size:12px;font-weight:750;cursor:pointer;white-space:nowrap;list-style:none}.problem-statement-preview>summary::-webkit-details-marker{display:none}.problem-statement-preview>div{grid-column:1/-1;position:absolute;z-index:6;right:0;top:calc(100% + 8px);width:min(440px,calc(100vw - 40px));padding:16px 18px;border:1px solid var(--theme-line);border-radius:16px;background:rgba(249,252,255,.98);box-shadow:0 18px 45px rgba(23,48,72,.17);backdrop-filter:blur(22px);color:var(--theme-muted);font-size:13px;line-height:1.65}.problem-statement-preview{position:relative}.problem-statement-preview>div p{margin:0 0 9px}.problem-statement-preview>div b{display:block;color:var(--theme-ink)}.problem-statement-preview>div a{color:#087e82;font-weight:750}html[data-theme=dark] .problem-statement-choice{background:linear-gradient(135deg,rgba(24,43,64,.88),rgba(16,32,50,.75))}html[data-theme=dark] .problem-statement-preview>div{background:rgba(15,30,48,.98);color:#c6d5e5}html[data-theme=dark] .problem-statement-preview>div b,html[data-theme=dark] .problem-statement-preview>div a{color:#8cebd5}@media(max-width:600px){.problem-statement-choice{grid-template-columns:1fr}.problem-statement-preview{justify-self:start;margin-left:30px}}

/* The authenticated Launchpad mark acts as a secure sign-out shortcut to the landing page. */
.brand-logout-form{display:flex;align-items:center;margin:0}.brand-logout-form .brand{padding:0;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.brand-logout-form .brand:hover{filter:brightness(1.06)}.brand-logout-form .brand:focus-visible{outline:3px solid var(--mint);outline-offset:5px;border-radius:12px}

.topbar>.brand-logout-form{order:1;flex:0 0 auto;margin:0 auto 0 0}

.mail-setup-note{margin:10px 0 15px;padding:11px 14px;border-left:3px solid #179b9a;border-radius:0 11px 11px 0;background:rgba(44,161,158,.08);color:var(--theme-muted);font-size:12px;line-height:1.6}html[data-theme=dark] .mail-setup-note{background:rgba(44,161,158,.12);color:#c6d5e5}.reset-code-form{grid-template-columns:minmax(220px,1fr) auto;align-items:end}.reset-code-form .button{min-height:46px;white-space:nowrap}@media(max-width:600px){.reset-code-form{grid-template-columns:1fr}.reset-code-form .button{justify-self:start}}

.problem-pdf-download-all{max-width:680px;margin:8px auto 28px}.problem-pdf-library-row{grid-template-columns:minmax(190px,1fr) auto minmax(260px,1.15fr)}.problem-pdf-library-row>div{min-width:0}.problem-pdf-library-row>div b{overflow-wrap:anywhere}@media(max-width:850px){.problem-pdf-library-row{grid-template-columns:minmax(0,1fr) auto}.problem-pdf-library-row .problem-pdf-upload{grid-column:1/-1}}@media(max-width:560px){.problem-pdf-library-row{grid-template-columns:1fr}.problem-pdf-library-row .problem-pdf-upload{grid-column:auto}}

/* Bright, continuously moving headline ribbon for current deadlines and shared files. */
.landing-headline-ticker{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:0;max-width:1320px;margin:20px auto 28px;overflow:hidden;border:1px solid rgba(25,155,151,.27);border-radius:17px;background:linear-gradient(105deg,rgba(30,178,162,.17),rgba(255,255,255,.55) 27%,rgba(255,255,255,.32) 70%,rgba(246,184,73,.17));box-shadow:0 14px 34px rgba(33,106,120,.1),inset 0 1px rgba(255,255,255,.8);backdrop-filter:blur(17px) saturate(145%)}
.headline-ticker-label{position:relative;z-index:2;display:flex;align-items:center;gap:9px;padding:0 18px;background:linear-gradient(115deg,#078c87,#13aa9d 70%,#26b8a3);color:white;white-space:nowrap;box-shadow:8px 0 22px rgba(13,139,135,.16)}
.headline-live-dot{width:9px;height:9px;border-radius:50%;background:#ffe58b;box-shadow:0 0 0 4px rgba(255,229,139,.16),0 0 16px rgba(255,229,139,.6);animation:liveDotPulse 1.8s ease-out infinite}
.headline-ticker-label b{font-size:10px;font-weight:900;letter-spacing:.12em}.headline-ticker-label small{padding:4px 6px;border:1px solid rgba(255,255,255,.44);border-radius:5px;font-size:8px;font-weight:900;letter-spacing:.1em}
.headline-ticker-window{position:relative;min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.headline-ticker-track{display:flex;width:max-content;animation:headlineTickerScroll 50s linear infinite;will-change:transform;transform:translate3d(0,0,0);backface-visibility:hidden}.headline-ticker-group{display:flex;flex:0 0 auto;align-items:center;padding-right:28px}.headline-ticker-item{display:flex;flex:0 0 auto;align-items:center;gap:11px;min-height:57px;padding:8px 20px;color:var(--theme-ink);white-space:nowrap}.headline-ticker-kind{padding:5px 8px;border:1px solid rgba(9,143,137,.2);border-radius:999px;background:rgba(32,177,160,.1);color:#087e78;font-size:9px;font-weight:900;letter-spacing:.08em}.headline-ticker-item b{font-size:13px;font-weight:800}.headline-ticker-item>span:last-of-type{max-width:430px;overflow:hidden;color:var(--theme-muted);font-size:12px;text-overflow:ellipsis}.headline-ticker-item>i{margin-left:4px;color:#e9a83c;font-size:13px;font-style:normal}.headline-ticker-glow{position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.18) 48%,transparent 68%);background-size:220% 100%;animation:headlineTickerShine 8s ease-in-out infinite}
.landing-headline-ticker:hover .headline-ticker-track{animation-play-state:paused}
@keyframes headlineTickerScroll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}@keyframes headlineTickerShine{0%,100%{background-position:130% 0}50%{background-position:-10% 0}}
.landing-news-card{transition:opacity .26s ease,transform .26s ease}.landing-news-card.is-expiring{opacity:0;transform:translateY(-9px) scale(.985);pointer-events:none}
html[data-theme="dark"] .landing-headline-ticker{border-color:rgba(102,222,204,.22);background:linear-gradient(105deg,rgba(32,155,143,.17),rgba(14,32,50,.88) 27%,rgba(18,40,59,.78) 70%,rgba(147,107,43,.12));box-shadow:0 14px 36px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.08)}html[data-theme="dark"] .headline-ticker-label{background:linear-gradient(115deg,#087a79,#109a8f 70%,#1fa991)}html[data-theme="dark"] .headline-ticker-item{color:#eff7ff}html[data-theme="dark"] .headline-ticker-kind{border-color:rgba(116,225,209,.23);background:rgba(56,187,170,.12);color:#8cebd5}html[data-theme="dark"] .headline-ticker-item>span:last-of-type{color:#b5c9d9}html[data-theme="dark"] .headline-ticker-item>i{color:#ffd176}html[data-theme="dark"] .headline-ticker-glow{background:linear-gradient(105deg,transparent 25%,rgba(148,235,220,.07) 48%,transparent 68%);background-size:220% 100%}
@media(max-width:650px){.landing-headline-ticker{grid-template-columns:1fr;margin:15px 0 22px;border-radius:15px}.headline-ticker-label{min-height:34px;padding:0 13px}.headline-ticker-label b{font-size:9px}.headline-ticker-item{min-height:52px;gap:8px;padding:7px 13px}.headline-ticker-item b{font-size:12px}.headline-ticker-item>span:last-of-type{max-width:230px;font-size:11px}.headline-ticker-group{padding-right:14px}}
@media(prefers-reduced-motion:reduce){.headline-ticker-track,.headline-live-dot,.headline-ticker-glow{animation:none}.headline-ticker-window{overflow-x:auto;mask-image:none}.landing-news-card{transition:none}}

/* Subtle SVG engineering atmosphere across the public landing page. */
.home-page .page-shell{position:relative;isolation:isolate}
.landing-tech-atmosphere{position:fixed;z-index:-1;inset:0;overflow:hidden;pointer-events:none;opacity:.2;mask-image:linear-gradient(180deg,transparent 0%,#000 10%,#000 90%,transparent 100%)}
.landing-tech-atmosphere img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:drop-shadow(0 0 10px rgba(69,182,191,.1))}
html[data-theme="dark"] .landing-tech-atmosphere{opacity:.14}
@media(max-width:700px){.landing-tech-atmosphere{opacity:.13}.landing-tech-atmosphere img{width:150%;max-width:none;transform:translateX(-17%);object-fit:cover}}
@media(prefers-reduced-motion:reduce){.landing-tech-atmosphere img{animation:none}}

/* Keep pitch outcome details tucked behind a compact information control. */
.pitch-problem-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 20px}
.pitch-problem-heading .pitch-problem-title{margin:0}
.pitch-outcome-info{position:relative;flex:0 0 auto}
.pitch-outcome-info>summary{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--theme-line);border-radius:50%;background:rgba(255,255,255,.55);color:#087e82;cursor:pointer;font-size:18px;font-weight:800;list-style:none;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.pitch-outcome-info>summary::-webkit-details-marker{display:none}
.pitch-outcome-info>summary:hover{transform:translateY(-1px);background:rgba(72,181,166,.16);box-shadow:0 5px 18px rgba(24,80,100,.12)}
.pitch-outcome-popover{position:absolute;z-index:8;top:42px;right:0;width:min(520px,calc(100vw - 54px));padding:18px 20px;border:1px solid var(--theme-line);border-radius:18px;background:rgba(248,252,255,.97);box-shadow:0 18px 48px rgba(24,49,75,.2);backdrop-filter:blur(22px);color:var(--theme-muted);font-size:14px;line-height:1.65}
.pitch-outcome-popover>b{display:block;margin-bottom:8px;color:var(--theme-ink);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.pitch-outcome-popover ul{display:grid;gap:7px;margin:0;padding-left:20px}
.pitch-outcome-popover li{padding-left:2px}
html[data-theme="dark"] .pitch-outcome-info>summary{background:rgba(23,42,63,.9);color:#8cebd5}
html[data-theme="dark"] .pitch-outcome-popover{background:rgba(19,35,53,.98);color:#cfdae7}
html[data-theme="dark"] .pitch-outcome-popover>b{color:#f0f6ff}
@media(max-width:560px){.pitch-problem-heading{align-items:flex-start}.pitch-outcome-popover{right:-2px}}

/* Centered native dialog previews keep details above the long statement list. */
.problem-statement-radio{display:flex;align-items:flex-start;justify-content:flex-start;gap:13px;width:100%;min-width:0}
.problem-statement-radio input{flex:0 0 19px;width:19px;height:19px;margin:2px 0 0;padding:0;border-radius:50%;accent-color:#0b9489;place-self:auto}
.problem-choice-copy{min-width:0;flex:1;gap:6px}
.problem-choice-copy b{font-size:12px;letter-spacing:.12em}
.problem-choice-copy strong{font-size:16px;line-height:1.5;overflow-wrap:anywhere}
.problem-statement-preview-trigger{align-self:center;justify-self:end;display:inline-flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid var(--theme-line);border-radius:999px;background:rgba(255,255,255,.08);color:var(--theme-ink);font:700 12px var(--font);white-space:nowrap;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.problem-statement-preview-trigger:hover{transform:translateY(-1px);border-color:var(--mint);background:rgba(80,190,174,.12)}
.problem-statement-preview-trigger span{color:var(--mint);font-size:15px}
.problem-statement-dialog{position:fixed;inset:0;margin:auto;width:min(760px,calc(100vw - 32px));max-width:none;max-height:min(82vh,820px);padding:0;overflow:auto;border:1px solid var(--theme-line);border-radius:24px;background:linear-gradient(145deg,rgba(249,252,255,.99),rgba(235,243,250,.98));color:var(--theme-muted);box-shadow:0 28px 100px rgba(0,0,0,.34);}
.problem-statement-dialog[open]{animation:statement-dialog-in .22s ease-out both}
.problem-statement-dialog::backdrop{background:rgba(4,13,24,.62);backdrop-filter:blur(7px)}
.problem-statement-dialog-inner{padding:clamp(20px,4vw,34px);font-size:14px;line-height:1.7}
.problem-statement-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--theme-line)}
.problem-statement-dialog-heading h2{margin:7px 0 0;color:#192b42;font:750 clamp(20px,3.2vw,28px)/1.3 var(--display);letter-spacing:-.035em}
.problem-statement-dialog-close{flex:0 0 38px;width:38px;height:38px;border:1px solid var(--theme-line);border-radius:50%;background:rgba(255,255,255,.55);color:#24384f;font:500 26px/1 var(--font);cursor:pointer}
.problem-statement-dialog .problem-detail-sections{display:grid;gap:14px}
.problem-statement-dialog .problem-detail-block{padding:0 0 13px;border-bottom:1px solid var(--theme-line)}
.problem-statement-dialog .problem-detail-block:last-child{padding-bottom:0;border-bottom:0}
.problem-statement-dialog .problem-detail-block>b{display:block;margin-bottom:5px;color:#1a2d43;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.problem-statement-dialog .problem-detail-block p{margin:0;color:#50657d}
.problem-statement-dialog .problem-detail-block ul{display:grid;gap:6px;margin:0;padding-left:21px;color:#50657d}
html[data-theme="dark"] .problem-statement-dialog{background:linear-gradient(145deg,rgba(19,36,55,.99),rgba(10,24,40,.99));color:#c6d5e5}
html[data-theme="dark"] .problem-statement-dialog-heading h2,html[data-theme="dark"] .problem-statement-dialog .problem-detail-block>b{color:#f1f6fc}
html[data-theme="dark"] .problem-statement-dialog .problem-detail-block p,html[data-theme="dark"] .problem-statement-dialog .problem-detail-block ul{color:#c6d5e5}
html[data-theme="dark"] .problem-statement-dialog-close{background:rgba(255,255,255,.08);color:#f1f6fc}
@keyframes statement-dialog-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:600px){.problem-statement-choice{grid-template-columns:minmax(0,1fr);gap:12px}.problem-statement-preview-trigger{justify-self:start;margin-left:32px}.problem-statement-dialog{max-height:86vh;border-radius:20px}}

.admin-team-directory-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}
.admin-team-directory-heading>.button{flex:0 0 auto}
.password-recovery-card{width:min(100%,620px)}
.password-recovery-card .stack-form{gap:15px}
.password-reset-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:var(--theme-muted);font-size:10px;font-weight:800;letter-spacing:.16em}
.password-reset-divider::before,.password-reset-divider::after{content:"";height:1px;flex:1;background:var(--theme-line)}
.password-recovery-card .form-heading h2{font-size:23px}
@media(max-width:650px){.admin-team-directory-heading{align-items:flex-start;flex-direction:column}.admin-team-directory-heading>.button{width:100%;justify-content:center}}

/* Shared glass navigation that links to the actual sections on every portal page. */
.quick-jump-nav[hidden]{display:none}
.quick-jump-nav{position:sticky;top:8px;z-index:30;width:min(1180px,calc(100% - 64px));height:42px;margin:8px auto -42px;display:flex;justify-content:flex-end;pointer-events:none}
.quick-jump-menu{position:relative;pointer-events:auto}
.quick-jump-menu>summary{display:flex;align-items:center;gap:9px;min-height:42px;padding:0 15px;border:1px solid rgba(192,211,236,.23);border-radius:15px;background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.055)),rgba(22,31,51,.76);box-shadow:0 9px 28px rgba(3,9,19,.16),inset 0 1px rgba(255,255,255,.15);backdrop-filter:blur(22px);color:var(--theme-ink);font-size:12px;font-weight:750;list-style:none;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.quick-jump-menu>summary::-webkit-details-marker{display:none}
.quick-jump-menu>summary:hover,.quick-jump-menu[open]>summary{transform:translateY(-1px);border-color:rgba(123,231,206,.5);box-shadow:0 12px 32px rgba(3,9,19,.2),0 0 22px rgba(86,197,186,.1),inset 0 1px rgba(255,255,255,.18)}
.quick-jump-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:rgba(123,231,206,.13);color:var(--mint);font-size:17px;line-height:1}
.quick-jump-hint{color:var(--theme-muted);font-size:10px;font-weight:600}
.quick-jump-chevron{margin-left:4px;color:var(--mint);font-size:15px;transition:transform .2s ease}
.quick-jump-menu[open] .quick-jump-chevron{transform:rotate(180deg)}
.quick-jump-panel{position:absolute;top:calc(100% + 9px);right:0;display:grid;gap:4px;width:min(390px,calc(100vw - 40px));max-height:min(60vh,520px);overflow:auto;padding:9px;border:1px solid var(--theme-line);border-radius:18px;background:rgba(19,29,47,.94);box-shadow:0 20px 55px rgba(2,7,16,.32);backdrop-filter:blur(25px)}
.quick-jump-panel a{display:flex;align-items:center;min-height:40px;padding:9px 12px;border-radius:11px;color:#d6e1f0;font-size:12px;font-weight:650;line-height:1.4;transition:background .18s ease,color .18s ease,transform .18s ease}
.quick-jump-panel a:hover,.quick-jump-panel a:focus-visible{transform:translateX(2px);outline:none;background:rgba(123,231,206,.12);color:var(--mint)}
html[data-theme="light"] .quick-jump-menu>summary{background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(242,248,255,.7));box-shadow:0 9px 28px rgba(45,73,103,.12),inset 0 1px #fff}
html[data-theme="light"] .quick-jump-panel{background:rgba(247,251,255,.97);box-shadow:0 20px 55px rgba(45,73,103,.2)}
html[data-theme="light"] .quick-jump-panel a{color:#263b54}
html[data-theme="light"] .quick-jump-panel a:hover,html[data-theme="light"] .quick-jump-panel a:focus-visible{color:#087d70}
.page-shell h1,.page-shell h2{scroll-margin-top:76px}
@media(max-width:700px){.quick-jump-nav{width:calc(100% - 32px);top:6px;margin-top:6px}.quick-jump-menu>summary{min-height:39px;padding:0 11px}.quick-jump-hint{display:none}.quick-jump-panel{max-height:55vh}}


/* =========================================================================
   PROBLEM STATEMENTS VISIBILITY & LANDING PAGE SCHEDULE
   ========================================================================= */
.problem-visibility-schedule-card {
  margin: 18px 0 22px;
  padding: 22px 24px;
  border: 1px solid var(--theme-line);
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.44), rgba(255, 255, 255, 0.14));
  backdrop-filter: blur(18px);
  display: grid;
  gap: 18px;
}
html[data-theme="dark"] .problem-visibility-schedule-card {
  background: linear-gradient(135deg, rgba(22, 42, 64, 0.88), rgba(15, 31, 50, 0.76));
}
.problem-visibility-status {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.problem-visibility-status h3 {
  margin: 6px 0 4px;
  font: 750 18px/1.3 var(--display);
  color: var(--theme-ink);
}
.problem-visibility-status p {
  margin: 0;
  color: var(--theme-muted);
  font-size: 13px;
  line-height: 1.6;
}
.problem-visibility-form .visibility-form-row {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  align-items: end;
  gap: 16px;
}
.problem-visibility-form label {
  display: grid;
  gap: 6px;
  color: var(--theme-ink);
  font-size: 13px;
  font-weight: 700;
}
.problem-visibility-form input[type="datetime-local"] {
  width: 100%;
  min-height: 46px;
  padding: 0 14px;
  border: 1px solid var(--theme-line);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.85);
  color: #1a2d42;
  font: 600 14px var(--body);
}
html[data-theme="dark"] .problem-visibility-form input[type="datetime-local"] {
  background: rgba(9, 23, 38, 0.85);
  color: #edf4fc;
}
.problem-visibility-form small {
  color: var(--theme-muted);
  font-size: 11px;
  font-weight: 500;
}
.visibility-btn-group {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
@media (max-width: 680px) {
  .problem-visibility-schedule-card { padding: 18px 16px; border-radius: 16px; }
  .problem-visibility-form .visibility-form-row { grid-template-columns: 1fr; }
  .visibility-btn-group { width: 100%; }
  .visibility-btn-group .button { width: 100%; justify-content: center; }
}

.admin-preview-pill {
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 680px;
  margin: 0 auto 22px;
  padding: 12px 18px;
  border: 1px solid rgba(224, 169, 58, 0.45);
  border-radius: 16px;
  background: rgba(224, 169, 58, 0.12);
  color: #d19524;
  font-size: 12px;
  line-height: 1.5;
  text-align: left;
}
html[data-theme="dark"] .admin-preview-pill {
  color: #f7d383;
}
.problem-scheduled-release-card {
  max-width: 780px;
  margin: 18px auto 32px;
  padding: 32px 28px;
  border: 1px solid rgba(86, 219, 197, 0.35);
  border-radius: 26px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.72), rgba(238, 248, 252, 0.45));
  box-shadow: 0 18px 50px rgba(18, 48, 70, 0.08), inset 0 1px rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(24px);
  display: grid;
  gap: 22px;
  text-align: center;
}
html[data-theme="dark"] .problem-scheduled-release-card {
  border-color: rgba(100, 225, 205, 0.22);
  background: linear-gradient(135deg, rgba(22, 44, 66, 0.85), rgba(13, 31, 50, 0.75));
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.25), inset 0 1px rgba(255, 255, 255, 0.1);
}
.scheduled-card-info .eyebrow {
  justify-content: center;
  color: #0c8b82;
  font-size: 10px;
  letter-spacing: 0.16em;
}
html[data-theme="dark"] .scheduled-card-info .eyebrow {
  color: #82e7d2;
}
.scheduled-card-info h3 {
  margin: 10px 0 8px;
  font: 750 clamp(24px, 4vw, 34px)/1.2 var(--display);
  color: var(--theme-ink);
  letter-spacing: -0.03em;
}
.scheduled-card-info h3 em {
  color: #0b948b;
  font-style: normal;
}
html[data-theme="dark"] .scheduled-card-info h3 em {
  color: #73dec7;
}
.scheduled-card-info p {
  margin: 0 auto;
  max-width: 540px;
  color: var(--theme-muted);
  font-size: 14px;
  line-height: 1.65;
}
.scheduled-countdown-wrapper {
  max-width: 480px;
  margin: 0 auto;
  width: 100%;
}
.scheduled-document-notice {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 18px;
  border: 1px solid var(--theme-line);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.35);
  color: var(--theme-muted);
  font-size: 12.5px;
  line-height: 1.5;
}
html[data-theme="dark"] .scheduled-document-notice {
  background: rgba(14, 29, 45, 0.5);
}

/* =========================================================================
   PROBLEM PREVIEW MODAL: CRISP & PERFECT ALIGNMENT (DESKTOP & MOBILE)
   ========================================================================= */
.problem-preview-dialog {
  position: fixed !important;
  inset: 0 !important;
  margin: auto !important;
  width: min(760px, calc(100vw - 24px)) !important;
  max-width: calc(100vw - 24px) !important;
  max-height: calc(100dvh - 28px) !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(92, 211, 197, 0.42) !important;
  border-radius: 24px !important;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(240, 248, 252, 0.94)) !important;
  color: var(--theme-ink) !important;
  box-shadow: 0 38px 110px rgba(8, 29, 48, 0.36), inset 0 1px rgba(255, 255, 255, 0.95) !important;
  contain: paint !important;
}
html[data-theme="dark"] .problem-preview-dialog {
  border-color: rgba(112, 223, 207, 0.32) !important;
  background: linear-gradient(145deg, rgba(20, 39, 58, 0.98), rgba(11, 26, 42, 0.97)) !important;
  box-shadow: 0 38px 110px rgba(0, 0, 0, 0.6), inset 0 1px rgba(255, 255, 255, 0.1) !important;
}
.problem-preview-dialog-shell {
  position: relative !important;
  max-height: calc(100dvh - 30px) !important;
  box-sizing: border-box !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
  padding: 24px 24px 28px !important;
  text-align: left !important;
}
.problem-preview-close {
  position: sticky !important;
  top: 0 !important;
  float: right !important;
  z-index: 25 !important;
  display: grid !important;
  place-items: center !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  margin-top: -4px !important;
  margin-right: -4px !important;
  margin-bottom: -38px !important;
  border: 1px solid rgba(68, 121, 143, 0.25) !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.92) !important;
  color: #183047 !important;
  font: 400 28px/1 var(--body) !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1) !important;
  transform: translateZ(0) !important;
  transition: transform 0.2s ease, background 0.2s ease !important;
  touch-action: manipulation !important;
}
html[data-theme="dark"] .problem-preview-close {
  border-color: rgba(153, 189, 209, 0.25) !important;
  background: rgba(30, 52, 72, 0.92) !important;
  color: #eef6ff !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.28) !important;
}
.problem-preview-dialog-content {
  width: 100% !important;
  box-sizing: border-box !important;
  text-align: left !important;
}
.problem-preview-dialog-content .problem-preview-content {
  padding: 0 !important;
  animation: none !important;
  text-align: left !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.problem-preview-dialog-content .problem-preview-content .eyebrow {
  display: block !important;
  padding-right: 50px !important;
  color: #078c83 !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  font-weight: 800 !important;
  text-align: left !important;
}
html[data-theme="dark"] .problem-preview-dialog-content .problem-preview-content .eyebrow {
  color: #82e7d2 !important;
}
.problem-preview-dialog-content .problem-preview-content h3 {
  max-width: none !important;
  margin: 10px 0 18px !important;
  padding-right: 50px !important;
  font-size: clamp(20px, 4.5vw, 28px) !important;
  line-height: 1.25 !important;
  letter-spacing: -0.03em !important;
  color: var(--theme-ink) !important;
  text-align: left !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
}
.problem-detail-sections {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  text-align: left !important;
}
.problem-detail-block {
  padding: 16px 0 !important;
  border-top: 1px solid var(--theme-line) !important;
  width: 100% !important;
  box-sizing: border-box !important;
  text-align: left !important;
}
.problem-detail-block:first-child {
  border-top: 1px solid var(--theme-line) !important;
}
.problem-detail-block>b {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 8px !important;
  color: var(--theme-ink) !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  text-align: left !important;
}
.problem-detail-block p {
  margin: 0 !important;
  color: var(--theme-muted) !important;
  font-size: 14.5px !important;
  line-height: 1.7 !important;
  text-align: left !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
}
.problem-detail-block ul {
  display: flex !important;
  flex-direction: column !important;
  gap: 9px !important;
  margin: 6px 0 0 !important;
  padding-left: 22px !important;
  list-style-type: disc !important;
  text-align: left !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.problem-detail-block li {
  margin: 0 !important;
  color: var(--theme-muted) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  text-align: left !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
}
.problem-preview-dialog-count {
  margin: 18px 0 0 !important;
  padding-top: 16px !important;
  border-top: 1px solid var(--theme-line) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: left !important;
}
.problem-preview-dialog-count[hidden] {
  display: none !important;
}

@media (max-width: 768px) {
  .problem-preview-dialog {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    max-height: calc(100dvh - 20px) !important;
    border-radius: 18px !important;
  }
  .problem-preview-dialog-shell {
    max-height: calc(100dvh - 20px) !important;
    padding: 18px 14px 22px !important;
  }
  .problem-preview-close {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    margin-top: -2px !important;
    margin-right: -2px !important;
    margin-bottom: -32px !important;
    font-size: 24px !important;
  }
  .problem-preview-dialog-content .problem-preview-content .eyebrow {
    padding-right: 44px !important;
    font-size: 10px !important;
  }
  .problem-preview-dialog-content .problem-preview-content h3 {
    padding-right: 44px !important;
    font-size: clamp(18px, 5vw, 22px) !important;
    line-height: 1.28 !important;
    margin: 6px 0 14px !important;
  }
  .problem-detail-block {
    padding: 13px 0 !important;
  }
  .problem-detail-block p {
    font-size: 13.5px !important;
    line-height: 1.65 !important;
  }
  .problem-detail-block ul {
    padding-left: 19px !important;
    gap: 7px !important;
  }
  .problem-detail-block li {
    font-size: 13.5px !important;
    line-height: 1.6 !important;
  }
}

/* =========================================================================
   UNIVERSAL RESPONSIVENESS ACROSS ALL MOBILE DEVICE TYPES (320px - 768px)
   ========================================================================= */
html, body {
  max-width: 100vw;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}
* {
  -webkit-tap-highlight-color: transparent;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="search"],
  input[type="tel"],
  input[type="number"],
  input[type="datetime-local"],
  select,
  textarea {
    font-size: 16px !important;
  }
}

@media (max-width: 650px) {
  .topbar {
    width: calc(100% - 24px) !important;
    height: auto !important;
    min-height: 60px !important;
    padding: 10px 0 !important;
    gap: 10px !important;
  }
  .college-logo {
    width: 42px !important;
    height: 42px !important;
    flex-basis: 42px !important;
    border-radius: 10px !important;
  }
  .brand {
    gap: 8px !important;
  }
  .brand-image {
    width: 44px !important;
    height: 38px !important;
  }
  .brand-copy {
    display: none !important;
  }
  .topnav {
    gap: 8px !important;
    font-size: 11px !important;
  }
  .topnav a, .nav-button, .nav-cta {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
  }
  .nav-cta {
    padding: 6px 12px !important;
  }
  .theme-toggle {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border-radius: 10px !important;
  }

  .page-shell {
    width: 100% !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
    padding: 16px 12px 60px 48px !important;
    margin: 0 !important;
  }
  body:not(.has-menubar-dock) .page-shell {
    padding-left: 12px !important;
  }
  .site-footer {
    width: calc(100% - 24px) !important;
    padding: 18px 0 !important;
    height: auto !important;
  }
  .footer-main {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
  }
  .footer-partners {
    gap: 10px !important;
    flex-wrap: wrap !important;
  }
  .partner-iic {
    max-width: 130px !important;
    height: auto !important;
  }
  .partner-step {
    max-width: 65px !important;
    height: auto !important;
  }

  .hero-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    padding: 10px 0 20px !important;
  }
  .hero-copy {
    padding: 10px 0 !important;
    width: 100% !important;
  }
  .hero-copy h1 {
    font-size: clamp(34px, 10vw, 48px) !important;
    line-height: 1.08 !important;
    margin: 14px 0 14px !important;
  }
  .hero-actions {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 10px !important;
    margin-top: 20px !important;
  }
  .hero-actions .button {
    width: 100% !important;
    justify-content: center !important;
    min-height: 46px !important;
    font-size: 13px !important;
  }
  .staff-entry-link {
    width: 100% !important;
    box-sizing: border-box !important;
    justify-content: center !important;
  }
  .hero-art {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    margin-bottom: 24px !important;
    transform: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    position: relative !important;
    padding: 10px 0 16px !important;
  }
  .home-page .launchpad-float {
    width: min(92vw, 340px) !important;
    margin: 8px auto !important;
    position: relative !important;
    z-index: 2 !important;
    transform: none !important;
  }
  .floating-chip {
    font-size: 11px !important;
    padding: 8px 14px !important;
    white-space: nowrap !important;
    z-index: 5 !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18) !important;
  }
  .chip-one {
    position: static !important;
    align-self: flex-end !important;
    margin-right: 12px !important;
    margin-bottom: 6px !important;
    animation: none !important;
    transform: none !important;
  }
  .chip-two {
    position: static !important;
    align-self: flex-start !important;
    margin-left: 12px !important;
    margin-top: 8px !important;
    animation: none !important;
    transform: none !important;
  }
  .hero-art .orbit-a,
  .hero-art .orbit-b,
  .hero-art .hero-svg-orbit {
    display: none !important;
  }

  .landing-live-strip {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 14px 10px !important;
  }
  .landing-live-strip>i {
    display: none !important;
  }
  .live-stat-item {
    padding: 0 4px !important;
  }
  .live-stat-item strong {
    font-size: clamp(20px, 6vw, 26px) !important;
  }
  .live-stat-item small {
    font-size: 9px !important;
    letter-spacing: 0.05em !important;
  }

  .landing-news-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .landing-news-card {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    padding: 16px 14px !important;
  }
  .landing-countdown-wrap {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .flip-calendar {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 4px !important;
  }
  .flip-calendar-number {
    min-height: 48px !important;
    font-size: clamp(16px, 5.5vw, 22px) !important;
  }
  .flip-calendar-unit small {
    font-size: 7.5px !important;
    margin-top: 5px !important;
  }

  .tracker-panels {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .tracker-phone {
    width: 100% !important;
    min-height: auto !important;
  }

  .problem-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .problem-card-summary {
    min-height: auto !important;
    padding: 16px 16px !important;
  }
  .problem-pdf-download-all {
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 14px 16px !important;
  }

  .dashboard-head {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }
  .dashboard-head h1 {
    font-size: 28px !important;
  }
  .profile-chip {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .team-overview {
    padding: 16px 14px !important;
  }
  .team-meta {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .team-request-controls {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }
  .request-deadlines {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 12px !important;
  }
  .request-deadlines .button {
    width: 100% !important;
    justify-content: center !important;
  }
  .pitch-upload-grid {
    grid-template-columns: 1fr !important;
  }
  .pitch-upload-card {
    padding: 16px 14px !important;
  }
  .member-list {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .member-card {
    padding: 14px 14px !important;
  }
  .member-card-contact {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
  }
  .submission-preview iframe {
    width: 100% !important;
    height: 320px !important;
  }

  .registration-head h1 {
    font-size: 32px !important;
  }
  .registration-form-card {
    padding: 16px 14px !important;
  }
  .problem-statement-choice {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    padding: 14px !important;
  }
  .problem-statement-preview-trigger {
    margin-left: 0 !important;
    width: 100% !important;
    justify-content: center !important;
  }
  .teammate-details-grid {
    grid-template-columns: 1fr !important;
    margin-left: 0 !important;
    gap: 10px !important;
  }
  .mentor-input-grid {
    grid-template-columns: 1fr !important;
    margin-left: 0 !important;
    gap: 10px !important;
  }
  .form-actions {
    display: flex !important;
    flex-direction: column-reverse !important;
    width: 100% !important;
    gap: 10px !important;
  }
  .form-actions .button {
    width: 100% !important;
    justify-content: center !important;
    min-height: 48px !important;
  }

  .admin-team-filter-bar {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 14px !important;
  }
  .admin-team-card {
    padding: 14px 12px !important;
  }
  .admin-team-detail-grid {
    grid-template-columns: 1fr !important;
  }

  .auth-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    padding: 10px 0 !important;
  }
  .form-card {
    padding: 18px 14px !important;
    border-radius: 16px !important;
  }
  .signup-row {
    flex-direction: column !important;
    gap: 10px !important;
  }

  .problem-statement-dialog {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    max-height: calc(100dvh - 20px) !important;
    border-radius: 18px !important;
    padding: 0 !important;
    margin: auto !important;
    inset: 0 !important;
    position: fixed !important;
  }
  .problem-statement-dialog-inner {
    padding: 18px 14px 22px !important;
    font-size: 13.5px !important;
    line-height: 1.6 !important;
    box-sizing: border-box !important;
  }
  .problem-statement-dialog-heading {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 14px !important;
    padding-bottom: 12px !important;
  }
  .problem-statement-dialog-heading h2 {
    font-size: clamp(18px, 4.5vw, 22px) !important;
    line-height: 1.3 !important;
    margin: 4px 0 0 !important;
    word-break: break-word !important;
  }
  .problem-statement-dialog-close {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    flex: 0 0 38px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 24px !important;
  }
  .problem-statement-dialog .problem-detail-block ul {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin: 8px 0 !important;
    padding-left: 20px !important;
    list-style-type: disc !important;
  }
  .problem-statement-dialog .problem-detail-block ul li {
    display: list-item !important;
    line-height: 1.55 !important;
  }
}

body.dialog-open {
  overflow: hidden !important;
  overscroll-behavior: contain !important;
}

/* =========================================================================
   PROJECT ABSTRACT SUBMISSION & WORD COUNTER STYLES
   ========================================================================= */
.team-abstract-section {
  margin: 30px 0;
  padding: 26px;
  border: 1px solid var(--theme-line);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.035));
  backdrop-filter: blur(18px);
}
html[data-theme="light"] .team-abstract-section {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.94), rgba(246, 250, 254, 0.9));
  box-shadow: 0 14px 44px rgba(27, 54, 82, 0.07);
}

.abstract-status-banner {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  border-radius: 16px;
  margin-bottom: 20px;
  font-size: 13.5px;
}
.abstract-status-banner span[aria-hidden="true"] {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  font-size: 16px;
  flex-shrink: 0;
}
.abstract-status-banner b {
  display: block;
  font-size: 14px;
  margin-bottom: 2px;
}
.abstract-status-banner small {
  display: block;
  opacity: 0.88;
  font-size: 12px;
  line-height: 1.45;
}

.abstract-banner-submitted {
  background: rgba(128, 242, 207, 0.12);
  border: 1px solid rgba(128, 242, 207, 0.35);
  color: var(--theme-ink);
}
.abstract-banner-submitted span[aria-hidden="true"] {
  background: rgba(128, 242, 207, 0.25);
  color: #0b8270;
}

.abstract-banner-closed {
  background: rgba(239, 68, 68, 0.1);
  border: 1px solid rgba(239, 68, 68, 0.3);
  color: var(--theme-ink);
}
.abstract-banner-closed span[aria-hidden="true"] {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
}

.abstract-banner-pending {
  background: rgba(245, 158, 11, 0.1);
  border: 1px solid rgba(245, 158, 11, 0.32);
  color: var(--theme-ink);
}
.abstract-banner-pending span[aria-hidden="true"] {
  background: rgba(245, 158, 11, 0.22);
  color: #f59e0b;
}

.abstract-submission-form {
  display: grid;
  gap: 16px;
}
.abstract-submission-form label {
  display: grid;
  gap: 6px;
  font-weight: 700;
  font-size: 14px;
  color: var(--theme-ink);
}
.abstract-submission-form .field-help {
  font-size: 12.5px;
  font-weight: 400;
  color: var(--theme-muted);
  line-height: 1.5;
}
.abstract-submission-form textarea {
  width: 100%;
  padding: 16px;
  border: 1px solid var(--theme-line);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.08);
  color: var(--theme-ink);
  font-family: inherit;
  font-size: 15px;
  line-height: 1.65;
  box-sizing: border-box;
  resize: vertical;
  min-height: 180px;
}
html[data-theme="light"] .abstract-submission-form textarea {
  background: #ffffff;
  border-color: rgba(30, 60, 90, 0.18);
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.03);
}
.abstract-submission-form textarea:focus {
  outline: none;
  border-color: var(--mint);
  box-shadow: 0 0 0 3px rgba(128, 242, 207, 0.2);
}

.abstract-form-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.abstract-counter-pill {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px solid var(--theme-line);
  background: rgba(255, 255, 255, 0.06);
  font-size: 13px;
  transition: all 0.2s ease;
}
html[data-theme="light"] .abstract-counter-pill {
  background: rgba(240, 246, 252, 0.9);
}
.abstract-counter-pill.is-under {
  border-color: rgba(245, 158, 11, 0.5);
  color: #f59e0b;
}
.abstract-counter-pill.is-valid {
  border-color: rgba(16, 185, 129, 0.6);
  color: #10b981;
}
.abstract-counter-pill.is-over {
  border-color: rgba(239, 68, 68, 0.6);
  color: #ef4444;
}
.abstract-counter-pill strong {
  font-size: 14px;
}

.abstract-readonly-card {
  padding: 20px;
  border: 1px solid var(--theme-line);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.06);
  line-height: 1.7;
}
html[data-theme="light"] .abstract-readonly-card {
  background: #ffffff;
  border-color: rgba(30, 60, 90, 0.12);
}

.abstract-readonly-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--theme-line);
  font-size: 12.5px;
}
.abstract-pill-tag {
  display: inline-flex;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(128, 242, 207, 0.15);
  color: var(--mint);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.05em;
}
html[data-theme="light"] .abstract-pill-tag {
  color: #0b8270;
}
.abstract-locked-badge {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(239, 68, 68, 0.14);
  color: #ef4444;
  font-size: 11px;
  font-weight: 700;
}
.abstract-readonly-body {
  font-size: 14.5px;
  color: var(--theme-ink);
  white-space: pre-wrap;
  line-height: 1.75;
}

/* Faded locked state when deadline passed */
.abstract-faded-locked {
  opacity: 0.65;
  filter: grayscale(0.25);
  pointer-events: none;
  user-select: text;
  border-style: dashed;
}
.abstract-section-locked {
  position: relative;
}
.abstract-deadline-passed {
  color: #ef4444 !important;
  font-weight: 700 !important;
}

@media (max-width: 600px) {
  .abstract-form-foot {
    flex-direction: column;
    align-items: stretch;
  }
  .abstract-form-foot .button {
    width: 100%;
    justify-content: center;
  }
  .abstract-counter-pill {
    justify-content: space-between;
  }
}

/* Abstract Information Icon, Tooltip & Callout */
.abstract-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.abstract-title-row h2 {
  margin: 0;
}
.abstract-info-tooltip {
  position: relative;
  display: inline-flex;
}
.abstract-info-tooltip summary {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1px solid rgba(43, 189, 168, 0.4);
  background: rgba(43, 189, 168, 0.12);
  color: var(--mint, #0b827d);
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
  transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
  user-select: none;
}
.abstract-info-tooltip summary::-webkit-details-marker {
  display: none;
}
.abstract-info-tooltip summary:hover,
.abstract-info-tooltip[open] summary {
  transform: scale(1.1);
  background: rgba(43, 189, 168, 0.25);
  border-color: rgba(43, 189, 168, 0.65);
}
.abstract-info-bubble {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  z-index: 60;
  width: min(340px, calc(100vw - 40px));
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.18));
  background: #111d2b;
  color: #e2e8f0;
  box-shadow: 0 16px 45px rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(18px);
  font-size: 12.5px;
  line-height: 1.55;
}
html[data-theme="light"] .abstract-info-bubble {
  background: #ffffff;
  color: #1e293b;
  border-color: #cbd5e1;
  box-shadow: 0 16px 45px rgba(15, 23, 42, 0.16);
}
.info-bubble-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #0b827d;
  background: rgba(43, 189, 168, 0.15);
  margin-bottom: 6px;
}
html[data-theme="dark"] .info-bubble-badge {
  color: #6ee7b7;
  background: rgba(43, 189, 168, 0.22);
}
.abstract-info-bubble strong {
  display: block;
  font-size: 13.5px;
  color: var(--theme-ink, #ffffff);
  margin-bottom: 4px;
}
html[data-theme="light"] .abstract-info-bubble strong {
  color: #0f172a;
}
.abstract-info-bubble p {
  margin: 0;
  font-size: 12px;
  color: var(--theme-muted, #94a3b8);
}
.abstract-info-bubble p b {
  color: var(--theme-ink, #ffffff);
}
html[data-theme="light"] .abstract-info-bubble p b {
  color: #0f172a;
}

/* Form Callout */
.abstract-update-callout {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 16px;
  border-radius: 14px;
  border: 1px solid rgba(43, 189, 168, 0.32);
  background: rgba(43, 189, 168, 0.08);
  font-size: 13px;
  line-height: 1.55;
  color: var(--theme-ink);
  margin-bottom: 4px;
}
html[data-theme="light"] .abstract-update-callout {
  background: rgba(236, 253, 245, 0.92);
  border-color: rgba(16, 185, 129, 0.35);
  color: #064e3b;
}
.abstract-callout-icon {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(43, 189, 168, 0.22);
  color: var(--mint, #0b827d);
  font-size: 13px;
  font-weight: 800;
  margin-top: 1px;
}
html[data-theme="light"] .abstract-callout-icon {
  background: rgba(16, 185, 129, 0.2);
  color: #047857;
}
.abstract-update-callout b {
  display: inline;
  font-weight: 700;
  margin-right: 4px;
}
.abstract-open-note {
  font-size: 11.5px;
  color: var(--mint, #0b827d);
  font-weight: 600;
}

/* Pitch, PPT, and common submission faded & locked status */
.pitch-upload-card.is-faded,
.submission-card-faded {
  opacity: 0.58;
  filter: grayscale(0.28);
  background: rgba(240, 244, 248, 0.45);
  border-style: dashed !important;
  border-color: rgba(180, 195, 210, 0.65) !important;
  position: relative;
  transition: opacity 0.3s ease, filter 0.3s ease;
}

html[data-theme="dark"] .pitch-upload-card.is-faded,
html[data-theme="dark"] .submission-card-faded {
  background: rgba(20, 35, 52, 0.45);
  border-color: rgba(90, 115, 140, 0.5) !important;
}

.pitch-upload-card.is-faded:hover,
.submission-card-faded:hover {
  opacity: 0.72;
}

.pitch-upload-card.is-faded label.is-disabled,
.pitch-upload-card.is-faded input[disabled] {
  cursor: not-allowed;
  opacity: 0.6;
}

.submission-locked-banner {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(239, 68, 68, 0.09);
  border: 1px solid rgba(239, 68, 68, 0.28);
  color: #d93838;
  font-size: 13px;
  line-height: 1.45;
}

html[data-theme="dark"] .submission-locked-banner {
  background: rgba(239, 68, 68, 0.16);
  border-color: rgba(239, 68, 68, 0.4);
  color: #fca5a5;
}

.submission-locked-banner span {
  font-size: 20px;
  line-height: 1;
  flex-shrink: 0;
}

.submission-locked-banner b {
  display: block;
  font-weight: 750;
  color: inherit;
  margin-bottom: 2px;
}

.submission-locked-banner small {
  display: block;
  font-size: 11.5px;
  font-weight: 500;
  opacity: 0.9;
  line-height: 1.4;
}

/* 4-column / 2x2 grid for common pitch deadlines */
.common-pitch-deadlines {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: end;
  gap: 18px;
}
@media (max-width: 650px) {
  .common-pitch-deadlines {
    grid-template-columns: 1fr !important;
  }
}

/* PS ID Update Mode Banners */
.ps-mode-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 20px;
  border-radius: 18px;
  margin-bottom: 20px;
  transition: all 0.25s ease;
}
.ps-mode-content {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.ps-mode-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 11px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  white-space: nowrap;
}
.ps-mode-content b {
  display: block;
  font-size: 14px;
  font-weight: 750;
  color: var(--theme-ink);
  margin-bottom: 3px;
}
.ps-mode-content p {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--theme-muted);
}
.ps-mode-update {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.12), rgba(245, 158, 11, 0.04));
  border: 1px solid rgba(245, 158, 11, 0.38);
}
.ps-mode-update .ps-mode-badge {
  background: #f59e0b;
  color: #fff;
  box-shadow: 0 2px 8px rgba(245, 158, 11, 0.35);
}
.ps-mode-new {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.12), rgba(16, 185, 129, 0.04));
  border: 1px solid rgba(16, 185, 129, 0.38);
}
.ps-mode-new .ps-mode-badge {
  background: #10b981;
  color: #fff;
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.35);
}
.button-update-mode {
  background: linear-gradient(135deg, #f59e0b, #d97706) !important;
  color: #fff !important;
  border-color: #f59e0b !important;
  box-shadow: 0 8px 24px rgba(245, 158, 11, 0.28) !important;
}

/* Live Reverse Countdown Badges */
.abstract-deadline-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.live-deadline-countdown {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 14px;
  border-radius: 999px;
  background: rgba(8, 126, 130, 0.08);
  border: 1px solid rgba(8, 126, 130, 0.25);
  color: #087e82;
  font-size: 12.5px;
  line-height: 1;
}
html[data-theme="dark"] .live-deadline-countdown {
  background: rgba(66, 183, 169, 0.12);
  border-color: rgba(66, 183, 169, 0.32);
  color: #6ee7b7;
}
.live-deadline-countdown .countdown-pulse-icon {
  font-size: 14px;
}
.live-deadline-countdown .countdown-title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  opacity: 0.85;
}
.live-deadline-countdown .countdown-digits {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-weight: 800;
  font-size: 13.5px;
  letter-spacing: 0.04em;
}

/* Warning & Urgent Alert States for Countdown */
.live-deadline-countdown.is-warning {
  background: rgba(245, 158, 11, 0.12);
  border-color: rgba(245, 158, 11, 0.38);
  color: #d97706;
}
html[data-theme="dark"] .live-deadline-countdown.is-warning {
  color: #fbbf24;
  background: rgba(245, 158, 11, 0.18);
}

.live-deadline-countdown.is-urgent {
  background: rgba(239, 68, 68, 0.14);
  border-color: rgba(239, 68, 68, 0.45);
  color: #ef4444;
  animation: countdownPulseAlert 1.6s ease-in-out infinite;
}
html[data-theme="dark"] .live-deadline-countdown.is-urgent {
  color: #f87171;
  background: rgba(239, 68, 68, 0.22);
}

@keyframes countdownPulseAlert {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.35);
  }
  50% {
    transform: scale(1.02);
    box-shadow: 0 0 14px 2px rgba(239, 68, 68, 0.4);
  }
}

.live-deadline-countdown.is-expired {
  background: rgba(148, 163, 184, 0.12);
  border-color: rgba(148, 163, 184, 0.3);
  color: var(--theme-muted);
}
.live-deadline-countdown.card-countdown {
  width: fit-content;
  margin: 2px 0 6px;
}
.live-deadline-countdown.mini-countdown {
  padding: 4px 10px;
  font-size: 11px;
  margin-top: 4px;
}
.banner-live-countdown {
  margin-top: 6px;
  font-size: 12px;
  font-weight: 700;
  color: #087e82;
}
html[data-theme="dark"] .banner-live-countdown {
  color: #6ee7b7;
}

.pitch-card-top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.pitch-status-pill {
  display: inline-flex;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.pitch-status-pill.open-pill {
  background: rgba(16, 185, 129, 0.14);
  color: #10b981;
}
.pitch-status-pill.closed-pill {
  background: rgba(239, 68, 68, 0.14);
  color: #ef4444;
}
.pitch-card-top-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.pitch-status-pill.finalised-pill {
  background: rgba(16, 185, 129, 0.18);
  color: #10b981;
  border: 1px solid rgba(16, 185, 129, 0.4);
}
html[data-theme="light"] .pitch-status-pill.finalised-pill {
  background: #dcfce7;
  color: #15803d;
  border-color: #86efac;
}

.pitch-slot-info-tooltip {
  position: relative;
  display: inline-flex;
}
.pitch-slot-info-tooltip summary {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1px solid rgba(43, 189, 168, 0.4);
  background: rgba(43, 189, 168, 0.12);
  color: var(--mint, #0b827d);
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
  transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
  user-select: none;
}
.pitch-slot-info-tooltip summary::-webkit-details-marker {
  display: none;
}
.pitch-slot-info-tooltip summary:hover,
.pitch-slot-info-tooltip[open] summary {
  transform: scale(1.1);
  background: rgba(43, 189, 168, 0.25);
  border-color: rgba(43, 189, 168, 0.65);
}
.pitch-slot-bubble {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 60;
  width: min(320px, calc(100vw - 50px));
  padding: 13px 15px;
  border-radius: 14px;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.18));
  background: #111d2b;
  color: #e2e8f0;
  box-shadow: 0 16px 45px rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(18px);
  font-size: 12px;
  line-height: 1.55;
  text-transform: none;
}
html[data-theme="light"] .pitch-slot-bubble {
  background: #ffffff;
  color: #1e293b;
  border-color: #cbd5e1;
  box-shadow: 0 16px 45px rgba(15, 23, 42, 0.16);
}
.pitch-slot-bubble strong {
  display: block;
  font-size: 13px;
  color: var(--theme-ink, #ffffff);
  margin-bottom: 4px;
}
html[data-theme="light"] .pitch-slot-bubble strong {
  color: #0f172a;
}
.pitch-slot-bubble p {
  margin: 0;
  font-size: 12px;
  color: var(--theme-muted, #94a3b8);
}
html[data-theme="light"] .pitch-slot-bubble p {
  color: #475569;
}

/* Callout inside the upload card */
.pitch-upload-info-box {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 11px 13px;
  border-radius: 12px;
  border: 1px solid rgba(43, 189, 168, 0.32);
  background: rgba(43, 189, 168, 0.08);
  font-size: 12px;
  line-height: 1.5;
  color: var(--theme-ink);
}
html[data-theme="light"] .pitch-upload-info-box {
  background: rgba(236, 253, 245, 0.92);
  border-color: rgba(16, 185, 129, 0.35);
  color: #064e3b;
}
.pitch-upload-info-box .pitch-info-icon {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(43, 189, 168, 0.22);
  color: var(--mint, #0b827d);
  font-size: 11.5px;
  font-weight: 800;
  margin-top: 1px;
}
html[data-theme="light"] .pitch-upload-info-box .pitch-info-icon {
  background: rgba(16, 185, 129, 0.2);
  color: #047857;
}
.pitch-upload-info-box b {
  display: block;
  font-size: 12.5px;
  margin-bottom: 2px;
}

/* Finalised card elements */
.submission-finalised-banner {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(16, 185, 129, 0.12);
  border: 1px solid rgba(16, 185, 129, 0.3);
  color: var(--theme-ink);
}
html[data-theme="light"] .submission-finalised-banner {
  background: #f0fdf4;
  border-color: #86efac;
  color: #14532d;
}
.submission-finalised-banner .finalised-icon {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(16, 185, 129, 0.22);
  color: #10b981;
  font-size: 14px;
  font-weight: 800;
  flex-shrink: 0;
}
html[data-theme="light"] .submission-finalised-banner .finalised-icon {
  background: #bbf7d0;
  color: #15803d;
}
.submission-finalised-banner b {
  display: block;
  font-size: 13px;
  margin-bottom: 2px;
}
.submission-finalised-banner small {
  display: block;
  font-size: 11.5px;
  opacity: 0.88;
}

.pitch-submitted-file-box {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 13px 14px;
  border-radius: 12px;
  border: 1px solid var(--theme-line);
  background: rgba(255, 255, 255, 0.05);
}
html[data-theme="light"] .pitch-submitted-file-box {
  background: #ffffff;
  border-color: #e2e8f0;
}
.pitch-file-info {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.pitch-file-info .file-icon {
  font-size: 22px;
  flex-shrink: 0;
}
.pitch-file-info .pitch-filename {
  font-size: 13.5px;
  color: var(--theme-ink);
  overflow-wrap: anywhere;
  display: block;
}
.pitch-file-info small {
  display: block;
  font-size: 11.5px;
  color: var(--theme-muted);
}
.pitch-file-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.pitch-finalised-notice {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  color: var(--theme-muted);
  padding-top: 4px;
}

/* Backend Delivery & Availability Verification Badges */
.backend-audit-banner {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(8, 126, 130, 0.09), rgba(8, 126, 130, 0.02));
  border: 1px solid rgba(8, 126, 130, 0.25);
  margin-bottom: 22px;
}
.backend-audit-banner .audit-icon {
  font-size: 28px;
  flex-shrink: 0;
}
.backend-audit-banner .audit-info b {
  display: block;
  font-size: 14.5px;
  color: var(--theme-ink);
  margin-bottom: 3px;
}
.backend-audit-banner .audit-info p {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--theme-muted);
}
.backend-audit-banner .audit-badge {
  margin-left: auto;
  white-space: nowrap;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(16, 185, 129, 0.14);
  border: 1px solid rgba(16, 185, 129, 0.35);
  color: #059669;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
}
html[data-theme="dark"] .backend-audit-banner .audit-badge {
  color: #34d399;
}

.backend-verified-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 12px;
  border-radius: 9px;
  font-size: 11.5px;
  font-weight: 650;
  line-height: 1.45;
  margin-top: 7px;
  width: fit-content;
  max-width: 100%;
  box-sizing: border-box;
  flex-wrap: wrap;
}
.backend-verified-chip.chip-live {
  background: rgba(16, 185, 129, 0.1);
  border: 1px solid rgba(16, 185, 129, 0.3);
  color: #059669;
}
html[data-theme="dark"] .backend-verified-chip.chip-live {
  color: #34d399;
  background: rgba(16, 185, 129, 0.16);
}

.backend-verified-chip.chip-scheduled {
  background: rgba(14, 165, 233, 0.1);
  border: 1px solid rgba(14, 165, 233, 0.3);
  color: #0284c7;
}
html[data-theme="dark"] .backend-verified-chip.chip-scheduled {
  color: #38bdf8;
  background: rgba(14, 165, 233, 0.16);
}

.backend-verified-chip.chip-error {
  background: rgba(239, 68, 68, 0.1);
  border: 1px solid rgba(239, 68, 68, 0.3);
  color: #dc2626;
}

.backend-verified-chip .chip-dot {
  font-weight: 800;
}
.backend-verified-chip .chip-test-link {
  color: inherit;
  font-weight: 750;
  text-decoration: none;
  margin-left: 6px;
  padding: 2px 8px;
  border-radius: 6px;
  background: rgba(16, 185, 129, 0.18);
  border: 1px solid rgba(16, 185, 129, 0.3);
  display: inline-flex;
  align-items: center;
}

/* =========================================================================
   BACKEND VERIFIED STRIP (SHARED FILES FULL-WIDTH BADGE BANNER)
   ========================================================================= */
.backend-verified-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
  padding: 9px 13px;
  border-radius: 11px;
  font-size: 12px;
  line-height: 1.4;
  margin-top: 2px;
  transition: all 0.2s ease;
}

.backend-verified-strip.chip-live {
  background: rgba(16, 185, 129, 0.1);
  border: 1px solid rgba(16, 185, 129, 0.28);
  color: #34d399;
}

html[data-theme="light"] .backend-verified-strip.chip-live {
  background: rgba(16, 185, 129, 0.08);
  border-color: rgba(16, 185, 129, 0.25);
  color: #047857;
}

.backend-verified-strip.chip-error {
  background: rgba(239, 68, 68, 0.1);
  border: 1px solid rgba(239, 68, 68, 0.28);
  color: #f87171;
}

html[data-theme="light"] .backend-verified-strip.chip-error {
  background: rgba(239, 68, 68, 0.08);
  border-color: rgba(239, 68, 68, 0.25);
  color: #b91c1c;
}

.strip-status-info {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  min-width: 0;
  flex: 1;
}

.strip-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 750;
  font-size: 12px;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

.strip-icon {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
}

.strip-status-desc {
  font-weight: 500;
  font-size: 11.5px;
  opacity: 0.92;
}

.strip-action-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 11px;
  border-radius: 7px;
  font-size: 11.5px;
  font-weight: 750;
  text-decoration: none;
  white-space: nowrap;
  flex: 0 0 auto;
  transition: all 0.2s ease;
}

.chip-live .strip-action-link {
  background: rgba(16, 185, 129, 0.2);
  border: 1px solid rgba(52, 211, 153, 0.38);
  color: #34d399;
}

.chip-live .strip-action-link:hover {
  background: rgba(16, 185, 129, 0.32);
  transform: translateY(-1px);
}

html[data-theme="light"] .chip-live .strip-action-link {
  background: rgba(16, 185, 129, 0.14);
  border-color: rgba(16, 185, 129, 0.32);
  color: #047857;
}

html[data-theme="light"] .chip-live .strip-action-link:hover {
  background: rgba(16, 185, 129, 0.22);
}

.strip-link-icon {
  width: 11px;
  height: 11px;
  flex: 0 0 11px;
}

@media (max-width: 600px) {
  .publication-card {
    padding: 12px 14px;
    gap: 9px;
  }
  .publication-card-title {
    font-size: 14px;
  }
  .backend-verified-strip {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 9px 11px;
  }
  .strip-status-info {
    width: 100%;
    gap: 4px 6px;
  }
  .strip-action-link {
    align-self: flex-start;
    padding: 4px 10px;
    font-size: 11px;
  }
}

/* Email lowercase validation warning */
.stack-form input.input-email-invalid,.member-input-grid input.input-email-invalid,.mentor-input-grid input.input-email-invalid{border-color:#ff6b7a!important;box-shadow:0 0 0 3px rgba(255,107,122,.18)!important}
.email-case-warning{display:block;margin-top:4px;padding:6px 10px;border-radius:8px;background:rgba(191,65,83,.14);border:1px solid rgba(255,146,150,.35);color:#ff9aa4;font-size:11px;font-weight:600;line-height:1.45}
html[data-theme="light"] .email-case-warning{background:rgba(214,45,64,.09);border-color:rgba(214,45,64,.3);color:#b91c2c}

/* =========================================================================
   EXECUTIVE ANALYTICS & PROGRAMME STATISTICS (ENHANCED UI / UX)
   ========================================================================= */
.executive-analytics-root {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 14px;
  margin-bottom: 28px;
}

.analytics-hero-banner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  padding: 24px 28px;
  border-radius: 24px;
  border: 1px solid var(--theme-line);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.02)), rgba(14, 28, 47, 0.45);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08);
}
.analytics-hero-copy {
  flex: 1;
  min-width: 280px;
}
.analytics-edition-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 13px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--mint) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--mint) 28%, transparent);
  color: var(--mint);
  font: 700 11.5px var(--display);
  letter-spacing: 0.04em;
  margin-bottom: 8px;
}
.analytics-edition-badge .badge-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--mint);
  box-shadow: 0 0 10px var(--mint);
}
.analytics-hero-copy h2 {
  margin: 4px 0 6px;
  font: 800 clamp(24px, 2.5vw, 32px)/1.15 var(--display);
  color: var(--theme-ink);
  letter-spacing: -0.03em;
}
.analytics-hero-copy p {
  color: var(--theme-muted);
  font-size: 13.5px;
  line-height: 1.5;
  max-width: 680px;
  margin: 0;
}
.analytics-action-cluster {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
}
.analytics-sync-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(16, 185, 129, 0.1);
  border: 1px solid rgba(16, 185, 129, 0.28);
  color: #10b981;
  font-size: 11px;
  font-weight: 700;
}
.analytics-sync-pill .live-pulse {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 8px #10b981;
}
.analytics-button-group {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

/* Sub-nav Pill Filter Bar (Sample Reference 4) */
.analytics-subnav-bar {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 6px;
  border-radius: 16px;
  background: rgba(15, 28, 46, 0.45);
  border: 1px solid var(--theme-line);
  scrollbar-width: none;
}
.analytics-subnav-bar::-webkit-scrollbar {
  display: none;
}
.analytics-nav-pill {
  border: 0;
  padding: 9px 18px;
  border-radius: 12px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--theme-muted);
  background: transparent;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.analytics-nav-pill:hover {
  color: var(--theme-ink);
  background: rgba(255, 255, 255, 0.05);
}
.analytics-nav-pill.is-active {
  color: #fff;
  background: linear-gradient(135deg, var(--mint), #0891b2);
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.28);
}

/* Executive KPI Grid & Cards (Sample Reference 4) */
.analytics-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(215px, 1fr));
  gap: 16px;
}
.analytics-kpi-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 20px 22px;
  border-radius: 20px;
  border: 1px solid var(--theme-line);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.015)), rgba(18, 35, 55, 0.45);
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.09);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.analytics-kpi-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.14);
}
.analytics-kpi-card.card-glow-mint {
  border-color: color-mix(in srgb, var(--mint) 38%, var(--theme-line));
  background: linear-gradient(135deg, color-mix(in srgb, var(--mint) 10%, transparent), rgba(255, 255, 255, 0.02));
}
.analytics-kpi-card.card-glow-blue {
  border-color: color-mix(in srgb, #0284c7 38%, var(--theme-line));
  background: linear-gradient(135deg, rgba(2, 132, 199, 0.09), rgba(255, 255, 255, 0.02));
}
.analytics-kpi-card.card-glow-violet {
  border-color: color-mix(in srgb, #8b5cf6 38%, var(--theme-line));
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.09), rgba(255, 255, 255, 0.02));
}
.kpi-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.kpi-tag {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: var(--theme-muted);
}
.kpi-icon-pill {
  font-size: 14px;
  padding: 4px 8px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.05);
}
.kpi-card-value {
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.kpi-card-value b {
  font: 750 clamp(28px, 3.2vw, 36px)/1 var(--display);
  color: var(--theme-ink);
  letter-spacing: -0.04em;
}
.kpi-unit {
  font-size: 13px;
  font-weight: 600;
  color: var(--theme-muted);
}
.kpi-fraction {
  font-size: 0.58em;
  font-weight: 600;
  color: var(--theme-muted);
}
.kpi-card-meta {
  font-size: 12px;
  color: var(--theme-muted);
  line-height: 1.45;
}
.kpi-segmented-track {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 5px;
  margin-top: auto;
  padding-top: 6px;
}
.kpi-segment-pill {
  height: 7px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.04);
}
.kpi-segment-pill.is-filled {
  background: linear-gradient(90deg, #10b981, #34d399);
  box-shadow: 0 0 6px rgba(16, 185, 129, 0.3);
}
.kpi-segment-pill.is-blue.is-filled {
  background: linear-gradient(90deg, #0284c7, #38bdf8);
  box-shadow: 0 0 6px rgba(2, 132, 199, 0.3);
}
.kpi-segment-pill.is-amber.is-filled {
  background: linear-gradient(90deg, #f59e0b, #fbbf24);
  box-shadow: 0 0 6px rgba(245, 158, 11, 0.3);
}
.kpi-segment-pill.is-mint.is-filled {
  background: linear-gradient(90deg, #10b981, #06b6d4);
  box-shadow: 0 0 6px rgba(16, 185, 129, 0.3);
}
.kpi-compliance-badge {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border-radius: 8px;
  background: rgba(16, 185, 129, 0.12);
  border: 1px solid rgba(16, 185, 129, 0.3);
  color: #10b981;
  font-size: 11px;
  font-weight: 700;
}
.kpi-compliance-badge .badge-check {
  font-weight: 800;
}

/* Dual Grid: Donut & Funnel (Sample Reference 3 & 5) */
.analytics-dual-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  gap: 20px;
  margin-top: 14px;
}
.analytics-card-frame {
  padding: 24px;
  border-radius: 22px;
  border: 1px solid var(--theme-line);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.015)), rgba(16, 31, 49, 0.38);
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.07);
}
.card-frame-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 18px;
}
.card-frame-heading.with-search {
  align-items: center;
}
.card-frame-heading h3 {
  margin: 4px 0 0;
  font: 700 20px/1.2 var(--display);
  color: var(--theme-ink);
  letter-spacing: -0.03em;
}
.frame-subtext {
  color: var(--theme-muted);
  font-size: 12.5px;
  margin: 4px 0 0;
}
.pill-badge {
  padding: 4px 11px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--theme-line);
  font-size: 11px;
  font-weight: 700;
  color: var(--theme-muted);
}

/* Donut Chart Layout (Sample Reference 3) */
.donut-chart-layout {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.donut-svg-wrapper {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.donut-bg-ring {
  stroke: rgba(255, 255, 255, 0.08);
}
.donut-segment {
  transition: stroke-dasharray 0.6s ease;
}
.donut-center-num {
  font-family: var(--display);
  font-size: 26px;
  font-weight: 800;
  fill: var(--theme-ink);
}
.donut-center-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  fill: var(--theme-muted);
}
.donut-legend-column {
  flex: 1;
  min-width: 180px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.donut-legend-item {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.legend-color-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-top: 4px;
  flex-shrink: 0;
}
.legend-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.legend-title-row {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  color: var(--theme-ink);
}
.legend-track {
  height: 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
}
.legend-fill {
  display: block;
  height: 100%;
  border-radius: 999px;
}
.legend-sub {
  font-size: 11px;
  color: var(--theme-muted);
}

/* Funnel Step Sequence (Sample Reference 5) */
.funnel-step-sequence {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 14px 18px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--theme-line);
  margin-bottom: 18px;
}
.funnel-step {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.funnel-step small {
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: var(--theme-muted);
}
.funnel-step b {
  font: 750 22px/1 var(--display);
  color: var(--theme-ink);
}
.funnel-step span {
  font-size: 11px;
  color: var(--theme-muted);
}
.funnel-step.is-highlight b {
  color: var(--mint);
}
.funnel-arrow {
  color: var(--theme-muted);
  font-size: 14px;
}
.stage-subheading {
  margin: 18px 0 10px;
  color: var(--theme-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.stage-list-wrapper {
  display: grid;
  gap: 10px;
}
.stage-meter-row {
  display: grid;
  grid-template-columns: 140px 1fr 75px;
  align-items: center;
  gap: 12px;
  font-size: 12px;
}
.stage-name-col {
  color: var(--theme-ink);
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.stage-count-col {
  text-align: right;
  font-variant-numeric: tabular-nums;
  color: var(--theme-ink);
}
.stage-count-col small {
  color: var(--theme-muted);
}

/* Modern Analytics Tables with Avatars & Search (Sample Reference 4 & 5) */
.frame-search-wrap {
  min-width: 220px;
}
.analytics-search-input {
  width: 100%;
  padding: 9px 14px;
  border-radius: 12px;
  border: 1px solid var(--theme-line);
  background: rgba(255, 255, 255, 0.05);
  color: var(--theme-ink);
  font-size: 12.5px;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.analytics-search-input:focus {
  border-color: var(--mint);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--mint) 18%, transparent);
}
.dept-cell-layout {
  display: flex;
  align-items: center;
  gap: 12px;
}
.dept-initial-avatar {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--mint) 18%, transparent), rgba(255, 255, 255, 0.03));
  border: 1px solid color-mix(in srgb, var(--mint) 32%, transparent);
  color: var(--mint);
  font: 800 11px var(--display);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.principal-table-wrap {
  margin-top: 14px;
  overflow-x: auto;
  border: 1px solid var(--theme-line);
  border-radius: 18px;
  background: rgba(15, 28, 46, 0.38);
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.07);
}
.principal-analytics-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-size: 13px;
}
.principal-analytics-table th,
.principal-analytics-table td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--theme-line);
  vertical-align: middle;
}
.principal-analytics-table thead th {
  background: rgba(255, 255, 255, 0.045);
  color: var(--theme-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap;
}
.principal-analytics-table tbody tr:hover {
  background: rgba(123, 231, 206, 0.045);
}
.principal-analytics-table tfoot th {
  background: rgba(123, 231, 206, 0.08);
  color: var(--theme-ink);
  font-size: 13px;
  font-weight: 800;
  border-bottom: 0;
}
.principal-analytics-table .num-col {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.principal-analytics-table .bar-col {
  min-width: 170px;
}
.principal-analytics-table td strong {
  display: block;
  color: var(--theme-ink);
  font-weight: 650;
}
.principal-analytics-table td b {
  color: var(--mint);
  font-weight: 750;
}
.table-subtext {
  display: block;
  margin-top: 4px;
  color: var(--theme-muted);
  font-size: 11px;
  line-height: 1.4;
}
.analytics-bar-cell {
  display: flex;
  align-items: center;
  gap: 10px;
}
.analytics-bar-track {
  flex: 1;
  height: 8px;
  min-width: 70px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  overflow: hidden;
}
.analytics-bar-fill {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--mint), #0284c7);
}
.analytics-bar-label {
  min-width: 42px;
  text-align: right;
  font-size: 12px;
  font-weight: 700;
  color: var(--theme-ink);
  font-variant-numeric: tabular-nums;
}
.psid-pill {
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--mint) 14%, transparent);
  border: 1px solid color-mix(in srgb, var(--mint) 32%, transparent);
  color: var(--mint);
  font: 700 12px var(--display);
  white-space: nowrap;
}
.demand-badge {
  display: inline-block;
  margin-left: 6px;
  padding: 3px 8px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.demand-badge.demand-high {
  background: rgba(239, 68, 68, 0.16);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.35);
}
.demand-badge.demand-active {
  background: rgba(16, 185, 129, 0.16);
  color: #34d399;
  border: 1px solid rgba(16, 185, 129, 0.35);
}
.demand-badge.demand-none {
  background: rgba(255, 255, 255, 0.06);
  color: var(--theme-muted);
}

/* Light Theme Precision Tuning */
html[data-theme="light"] .analytics-hero-banner,
html[data-theme="light"] .analytics-kpi-card,
html[data-theme="light"] .analytics-card-frame,
html[data-theme="light"] .principal-table-wrap {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.94), rgba(244, 249, 254, 0.82));
  border-color: rgba(68, 98, 132, 0.18);
  box-shadow: 0 14px 36px rgba(42, 70, 100, 0.07);
}
html[data-theme="light"] .analytics-kpi-card.card-glow-mint {
  background: linear-gradient(135deg, rgba(8, 125, 112, 0.09), rgba(255, 255, 255, 0.95));
  border-color: rgba(8, 125, 112, 0.3);
}
html[data-theme="light"] .analytics-kpi-card.card-glow-blue {
  background: linear-gradient(135deg, rgba(2, 132, 199, 0.09), rgba(255, 255, 255, 0.95));
  border-color: rgba(2, 132, 199, 0.3);
}
html[data-theme="light"] .analytics-kpi-card.card-glow-violet {
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.09), rgba(255, 255, 255, 0.95));
  border-color: rgba(139, 92, 246, 0.3);
}
html[data-theme="light"] .analytics-subnav-bar {
  background: rgba(229, 238, 248, 0.7);
  border-color: rgba(68, 98, 132, 0.18);
}
html[data-theme="light"] .analytics-search-input {
  background: #ffffff;
  border-color: rgba(68, 98, 132, 0.22);
}
html[data-theme="light"] .donut-bg-ring {
  stroke: rgba(0, 0, 0, 0.08);
}
html[data-theme="light"] .principal-analytics-table thead th {
  background: rgba(229, 238, 248, 0.75);
}
html[data-theme="light"] .analytics-bar-track,
html[data-theme="light"] .legend-track {
  background: rgba(68, 98, 132, 0.14);
}
html[data-theme="light"] .kpi-segment-pill {
  background: rgba(68, 98, 132, 0.14);
}
html[data-theme="light"] .funnel-step-sequence {
  background: rgba(238, 244, 252, 0.7);
}

/* Mobile & Tablet Responsiveness */
@media (max-width: 920px) {
  .analytics-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .analytics-dual-grid {
    grid-template-columns: 1fr;
  }
  .analytics-action-cluster {
    align-items: flex-start;
  }
}
@media (max-width: 580px) {
  .analytics-kpi-grid {
    grid-template-columns: 1fr;
  }
  .donut-chart-layout {
    flex-direction: column;
    align-items: center;
  }
  .stage-meter-row {
    grid-template-columns: 110px 1fr 65px;
  }
  .funnel-step-sequence {
    flex-direction: column;
    gap: 12px;
  }
  .funnel-arrow {
    transform: rotate(90deg);
  }
}

/* =========================================================================
   PERFORMANCE & SMOOTHNESS ENGINE (60/120 FPS JANK-FREE HARDWARE COMPOSITING)
   ========================================================================= */

/* Replace expensive 100px GPU Gaussian blurs with native 2D radial gradients */
.ambient {
  pointer-events: none !important;
  position: fixed;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  filter: none !important;
  opacity: 0.15;
  z-index: -1;
  contain: strict;
  transform: translateZ(0);
}
.ambient-one {
  background: radial-gradient(circle, #386ce5 0%, rgba(56, 108, 229, 0.4) 38%, transparent 70%) !important;
  top: -180px;
  right: 10%;
}
.ambient-two {
  background: radial-gradient(circle, #16a89f 0%, rgba(22, 168, 159, 0.4) 38%, transparent 70%) !important;
  bottom: -180px;
  left: 14%;
}
html[data-theme="light"] .ambient {
  opacity: 0.10;
}

/* Optimize glassmorphism backdrop-filter to 10px: identical look, 4x faster GPU fill rate */
.step-card,
.form-card,
.problem-card,
.landing-news-card,
.team-overview,
.empty-state,
.hero-proof-card,
.pitch-upload-card,
.admin-team-card,
.creator-photo-caption,
.quick-jump-panel,
.quick-jump-menu>summary,
.pitch-outcome-popover {
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* Layout boundary containment without scroll height jumping or pop-ins */
.problem-statements,
.ideathon-timeline,
.steps-section,
.journey-tracker,
.landing-news-section,
.creator-section {
  contain: layout style;
}

/* Hardware accelerated buttons & interactive pills */
.button,
.nav-button,
.theme-toggle,
.psid-pill,
.status-pill {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* =========================================================================
   TECHNICAL & ENGINEERING AMBIENT BACKGROUND CANVAS (ULTRA-SMOOTH GPU COMPOSITED)
   ========================================================================= */
.tech-canvas-layer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none !important;
  z-index: 0;
  overflow: hidden;
  user-select: none;
  contain: strict;
  transform: translateZ(0);
}
.tech-canvas-layer * {
  pointer-events: none !important;
}
.page-shell, .site-footer {
  position: relative;
  z-index: 1;
}
.tech-grid-pattern-svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  color: rgba(56, 189, 248, 0.055);
}
.tech-graphic-accent {
  position: absolute;
  pointer-events: none !important;
  contain: layout style paint;
  will-change: transform;
  transform: translateZ(0);
  backface-visibility: hidden;
}
.tech-accent-top {
  top: -20px;
  right: -20px;
  color: rgba(16, 185, 129, 0.11);
}
.tech-accent-bottom {
  bottom: -20px;
  left: -20px;
  color: rgba(129, 140, 248, 0.11);
}

/* Light Theme Technical Accent Balance */
html[data-theme="light"] .tech-grid-pattern-svg {
  color: rgba(2, 132, 199, 0.04);
}
html[data-theme="light"] .tech-accent-top {
  color: rgba(8, 125, 112, 0.08);
}
html[data-theme="light"] .tech-accent-bottom {
  color: rgba(3, 105, 161, 0.08);
}

/* Dynamic Rotating Engineering Mechanical Components - Pure GPU Composited */
.tech-anim-gear {
  transform-box: view-box;
  transform-origin: 388px 150px;
  animation: techRotateGear 40s linear infinite;
  will-change: transform;
}
.tech-anim-compass-ring {
  transform-box: view-box;
  transform-origin: 360px 160px;
  animation: techRotateCompass 48s linear infinite;
  will-change: transform;
}
.tech-anim-radar-sweep {
  transform-box: view-box;
  transform-origin: 420px 300px;
  animation: techRadarSweep 6s linear infinite;
  will-change: transform;
}

/* Telemetry Markers */
.tech-drift-particle {
  position: absolute;
  pointer-events: none !important;
  user-select: none;
}
.tech-particle-left {
  left: 6%;
  top: 48%;
  color: rgba(56, 189, 248, 0.11);
}
.tech-particle-right {
  right: 5%;
  top: 60%;
  color: rgba(16, 185, 129, 0.11);
}

@keyframes techRotateGear {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes techRotateCompass {
  from { transform: rotate(360deg); }
  to { transform: rotate(0deg); }
}
@keyframes techRadarSweep {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@media (max-width: 768px) {
  .tech-accent-top svg { width: 320px; height: 320px; }
  .tech-accent-bottom svg { width: 300px; height: 300px; }
  .tech-drift-particle { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .tech-anim-gear,
  .tech-anim-compass-ring,
  .tech-anim-radar-sweep {
    animation: none !important;
  }
}

/* =========================================================================
   TEAM REGISTRATION END TIME & FADED STATE ON STUDENT SIDE
   ========================================================================= */
.deadline-grid.deadline-grid-three {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
}
.deadline-form-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  margin-top: 4px;
}

/* Faded visual state for closed team registration & creation */
.team-creation-faded,
.empty-state.is-faded-closed,
.form-card.is-faded-closed {
  position: relative;
  opacity: 0.44 !important;
  filter: grayscale(0.55);
  pointer-events: none;
  user-select: none;
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), filter 0.6s ease;
}

.empty-state.is-faded-closed *,
.team-creation-faded * {
  pointer-events: none !important;
}

.empty-state.is-faded-closed .button,
.team-creation-faded .button,
.button.button-disabled {
  cursor: not-allowed !important;
  opacity: 0.55 !important;
  background: var(--theme-line) !important;
  color: var(--theme-muted) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  box-shadow: none !important;
  transform: none !important;
  pointer-events: none !important;
}

/* Informative notice when registration is closed */
.registration-closed-notice {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  margin-bottom: 22px;
  border-radius: 16px;
  border: 1px solid rgba(239, 68, 68, 0.35);
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.12), rgba(239, 68, 68, 0.04));
  color: #fca5a5;
  font-size: 13.5px;
  line-height: 1.6;
  backdrop-filter: blur(14px);
  box-shadow: 0 8px 24px rgba(239, 68, 68, 0.08);
}
.registration-closed-notice .notice-icon {
  font-size: 22px;
  flex-shrink: 0;
  line-height: 1;
}
.registration-closed-notice b {
  display: block;
  font-size: 14.5px;
  color: #fff;
  margin-bottom: 2px;
}
.registration-closed-notice span {
  color: #fca5a5;
}
html[data-theme="light"] .registration-closed-notice {
  border-color: rgba(220, 38, 38, 0.28);
  background: linear-gradient(135deg, rgba(254, 226, 226, 0.88), rgba(254, 242, 242, 0.65));
  color: #991b1b;
}
html[data-theme="light"] .registration-closed-notice b {
  color: #7f1d1d;
}
html[data-theme="light"] .registration-closed-notice span {
  color: #b91c1c;
}

/* Metadata pill when registration is still open */
.registration-open-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.registration-deadline-info {
  font-size: 12.5px;
  font-weight: 650;
  color: var(--theme-muted);
}
.registration-closed-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(239, 68, 68, 0.18);
  border: 1px solid rgba(239, 68, 68, 0.3);
  color: #fca5a5;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
html[data-theme="light"] .registration-closed-badge {
  background: rgba(254, 226, 226, 0.9);
  border-color: rgba(220, 38, 38, 0.25);
  color: #991b1b;
}

/* Draft banner closed state */
.draft-banner-closed {
  border-color: rgba(239, 68, 68, 0.3) !important;
  background: rgba(239, 68, 68, 0.08) !important;
}
.draft-banner-closed b {
  color: #fca5a5 !important;
}
html[data-theme="light"] .draft-banner-closed {
  border-color: rgba(220, 38, 38, 0.25) !important;
  background: rgba(254, 226, 226, 0.75) !important;
}
html[data-theme="light"] .draft-banner-closed b {
  color: #991b1b !important;
}

/* =========================================================================
   REGISTRATION ALERT BANNER & LIVE REVERSE COUNTDOWN
   ========================================================================= */
.registration-alert-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 22px;
  margin-bottom: 22px;
  border-radius: 18px;
  border: 1px solid rgba(13, 148, 136, 0.38);
  background: linear-gradient(135deg, rgba(13, 148, 136, 0.14), rgba(13, 148, 136, 0.04)), rgba(15, 30, 48, 0.68);
  backdrop-filter: blur(16px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12), inset 0 1px rgba(255, 255, 255, 0.1);
  transition: all 0.3s ease;
}
.registration-alert-left {
  display: flex;
  align-items: center;
  gap: 14px;
}
.registration-alert-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 13px;
  background: rgba(13, 148, 136, 0.22);
  border: 1px solid rgba(13, 148, 136, 0.38);
  font-size: 22px;
  flex-shrink: 0;
}
.registration-alert-title {
  display: block;
  font-size: 15px;
  font-weight: 750;
  color: #a7f3d0;
  letter-spacing: -0.01em;
  margin-bottom: 2px;
}
.registration-alert-sub {
  display: block;
  font-size: 12.5px;
  color: var(--theme-muted);
}
.registration-alert-sub strong {
  color: var(--theme-ink);
}

/* Light Theme styles */
html[data-theme="light"] .registration-alert-banner {
  background: linear-gradient(135deg, rgba(13, 148, 136, 0.12), rgba(255, 255, 255, 0.7)), rgba(255, 255, 255, 0.85);
  border-color: rgba(13, 148, 136, 0.3);
  box-shadow: 0 12px 32px rgba(13, 148, 136, 0.08), inset 0 1px #fff;
}
html[data-theme="light"] .registration-alert-icon {
  background: rgba(13, 148, 136, 0.12);
  border-color: rgba(13, 148, 136, 0.25);
}
html[data-theme="light"] .registration-alert-title {
  color: #0f766e;
}

/* Warning State (< 24 Hours) */
.registration-alert-banner.is-warning-alert {
  border-color: rgba(245, 158, 11, 0.45);
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.16), rgba(245, 158, 11, 0.04)), rgba(25, 22, 15, 0.75);
}
.registration-alert-banner.is-warning-alert .registration-alert-icon {
  background: rgba(245, 158, 11, 0.2);
  border-color: rgba(245, 158, 11, 0.4);
}
.registration-alert-banner.is-warning-alert .registration-alert-title {
  color: #fcd34d;
}
html[data-theme="light"] .registration-alert-banner.is-warning-alert {
  background: linear-gradient(135deg, rgba(254, 243, 199, 0.95), rgba(255, 251, 235, 0.8));
  border-color: rgba(245, 158, 11, 0.38);
}
html[data-theme="light"] .registration-alert-banner.is-warning-alert .registration-alert-title {
  color: #b45309;
}

/* Urgent State (< 15 Minutes) - Pulsing alert */
.registration-alert-banner.is-urgent-alert {
  border-color: rgba(239, 68, 68, 0.55);
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.22), rgba(239, 68, 68, 0.06)), rgba(30, 15, 15, 0.85);
  animation: regUrgentPulse 1.8s ease-in-out infinite;
}
.registration-alert-banner.is-urgent-alert .registration-alert-icon {
  background: rgba(239, 68, 68, 0.25);
  border-color: rgba(239, 68, 68, 0.5);
}
.registration-alert-banner.is-urgent-alert .registration-alert-title {
  color: #fca5a5;
}
html[data-theme="light"] .registration-alert-banner.is-urgent-alert {
  background: linear-gradient(135deg, rgba(254, 226, 226, 0.95), rgba(255, 241, 242, 0.8));
  border-color: rgba(239, 68, 68, 0.45);
}
html[data-theme="light"] .registration-alert-banner.is-urgent-alert .registration-alert-title {
  color: #b91c1c;
}

@keyframes regUrgentPulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.3), 0 10px 30px rgba(0, 0, 0, 0.15);
  }
  50% {
    box-shadow: 0 0 20px 4px rgba(239, 68, 68, 0.38), 0 10px 30px rgba(0, 0, 0, 0.15);
  }
}

/* Expired banner */
.registration-alert-banner.is-expired-banner {
  border-color: rgba(239, 68, 68, 0.35);
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.12), rgba(239, 68, 68, 0.03)), rgba(20, 25, 35, 0.7);
}
.registration-alert-banner.is-expired-banner .registration-alert-icon {
  background: rgba(239, 68, 68, 0.15);
  border-color: rgba(239, 68, 68, 0.3);
}
.registration-alert-banner.is-expired-banner .registration-alert-title {
  color: #fca5a5;
}
html[data-theme="light"] .registration-alert-banner.is-expired-banner {
  background: linear-gradient(135deg, rgba(254, 226, 226, 0.9), rgba(254, 242, 242, 0.7));
  border-color: rgba(220, 38, 38, 0.28);
}
html[data-theme="light"] .registration-alert-banner.is-expired-banner .registration-alert-title {
  color: #991b1b;
}

.reg-live-countdown {
  flex-shrink: 0;
  padding: 8px 18px;
  font-size: 13.5px;
}
.reg-live-countdown .countdown-digits {
  font-size: 15px;
}

@media (max-width: 680px) {
  .registration-alert-banner {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding: 16px;
  }
  .reg-live-countdown {
    width: 100%;
    justify-content: center;
  }
}

/* ========================================================
   FACULTY MENTOR TEAM SUBMISSION & DOCUMENT VIEWER STYLES
   ======================================================== */
.mentor-assigned-problem {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 12px 0 16px;
  padding: 12px 16px;
  border-radius: 14px;
  border: 1px solid rgba(43, 189, 168, 0.25);
  background: rgba(43, 189, 168, 0.08);
}
.mentor-problem-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: var(--mint, #0b827d);
}
.mentor-assigned-problem b {
  font-size: 14px;
  color: var(--theme-ink);
  line-height: 1.45;
}

.mentor-team-submissions {
  margin: 20px 0 16px;
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.04);
}
html[data-theme="light"] .mentor-team-submissions {
  background: rgba(246, 250, 253, 0.7);
}

.mentor-sub-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}
.mentor-sub-header h4 {
  font: 750 17px/1.3 var(--display);
  color: var(--theme-ink);
  margin: 0;
}
.mentor-sub-header small {
  font-size: 12px;
  color: var(--theme-muted);
}

.mentor-docs-grid {
  display: grid;
  gap: 12px;
}

.mentor-doc-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.06);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
html[data-theme="light"] .mentor-doc-item {
  background: #ffffff;
  box-shadow: 0 4px 14px rgba(20, 40, 60, 0.04);
}
.mentor-doc-item:hover {
  border-color: rgba(43, 189, 168, 0.45);
  box-shadow: 0 6px 20px rgba(10, 30, 50, 0.08);
}

.mentor-doc-icon-col {
  flex-shrink: 0;
  padding-top: 2px;
}
.mentor-doc-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  padding: 5px 8px;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.badge-pdf {
  background: rgba(239, 68, 68, 0.15);
  color: #ef4444;
  border: 1px solid rgba(239, 68, 68, 0.35);
}
.badge-ppt {
  background: rgba(249, 115, 22, 0.15);
  color: #f97316;
  border: 1px solid rgba(249, 115, 22, 0.35);
}
.badge-doc {
  background: rgba(59, 130, 246, 0.15);
  color: #3b82f6;
  border: 1px solid rgba(59, 130, 246, 0.35);
}
.badge-xls {
  background: rgba(16, 185, 129, 0.15);
  color: #10b981;
  border: 1px solid rgba(16, 185, 129, 0.35);
}
.badge-img {
  background: rgba(168, 85, 247, 0.15);
  color: #a855f7;
  border: 1px solid rgba(168, 85, 247, 0.35);
}
.badge-txt, .badge-file {
  background: rgba(107, 114, 128, 0.15);
  color: #9ca3af;
  border: 1px solid rgba(107, 114, 128, 0.35);
}

.mentor-doc-details {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.mentor-doc-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.mentor-doc-filename {
  font-size: 14.5px;
  font-weight: 700;
  color: var(--theme-ink);
  overflow-wrap: anywhere;
}
.mentor-submission-tag {
  display: inline-block;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  color: #0b827d;
  background: rgba(43, 189, 168, 0.14);
}
html[data-theme="dark"] .mentor-submission-tag {
  color: #7ef4dc;
  background: rgba(43, 189, 168, 0.2);
}

.mentor-doc-meta-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 12px;
  color: var(--theme-muted);
}
.mentor-doc-action-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}
.mentor-view-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  font-weight: 650;
  padding: 7px 14px;
}
.mentor-inline-preview {
  margin-top: 0;
}
.mentor-inline-preview summary {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 13px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--theme-ink);
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid var(--line);
  border-radius: 999px;
  user-select: none;
}
html[data-theme="light"] .mentor-inline-preview summary {
  background: #f1f5f9;
}
.mentor-inline-preview summary:hover {
  background: rgba(43, 189, 168, 0.12);
  border-color: rgba(43, 189, 168, 0.35);
}
.mentor-inline-preview[open] summary span {
  transform: rotate(180deg);
}
.mentor-inline-preview iframe {
  display: block;
  width: 100%;
  height: 480px;
  margin-top: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #ffffff;
}

.mentor-team-abstract {
  margin: 16px 0;
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.035);
}
html[data-theme="light"] .mentor-team-abstract {
  background: rgba(246, 250, 253, 0.6);
}
.mentor-abstract-box {
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: rgba(0, 0, 0, 0.08);
  font-size: 13.5px;
  line-height: 1.7;
  color: var(--theme-ink);
  white-space: pre-wrap;
  word-break: break-word;
  max-height: 280px;
  overflow-y: auto;
}
html[data-theme="light"] .mentor-abstract-box {
  background: #ffffff;
  border-color: #e2e8f0;
}

/* ========================================================
   FULL-FEATURED IN-PAGE DOCUMENT VIEWER MODAL
   ======================================================== */
.mentor-doc-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  width: min(1200px, 94vw);
  height: 88vh;
  margin: auto;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 20px;
  background: #101824;
  color: #f1f5f9;
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.65), 0 0 0 100vw rgba(10, 18, 28, 0.72);
  backdrop-filter: blur(14px);
  overflow: hidden;
}
html[data-theme="light"] .mentor-doc-modal {
  background: #ffffff;
  color: #1e293b;
  border-color: #cbd5e1;
  box-shadow: 0 25px 70px rgba(15, 23, 42, 0.28), 0 0 0 100vw rgba(15, 23, 42, 0.45);
}
.mentor-doc-modal::backdrop {
  background: rgba(10, 18, 28, 0.75);
  backdrop-filter: blur(8px);
}
.mentor-modal-window {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}
.mentor-modal-bar {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--line, rgba(255, 255, 255, 0.12));
  background: rgba(255, 255, 255, 0.04);
}
html[data-theme="light"] .mentor-modal-bar {
  background: #f8fafc;
  border-bottom-color: #e2e8f0;
}
.mentor-modal-info {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.mentor-modal-badge {
  flex-shrink: 0;
  display: inline-flex;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.06em;
  background: rgba(43, 189, 168, 0.2);
  color: #38c9b8;
  border: 1px solid rgba(43, 189, 168, 0.4);
}
html[data-theme="light"] .mentor-modal-badge {
  background: rgba(11, 130, 125, 0.1);
  color: #0b827d;
  border-color: rgba(11, 130, 125, 0.3);
}
.mentor-modal-info h3 {
  margin: 0;
  font: 750 16px var(--display);
  color: inherit;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 480px;
}
.mentor-modal-info small {
  display: block;
  font-size: 11.5px;
  color: var(--theme-muted, #94a3b8);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 480px;
}
.mentor-modal-ctrls {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.mentor-modal-close {
  background: rgba(239, 68, 68, 0.14) !important;
  color: #ef4444 !important;
  border: 1px solid rgba(239, 68, 68, 0.3) !important;
  font-weight: 700 !important;
}
.mentor-modal-close:hover {
  background: #ef4444 !important;
  color: #ffffff !important;
}
.mentor-modal-view {
  flex: 1;
  width: 100%;
  height: 100%;
  position: relative;
  background: #0b111a;
}
html[data-theme="light"] .mentor-modal-view {
  background: #f1f5f9;
}
.mentor-modal-view iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
  background: #ffffff;
}

@media (max-width: 768px) {
  .mentor-doc-item {
    flex-direction: column;
    gap: 10px;
  }
  .mentor-doc-action-row {
    width: 100%;
  }
  .mentor-doc-action-row .button, .mentor-inline-preview {
    width: 100%;
  }
  .mentor-inline-preview summary {
    width: 100%;
    justify-content: center;
  }
  .mentor-doc-modal {
    width: 100vw;
    height: 100vh;
    border-radius: 0;
    max-width: none;
  }
  .mentor-modal-bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .mentor-modal-ctrls {
    width: 100%;
    justify-content: flex-end;
  }
}

/* ==========================================================================
   Presentation Scheduling (Problem Statement Wise) & Pitch PPTs
   ========================================================================== */

.presentation-scheduling-section {
  margin-bottom: 32px;
}

.ps-section-heading {
  align-items: flex-start;
}

.ps-title-container {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ps-heading-flex {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.ps-heading-flex h2 {
  margin: 0;
}

.ps-header-info {
  position: relative;
  display: inline-flex;
}

.ps-header-info > summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1.5px solid rgba(8, 126, 130, 0.4);
  background: rgba(8, 126, 130, 0.08);
  color: #087e82;
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
  transition: all 0.2s ease;
  user-select: none;
}

.ps-header-info > summary::-webkit-details-marker {
  display: none;
}

.ps-header-info > summary:hover,
.ps-header-info[open] > summary {
  background: #087e82;
  color: #ffffff;
  border-color: #087e82;
  transform: scale(1.05);
}

.ps-info-popover {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  left: auto;
  z-index: 100;
  width: min(380px, calc(100vw - 36px));
  padding: 16px 18px;
  border-radius: 14px;
  background: var(--surface, #ffffff);
  border: 1px solid var(--border-color, #e2e8f0);
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.16);
  font-size: 13px;
  line-height: 1.6;
  color: var(--text, #334155);
}

@media (max-width: 600px) {
  .ps-info-popover {
    right: 0;
    width: min(340px, calc(100vw - 32px));
  }
}

.ps-stat-badges {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.ps-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 500;
  border: 1px solid transparent;
}

.ps-pill-total {
  background: rgba(8, 126, 130, 0.1);
  color: #087e82;
  border-color: rgba(8, 126, 130, 0.25);
}

.ps-pill-success {
  background: rgba(16, 185, 129, 0.1);
  color: #059669;
  border-color: rgba(16, 185, 129, 0.25);
}

.ps-pill-pending {
  background: rgba(245, 158, 11, 0.1);
  color: #d97706;
  border-color: rgba(245, 158, 11, 0.25);
}

.ps-empty-state {
  text-align: center;
  padding: 40px 20px;
  background: var(--surface-muted, #f8fafc);
  border: 1px dashed var(--border-color, #cbd5e1);
  border-radius: 16px;
  margin-top: 14px;
}

.ps-empty-state .empty-icon {
  font-size: 36px;
  display: block;
  margin-bottom: 10px;
}

.ps-empty-state h3 {
  margin: 0 0 6px;
  font-size: 17px;
  color: var(--text, #1e293b);
}

.ps-empty-state p {
  max-width: 580px;
  margin: 0 auto;
  font-size: 13.5px;
  color: var(--text-muted, #64748b);
  line-height: 1.55;
}

.ps-problem-groups-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 18px;
}

/* Level 1: Problem Statement Accordion */
.ps-problem-accordion {
  background: var(--surface, #ffffff);
  border: 1px solid var(--border-color, #e2e8f0);
  border-radius: 14px;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
  overflow: hidden;
  transition: all 0.2s ease;
}

.ps-problem-accordion:hover {
  border-color: rgba(8, 126, 130, 0.35);
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.07);
}

.ps-problem-accordion[open] {
  border-color: rgba(8, 126, 130, 0.4);
  box-shadow: 0 6px 18px rgba(8, 126, 130, 0.08);
}

.ps-problem-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  padding: 11px 18px;
  min-height: 48px;
  cursor: pointer;
  list-style: none;
  user-select: none;
  background: var(--surface, #ffffff);
  transition: background 0.15s ease;
}

.ps-problem-summary::-webkit-details-marker {
  display: none;
}

.ps-problem-summary:hover {
  background: var(--surface-muted, #f8fafc);
}

.ps-problem-summary-left {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1 1 300px;
}

.ps-code-badge {
  background: linear-gradient(135deg, #087e82, #0d9488);
  color: #ffffff;
  font-weight: 700;
  font-size: 11.5px;
  padding: 3px 9px;
  border-radius: 5px;
  letter-spacing: 0.5px;
  white-space: nowrap;
}

.ps-problem-title {
  margin: 0;
  font-size: 14.5px;
  font-weight: 700;
  color: var(--text, #0f172a);
  line-height: 1.35;
}

.ps-problem-summary-right {
  display: flex;
  align-items: center;
  gap: 8px;
}

.ps-meta-pill {
  font-size: 11.5px;
  padding: 3px 8px;
  border-radius: 5px;
  background: var(--surface-muted, #f1f5f9);
  color: var(--text-muted, #475569);
  font-weight: 600;
  white-space: nowrap;
}

.ps-meta-status {
  font-size: 11.5px;
  padding: 3px 8px;
  border-radius: 5px;
  font-weight: 600;
  white-space: nowrap;
}

.ps-meta-status.status-complete {
  background: #dcfce7;
  color: #15803d;
}

.ps-meta-status.status-pending {
  background: #fef3c7;
  color: #b45309;
}

.ps-accordion-caret,
.ps-team-caret {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  color: var(--text-muted, #64748b);
  transition: transform 0.2s ease;
  user-select: none;
}

.ps-problem-accordion[open] > .ps-problem-summary .ps-accordion-caret {
  transform: rotate(180deg);
}

/* Level 2: Flush seamless rows inside Problem Statement (NO bloated nested card!) */
.ps-problem-content {
  padding: 0;
  border-top: 1px solid var(--border-color, #e2e8f0);
  background: transparent;
}

.ps-teams-accordion-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.ps-team-accordion {
  background: var(--surface, #ffffff);
  border: none;
  border-top: 1px solid var(--border-color, #e2e8f0);
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
  transition: background 0.15s ease;
}

.ps-team-accordion:first-child {
  border-top: none;
}

.ps-team-accordion.is-scheduled {
  border-left: 4px solid #10b981;
}

.ps-team-accordion.is-pending {
  border-left: 4px solid #f59e0b;
}

.ps-team-accordion:hover {
  background: rgba(8, 126, 130, 0.02);
}

.ps-team-accordion[open] {
  background: var(--surface, #ffffff);
}

.ps-team-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 9px 18px;
  min-height: 42px;
  cursor: pointer;
  list-style: none;
  user-select: none;
  background: transparent;
  transition: background 0.15s ease;
}

.ps-team-summary::-webkit-details-marker {
  display: none;
}

.ps-team-summary:hover {
  background: var(--surface-muted, #f8fafc);
}

.ps-team-summary-left {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  flex: 1 1 280px;
}

.ps-team-summary-name {
  font-size: 14px;
  font-weight: 700;
  color: var(--text, #0f172a);
}

.ps-team-summary-lead {
  font-size: 12.5px;
  color: var(--text-muted, #64748b);
}

.ps-team-summary-right {
  display: flex;
  align-items: center;
  gap: 8px;
}

.ps-team-accordion[open] > .ps-team-summary .ps-team-caret {
  transform: rotate(180deg);
}

.ps-team-body {
  padding: 16px 18px 20px 18px;
  border-top: 1px dashed var(--border-color, #e2e8f0);
  display: flex;
  flex-direction: column;
  gap: 14px;
  background: var(--surface-muted, #f8fafc);
}

.ps-team-card-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
}

.ps-team-title-wrap {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ps-team-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  padding: 2px 7px;
  border-radius: 4px;
  background: var(--surface-muted, #e2e8f0);
  color: var(--text-muted, #334155);
  width: fit-content;
}

.ps-team-title-wrap h4 {
  margin: 0;
  font-size: 16px;
  color: var(--text, #0f172a);
  font-weight: 700;
}

.ps-sched-status-tag {
  font-size: 11px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 999px;
  white-space: nowrap;
}

.ps-sched-status-tag.tag-scheduled {
  background: #d1fae5;
  color: #065f46;
}

.ps-sched-status-tag.tag-pending {
  background: #fef3c7;
  color: #92400e;
}

.ps-team-info-row {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 12.5px;
  line-height: 1.45;
}

.ps-team-info-row small,
.ps-team-mentors-strip small,
.ps-ppt-files-box small {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: var(--text-muted, #64748b);
  display: block;
  margin-bottom: 2px;
}

.ps-meta-muted {
  color: var(--text-muted, #64748b);
  display: block;
}

.ps-roster-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 2px;
}

.roster-tag {
  font-size: 11px;
  padding: 2px 7px;
  border-radius: 4px;
  background: var(--surface-muted, #f1f5f9);
  color: var(--text, #334155);
  border: 1px solid var(--border-color, #e2e8f0);
}

.ps-team-mentors-strip {
  background: var(--surface-muted, #f8fafc);
  border: 1px solid var(--border-color, #e2e8f0);
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 12px;
}

.ps-mentors-list {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin-top: 2px;
}

/* Uploaded PPT files box */
.ps-ppt-files-box {
  background: var(--surface-muted, #f8fafc);
  border: 1px solid var(--border-color, #e2e8f0);
  border-radius: 8px;
  padding: 10px 12px;
}

.ps-ppt-file-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
  padding: 6px 0;
  border-top: 1px dashed var(--border-color, #e2e8f0);
}

.ps-ppt-file-item:first-of-type {
  border-top: none;
}

.ps-ppt-file-details {
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: 65%;
}

.ppt-badge {
  background: #f97316;
  color: #ffffff;
  font-weight: 800;
  font-size: 10px;
  padding: 3px 6px;
  border-radius: 4px;
}

.ppt-name {
  font-size: 12.5px;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ps-ppt-file-actions {
  display: flex;
  gap: 6px;
}

/* Confirmed presentation slot box */
.ps-confirmed-schedule {
  background: linear-gradient(135deg, #0d2035, #18334f);
  color: #f8fafc;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 12.5px;
}

.confirmed-header {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: #7ee7d5;
  font-weight: 700;
  margin-bottom: 8px;
}

.confirmed-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 6px #10b981;
}

.confirmed-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.sched-info-line {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.info-label {
  color: #94a3b8;
  font-size: 12px;
}

.info-val {
  color: #ffffff;
}

.text-venue {
  color: #fef08a !important;
  background: rgba(254, 240, 138, 0.15);
  padding: 2px 7px;
  border-radius: 4px;
}

.mode-pill {
  font-size: 11px;
  padding: 2px 7px;
  border-radius: 4px;
  font-weight: 700;
}

.mode-pill.mode-offline {
  background: #fef3c7;
  color: #78350f;
}

.mode-pill.mode-online {
  background: #ccfbf1;
  color: #115e59;
}

.mode-pill.mode-hybrid {
  background: #e0e7ff;
  color: #3730a3;
}

.gmeet-link-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #087e82;
  color: #ffffff !important;
  padding: 3px 9px;
  border-radius: 5px;
  font-weight: 600;
  font-size: 11.5px;
  text-decoration: none;
}

.gmeet-link-btn:hover {
  background: #066367;
}

.sched-notif-line small {
  color: #94a3b8;
  font-size: 11px;
}

/* Schedule wrapper, form header, and form */
.ps-schedule-form-wrapper {
  margin-top: 4px;
  background: var(--surface, #ffffff);
  border: 1px solid var(--border-color, #e2e8f0);
  border-radius: 12px;
  padding: 16px 18px;
}

.ps-form-header-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 14px;
  border-radius: 8px;
  background: var(--surface-muted, #f1f5f9);
  border: 1px solid var(--border-color, #cbd5e1);
  color: var(--text, #1e293b);
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 12px;
}

.ps-schedule-drawer {
  border: 1px solid var(--border-color, #e2e8f0);
  border-radius: 8px;
  padding: 8px 12px;
  background: var(--surface, #ffffff);
}

.ps-schedule-drawer summary {
  cursor: pointer;
  list-style: none;
  font-weight: 600;
  display: inline-flex;
}

.ps-schedule-drawer summary::-webkit-details-marker {
  display: none;
}

.ps-schedule-form {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ps-form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px;
}

.ps-form-grid label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text, #334155);
}

.ps-form-grid input,
.ps-form-grid select {
  padding: 7px 10px;
  border: 1px solid var(--border-color, #cbd5e1);
  border-radius: 6px;
  font-size: 12.5px;
  background: var(--surface, #ffffff);
  color: var(--text, #0f172a);
}

.ps-form-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  border-top: 1px solid var(--border-color, #e2e8f0);
  padding-top: 10px;
}

.ps-checkbox-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--text-muted, #475569);
  cursor: pointer;
}

/* ==========================================================================
   Faculty Mentor Presentation Schedule Box
   ========================================================================== */

.mentor-schedule-box {
  background: linear-gradient(135deg, rgba(8, 126, 130, 0.08), rgba(24, 51, 79, 0.05));
  border: 1px solid rgba(8, 126, 130, 0.3);
  border-left: 4px solid #087e82;
  border-radius: 10px;
  padding: 12px 14px;
  margin: 12px 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.mentor-schedule-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.mentor-schedule-badge {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.8px;
  color: #087e82;
}

.mentor-schedule-details {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 12.5px;
  color: var(--text, #1e293b);
}

.mentor-venue-badge {
  background: #fef3c7;
  color: #78350f;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 12px;
}

.mentor-gmeet-btn {
  text-decoration: none;
}

.mentor-schedule-notes {
  width: 100%;
  color: var(--text-muted, #64748b);
  font-size: 11.5px;
}

/* ==========================================================================
   Student Dashboard Presentation Schedule Banner
   ========================================================================== */

.presentation-scheduled-banner {
  background: linear-gradient(135deg, rgba(8, 126, 130, 0.09), rgba(13, 148, 136, 0.04));
  border: 1px solid rgba(8, 126, 130, 0.35);
  border-left: 5px solid #087e82;
  border-radius: 14px;
  padding: 20px 22px;
  margin-bottom: 24px;
  box-shadow: 0 4px 18px rgba(8, 126, 130, 0.08);
}

.ps-banner-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(8, 126, 130, 0.18);
  margin-bottom: 14px;
}

.ps-banner-title {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ps-banner-kicker {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  color: #087e82;
}

.ps-banner-title h2 {
  margin: 0;
  font-size: 20px;
  color: var(--text, #0f172a);
}

.ps-banner-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
  align-items: center;
}

.ps-banner-stat {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.ps-banner-stat small {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: var(--text-muted, #64748b);
}

.ps-banner-stat b {
  font-size: 14px;
  color: var(--text, #0f172a);
}

.ps-banner-venue b {
  color: #b45309;
  background: #fef3c7;
  padding: 3px 8px;
  border-radius: 5px;
  width: fit-content;
}

.ps-join-btn {
  text-decoration: none;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.ps-banner-notes {
  margin-top: 14px;
  padding: 8px 12px;
  background: var(--surface, #ffffff);
  border: 1px solid var(--border-color, #e2e8f0);
  border-radius: 6px;
  font-size: 12.5px;
  color: var(--text-muted, #475569);
}

/* ==========================================================================
   Dark Theme Adjustments
   ========================================================================== */

[data-theme="dark"] .ps-header-info > summary,
body.dark-theme .ps-header-info > summary {
  border-color: rgba(94, 234, 212, 0.4);
  background: rgba(94, 234, 212, 0.1);
  color: #5eead4;
}

[data-theme="dark"] .ps-header-info > summary:hover,
[data-theme="dark"] .ps-header-info[open] > summary,
body.dark-theme .ps-header-info > summary:hover,
body.dark-theme .ps-header-info[open] > summary {
  background: #0d9488;
  color: #ffffff;
  border-color: #0d9488;
}

[data-theme="dark"] .ps-info-popover,
body.dark-theme .ps-info-popover {
  background: #1e293b;
  border-color: rgba(255, 255, 255, 0.12);
  color: #cbd5e1;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.45);
}

[data-theme="dark"] .ps-problem-accordion,
body.dark-theme .ps-problem-accordion {
  background: var(--surface, #1e293b);
  border-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .ps-problem-accordion[open],
body.dark-theme .ps-problem-accordion[open] {
  border-color: rgba(94, 234, 212, 0.35);
}

[data-theme="dark"] .ps-problem-summary,
body.dark-theme .ps-problem-summary {
  background: var(--surface, #1e293b);
}

[data-theme="dark"] .ps-problem-summary:hover,
body.dark-theme .ps-problem-summary:hover {
  background: rgba(255, 255, 255, 0.04);
}

[data-theme="dark"] .ps-problem-content,
body.dark-theme .ps-problem-content {
  border-top-color: rgba(255, 255, 255, 0.08);
  background: transparent;
}

[data-theme="dark"] .ps-problem-title,
body.dark-theme .ps-problem-title,
[data-theme="dark"] .ps-team-summary-name,
body.dark-theme .ps-team-summary-name {
  color: #f1f5f9;
}

[data-theme="dark"] .ps-team-summary-lead,
body.dark-theme .ps-team-summary-lead {
  color: #94a3b8;
}

[data-theme="dark"] .ps-team-accordion,
body.dark-theme .ps-team-accordion {
  background: transparent;
  border-top-color: rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] .ps-team-summary,
body.dark-theme .ps-team-summary {
  background: transparent;
}

[data-theme="dark"] .ps-team-summary:hover,
body.dark-theme .ps-team-summary:hover {
  background: rgba(255, 255, 255, 0.04);
}

[data-theme="dark"] .ps-team-body,
body.dark-theme .ps-team-body {
  background: rgba(15, 23, 42, 0.45);
  border-top-color: rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] .ps-schedule-form-wrapper,
body.dark-theme .ps-schedule-form-wrapper {
  background: rgba(15, 23, 42, 0.5);
  border-color: rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] .ps-form-header-badge,
body.dark-theme .ps-form-header-badge {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.12);
  color: #e2e8f0;
}

[data-theme="dark"] .ps-problem-group-card,
body.dark-theme .ps-problem-group-card,
[data-theme="dark"] .ps-team-schedule-card,
body.dark-theme .ps-team-schedule-card {
  background: var(--surface, #1e293b);
  border-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .ps-problem-header,
body.dark-theme .ps-problem-header {
  border-bottom-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .ps-code-title h3,
body.dark-theme .ps-code-title h3,
[data-theme="dark"] .ps-team-title-wrap h4,
body.dark-theme .ps-team-title-wrap h4 {
  color: #f1f5f9;
}

[data-theme="dark"] .ps-team-mentors-strip,
body.dark-theme .ps-team-mentors-strip,
[data-theme="dark"] .ps-ppt-files-box,
body.dark-theme .ps-ppt-files-box,
[data-theme="dark"] .ps-schedule-drawer,
body.dark-theme .ps-schedule-drawer {
  background: rgba(15, 23, 42, 0.6);
  border-color: rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] .ps-ppt-file-item,
body.dark-theme .ps-ppt-file-item {
  border-top-color: rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] .ps-form-grid input,
body.dark-theme .ps-form-grid input,
[data-theme="dark"] .ps-form-grid select,
body.dark-theme .ps-form-grid select {
  background: #0f172a;
  border-color: rgba(255, 255, 255, 0.15);
  color: #f8fafc;
}

[data-theme="dark"] .ps-meta-pill,
body.dark-theme .ps-meta-pill {
  background: rgba(255, 255, 255, 0.07);
  color: #cbd5e1;
}

[data-theme="dark"] .roster-tag,
body.dark-theme .roster-tag {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.1);
  color: #e2e8f0;
}

[data-theme="dark"] .presentation-scheduled-banner,
body.dark-theme .presentation-scheduled-banner {
  background: linear-gradient(135deg, rgba(8, 126, 130, 0.18), rgba(15, 23, 42, 0.8));
  border-color: rgba(8, 126, 130, 0.4);
}

[data-theme="dark"] .ps-banner-title h2,
body.dark-theme .ps-banner-title h2,
[data-theme="dark"] .ps-banner-stat b,
body.dark-theme .ps-banner-stat b {
  color: #f8fafc;
}

[data-theme="dark"] .ps-banner-venue b,
body.dark-theme .ps-banner-venue b {
  background: rgba(254, 240, 138, 0.2);
  color: #fef08a;
}

[data-theme="dark"] .ps-banner-notes,
body.dark-theme .ps-banner-notes {
  background: #0f172a;
  border-color: rgba(255, 255, 255, 0.1);
  color: #94a3b8;
}

[data-theme="dark"] .mentor-schedule-box,
body.dark-theme .mentor-schedule-box {
  background: linear-gradient(135deg, rgba(8, 126, 130, 0.15), rgba(15, 23, 42, 0.8));
  border-color: rgba(8, 126, 130, 0.4);
}

[data-theme="dark"] .mentor-venue-badge,
body.dark-theme .mentor-venue-badge {
  background: rgba(254, 240, 138, 0.2);
  color: #fef08a;
}

[data-theme="dark"] .mentor-schedule-details,
body.dark-theme .mentor-schedule-details {
  color: #f8fafc;
}

/* ==========================================================================
   Audience Publishing (All vs. Only for Registered Teams) & Live News Ticker
   ========================================================================== */

.publish-audience-box {
  margin-top: 14px;
  padding: 14px 16px;
  background: var(--surface-muted, #f8fafc);
  border: 1px solid var(--border-color, #e2e8f0);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.publish-audience-title {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: var(--text-muted, #475569);
}

.publish-two-buttons {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.publish-two-buttons .button {
  flex: 1 1 200px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 16px;
  font-size: 13px;
  font-weight: 700;
  border-radius: 8px;
  cursor: pointer;
  text-align: center;
  transition: all 0.2s ease;
}

.button-publish-all {
  background: linear-gradient(135deg, #087e82, #0d9488);
  color: #ffffff;
  border: none;
  box-shadow: 0 4px 14px rgba(8, 126, 130, 0.25);
}

.button-publish-all:hover {
  background: linear-gradient(135deg, #066568, #0b7c72);
  transform: translateY(-1px);
}

.button-publish-reg {
  background: linear-gradient(135deg, #1e293b, #334155);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 4px 14px rgba(30, 41, 59, 0.2);
}

.button-publish-reg:hover {
  background: linear-gradient(135deg, #0f172a, #1e293b);
  transform: translateY(-1px);
}

.audience-help-text {
  font-size: 11.5px;
  line-height: 1.5;
  color: var(--text-muted, #64748b);
  border-top: 1px dashed var(--border-color, #e2e8f0);
  padding-top: 8px;
  margin-top: 2px;
}

.date-visibility-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 6px;
}

.date-vis-badge {
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 3px 8px !important;
  border-radius: 999px !important;
}

/* ==========================================================================
   Important Dates & Announcements Card List (Student & Mentor Dashboards)
   ========================================================================== */

.important-dates-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 14px;
}

.important-date-card {
  background: var(--surface, #ffffff);
  border: 1px solid var(--border-color, #e2e8f0);
  border-radius: 12px;
  padding: 14px 18px;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.03);
  display: flex;
  flex-direction: column;
  gap: 6px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.important-date-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.06);
}

.date-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}

.date-badge-box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: var(--surface-muted, #f1f5f9);
  border-radius: 8px;
  font-size: 18px;
}

.date-card-title-wrap {
  flex: 1 1 200px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.date-card-title-wrap b {
  font-size: 14.5px;
  color: var(--text, #0f172a);
}

.date-time-tag {
  font-size: 12px;
  color: var(--text-muted, #64748b);
  font-weight: 500;
}

.date-details-text {
  font-size: 13px;
  color: var(--text, #334155);
  margin: 4px 0 0;
  line-height: 1.5;
  background: var(--surface-muted, #f8fafc);
  padding: 8px 12px;
  border-radius: 6px;
  border-left: 3px solid #087e82;
}

/* Dashboard & Mentor Live Headline Ticker */
.dashboard-headline-ticker,
.mentor-headline-ticker {
  margin: 10px auto 22px !important;
  max-width: 100% !important;
}

/* Dark mode overrides */
[data-theme="dark"] .publish-audience-box,
body.dark-theme .publish-audience-box {
  background: rgba(15, 23, 42, 0.7);
  border-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .audience-help-text,
body.dark-theme .audience-help-text {
  border-top-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .button-publish-reg,
body.dark-theme .button-publish-reg {
  background: linear-gradient(135deg, #0f172a, #1e293b);
  border-color: rgba(255, 255, 255, 0.2);
}

[data-theme="dark"] .important-date-card,
body.dark-theme .important-date-card {
  background: var(--surface, #1e293b);
  border-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .date-card-title-wrap b,
body.dark-theme .date-card-title-wrap b {
  color: #f1f5f9;
}

[data-theme="dark"] .date-details-text,
body.dark-theme .date-details-text {
  background: #0f172a;
  color: #cbd5e1;
  border-left-color: #087e82;
}

/* ==========================================================================
   PERFORMANCE & SMOOTH SCROLLING OPTIMIZATIONS
   ========================================================================== */
html {
  scroll-behavior: smooth !important;
  scroll-padding-top: 100px;
  -webkit-overflow-scrolling: touch;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Hardware accelerated smooth scrolling layers */
.problem-card,
.landing-news-card,
.timeline-milestone,
.step-card,
.tracker-phone {
  transform: translateZ(0);
  backface-visibility: hidden;
  will-change: transform;
}

/* Smooth 60fps scrolling optimizations */
.reveal, .problem-card, .landing-news-card, .journey-tracker { transform: translateZ(0); }

/* ==========================================================================
   CLEAN, SIMPLE, MODERN COUNTDOWN UI (HIGH-CONTRAST & MOBILE-PERFECT)
   ========================================================================== */
.landing-news-card {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  gap: 16px !important;
}

.landing-countdown-wrap {
  width: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 10px 16px 8px !important;
  border-radius: 16px !important;
  background: rgba(10, 24, 40, 0.88) !important;
  border: 1.5px solid rgba(86, 218, 196, 0.35) !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  box-sizing: border-box !important;
  margin-left: auto;
}

html[data-theme="light"] .landing-countdown-wrap {
  background: #ffffff !important;
  border: 1.5px solid rgba(12, 133, 126, 0.32) !important;
  box-shadow: 0 8px 24px rgba(24, 56, 84, 0.12), inset 0 1px 0 #ffffff !important;
}

.countdown-caption {
  font-size: 9px !important;
  font-weight: 850 !important;
  letter-spacing: 0.14em !important;
  color: var(--mint) !important;
  text-transform: uppercase !important;
  text-align: center !important;
  margin-bottom: 2px !important;
  display: block !important;
}

html[data-theme="light"] .countdown-caption {
  color: #0c857e !important;
}

.countdown-blocks {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  justify-content: center !important;
  width: 100% !important;
}

.countdown-block {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 4px !important;
  flex: 1 !important;
  min-width: 0 !important;
}

.countdown-card {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  padding: 4px 6px !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25) !important;
  min-width: 44px !important;
  width: 100% !important;
  height: 34px !important;
  box-sizing: border-box !important;
}

html[data-theme="light"] .countdown-card {
  background: #f0f6fa !important;
  border: 1.5px solid rgba(12, 133, 126, 0.22) !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04), 0 2px 6px rgba(24, 56, 84, 0.06) !important;
}

.countdown-block[data-countdown-part="seconds"] .countdown-card {
  border-color: rgba(86, 218, 196, 0.5) !important;
  box-shadow: 0 0 12px rgba(86, 218, 196, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
}

html[data-theme="light"] .countdown-block[data-countdown-part="seconds"] .countdown-card {
  border-color: rgba(12, 133, 126, 0.45) !important;
  background: #e6f6f4 !important;
  box-shadow: 0 0 12px rgba(12, 133, 126, 0.12), inset 0 1px 0 #ffffff !important;
}

.digit-box {
  position: relative !important;
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 14px !important;
  height: 24px !important;
  overflow: hidden !important;
}

.digit-active {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Sora', 'Plus Jakarta Sans', monospace !important;
  font-size: 16px !important;
  font-weight: 850 !important;
  color: #f3f8ff !important;
  line-height: 1 !important;
  pointer-events: none !important;
  user-select: none !important;
  opacity: 1 !important;
  transform: none !important;
}

html[data-theme="light"] .digit-active {
  color: #0b1e33 !important;
}

.countdown-sublabel {
  font-size: 8px !important;
  font-weight: 850 !important;
  letter-spacing: 0.09em !important;
  color: var(--theme-muted) !important;
  text-transform: uppercase !important;
  text-align: center !important;
}

html[data-theme="light"] .countdown-sublabel {
  color: #4b647d !important;
}

@media (max-width: 768px) {
  .landing-news-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
    padding: 18px 16px !important;
    text-align: left !important;
  }
  .landing-news-meta {
    justify-content: flex-start !important;
  }
  .landing-news-title-row {
    justify-content: space-between !important;
  }
  .landing-countdown-wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin: 4px 0 0 !important;
    padding: 10px 12px 8px !important;
    align-self: stretch !important;
  }
  .countdown-blocks {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 6px !important;
    width: 100% !important;
  }
  .countdown-card {
    min-width: 0 !important;
    width: 100% !important;
    height: 36px !important;
  }
  .digit-active {
    font-size: 17px !important;
  }
  .countdown-sublabel {
    font-size: 8px !important;
  }
}

@media (max-width: 480px) {
  .landing-news-card {
    padding: 15px 12px !important;
    gap: 12px !important;
  }
  .countdown-blocks {
    gap: 5px !important;
  }
  .countdown-card {
    height: 34px !important;
    padding: 2px 4px !important;
  }
  .digit-box {
    width: 13px !important;
    height: 24px !important;
  }
  .digit-active {
    font-size: 15.5px !important;
  }
  .countdown-sublabel {
    font-size: 7.5px !important;
  }
}

/* ==========================================================================
   PROBLEM STATEMENT CARDS: NO "PSID" WORD & SCROLLING TITLE MARQUEE
   ========================================================================== */
.problem-psid-label {
  display: none !important;
}

.problem-card-summary {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: space-between !important;
  gap: 10px !important;
  min-height: 122px !important;
  padding: 16px 18px !important;
  border-radius: 18px !important;
  cursor: pointer !important;
  position: relative !important;
  box-sizing: border-box !important;
}

.problem-card-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  gap: 8px !important;
}

/* Compact, clean PS badge without "PSID" label */
.problem-psid-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 4px 11px !important;
  border-radius: 999px !important;
  background: rgba(45, 212, 191, 0.14) !important;
  border: 1px solid rgba(45, 212, 191, 0.32) !important;
}

.problem-psid-badge .problem-psid-code {
  font-family: var(--display) !important;
  font-size: 13.5px !important;
  font-weight: 850 !important;
  color: var(--mint) !important;
  letter-spacing: 0.02em !important;
  text-shadow: none !important;
}

html[data-theme="light"] .problem-psid-badge {
  background: rgba(14, 165, 150, 0.12) !important;
  border-color: rgba(14, 165, 150, 0.28) !important;
}

html[data-theme="light"] .problem-psid-badge .problem-psid-code {
  color: #0d8276 !important;
}

/* Title Scroller with Fade Mask and Smooth Continuous Marquee */
/* Completely Visible Problem Statement Title (No Marquee/Ticker Scrolling) */
.problem-card-title-wrap {
  width: 100% !important;
  margin: 12px 0 14px !important;
  overflow: visible !important;
}

.problem-card-title {
  font-family: var(--display) !important;
  font-size: clamp(16px, 2.2vw, 19px) !important;
  font-weight: 750 !important;
  line-height: 1.38 !important;
  color: var(--theme-ink) !important;
  letter-spacing: -0.02em !important;
  margin: 0 !important;
  white-space: normal !important;
  word-break: break-word !important;
  display: block !important;
  overflow: visible !important;
}

html[data-theme="light"] .problem-card-title {
  color: #102638 !important;
}

.problem-card-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: 100% !important;
}

.problem-card-footer .problem-preview-hint {
  margin: 0 !important;
  font-size: 11.5px !important;
  color: var(--theme-muted) !important;
}

.problem-card-summary:hover .problem-preview-hint {
  color: var(--mint) !important;
}

.problem-card-summary:hover .problem-preview-hint i {
  transform: translate(2px, -2px);
  background: rgba(45, 212, 191, 0.18);
  border-color: var(--mint);
}

/* ==========================================================================
   4TH EDITION SVG GRAPHICS (MATCHING ITECH IDEATHON SVG ART STYLE)
   ========================================================================== */
.ideathon-logo-banner {
  position: relative !important;
}

.ideathon-logo-wrap {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

/* 4TH EDITION strictly centered horizontally directly below 2027 in the logo */
.ideathon-logo-banner {
  position: relative !important;
  padding-bottom: 38px !important;
  margin-bottom: 20px !important;
}

.edition-logo-graphic {
  position: absolute !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  bottom: -14px !important;
  z-index: 10 !important;
  width: 215px !important;
  height: 58px !important;
  pointer-events: auto !important;
  transition: transform 0.3s ease, filter 0.3s ease !important;
}

.edition-logo-graphic:hover {
  transform: translateX(-50%) scale(1.06) translateY(-2px) !important;
  filter: drop-shadow(0 4px 16px rgba(255, 51, 58, 0.55)) !important;
}

.edition-graphic-svg {
  width: 100%;
  height: 100%;
  overflow: visible;
  display: block;
}

.ed-ink-trace {
  stroke-linejoin: round;
  fill-opacity: 0;
  stroke-dasharray: 280;
  stroke-dashoffset: 280;
}

.ed-ink-num {
  fill: #0b0b0f;
  stroke: #0b0b0f;
  stroke-width: 1.8;
  animation: edInkDraw 2.4s cubic-bezier(0.6, 0, 0.3, 1) 0.15s forwards, edInkFill 0.8s ease 1.8s forwards;
}

html[data-theme="dark"] .ed-ink-num {
  fill: #ffffff !important;
  stroke: #ffffff !important;
}

.ed-accent-label {
  fill: #d80b0c;
  stroke: #d80b0c;
  stroke-width: 1.5;
  animation: edInkDraw 2.4s cubic-bezier(0.6, 0, 0.3, 1) 0.4s forwards, edInkFill 0.8s ease 1.9s forwards;
}

html[data-theme="dark"] .ed-accent-label {
  fill: #ff333a !important;
  stroke: #ff333a !important;
}

.ed-accent-slash {
  display: none !important;
}

html[data-theme="dark"] .ed-accent-slash {
  display: none !important;
}

@keyframes edInkDraw {
  to { stroke-dashoffset: 0; }
}

@keyframes edInkFill {
  to { fill-opacity: 1; stroke-width: 0; }
}

@media (max-width: 768px) {
  .ideathon-logo-banner {
    padding-bottom: 44px !important;
  }
  .edition-logo-graphic {
    left: 50% !important;
    right: auto !important;
    bottom: -20px !important;
    width: 210px !important;
    height: 54px !important;
    transform: translateX(-50%) !important;
  }
}

@media (max-width: 480px) {
  .ideathon-logo-banner {
    padding-bottom: 48px !important;
  }
  .edition-logo-graphic {
    left: 50% !important;
    right: auto !important;
    bottom: -22px !important;
    width: 175px !important;
    height: 44px !important;
    transform: translateX(-50%) !important;
  }
}

/* ==========================================================================
   LONG VERTICAL CIRCULAR-RECTANGLE FLOATING MENU BAR (LEFT-SIDE NAVIGATION DOCK)
   ========================================================================== */
.vertical-floating-menubar {
  position: fixed !important;
  left: 20px !important;
  top: 50% !important;
  transform: translateY(-50%) translateZ(0) !important;
  will-change: transform;
  z-index: 950 !important;
  pointer-events: auto !important;
  /* Hitbox buffer around dock so cursor never leaves container on hover */
  padding: 24px 32px 24px 16px !important;
  margin: -24px -32px -24px -16px !important;
  animation: menubarFadeIn 0.5s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.vertical-floating-menubar::before {
  content: "";
  position: absolute;
  inset: -12px -24px -12px -12px;
  z-index: -1;
  pointer-events: auto;
}

@keyframes menubarFadeIn {
  from { opacity: 0; transform: translateY(-50%) translateX(-15px); }
  to { opacity: 1; transform: translateY(-50%) translateX(0); }
}

/* The Long Vertical Oval Pill/Cylinder (Collapsed: Translucent Oval Pill; Expanded: Translucent Wide Oval Capsule) */
.menubar-pill-cylinder {
  pointer-events: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 18px 7px 14px !important;
  /* PERFECT OVAL SHAPE */
  border-radius: 999px !important;
  /* TRANSLUCENT FROSTED GLASS: Background clearly visible through the menubar when untouched */
  background: rgba(9, 21, 37, 0.38) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  border: 1.5px solid rgba(86, 218, 196, 0.3) !important;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 0 16px rgba(86, 218, 196, 0.1) !important;
  max-height: 86vh !important;
  width: 42px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  transition: width 0.32s cubic-bezier(0.2, 0.85, 0.25, 1), padding 0.32s ease, box-shadow 0.32s ease, background 0.3s ease !important;
  transform: translateZ(0);
}

/* On touch or explicit click, expand into a wide vertical OVAL with translucent glass */
.vertical-floating-menubar.is-touch-open .menubar-pill-cylinder {
  width: 330px !important;
  padding: 18px 14px 16px !important;
  /* PERFECT OVAL SHAPE */
  border-radius: 999px !important;
  align-items: stretch !important;
  max-height: 90vh !important;
  /* TRANSLUCENT GLASS WHEN OPENED/CLICKED */
  background: rgba(9, 21, 37, 0.78) !important;
  backdrop-filter: blur(28px) !important;
  -webkit-backdrop-filter: blur(28px) !important;
  border-color: rgba(86, 218, 196, 0.45) !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.52), 0 0 32px rgba(86, 218, 196, 0.22) !important;
}

/* Desktop Mouse Hover Only: ONLY triggers on devices with real hover/mouse, NEVER gets stuck on touch devices */
@media (hover: hover) and (pointer: fine) {
  .vertical-floating-menubar:hover .menubar-pill-cylinder,
  .menubar-pill-cylinder:hover {
    width: 330px !important;
    padding: 18px 14px 16px !important;
    /* PERFECT OVAL SHAPE */
    border-radius: 999px !important;
    align-items: stretch !important;
    max-height: 90vh !important;
    background: rgba(9, 21, 37, 0.78) !important;
    backdrop-filter: blur(28px) !important;
    -webkit-backdrop-filter: blur(28px) !important;
    border-color: rgba(86, 218, 196, 0.45) !important;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.52), 0 0 32px rgba(86, 218, 196, 0.22) !important;
  }
}

html[data-theme="light"] .menubar-pill-cylinder {
  background: rgba(255, 255, 255, 0.48) !important;
  border-color: rgba(12, 133, 126, 0.25) !important;
  box-shadow: 0 12px 36px rgba(24, 56, 84, 0.12), inset 0 1px 0 #ffffff !important;
}

html[data-theme="light"] .vertical-floating-menubar.is-touch-open .menubar-pill-cylinder {
  background: rgba(255, 255, 255, 0.76) !important;
  border-color: rgba(12, 133, 126, 0.38) !important;
  box-shadow: 0 20px 50px rgba(24, 56, 84, 0.18), inset 0 1px 0 #ffffff !important;
}

@media (hover: hover) and (pointer: fine) {
  html[data-theme="light"] .vertical-floating-menubar:hover .menubar-pill-cylinder,
  html[data-theme="light"] .menubar-pill-cylinder:hover {
    background: rgba(255, 255, 255, 0.76) !important;
    border-color: rgba(12, 133, 126, 0.38) !important;
    box-shadow: 0 20px 50px rgba(24, 56, 84, 0.18), inset 0 1px 0 #ffffff !important;
  }
}

/* Header inside the Oval - Centered */
.menubar-pill-header {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 2px 6px 4px !important;
  color: var(--mint) !important;
  cursor: pointer !important;
  width: 100% !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
  margin: 0 auto !important;
}

.menubar-kicker-icon {
  width: 18px !important;
  height: 18px !important;
  display: grid !important;
  place-items: center !important;
  font-size: 14px !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
  margin: 0 auto !important;
}

.vertical-floating-menubar.is-touch-open .menubar-kicker-icon {
  margin: 0 !important;
}

@media (hover: hover) and (pointer: fine) {
  .vertical-floating-menubar:hover .menubar-kicker-icon,
  .menubar-pill-cylinder:hover .menubar-kicker-icon {
    margin: 0 !important;
  }
}

.menubar-kicker-label {
  font-size: 9.5px !important;
  font-weight: 850 !important;
  letter-spacing: 0.15em !important;
  opacity: 0 !important;
  max-width: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  transition: opacity 0.25s ease, max-width 0.25s ease !important;
}

.vertical-floating-menubar.is-touch-open .menubar-kicker-label {
  opacity: 0.9 !important;
  max-width: 80px !important;
}

@media (hover: hover) and (pointer: fine) {
  .vertical-floating-menubar:hover .menubar-kicker-label,
  .menubar-pill-cylinder:hover .menubar-kicker-label {
    opacity: 0.9 !important;
    max-width: 80px !important;
  }
}

/* Links List inside Oval Menubar - Full Height with Smooth Dedicated Scroll & Clearance */
.menubar-pill-links {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 3px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  max-height: calc(88vh - 75px) !important;
  padding: 6px 12px 24px 12px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(86, 218, 196, 0.45) transparent !important;
}

/* Sleek, visible glassmorphic scrollbar */
.menubar-pill-links::-webkit-scrollbar {
  width: 5px !important;
  display: block !important;
}

.menubar-pill-links::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.04) !important;
  border-radius: 999px !important;
}

.menubar-pill-links::-webkit-scrollbar-thumb {
  background: rgba(86, 218, 196, 0.45) !important;
  border-radius: 999px !important;
}

.menubar-pill-links::-webkit-scrollbar-thumb:hover {
  background: var(--mint, #56dac4) !important;
}

/* Dedicated Bottom Footer Container for Scroll Top Button */
.menubar-pill-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  padding: 4px 0 0 !important;
  border-top: 1px solid rgba(86, 218, 196, 0.15) !important;
  flex-shrink: 0 !important;
}

/* Each Pill Item */
.menubar-pill-item {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  height: 22px !important;
  border-radius: 999px !important;
  color: var(--theme-muted) !important;
  text-decoration: none !important;
  transition: all 0.2s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
  border: 1px solid transparent !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
}

/* Collapsed: Dot is mathematically at the exact center */
.menubar-pill-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: rgba(128, 242, 207, 0.38) !important;
  transition: all 0.22s ease !important;
  flex-shrink: 0 !important;
  margin: 0 auto !important;
}

.menubar-pill-label {
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: var(--theme-muted) !important;
  max-width: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  transition: max-width 0.28s cubic-bezier(0.2, 0.85, 0.25, 1), opacity 0.22s ease !important;
}

/* Expanded state: compact row height so all 18+ items fit comfortably */
.vertical-floating-menubar.is-touch-open .menubar-pill-item {
  justify-content: flex-start !important;
  gap: 9px !important;
  height: auto !important;
  min-height: 25px !important;
  padding: 4px 10px !important;
}

.vertical-floating-menubar.is-touch-open .menubar-pill-dot {
  margin: 0 !important;
}

.vertical-floating-menubar.is-touch-open .menubar-pill-label {
  max-width: 280px !important;
  opacity: 1 !important;
}

@media (hover: hover) and (pointer: fine) {
  .vertical-floating-menubar:hover .menubar-pill-item,
  .menubar-pill-cylinder:hover .menubar-pill-item {
    justify-content: flex-start !important;
    gap: 9px !important;
    height: auto !important;
    min-height: 25px !important;
    padding: 4px 10px !important;
  }

  .vertical-floating-menubar:hover .menubar-pill-dot,
  .menubar-pill-cylinder:hover .menubar-pill-dot {
    margin: 0 !important;
  }

  .vertical-floating-menubar:hover .menubar-pill-label,
  .menubar-pill-cylinder:hover .menubar-pill-label {
    max-width: 280px !important;
    opacity: 1 !important;
  }

  .menubar-pill-item:hover {
    background: rgba(128, 242, 207, 0.12) !important;
    color: var(--theme-ink) !important;
    transform: translateX(3px) !important;
  }

  .menubar-pill-item:hover .menubar-pill-dot {
    background: var(--mint) !important;
    transform: scale(1.3) !important;
    box-shadow: 0 0 8px var(--mint) !important;
  }

  .menubar-scroll-top:hover {
    transform: translateY(-2px) !important;
    background: rgba(128, 242, 207, 0.2) !important;
  }
}
    background: var(--mint) !important;
    transform: scale(1.3) !important;
    box-shadow: 0 0 8px var(--mint) !important;
  }

  .menubar-scroll-top:hover {
    transform: translateY(-2px) !important;
    background: rgba(128, 242, 207, 0.2) !important;
  }
}

.menubar-pill-item.is-active {
  background: rgba(45, 212, 191, 0.18) !important;
  border-color: rgba(45, 212, 191, 0.38) !important;
  color: var(--mint) !important;
}

.menubar-pill-item.is-active .menubar-pill-dot {
  background: var(--mint) !important;
  box-shadow: 0 0 10px var(--mint), 0 0 0 2px rgba(104, 232, 195, 0.35) !important;
  transform: scale(1.35) !important;
}

.menubar-pill-item.is-active .menubar-pill-label {
  color: var(--mint) !important;
  font-weight: 800 !important;
}

/* Scroll to top button in oval - Centered at bottom with fixed placement */
.menubar-scroll-top {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  border: 1px solid var(--theme-line) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: var(--mint) !important;
  display: grid !important;
  place-items: center !important;
  font-size: 13px !important;
  font-weight: bold !important;
  cursor: pointer !important;
  transition: transform 0.2s ease, background 0.2s ease !important;
  margin: 4px auto 2px !important;
  flex-shrink: 0 !important;
  outline: none !important;
  align-self: center !important;
}

/* Override class to forcefully collapse menubar when scroll-to-top or a function is triggered */
.vertical-floating-menubar.is-collapsed-override .menubar-pill-cylinder {
  width: 42px !important;
  padding: 18px 7px 14px !important;
  align-items: center !important;
  pointer-events: none !important;
}

@media (max-width: 650px) {
  .vertical-floating-menubar.is-collapsed-override .menubar-pill-cylinder {
    width: 38px !important;
    padding: 14px 6px 12px !important;
    align-items: center !important;
  }
}

.vertical-floating-menubar.is-collapsed-override .menubar-pill-item {
  justify-content: center !important;
  gap: 0 !important;
  height: 22px !important;
  padding: 0 !important;
}

.vertical-floating-menubar.is-collapsed-override .menubar-pill-dot {
  margin: 0 auto !important;
}

.vertical-floating-menubar.is-collapsed-override .menubar-pill-label,
.vertical-floating-menubar.is-collapsed-override .menubar-kicker-label {
  max-width: 0 !important;
  opacity: 0 !important;
}

@media (max-width: 900px) {
  .vertical-floating-menubar {
    left: 8px !important;
    transform: translateY(-50%) translateZ(0) scale(0.9) !important;
  }
}

/* Mobile responsive menubar: Visible, translucent untouched, translucent clicked */
@media (max-width: 650px) {
  .vertical-floating-menubar {
    display: block !important;
    left: 8px !important;
    top: 50% !important;
    transform: translateY(-50%) translateZ(0) !important;
    will-change: transform;
    z-index: 1050 !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .menubar-pill-cylinder {
    width: 38px !important;
    padding: 14px 6px 12px !important;
    max-height: 78vh !important;
    background: rgba(9, 21, 37, 0.38) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-radius: 999px !important;
  }
  html[data-theme="light"] .menubar-pill-cylinder {
    background: rgba(255, 255, 255, 0.48) !important;
  }
  .vertical-floating-menubar.is-touch-open .menubar-pill-cylinder {
    width: min(300px, calc(100vw - 20px)) !important;
    max-height: 82vh !important;
    padding: 16px 12px 14px !important;
    border-radius: 999px !important;
    background: rgba(9, 21, 37, 0.72) !important;
    backdrop-filter: blur(24px) !important;
    -webkit-backdrop-filter: blur(24px) !important;
  }
  html[data-theme="light"] .vertical-floating-menubar.is-touch-open .menubar-pill-cylinder {
    background: rgba(255, 255, 255, 0.8) !important;
  }
  .vertical-floating-menubar.is-touch-open .menubar-pill-label,
  .vertical-floating-menubar.is-touch-open .menubar-kicker-label {
    max-width: 230px !important;
    opacity: 1 !important;
  }
  .vertical-floating-menubar.is-touch-open .menubar-kicker-icon {
    margin: 0 !important;
  }
}

/* Hardware-Accelerated Smooth Compositing Layers */
.topbar {
  transform: translateZ(0);
  will-change: transform;
}

.landing-live-strip {
  transform: translateZ(0);
  contain: paint layout;
}

.problem-card {
  transform: translateZ(0);
}

/* ==========================================================================
   INTEGRATED JOURNEY TRACKER & FILMSTRIP TIMELINE SECTION
   ========================================================================== */
.journey-tracker {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 28px !important;
  margin: 56px auto 18px !important;
  padding: clamp(28px, 4vw, 54px) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 34px !important;
  background: radial-gradient(ellipse at 75% 20%, rgba(52, 146, 177, 0.28), transparent 42%), radial-gradient(ellipse at 12% 90%, rgba(88, 104, 182, 0.23), transparent 44%), linear-gradient(140deg, #0c1b2d, #11263b 55%, #101c30) !important;
  box-shadow: 0 30px 90px rgba(14, 34, 57, 0.22) !important;
  color: #f2f8ff !important;
}

html[data-theme="light"] .journey-tracker {
  background: radial-gradient(ellipse at 75% 20%, rgba(18, 143, 151, 0.12), transparent 42%), radial-gradient(ellipse at 12% 90%, rgba(99, 102, 241, 0.08), transparent 44%), linear-gradient(140deg, #f0f7fb, #e4eff8 55%, #edf5fc) !important;
  border-color: rgba(18, 143, 151, 0.22) !important;
  box-shadow: 0 24px 60px rgba(18, 62, 95, 0.1) !important;
  color: var(--theme-ink) !important;
}

.tracker-intro-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  flex-wrap: wrap;
}

.tracker-intro-copy .eyebrow {
  color: #8de4d6;
}

.tracker-intro-copy h2 {
  margin: 14px 0 10px;
  color: #f3f8ff;
  font: 760 clamp(32px, 4.4vw, 54px)/1.04 var(--display);
  letter-spacing: -0.06em;
}

.tracker-intro-copy h2 em {
  color: #71e0ca;
  font-style: normal;
}

.tracker-intro-copy p {
  max-width: 440px;
  color: #b5c7d9;
  font-size: 16px;
  line-height: 1.6;
  margin: 0;
}

html[data-theme="light"] .tracker-intro-copy h2 {
  color: var(--theme-ink);
}

html[data-theme="light"] .tracker-intro-copy p {
  color: var(--theme-muted);
}

.timeline-toolbar-inline {
  display: flex;
  align-items: center;
  gap: 16px;
  color: #d7e7f6;
  font-size: 13px;
  font-weight: 750;
  flex-wrap: wrap;
}

.timeline-toolbar-inline span {
  display: flex;
  align-items: center;
  gap: 8px;
}

.timeline-toolbar-inline span i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #3bc8ae;
  box-shadow: 0 0 12px rgba(59, 200, 174, 0.8);
}

.timeline-toolbar-inline small {
  color: #9bb5cc;
  font-size: 11px;
  font-weight: 500;
  margin-left: 4px;
}

html[data-theme="light"] .timeline-toolbar-inline {
  color: var(--theme-ink);
}

html[data-theme="light"] .timeline-toolbar-inline small {
  color: var(--theme-muted);
}

.timeline-nav-buttons {
  display: flex;
  gap: 8px;
}

.journey-tracker .timeline-sequence {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  scroll-behavior: smooth !important;
  scrollbar-width: thin !important;
  scrollbar-color: var(--mint) rgba(255, 255, 255, 0.1) !important;
  cursor: grab;
  user-select: none;
  padding: 24px 6px 20px !important;
  margin: 12px 0 0 0 !important;
  touch-action: pan-x !important;
  position: relative !important;
}

.journey-tracker .timeline-sequence.is-dragging {
  cursor: grabbing !important;
  scroll-behavior: auto !important;
}

.journey-tracker .timeline-sequence::-webkit-scrollbar {
  height: 8px !important;
}

.journey-tracker .timeline-sequence::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.06) !important;
  border-radius: 999px !important;
}

.journey-tracker .timeline-sequence::-webkit-scrollbar-thumb {
  background: var(--mint) !important;
  border-radius: 999px !important;
}

.journey-tracker .timeline-sequence::before {
  content: "" !important;
  position: absolute !important;
  top: 54px !important;
  left: 20px !important;
  width: 3600px !important;
  height: 2px !important;
  background: linear-gradient(90deg, #52d5d3, #ae88e6 46%, #f4b74e) !important;
  box-shadow: 0 0 14px rgba(81, 197, 202, 0.5) !important;
  transform: none !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

.journey-tracker .timeline-milestone {
  flex: 0 0 clamp(220px, 24vw, 270px) !important;
  min-width: clamp(220px, 24vw, 270px) !important;
  max-width: clamp(220px, 24vw, 270px) !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  padding-top: 48px !important;
  scroll-snap-align: start !important;
}

.journey-tracker .timeline-values {
  margin-top: 10px;
  border-color: rgba(255, 255, 255, 0.12);
  color: #d7e7f6;
}

.journey-tracker .timeline-values > i {
  background: rgba(255, 255, 255, 0.15);
}

html[data-theme="light"] .journey-tracker .timeline-values {
  border-color: var(--line);
  color: var(--theme-ink);
}

html[data-theme="light"] .journey-tracker .timeline-values > i {
  background: var(--line);
}

/* ==========================================================================
   PROBLEM PREVIEW DIALOG: TOP-RIGHT BADGES & BACKGROUND SCROLL LOCK
   ========================================================================== */
body.dialog-open {
  overflow: hidden !important;
  overscroll-behavior: contain !important;
}

.problem-preview-dialog {
  overscroll-behavior: contain !important;
}

.problem-preview-dialog-top {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  padding: 16px 22px 12px !important;
  border-bottom: 1px solid rgba(45, 171, 157, 0.16) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 30 !important;
  background: #0d2033 !important;
  transform: translateZ(0) !important;
}

html[data-theme="light"] .problem-preview-dialog-top {
  background: rgba(255, 255, 255, 0.98) !important;
  border-bottom-color: rgba(12, 133, 126, 0.16) !important;
}

.problem-preview-dialog-count {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  display: inline-flex !important;
  align-items: center !important;
}

.problem-preview-dialog-count[hidden] {
  display: none !important;
}

.problem-preview-dialog-count .problem-team-count {
  margin: 0 !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 5px 12px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
}

.problem-preview-dialog-shell {
  max-height: calc(88dvh - 75px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
  touch-action: pan-y !important;
  scroll-behavior: smooth !important;
  transform: translateZ(0) !important;
  padding: 22px 26px 34px !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(45, 212, 191, 0.45) rgba(255, 255, 255, 0.04) !important;
}

/* Ensure problem-team-count in the problem card is at the top right and never splits lines */
.problem-card-header .problem-team-count {
  margin: 0 !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  flex-shrink: 0 !important;
}

.problem-card-header .problem-team-count strong {
  font-size: 12px !important;
  font-weight: 850 !important;
}

.problem-card-header .problem-team-count small {
  font-size: 10.5px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

/* Brand and College Logo Sign-Out Button Styling */
button.header-home-logo-btn {
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  color: inherit !important;
}

button.header-home-logo-btn:hover {
  filter: brightness(1.08) !important;
}

button.header-home-logo-btn:focus-visible {
  outline: 3px solid var(--mint) !important;
  outline-offset: 4px !important;
  border-radius: 12px !important;
}

/* Topbar Layout Alignment: Brand on Left, User & Controls on Right */
.topbar {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 18px !important;
}

.topbar .brand-logout-form,
.topbar > .brand {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 auto 0 0 !important;
  margin-right: auto !important;
  margin-left: 0 !important;
  flex: 0 0 auto !important;
}

.topbar .topnav {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin-left: auto !important;
  flex: 0 0 auto !important;
}

.topbar .theme-toggle {
  margin-left: 0 !important;
  flex-shrink: 0 !important;
}



/* ==========================================================================
   PRINCIPAL ANALYTICS: FACULTY MENTORS & INTERDISCIPLINARY TELEMETRY
   ========================================================================== */
.dept-mentor-bars-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 14px;
}

.dept-mentor-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 8px 12px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.05);
  transition: background 0.2s ease, transform 0.2s ease;
}

.dept-mentor-row:hover {
  background: rgba(128, 242, 207, 0.06);
  transform: translateX(3px);
}

.dept-mentor-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.dept-mentor-name-col {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-width: 0;
}

.dept-mentor-name-col strong {
  font-size: 13.5px;
  color: var(--theme-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dept-mentor-name-col small {
  font-size: 11px;
  color: var(--theme-muted);
}

.dept-mentor-stat-badge {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  flex-shrink: 0;
}

.dept-mentor-stat-badge.has-mentors {
  background: rgba(16, 185, 129, 0.14);
  color: #10b981;
  border: 1px solid rgba(16, 185, 129, 0.28);
}

.dept-mentor-stat-badge.no-mentors {
  background: rgba(255, 255, 255, 0.05);
  color: var(--theme-muted);
  border: 1px solid var(--theme-line);
}

.dept-mentor-stat-badge b {
  font-size: 13.5px;
  font-weight: 800;
}

.dept-mentor-stat-badge small {
  font-size: 10px;
  opacity: 0.85;
}

.mentor-bar-fill {
  background: linear-gradient(90deg, #10b981, #06b6d4) !important;
  box-shadow: 0 0 12px rgba(16, 185, 129, 0.35);
}

/* Mentor KPI Subgrid */
.mentor-kpi-subgrid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin-top: 14px;
}

.mentor-metric-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--theme-line);
}

.mentor-metric-card .metric-icon {
  font-size: 24px;
  line-height: 1;
}

.mentor-metric-card .metric-label {
  display: block;
  font-size: 10.5px;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--theme-muted);
}

.mentor-metric-card b {
  display: block;
  font-size: 20px;
  font-family: var(--display);
  font-weight: 800;
  color: var(--theme-ink);
  line-height: 1.15;
}

.mentor-metric-card small {
  font-size: 11px;
  color: var(--theme-muted);
}

.mentorship-callout-box {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-top: 20px;
  padding: 16px 18px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(128, 242, 207, 0.08), rgba(2, 132, 199, 0.06));
  border: 1px solid rgba(128, 242, 207, 0.22);
}

.mentorship-callout-box .callout-glyph {
  font-size: 22px;
  line-height: 1;
}

.mentorship-callout-box b {
  display: block;
  font-size: 13.5px;
  font-weight: 750;
  color: var(--mint);
  margin-bottom: 4px;
}

.mentorship-callout-box p {
  margin: 0;
  font-size: 12px;
  line-height: 1.6;
  color: var(--theme-muted);
}

/* Interdisciplinary Collaboration Layout */
.interdisc-layout {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 16px;
}

.interdisc-stat-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

.interdisc-col {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid var(--theme-line);
  background: rgba(255, 255, 255, 0.03);
}

.interdisc-col.is-multi {
  border-color: rgba(16, 185, 129, 0.28);
  background: rgba(16, 185, 129, 0.06);
}

.interdisc-col.is-single {
  border-color: rgba(2, 132, 199, 0.28);
  background: rgba(2, 132, 199, 0.06);
}

.badge-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-top: 5px;
  flex-shrink: 0;
}

.dot-mint {
  background: #10b981;
  box-shadow: 0 0 10px #10b981;
}

.dot-blue {
  background: #0284c7;
  box-shadow: 0 0 10px #0284c7;
}

.interdisc-col small {
  display: block;
  font-size: 9.5px;
  font-weight: 750;
  letter-spacing: 0.1em;
  color: var(--theme-muted);
}

.interdisc-col b {
  display: block;
  font-size: 24px;
  font-family: var(--display);
  font-weight: 800;
  color: var(--theme-ink);
  line-height: 1.15;
}

.interdisc-col span {
  font-size: 11px;
  color: var(--theme-muted);
}

.interdisc-dual-bar {
  display: flex;
  width: 100%;
  height: 14px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.08);
}

.bar-part-multi {
  background: linear-gradient(90deg, #10b981, #06b6d4);
  transition: width 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.bar-part-single {
  background: linear-gradient(90deg, #0284c7, #3b82f6);
  transition: width 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.bar-sub-legend {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11.5px;
  font-weight: 700;
  color: var(--theme-muted);
}

/* Submission Readiness Metrics Grid */
.readiness-metrics-grid {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 14px;
}

.readiness-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--theme-line);
}

.readiness-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.readiness-top span {
  font-size: 13px;
  font-weight: 600;
  color: var(--theme-ink);
}

.readiness-top b {
  font-size: 15px;
  font-weight: 800;
  color: var(--mint);
}

.readiness-top b small {
  font-size: 11px;
  font-weight: 600;
  color: var(--theme-muted);
}

.readiness-hint {
  font-size: 10.5px;
  color: var(--theme-muted);
}

.analytics-bar-fill.fill-green {
  background: linear-gradient(90deg, #10b981, #34d399) !important;
}

.analytics-bar-fill.fill-amber {
  background: linear-gradient(90deg, #f59e0b, #fbbf24) !important;
}

@media (max-width: 768px) {
  .mentor-kpi-subgrid,
  .interdisc-stat-row {
    grid-template-columns: 1fr;
  }
}

/* Professional Micro-Badges & Tags (Zero Emojis) */
.kpi-text-badge {
  display: inline-block;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.12em;
  padding: 3px 8px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.08);
  color: var(--theme-muted);
  border: 1px solid var(--theme-line);
}

.metric-tag-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: 6px;
  background: rgba(128, 242, 207, 0.12);
  color: var(--mint);
  border: 1px solid rgba(128, 242, 207, 0.28);
  flex-shrink: 0;
}

.callout-tag {
  display: inline-block;
  font-size: 9.5px;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: 6px;
  background: rgba(128, 242, 207, 0.16);
  color: var(--mint);
  border: 1px solid rgba(128, 242, 207, 0.32);
}

.status-dot-green {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 8px #10b981;
  margin-right: 5px;
  vertical-align: middle;
}

/* Interdisciplinary Collaboration Diversity (3 columns: 2-Dept, 3-Dept, 4-Dept) */
.interdisc-tri-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 12px !important;
}

.interdisc-col.is-tri {
  border-color: rgba(2, 132, 199, 0.28);
  background: rgba(2, 132, 199, 0.06);
}

.interdisc-col.is-quad {
  border-color: rgba(245, 158, 11, 0.28);
  background: rgba(245, 158, 11, 0.06);
}

.dot-amber {
  background: #f59e0b;
  box-shadow: 0 0 10px #f59e0b;
}

.bar-part-quad {
  background: linear-gradient(90deg, #f59e0b, #fbbf24);
  transition: width 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
}

@media (max-width: 900px) {
  .interdisc-tri-row {
    grid-template-columns: 1fr !important;
  }
}

/* ==========================================================================
   FACULTY MENTORSHIP TELEMETRY PANEL (BALANCE & PIPELINE)
   ========================================================================== */
.mentor-telemetry-panel {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 18px;
  padding: 16px 18px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--theme-line);
}

.telemetry-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--theme-line);
}

.telemetry-panel-eyebrow {
  display: block;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mint);
  margin-bottom: 3px;
}

.telemetry-panel-title {
  margin: 0;
  font-size: 13.5px;
  font-weight: 750;
  color: var(--theme-ink);
}

.telemetry-status-badge {
  font-size: 11px;
  font-weight: 750;
  padding: 3px 10px;
  border-radius: 999px;
  background: rgba(16, 185, 129, 0.14);
  color: #10b981;
  border: 1px solid rgba(16, 185, 129, 0.28);
  white-space: nowrap;
}

.advisory-allocation-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.advisory-alloc-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.alloc-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.alloc-pill {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.08em;
  padding: 3px 7px;
  border-radius: 5px;
  text-transform: uppercase;
}

.alloc-pill-dual {
  background: rgba(16, 185, 129, 0.15);
  color: #10b981;
  border: 1px solid rgba(16, 185, 129, 0.3);
}

.alloc-pill-single {
  background: rgba(2, 132, 199, 0.15);
  color: #38bdf8;
  border: 1px solid rgba(2, 132, 199, 0.3);
}

.alloc-card-top b {
  font-size: 15px;
  font-weight: 800;
  color: var(--theme-ink);
}

.alloc-card-top b small {
  font-size: 11px;
  font-weight: 500;
  color: var(--theme-muted);
}

.alloc-caption {
  font-size: 10.5px;
  color: var(--theme-muted);
}

.mentor-milestone-strip {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-top: 10px;
  border-top: 1px solid var(--theme-line);
}

.milestone-strip-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.strip-label {
  font-size: 10.5px;
  font-weight: 650;
  color: var(--theme-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.strip-value-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.strip-value-row b {
  font-size: 13.5px;
  font-weight: 750;
  color: var(--theme-ink);
}

.strip-pct {
  font-size: 12px;
  font-weight: 750;
  color: #06b6d4;
}

.strip-pills-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 2px;
}

.status-micro-chip {
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--theme-line);
  color: var(--theme-muted);
}

.status-micro-chip strong {
  color: var(--theme-ink);
  font-weight: 800;
  margin-left: 3px;
}

.chip-approved strong {
  color: #10b981;
}

.chip-pending strong {
  color: #f59e0b;
}

.chip-updates strong {
  color: #38bdf8;
}

.analytics-bar-fill.fill-teal {
  background: linear-gradient(90deg, #06b6d4, #14b8a6) !important;
}

html[data-theme="light"] .mentor-telemetry-panel,
html[data-theme="light"] .advisory-alloc-card {
  background: rgba(255, 255, 255, 0.88);
  border-color: rgba(45, 72, 102, 0.14);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}

html[data-theme="light"] .status-micro-chip {
  background: rgba(240, 245, 250, 0.95);
  border-color: rgba(45, 72, 102, 0.16);
}

@media (max-width: 640px) {
  .advisory-allocation-grid {
    grid-template-columns: 1fr;
  }
}


/* ==========================================================================
   MOBILE & TABLET RESPONSIVENESS: ZERO-CLIPPING ANALYTICS & DOCK CLEARANCE
   ========================================================================== */
html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

@media (max-width: 768px) {
  /* Dedicated clearance for left floating menubar */
  body.has-menubar-dock .page-shell {
    width: 100% !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
    padding-left: 48px !important;
    padding-right: 12px !important;
    padding-top: 16px !important;
    padding-bottom: 60px !important;
    margin: 0 !important;
  }

  /* Floating vertical menubar geometry on mobile */
  .vertical-floating-menubar {
    display: block !important;
    left: 6px !important;
    top: 50% !important;
    transform: translateY(-50%) translateZ(0) !important;
    will-change: transform;
    z-index: 1050 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .menubar-pill-cylinder {
    width: 36px !important;
    padding: 14px 4px 12px !important;
    max-height: 80vh !important;
    background: rgba(9, 21, 37, 0.42) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border-radius: 999px !important;
    border: 1.5px solid rgba(86, 218, 196, 0.3) !important;
  }

  html[data-theme="light"] .menubar-pill-cylinder {
    background: rgba(255, 255, 255, 0.55) !important;
    border: 1.5px solid rgba(12, 133, 126, 0.28) !important;
  }

  .vertical-floating-menubar.is-touch-open .menubar-pill-cylinder {
    width: min(290px, calc(100vw - 16px)) !important;
    max-height: 84vh !important;
    padding: 20px 14px 16px !important;
    border-radius: 999px !important;
    background: rgba(9, 21, 37, 0.82) !important;
    backdrop-filter: blur(24px) !important;
    -webkit-backdrop-filter: blur(24px) !important;
  }

  html[data-theme="light"] .vertical-floating-menubar.is-touch-open .menubar-pill-cylinder {
    background: rgba(255, 255, 255, 0.88) !important;
  }

  /* Dual Grid & Card Containers (Zero Horizontal Overflow) */
  .analytics-dual-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .analytics-dual-grid > * {
    min-width: 0 !important;
  }

  .analytics-card-frame {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: 16px 14px !important;
    border-radius: 18px !important;
    overflow: hidden !important;
  }

  .card-frame-heading {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .card-frame-heading .eyebrow {
    white-space: normal !important;
    word-break: break-word !important;
    line-height: 1.35 !important;
  }

  .card-frame-heading h3 {
    font-size: 18px !important;
    line-height: 1.25 !important;
    word-break: break-word !important;
  }

  .frame-subtext {
    font-size: 11.5px !important;
    line-height: 1.45 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }

  .pill-badge {
    align-self: flex-start !important;
    font-size: 10px !important;
    padding: 3px 8px !important;
  }

  /* Card 1: Faculty Mentors by Department */
  .dept-mentor-bars-list {
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .dept-mentor-row {
    padding: 8px 10px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
    border-radius: 12px !important;
  }

  .dept-mentor-info {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .dept-initial-avatar {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    font-size: 9.5px !important;
    border-radius: 8px !important;
    flex-shrink: 0 !important;
  }

  .dept-mentor-name-col {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
  }

  .dept-mentor-name-col strong {
    display: block !important;
    white-space: normal !important;
    font-size: 12.5px !important;
    line-height: 1.3 !important;
    word-break: break-word !important;
    overflow: visible !important;
  }

  .dept-mentor-name-col small {
    display: block !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    color: var(--theme-muted) !important;
    margin-top: 2px !important;
  }

  .dept-mentor-stat-badge {
    flex-shrink: 0 !important;
    padding: 3px 8px !important;
    font-size: 10.5px !important;
    white-space: nowrap !important;
    border-radius: 999px !important;
  }

  /* Card 2: Mentorship Capacity, Advisory Pipeline & Telemetry */
  .mentor-kpi-subgrid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .mentor-metric-card {
    padding: 10px 12px !important;
    gap: 10px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
  }

  .mentor-metric-card b {
    font-size: 18px !important;
  }

  .mentor-metric-card small {
    font-size: 10px !important;
    line-height: 1.25 !important;
    word-break: break-word !important;
  }

  .mentorship-callout-box {
    padding: 12px 12px !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
  }

  .mentorship-callout-box b {
    font-size: 13px !important;
  }

  .mentorship-callout-box p {
    font-size: 11.5px !important;
    line-height: 1.55 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }

  .mentor-telemetry-panel {
    padding: 12px 10px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
    margin-top: 14px !important;
  }

  .telemetry-panel-header {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding-bottom: 8px !important;
  }

  .telemetry-panel-eyebrow {
    font-size: 9px !important;
    line-height: 1.3 !important;
    word-break: break-word !important;
  }

  .telemetry-panel-title {
    font-size: 13.5px !important;
    line-height: 1.3 !important;
  }

  .telemetry-status-badge {
    align-self: flex-start !important;
    white-space: normal !important;
    word-break: break-word !important;
    font-size: 10.5px !important;
    padding: 3px 9px !important;
  }

  .advisory-allocation-grid {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .advisory-alloc-card {
    padding: 10px 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
  }

  .mentor-milestone-strip {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .milestone-strip-item {
    width: 100% !important;
    min-width: 0 !important;
  }

  .strip-value-row {
    width: 100% !important;
  }

  .strip-pills-row {
    gap: 6px !important;
    width: 100% !important;
  }

  .status-micro-chip {
    font-size: 10px !important;
    padding: 3px 7px !important;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  body.has-menubar-dock .page-shell {
    padding-left: 54px !important;
    padding-right: 18px !important;
  }
}

/* ==========================================================================
   ADMIN PORTAL MOBILE POLISH: PS UPDATE BANNER, BACKEND AUDIT & TEAM FILTERS
   ========================================================================== */

/* 1. PS Mode Banner (Update / Create New Mode) */
.ps-mode-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 20px;
  border-radius: 18px;
  margin-bottom: 20px;
  transition: all 0.25s ease;
  width: 100%;
  box-sizing: border-box;
}

.ps-mode-content {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  flex: 1 1 auto;
  min-width: 0;
}

.ps-mode-text-wrap {
  flex: 1 1 auto;
  min-width: 0;
}

.ps-mode-text-wrap b {
  display: block;
  font-size: 14.5px;
  font-weight: 750;
  color: var(--theme-ink);
  line-height: 1.35;
  margin-bottom: 4px;
}

.ps-mode-notice-lead {
  display: block;
  font-size: 12px;
  color: var(--theme-muted);
  line-height: 1.45;
}

.ps-mode-existing-title {
  display: block;
  margin: 6px 0 6px;
  padding: 8px 12px;
  border-radius: 10px;
  background: rgba(245, 158, 11, 0.12);
  border: 1px solid rgba(245, 158, 11, 0.32);
  color: var(--theme-ink);
  font-size: 13.5px;
  font-weight: 750;
  line-height: 1.45;
  word-break: break-word;
}

html[data-theme="light"] .ps-mode-existing-title {
  background: #fff8eb;
  border-color: #fbd38d;
  color: #744210;
}

.ps-mode-subnote {
  display: block;
  font-size: 12px;
  color: var(--theme-muted);
  line-height: 1.5;
  margin-top: 4px;
}

.ps-mode-actions {
  flex-shrink: 0;
}

/* 2. Backend Delivery & Verification Banner */
.backend-audit-banner {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 18px 22px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(8, 126, 130, 0.09), rgba(8, 126, 130, 0.02));
  border: 1px solid rgba(8, 126, 130, 0.25);
  margin-bottom: 22px;
  width: 100%;
  box-sizing: border-box;
}

.audit-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.audit-lead {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1 1 auto;
  min-width: 0;
}

.audit-lead .audit-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  min-width: 36px;
  border-radius: 10px;
  background: rgba(16, 185, 129, 0.15);
  color: #10b981;
  border: 1px solid rgba(16, 185, 129, 0.3);
  flex-shrink: 0;
}

.audit-lead b {
  font-size: 14.5px;
  font-weight: 750;
  color: var(--theme-ink);
  line-height: 1.35;
  margin: 0;
}

.audit-description {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--theme-muted);
}

.audit-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(16, 185, 129, 0.14);
  border: 1px solid rgba(16, 185, 129, 0.35);
  color: #10b981;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  flex-shrink: 0;
}

/* 3. Team Directory Actions & Filter Bar (Desktop Default) */
.admin-directory-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.admin-team-filter-bar {
  display: grid;
  grid-template-columns: minmax(220px, 2fr) repeat(3, minmax(140px, 1fr)) auto;
  align-items: end;
  gap: 12px;
  margin: 0 0 30px;
  padding: 18px 20px;
  border: 1px solid var(--theme-line);
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.045));
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-sizing: border-box;
  width: 100%;
}

.filter-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-width: 0;
  align-items: stretch;
}

.filter-label-text {
  color: var(--theme-muted);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: left;
}

.filter-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}

.filter-search-icon {
  position: absolute;
  left: 12px;
  color: var(--theme-muted);
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

.filter-input-wrap input {
  width: 100%;
  height: 44px;
  padding: 0 12px 0 36px !important;
  border: 1px solid var(--theme-line);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.76);
  color: #203249;
  font: 600 13px var(--body);
  box-sizing: border-box;
}

.filter-field select {
  width: 100%;
  height: 44px;
  padding: 0 12px;
  border: 1px solid var(--theme-line);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.76);
  color: #203249;
  font: 600 13px var(--body);
  box-sizing: border-box;
  cursor: pointer;
}

.filter-reset-wrap {
  display: flex;
  align-items: flex-end;
}

.filter-reset-btn {
  height: 44px;
  white-space: nowrap;
  font-size: 12.5px;
  font-weight: 700;
  padding: 0 16px;
}

html[data-theme="dark"] .filter-input-wrap input,
html[data-theme="dark"] .filter-field select {
  background: rgba(11, 24, 39, 0.88);
  color: #eaf2fb;
}

/* 4. Mobile Screen Polish (<= 768px) */
@media (max-width: 768px) {
  /* PS Mode Banner Mobile Layout */
  .ps-mode-banner {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    padding: 14px 14px !important;
    border-radius: 16px !important;
  }
  .ps-mode-content {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .ps-mode-badge {
    align-self: flex-start !important;
  }
  .ps-mode-text-wrap {
    width: 100% !important;
    min-width: 0 !important;
  }
  .ps-mode-text-wrap b {
    font-size: 13.5px !important;
    line-height: 1.3 !important;
  }
  .ps-mode-existing-title {
    font-size: 12.5px !important;
    padding: 6px 10px !important;
    margin: 5px 0 !important;
  }
  .ps-mode-subnote {
    font-size: 11px !important;
    line-height: 1.45 !important;
  }
  .ps-mode-actions {
    width: 100% !important;
    margin-top: 2px !important;
  }
  .ps-mode-actions button {
    width: 100% !important;
    justify-content: center !important;
    min-height: 42px !important;
    font-size: 12.5px !important;
  }

  /* Backend Audit Banner Mobile Layout */
  .backend-audit-banner {
    padding: 14px 14px !important;
    gap: 10px !important;
    border-radius: 16px !important;
  }
  .audit-header-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }
  .audit-lead {
    gap: 10px !important;
    width: 100% !important;
  }
  .audit-lead .audit-icon {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
  }
  .audit-lead b {
    font-size: 13.5px !important;
    line-height: 1.35 !important;
  }
  .audit-badge {
    align-self: flex-start !important;
    font-size: 10.5px !important;
    padding: 4px 10px !important;
  }
  .audit-description {
    font-size: 11.5px !important;
    line-height: 1.5 !important;
  }

  /* Team Directory Actions & Filter Bar Mobile Layout */
  .admin-team-directory-heading {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
  }
  .admin-directory-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
  }
  .admin-directory-actions .button {
    width: 100% !important;
    justify-content: center !important;
    min-height: 42px !important;
    font-size: 12px !important;
    box-sizing: border-box !important;
  }
  .admin-team-filter-bar {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    padding: 16px 14px !important;
    border-radius: 18px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 0 20px !important;
  }
  .filter-field {
    width: 100% !important;
    gap: 6px !important;
    align-items: stretch !important;
  }
  .filter-label-text {
    text-align: left !important;
    font-size: 10.5px !important;
    letter-spacing: 0.06em !important;
  }
  .filter-input-wrap {
    width: 100% !important;
  }
  .filter-input-wrap input {
    width: 100% !important;
    height: 44px !important;
    font-size: 13px !important;
    padding: 0 12px 0 34px !important;
  }
  .filter-field select {
    width: 100% !important;
    height: 44px !important;
    font-size: 13px !important;
    padding: 0 12px !important;
  }
  .filter-reset-wrap {
    width: 100% !important;
    margin-top: 4px !important;
  }
  .filter-reset-btn {
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    justify-content: center !important;
    font-size: 12px !important;
  }

  /* Problem Statements & Setup Forms */
  .problem-total-form, .edition-form, .problem-admin-form {
    padding: 16px 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .problem-total-form label, .edition-form label, .problem-admin-form label {
    width: 100% !important;
    max-width: 100% !important;
  }
  .problem-total-form input, .edition-form input, .problem-admin-form input, .problem-admin-form textarea {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .problem-total-form .button, .edition-form .button, .problem-admin-form .button {
    width: 100% !important;
    justify-content: center !important;
    min-height: 42px !important;
  }
}

/* ==========================================================================
   TEAM ROSTER ENHANCEMENTS: FULL NAME & USERNAME VISIBILITY
   ========================================================================== */
.member-name-block {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 14px 0 6px;
}

.member-name-block h3 {
  margin: 0 !important;
  font: 750 19px/1.25 var(--display);
  letter-spacing: -0.025em;
  color: var(--theme-ink);
  word-break: break-word;
}

.member-username-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(16, 185, 129, 0.14);
  color: #10b981;
  border: 1px solid rgba(16, 185, 129, 0.32);
  font-size: 11px;
  font-weight: 750;
  width: fit-content;
  letter-spacing: 0.02em;
}

.member-username-pill.member-username-pending {
  background: rgba(245, 158, 11, 0.12);
  color: #f59e0b;
  border-color: rgba(245, 158, 11, 0.3);
  font-style: normal;
  font-weight: 650;
}

html[data-theme="light"] .member-username-pill {
  background: rgba(8, 126, 130, 0.1);
  color: #087e82;
  border-color: rgba(8, 126, 130, 0.28);
}

html[data-theme="light"] .member-username-pill.member-username-pending {
  background: #fff8eb;
  color: #b45309;
  border-color: #fcd34d;
}

.member-card-contact {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  margin-top: auto !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(53, 77, 102, 0.16) !important;
  color: var(--theme-muted) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}

.member-meta-row {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 8px !important;
  font-size: 11.5px !important;
  line-height: 1.4 !important;
}

.member-meta-row span::before,
.member-meta-row b::before {
  content: none !important;
}

.member-meta-row .meta-label {
  font-size: 9px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  color: var(--theme-muted) !important;
  text-transform: uppercase !important;
  flex-shrink: 0 !important;
}

.member-meta-row .meta-val {
  color: var(--theme-ink) !important;
  font-weight: 600 !important;
  overflow-wrap: anywhere !important;
  text-align: right !important;
  max-width: 65% !important;
}

.member-meta-row .val-pending {
  color: var(--theme-muted) !important;
  font-style: italic !important;
  font-weight: 500 !important;
}

@media (max-width: 650px) {
  .member-card {
    min-height: auto !important;
    padding: 18px 16px !important;
  }
  .member-name-block h3 {
    font-size: 17.5px !important;
  }
  .member-meta-row {
    font-size: 11px !important;
  }
}

/* Official Document Link Cards */
.official-doc-link-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 20px;
  margin-bottom: 20px;
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.12), rgba(6, 95, 70, 0.05));
  border: 1px solid rgba(16, 185, 129, 0.35);
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}
.official-doc-link-card .doc-link-left {
  display: flex;
  align-items: center;
  gap: 14px;
}
.official-doc-link-card .doc-badge-icon {
  font-size: 26px;
  flex-shrink: 0;
}
.official-doc-link-card b {
  display: block;
  font-size: 14.5px;
  color: var(--theme-ink);
  margin-bottom: 2px;
}
.official-doc-link-card small {
  display: block;
  font-size: 12px;
  color: var(--theme-muted);
  line-height: 1.45;
}
.official-doc-link-card .doc-link-right {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

/* Mentor Structured Docs Grid in Staff Dashboard */
.mentor-structured-docs-section {
  margin: 24px 0;
  padding: 20px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--line);
  border-radius: 18px;
}
.mentor-structured-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.mentor-struct-card {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
}
.mentor-struct-card .struct-card-top {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.mentor-struct-card .struct-icon {
  font-size: 22px;
  flex-shrink: 0;
}
.mentor-struct-card .struct-card-top b {
  font-size: 14px;
  color: var(--theme-ink);
  display: block;
}
.mentor-struct-card .struct-sub {
  font-size: 11px;
  color: var(--theme-muted);
  display: block;
}
.mentor-struct-card .struct-card-top .status-pill {
  margin-left: auto;
}
.mentor-struct-card .struct-card-meta {
  font-size: 11.5px;
}
.mentor-struct-card .struct-card-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
  flex-wrap: wrap;
}

@media (max-width: 650px) {
  .official-doc-link-card {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .official-doc-link-card .doc-link-right {
    width: 100%;
    justify-content: space-between;
  }
}

/* =========================================================================
   EVALUATION LEADERBOARD, JURY MANAGEMENT & STUDENT RESULTS CARD STYLES
   ========================================================================= */
.eval-pub-status-banner {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  border-radius: 14px;
  margin: 16px 0 20px;
}
.banner-published {
  background: rgba(16, 185, 129, 0.12);
  border: 1px solid #10b981;
  color: #065f46;
}
html[data-theme="dark"] .banner-published {
  color: #34d399;
}
.banner-hidden {
  background: rgba(245, 158, 11, 0.12);
  border: 1px solid #f59e0b;
  color: #b45309;
}
html[data-theme="dark"] .banner-hidden {
  color: #fbbf24;
}
.status-symbol {
  font-size: 26px;
}
.status-copy strong {
  display: block;
  font-size: 14.5px;
  margin-bottom: 2px;
}
.status-copy span {
  font-size: 12.5px;
  opacity: 0.9;
}

.admin-eval-filter-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 16px;
  border-radius: 12px;
  background: var(--theme-card-subtle, #f8fafc);
  border: 1px solid var(--theme-line, #e2e8f0);
  margin-bottom: 16px;
}
html[data-theme="dark"] .admin-eval-filter-bar {
  background: #17273d;
}
.admin-eval-filter-bar select {
  height: 38px;
  padding: 0 12px;
  border-radius: 8px;
  border: 1px solid var(--theme-line, #cbd5e1);
  background: var(--theme-card, #ffffff);
  color: var(--theme-ink, #0f172a);
  font-weight: 600;
  outline: none;
}
html[data-theme="dark"] .admin-eval-filter-bar select {
  background: #0f172a;
}
.filter-stat {
  font-size: 12.5px;
  color: var(--theme-muted, #64748b);
}

.eval-table-responsive {
  width: 100%;
  overflow-x: auto;
}
.eval-leaderboard-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.eval-leaderboard-table th, .eval-leaderboard-table td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--theme-line, #e2e8f0);
  text-align: left;
}
.eval-leaderboard-table th {
  background: var(--theme-card-subtle, #f1f5f9);
  color: var(--theme-ink, #0f172a);
  font-weight: 750;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
html[data-theme="dark"] .eval-leaderboard-table th {
  background: #192738;
}

.rank-badge {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.06);
  color: var(--theme-ink, #0f172a);
  font-weight: 800;
  font-size: 12px;
}
.rank-top {
  background: #087e82;
  color: #ffffff;
  box-shadow: 0 2px 6px rgba(8, 126, 130, 0.35);
}
.rank-unscored {
  opacity: 0.4;
}

.ps-code-pill {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 6px;
  background: rgba(8, 126, 130, 0.12);
  color: #087e82;
  font-weight: 800;
  font-size: 11px;
}

.score-pill {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  font-weight: 800;
  font-size: 13px;
}
.score-advancing {
  background: rgba(16, 185, 129, 0.15);
  color: #059669;
  border: 1px solid rgba(16, 185, 129, 0.4);
}
html[data-theme="dark"] .score-advancing {
  color: #34d399;
}
.score-below {
  background: rgba(239, 68, 68, 0.12);
  color: #dc2626;
  border: 1px solid rgba(239, 68, 68, 0.3);
}
.score-pending {
  background: rgba(148, 163, 184, 0.15);
  color: #64748b;
}

.eval-status-tag {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 750;
}
.tag-locked {
  background: rgba(16, 185, 129, 0.12);
  color: #059669;
  border: 1px solid rgba(16, 185, 129, 0.3);
}
html[data-theme="dark"] .tag-locked {
  color: #34d399;
}
.tag-draft {
  background: rgba(245, 158, 11, 0.12);
  color: #d97706;
  border: 1px solid rgba(245, 158, 11, 0.3);
}
.tag-empty {
  color: var(--theme-muted, #94a3b8);
}

.eval-row-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

/* Jury Assignment Section */
.jury-assign-grid {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 20px;
  margin-top: 14px;
}
@media (max-width: 800px) {
  .jury-assign-grid {
    grid-template-columns: 1fr;
  }
}
.jury-assign-card, .jury-current-assignments-card {
  padding: 18px;
  border-radius: 16px;
  border: 1px solid var(--theme-line, #e2e8f0);
  background: var(--theme-card, #ffffff);
}
html[data-theme="dark"] .jury-assign-card, html[data-theme="dark"] .jury-current-assignments-card {
  background: #162438;
}
.jury-assign-card h4, .jury-current-assignments-card h4 {
  margin: 0 0 14px;
  font-size: 15px;
  font-weight: 750;
}
.jury-assign-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.jury-assign-form label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 12px;
  font-weight: 650;
}
.jury-assign-form select {
  height: 38px;
  padding: 0 10px;
  border-radius: 8px;
  border: 1px solid var(--theme-line, #cbd5e1);
  background: var(--theme-card-subtle, #f8fafc);
  color: var(--theme-ink, #0f172a);
  font-size: 13px;
}
html[data-theme="dark"] .jury-assign-form select {
  background: #0f172a;
}
.jury-assign-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12.5px;
}
.jury-assign-table th, .jury-assign-table td {
  padding: 8px 10px;
  border-bottom: 1px solid var(--theme-line, #e2e8f0);
  text-align: left;
}

/* Jury Member Dedicated Workspace */
.jury-teams-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: 16px;
  margin-top: 16px;
}
.jury-team-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 16px;
  border-radius: 16px;
  border: 1px solid var(--theme-line, #e2e8f0);
  background: var(--theme-card, #ffffff);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
html[data-theme="dark"] .jury-team-card {
  background: #162438;
}
.jury-team-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}
.jury-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.team-id-badge {
  display: inline-block;
  padding: 2px 7px;
  border-radius: 6px;
  background: rgba(8, 126, 130, 0.12);
  color: #087e82;
  font-weight: 800;
  font-size: 11px;
}
.jury-card-info h3 {
  margin: 6px 0 4px;
  font-size: 16px;
  font-weight: 750;
  color: var(--theme-ink, #0f172a);
}
.jt-leader {
  margin: 0 0 4px;
  font-size: 12px;
  color: var(--theme-muted, #64748b);
}
.jt-problem {
  margin: 0;
  font-size: 12px;
  line-height: 1.4;
  color: var(--theme-ink, #0f172a);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.jury-card-score-strip {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--theme-card-subtle, #f8fafc);
  margin: 12px 0;
  font-size: 12px;
}
html[data-theme="dark"] .jury-card-score-strip {
  background: #101c2c;
}
.score-stat strong {
  font-size: 14px;
  font-weight: 850;
  color: #087e82;
}
.jury-card-actions {
  display: flex;
  gap: 8px;
}

/* Student Dashboard Results Card */
.eval-results-card {
  padding: 24px;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(8, 126, 130, 0.08), rgba(16, 185, 129, 0.04));
  border: 1px solid rgba(8, 126, 130, 0.25);
  margin: 24px 0 30px;
}
.eval-results-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.results-badge-wrap {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.results-icon {
  font-size: 34px;
}
.results-badge-wrap h2 {
  margin: 4px 0 6px;
  font-size: 22px;
  font-weight: 800;
}
.results-verdict-text {
  margin: 0;
  font-size: 13.5px;
}

.eval-breakdown-card {
  padding: 16px;
  border-radius: 14px;
  background: var(--theme-card, #ffffff);
  border: 1px solid var(--theme-line, #e2e8f0);
}
html[data-theme="dark"] .eval-breakdown-card {
  background: #162438;
}
.eval-breakdown-card h4 {
  margin: 0 0 12px;
  font-size: 13.5px;
  font-weight: 750;
}
.eval-rubric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}
.rubric-mini-box {
  padding: 10px 12px;
  border-radius: 8px;
  background: var(--theme-card-subtle, #f8fafc);
  border: 1px solid var(--theme-line, #e2e8f0);
}
html[data-theme="dark"] .rubric-mini-box {
  background: #0f172a;
}
.rmb-head {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  font-weight: 700;
}
.rmb-head strong {
  color: #087e82;
}
.rmb-remark {
  margin: 6px 0 0;
  font-size: 11.5px;
  color: var(--theme-muted, #64748b);
  font-style: italic;
}
.eval-seal-strip {
  margin-top: 14px;
  font-size: 12px;
  color: var(--theme-muted, #64748b);
}


/* ==========================================================================
   TOPBAR HEADER LOGOS: TRANSPARENT BACKGROUNDS & EXPANDED LAUNCHPAD SIZE
   ========================================================================== */
.topbar .college-logo,
.topbar .header-home-logo {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.topbar .college-logo img {
  height: 56px !important;
  width: auto !important;
  object-fit: contain !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  filter: none !important;
}

.header-partner-logos {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin-left: 14px !important;
  padding-left: 14px !important;
  border-left: 1px solid var(--theme-line, rgba(210, 229, 255, 0.18)) !important;
  background: transparent !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

.header-partner-logo {
  display: block !important;
  object-fit: contain !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  transition: transform 0.22s ease !important;
}

.header-partner-logo:hover {
  transform: translateY(-2px) scale(1.04) !important;
}

.header-partner-logos .partner-iic {
  height: 50px !important;
  width: auto !important;
  max-width: 155px !important;
}

.header-partner-logos .partner-step {
  height: 48px !important;
  width: auto !important;
  max-width: 82px !important;
}

/* Header Brand & Partner Logos Layout (Launchpad Positioned Near STEP) */
.header-brand-group {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex: 0 1 auto !important;
}

.header-launchpad-brand {
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.header-partner-logos .partner-launchpad {
  height: 52px !important;
  max-height: 54px !important;
  width: auto !important;
  max-width: 175px !important;
  object-fit: contain !important;
  margin-left: 4px !important;
  transition: transform 0.22s ease !important;
}

.header-partner-logos .partner-launchpad:hover {
  transform: translateY(-2px) scale(1.04) !important;
}

.topbar .brand,
.topbar .brand-center,
.topbar .brand-logout-form.brand-center {
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.topbar .brand-image {
  height: 52px !important;
  max-height: 54px !important;
  width: auto !important;
  max-width: 175px !important;
  object-fit: contain !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  transition: transform 0.25s ease !important;
}

.topbar .brand-image:hover {
  transform: scale(1.04) !important;
}

html[data-theme="dark"] .header-partner-logo,
html[data-theme="dark"] .brand-image {
  background: transparent !important;
  filter: brightness(1.22) drop-shadow(0 0 10px rgba(255, 255, 255, 0.2)) !important;
}

html[data-theme="light"] .header-partner-logo,
html[data-theme="light"] .brand-image,
html[data-theme="light"] .college-logo img {
  background: transparent !important;
  filter: none !important;
}

@media (max-width: 980px) {
  .header-partner-logos .partner-iic {
    height: 38px !important;
    max-width: 115px !important;
  }
  .header-partner-logos .partner-step {
    height: 38px !important;
    max-width: 65px !important;
  }
  .header-partner-logos .partner-launchpad,
  .topbar .brand-image {
    height: 42px !important;
    max-width: 130px !important;
  }
}

@media (max-width: 768px) {
  .header-brand-group {
    gap: 8px !important;
  }
  .header-partner-logos {
    display: flex !important;
    gap: 8px !important;
    margin-left: 8px !important;
    padding-left: 8px !important;
    border-left: 1px solid var(--theme-line, rgba(210, 229, 255, 0.18)) !important;
  }
  .header-partner-logos .partner-iic {
    display: none !important;
  }
  .header-partner-logos .partner-step {
    height: 30px !important;
    max-width: 48px !important;
  }
  .header-partner-logos .partner-launchpad,
  .topbar .brand-image {
    height: 32px !important;
    max-height: 34px !important;
    max-width: 88px !important;
  }
}

/* ==========================================================================
   PAGE INTRO HEADERS (FOR TIMELINE.PHP & PROBLEM_STATEMENTS.PHP)
   ========================================================================== */
.page-intro-header {
  padding: 24px 0 34px;
}
.page-intro-nav {
  margin-bottom: 16px;
}
.page-intro-titles h1 {
  font: 800 clamp(38px, 4.8vw, 56px)/1.08 'Sora', 'Plus Jakarta Sans', sans-serif;
  letter-spacing: -0.04em;
  margin: 12px 0 10px;
  color: #102a43;
}
html[data-theme="dark"] .page-intro-titles h1 {
  color: #ffffff;
}
.page-intro-titles h1 em {
  font-style: normal;
  color: #2dd4bf;
}
html[data-theme="dark"] .page-intro-titles h1 em {
  color: #4eedb8;
  text-shadow: 0 0 24px rgba(78, 237, 184, 0.35);
}
.page-intro-lead {
  font-size: 15px;
  line-height: 1.7;
  color: var(--theme-muted);
  max-width: 680px;
  margin: 0;
}

/* ==========================================================================
   LANDING PAGE OPEN STATEMENTS HUB (NO OLD-SCHOOL BOXES — WORDS STAND FREELY)
   ========================================================================== */
.landing-open-hub {
  padding: 40px 0 60px;
  position: relative;
}

.open-gateway-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px 48px;
  align-items: start;
}

@media (max-width: 960px) {
  .open-gateway-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }
}

.open-statement-col {
  display: flex;
  flex-direction: column;
  position: relative;
}

.statement-tag-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

.statement-badge {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(45, 212, 191, 0.12);
  color: var(--mint, #2dd4bf);
  border: 1px solid rgba(45, 212, 191, 0.28);
}

html[data-theme="light"] .statement-badge {
  background: rgba(8, 126, 130, 0.09);
  color: #087e82;
  border-color: rgba(8, 126, 130, 0.22);
}

.statement-main {
  flex: 1 1 auto;
}

.statement-lede {
  font-size: 15px;
  line-height: 1.65;
  color: var(--theme-muted);
  margin: 0 0 20px;
  max-width: 540px;
}

/* Route Milestone Sequence Flow */
.statement-route-flow {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin: 18px 0 22px;
}

.route-milestone-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--theme-line);
  color: var(--theme-muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.01em;
  transition: all 0.2s ease;
}

html[data-theme="light"] .route-milestone-pill {
  background: #f4f8fd;
  border-color: rgba(45, 75, 110, 0.14);
}

.route-milestone-pill .flow-sep {
  opacity: 0.5;
}

.route-milestone-highlight {
  background: rgba(45, 212, 191, 0.15) !important;
  color: var(--mint, #2dd4bf) !important;
  border-color: rgba(45, 212, 191, 0.35) !important;
}

html[data-theme="light"] .route-milestone-highlight {
  background: rgba(8, 126, 130, 0.1) !important;
  color: #087e82 !important;
  border-color: rgba(8, 126, 130, 0.25) !important;
}

/* Glassmorphic Link Pill Buttons on Landing Page */
.glassmorphic-link-pill {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 12px 24px;
  border-radius: 999px;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: -0.01em;
  text-decoration: none;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  color: var(--theme-ink);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16), inset 0 1px 1px rgba(255, 255, 255, 0.15);
  transition: all 0.26s cubic-bezier(0.2, 0.8, 0.2, 1);
}

html[data-theme="light"] .glassmorphic-link-pill {
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(8, 126, 130, 0.25);
  color: #087e82;
  box-shadow: 0 6px 20px rgba(25, 55, 90, 0.08), inset 0 1px 0 #ffffff;
}

.glassmorphic-link-pill:hover {
  transform: translateY(-2px);
  border-color: rgba(45, 212, 191, 0.55);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.24), 0 0 22px rgba(45, 212, 191, 0.22);
  color: #ffffff;
}

html[data-theme="light"] .glassmorphic-link-pill:hover {
  border-color: rgba(8, 126, 130, 0.45);
  box-shadow: 0 10px 28px rgba(25, 55, 90, 0.14), 0 0 20px rgba(8, 126, 130, 0.18);
  color: #055f62;
}

.glassmorphic-link-pill .pill-arrow {
  display: inline-grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: rgba(45, 212, 191, 0.15);
  color: var(--mint, #2dd4bf);
  font-size: 14px;
  font-weight: 800;
  transition: transform 0.22s ease;
}

html[data-theme="light"] .glassmorphic-link-pill .pill-arrow {
  background: rgba(8, 126, 130, 0.12);
  color: #087e82;
}

.glassmorphic-link-pill:hover .pill-arrow {
  transform: translate(2px, -2px);
}

.statement-action-wrap {
  margin-top: 22px;
}

.problem-download-wrap {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 520px;
}

/* ==========================================================================
   BLOCK 3: ELIGIBILITY & INTEGRATED 3 STEPS
   ========================================================================== */
.open-eligibility-block {
  margin-top: 64px;
  padding-top: 48px;
  border-top: 1px solid var(--theme-line);
  position: relative;
}

.eligibility-intro-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
  margin-bottom: 48px;
}

.eligibility-intro-left {
  flex: 1 1 540px;
}

.eligibility-intro-right {
  align-self: center;
}

.eligibility-quick-criteria {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 14px;
}

.criteria-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--theme-muted);
}

.criteria-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--mint, #2dd4bf);
  box-shadow: 0 0 10px var(--mint, #2dd4bf);
}

/* Integrated Steps Section: From student to team (Matching image 6) */
.steps-integrated-wrap {
  margin-top: 36px;
  position: relative;
}

.steps-integrated-head {
  margin-bottom: 32px;
}

.steps-heading-flex {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.steps-main-title {
  font: 800 clamp(32px, 3.6vw, 44px)/1.1 'Sora', 'Plus Jakarta Sans', sans-serif;
  letter-spacing: -0.04em;
  margin: 0;
  color: #102a43;
}

html[data-theme="dark"] .steps-main-title {
  color: #ffffff;
}

.steps-main-title em {
  font-style: normal;
  color: #2dd4bf;
}

html[data-theme="dark"] .steps-main-title em {
  color: #4eedb8;
}

.steps-main-lede {
  color: var(--theme-muted);
  font-size: 15px;
  margin: 0;
  max-width: 460px;
}

/* ==========================================================================
   DESIGNED FONT WORDINGS & EXACT COLOR RENDERING (FROM USER IMAGES)
   ========================================================================== */
.designed-word-link {
  display: inline-block;
  text-decoration: none;
  color: inherit;
  margin-bottom: 14px;
  transition: transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1);
  cursor: pointer;
}

.designed-word-link:hover {
  transform: translateX(4px);
}

.designed-font-heading {
  margin: 0;
  position: relative;
  display: inline-flex;
  align-items: flex-end;
  gap: 10px;
  letter-spacing: -0.04em;
  line-height: 1.08;
}

.word-arrow {
  font-size: 26px;
  color: var(--mint, #2dd4bf);
  opacity: 0.65;
  transition: transform 0.22s ease, opacity 0.22s ease;
  margin-bottom: 4px;
}

.designed-word-link:hover .word-arrow {
  opacity: 1;
  transform: translate(3px, -3px);
}

/* Route Heading: From first spark to Demo Day. */
.route-heading {
  font-family: 'Sora', 'Plus Jakarta Sans', sans-serif;
  font-weight: 800;
  font-size: clamp(34px, 3.8vw, 50px);
}

.text-spark {
  color: #102a43;
  display: inline-block;
}

html[data-theme="dark"] .text-spark {
  color: #ffffff;
}

.text-demo {
  color: #2dd4bf; /* Exact vibrant mint turquoise matching image */
  display: inline-block;
}

html[data-theme="dark"] .text-demo {
  color: #4eedb8;
  text-shadow: 0 0 24px rgba(78, 237, 184, 0.35);
}

.eyebrow-route {
  color: #2dd4bf !important;
  font-weight: 800;
  letter-spacing: 0.16em;
  font-size: 11.5px;
}

html[data-theme="light"] .eyebrow-route {
  color: #087e82 !important;
}

/* Problem Statements Heading: Problem statements. */
.problem-heading {
  font-family: 'Sora', 'Plus Jakarta Sans', sans-serif;
  font-weight: 800;
  font-size: clamp(32px, 3.5vw, 46px);
}

.text-problem {
  color: #102a43;
  display: inline-block;
}

html[data-theme="dark"] .text-problem {
  color: #ffffff;
}

.text-statements {
  font-style: italic;
  color: #102a43;
  display: inline-block;
}

html[data-theme="dark"] .text-statements {
  color: #ffffff;
}

.eyebrow-challenge {
  color: #64748b !important;
  font-weight: 700;
  letter-spacing: 0.15em;
  font-size: 11.5px;
}

html[data-theme="dark"] .eyebrow-challenge {
  color: #94a3b8 !important;
}

/* Download Document Bar inside Card 2 (Exact match to image 3) */
.landing-problem-dl-card {
  margin-top: 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 12px 18px !important;
  border-radius: 999px !important;
  background: rgba(128, 242, 207, 0.12) !important;
  border: 1px solid rgba(128, 242, 207, 0.35) !important;
  color: #087e82 !important;
  text-decoration: none !important;
  transition: all 0.24s ease !important;
}

html[data-theme="dark"] .landing-problem-dl-card {
  background: rgba(45, 212, 191, 0.1) !important;
  border-color: rgba(45, 212, 191, 0.3) !important;
  color: #4eedb8 !important;
}

.landing-problem-dl-card:hover {
  background: rgba(128, 242, 207, 0.22) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(8, 126, 130, 0.15) !important;
}

.landing-problem-dl-card .dl-circle-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(8, 126, 130, 0.15);
  display: grid;
  place-items: center;
  font-size: 16px;
  font-weight: 700;
  flex-shrink: 0;
  margin-right: 12px;
}

html[data-theme="dark"] .landing-problem-dl-card .dl-circle-icon {
  background: rgba(45, 212, 191, 0.2);
  color: #4eedb8;
}

.landing-problem-dl-card .dl-copy {
  display: flex;
  flex-direction: column;
  flex: 1;
  text-align: left;
}

.landing-problem-dl-card .dl-copy strong {
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.25;
  color: #087e82;
}

html[data-theme="dark"] .landing-problem-dl-card .dl-copy strong {
  color: #4eedb8;
}

.landing-problem-dl-card .dl-copy small {
  font-size: 11px;
  color: #64748b;
}

html[data-theme="dark"] .landing-problem-dl-card .dl-copy small {
  color: #94a3b8;
}

.landing-problem-dl-card .dl-arrow-circle {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(8, 126, 130, 0.15);
  display: grid;
  place-items: center;
  font-size: 14px;
  margin-left: 12px;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.landing-problem-dl-card:hover .dl-arrow-circle {
  transform: translate(2px, -2px);
}

/* Eligibility Heading: Eligibility, made clear. */
.eligibility-heading {
  font-family: 'Sora', 'Plus Jakarta Sans', sans-serif;
  font-weight: 800;
  font-size: clamp(32px, 3.5vw, 46px);
}

.text-eligibility {
  color: #102a43;
  display: inline-block;
}

html[data-theme="dark"] .text-eligibility {
  color: #ffffff;
}

.text-clear {
  font-style: italic;
  color: #2dd4bf;
  display: inline-block;
}

html[data-theme="dark"] .text-clear {
  color: #4eedb8;
}

.eyebrow-eligibility {
  color: #087e82 !important;
  font-weight: 800;
  letter-spacing: 0.15em;
  font-size: 11.5px;
}

html[data-theme="dark"] .eyebrow-eligibility {
  color: #2dd4bf !important;
}

.gateway-desc {
  font-size: 14px;
  line-height: 1.65;
  color: var(--theme-muted);
  margin: 0 0 18px;
}

.gateway-roadmap-preview {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 14px;
  font-size: 11px;
  font-weight: 700;
}

.gateway-roadmap-preview .g-step {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--theme-line);
  color: var(--theme-muted);
}

html[data-theme="light"] .gateway-roadmap-preview .g-step {
  background: #f1f6fc;
}

.gateway-roadmap-preview .g-step-highlight {
  background: rgba(45, 212, 191, 0.12);
  color: var(--mint, #2dd4bf);
  border-color: rgba(45, 212, 191, 0.3);
}

html[data-theme="light"] .gateway-roadmap-preview .g-step-highlight {
  background: rgba(8, 126, 130, 0.1);
  color: #087e82;
  border-color: rgba(8, 126, 130, 0.25);
}

.gateway-checklist-preview {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12.5px;
  color: var(--theme-muted);
  font-weight: 600;
  margin-top: 10px;
}

.gateway-checklist-preview span {
  display: flex;
  align-items: center;
  gap: 8px;
}

.gateway-footer {
  margin-top: 22px;
  display: flex;
  align-items: center;
}

.gateway-hover-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 18px;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 700;
  background: rgba(45, 212, 191, 0.12);
  color: var(--mint, #2dd4bf);
  border: 1px solid rgba(45, 212, 191, 0.3);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  transition: all 0.24s cubic-bezier(0.2, 0.8, 0.2, 1);
  cursor: pointer;
  text-decoration: none;
}

/* ==========================================================================
   GLASSMORPHIC BACK BUTTON (COOL, APPEALING, GLOWING CONTAINER)
   ========================================================================== */
.glassmorphic-back-btn,
.back-link.glassmorphic-back-btn,
.doc-back-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px 24px 12px 18px !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  font-family: 'Plus Jakarta Sans', -apple-system, sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  letter-spacing: -0.01em !important;
  color: var(--theme-ink) !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18), inset 0 1px 1px rgba(255, 255, 255, 0.2) !important;
  transition: all 0.28s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
  position: relative !important;
  overflow: hidden !important;
  cursor: pointer !important;
}

html[data-theme="light"] .glassmorphic-back-btn,
html[data-theme="light"] .back-link.glassmorphic-back-btn,
html[data-theme="light"] .doc-back-btn {
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(8, 126, 130, 0.25) !important;
  box-shadow: 0 6px 20px rgba(25, 55, 90, 0.08), inset 0 1px 0 #ffffff !important;
  color: #087e82 !important;
}

.glassmorphic-back-btn::before,
.back-link.glassmorphic-back-btn::before,
.doc-back-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(45, 212, 191, 0.2), rgba(99, 102, 241, 0.15));
  opacity: 0;
  transition: opacity 0.28s ease;
  pointer-events: none;
}

.glassmorphic-back-btn:hover,
.back-link.glassmorphic-back-btn:hover,
.doc-back-btn:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(45, 212, 191, 0.6) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.24), 0 0 22px rgba(45, 212, 191, 0.25), inset 0 1px 1px rgba(255, 255, 255, 0.4) !important;
  color: #ffffff !important;
}

html[data-theme="light"] .glassmorphic-back-btn:hover,
html[data-theme="light"] .back-link.glassmorphic-back-btn:hover,
html[data-theme="light"] .doc-back-btn:hover {
  border-color: rgba(8, 126, 130, 0.5) !important;
  box-shadow: 0 10px 28px rgba(25, 55, 90, 0.14), 0 0 20px rgba(8, 126, 130, 0.2), inset 0 1px 0 #ffffff !important;
  color: #055f62 !important;
}

.glassmorphic-back-btn:hover::before,
.back-link.glassmorphic-back-btn:hover::before,
.doc-back-btn:hover::before {
  opacity: 1;
}

.glassmorphic-back-btn .back-btn-arrow,
.back-link.glassmorphic-back-btn .back-btn-arrow {
  display: inline-grid !important;
  place-items: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: rgba(45, 212, 191, 0.15) !important;
  color: var(--mint, #2dd4bf) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  transition: transform 0.24s cubic-bezier(0.2, 0.8, 0.2, 1), background-color 0.24s ease !important;
  position: relative !important;
  z-index: 1 !important;
}

html[data-theme="light"] .glassmorphic-back-btn .back-btn-arrow,
html[data-theme="light"] .back-link.glassmorphic-back-btn .back-btn-arrow {
  background: rgba(8, 126, 130, 0.12) !important;
  color: #087e82 !important;
}

.glassmorphic-back-btn:hover .back-btn-arrow,
.back-link.glassmorphic-back-btn:hover .back-btn-arrow {
  transform: translateX(-4px) !important;
  background: rgba(45, 212, 191, 0.3) !important;
}

html[data-theme="light"] .glassmorphic-back-btn:hover .back-btn-arrow,
html[data-theme="light"] .back-link.glassmorphic-back-btn:hover .back-btn-arrow {
  background: rgba(8, 126, 130, 0.2) !important;
}

.glassmorphic-back-btn .back-btn-text,
.back-link.glassmorphic-back-btn .back-btn-text {
  position: relative !important;
  z-index: 1 !important;
}

/* Guideline Modal Numeric Badge */
.guideline-num {
  font-family: 'Sora', 'Plus Jakarta Sans', sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.05em;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(45, 212, 191, 0.15);
  color: var(--mint, #2dd4bf);
  border: 1px solid rgba(45, 212, 191, 0.35);
  display: inline-block;
}

html[data-theme="light"] .guideline-num {
  background: rgba(8, 126, 130, 0.1);
  color: #087e82;
  border-color: rgba(8, 126, 130, 0.25);
}

.note-bullet {
  display: inline-block;
  font-size: 20px;
  font-weight: 900;
  color: var(--mint, #2dd4bf);
  line-height: 1;
}

html[data-theme="light"] .note-bullet {
  color: #087e82;
}

.ticker-dot-sep {
  display: inline-block;
  margin: 0 10px;
  opacity: 0.45;
  font-size: 16px;
  font-weight: 700;
}

/* ==========================================================================
   PROBLEM STATEMENTS CATALOG TOP BAR & REAL-TIME SEARCH
   ========================================================================== */
.problems-catalog-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 28px;
  flex-wrap: wrap;
}

.problems-catalog-top .problem-pdf-download {
  margin: 0 !important;
  flex: 1 1 320px;
}

.problems-search-bar {
  position: relative;
  display: flex;
  align-items: center;
  flex: 1 1 360px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--theme-line);
  border-radius: 14px;
  padding: 0 16px;
  height: 52px;
  backdrop-filter: blur(14px);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

html[data-theme="light"] .problems-search-bar {
  background: #ffffff;
  border-color: rgba(45, 75, 110, 0.18);
  box-shadow: 0 4px 16px rgba(35, 60, 90, 0.04);
}

.problems-search-bar:focus-within {
  border-color: var(--mint);
  box-shadow: 0 0 0 3px rgba(128, 242, 207, 0.16);
}

.problems-search-bar .search-icon {
  font-size: 18px;
  color: var(--theme-muted);
  margin-right: 12px;
}

.problems-search-bar input {
  flex: 1;
  background: none;
  border: none;
  outline: none;
  color: var(--theme-ink);
  font-size: 14px;
}

.problems-search-counter {
  font-size: 11.5px;
  font-weight: 700;
  color: var(--theme-muted);
  white-space: nowrap;
  padding-left: 10px;
}

.problems-no-results {
  text-align: center;
  padding: 48px 20px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px dashed var(--theme-line);
  border-radius: 18px;
  margin-top: 20px;
}

.problems-no-results span {
  font-size: 36px;
  display: block;
  margin-bottom: 12px;
}

.problems-no-results h4 {
  font-size: 18px;
  margin: 0 0 6px;
  color: var(--theme-ink);
}

.problems-no-results p {
  color: var(--theme-muted);
  font-size: 13.5px;
  margin: 0;
}

/* ==========================================================================
   ELIGIBILITY & GUIDELINES PREVIEW MODAL DIALOG
   ========================================================================== */
.eligibility-preview-dialog {
  border: 0;
  padding: 0;
  background: transparent;
  max-width: 860px;
  width: calc(100% - 32px);
  border-radius: 24px;
  color: var(--theme-ink);
  outline: none;
}

.eligibility-preview-dialog::backdrop {
  background: rgba(4, 11, 20, 0.82);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.eligibility-dialog-shell {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02) 48%), rgba(11, 23, 44, 0.94);
  backdrop-filter: blur(28px);
  -webkit-backdrop-filter: blur(28px);
  border: 1px solid rgba(210, 230, 255, 0.2);
  border-radius: 24px;
  padding: 34px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.45);
  display: flex;
  flex-direction: column;
  max-height: 88vh;
}

html[data-theme="light"] .eligibility-dialog-shell {
  background: linear-gradient(145deg, #ffffff, #f4f8fd);
  border-color: rgba(45, 75, 110, 0.2);
  box-shadow: 0 24px 70px rgba(35, 60, 90, 0.18);
}

.eligibility-dialog-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--theme-line);
}

.eligibility-dialog-header h2 {
  font: 700 28px/1.2 var(--display);
  letter-spacing: -0.04em;
  margin: 6px 0 0;
  color: var(--theme-ink);
}

.eligibility-dialog-close {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid var(--theme-line);
  color: var(--theme-ink);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

.eligibility-dialog-close:hover {
  background: rgba(255, 255, 255, 0.18);
  transform: rotate(90deg);
}

.eligibility-dialog-content {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 24px 0 !important;
  flex: 1 1 auto !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
  touch-action: pan-y !important;
  scroll-behavior: smooth !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(45, 212, 191, 0.45) rgba(255, 255, 255, 0.04) !important;
}

.guidelines-card-grid {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.guideline-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--theme-line);
  border-radius: 16px;
  padding: 20px;
}

html[data-theme="light"] .guideline-card {
  background: #ffffff;
  border-color: rgba(45, 75, 110, 0.12);
  box-shadow: 0 4px 16px rgba(35, 60, 90, 0.04);
}

.guideline-card-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.guideline-icon {
  font-size: 20px;
}

.guideline-card-head h3 {
  font: 700 16px var(--display);
  margin: 0;
  color: var(--theme-ink);
}

.guideline-points {
  margin: 0;
  padding-left: 20px;
  color: var(--theme-muted);
  font-size: 13.5px;
  line-height: 1.7;
}

.guideline-points li {
  margin-bottom: 6px;
}

.guideline-points strong {
  color: var(--theme-ink);
}

.eligibility-dialog-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  padding-top: 20px;
  border-top: 1px solid var(--theme-line);
}

/* ==========================================================================
   COMPACT ANIMATED LOGO BANNER (SAVE SPACE & BRING CONTENT UP)
   ========================================================================== */
.ideathon-logo-banner {
  min-height: 0 !important;
  margin: -6px auto 6px !important;
  padding: 4px 18px 24px !important;
}

.ideathon-logo-banner img {
  max-height: 125px !important;
  width: auto !important;
  margin: 0 auto !important;
}

.edition-logo-graphic {
  position: absolute !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  bottom: -4px !important;
  z-index: 10 !important;
  width: 175px !important;
  height: 44px !important;
}

.ed-accent-slash {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

@media (max-width: 768px) {
  .ideathon-logo-banner {
    padding-bottom: 26px !important;
    margin: -2px auto 4px !important;
  }
  .ideathon-logo-banner img {
    max-height: 105px !important;
  }
  .edition-logo-graphic {
    bottom: -6px !important;
    width: 155px !important;
    height: 38px !important;
  }
}

/* ==========================================================================
   ULTRA-GLOSSY TRANSLUCENT LIVE UPDATES TICKER (BELOW SVG LOGO BANNER)
   ========================================================================== */
.landing-headline-ticker {
  position: relative !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 0 !important;
  max-width: 1240px !important;
  margin: 10px auto 26px !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.75) !important;
  background: rgba(255, 255, 255, 0.52) !important;
  box-shadow: 0 10px 32px rgba(18, 90, 110, 0.08), inset 0 1px 1px rgba(255, 255, 255, 0.95), inset 0 -1px 1px rgba(0, 0, 0, 0.03) !important;
  backdrop-filter: blur(28px) saturate(190%) !important;
  -webkit-backdrop-filter: blur(28px) saturate(190%) !important;
}

html[data-theme="dark"] .landing-headline-ticker {
  border: 1px solid rgba(100, 225, 205, 0.28) !important;
  background: rgba(13, 27, 44, 0.58) !important;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.35), inset 0 1px 1px rgba(255, 255, 255, 0.15) !important;
}

.headline-ticker-label {
  border-radius: 999px 0 0 999px !important;
  padding: 0 22px !important;
  background: linear-gradient(115deg, #078c87, #13aa9d 70%, #26b8a3) !important;
  box-shadow: 6px 0 20px rgba(7, 140, 135, 0.2) !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em !important;
}

.headline-ticker-item {
  color: var(--theme-ink) !important;
  font-family: 'Plus Jakarta Sans', -apple-system, sans-serif !important;
}

.headline-ticker-item b {
  color: #102a43 !important;
  font-size: 13.5px !important;
  font-weight: 750 !important;
  letter-spacing: -0.01em !important;
}

.headline-ticker-item > span:last-of-type {
  color: #334e68 !important;
  opacity: 0.9 !important;
  font-size: 12.5px !important;
  font-weight: 550 !important;
}

html[data-theme="dark"] .headline-ticker-item {
  color: #f1f6fc !important;
}

html[data-theme="dark"] .headline-ticker-item b {
  color: #ffffff !important;
}

html[data-theme="dark"] .headline-ticker-item > span:last-of-type {
  color: #cbd8e6 !important;
  opacity: 0.95 !important;
}

/* ==========================================================================
   IMPORTANT DATES & DEADLINES HEADINGS & LAYOUT
   ========================================================================== */
.deadlines-heading {
  font-family: 'Sora', 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 800 !important;
  font-size: clamp(32px, 3.8vw, 48px) !important;
  letter-spacing: -0.04em !important;
  color: #102a43 !important;
  margin: 6px 0 10px !important;
  line-height: 1.1 !important;
}

html[data-theme="dark"] .deadlines-heading {
  color: #ffffff !important;
}

.text-deadlines {
  font-style: normal !important;
  color: #0b948b !important;
}

html[data-theme="dark"] .text-deadlines {
  color: #2dd4bf !important;
}

.eyebrow-deadlines {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #0b948b !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
}

html[data-theme="dark"] .eyebrow-deadlines {
  color: #2dd4bf !important;
}

.deadlines-pulse-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2dd4bf;
  box-shadow: 0 0 0 3px rgba(45, 212, 191, 0.25);
  animation: liveDotPulse 1.8s ease-out infinite;
}

/* ==========================================================================
   TIMELINE INFOGRAPHIC VISUAL PREVIEW & FULLSCREEN LIGHTBOX
   ========================================================================== */
.timeline-visual-card {
  position: relative;
  margin-top: 18px;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.28s ease, border-color 0.28s ease;
  user-select: none;
}

html[data-theme="light"] .timeline-visual-card {
  background: transparent !important;
  border: 1px solid rgba(45, 75, 110, 0.15) !important;
  box-shadow: none !important;
}

.timeline-visual-card:hover {
  transform: translateY(-3px) scale(1.01);
  border-color: rgba(45, 212, 191, 0.55);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.22), 0 0 24px rgba(45, 212, 191, 0.2);
}

html[data-theme="light"] .timeline-visual-card:hover {
  border-color: rgba(8, 126, 130, 0.45);
  box-shadow: 0 14px 34px rgba(25, 55, 90, 0.14), 0 0 20px rgba(8, 126, 130, 0.18);
}

.timeline-infographic-preview {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 17px;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.timeline-visual-card:hover .timeline-infographic-preview {
  transform: scale(1.015);
}

.timeline-visual-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(8, 18, 30, 0.35);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  opacity: 0;
  transition: opacity 0.24s ease;
}

.timeline-visual-card:hover .timeline-visual-overlay,
.timeline-visual-card:focus-visible .timeline-visual-overlay {
  opacity: 1;
}

.timeline-expand-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border-radius: 999px;
  background: rgba(14, 28, 44, 0.88);
  border: 1px solid rgba(45, 212, 191, 0.6);
  color: #ffffff;
  font-size: 13px;
  font-weight: 750;
  letter-spacing: -0.01em;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4), 0 0 20px rgba(45, 212, 191, 0.35);
  transform: translateY(6px);
  transition: transform 0.24s ease;
}

.timeline-visual-card:hover .timeline-expand-pill {
  transform: translateY(0);
}

/* Full-Screen Timeline Lightbox Dialog */
.timeline-lightbox-dialog {
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
  background: transparent !important;
  color: var(--theme-ink) !important;
  outline: none !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  box-sizing: border-box !important;
}

.timeline-lightbox-dialog::backdrop {
  background: rgba(4, 11, 20, 0.88) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}

.timeline-lightbox-shell {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  background: rgba(9, 20, 36, 0.94) !important;
  backdrop-filter: blur(28px) !important;
  -webkit-backdrop-filter: blur(28px) !important;
}

html[data-theme="light"] .timeline-lightbox-shell {
  background: rgba(244, 248, 253, 0.96) !important;
}

.timeline-lightbox-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 16px 28px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
  background: rgba(13, 26, 44, 0.75) !important;
  backdrop-filter: blur(16px) !important;
  flex-shrink: 0 !important;
}

html[data-theme="light"] .timeline-lightbox-bar {
  border-color: rgba(45, 75, 110, 0.15) !important;
  background: rgba(255, 255, 255, 0.85) !important;
}

.timeline-lightbox-meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
}

.timeline-lightbox-tag {
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.15em !important;
  color: var(--mint, #2dd4bf) !important;
}

html[data-theme="light"] .timeline-lightbox-tag {
  color: #087e82 !important;
}

.timeline-lightbox-title {
  font-family: 'Sora', 'Plus Jakarta Sans', sans-serif !important;
  font-size: 18px !important;
  font-weight: 750 !important;
  letter-spacing: -0.02em !important;
  color: var(--theme-ink) !important;
}

.timeline-lightbox-close {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: var(--theme-ink) !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

html[data-theme="light"] .timeline-lightbox-close {
  border-color: rgba(45, 75, 110, 0.2) !important;
  background: rgba(45, 75, 110, 0.06) !important;
}

.timeline-lightbox-close:hover {
  background: rgba(255, 255, 255, 0.2) !important;
  transform: rotate(90deg) !important;
}

.timeline-lightbox-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 16px 24px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: rgba(8, 20, 36, 0.95) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  flex-shrink: 0 !important;
  z-index: 10 !important;
}

html[data-theme="light"] .timeline-lightbox-bar {
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom-color: rgba(45, 75, 110, 0.14) !important;
}

.timeline-lightbox-actions {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.timeline-lightbox-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 16px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(45, 212, 191, 0.35) !important;
  background: rgba(45, 212, 191, 0.1) !important;
  color: var(--theme-ink) !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.timeline-lightbox-btn:hover {
  background: rgba(45, 212, 191, 0.22) !important;
  border-color: rgba(45, 212, 191, 0.6) !important;
  transform: translateY(-1px) !important;
}

html[data-theme="light"] .timeline-lightbox-btn {
  background: rgba(8, 126, 130, 0.08) !important;
  border-color: rgba(8, 126, 130, 0.25) !important;
  color: #0c6467 !important;
}

.timeline-lightbox-scroll {
  flex: 1 1 auto !important;
  overflow: auto !important;
  overflow-x: auto !important;
  overflow-y: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 30px 20px !important;
  box-sizing: border-box !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
  touch-action: pan-x pan-y !important;
  scroll-behavior: smooth !important;
  cursor: grab;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(45, 212, 191, 0.45) rgba(255, 255, 255, 0.04) !important;
}

.timeline-lightbox-scroll.is-dragging {
  cursor: grabbing !important;
  user-select: none !important;
  scroll-behavior: auto !important;
}

.timeline-lightbox-canvas {
  margin: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: min-content !important;
  min-height: min-content !important;
  padding: 10px !important;
}

.timeline-lightbox-img {
  max-width: 95vw !important;
  max-height: 85vh !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 14px !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.5) !important;
  transition: transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1), max-width 0.22s ease, max-height 0.22s ease !important;
  cursor: zoom-in;
}

.timeline-lightbox-dialog.is-zoomed .timeline-lightbox-img {
  max-width: none !important;
  max-height: none !important;
  width: 1420px !important;
  cursor: zoom-out !important;
}

html[data-theme="light"] .timeline-lightbox-img {
  box-shadow: 0 20px 60px rgba(35, 60, 90, 0.18) !important;
}

@media (max-width: 768px) {
  .timeline-lightbox-bar {
    padding: 12px 14px !important;
  }
  .timeline-lightbox-btn span {
    display: none !important;
  }
  .timeline-lightbox-btn {
    padding: 8px 10px !important;
  }
  .timeline-lightbox-scroll {
    display: block !important;
    padding: 16px 10px !important;
  }
  .timeline-lightbox-canvas {
    min-width: 820px !important;
    width: max-content !important;
    margin: 0 !important;
    padding: 8px 0 24px !important;
  }
  .timeline-lightbox-img {
    width: 820px !important;
    max-width: none !important;
    max-height: none !important;
    display: block !important;
  }
}

/* ==========================================================================
   MINIMAL TRANSLUCENT FOOTER (NO DIVIDER LINES - CLEAN FROSTED GLASS BAR)
   ========================================================================== */
.site-footer {
  width: 100% !important;
  max-width: 100% !important;
  margin: 36px 0 0 !important;
  padding: 22px 20px !important;
  box-sizing: border-box !important;
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  min-height: auto !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(9, 21, 37, 0.65) !important;
  backdrop-filter: blur(24px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
  box-shadow: 0 -4px 30px rgba(0, 0, 0, 0.35) !important;
  position: relative !important;
  z-index: 10 !important;
}

html[data-theme="light"] .site-footer {
  background: rgba(255, 255, 255, 0.72) !important;
  backdrop-filter: blur(24px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
  box-shadow: 0 -4px 20px rgba(35, 60, 90, 0.08) !important;
  border: none !important;
  border-top: none !important;
}

.footer-simple {
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: none !important;
  border-top: none !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
}

.footer-partners-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 28px !important;
  flex-wrap: wrap !important;
}

.footer-partner-img {
  height: 40px !important;
  width: auto !important;
  max-width: 150px !important;
  object-fit: contain !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.2)) !important;
  transition: transform 0.2s ease, opacity 0.2s ease !important;
  opacity: 0.88 !important;
}

.footer-partner-img:hover {
  transform: translateY(-2px) scale(1.04) !important;
  opacity: 1 !important;
}

.footer-partner-img.footer-launchpad-logo {
  height: 48px !important;
}

.footer-partner-img.footer-step-logo {
  height: 38px !important;
}

html[data-theme="light"] .footer-partner-img {
  filter: drop-shadow(0 2px 6px rgba(35, 60, 90, 0.12)) !important;
  opacity: 0.95 !important;
}

@media (max-width: 650px) {
  .footer-partners-bar {
    gap: 16px !important;
    margin-bottom: 8px !important;
  }
  .footer-partner-img {
    height: 32px !important;
    max-width: 110px !important;
  }
  .footer-partner-img.footer-launchpad-logo {
    height: 38px !important;
  }
  .footer-partner-img.footer-step-logo {
    height: 28px !important;
  }
}

.footer-copyright-link {
  color: var(--theme-muted) !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  letter-spacing: 0.02em !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px 18px !important;
  border-radius: 999px !important;
  transition: all 0.22s ease !important;
  position: relative !important;
  z-index: 2 !important;
}

.footer-copyright-link:hover {
  color: #2dd4bf !important;
  text-decoration: none !important;
  background: rgba(45, 212, 191, 0.12) !important;
  transform: translateY(-1px) !important;
}

html[data-theme="light"] .footer-copyright-link {
  color: #486581 !important;
}

html[data-theme="light"] .footer-copyright-link:hover {
  color: #0b948b !important;
  background: rgba(11, 148, 139, 0.08) !important;
}

/* ==========================================================================
   PERFECT ZERO-OVERLAP BANNER, CLEAN HERO GRID & NO WHITE CONTAINERS
   ========================================================================== */
.edition-logo-graphic {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

.ideathon-logo-banner {
  min-height: 0 !important;
  margin: 0 auto 10px !important;
  padding: 0 16px !important;
  text-align: center !important;
}

.ideathon-logo-banner img {
  max-height: 210px !important;
  width: auto !important;
  margin: 0 auto !important;
  display: block !important;
  filter: drop-shadow(0 10px 24px rgba(32, 55, 77, 0.12)) !important;
}

html[data-theme="dark"] .ideathon-logo-banner img {
  filter: drop-shadow(0 12px 28px rgba(0, 0, 0, 0.4)) drop-shadow(0 0 20px rgba(100, 229, 205, 0.12)) !important;
}

@media (max-width: 768px) {
  .ideathon-logo-banner img {
    max-height: 150px !important;
  }
}

/* Smooth GPU-Accelerated Scrolling Engine (Zero Buffering) */
html {
  scroll-behavior: smooth !important;
}

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

/* Strictly remove menu bar on the home landing page alone */
body.home-page .vertical-floating-menubar,
.home-page #vertical-floating-menubar {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.home-page,
body.home-page.has-menubar-dock {
  padding-left: 0 !important;
}

/* Wide Glossy Live Updates Ticker (Centered, Clickable for Deadlines Modal, Hardware-Accelerated) */
.landing-headline-ticker {
  position: relative !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 0 !important;
  max-width: 1080px !important;
  margin: 8px auto 16px !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.75) !important;
  background: rgba(255, 255, 255, 0.52) !important;
  box-shadow: 0 10px 32px rgba(18, 90, 110, 0.08), inset 0 1px 1px rgba(255, 255, 255, 0.95), inset 0 -1px 1px rgba(0, 0, 0, 0.03) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  transform: translateZ(0) !important;
  contain: layout style !important;
  cursor: pointer !important;
  transition: transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.22s ease, border-color 0.22s ease !important;
}

.landing-headline-ticker .headline-ticker-track {
  display: flex !important;
  width: max-content !important;
  animation: headlineTickerScroll 45s linear infinite !important;
  will-change: transform !important;
}

.landing-headline-ticker:hover .headline-ticker-track {
  animation-play-state: paused !important;
}

.landing-headline-ticker:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(45, 212, 191, 0.55) !important;
  box-shadow: 0 14px 38px rgba(18, 90, 110, 0.14), 0 0 20px rgba(45, 212, 191, 0.2) !important;
}

html[data-theme="dark"] .landing-headline-ticker {
  border: 1px solid rgba(100, 225, 205, 0.28) !important;
  background: rgba(13, 27, 44, 0.58) !important;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.35), inset 0 1px 1px rgba(255, 255, 255, 0.15) !important;
}

/* Wide Centered Snapshot Strip */
.landing-live-strip {
  max-width: 880px !important;
  margin: 0 auto 28px !important;
  border-radius: 20px !important;
  padding: 18px 24px !important;
  background: rgba(255, 255, 255, 0.45) !important;
  border: 1px solid rgba(255, 255, 255, 0.65) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  box-shadow: 0 8px 24px rgba(25, 55, 90, 0.06) !important;
}

html[data-theme="dark"] .landing-live-strip {
  background: rgba(14, 28, 44, 0.5) !important;
  border-color: rgba(100, 225, 205, 0.22) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25) !important;
}

.landing-live-strip .eyebrow,
.landing-live-strip .live-strip-eyebrow {
  grid-column: 1 / -1 !important;
  font-size: 10px !important;
  letter-spacing: 0.14em !important;
  color: var(--theme-muted) !important;
  white-space: nowrap !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin-bottom: 8px !important;
  width: 100% !important;
}

.landing-live-strip .live-strip-eyebrow i,
.landing-live-strip .eyebrow i {
  display: inline-block !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: var(--mint) !important;
  box-shadow: 0 0 10px var(--mint) !important;
  flex-shrink: 0 !important;
}

/* Balanced 2-Column Hero Section */
.hero-grid {
  display: grid !important;
  grid-template-columns: minmax(320px, 1.25fr) minmax(280px, 0.85fr) !important;
  gap: 44px !important;
  align-items: center !important;
  margin: 12px 0 44px !important;
}

.hero-copy h1 {
  font: 800 clamp(36px, 4.4vw, 54px)/1.08 'Sora', 'Plus Jakarta Sans', sans-serif !important;
  letter-spacing: -0.04em !important;
  margin: 0 0 14px !important;
  color: #102a43 !important;
}

html[data-theme="dark"] .hero-copy h1 {
  color: #ffffff !important;
}

.hero-copy h1 em {
  font-style: normal !important;
  color: #0b948b !important;
}

html[data-theme="dark"] .hero-copy h1 em {
  color: #2dd4bf !important;
}

@media (max-width: 860px) {
  .hero-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
}

/* 2-Column Gateway Grid (Balanced Top Row) */
.open-gateway-grid.two-col-gateways {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 48px 42px !important;
  align-items: start !important;
  margin: 20px 0 44px !important;
}

@media (max-width: 860px) {
  .open-gateway-grid.two-col-gateways {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }
}

/* NO WHITE CONTAINER - Pure Typography & Elements floating on canvas */
.open-gateway-grid,
.open-gateway-grid.two-col-gateways,
.open-gateway-grid.three-col-gateway,
.open-gateway-grid .open-statement-col,
.open-gateway-grid.two-col-gateways .open-statement-col,
.open-col-problems,
.open-col-timeline,
.open-col-eligibility,
html[data-theme="light"] .open-gateway-grid,
html[data-theme="light"] .open-gateway-grid.two-col-gateways,
html[data-theme="light"] .open-gateway-grid.two-col-gateways .open-statement-col,
html[data-theme="light"] .open-col-problems,
html[data-theme="light"] .open-col-timeline,
html[data-theme="light"] .open-col-eligibility,
html[data-theme="dark"] .open-gateway-grid,
html[data-theme="dark"] .open-gateway-grid.two-col-gateways,
html[data-theme="dark"] .open-gateway-grid.two-col-gateways .open-statement-col,
html[data-theme="dark"] .open-col-problems,
html[data-theme="dark"] .open-col-timeline,
html[data-theme="dark"] .open-col-eligibility {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-radius: 0 !important;
}

.open-gateway-grid.two-col-gateways .open-statement-col {
  padding: 4px 12px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  position: relative !important;
}

.open-gateway-grid.two-col-gateways .open-statement-col:hover {
  transform: none !important;
  box-shadow: none !important;
  border: none !important;
}

/* ==========================================================================
   TIMELINE INFOGRAPHIC: FULL LENGTH IN THE CENTER DOWN MIDDLE
   ========================================================================== */
.landing-timeline-center-section {
  position: relative !important;
  margin: 18px auto 44px !important;
  padding: 30px 0 0 !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 1140px !important;
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
}

.timeline-center-header {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  margin-bottom: 22px !important;
  width: 100% !important;
}

.timeline-center-tags {
  justify-content: center !important;
  margin-bottom: 12px !important;
}

.route-word-link-center {
  display: inline-block !important;
  text-decoration: none !important;
  color: inherit !important;
  margin: 0 auto 10px !important;
  cursor: pointer !important;
}

.route-heading-center {
  font-family: 'Sora', 'Plus Jakarta Sans', sans-serif !important;
  font-weight: 800 !important;
  font-size: clamp(32px, 3.8vw, 48px) !important;
  letter-spacing: -0.04em !important;
  line-height: 1.12 !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.route-heading-center .text-spark {
  color: #102a43 !important;
}

html[data-theme="dark"] .route-heading-center .text-spark {
  color: #ffffff !important;
}

.route-heading-center .text-demo {
  color: #0b948b !important;
  font-style: normal !important;
}

html[data-theme="dark"] .route-heading-center .text-demo {
  color: #2dd4bf !important;
}

.route-heading-center .word-arrow {
  color: #2dd4bf !important;
  font-size: 28px !important;
  line-height: 1 !important;
  transition: transform 0.22s ease !important;
}

.route-word-link-center:hover .route-heading-center .word-arrow {
  transform: translate(3px, -3px) !important;
}

.timeline-center-lede {
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: var(--theme-muted) !important;
  max-width: 620px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

/* Full length centered timeline infographic */
.timeline-visual-card.timeline-full-width {
  width: min(1080px, 100%) !important;
  margin: 18px auto 0 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  background: transparent !important;
  border: 1px solid var(--theme-line) !important;
  box-shadow: 0 10px 30px rgba(18, 46, 67, 0.06) !important;
  cursor: pointer !important;
  position: relative !important;
  transition: transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.28s ease, border-color 0.28s ease !important;
}

html[data-theme="dark"] .timeline-visual-card.timeline-full-width {
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.35) !important;
  border-color: rgba(100, 225, 205, 0.24) !important;
}

.timeline-visual-card.timeline-full-width:hover {
  transform: translateY(-3px) scale(1.008) !important;
  border-color: #2dd4bf !important;
  box-shadow: 0 18px 46px rgba(18, 90, 110, 0.16), 0 0 24px rgba(45, 212, 191, 0.22) !important;
}

.timeline-visual-card.timeline-full-width .timeline-infographic-preview {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: 19px !important;
  object-fit: cover !important;
}

/* Important Dates & Deadlines Dialog Modal */
.important-dates-dialog {
  border: 0 !important;
  padding: 0 !important;
  margin: auto !important;
  max-width: 940px !important;
  width: calc(100% - 32px) !important;
  border-radius: 24px !important;
  background: transparent !important;
  color: var(--theme-ink) !important;
  outline: none !important;
}

.important-dates-dialog::backdrop {
  background: rgba(4, 11, 20, 0.85) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

.dates-dialog-shell {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02) 48%), rgba(11, 23, 44, 0.96) !important;
  backdrop-filter: blur(28px) !important;
  -webkit-backdrop-filter: blur(28px) !important;
  border: 1px solid rgba(210, 230, 255, 0.2) !important;
  border-radius: 24px !important;
  padding: 32px !important;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5) !important;
  display: flex !important;
  flex-direction: column !important;
  max-height: 88vh !important;
}

html[data-theme="light"] .dates-dialog-shell {
  background: linear-gradient(145deg, #ffffff, #f4f8fd) !important;
  border-color: rgba(45, 75, 110, 0.2) !important;
  box-shadow: 0 24px 70px rgba(35, 60, 90, 0.18) !important;
}

.dates-dialog-header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 20px !important;
  padding-bottom: 18px !important;
  border-bottom: 1px solid var(--theme-line) !important;
}

.dates-dialog-close {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid var(--theme-line) !important;
  color: var(--theme-ink) !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  font-size: 20px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  flex-shrink: 0 !important;
}

.dates-dialog-close:hover {
  background: rgba(255, 255, 255, 0.18) !important;
  transform: rotate(90deg) !important;
}

.dates-dialog-content {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 22px 0 !important;
  flex: 1 1 auto !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
  touch-action: pan-y !important;
  scroll-behavior: smooth !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(45, 212, 191, 0.45) rgba(255, 255, 255, 0.04) !important;
}

.dates-dialog-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  padding-top: 18px !important;
  border-top: 1px solid var(--theme-line) !important;
}

/* Steps Intro inside Eligibility Dialog */
.dialog-steps-intro {
  margin-bottom: 28px !important;
  padding-bottom: 24px !important;
  border-bottom: 1px dashed var(--theme-line) !important;
}

.steps-dialog-title {
  font: 800 clamp(24px, 3vw, 32px)/1.15 'Sora', 'Plus Jakarta Sans', sans-serif !important;
  letter-spacing: -0.03em !important;
  margin: 6px 0 10px !important;
  color: var(--theme-ink) !important;
}

.steps-dialog-title em {
  font-style: normal !important;
  color: #2dd4bf !important;
}

html[data-theme="dark"] .steps-dialog-title em {
  color: #4eedb8 !important;
}

.dialog-steps-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 14px !important;
  margin-top: 16px !important;
}

.dialog-guidelines-divider {
  margin-bottom: 18px !important;
}


html[data-theme="dark"] .footer-copyright-link:hover {
  color: #2dd4bf !important;
}

/* ==========================================================================
   MOBILE VIEW REFINEMENTS: LIVE NEWS VISIBILITY, NO DOCK OVERLAP & CLEAN SPACING
   ========================================================================== */
.ticker-label-mobile {
  display: none !important;
}

.ticker-label-desktop {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
}

/* Eliminate Left Vertical Floating Nav Dock Collision on Mobile */
@media (max-width: 860px) {
  .vertical-floating-menubar {
    display: none !important;
  }
  body.has-menubar-dock,
  .has-menubar-dock {
    padding-left: 0 !important;
  }
}

/* Mobile Live News Ribbon: Compact "● LIVE" Badge & 80%+ Full Width for Scrolling News */
@media (max-width: 680px) {
  .ticker-label-desktop {
    display: none !important;
  }

  .ticker-label-mobile {
    display: inline-block !important;
  }

  .landing-headline-ticker {
    grid-template-columns: auto minmax(0, 1fr) !important;
    min-height: 44px !important;
    margin: 8px 12px 16px !important;
    width: calc(100% - 24px) !important;
    border-radius: 999px !important;
  }

  .headline-ticker-label {
    padding: 0 10px 0 12px !important;
    gap: 6px !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
  }

  .headline-ticker-label b {
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: 0.1em !important;
  }

  .headline-ticker-item {
    min-height: 44px !important;
    gap: 8px !important;
    padding: 6px 14px !important;
  }

  .headline-ticker-kind {
    font-size: 9px !important;
    padding: 3px 7px !important;
    font-weight: 800 !important;
    letter-spacing: 0.06em !important;
  }

  .headline-ticker-item b {
    font-size: 12.5px !important;
    font-weight: 750 !important;
    white-space: nowrap !important;
  }

  .headline-ticker-item > span:last-of-type {
    font-size: 11.5px !important;
    max-width: none !important;
    white-space: nowrap !important;
  }

  /* Gateway Headings & Badges on Mobile */
  .statement-tag-row {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    margin-bottom: 12px !important;
  }

  .statement-badge {
    font-size: 10px !important;
    padding: 4px 10px !important;
    white-space: nowrap !important;
  }

  .eyebrow {
    font-size: 9px !important;
    letter-spacing: 0.1em !important;
  }

  .designed-font-heading.problem-heading,
  .designed-font-heading.route-heading-center,
  .designed-font-heading.eligibility-heading {
    font-size: clamp(26px, 6.8vw, 34px) !important;
    line-height: 1.15 !important;
  }

  .designed-font-heading .word-arrow {
    font-size: 20px !important;
  }

  .problem-download-wrap {
    width: 100% !important;
  }

  .landing-problem-dl-card {
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 10px 14px !important;
  }

  .landing-problem-dl-card .dl-copy {
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .landing-problem-dl-card .dl-copy strong {
    font-size: 13px !important;
    line-height: 1.3 !important;
    white-space: normal !important;
  }

  .landing-problem-dl-card .dl-copy small {
    font-size: 10.5px !important;
    white-space: normal !important;
  }

  .timeline-visual-card.timeline-full-width {
    margin-top: 14px !important;
    border-radius: 14px !important;
  }

  .timeline-visual-card.timeline-full-width .timeline-infographic-preview {
    border-radius: 13px !important;
  }
}

/* ==========================================================================
   HERO ART CHIPS: DESKTOP FLOATS & MOBILE COMPACT INLINE ROW
   ========================================================================== */
.hero-art-chips {
  display: contents;
}

/* ==========================================================================
   MOBILE VIEW SPACING OVERHAUL: NO OVERFLOW, RICH ANIMATED BG & BALANCED RHYTHM
   ========================================================================== */
@media (max-width: 860px) {
  html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }

  /* Prevent Header Overflow on the Right Side */
  .topbar {
    width: 100% !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
    padding: 8px 12px !important;
    margin: 0 !important;
    height: auto !important;
    min-height: 56px !important;
    gap: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    overflow: hidden !important;
  }

  .topbar .college-logo {
    width: 36px !important;
    height: 36px !important;
    flex: 0 0 36px !important;
  }

  .topbar .college-logo img {
    height: 36px !important;
    width: auto !important;
  }

  .topbar .brand,
  .topbar .brand-center,
  .topbar .brand-logout-form.brand-center {
    margin: 0 !important;
    flex: 0 1 auto !important;
  }

  .topbar .brand-image {
    height: 38px !important;
    max-height: 40px !important;
    width: auto !important;
    max-width: 115px !important;
  }

  .topbar .topnav {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-left: auto !important;
    flex-shrink: 1 !important;
    font-size: 11px !important;
  }

  .topbar .topnav a {
    font-size: 11px !important;
    white-space: nowrap !important;
  }

  .topbar .nav-cta {
    padding: 6px 10px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
    border-radius: 999px !important;
  }

  .topbar .theme-toggle {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    border-radius: 10px !important;
    flex-shrink: 0 !important;
    display: grid !important;
    place-items: center !important;
  }

  .topbar .theme-toggle .theme-toggle-label {
    display: none !important;
  }

  .topbar .theme-glyph {
    font-size: 17px !important;
    line-height: 1 !important;
    margin: 0 !important;
  }

  /* Live Snapshot Strip: Single Line Eyebrow & Balanced 3 Stats */
  .landing-live-strip {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px 8px !important;
    padding: 14px 14px 12px !important;
    width: calc(100% - 24px) !important;
    max-width: 100% !important;
    margin: 0 auto 20px !important;
    border-radius: 18px !important;
    box-sizing: border-box !important;
  }

  .landing-live-strip > i {
    display: none !important;
  }

  .landing-live-strip .eyebrow,
  .landing-live-strip .live-strip-eyebrow {
    grid-column: 1 / -1 !important;
    white-space: nowrap !important;
    font-size: 9.5px !important;
    letter-spacing: 0.12em !important;
    font-weight: 800 !important;
    margin-bottom: 6px !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    width: 100% !important;
    justify-content: flex-start !important;
  }

  .live-stat-item {
    padding: 0 4px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .live-stat-item strong {
    font-size: clamp(22px, 6vw, 28px) !important;
    line-height: 1 !important;
  }

  .live-stat-item small {
    font-size: 10px !important;
    letter-spacing: 0.03em !important;
    margin-top: 4px !important;
  }

  /* Hero Section: Spacious & Atmospheric on Mobile */
  .hero-grid {
    margin: 12px 0 24px !important;
    gap: 22px !important;
    padding: 10px 0 !important;
  }

  .hero-art {
    position: relative !important;
    isolation: isolate !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 380px !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 24px 0 16px !important;
    margin: 6px 0 18px !important;
    overflow: hidden !important;
  }

  /* Ambient Glow Halo */
  .home-page .hero-art::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    z-index: 0 !important;
    width: 270px !important;
    height: 270px !important;
    left: 50% !important;
    top: 48% !important;
    transform: translate(-50%, -50%) !important;
    border-radius: 50% !important;
    background: radial-gradient(circle, rgba(81, 156, 213, 0.22), rgba(81, 156, 213, 0.05) 50%, transparent 72%) !important;
    filter: blur(14px) !important;
    animation: ambientDrift 8s ease-in-out infinite !important;
    pointer-events: none !important;
  }

  /* Rotating Tech Orbit SVG Accent */
  .home-page .hero-svg-orbit {
    display: block !important;
    position: absolute !important;
    z-index: 0 !important;
    left: 50% !important;
    top: 48% !important;
    width: min(94vw, 380px) !important;
    height: auto !important;
    transform: translate(-50%, -50%) !important;
    opacity: 0.65 !important;
    pointer-events: none !important;
    animation: svgOrbitFloat 16s ease-in-out infinite !important;
  }

  /* Circular Luminous Orbit Rings */
  .hero-art .orbit-a {
    display: block !important;
    position: absolute !important;
    z-index: 0 !important;
    left: 50% !important;
    top: 48% !important;
    width: min(88vw, 340px) !important;
    height: min(88vw, 340px) !important;
    transform: translate(-50%, -50%) !important;
    border-radius: 50% !important;
    border: 1px solid rgba(81, 156, 213, 0.24) !important;
    pointer-events: none !important;
  }

  .hero-art .orbit-b {
    display: block !important;
    position: absolute !important;
    z-index: 0 !important;
    left: 50% !important;
    top: 48% !important;
    width: min(78vw, 300px) !important;
    height: min(78vw, 300px) !important;
    transform: translate(-50%, -50%) !important;
    border-radius: 50% !important;
    border: 1px dashed rgba(45, 212, 191, 0.2) !important;
    pointer-events: none !important;
  }

  /* Launchpad Card: Spacious, Premium Floating Card */
  .home-page .launchpad-float {
    position: relative !important;
    z-index: 2 !important;
    width: min(90vw, 370px) !important;
    margin: 0 auto !important;
    padding: 20px 22px 18px !important;
    border-radius: 26px !important;
    animation: launchpadDrift 5.6s ease-in-out infinite !important;
  }

  .home-page .launchpad-visual {
    height: 165px !important;
    margin: 8px auto 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .home-page .launchpad-feature {
    height: 115px !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
  }

  .home-page .launchpad-float h2 {
    font-family: var(--display) !important;
    font-size: clamp(34px, 8.5vw, 44px) !important;
    letter-spacing: -0.05em !important;
    line-height: 1.02 !important;
    margin: 10px 0 12px !important;
    text-align: center !important;
  }

  /* Hero Art Chips: Pill Badges with Natural Breathing Room */
  .hero-art-chips {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    margin-top: 14px !important;
    margin-bottom: 0 !important;
    width: 100% !important;
    position: relative !important;
    z-index: 4 !important;
  }

  .hero-art-chips .floating-chip,
  .floating-chip.chip-one,
  .floating-chip.chip-two {
    position: static !important;
    display: inline-flex !important;
    font-size: 11.5px !important;
    padding: 7px 15px !important;
    margin: 0 !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.16) !important;
    animation: none !important;
    transform: none !important;
    align-self: center !important;
  }

  /* Open Gateways Hub Spacing on Mobile */
  .landing-open-hub {
    padding: 20px 0 32px !important;
    margin: 0 !important;
  }

  .open-gateway-grid.two-col-gateways {
    margin: 10px 0 28px !important;
    gap: 32px !important;
  }

  .open-gateway-grid.two-col-gateways .open-statement-col {
    padding: 4px 6px !important;
  }

  .statement-tag-row {
    margin-bottom: 10px !important;
  }

  /* Timeline Center Section Spacing */
  .landing-timeline-center-section {
    margin: 20px auto 28px !important;
    padding: 0 !important;
    border: none !important;
  }

  .timeline-center-header {
    margin-bottom: 16px !important;
  }

  .timeline-visual-card.timeline-full-width {
    margin-top: 14px !important;
  }

  /* Page Shell & Footer Spacing */
  .page-shell {
    padding-bottom: 18px !important;
  }

  .site-footer {
    width: 100% !important;
    max-width: 100vw !important;
    margin-top: 24px !important;
    padding: 20px 16px !important;
    border: none !important;
  }
}

/* ==========================================================================
   UNIVERSAL SMOOTH & MOMENTUM SCROLLING FOR ALL PREVIEW DIALOGS & MODALS
   ========================================================================== */
.problem-preview-dialog,
.problem-preview-dialog-shell,
.eligibility-preview-dialog,
.eligibility-dialog-shell,
.eligibility-dialog-content,
.important-dates-dialog,
.dates-dialog-shell,
.dates-dialog-content,
.timeline-lightbox-dialog,
.timeline-lightbox-shell,
.timeline-lightbox-scroll,
.problem-statement-dialog,
.problem-statement-dialog-inner {
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
}

.problem-preview-dialog-shell,
.eligibility-dialog-content,
.dates-dialog-content,
.problem-statement-dialog,
.problem-statement-dialog-inner {
  overflow-y: auto !important;
  touch-action: pan-y !important;
  scroll-behavior: smooth !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(45, 212, 191, 0.45) rgba(255, 255, 255, 0.04) !important;
}

.problem-preview-dialog-shell::-webkit-scrollbar,
.eligibility-dialog-content::-webkit-scrollbar,
.dates-dialog-content::-webkit-scrollbar,
.problem-statement-dialog-inner::-webkit-scrollbar,
.timeline-lightbox-scroll::-webkit-scrollbar {
  width: 8px !important;
  height: 8px !important;
}

.problem-preview-dialog-shell::-webkit-scrollbar-track,
.eligibility-dialog-content::-webkit-scrollbar-track,
.dates-dialog-content::-webkit-scrollbar-track,
.problem-statement-dialog-inner::-webkit-scrollbar-track,
.timeline-lightbox-scroll::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.04) !important;
  border-radius: 999px !important;
}

.problem-preview-dialog-shell::-webkit-scrollbar-thumb,
.eligibility-dialog-content::-webkit-scrollbar-thumb,
.dates-dialog-content::-webkit-scrollbar-thumb,
.problem-statement-dialog-inner::-webkit-scrollbar-thumb,
.timeline-lightbox-scroll::-webkit-scrollbar-thumb {
  background: rgba(45, 212, 191, 0.45) !important;
  border-radius: 999px !important;
}

.problem-preview-dialog-shell::-webkit-scrollbar-thumb:hover,
.eligibility-dialog-content::-webkit-scrollbar-thumb:hover,
.dates-dialog-content::-webkit-scrollbar-thumb:hover,
.problem-statement-dialog-inner::-webkit-scrollbar-thumb:hover,
.timeline-lightbox-scroll::-webkit-scrollbar-thumb:hover {
  background: rgba(45, 212, 191, 0.8) !important;
}

html[data-theme="light"] .problem-preview-dialog-shell::-webkit-scrollbar-thumb,
html[data-theme="light"] .eligibility-dialog-content::-webkit-scrollbar-thumb,
html[data-theme="light"] .dates-dialog-content::-webkit-scrollbar-thumb,
html[data-theme="light"] .problem-statement-dialog-inner::-webkit-scrollbar-thumb,
html[data-theme="light"] .timeline-lightbox-scroll::-webkit-scrollbar-thumb {
  background: rgba(12, 133, 126, 0.45) !important;
}

/* ==========================================================================
   LANDING TOP CAPSULE NAVIGATION BAR (FROSTED GLASS PILL WITH ACTIVE DISC)
   ========================================================================== */
.landing-capsule-navbar {
  position: sticky !important;
  top: 14px !important;
  z-index: 38 !important;
  margin: 10px auto 28px !important;
  width: fit-content !important;
  max-width: calc(100% - 24px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  animation: capsuleFadeDown 0.6s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

@keyframes capsuleFadeDown {
  from {
    opacity: 0;
    transform: translateY(-12px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.capsule-nav-container {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, rgba(15, 30, 54, 0.55) 0%, rgba(8, 18, 33, 0.40) 100%) !important;
  backdrop-filter: blur(28px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(28px) saturate(180%) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
  user-select: none !important;
}

html[data-theme="light"] .capsule-nav-container {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.40) 0%, rgba(240, 248, 255, 0.18) 50%, rgba(255, 255, 255, 0.30) 100%) !important;
  backdrop-filter: blur(30px) saturate(190%) contrast(108%) !important;
  -webkit-backdrop-filter: blur(30px) saturate(190%) contrast(108%) !important;
  border: 1px solid rgba(255, 255, 255, 0.65) !important;
  box-shadow: 0 16px 42px rgba(24, 52, 85, 0.09), 0 3px 10px rgba(24, 52, 85, 0.04), inset 0 1.5px 1px rgba(255, 255, 255, 0.98), inset 0 -1px 2px rgba(0, 0, 0, 0.03) !important;
}

.capsule-nav-item {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  padding: 8px 18px !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  color: var(--theme-muted, #94a3b8) !important;
  font-family: 'Sora', 'Plus Jakarta Sans', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.015em !important;
  transition: all 0.22s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
  cursor: pointer !important;
}

.capsule-nav-item:hover {
  color: var(--theme-ink, #ffffff) !important;
  transform: translateY(-1px) !important;
}

.capsule-nav-icon {
  width: 20px !important;
  height: 20px !important;
  flex-shrink: 0 !important;
  transition: transform 0.22s ease, stroke 0.22s ease !important;
}

.capsule-nav-label {
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* Active Highlight Pill / Disc Shape (matches uploaded reference image) */
.capsule-nav-item.is-active {
  color: #2dd4bf !important;
}

.capsule-nav-item.is-active .capsule-item-highlight {
  position: absolute !important;
  inset: 0 !important;
  border-radius: 999px !important;
  background: rgba(45, 212, 191, 0.16) !important;
  border: 1px solid rgba(45, 212, 191, 0.35) !important;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.18), 0 4px 14px rgba(45, 212, 191, 0.15) !important;
  pointer-events: none !important;
}

.capsule-nav-item.is-active .capsule-nav-icon {
  transform: scale(1.08) !important;
  stroke: #2dd4bf !important;
}

html[data-theme="light"] .capsule-nav-item {
  color: #334e68 !important;
}

html[data-theme="light"] .capsule-nav-item:hover {
  color: #102a43 !important;
  background: rgba(255, 255, 255, 0.35) !important;
}

html[data-theme="light"] .capsule-nav-item.is-active {
  color: #0c6467 !important;
}

html[data-theme="light"] .capsule-nav-item.is-active .capsule-item-highlight {
  background: linear-gradient(145deg, rgba(12, 133, 126, 0.14), rgba(8, 126, 130, 0.06)) !important;
  border: 1px solid rgba(12, 133, 126, 0.22) !important;
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.9), 0 4px 14px rgba(8, 126, 130, 0.10) !important;
}

html[data-theme="light"] .capsule-nav-item.is-active .capsule-nav-icon {
  stroke: #0c6467 !important;
}

@media (max-width: 650px) {
  .landing-capsule-navbar {
    top: 8px !important;
    margin: 6px auto 18px !important;
    max-width: calc(100% - 16px) !important;
  }
  .capsule-nav-container {
    gap: 3px !important;
    padding: 5px 6px !important;
  }
  .capsule-nav-item {
    padding: 6px 11px !important;
    font-size: 10px !important;
    gap: 2px !important;
  }
  .capsule-nav-icon {
    width: 17px !important;
    height: 17px !important;
  }
}

/* ==========================================================================
   STRICT MODAL BACKGROUND SCROLL LOCK (BG CANNOT SCROLL WHEN PREVIEW IS OPEN)
   ========================================================================== */
html:has(dialog[open]),
body.dialog-open {
  overflow: hidden !important;
  height: 100vh !important;
  overscroll-behavior: none !important;
}

/* But preserve smooth scrolling inside the modal scroll containers exclusively */
body.dialog-open .problem-preview-dialog-shell,
body.dialog-open .eligibility-dialog-content,
body.dialog-open .dates-dialog-content,
body.dialog-open .problem-statement-dialog,
body.dialog-open .problem-statement-dialog-inner {
  touch-action: pan-y !important;
  overscroll-behavior: contain !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

body.dialog-open .timeline-lightbox-scroll {
  touch-action: pan-x pan-y !important;
  overscroll-behavior: contain !important;
  overflow: auto !important;
  -webkit-overflow-scrolling: touch !important;
}
