:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f5f1e8;--paper-raised:#fffdf7;--paper-deep:#ebe5d8;--ink:#15382b;--ink-soft:#52665c;--ink-faint:#5c6a62;--line:#cbd3c7;--line-strong:#9cac9f;--leaf:#2f7d52;--leaf-dark:#215d3d;--leaf-soft:#e3eddf;--leaf-bright:#b8d96f;--pollen:#f2c14e;--pollen-soft:#fbefc8;--mineral:#dce1dc;--danger:#a33d35;--danger-dark:#7e2e29;--danger-soft:#f4e2dc;--white:#fff;--font-sans:"Manrope Variable", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Consolas, monospace;--text-xs:.72rem;--text-sm:.86rem;--text-body:1rem;--text-lead:clamp(1.05rem, 1.7vw, 1.24rem);--text-title:clamp(2.4rem, 6vw, 5.6rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--space-9:7rem;--content:1180px;--content-narrow:760px;--gutter:clamp(1.1rem, 4vw, 2.75rem);--header-height:72px;--control-height:44px;--border:1px solid var(--line);--border-strong:1px solid var(--line-strong);--radius-xs:4px;--radius-sm:8px;--radius-md:14px;--radius-round:999px;--shadow-float:0 18px 50px #15382b1a;--shadow-dialog:0 28px 80px #15382b2e;--ease:cubic-bezier(.2, .7, .2, 1);--motion-fast:.15s;--motion-base:.24s;--motion-slow:.7s;--z-header:40;--z-mobile-action:50;--z-picker:70;--z-search:80;--z-modal:90}html{background:var(--paper);scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;min-width:320px}body{background:var(--paper);min-width:320px;min-height:100vh;color:var(--ink);font-family:var(--font-sans);font-size:var(--text-body);font-synthesis:none;text-rendering:optimizelegibility;margin:0;line-height:1.6;overflow-x:hidden}[hidden]{display:none!important}::selection{background:var(--pollen);color:var(--ink)}h1,h2,h3,p,ul{margin-top:0}h1,h2,h3{color:var(--ink);letter-spacing:-.035em;text-wrap:balance;font-weight:650;line-height:1.04}p{text-wrap:pretty}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}img,svg{max-width:100%;display:block}button,input,select,textarea{color:inherit;font:inherit}button,select{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.58}:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.container,.page-width{width:min(100% - (var(--gutter) * 2), var(--content));margin-inline:auto}.skip-link{z-index:calc(var(--z-modal) + 10);top:var(--space-3);left:var(--space-3);min-height:var(--control-height);transform:translateY(calc(-100% - var(--space-5)));border:2px solid var(--ink);background:var(--pollen);color:var(--ink);transition:transform var(--motion-fast) var(--ease);padding:.65rem 1rem;font-weight:750;text-decoration:none;position:fixed}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.eyebrow,.panel-heading>span,.section-heading>.eyebrow{margin:0 0 var(--space-3);color:var(--leaf-dark);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;font-weight:500;line-height:1.5;display:block}.section-heading{justify-content:space-between;align-items:end;gap:var(--space-5);margin-bottom:var(--space-6);display:flex}.section-heading h2,.panel-heading h2,.panel-heading h3{margin:0}.section-heading h2{font-size:clamp(2rem,5vw,3.7rem)}.panel-heading>span{margin-bottom:var(--space-2)}.btn,.icon-button{min-width:44px;min-height:var(--control-height);border-radius:var(--radius-sm);transition:background-color var(--motion-fast) var(--ease), border-color var(--motion-fast) var(--ease), color var(--motion-fast) var(--ease), transform var(--motion-fast) var(--ease);border:1px solid #0000;font-weight:700;line-height:1.15;text-decoration:none}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:.72rem 1.15rem;display:inline-flex}.btn-small{min-height:var(--control-height);font-size:var(--text-sm);padding:.58rem .85rem}.btn-primary{background:var(--leaf);color:var(--white)}.btn-primary:hover,.btn-primary:focus-visible{background:var(--leaf-dark);transform:translateY(-1px)}.btn-secondary{border-color:var(--ink);color:var(--ink);background:0 0}.btn-secondary:hover,.btn-secondary:focus-visible{background:var(--ink);color:var(--paper-raised)}.btn-ghost:hover,.btn-ghost:focus-visible{border-color:var(--ink);background:var(--paper-raised)}.btn-danger{border-color:var(--danger);background:var(--danger);color:var(--white)}.btn-danger:hover,.btn-danger:focus-visible{border-color:var(--danger-dark);background:var(--danger-dark)}.icon-button{color:var(--ink);background:0 0;place-items:center;padding:.65rem;display:inline-grid}.icon-button:hover,.icon-button:focus-visible{border-color:var(--line-strong);background:var(--paper-deep)}.form-row{gap:var(--space-2);min-width:0;display:grid}.form-row input,.form-row select,.form-row textarea,.inline-form input,.admin-file-edit input{width:100%;min-width:0;min-height:var(--control-height);border:var(--border-strong);border-radius:var(--radius-sm);background:var(--paper-raised);transition:border-color var(--motion-fast) var(--ease), box-shadow var(--motion-fast) var(--ease);padding:.72rem .85rem}.form-row textarea{resize:vertical;min-height:7rem}.form-row input:focus,.form-row select:focus,.form-row textarea:focus,.inline-form input:focus,.admin-file-edit input:focus{border-color:var(--leaf);box-shadow:0 0 0 3px #2f7d5224}.form-row input[aria-invalid=true],.form-row select[aria-invalid=true],.form-row textarea[aria-invalid=true]{border-color:var(--danger)}.form-row input[type=file]::file-selector-button{min-height:var(--control-height);margin-right:var(--space-3);border-radius:var(--radius-xs);background:var(--ink);color:var(--white);border:0;padding-inline:.9rem;font-weight:700}.inline-form{align-items:start;gap:var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.inline-form input{flex:15rem}.form-note{border-left:3px solid var(--line-strong);background:var(--paper-deep);color:var(--ink-soft);font-size:var(--text-sm);overflow-wrap:anywhere;margin:0;padding:.75rem .9rem}.form-note-info,.form-note-idle{border-left-color:var(--pollen);background:var(--pollen-soft);color:var(--ink)}.form-note-success{border-left-color:var(--leaf);background:var(--leaf-soft);color:var(--leaf-dark)}.form-note-error{border-left-color:var(--danger);background:var(--danger-soft);color:var(--danger-dark)}.password-field{min-width:0;position:relative}.password-field button{top:50%;right:var(--space-1);min-width:44px;min-height:var(--control-height);border-radius:var(--radius-xs);color:var(--leaf-dark);font-family:var(--font-mono);font-size:var(--text-xs);background:0 0;border:0;font-weight:500;position:absolute;transform:translateY(-50%)}.password-field button:hover,.password-field button:focus-visible{background:var(--leaf-soft)}.topbar{z-index:var(--z-header);min-height:var(--header-height);isolation:isolate;border-bottom:var(--border);background:#f5f1e8f5;position:sticky;top:0}.topbar-inner{z-index:2;min-height:var(--header-height);justify-content:space-between;align-items:center;gap:var(--space-5);display:flex;position:relative}.brand{min-width:0;min-height:var(--control-height);align-items:center;gap:var(--space-3);color:var(--ink);text-decoration:none;display:inline-flex}.brand-logo{flex:none;width:42px;height:42px}.brand-mark{width:100%;height:100%}.brand-title{letter-spacing:-.035em;font-size:1.08rem;font-weight:780}.topbar-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);min-width:0;display:flex}.header-search-trigger{align-items:center;gap:var(--space-2);grid-auto-flow:column;padding-inline:.85rem;display:inline-flex}.header-search-trigger[aria-expanded=true]{border-color:var(--leaf-dark);background:var(--leaf-soft);color:var(--leaf-dark);box-shadow:inset 0 -3px 0 var(--pollen)}.profile-avatar-link{border-radius:50%;place-items:center;min-width:44px;min-height:44px;text-decoration:none;display:grid}.avatar-circle{border:1px solid var(--line-strong);background:var(--leaf-soft);border-radius:50%;width:40px;height:40px;display:block;overflow:hidden}.avatar-image{object-fit:cover;width:100%;height:100%}.header-search-panel{z-index:1;border-bottom:1px solid var(--ink);background:var(--paper-raised);transform-origin:top;animation:search-panel-drop .3s var(--ease) both;position:absolute;top:100%;left:0;right:0;overflow:hidden;box-shadow:0 22px 44px #15382b24}.header-search-panel:before{background:linear-gradient(90deg, var(--leaf) 0 58%, var(--pollen) 58% 74%, var(--ink) 74%);content:"";height:3px;position:absolute;top:0;left:0;right:0}.header-search-panel-inner{padding-block:var(--space-5);grid-template-columns:minmax(150px,.32fr) minmax(0,1fr);align-items:start;gap:clamp(1.5rem,5vw,4.5rem);display:grid}.header-search-intro{gap:var(--space-2);padding-top:var(--space-2);display:grid}.header-search-intro p{max-width:16rem;color:var(--ink-soft);font-size:var(--text-sm);margin:0}.header-search-workspace{min-width:0}.header-search-controls{align-items:center;gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.search-dialog-field{align-items:center;gap:var(--space-3);border:1px solid var(--ink);border-radius:var(--radius-xs);background:var(--paper);min-height:54px;box-shadow:inset 4px 0 0 var(--pollen);padding:0 var(--space-4);animation:search-field-arrival .56s var(--ease) 80ms backwards;transition:background-color var(--motion-fast) var(--ease), box-shadow var(--motion-base) var(--ease), transform var(--motion-base) var(--ease);grid-template-columns:auto minmax(0,1fr);display:grid}.search-dialog-field:focus-within{background:var(--leaf-soft);box-shadow:inset 6px 0 0 var(--leaf), 0 0 0 3px #2f7d5224;transform:translateY(-1px)}.search-dialog-field>svg{color:var(--leaf-dark)}.search-dialog-field:focus-within>svg{animation:search-icon-signal 1.5s var(--ease) infinite}.search-dialog-field input{width:100%;min-width:0;min-height:44px;color:var(--ink);background:0 0;border:0;outline:0;font-size:clamp(1rem,2.5vw,1.18rem)}.search-dialog-field input::placeholder{color:var(--ink-faint)}.header-search-close{border-color:var(--line-strong);background:var(--paper)}.header-search-results-frame{overscroll-behavior:contain;max-height:min(52vh,420px);overflow-y:auto}.search-dialog-results{padding:var(--space-2) 0 0;margin:0}.search-dialog-option{animation:search-result-rise .26s var(--ease) both}.search-dialog-option:nth-child(2){animation-delay:35ms}.search-dialog-option:nth-child(3){animation-delay:70ms}.search-dialog-option:nth-child(4){animation-delay:.105s}.search-dialog-option:nth-child(n+5){animation-delay:.14s}.search-dialog-option{align-items:center;gap:var(--space-4);width:100%;min-height:64px;color:var(--ink);padding:var(--space-3) var(--space-4);text-align:left;transition:background-color var(--motion-fast) var(--ease), box-shadow var(--motion-base) var(--ease), transform var(--motion-fast) var(--ease);background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;display:grid}.search-dialog-option:hover,.search-dialog-option:focus-visible,.search-dialog-option[aria-selected=true]{background:var(--leaf-soft);box-shadow:inset 5px 0 0 var(--pollen);transform:translate(4px)}.search-dialog-option[aria-selected=true]>svg{color:var(--leaf-dark);transform:translate(2px)}.search-dialog-option:active{background:var(--pollen-soft);transform:translate(4px)scale(.994)}.search-dialog-option-copy strong{overflow-wrap:anywhere}.search-dialog-option-copy span{color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--text-xs)}.search-dialog-empty{margin:var(--space-2) 0 0;border-top:var(--border);color:var(--ink-soft);padding:var(--space-5) var(--space-4) var(--space-3)}@keyframes search-panel-drop{0%{opacity:0;transform:translateY(-14px)scaleY(.96)}62%{opacity:1;transform:translateY(2px)scaleY(1.005)}to{opacity:1;transform:translateY(0)scaleY(1)}}@keyframes search-field-arrival{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes search-icon-signal{0%,to{color:var(--leaf-dark);transform:scale(1)}50%{color:#9a6800;transform:scale(1.16)rotate(-5deg)}}@keyframes search-result-rise{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.home-hero{border-bottom:var(--border)}.home-page{min-width:0}.home-hero-inner{min-height:min(760px, calc(100vh - var(--header-height)));padding-block:var(--space-8);grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:center;gap:clamp(2rem,8vw,7rem);display:grid}.home-hero-copy{z-index:1;min-width:0;position:relative}.home-hero-copy h1{max-width:800px;font-size:var(--text-title);letter-spacing:-.065em;margin:0}.home-intro{max-width:570px;margin:var(--space-5) 0 0;color:var(--ink-soft);font-size:var(--text-lead)}.home-hero-actions{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.home-dna{isolation:isolate;place-items:center;min-height:480px;display:grid;position:relative}.home-dna:before{content:"";z-index:-1;aspect-ratio:1;transform-origin:52% 48%;width:min(35vw,390px);animation:dna-field-pulse 5.4s var(--ease) infinite;background:linear-gradient(145deg,#b8d96fc7,#f2c14e47 58%,#0000 58%);border-radius:50%;position:absolute;transform:translate(8%,2%)}.home-dna:after{content:"";z-index:-1;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);animation:dna-axis-sway 7s var(--ease) infinite alternate;position:absolute;inset:8% 3%;transform:rotate(-7deg)}.home-dna-index{color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;position:absolute;top:5%;right:0}.dna-helix{width:min(250px,72%);color:var(--ink);transform-origin:50%;filter:drop-shadow(0 11px 16px #15382b24);animation:dna-orbit 5.4s var(--ease) infinite;overflow:visible}.dna-helix-strand-primary{color:var(--leaf)}.dna-helix-strand{stroke-dasharray:.69 .06;stroke-dashoffset:0;vector-effect:non-scaling-stroke;animation:4.8s linear infinite dna-strand-flow}.dna-helix-strand-secondary{color:var(--ink);animation-duration:5.6s;animation-direction:reverse}.dna-helix-rungs{color:var(--pollen)}.dna-helix-rung{opacity:.38;transform-box:fill-box;transform-origin:50%;animation:dna-rung-pulse 2.45s var(--ease) infinite;animation-delay:calc(var(--rung-index) * -180ms)}.dna-annotation{color:var(--ink-faint);transform-box:fill-box;transform-origin:50%;animation:dna-annotation-signal 3.2s var(--ease) infinite alternate}@keyframes dna-orbit{0%,to{filter:drop-shadow(0 11px 16px #15382b24);transform:translateY(0)rotate(-4deg)scale(.98)}42%{filter:drop-shadow(7px 15px 18px #2f7d5238);transform:translateY(-13px)rotate(3deg)scale(1.025)}68%{filter:drop-shadow(-4px 8px 14px #f2c14e33);transform:translateY(-6px)rotate(1deg)scale(1.01)}}@keyframes dna-strand-flow{to{stroke-dashoffset:-.75px}}@keyframes dna-rung-pulse{0%,to{opacity:.34;transform:scaleX(.78)}48%{opacity:1;transform:scaleX(1.08)}}@keyframes dna-field-pulse{0%,to{opacity:.78;transform:translate(8%,2%)scale(.96)rotate(-2deg)}50%{opacity:1;transform:translate(4%,-1%)scale(1.055)rotate(3deg)}}@keyframes dna-axis-sway{0%{transform:rotate(-9deg)translateY(5px)}to{transform:rotate(-4deg)translateY(-5px)}}@keyframes dna-annotation-signal{0%{opacity:.36;transform:scale(.94)}to{opacity:.9;transform:scale(1.04)}}.home-archive{padding-block:var(--space-9)}.archive-row{align-items:center;gap:var(--space-5);border-bottom:var(--border-strong);min-height:116px;color:var(--ink);padding:var(--space-5) var(--space-3);transition:background-color var(--motion-fast) var(--ease), padding-inline var(--motion-base) var(--ease);grid-template-columns:5rem minmax(0,1fr) auto;text-decoration:none;display:grid}.archive-row:hover,.archive-row:focus-visible{background:var(--paper-raised);padding-inline:var(--space-5)}.archive-row-index{color:var(--leaf-dark);font-family:var(--font-mono);font-size:var(--text-sm)}.archive-row-copy{align-items:center;gap:var(--space-5);grid-template-columns:minmax(12rem,.65fr) minmax(0,1fr);min-width:0;display:grid}.archive-row-copy strong{letter-spacing:-.035em;font-size:clamp(1.25rem,3vw,2rem)}.archive-row-copy>span{color:var(--ink-soft);font-size:var(--text-sm)}.home-contribution{border-top:1px solid var(--ink);background:var(--ink);color:var(--paper)}.home-contribution-inner{align-items:start;gap:var(--space-7);padding-block:var(--space-8);grid-template-columns:.45fr 1fr .7fr;display:grid}.home-contribution h2{color:var(--paper-raised);margin:0;font-size:clamp(1.8rem,4vw,3.2rem)}.home-contribution-inner>p:last-child{color:var(--mineral);margin:0}.site-footer{border-top:var(--border);background:var(--paper-deep)}.site-footer-inner{gap:var(--space-7);padding-block:var(--space-7);grid-template-columns:minmax(250px,1.5fr) repeat(2,minmax(130px,.55fr));display:grid}.site-footer-brand{max-width:440px}.footer-main{margin-bottom:var(--space-2);font-size:1.15rem;font-weight:780}.footer-sub{color:var(--ink-soft);font-size:var(--text-sm);margin:0}.footer-links{align-content:start;gap:var(--space-2);display:grid}.footer-links a{min-height:var(--control-height);width:fit-content;color:var(--ink-soft);align-items:center;text-decoration:none;display:flex}.footer-links a:hover,.footer-links a:focus-visible{color:var(--ink);text-decoration:underline}.site-footer-copyright{border-top:var(--border);color:var(--ink-faint);font-family:var(--font-mono);font-size:var(--text-xs);padding-top:var(--space-4);grid-column:1/-1;margin:0}.year-page{padding-block:var(--space-7) var(--space-9)}.year-header{column-gap:var(--space-8);border-top:1px solid var(--ink);border-bottom:var(--border-strong);padding-block:var(--space-6) var(--space-5);grid-template-columns:minmax(0,.8fr) minmax(260px,.45fr);display:grid}.year-header .eyebrow,.year-title{grid-column:1}.year-description{color:var(--ink-soft);font-size:var(--text-lead);grid-area:1/2/span 2;align-self:end;margin:0 0 .6rem}.year-nav{gap:var(--space-2);margin-top:var(--space-6);flex-wrap:wrap;grid-column:1/-1;display:flex}.year-nav-link{min-height:var(--control-height);border:var(--border-strong);border-radius:var(--radius-round);color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--text-xs);align-items:center;padding-inline:1rem;font-weight:500;text-decoration:none;display:inline-flex}.year-nav-link:hover,.year-nav-link:focus-visible{border-color:var(--ink);color:var(--ink)}.year-nav-link-active,.year-nav-link-active:hover,.year-nav-link-active:focus-visible{border-color:var(--ink);background:var(--ink);color:var(--paper-raised)}.year-nav-link-taf:not(.year-nav-link-active){border-color:var(--pollen)}.year-sections{margin-top:var(--space-8)}.year-sections[aria-busy=true]{cursor:progress}.year-section+.year-section{margin-top:var(--space-8)}.year-section-title{border-bottom:1px solid var(--ink);color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;padding-bottom:var(--space-3);text-transform:uppercase;margin:0;font-weight:500}.course{border-top:var(--border);min-width:0;transition:background-color var(--motion-base) var(--ease), box-shadow var(--motion-base) var(--ease), transform var(--motion-fast) var(--ease);background:0 0;position:relative}.course-header-row{align-items:center;gap:var(--space-5);width:100%;min-height:82px;color:var(--ink);padding:var(--space-4) var(--space-2);text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;display:grid}.course-trigger{cursor:pointer;transition:background-color var(--motion-fast) var(--ease), transform var(--motion-fast) var(--ease)}.course.status-ok{background:var(--leaf-soft);box-shadow:inset 4px 0 0 var(--leaf)}.course.status-ok .course-trigger:active{background:var(--leaf-soft);transform:translateY(1px)scale(.992)}.course.course-open{background:var(--paper-raised);box-shadow:inset 7px 0 0 var(--leaf-dark)}.course-header-row[aria-disabled=true]{cursor:default}.course-title{letter-spacing:-.025em;overflow-wrap:anywhere;min-width:0;font-size:clamp(1.02rem,2.2vw,1.35rem);font-weight:680}.file-badge,.course-status{font-family:var(--font-mono);font-size:var(--text-xs);text-align:right;line-height:1.45}.file-badge{align-items:center;gap:var(--space-2);border:1px solid var(--leaf-dark);border-radius:var(--radius-round);background:var(--leaf-dark);color:var(--paper-raised);white-space:nowrap;padding:.35rem .65rem;display:inline-flex}.file-badge:before{background:var(--pollen);content:"";width:.48rem;height:.48rem;animation:availability-pulse 2s var(--ease) infinite;border-radius:50%;flex:none;box-shadow:0 0 #f2c14e73}.course-status{color:var(--ink-faint)}.status-loading .course-status{animation:1.3s ease-in-out infinite alternate status-pulse}.status-missing .course-title{color:var(--ink-soft)}.course.status-missing{box-shadow:inset 1px 0 0 var(--line);background:0 0}.course.course-unavailable-nudge{animation:course-unavailable-nudge .44s var(--ease)}@keyframes status-pulse{0%{opacity:.45}to{opacity:1}}@keyframes availability-pulse{0%,58%,to{transform:scale(1);box-shadow:0 0 #f2c14e6b}72%{transform:scale(1.14);box-shadow:0 0 0 .38rem #f2c14e00}}@keyframes course-unavailable-nudge{0%,to{box-shadow:inset 1px 0 0 var(--line);background:0 0;transform:translate(0)}18%{background:var(--pollen-soft);box-shadow:inset 4px 0 0 var(--pollen);transform:translate(-7px)}40%{transform:translate(6px)}62%{transform:translate(-4px)}82%{transform:translate(2px)}}@keyframes archive-highlight{0%,to{background:var(--leaf-soft);box-shadow:inset 4px 0 0 var(--leaf);transform:translate(0)}45%{background:var(--pollen-soft);box-shadow:inset 8px 0 0 var(--pollen), 0 0 0 2px #2f7d5229;transform:translate(3px)}}.course-dropdown{border-top:var(--border);padding:var(--space-3) var(--space-2) var(--space-5)}.course-dropdown.open{transform-origin:top;animation:course-panel-reveal .36s var(--ease);display:block}@keyframes course-panel-reveal{0%{opacity:0;transform:translateY(-8px)scaleY(.98)}to{opacity:1;transform:translateY(0)scaleY(1)}}.download-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.download-list li+li{border-top:var(--border)}.download-list a{align-items:center;gap:var(--space-3);min-height:58px;color:var(--ink);padding:var(--space-3);grid-template-columns:auto minmax(0,1fr);text-decoration:none;display:grid}.download-list a:hover,.download-list a:focus-visible{background:var(--leaf-soft)}.document-mark{border:1px solid var(--leaf);border-radius:var(--radius-xs);color:var(--leaf-dark);font-family:var(--font-mono);letter-spacing:.06em;padding:.3rem .38rem;font-size:.62rem;font-weight:500}.file-info{justify-content:space-between;align-items:center;gap:var(--space-4);min-width:0;display:flex}.file-name{overflow-wrap:anywhere;min-width:0;font-weight:650}.file-action{color:var(--leaf-dark);font-family:var(--font-mono);font-size:var(--text-xs);flex:none}.course-subgroups{gap:var(--space-3);display:grid}.course-general-material,.course-subgroup{border-left:2px solid var(--line-strong);padding-left:var(--space-4)}.course-general-material h3{margin:var(--space-2) 0 var(--space-3);color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:500}.course-subgroup-header{align-items:center;gap:var(--space-4);width:100%;min-height:56px;padding:var(--space-2) var(--space-3);text-align:left;transition:background-color var(--motion-fast) var(--ease), transform var(--motion-fast) var(--ease);background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;display:grid}.course-subgroup.status-ok .course-subgroup-header:hover,.course-subgroup.status-ok .course-subgroup-header:focus-visible,.course-subgroup-open{background:var(--leaf-soft)}.course-subgroup.status-ok .course-subgroup-header:active{background:var(--leaf-soft);transform:translateY(1px)scale(.994)}.course-subgroup.status-missing .course-subgroup-header{cursor:default}.course-subgroup-title{overflow-wrap:anywhere;font-weight:650}.download-list-nested{border-top:var(--border);margin-left:var(--space-3)}.modal-overlay{z-index:var(--z-modal);padding:var(--gutter);background:#15382bad;place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.modal-content{width:min(100%,520px);max-height:calc(100vh - (var(--gutter) * 2));border:1px solid var(--ink);border-radius:var(--radius-md);background:var(--paper-raised);box-shadow:var(--shadow-dialog);padding:clamp(1.5rem,5vw,2.5rem);overflow-y:auto}.modal-label{color:var(--leaf-dark);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase}.modal-content h2{margin:var(--space-3) 0;font-size:clamp(1.8rem,5vw,2.7rem)}.modal-content p{color:var(--ink-soft)}.modal-actions{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6);display:flex}@media (prefers-reduced-motion:reduce){.course.course-open,.course.course-unavailable-nudge,.course-dropdown.open,.file-badge:before,.highlight-pulse{animation:none!important}.course,.course-trigger,.course-subgroup-header,.highlight-pulse{transform:none!important}}.auth-page{min-height:calc(100vh - var(--header-height));padding:var(--space-8) var(--gutter);place-items:center;display:grid}.auth-card{border-top:1px solid var(--ink);border-bottom:var(--border-strong);background:var(--paper-raised);grid-template-columns:minmax(240px,.82fr) minmax(300px,1fr);column-gap:clamp(2rem,8vw,6rem);width:min(100%,920px);padding:clamp(1.5rem,6vw,4rem);display:grid}.auth-heading{grid-row:1/span 2}.auth-heading h1{margin:0 0 var(--space-4);letter-spacing:-.06em;font-size:clamp(2.4rem,6vw,4.6rem)}.auth-heading p,.auth-switch{color:var(--ink-soft)}.auth-card>.clean-form,.auth-card>.auth-success{align-self:start}.auth-switch{margin:var(--space-5) 0 0;font-size:var(--text-sm);grid-column:2}.auth-success{border-left:3px solid var(--leaf);background:var(--leaf-soft);padding:var(--space-5)}.auth-success p{margin-bottom:var(--space-4)}.support-page,.guidelines-page,.leaderboard-page,.legal-page,.not-found-page{padding-block:var(--space-8) var(--space-9)}.support-intro{top:calc(var(--header-height) + var(--space-6));border-top:1px solid var(--ink);padding-top:var(--space-5);position:sticky}.support-intro h1,.guidelines-intro h1,.leaderboard-hero h1,.legal-header h1,.not-found-content h1{margin:0 0 var(--space-4);letter-spacing:-.06em;font-size:clamp(2.5rem,7vw,5rem)}.support-intro>p:not(.eyebrow){color:var(--ink-soft);font-size:var(--text-lead)}.support-card{border-top:1px solid var(--ink);border-bottom:var(--border-strong);background:var(--paper-raised);padding:clamp(1.5rem,5vw,3rem)}.guidelines-intro p:last-child,.leaderboard-hero p,.legal-header p,.not-found-content>p:not(.eyebrow){color:var(--ink-soft);font-size:var(--text-lead)}.guidelines-list{border-top:1px solid var(--ink)}.guidelines-item{gap:var(--space-5);border-bottom:var(--border-strong);padding:var(--space-6) var(--space-2);grid-template-columns:5rem minmax(0,1fr);display:grid}.guidelines-number{color:var(--leaf-dark);font-family:var(--font-mono);font-size:var(--text-sm)}.guidelines-item h2{margin:0 0 var(--space-3);font-size:clamp(1.3rem,3vw,2rem)}.guidelines-item p{max-width:780px;color:var(--ink-soft);margin:0}.leaderboard-hero{max-width:800px}.leaderboard-grid{gap:var(--space-7);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.leaderboard-card,.leaderboard-page>.container>.profile-panel{border-top:1px solid var(--ink);min-width:0;padding-top:var(--space-5)}.leaderboard-list{border-bottom:var(--border-strong)}.leaderboard-row{align-items:center;gap:var(--space-3);border-top:var(--border);min-width:0;padding-block:var(--space-4);grid-template-columns:3rem minmax(0,1fr) auto;display:grid}.leaderboard-rank{color:var(--leaf-dark);font-family:var(--font-mono);font-size:var(--text-sm)}.leaderboard-user{min-width:0;display:grid}.leaderboard-user strong{overflow-wrap:anywhere}.leaderboard-user small,.leaderboard-score span{color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--text-xs)}.leaderboard-score{text-align:right;display:grid}.leaderboard-score strong{color:var(--ink);font-family:var(--font-mono);font-size:1.25rem}.leaderboard-row:first-child .leaderboard-rank,.leaderboard-row:first-child .leaderboard-score strong{color:#7b5a05}.legal-content{max-width:var(--content-narrow)}.legal-header{margin-bottom:var(--space-8);border-bottom:1px solid var(--ink);padding-bottom:var(--space-6)}.legal-header p:last-child{font-family:var(--font-mono);font-size:var(--text-xs);margin:0}.legal-content section{gap:var(--space-6);border-bottom:var(--border);padding-block:var(--space-6);grid-template-columns:minmax(150px,.42fr) minmax(0,1fr);display:grid}.legal-content section h2{margin:0;font-size:1.15rem}.legal-content section p{color:var(--ink-soft);margin:0}.legal-content section a{color:var(--leaf-dark);font-weight:700}.not-found-content{align-items:center;gap:var(--space-3);grid-template-columns:repeat(2,max-content) minmax(0,1fr);max-width:860px;display:grid}.not-found-content>.brand-mark{width:88px;margin-bottom:var(--space-5);grid-column:1/-1}.not-found-content>.eyebrow,.not-found-content>h1,.not-found-content>p,.not-found-links{grid-column:1/-1}.not-found-links{gap:var(--space-4);margin-top:var(--space-7);border-top:var(--border-strong);padding-top:var(--space-5);flex-wrap:wrap;display:flex}.not-found-links a{min-height:44px;color:var(--leaf-dark);align-items:center;font-weight:700;display:inline-flex}.not-found-links a:hover,.not-found-links a:focus-visible{color:var(--ink)}.profile-page{padding-block:var(--space-7) var(--space-9)}.profile-page .container,.profile-hero>*,.profile-main-grid>*,.admin-grid>*{min-width:0}.profile-hero{align-items:center;gap:var(--space-5);border-top:1px solid var(--ink);border-bottom:var(--border-strong);padding-block:var(--space-5);grid-template-columns:auto minmax(180px,1fr) auto auto;display:grid;position:relative}.profile-identity-masthead{isolation:isolate}.profile-avatar-wrap{position:relative}.profile-avatar,.profile-avatar-button{border:1px solid var(--ink);background:var(--leaf-soft);border-radius:50%;width:80px;height:80px;padding:0;display:block;overflow:hidden}.avatar-preset{position:relative}.profile-avatar-button:hover,.profile-avatar-button:focus-visible{border-color:var(--leaf);box-shadow:0 0 0 4px var(--leaf-soft)}.avatar-preset-leaf,.avatar-preset-cell,.avatar-preset-marine{background:var(--leaf-soft)}.avatar-preset-dna,.avatar-preset-pollen,.avatar-preset-amber{background:var(--pollen-soft)}.avatar-preset-lab,.avatar-preset-molecule,.avatar-preset-violet,.avatar-preset-slate{background:var(--paper-deep)}.profile-identity h1{letter-spacing:-.055em;overflow-wrap:anywhere;margin:0;font-size:clamp(2rem,5vw,3.8rem)}.profile-identity .eyebrow{margin-bottom:var(--space-1)}.profile-identity p{margin:var(--space-2) 0 0;color:var(--ink-soft);overflow-wrap:anywhere}.profile-summary{border-left:var(--border-strong);grid-template-columns:repeat(2,minmax(88px,1fr));display:grid}.profile-summary>div{gap:var(--space-1);padding-inline:var(--space-5);display:grid}.profile-summary>div+div{border-left:var(--border)}.profile-summary span,.admin-item span,.admin-item small,.admin-user-row small{color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--text-xs)}.profile-summary strong{font-size:1.15rem}.profile-logout{align-self:start}.avatar-picker-panel{z-index:var(--z-picker);top:calc(100% + var(--space-3));width:min(340px, calc(100vw - (var(--gutter) * 2)));border:1px solid var(--ink);border-radius:var(--radius-md);background:var(--paper-raised);box-shadow:var(--shadow-float);padding:var(--space-4);position:absolute;left:0}.avatar-picker-head button,.admin-user-modal-head button{border:var(--border);border-radius:var(--radius-sm);min-width:44px;min-height:44px;font-family:var(--font-mono);background:0 0}.avatar-picker-head button:hover,.avatar-picker-head button:focus-visible,.admin-user-modal-head button:hover,.admin-user-modal-head button:focus-visible{border-color:var(--ink);background:var(--paper-deep)}.avatar-grid{gap:var(--space-2);grid-template-columns:repeat(5,minmax(44px,1fr));display:grid}.avatar-option{aspect-ratio:1;border:1px solid var(--line-strong);border-radius:50%;min-width:44px;min-height:44px;padding:0;overflow:hidden}.avatar-option:hover,.avatar-option:focus-visible,.avatar-option.is-selected{border-color:var(--ink);box-shadow:0 0 0 3px var(--pollen)}.avatar-status{width:max-content;max-width:260px;margin:var(--space-2) 0 0;color:var(--ink-soft);font-size:var(--text-xs);position:absolute}.profile-panel,.admin-workspace{border:var(--border);border-radius:var(--radius-sm);background:var(--paper-raised)}.account-status{gap:var(--space-4);margin-top:var(--space-5);border-left:4px solid var(--line-strong);grid-template-columns:auto minmax(0,1fr);display:grid}.account-status strong{white-space:nowrap}.account-status span{color:var(--ink-soft)}.account-status-active{border-left-color:var(--leaf);background:var(--leaf-soft)}.account-status-pending{border-left-color:var(--pollen);background:var(--pollen-soft)}.activation-strip{align-items:center;gap:var(--space-6);margin-top:var(--space-5);grid-template-columns:minmax(220px,.7fr) minmax(320px,1fr);display:grid}.activation-strip strong{max-width:520px;display:block}.profile-main-grid{align-items:start;gap:var(--space-5);margin-top:var(--space-5);grid-template-columns:minmax(0,1.15fr) minmax(280px,.65fr);display:grid}.profile-upload-panel,.upload-history-panel{align-self:start}.profile-side-stack{gap:var(--space-5);min-width:0;display:grid}.notice{border-left:3px solid var(--line-strong);background:var(--paper-deep);padding:var(--space-4)}.notice-upload{gap:var(--space-1);margin-bottom:var(--space-5);display:grid}.notice-upload span,.notice-upload small{color:var(--ink-soft);overflow-wrap:anywhere}.notice-upload-pending{border-left-color:var(--pollen);background:var(--pollen-soft)}.notice-upload-approved{border-left-color:var(--leaf);background:var(--leaf-soft)}.notice-upload-rejected{border-left-color:var(--danger);background:var(--danger-soft)}.upload-draft-note{color:var(--ink-soft);overflow-wrap:anywhere}.upload-progress{gap:var(--space-3);border:var(--border);background:var(--paper-deep);padding:var(--space-4);display:grid}.upload-progress-head,.upload-progress-stats{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.upload-progress-head strong{font-family:var(--font-mono);font-size:1.2rem}.upload-progress-head span,.upload-progress-stats{color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--text-xs)}.upload-progress-bar{background:var(--line);height:7px;overflow:hidden}.upload-progress-bar span{background:var(--leaf);height:100%;transition:width var(--motion-base) var(--ease);display:block}@keyframes upload-indeterminate{0%{transform:translate(-20%)}to{transform:translate(210%)}}.btn-upload-complete,.btn-upload-complete:hover,.btn-upload-complete:focus-visible,.btn-upload-complete:disabled{background:var(--leaf-soft);color:var(--leaf-dark);opacity:1;transform:none}.upload-guidelines-backdrop,.admin-user-modal-backdrop{z-index:var(--z-modal);padding:var(--gutter);background:#15382bad;place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.upload-guidelines-modal,.admin-user-modal{width:min(100%,590px);max-height:calc(100vh - (var(--gutter) * 2));border:1px solid var(--ink);border-radius:var(--radius-md);background:var(--paper-raised);box-shadow:var(--shadow-dialog);padding:clamp(1.4rem,5vw,2.5rem);overflow-y:auto}.upload-guidelines-copy{color:var(--ink-soft)}.upload-guidelines-list{gap:var(--space-3);padding-left:1.25rem;display:grid}.upload-guidelines-link{color:var(--leaf-dark);font-weight:700}.upload-history-list{gap:var(--space-3);margin-top:var(--space-4);display:grid}.upload-history-item{align-items:start;gap:var(--space-3);border-top:var(--border);min-width:0;padding-top:var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.upload-history-item>div{min-width:0;display:grid}.upload-history-item strong,.upload-history-item small{overflow-wrap:anywhere}.upload-history-item small{color:var(--ink-soft)}.upload-status{border:var(--border-strong);border-radius:var(--radius-round);font-family:var(--font-mono);white-space:nowrap;padding:.25rem .5rem;font-size:.66rem}.upload-status-pending{border-color:var(--pollen);background:var(--pollen-soft)}.upload-status-approved{border-color:var(--leaf);background:var(--leaf-soft);color:var(--leaf-dark)}.upload-status-rejected{border-color:var(--danger);background:var(--danger-soft);color:var(--danger-dark)}.profile-settings summary,.profile-upload-collapsible summary,.admin-files-panel summary{justify-content:space-between;align-items:center;gap:var(--space-4);cursor:pointer;min-height:52px;list-style:none;display:flex}.profile-settings summary::-webkit-details-marker{display:none}.profile-upload-collapsible summary::-webkit-details-marker{display:none}.admin-files-panel summary::-webkit-details-marker{display:none}.profile-settings summary:after,.profile-upload-collapsible summary:after,.admin-files-panel summary:after{content:"+";font-family:var(--font-mono);flex:none;font-size:1.4rem}.profile-settings[open] summary:after,.profile-upload-collapsible[open] summary:after,.admin-files-panel[open] summary:after{content:"−"}.profile-settings summary span,.profile-upload-collapsible summary span,.admin-files-panel summary span{display:grid}.profile-settings summary small,.profile-upload-collapsible summary small,.admin-files-panel summary small{color:var(--leaf-dark);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.profile-upload-collapsible>.panel-heading{display:none}.profile-upload-collapsible .clean-form,.profile-settings .settings-availability-note,.profile-settings .settings-form{margin-top:var(--space-5)}.settings-form,.settings-subsection+.settings-subsection{border-top:var(--border);padding-top:var(--space-5)}.settings-subsection h3{margin-bottom:var(--space-4);font-size:1.05rem}.admin-workspace{margin-top:var(--space-5);padding:var(--space-5)}.admin-heading,.admin-users-heading{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.admin-heading h2,.admin-users-heading h3{margin:0}.admin-status{margin-top:var(--space-4)}.admin-grid{align-items:start;gap:var(--space-5);margin-top:var(--space-5);grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);display:grid}.admin-list{gap:var(--space-4);min-width:0;display:grid}.admin-item{gap:var(--space-4);border-top:1px solid var(--ink);background:var(--paper);min-width:0;padding:var(--space-4);display:grid}.admin-pending-rename{width:100%}.admin-item>div:first-child{gap:var(--space-1);min-width:0;display:grid}.admin-item strong,.admin-item span,.admin-item small{overflow-wrap:anywhere}.admin-destination-editor,.admin-file-filters{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.admin-destination-editor .form-note,.admin-destination-editor .form-row:last-child:nth-child(4){grid-column:1/-1}.admin-reject-note textarea{min-height:5.5rem}.admin-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.admin-files-body{margin-top:var(--space-4)}.admin-file-search{grid-column:1/-1}.admin-file-list,.admin-users-scroll{scrollbar-color:var(--line-strong) transparent;min-width:0;max-height:500px;overflow-y:auto}.admin-file-list{margin-top:var(--space-4);border-bottom:var(--border)}.admin-file-row{align-items:center;gap:var(--space-3);border-top:var(--border);min-width:0;padding-block:var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.admin-file-info{min-width:0;display:grid}.admin-file-info strong,.admin-file-info small{overflow-wrap:anywhere;word-break:break-word}.admin-file-info small{color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--text-xs)}.admin-file-edit{align-items:center;gap:var(--space-2);min-width:0;display:flex}.admin-file-edit input{min-width:12rem}.admin-users-heading span{color:var(--leaf-dark);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.admin-users-panel,.admin-users-panel-open{min-width:0}.admin-users-heading em{color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--text-sm);font-style:normal}.admin-user-tabs{margin:var(--space-4) 0;border-bottom:var(--border-strong);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-user-tabs button{min-height:44px;color:var(--ink-soft);background:0 0;border:0;border-bottom:3px solid #0000;font-weight:700}.admin-user-tabs button:hover,.admin-user-tabs button:focus-visible,.admin-user-tabs button.is-active{border-bottom-color:var(--leaf);color:var(--ink)}.admin-users-scroll{max-height:360px}.admin-user-row{align-items:center;gap:var(--space-3);border:var(--border);background:var(--paper);min-width:0;padding:var(--space-3);text-align:left;grid-template-columns:minmax(0,1fr) auto;display:grid}.admin-user-row span{min-width:0;display:grid}.admin-user-row strong,.admin-user-row small,.admin-user-row em{overflow-wrap:anywhere}.admin-user-button:hover,.admin-user-button:focus-visible{border-color:var(--leaf);background:var(--leaf-soft)}.admin-user-row em{color:var(--ink-soft);font-family:var(--font-mono);font-size:var(--text-xs);font-style:normal}.key-cloud{gap:var(--space-2);flex-wrap:wrap;display:flex}.key-chip{align-items:center;gap:var(--space-2);border:var(--border-strong);border-radius:var(--radius-round);background:var(--paper);min-width:44px;max-width:100%;min-height:44px;color:var(--ink);font-family:var(--font-mono);font-size:var(--text-xs);padding:.55rem .8rem;display:inline-flex}.key-chip span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.key-chip i{color:var(--danger);font-style:normal}.key-chip:hover,.key-chip:focus-visible{border-color:var(--danger);background:var(--danger-soft)}.key-chip.is-deleting{opacity:.45;transform:scale(.96)}.admin-user-modal-head{justify-content:space-between;align-items:start;gap:var(--space-4);display:flex}.admin-user-modal-head span{color:var(--leaf-dark);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase}.admin-user-modal-head h3{margin:var(--space-2) 0 0;overflow-wrap:anywhere;font-size:clamp(1.7rem,5vw,2.5rem)}.admin-user-editor-form{margin-top:var(--space-5)}.admin-check-row{align-items:center;gap:var(--space-3);border:var(--border);min-height:44px;padding:var(--space-3);cursor:pointer;display:flex}.admin-check-row-danger{border-color:var(--danger);color:var(--danger-dark)}.admin-user-modal-actions{margin-top:var(--space-4)}@media (width<=1080px){.profile-hero{grid-template-columns:auto minmax(0,1fr) auto}.profile-summary{border-top:var(--border);padding-top:var(--space-4);border-left:0;grid-column:2/-1}.profile-summary>div{padding-inline:0 var(--space-5)}.profile-logout{grid-area:1/3}.profile-main-grid,.admin-grid{grid-template-columns:minmax(0,1fr)}.admin-review{grid-row:auto}.admin-file-list,.admin-users-scroll{max-height:420px}}@media (width<=820px){:root{--space-9:5.5rem}.home-hero-inner{gap:var(--space-7);min-height:auto;padding-block:var(--space-8);grid-template-columns:minmax(0,1fr)}.home-hero-copy{max-width:690px}.home-dna{min-height:350px}.home-dna:before{width:min(68vw,360px)}.dna-helix{width:min(210px,58%)}.archive-row-copy{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}.home-contribution-inner{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}.site-footer-inner{gap:var(--space-5);grid-template-columns:minmax(220px,1fr) repeat(2,minmax(120px,.5fr))}.auth-card{row-gap:var(--space-6);grid-template-columns:minmax(0,1fr)}.auth-heading{grid-row:auto}.auth-switch{grid-column:auto;margin-top:0}.support-layout{gap:var(--space-7);grid-template-columns:minmax(0,1fr)}.support-intro{position:static}.leaderboard-grid,.year-header{grid-template-columns:minmax(0,1fr)}.year-description{max-width:620px;margin:var(--space-4) 0 0;grid-area:auto/1}.legal-content section{gap:var(--space-3);grid-template-columns:minmax(0,1fr)}.activation-strip{gap:var(--space-4);grid-template-columns:minmax(0,1fr)}}@media (width<=640px){:root{--header-height:64px;--gutter:1rem;--space-8:3.5rem;--space-9:4.5rem}.topbar-inner,.brand{gap:var(--space-2)}.brand-logo{width:38px;height:38px}.brand-title{font-size:1rem}.topbar-actions{gap:var(--space-1)}.header-search-trigger,.header-login-link{padding-inline:.65rem}.header-search-trigger span,.header-login-link span,.header-upload-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.header-upload-label-short{display:inline}.header-upload-link{padding-inline:.7rem}.header-search-panel{max-height:calc(100vh - var(--header-height))}.header-search-panel-inner{padding-block:var(--space-3);grid-template-columns:minmax(0,1fr);gap:0}.header-search-intro{display:none}.header-search-controls{gap:var(--space-2)}.search-dialog-field{min-height:50px;padding-inline:var(--space-3)}.header-search-results-frame{max-height:min(58vh,420px)}.search-dialog-option,.search-dialog-empty{padding-inline:var(--space-2)}.mobile-action-bar{z-index:var(--z-mobile-action);border-top:1px solid var(--ink);background:var(--paper-raised);padding:var(--space-2) var(--gutter) max(var(--space-2), env(safe-area-inset-bottom));display:block;position:fixed;bottom:0;left:0;right:0}.mobile-action-link{width:100%}#root:has(.mobile-action-bar) .site-footer{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.home-hero-copy h1{font-size:clamp(2.7rem,13vw,4.8rem)}.home-dna{min-height:300px;overflow:clip}.home-dna:after{inset-inline:0}.archive-row{gap:var(--space-3);grid-template-columns:2.6rem minmax(0,1fr) auto;min-height:104px;padding-inline:0}.archive-row:hover,.archive-row:focus-visible{padding-inline:var(--space-2)}.site-footer-inner{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer-brand{grid-column:1/-1}.year-page{padding-top:var(--space-5)}.year-title{font-size:clamp(2.7rem,15vw,4.5rem)}.year-nav{padding:3px 3px var(--space-2);scroll-snap-type:x proximity;flex-wrap:nowrap;overflow-x:auto}.year-nav-link{scroll-snap-align:start;flex:none}.year-sections,.year-section+.year-section{margin-top:var(--space-7)}.course-header-row{gap:var(--space-1);grid-template-columns:minmax(0,1fr);min-height:76px}.file-badge,.course-status{text-align:left}.course-general-material,.course-subgroup{padding-left:var(--space-3)}.course-subgroup-header{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}.file-info{align-items:start;gap:var(--space-1);flex-direction:column}.modal-actions{flex-wrap:wrap}.profile-hero{grid-template-columns:auto minmax(0,1fr);align-items:start}.profile-avatar{width:64px;height:64px}.profile-summary{grid-column:1/-1}.profile-logout{grid-area:auto/1/auto/-1}.account-status{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}.account-status strong{white-space:normal}.upload-progress-stats{align-items:start;gap:var(--space-1);flex-direction:column}.admin-destination-editor,.admin-file-filters{grid-template-columns:minmax(0,1fr)}.admin-destination-editor .form-note,.admin-destination-editor .form-row:last-child:nth-child(4),.admin-file-search{grid-column:auto}.admin-file-row{grid-template-columns:minmax(0,1fr)}.admin-file-edit{flex-wrap:wrap}.admin-file-edit input{min-width:100%}.admin-file-row .admin-actions{justify-content:flex-start}}@media (width<=420px){:root{--gutter:.8rem}.brand-title{clip:rect(0, 0, 0, 0);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.topbar-actions .btn-small{min-width:44px}.home-hero-actions,.modal-actions,.admin-actions,.inline-form,.not-found-content{flex-direction:column;grid-template-columns:minmax(0,1fr);align-items:stretch}.home-hero-actions .btn,.modal-actions .btn,.admin-actions .btn,.inline-form .btn,.not-found-content>.btn{width:100%}.inline-form input{flex:0 auto}.not-found-content{display:grid}.archive-row{grid-template-columns:2.2rem minmax(0,1fr)}.archive-row>svg{display:none}.guidelines-item{gap:var(--space-3);grid-template-columns:2.2rem minmax(0,1fr)}.leaderboard-row{grid-template-columns:2.4rem minmax(0,1fr)}.leaderboard-score{text-align:left;grid-column:2}.profile-panel,.admin-workspace{padding:var(--space-4)}.profile-summary{grid-template-columns:minmax(0,1fr)}.profile-summary>div{padding:var(--space-3) 0}.profile-summary>div+div{border-top:var(--border);border-left:0}.avatar-picker-panel{top:calc(var(--header-height) + var(--space-2));right:var(--gutter);left:var(--gutter);width:auto;position:fixed}.avatar-grid{grid-template-columns:repeat(5,minmax(44px,1fr))}.upload-history-item,.admin-user-row{grid-template-columns:minmax(0,1fr)}.upload-status{width:fit-content}.key-chip{justify-content:space-between;width:100%}.admin-heading,.admin-users-heading{flex-direction:column;align-items:stretch}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important}.dna-helix,.dna-helix-strand,.dna-helix-rung,.dna-annotation,.home-dna:before,.home-dna:after,.header-search-panel,.search-dialog-field,.search-dialog-field:focus-within>svg,.search-dialog-option,.highlight-pulse,.status-loading .course-status,.upload-progress-bar-indeterminate span,.key-chip.is-deleting{animation:none!important}.dna-helix{filter:none;transform:none}.dna-helix-strand{stroke-dasharray:none;stroke-dashoffset:0}.dna-helix-rung,.dna-annotation,.search-dialog-field,.search-dialog-option,.home-dna:before,.home-dna:after{transform:none!important}}@media (prefers-contrast:more){:root{--line:#76877b;--line-strong:#52665c}:focus-visible{outline:4px solid var(--ink);outline-offset:3px}.btn,.icon-button,.profile-panel,.admin-workspace,.header-search-panel,.search-dialog-field,.modal-content,.upload-guidelines-modal,.admin-user-modal{border-width:2px}.eyebrow,.muted-text,.course-status,.footer-sub{color:var(--ink)}}:root{--bg-body:#020617;--bg-elevated:#020617;--bg-card:#020617;--bg-card-soft:#020617;--border-subtle:#94a3b840;--accent:#22c55e;--accent-soft:#22c55e24;--accent-strong:#16a34a;--text-primary:#e5e7eb;--text-secondary:#9ca3af;--text-muted:#6b7280;--danger:#ef4444;--radius-lg:18px;--radius-xl:24px;--shadow-soft:0 18px 45px #0f172abf;--shadow-subtle:0 10px 30px #0f172a99;--search:#bdc3c7}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{color:var(--text-primary);background:#000 radial-gradient(circle at top,#0f172a 0,#020617 55%,#000 100%) no-repeat fixed;flex-direction:column;min-height:100vh;font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Arial,sans-serif;display:flex}main{flex:auto;padding:2.2rem 0 2.6rem}.container{width:100%;max-width:1120px;margin:0 auto;padding:0 1.25rem}h2{border-bottom:1px solid var(--border-subtle);margin-top:2em;margin-bottom:.8rem;padding-bottom:.3em;font-size:1.3rem}h3{color:var(--text-primary);margin-top:1.2rem;margin-bottom:.5rem}a{color:inherit;text-decoration:none}a:hover{text-decoration:none}img,iframe{max-width:100%;height:auto}.topbar{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#0f172af2,#0f172ae0);border-bottom:1px solid #94a3b840;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;gap:1.5rem;padding:.75rem .25rem;display:flex}.brand{color:inherit;align-items:center;gap:.75rem;text-decoration:none;display:flex}.brand-logo{background:radial-gradient(circle at 70% 30%,#4ade80,#22c55e);border-radius:999px;justify-content:center;align-items:center;width:42px;height:42px;transition:transform .3s ease-in-out;display:flex;overflow:hidden;box-shadow:0 5px 15px #22c55e66,inset 0 0 10px #ffffff80}.logo-image{object-fit:cover;border-radius:999px;width:100%;height:100%;transform:scale(1.4)}.brand-logo:hover{transform:translateY(-2px)scale(1.05);box-shadow:0 12px 25px #22c55e99,inset 0 0 10px #ffffff80}.brand-text{flex-direction:column;display:flex}.brand-title{letter-spacing:.02em;margin:0;font-size:1.2rem;font-weight:650}.brand-subtitle{color:var(--text-muted);margin:0;font-size:.8rem}.topbar-search{flex:1;max-width:480px}.search-inline{width:100%}.search-inline input{width:100%;color:var(--text-primary);background:radial-gradient(circle at 0 0,#020617,#020617 60%);border:1px solid #94a3b866;border-radius:999px;outline:none;padding:.55rem .9rem;font-size:.88rem;transition:border-color .18s,box-shadow .18s,background .18s,transform 80ms}.search-inline input::placeholder{color:var(--text-muted)}.search-inline input:focus{border-color:var(--accent);transform:translateY(-.5px);box-shadow:0 0 0 1px #22c55e99}.topbar-actions{align-items:center;gap:.6rem;display:flex}.btn-pill{color:var(--text-primary);cursor:pointer;background:radial-gradient(circle at 0 0,#020617,#020617 70%);border:1px solid #94a3b873;border-radius:999px;align-items:center;gap:.4rem;padding:.45rem .95rem;font-size:.82rem;font-weight:500;transition:all .18s;display:inline-flex}.btn-pill:hover{border-color:var(--accent);background:radial-gradient(circle at 0 0,#0b1724,#020617 75%);transform:translateY(-1px);box-shadow:0 14px 30px #0f172acc}.hero{padding:2.6rem 0 2.4rem}.hero-inner{grid-template-columns:minmax(0,1.5fr) minmax(0,1.1fr);align-items:stretch;gap:2.25rem;display:grid}.hero-text{opacity:0;animation:.6s ease-out forwards fadeUp;transform:translateY(8px)}.hero-panel{opacity:0;animation:.7s ease-out forwards fadeUp;transform:translateY(10px)}.hero-kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 .5rem;font-size:.85rem;font-weight:550}.hero-title{letter-spacing:.01em;margin:0 0 .75rem;font-size:2rem;line-height:1.2}.highlight{color:#0000;background:linear-gradient(90deg,#4ade80,#22c55e);-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:var(--text-secondary);margin:0 0 1.2rem;font-size:.98rem}.hero-card{border-radius:var(--radius-xl);border:1px solid var(--border-subtle);box-shadow:var(--shadow-soft);background:radial-gradient(circle at 0 0,#0b1120,#020617 62%);height:100%;padding:1.2rem 1.25rem}.hero-card h3{margin:0 0 .45rem;font-size:1rem}.hero-card p{color:var(--text-secondary);margin:0 0 .9rem;font-size:.9rem}.hero-list{color:var(--text-muted);gap:.35rem;margin:0;padding:0;font-size:.86rem;list-style:none;display:grid}.btn{cursor:pointer;box-shadow:none;color:var(--text-primary);background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:.55rem 1.15rem;font-size:.9rem;font-weight:520;text-decoration:none;transition:all .18s;display:inline-flex}.btn-primary{color:#022c22;background:radial-gradient(circle at 0 0,#4ade80,#22c55e);box-shadow:0 18px 40px #22c55eb3}.btn-primary:hover{background:radial-gradient(circle at 0 0,#22c55e,#16a34a);transform:translateY(-1px)scale(1.03);box-shadow:0 20px 50px #22c55ecc}.btn-ghost{color:var(--text-primary);background:0 0;border-color:#94a3b880}.btn-ghost:hover{border-color:var(--accent);background:radial-gradient(circle at 0 0,#020617,#020617 70%);transform:translateY(-1px)scale(1.03);box-shadow:0 12px 32px #0f172ae6}.year-links.three-zones{grid-template-columns:1fr auto 1fr;align-items:center;max-width:900px;margin:3rem auto 5rem;display:grid}.btn-year{text-align:center;justify-self:center;min-width:190px}.welcome-box{border-left:4px solid var(--accent);box-shadow:var(--shadow-subtle);background:radial-gradient(circle at 0 0,#0b1120,#020617 70%);border-radius:14px;margin-bottom:2rem;padding:1.5rem}.years-section{padding:1.2rem 0 2.2rem}.section-title{margin:0 0 .25rem;font-size:1.3rem}.section-subtitle{color:var(--text-secondary);margin:0 0 1.25rem;font-size:.9rem}.year-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.year-card{color:inherit;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);box-shadow:var(--shadow-subtle);background:radial-gradient(circle at 0 0,#020617,#020617 70%);flex-direction:column;gap:.5rem;padding:1rem 1.05rem;text-decoration:none;transition:all .18s;display:flex}.year-card.year-card-taf{border-color:#22c55eb3}.year-card:hover{background:radial-gradient(circle at 0 0,#020617,#020617 55%);border-color:#22c55ed9;transform:translateY(-3px);box-shadow:0 18px 40px #0f172ae6}.year-card:hover .year-link{text-decoration:none}.year-tag{background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;justify-content:center;align-self:flex-start;align-items:center;padding:.25rem .6rem;font-size:.75rem;font-weight:550;display:inline-flex}.year-card h3{margin:0;font-size:1.05rem}.year-card p{color:var(--text-secondary);margin:0;font-size:.87rem}.year-link{color:var(--accent);margin-top:.3rem;font-size:.82rem}.search-container{flex-direction:column;justify-content:center;align-items:center;width:100%;margin:2rem auto 3rem;display:flex;position:relative}.search-box{width:70%;max-width:800px;position:relative}.search-box input{width:100%;color:var(--text-primary);background:radial-gradient(circle at 0 0,#020617,#020617 70%);border:1px solid #94a3b899;border-radius:999px;padding:.9rem 1.2rem;font-size:1.05rem;transition:all .25s;box-shadow:0 3px 12px #0f172acc}.search-box input::placeholder{color:var(--text-muted)}.search-box input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 1px #22c55e99}.topbar-search{position:relative}#searchResults{z-index:9999;opacity:0;pointer-events:none;scrollbar-width:none;-ms-overflow-style:none;background:radial-gradient(circle at 0 0,#020617,#020617 70%);border:1px solid #94a3b840;border-radius:14px;width:100%;max-height:60vh;transition:opacity .18s,transform .22s cubic-bezier(.25,.65,.25,1);position:absolute;top:calc(100% + .4rem);left:0;overflow-y:auto;transform:translateY(-10px);box-shadow:0 20px 50px #0000008c}#searchResults::-webkit-scrollbar{display:none}#searchResults.active{opacity:1;pointer-events:auto;transform:translateY(0)}.result-item{color:var(--text-primary);border-bottom:1px solid #0f172ad9;padding:.8rem 1rem;text-decoration:none;transition:background .15s;display:block}.result-item:last-child{border-bottom:none}.result-item:hover{background:#1e293be6}.no-result{text-align:center;color:var(--danger);padding:1rem;font-weight:500}.contact-section{padding:2rem 0 2.6rem}.contact-card{border-radius:var(--radius-xl);border:1px solid var(--border-subtle);box-shadow:var(--shadow-soft);background:radial-gradient(circle at 0 0,#020617,#020617 70%);padding:1.4rem 1.4rem 1.5rem}.contact-header h2{margin:0 0 .4rem}.contact-header p{color:var(--text-secondary);margin:0 0 1.1rem;font-size:.9rem}.contact-form{flex-direction:column;gap:.9rem;display:flex}.form-row{flex-direction:column;gap:.3rem;display:flex}.form-row label{color:var(--text-muted);font-size:.85rem}.form-row input,.form-row textarea{color:var(--text-primary);resize:vertical;background:radial-gradient(circle at 0 0,#020617,#020617 60%);border:1px solid #94a3b88c;border-radius:.9rem;outline:none;min-height:0;padding:.55rem .85rem;font-size:.9rem;transition:border-color .18s,box-shadow .18s,background .18s}.form-row textarea{border-radius:1rem;padding-top:.6rem}.form-row input::placeholder,.form-row textarea::placeholder{color:var(--text-muted)}.form-row input:focus,.form-row textarea:focus{border-color:var(--accent);box-shadow:0 0 0 1px #22c55eb3}.form-status,#form-status{text-align:center;margin-top:.5rem;font-size:.8rem;animation:.4s fadeIn}.contact-box{border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);background:radial-gradient(circle at 0 0,#020617,#020617 70%);margin-top:6rem;padding:1.5rem;position:relative}.contact-box:before{content:"";background-color:var(--accent);border-radius:2px;width:60px;height:4px;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.contact-box input,.contact-box textarea{width:100%;color:var(--text-primary);background:radial-gradient(circle at 0 0,#020617,#020617 60%);border:1px solid #94a3b88c;border-radius:10px;margin-bottom:1rem;padding:.7rem;font-size:.95rem}.contact-box input::placeholder,.contact-box textarea::placeholder{color:var(--text-muted)}.contact-box input:focus,.contact-box textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 1px #22c55e99}.success-box,.error-box{border-radius:10px;padding:1rem;font-weight:500;box-shadow:0 2px 8px #0f172a99}.success-box{color:#bbf7d0;background-color:#16a34a1f;border:1px solid #16a34acc}.error-box{color:#fecaca;background-color:#f871711f;border:1px solid #f87171e6}.site-footer,footer{color:#94a3b8;text-align:center;background:#0f172a;border-top:1px solid #1e293b;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:100%;margin-top:auto;padding:2rem 0;display:flex}.footer-inner{flex-direction:column;gap:.15rem;font-size:.8rem;display:flex}.course{box-sizing:border-box;border:1px solid var(--border-subtle);width:100%;max-width:100%;box-shadow:var(--shadow-subtle);cursor:pointer;background:radial-gradient(circle at 0 0,#020617,#020617 70%);border-radius:14px;margin-bottom:1.4rem;padding:1rem 3.4rem 1rem 1rem;transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s;position:relative}.course-title{color:var(--text-primary);white-space:normal;max-width:calc(100% - 3rem);margin-bottom:.3rem;font-size:1.05rem;font-weight:700;line-height:1.25;display:block}.status-loading{--pulse-color:#facc15cc;background:#facc1514;border-color:#facc15cc}.status-ok{--pulse-color:#22c55ee6;background:#22c55e14;border-color:#22c55ee6!important}.status-missing{--pulse-color:#f87171e6;background:#f8717114;border-color:#f87171e6!important}.status-ok:after,.status-missing:after,.status-loading:after{content:"▾";opacity:.7;font-size:1rem;transition:transform .25s,opacity .25s;position:absolute;top:1.1rem;right:.8rem;transform:rotate(0)}.status-missing:after{opacity:.4}.status-ok:hover{transform:translateY(-1px);box-shadow:0 4px 16px #16a34a99}.status-loading:hover{box-shadow:0 3px 10px #facc1559}@keyframes vibrateAnim{0%{transform:translate(0)}25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-3px)}to{transform:translate(0)}}.vibrate{animation:.25s linear vibrateAnim}.course-dropdown,.download-dropdown{box-sizing:border-box;opacity:0;border:1px solid var(--border-subtle);background:radial-gradient(circle at 0 0,#020617,#020617 70%);border-radius:12px;width:100%;max-width:100%;margin-top:.6rem;padding:.6rem .8rem;transition:opacity .25s,transform .25s;display:none;transform:translateY(-5px);box-shadow:0 1px 10px #0f172ae6}.course-dropdown.open{opacity:1;display:block;transform:translateY(0)}.course-dropdown ul,.download-dropdown ul{margin:0;padding:0;list-style:none}.course-dropdown ul li,.download-dropdown ul li{padding:.4rem 0}.course-dropdown a,.download-dropdown a{color:#93c5fd;font-weight:600;text-decoration:none}.course-dropdown a:hover,.download-dropdown a:hover{text-decoration:underline}.course-subgroups{gap:.38rem;padding:.15rem 0 .1rem;display:grid}.course-subgroup{background:#21a65b0f;border:0;border-left:3px solid #21a65b57;border-radius:0 10px 10px 0;margin-left:.8rem;transition:background .18s,border-color .18s;overflow:hidden}.course-subgroup:after{content:none}.course-subgroup:hover,.course-subgroup-open{border-left-color:var(--accent);background:#21a65b1a}.course-subgroup-header{width:100%;min-height:38px;color:var(--ink-bio);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.46rem .68rem;display:grid}.course-subgroup-title{min-width:0;font-size:.88rem;font-weight:800}.course-subgroup.status-missing{background:#b948480e;border-left-color:#b9484857}.course-subgroup.status-missing:hover{background:#b9484814}.course-subgroup.status-missing .course-subgroup-title,.course-subgroup.status-missing .file-badge{color:#7f2f2f}.download-list-nested{border-top:1px solid #21a65b1a;padding:.28rem .68rem .42rem!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInSearch{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}:root{--pulse-color:var(--search,#818181cc)}@keyframes pulseHighlight{0%{background-color:inherit;box-shadow:0 0 #0000}50%{box-shadow:0 0 20px var(--pulse-color);border-color:var(--pulse-color)}to{background-color:inherit;box-shadow:0 0 #0000}}.highlight-pulse{animation:1s ease-in-out 3 pulseHighlight}.contact-box.hidden{opacity:0;pointer-events:none;transition:opacity .8s,transform .8s;transform:translateY(40px)}.contact-box.visible{opacity:1;pointer-events:auto;transform:translateY(0)}@media (width<=900px){.hero-inner{grid-template-columns:minmax(0,1fr)}.hero-panel{order:-1}.year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search-box{width:100%;max-width:100%}.course{max-width:100%}}@media (width<=768px){.topbar-inner{flex-wrap:wrap;align-items:flex-start}.brand-subtitle{display:none}.topbar-search{order:3;width:100%}.topbar-actions{order:2}}@media (width<=600px){.hero{padding-top:1.8rem}.hero-title{font-size:1.6rem}.hero-meta{flex-direction:column}.hero-cta{flex-direction:column;align-items:flex-start}.year-grid{grid-template-columns:minmax(0,1fr)}.contact-card,.contact-box{padding:1.1rem 1rem 1.25rem}.search-box input{text-align:center;width:100%;font-size:1rem}}.screen{display:none}.screen.screen--active{display:block}#screen-hero .hero{min-height:auto;padding-top:4rem;padding-bottom:3.5rem;display:block}#screen-hero .hero-inner{justify-content:flex-start;display:flex}#screen-hero .hero-text{max-width:680px;margin:0 auto}.hero-kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.8rem;font-size:.78rem;font-weight:500}.hero-title{letter-spacing:-.03em;margin:0 0 .9rem;font-size:clamp(2.3rem,3vw + 1rem,3.1rem);font-weight:600;line-height:1.1}.hero-subtitle{color:var(--text-secondary);margin:0 0 1.4rem;font-size:1.02rem;line-height:1.5}.hero-meta{flex-wrap:wrap;gap:.4rem;margin-bottom:1.8rem;display:flex}.hero-meta span{color:var(--text-muted);background:#0f172ae6;border:1px solid #94a3b859;border-radius:999px;padding:.3rem .6rem;font-size:.8rem}.hero-cta{flex-wrap:wrap;gap:.75rem;display:flex}#screen-hero .btn{padding:.6rem 1.3rem;font-size:.92rem}@media (width<=768px){#screen-hero .hero{padding-top:2.8rem;padding-bottom:2.2rem}#screen-hero .hero-text{max-width:100%}.hero-title{font-size:2rem}}.screen-inner{padding:2.2rem 0 2.6rem}.view-back{color:var(--text-secondary);cursor:pointer;background:radial-gradient(circle at 0 0,#020617,#020617 70%);border:1px solid #94a3b88c;border-radius:999px;align-items:center;gap:.4rem;margin-bottom:1.6rem;padding:.35rem .9rem;font-size:.82rem;transition:all .18s;display:inline-flex}.view-back:hover{border-color:var(--accent);color:var(--text-primary);transform:translateY(-1px)scale(1.02);box-shadow:0 14px 32px #0f172ae6}.page-width{width:70%;max-width:960px;margin:0 auto}@media (width<=900px){.page-width{width:90%;max-width:none}}.year-header{margin-bottom:2.2rem}.year-title{letter-spacing:-.03em;margin:0 0 .5rem;font-size:clamp(1.8rem,2.4vw + .6rem,2.3rem)}.year-subtitle{color:var(--text-secondary);margin:0 0 1.3rem;font-size:.95rem}.year-nav{flex-wrap:wrap;gap:.4rem;display:flex}.year-nav-link{color:var(--text-secondary);background:radial-gradient(circle at 0 0,#020617,#020617 70%);border:1px solid #94a3b873;border-radius:999px;padding:.32rem .9rem;font-size:.82rem;text-decoration:none;transition:all .18s}.year-nav-link:hover{border-color:var(--accent);color:var(--text-primary);transform:translateY(-1px);box-shadow:0 12px 26px #0f172ae6}.year-card-taf{box-shadow:none;border-color:#94a3b859}.year-section{margin-bottom:2rem}.year-section-title{color:var(--text-primary);margin:0 0 .9rem;font-size:1.05rem}#om-lock-overlay{z-index:99999;color:#e6eef8;background:#020617e0;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}#om-lock-card{color:#dbe9ff;background:linear-gradient(#ffffff08,#ffffff03);border:1px solid #ffffff0f;border-radius:12px;width:420px;max-width:96%;padding:18px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;box-shadow:0 30px 60px #02061799}#om-lock-card h2{color:#fff;margin:0 0 8px;font-size:1.15rem}#om-lock-card p{color:#bcd3ff;margin:0 0 12px;font-size:.92rem}#om-lock-card label{color:#d6e7ff;margin-bottom:8px;font-size:.9rem;display:block}#om-lock-pass{color:#eaf3ff;box-sizing:border-box;background:#ffffff05;border:1px solid #ffffff14;border-radius:8px;width:100%;padding:10px 12px;font-size:1rem}#om-lock-actions{align-items:center;gap:8px;margin-top:12px;display:flex}.om-btn{cursor:pointer;border:0;border-radius:8px;padding:9px 12px;font-weight:600}.om-btn-primary{color:#fff;background:#1976d2}.om-btn-ghost{color:#cfe3ff;background:0 0;border:1px solid #ffffff0a}#om-lock-msg{color:#ffd5d5;min-height:18px;margin-top:10px;font-size:.9rem}@keyframes shake{0%{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}to{transform:translate(0)}}.shake{animation:.42s shake}body.om-locked{touch-action:none;overflow:hidden}.avatar-circle{background:var(--accent);color:#000;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-weight:700;display:flex}.stats-box{text-align:center;background:#1e293b;border:1px solid #334155;border-radius:12px;flex-direction:column;flex:1;padding:1rem;display:flex}.stats-icon{margin-bottom:5px;font-size:1.5rem}.stats-value{color:#fff;font-size:1.4rem;font-weight:700}.stats-label{color:#94a3b8;text-transform:uppercase;margin-top:3px;font-size:.7rem}.btn-icon-search{color:#fff;cursor:pointer;background:0 0;border:none;padding:5px}.search-expandable input{color:#fff;background:#1e293b;border:none;border-radius:20px;outline:none;width:180px;padding:6px 12px}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;background:#020617d9;justify-content:center;align-items:center;width:100%;height:100%;animation:.3s fadeIn;display:flex;position:fixed;top:0;left:0}.modal-content{text-align:center;background:#1e293b;border:1px solid #334155;border-radius:24px;width:90%;max-width:400px;padding:2.5rem;animation:.3s slideUp;box-shadow:0 25px 50px -12px #00000080}.modal-icon{margin-bottom:1rem;font-size:3rem}.modal-content h2{color:#fff;margin-bottom:1rem}.modal-content p{color:#94a3b8;margin-bottom:2rem;line-height:1.5}.modal-actions{justify-content:center;gap:12px;display:flex}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}#root{flex-direction:column;min-height:100vh;display:flex}.course{background:#ffffff08;transition:background-color .3s,border-color .3s}.status-loading{opacity:.5;pointer-events:none}.status-ok{background:#22c55e0d;border-left:4px solid #22c55e}.status-missing{background:#64748b0d;border-left:4px solid #64748b}.home-shell{padding:0;overflow:hidden}.home-shell h1,.home-shell h2,.home-shell h3,.home-shell p{letter-spacing:0}.home-shell h2{border-bottom:0;padding-bottom:0}.home-hero{background:linear-gradient(#0f172a59,#02061700),radial-gradient(circle at 85% 10%,#22c55e24,#0000 34%),radial-gradient(circle at 10% 20%,#3b82f61f,#0000 30%);border-bottom:1px solid #94a3b82e;padding:4.8rem 0 3.5rem}.home-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:center;gap:3rem;display:grid}.home-hero-copy{max-width:720px}.home-eyebrow,.home-section-head span{color:#86efac;background:#22c55e14;border:1px solid #86efac40;border-radius:999px;align-items:center;padding:.32rem .7rem;font-size:.78rem;font-weight:650;display:inline-flex}.home-hero h1{max-width:760px;margin:1rem 0;font-size:clamp(2.35rem,4.2vw + .8rem,4.8rem);font-weight:760;line-height:.98}.home-hero p{color:#cbd5e1;max-width:620px;margin:0 0 1.6rem;font-size:1.05rem;line-height:1.65}.home-actions{flex-wrap:wrap;gap:.8rem;margin-bottom:1.35rem;display:flex}.home-quick-stats{flex-wrap:wrap;gap:.65rem;display:flex}.home-quick-stats span{color:#94a3b8;background:#0f172a99;border:1px solid #94a3b83d;border-radius:999px;align-items:center;gap:.35rem;padding:.45rem .7rem;font-size:.84rem;display:inline-flex}.home-quick-stats strong{color:#e5e7eb}.home-visual{background:linear-gradient(#0f172af5,#020617f5);border:1px solid #94a3b83d;border-radius:18px;flex-direction:column;justify-content:space-between;min-height:360px;padding:1rem;display:flex;box-shadow:0 28px 70px #00000061}.home-visual-top{background:#0f172adb;border:1px solid #94a3b82e;border-radius:14px;align-items:center;gap:.85rem;padding:.75rem;display:flex}.home-visual-top img{object-fit:cover;border-radius:50%;width:52px;height:52px}.home-visual-top span,.home-visual-top strong{display:block}.home-visual-top span{color:#94a3b8;font-size:.82rem}.home-visual-top strong{margin-top:.12rem}.home-file-stack{gap:.75rem;margin-top:1.3rem;display:grid}.home-file-row{color:#cbd5e1;background:#0f172ab8;border:1px solid #94a3b82e;border-radius:12px;align-items:center;gap:.65rem;min-height:50px;padding:.75rem .85rem;font-size:.9rem;display:flex}.home-file-row span{background:#64748b;border-radius:50%;flex:none;width:10px;height:10px}.home-file-row.is-ready span{background:#22c55e;box-shadow:0 0 0 4px #22c55e1f}.home-file-row.is-soft{color:#facc15;background:#facc1514;border-color:#facc1547}.home-file-row.is-soft span{background:#facc15}.home-years,.home-flow,.home-contact{padding:4rem 0}.home-years{background:#0206176b}.home-section-head{text-align:center;max-width:680px;margin:0 auto 1.6rem}.home-section-head-left{text-align:left;margin:0}.home-section-head h2{margin:.9rem 0 .55rem;font-size:clamp(1.65rem,2.4vw + .6rem,2.6rem);line-height:1.08}.home-section-head p{color:#94a3b8;margin:0;line-height:1.6}.home-section-head .btn{margin-top:1.2rem}.home-year-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;display:grid}.home-year-card{background:#0f172a9e;border:1px solid #94a3b83b;border-radius:16px;flex-direction:column;min-height:220px;padding:1rem;transition:transform .18s,border-color .18s,background .18s;display:flex}.home-year-card:hover{background:#0f172ae0;border-color:#22c55e85;transform:translateY(-3px)}.home-year-tag{color:#86efac;background:#22c55e1a;border-radius:999px;align-self:flex-start;padding:.25rem .55rem;font-size:.75rem;font-weight:700}.home-year-card h3{margin:1.25rem 0 .45rem;font-size:1.12rem}.home-year-card p{color:#cbd5e1;margin:0;line-height:1.5}.home-year-card small{color:#94a3b8;margin-top:auto;padding-top:1rem;line-height:1.35}.home-flow-grid,.home-contact-grid{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);align-items:start;gap:2rem;display:grid}.home-flow-list{gap:.85rem;display:grid}.home-flow-list div{background:#0f172aa3;border:1px solid #94a3b838;border-radius:14px;grid-template-columns:44px 1fr;align-items:center;gap:.85rem;min-height:76px;padding:.85rem;display:grid}.home-flow-list strong{color:#022c22;background:#22c55e;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.home-flow-list span{color:#d1d5db}.home-contact{border-top:1px solid #94a3b82e}.home-contact-form{background:#0f172aa8;border:1px solid #94a3b83d;border-radius:18px;gap:.9rem;padding:1rem;display:grid}.home-contact-form .btn{justify-self:start}.home-form-status{border-radius:12px;margin:0;padding:.75rem .85rem;font-size:.9rem}.home-form-status-success{color:#bbf7d0;background:#22c55e1f;border:1px solid #22c55e52}.home-form-status-error{color:#fecaca;background:#ef44441f;border:1px solid #ef444457}@media (width<=980px){.home-hero-grid,.home-flow-grid,.home-contact-grid{grid-template-columns:minmax(0,1fr)}.home-year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-visual{min-height:300px}}@media (width<=620px){.home-hero,.home-years,.home-flow,.home-contact{padding:2.6rem 0}.home-year-grid{grid-template-columns:minmax(0,1fr)}.home-year-card{min-height:0}.home-actions,.home-contact-form .btn,.home-actions .btn,.home-contact-form .btn{width:100%}}.hub-shell{background:linear-gradient(#02061733,#020617fa 42%),radial-gradient(circle at 12% 10%,#0ea5e929,#0000 30%),radial-gradient(circle at 86% 6%,#facc151a,#0000 24%);padding:0;overflow:hidden}.hub-shell h1,.hub-shell h2,.hub-shell h3,.hub-shell p{letter-spacing:0}.hub-shell h2{border-bottom:0;margin-top:0;padding-bottom:0}.hub-desk{border-bottom:1px solid #94a3b829;padding:4.2rem 0 3rem}.hub-desk-grid{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:stretch;gap:1.4rem;display:grid}.hub-command,.hub-intro,.hub-contact-form{background:#0f172ab8;border:1px solid #94a3b838;box-shadow:0 24px 70px #00000047}.hub-command{border-radius:14px;align-content:space-between;gap:1rem;min-height:520px;padding:1rem;display:grid}.hub-brand{border-bottom:1px solid #94a3b82e;align-items:center;gap:.85rem;min-height:72px;padding-bottom:1rem;display:flex}.hub-brand img{object-fit:cover;background:#0f172a;border-radius:50%;width:54px;height:54px}.hub-brand span,.hub-brand strong,.hub-live-board span,.hub-live-board strong{display:block}.hub-brand span,.hub-search-label,.hub-live-board span{color:#94a3b8;font-size:.78rem}.hub-brand strong{margin-top:.12rem;font-size:1rem}.hub-search-card{padding:1rem 0}.hub-search-card strong{max-width:280px;margin-top:.5rem;font-size:1.65rem;line-height:1.05;display:block}.hub-search-tags{flex-wrap:wrap;gap:.45rem;margin-top:1rem;display:flex}.hub-search-tags span{color:#bae6fd;background:#0ea5e917;border:1px solid #7dd3fc47;border-radius:999px;padding:.34rem .62rem;font-size:.78rem}.hub-command-list{border-top:1px solid #94a3b82e;gap:.45rem;padding-top:1rem;display:grid}.hub-command-list a{color:#e5e7eb;background:#0206175c;border:1px solid #94a3b829;border-radius:10px;justify-content:space-between;align-items:center;min-height:46px;padding:0 .85rem;transition:border-color .18s,transform .18s,background .18s;display:flex}.hub-command-list a:after{content:">";color:#facc15}.hub-command-list a:hover{background:#1e293b9e;border-color:#facc1573;transform:translate(3px)}.hub-intro{border-radius:14px;flex-direction:column;justify-content:space-between;min-height:520px;padding:clamp(1.35rem,4vw,3rem);display:flex}.hub-kicker,.hub-section-head p{color:#facc15;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .8rem;font-size:.78rem;font-weight:750}.hub-intro h1{max-width:760px;margin:0;font-size:clamp(2.45rem,4.8vw + .5rem,5.4rem);font-weight:780;line-height:.94}.hub-intro>p{color:#cbd5e1;max-width:700px;margin:1.25rem 0 1.4rem;font-size:1.06rem;line-height:1.68}.hub-actions{flex-wrap:wrap;gap:.75rem;display:flex}.hub-live-board{border-top:1px solid #94a3b833;border-left:1px solid #94a3b833;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:2rem;display:grid}.hub-live-board div{background:#02061742;border-bottom:1px solid #94a3b833;border-right:1px solid #94a3b833;min-height:88px;padding:.9rem}.hub-live-board strong{color:#f8fafc;margin-top:.35rem;font-size:1rem;line-height:1.2}.hub-library,.hub-workflow,.hub-upload-band,.hub-contact-zone{padding:4rem 0}.hub-section-head{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.2rem;display:flex}.hub-section-head-left{margin-bottom:0;display:block}.hub-section-head h2{margin:0;font-size:clamp(1.8rem,2vw + .8rem,3rem);line-height:1.02}.hub-section-head span,.hub-upload-grid p{color:#94a3b8;line-height:1.6}.hub-year-list{gap:.55rem;display:grid}.hub-year-row{background:#0f172a8f;border:1px solid #94a3b833;border-radius:12px;grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:98px;padding:.95rem 1rem;transition:transform .18s,border-color .18s,background .18s;display:grid}.hub-year-row:hover{background:#1e293bb3;border-color:#7dd3fc75;transform:translateY(-2px)}.hub-year-index{color:#082f49;background:#e0f2fe;border-radius:10px;justify-content:center;align-items:center;width:58px;height:58px;font-weight:800;display:inline-flex}.hub-year-copy{min-width:0}.hub-year-copy strong,.hub-year-copy small{display:block}.hub-year-copy strong{color:#f8fafc;font-size:1.12rem}.hub-year-copy small{color:#94a3b8;margin-top:.28rem;line-height:1.42}.hub-year-status{white-space:nowrap;color:#fde68a;background:#facc1514;border:1px solid #facc153d;border-radius:999px;padding:.34rem .62rem;font-size:.78rem;font-weight:700}.hub-workflow{background:#02061775;border-top:1px solid #94a3b824;border-bottom:1px solid #94a3b824}.hub-workflow-grid{grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);align-items:start;gap:1.4rem;display:grid}.hub-step-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;display:grid}.hub-step{background:#0f172a9e;border:1px solid #94a3b833;border-radius:12px;flex-direction:column;justify-content:space-between;min-height:190px;padding:1rem;display:flex}.hub-step strong{color:#bae6fd;font-size:1.18rem}.hub-step span{color:#cbd5e1;line-height:1.55}.hub-upload-band{background:linear-gradient(90deg,#0ea5e929,#facc151a)}.hub-upload-grid{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.3rem;display:grid}.hub-upload-grid h2{margin:0 0 .65rem;font-size:clamp(1.8rem,2.4vw + .7rem,3rem);line-height:1.02}.hub-upload-grid p{max-width:680px;margin:0}.hub-contact-grid{grid-template-columns:minmax(240px,.82fr) minmax(320px,1.18fr);align-items:start;gap:1.4rem;display:grid}.hub-contact-form{border-radius:14px;gap:.9rem;padding:1rem;display:grid}.hub-contact-form .btn{justify-self:start}.hub-form-status{border-radius:10px;margin:0;padding:.75rem .85rem;font-size:.9rem}.hub-form-status-success{color:#bbf7d0;background:#22c55e1f;border:1px solid #22c55e52}.hub-form-status-error{color:#fecaca;background:#ef44441f;border:1px solid #ef444457}@media (width<=960px){.hub-desk-grid,.hub-workflow-grid,.hub-contact-grid{grid-template-columns:minmax(0,1fr)}.hub-command,.hub-intro{min-height:0}.hub-command{align-content:start}.hub-step-strip{grid-template-columns:minmax(0,1fr)}}@media (width<=700px){.hub-desk,.hub-library,.hub-workflow,.hub-upload-band,.hub-contact-zone{padding:2.6rem 0}.hub-intro h1{font-size:2.35rem}.hub-live-board,.hub-upload-grid{grid-template-columns:minmax(0,1fr)}.hub-year-row{grid-template-columns:52px minmax(0,1fr);align-items:start}.hub-year-index{width:46px;height:46px}.hub-year-status{white-space:normal;grid-column:2;justify-self:start}.hub-actions .btn,.hub-upload-grid .btn,.hub-contact-form .btn{width:100%}}:root{--surface:#0f172ab8;--surface-strong:#0f172aeb;--surface-soft:#1e293b70;--line:#94a3b838;--line-strong:#94a3b85c;--blue:#38bdf8;--yellow:#facc15;--green:#22c55e;--red:#ef4444}main{padding:0}.container{max-width:1160px}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#020617d6}.topbar-inner{grid-template-columns:auto 1fr auto;align-items:center;gap:1.2rem;min-height:76px;padding:.75rem 1.25rem;display:grid}.brand{gap:.8rem;min-width:0}.brand-logo{width:50px;height:50px;box-shadow:none;background:#0f172a;border-radius:14px}.brand-logo:hover{box-shadow:none;transform:none}.logo-image{object-fit:cover;border-radius:14px;transform:none}.brand-title{margin:0;font-size:1.08rem;font-weight:760}.topbar-nav{border:1px solid var(--line);background:#0f172a8c;border-radius:999px;justify-self:center;align-items:center;gap:.35rem;padding:.28rem;display:flex}.topbar-nav a{color:#cbd5e1;border-radius:999px;padding:.42rem .74rem;font-size:.84rem;transition:background .18s,color .18s}.topbar-nav a:hover{color:#f8fafc;background:#94a3b824}.topbar-actions{justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.icon-button{border:1px solid var(--line);color:#dbeafe;cursor:pointer;min-height:36px;font:inherit;background:#0f172ab8;border-radius:999px;padding:0 .78rem;font-size:.84rem}.search-expandable input{border:1px solid var(--line-strong);color:#f8fafc;background:#020617eb;border-radius:999px;outline:none;width:240px;min-height:38px;padding:0 .9rem}.search-results-panel{z-index:1000;border:1px solid var(--line);background:#020617fa;border-radius:14px;width:min(320px,86vw);max-height:420px;padding:.4rem;position:absolute;top:calc(100% + .5rem);right:0;overflow:auto;box-shadow:0 24px 60px #0000006b}.search-results-panel .result-item{color:#e5e7eb;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;width:100%;display:block}.result-item-content{justify-content:space-between;align-items:center;gap:.75rem;min-width:0;display:flex}.result-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.result-year{color:var(--text-muted);white-space:nowrap;flex:none;font-size:.72rem;font-weight:750;line-height:1}.search-results-panel{scrollbar-width:thin;scrollbar-color:#7dd3fcb8 #0f172ae6;width:240px;max-width:240px;max-height:330px;overflow:hidden auto}.search-results-panel::-webkit-scrollbar{width:9px}.search-results-panel::-webkit-scrollbar-track{background:#0f172ae6;border-radius:999px;margin:.45rem 0}.search-results-panel::-webkit-scrollbar-thumb{background:linear-gradient(#7dd3fc,#38bdf8);border:2px solid #0f172ae6;border-radius:999px}.search-results-panel::-webkit-scrollbar-thumb:hover{background:linear-gradient(#bae6fd,#7dd3fc)}.avatar-circle{color:#020617;background:linear-gradient(135deg,#38bdf8,#22c55e);border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;font-weight:800;display:flex}.btn{border-radius:999px;min-height:40px;padding:.55rem 1rem;font-weight:700}.btn-small{min-height:34px;padding:.36rem .78rem;font-size:.84rem}.header-upload-link{white-space:nowrap}.header-upload-label-short{display:none}.btn-primary{color:#082f49;box-shadow:none;background:#e0f2fe;border-color:#e0f2fe}.btn-primary:hover{color:#082f49;box-shadow:none;background:#bae6fd;transform:translateY(-1px)}.btn-ghost{border-color:var(--line-strong);color:#e5e7eb;background:#0f172a94}.btn-ghost:hover{box-shadow:none;background:#1e293bc7;border-color:#38bdf88c;transform:translateY(-1px)}.btn-danger{color:#fecaca;background:#ef44441a;border-color:#ef444480}.btn-danger:hover{background:#ef44442e;border-color:#ef4444bf}.eyebrow{color:#7dd3fc;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.76rem;font-weight:800;display:inline-flex}.section-heading{margin-bottom:1.2rem}.section-heading span,.panel-heading span{color:#7dd3fc;letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:800}.section-heading h2,.panel-heading h2,.panel-heading h3{border:0;margin:.25rem 0 0;padding:0;font-size:1.45rem;line-height:1.1}.muted-text{color:#94a3b8}.home-minimal{padding:0}.home-minimal-inner{text-align:center;max-width:760px;padding-top:4rem;padding-bottom:4rem}.home-minimal-logo{object-fit:cover;border:1px solid var(--line);border-radius:18px;width:74px;height:74px;margin-bottom:1rem}.home-minimal h1{margin:1.05rem 0 1.35rem;font-size:clamp(3rem,7vw,6.5rem);font-weight:820;line-height:.9}.home-minimal-copy{color:#cbd5e1;max-width:640px;margin:0 auto;font-size:1.12rem;line-height:1.72}.home-minimal-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2.2rem;display:flex}.home-minimal-years,.home-minimal-contact{padding:4rem 0}.home-minimal-years{background:#0f172a52}.home-minimal-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.home-minimal-link{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:column;justify-content:space-between;min-height:145px;padding:1rem;transition:transform .18s,border-color .18s,background .18s;display:flex}.home-minimal-link:hover{background:var(--surface-strong);border-color:#38bdf88c;transform:translateY(-2px)}.home-minimal-link strong{font-size:1.08rem}.home-minimal-link span{color:#94a3b8;line-height:1.45}.home-contact-compact{grid-template-columns:minmax(240px,.8fr) minmax(320px,1.2fr);align-items:start;gap:1.4rem;display:grid}.home-contact-compact h2{border:0;margin:.35rem 0 .65rem;padding:0;font-size:2rem}.home-contact-compact p{color:#94a3b8;line-height:1.6}.clean-form{gap:.9rem;display:grid}.form-row{gap:.35rem;display:grid}.form-row label{color:#cbd5e1;font-size:.84rem;font-weight:700}.form-row input,.form-row textarea,.form-row select,.inline-form input{border:1px solid var(--line-strong);color:#f8fafc;width:100%;font:inherit;background:#020617a3;border-radius:10px;outline:none;padding:.72rem .82rem}.form-row select:disabled{opacity:.55}.form-row input[type=file]{padding:.62rem}.upload-draft-note{color:var(--muted-bio);overflow-wrap:anywhere;font-size:.78rem}.form-note{color:#cbd5e1;margin:0;font-size:.9rem;line-height:1.45}.form-note-success{color:#86efac}.form-note-error{color:#fecaca}.upload-progress{background:#21a65b12;border:1px solid #21a65b29;border-radius:12px;gap:.5rem;padding:.75rem;display:grid}.upload-progress-head{color:var(--ink-bio);justify-content:space-between;align-items:center;gap:.75rem;display:flex}.upload-progress-head strong{font-size:1.05rem}.upload-progress-head span{color:var(--muted-bio);font-size:.84rem;font-weight:750}.upload-progress-bar{background:#5b7c5e29;border-radius:999px;height:10px;overflow:hidden}.upload-progress-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--leaf-bright), var(--pollen));height:100%;transition:width .18s;display:block}.upload-progress-bar-indeterminate span{animation:1.1s ease-in-out infinite uploadIndeterminate;width:38%!important}.upload-progress-stats{color:var(--muted-bio);grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;font-size:.78rem;font-weight:750;display:grid}.upload-progress-stats span{overflow-wrap:anywhere;min-width:0}.upload-guidelines-backdrop{z-index:90;background:#13251680;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.upload-guidelines-modal{background:#fff;border:1px solid #21a65b38;border-radius:16px;width:min(460px,100%);padding:1.1rem;box-shadow:0 28px 80px #263f2a47}.upload-guidelines-copy{color:var(--muted-bio);gap:.55rem;margin-bottom:1rem;line-height:1.55;display:grid}.upload-guidelines-list{gap:.45rem;margin:0;padding-left:1.1rem;display:grid}.upload-guidelines-link{color:var(--accent-strong);justify-self:start;font-size:.9rem;font-weight:800}@keyframes uploadIndeterminate{0%{transform:translate(-105%)}to{transform:translate(275%)}}.password-field{position:relative}.password-field input{padding-right:5rem}.password-field button{color:#7dd3fc;font:inherit;cursor:pointer;background:0 0;border:0;font-size:.8rem;font-weight:800;position:absolute;top:50%;right:.45rem;transform:translateY(-50%)}.inline-form{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.65rem;display:grid}.inline-form .form-note{grid-column:1/-1}.auth-page{place-items:center;min-height:calc(100vh - 68px);padding:3rem 1.25rem;display:grid}.auth-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;width:min(460px,100%);padding:1.4rem;box-shadow:0 24px 70px #00000047}.auth-heading{margin-bottom:1.3rem}.auth-heading h1{margin:.35rem 0 .5rem;font-size:2.2rem;line-height:1}.auth-heading p,.auth-switch{color:#94a3b8;line-height:1.55}.auth-switch{text-align:center;margin:1.2rem 0 0}.auth-switch a{color:#7dd3fc;font-weight:800}.auth-success{text-align:center;color:#bbf7d0;gap:1rem;display:grid}.profile-page{padding:3rem 0 4rem}.profile-hero,.profile-panel,.admin-workspace{border:1px solid var(--line);background:var(--surface);border-radius:16px;box-shadow:0 22px 65px #00000038}.profile-hero{grid-template-columns:auto minmax(0,1fr) minmax(220px,.45fr);align-items:center;gap:1.2rem;margin-bottom:1.2rem;padding:1.4rem;display:grid}.profile-avatar{color:#020617;background:linear-gradient(135deg,#38bdf8,#22c55e);border-radius:18px;justify-content:center;align-items:center;width:76px;height:76px;font-size:2rem;font-weight:850;display:flex}.profile-identity h1{margin:.3rem 0 .2rem;font-size:clamp(2rem,4vw,3.4rem);line-height:.96}.profile-identity p{color:#94a3b8;margin:0}.profile-summary{border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.profile-summary div{background:#02061752;padding:.85rem}.profile-summary div+div{border-left:1px solid var(--line)}.profile-summary span,.admin-item span,.admin-item small,.admin-user-row small{color:#94a3b8;font-size:.82rem;display:block}.profile-summary strong{color:#f8fafc;margin-top:.25rem;display:block}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.profile-panel{padding:1.2rem}.profile-settings,.profile-danger{align-self:start}.panel-heading{margin-bottom:1rem}.account-state{border:1px solid var(--line);border-radius:12px;margin-bottom:1rem;padding:1rem}.account-state p{color:#cbd5e1;margin:.35rem 0 0;line-height:1.55}.account-state-waiting{background:#facc1514;border-color:#facc156b}.notice{border-radius:12px;margin-bottom:1rem;padding:.8rem .9rem;line-height:1.45}.notice-warning{color:#fde68a;background:#facc1514;border:1px solid #facc1566}.notice-danger{color:#fecaca;background:#ef444414;border:1px solid #ef444466}.notice-upload{gap:.22rem;min-width:0;max-width:100%;display:grid;overflow:hidden}.notice-upload strong,.notice-upload span,.notice-upload small{overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%;display:block}.notice-upload span,.notice-upload small{color:var(--muted-bio)}.notice-upload-pending{color:#705421;background:#d7a84f1f;border-color:#d7a84f6b}.notice-upload-approved{color:#16743f;background:#21a65b1a;border-color:#21a65b61}.notice-upload-rejected{color:#7f2f2f;background:#b948481a;border-color:#b948486b}.profile-danger p{color:#94a3b8}.admin-workspace{margin-bottom:1rem;padding:1.2rem}.admin-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;display:flex}.admin-heading h2{border:0;margin:.3rem 0 0;padding:0;font-size:2rem}.admin-status{margin-bottom:1rem}.admin-grid{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:1rem;display:grid}.admin-review{grid-row:span 2}.admin-list{gap:.75rem;display:grid}.admin-list.compact{gap:.55rem}.admin-item,.admin-user-row{border:1px solid var(--line);background:#0206174d;border-radius:12px}.admin-item{gap:.85rem;padding:1rem;display:grid}.admin-item strong{overflow-wrap:anywhere}.admin-item small{overflow-wrap:anywhere;margin-top:.25rem}.admin-actions{flex-wrap:wrap;gap:.5rem;display:flex}.admin-user-row{justify-content:space-between;align-items:center;gap:.8rem;width:100%;padding:.75rem;display:flex}.admin-user-button{border:1px solid var(--line);color:inherit;text-align:left;cursor:pointer;transition:border-color .18s,transform .18s,box-shadow .18s}.admin-user-button:hover{border-color:#21a65b73;transform:translateY(-1px);box-shadow:0 10px 24px #21a65b1a}.admin-user-row em{color:#fde68a;white-space:nowrap;font-style:normal}.admin-key-form{margin-bottom:1rem}.admin-pending-rename{margin:0}.admin-pending-rename input{width:100%;min-height:38px;color:var(--ink-bio);font:inherit;background:#fff;border:1px solid #21a65b47;border-radius:10px;padding:.45rem .65rem}.admin-reject-note{margin:0}.admin-reject-note textarea{width:100%;min-height:72px;color:var(--ink-bio);font:inherit;resize:vertical;background:#fff;border:1px solid #b9484842;border-radius:10px;padding:.5rem .65rem}.admin-destination-editor{background:#21a65b0d;border:1px solid #21a65b24;border-radius:12px;grid-template-columns:minmax(130px,.55fr) minmax(180px,1fr) minmax(130px,.55fr);align-items:end;gap:.65rem;padding:.75rem;display:grid}.key-cloud{flex-wrap:wrap;gap:.45rem;display:flex}.key-cloud code{border:1px solid var(--line);color:#e0f2fe;background:#0206176b;border-radius:8px;padding:.42rem .58rem}.course{transition:all .3s}.course-header-row{justify-content:space-between;align-items:center;gap:.8rem;width:100%;display:flex}.file-badge{opacity:.72;color:#bae6fd;border:1px solid #38bdf840;border-radius:999px;flex:none;padding:.22rem .48rem;font-size:.72rem}.footer-main{margin:0;font-weight:650}.footer-main span{color:#16743f}.footer-sub{color:#94a3b8;margin:.55rem 0 0;font-size:.78rem}.page-width{width:min(920px,100% - 2rem);max-width:920px}.year-page{padding-top:3rem;padding-bottom:4rem}.year-header{border:1px solid var(--line);background:var(--surface);border-radius:16px;margin-bottom:1.2rem;padding:1.25rem}.year-title{border:0;margin:0 0 1rem;padding:0;font-size:clamp(2rem,4vw,3.2rem)}.year-section-title{color:#7dd3fc;margin:1.4rem 0 .8rem}@media (width<=980px){.topbar-inner{grid-template-columns:auto auto}.topbar-nav{order:3;grid-column:1/-1;justify-self:stretch;overflow-x:auto}.topbar-nav a{text-align:center;flex:1 0 auto}.home-minimal-grid,.profile-grid,.admin-grid,.home-contact-compact{grid-template-columns:minmax(0,1fr)}.admin-review{grid-row:auto}.profile-hero{grid-template-columns:auto minmax(0,1fr)}.profile-summary{grid-column:1/-1}}@media (width<=620px){.topbar-inner{padding-left:1rem;padding-right:1rem}.search-expandable input{width:190px}.search-results-panel{width:190px;max-width:190px}.home-minimal-hero{min-height:auto}.home-minimal-years,.home-minimal-contact,.profile-page{padding-top:2.4rem;padding-bottom:2.4rem}.home-minimal-actions,.home-year-actions,.inline-form,.admin-heading,.admin-user-row{grid-template-columns:minmax(0,1fr);display:grid}.home-minimal-actions .btn,.inline-form .btn,.clean-form .btn,.admin-actions .btn{width:100%}.profile-hero,.profile-summary{grid-template-columns:minmax(0,1fr)}.profile-summary div+div{border-left:0;border-top:1px solid var(--line)}}.home-minimal-hero{isolation:isolate;position:relative;overflow:hidden}.home-minimal-hero:before{content:"";z-index:-2;background:radial-gradient(circle,#38bdf824,#0000 68%);border-radius:50%;width:min(520px,70vw);height:min(520px,70vw);position:absolute;inset:12% 10% auto auto}.dna-stage{perspective:900px;opacity:.58;z-index:-1;pointer-events:none;width:min(780px,68vw);height:980px;position:absolute;top:51%;right:clamp(-18rem,-10vw,-6rem);transform:translateY(-50%)rotate(-14deg)}.dna-helix{width:100%;height:100%;transform-style:preserve-3d;animation:16s linear infinite dnaRotate;position:relative}.dna-rung{--i:0;width:340px;height:2px;transform:translate(-50%, -50%) translateY(calc((var(--i) - 9) * 48px)) rotateY(calc(var(--i) * 32deg));transform-style:preserve-3d;background:linear-gradient(90deg,#7dd3fc33,#facc1599,#7dd3fc33);position:absolute;top:50%;left:50%}.dna-rung:before,.dna-rung:after{content:"";background:#7dd3fc;border-radius:50%;width:14px;height:14px;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 0 22px #7dd3fcb8}.dna-rung:before{left:-7px}.dna-rung:after{background:#facc15;right:-7px;box-shadow:0 0 22px #facc158f}.dna-rung:first-child{--i:1}.dna-rung:nth-child(2){--i:2}.dna-rung:nth-child(3){--i:3}.dna-rung:nth-child(4){--i:4}.dna-rung:nth-child(5){--i:5}.dna-rung:nth-child(6){--i:6}.dna-rung:nth-child(7){--i:7}.dna-rung:nth-child(8){--i:8}.dna-rung:nth-child(9){--i:9}.dna-rung:nth-child(10){--i:10}.dna-rung:nth-child(11){--i:11}.dna-rung:nth-child(12){--i:12}.dna-rung:nth-child(13){--i:13}.dna-rung:nth-child(14){--i:14}.dna-rung:nth-child(15){--i:15}.dna-rung:nth-child(16){--i:16}.dna-rung:nth-child(17){--i:17}.dna-rung:nth-child(18){--i:18}@keyframes dnaRotate{0%{transform:rotateY(0)rotate(-7deg)}to{transform:rotateY(360deg)rotate(-7deg)}}.home-kicker-row{justify-content:center;align-items:center;gap:.65rem;margin-bottom:.8rem;display:inline-flex}.home-kicker-row .eyebrow{margin:0}.home-minimal-logo{border-radius:10px;width:38px;height:38px;margin:0}.home-minimal-inner{z-index:1;position:relative}.home-mini-info{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.35rem;display:flex}.home-mini-info span{border:1px solid var(--line);color:#94a3b8;background:#0f172a80;border-radius:999px;padding:.38rem .68rem;font-size:.82rem}.home-year-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;width:min(620px,100%);margin:2.45rem auto 0;display:grid}.home-year-actions a{color:#f8fafc;background:#0f172a9e;border:1px solid #7dd3fc52;border-radius:12px;justify-content:center;align-items:center;min-height:56px;font-weight:800;transition:transform .18s,border-color .18s,background .18s;display:flex}.home-year-actions a:hover{background:#38bdf824;border-color:#7dd3fcbf;transform:translateY(-2px)}.home-archive-action{width:min(360px,100%);margin:2.55rem auto 0}.home-archive-action a{color:#082f49;background:#e0f2fe;border:1px solid #e0f2fee6;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:.24rem;min-height:76px;transition:transform .18s,background .18s,box-shadow .18s;display:flex;box-shadow:0 18px 46px #38bdf829}.home-archive-action a:hover{background:#bae6fd;transform:translateY(-2px);box-shadow:0 22px 58px #38bdf838}.home-archive-action strong,.home-archive-action span{display:block}.home-archive-action strong{font-size:1.08rem}.home-archive-action span{color:#075985;font-size:.86rem;font-weight:650}.support-page{padding:4rem 0}.leaderboard-page{padding:3.2rem 0 4rem}.leaderboard-container{gap:1.2rem;display:grid}.leaderboard-hero{text-align:center}.leaderboard-hero h1{color:var(--ink-bio);margin:.45rem 0 .65rem;font-size:clamp(2.3rem,6vw,4.8rem);line-height:.96}.leaderboard-hero p{color:var(--muted-bio);margin:0}.leaderboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.leaderboard-card{background:#ffffffe0;border:1px solid #21a65b29;border-radius:16px;padding:1.15rem;box-shadow:0 18px 42px #263f2a17}.leaderboard-list{gap:.65rem;margin-top:1rem;display:grid}.leaderboard-row{background:#fafef7f0;border:1px solid #21a65b21;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.78rem;display:grid}.leaderboard-rank{background:#21a65b1a;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.32rem;display:inline-flex}.leaderboard-user{min-width:0}.leaderboard-user strong,.leaderboard-user small,.leaderboard-score strong,.leaderboard-score span{display:block}.leaderboard-user strong{color:var(--ink-bio);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.leaderboard-user small,.leaderboard-score span{color:var(--muted-bio);font-size:.78rem}.leaderboard-score{text-align:right;min-width:76px}.leaderboard-score strong{color:var(--accent-strong);font-size:1.2rem}.support-layout{grid-template-columns:minmax(240px,.85fr) minmax(320px,1.15fr);align-items:start;gap:1.4rem;display:grid}.support-intro,.support-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:1.4rem;box-shadow:0 22px 65px #00000038}.support-intro h1{margin:.45rem 0 .75rem;font-size:clamp(2.2rem,5vw,4.5rem);line-height:.95}.support-intro p:last-child{color:#cbd5e1;line-height:1.65}.guidelines-page{padding:3rem 0 4rem}.guidelines-intro{max-width:780px;margin-bottom:1.2rem}.guidelines-intro h1{color:var(--ink-bio);margin:.45rem 0 .75rem;font-size:clamp(2.2rem,5vw,4.5rem);line-height:.95}.guidelines-intro p{color:var(--muted-bio);margin:0;line-height:1.65}.guidelines-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.guidelines-card{background:#ffffffdb;border:1px solid #5b7c5e33;border-radius:14px;padding:1.1rem;box-shadow:0 18px 42px #263f2a17}.guidelines-card h2{color:var(--ink-bio);border:0;margin:0 0 .55rem;padding:0;font-size:1.12rem;line-height:1.2}.guidelines-card p{color:var(--muted-bio);margin:0;line-height:1.58}.footer-links{justify-content:center;gap:.8rem;margin-bottom:.65rem;display:flex}.footer-links a{color:#7dd3fc;font-size:.84rem;font-weight:750}@media (width<=860px){.dna-stage{opacity:.28;width:420px;height:720px;top:42%;right:-8rem;transform:translateY(-50%)rotate(-14deg)}.support-layout,.guidelines-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=620px){.dna-stage{opacity:.24;width:350px;height:650px;top:34%;right:-8.8rem}.dna-rung{width:185px;transform:translate(-50%, -50%) translateY(calc((var(--i) - 9) * 34px)) rotateY(calc(var(--i) * 32deg))}.support-page{padding:2.4rem 0}.leaderboard-page{padding:2.2rem 0 2.8rem}}:root{--bg-body:#f4faf3;--bg-elevated:#fff;--bg-card:#fff;--bg-card-soft:#eef7ee;--surface:#ffffffdb;--surface-strong:#fff;--surface-soft:#e7f3e5c7;--line:#5b7c5e38;--line-strong:#5b7c5e5c;--accent:#3f8f5d;--accent-soft:#3f8f5d21;--accent-strong:#2f6f49;--text-primary:#17251a;--text-secondary:#4d6251;--text-muted:#6c7d6f;--blue:#5b8f73;--yellow:#d7a84f;--green:#3f8f5d;--red:#b94848}body{color:var(--text-primary);background:radial-gradient(circle at 12% 0,#b1d7a457,#0000 30%),linear-gradient(#f7fbf5 0%,#eef7ee 48%,#f8fbf6 100%)}.topbar{background:#fafdf8db;border-bottom-color:#5b7c5e2e}.topbar-inner{grid-template-columns:auto auto;justify-content:space-between}.brand-title,.year-title,.home-minimal h1,.profile-identity h1,.auth-heading h1,.support-intro h1,.section-heading h2,.panel-heading h2,.panel-heading h3{color:#17251a}.brand-logo{background:#e8f4e7;border:1px solid #5b7c5e38}.icon-button,.btn-ghost,.search-expandable input,.form-row input,.form-row textarea,.form-row select,.inline-form input{color:#17251a;background:#ffffffdb;border-color:#5b7c5e47}.icon-button{color:#2f6f49}.search-results-panel{scrollbar-color:#3f8f5dc2 #e8f4e7f5;background:#fffffffa;border-color:#5b7c5e38;box-shadow:0 18px 48px #263f2a24}.search-results-panel .result-item{color:#17251a}.search-results-panel .result-item:hover{background:#3f8f5d1a}.search-results-panel::-webkit-scrollbar-track{background:#e8f4e7f5}.search-results-panel::-webkit-scrollbar-thumb{background:linear-gradient(#72b07c,#3f8f5d);border-color:#e8f4e7f5}.btn-primary{color:#fff;background:#3f8f5d;border-color:#3f8f5d;box-shadow:0 14px 32px #3f8f5d2e}.btn-primary:hover{color:#fff;background:#347a50;box-shadow:0 16px 36px #3f8f5d38}.btn-primary.btn-upload-complete,.btn-primary.btn-upload-complete:hover,.btn-primary.btn-upload-complete:disabled{color:#6a8370;cursor:not-allowed;opacity:1;box-shadow:none;background:#dcefe2;border-color:#dcefe2;transform:none}.btn-ghost:hover{color:#17251a;background:#e8f4e7d1;border-color:#3f8f5d7a}.eyebrow,.section-heading span,.panel-heading span,.year-section-title{color:#3f8f5d}.home-minimal-hero{background:linear-gradient(#ffffff59,#eef7ee73),radial-gradient(circle at 80% 35%,#85b88b33,#0000 36%);border-bottom-color:#5b7c5e29}.home-minimal-copy,.home-minimal-link span,.home-contact-compact p,.auth-heading p,.auth-switch,.profile-identity p,.profile-summary span,.support-intro p:last-child,.muted-text,.footer-sub{color:#4d6251}.home-year-actions a{color:#1d3424;background:#ffffffd1;border-color:#5b7c5e38;box-shadow:0 12px 30px #263f2a14}.home-year-actions a:hover{background:#e8f4e7f5;border-color:#3f8f5d7a}.profile-hero,.profile-panel,.admin-workspace,.auth-card,.support-intro,.support-card,.year-header,.course,.contact-card,.home-minimal-link{background:#ffffffdb;border-color:#5b7c5e33;box-shadow:0 18px 42px #263f2a17}.year-nav-link{color:#2f4d36;background:#eef7eed6;border-color:#5b7c5e3d}.year-nav-link:hover{color:#17251a;background:#fff;border-color:#3f8f5d85}.course:hover{background:#fffffffa;box-shadow:0 18px 42px #263f2a1f}.course-title,.home-minimal-link strong,.profile-summary strong,.admin-item strong,.footer-main{color:#17251a}.status-ok{background:#3f8f5d17;border-left-color:#3f8f5d;border-color:#3f8f5d75!important}.status-missing{background:#f2f7f1e6;border-left-color:#9aaa9a;border-color:#5b7c5e2e!important}.status-loading{background:#d7a84f1a;border-color:#d7a84f73}.course-dropdown,.download-dropdown{color:#17251a;background:#fff;border-color:#5b7c5e38;box-shadow:0 18px 44px #263f2a24}.course-dropdown a,.download-dropdown a,.footer-links a,.auth-switch a,.password-field button{color:#2f6f49}.profile-avatar,.avatar-circle{color:#16331f;background:linear-gradient(135deg,#72b07c,#d7e8c9)}.profile-avatar-admin{background:linear-gradient(135deg,#d7a84f,#a7cf93)}.account-state-ok{background:#3f8f5d1a;border-color:#3f8f5d6b}.account-state-waiting,.notice-warning{color:#705421;background:#d7a84f1f;border-color:#d7a84f6b}.notice-danger,.btn-danger{color:#7f2f2f;background:#b948481a;border-color:#b948486b}.admin-item,.admin-user-row,.profile-summary,.profile-summary div,.account-state,.key-cloud code{background:#f7fbf5c7;border-color:#5b7c5e2e}footer{color:#4d6251;background:#e5f1e2;border-top-color:#5b7c5e2e}:root{--accent:#21a65b;--accent-soft:#21a65b24;--accent-strong:#16743f;--leaf-bright:#7bc043;--pollen:#f4b942;--ink-bio:#132516;--muted-bio:#526a55}body{background:radial-gradient(circle at 15% 0,#7bc04338,#0000 28%),radial-gradient(circle at 88% 12%,#f4b94229,#0000 26%),linear-gradient(#fbfdf8 0%,#edf8eb 48%,#f8fbf4 100%)}.topbar{background:#fcfef9e6}.brand-logo{background:linear-gradient(135deg,#e7f7df,#fff);border-color:#21a65b38}.brand-title,.home-minimal h1,.year-title,.profile-identity h1,.auth-heading h1,.support-intro h1{color:var(--ink-bio)}.eyebrow,.section-heading span,.panel-heading span,.year-section-title,.footer-links a,.auth-switch a,.password-field button,.course-dropdown a,.download-dropdown a{color:var(--accent-strong)}.btn-primary,.home-year-actions a{background:linear-gradient(135deg, var(--accent), var(--leaf-bright));color:#fff;border-color:#21a65b57;box-shadow:0 16px 34px #21a65b33}.btn-primary:hover,.home-year-actions a:hover{color:#fff;background:linear-gradient(135deg,#18894c,#6eb83d);box-shadow:0 20px 42px #21a65b42}.home-year-actions a:nth-child(4){color:#193015;background:linear-gradient(135deg,#f4b942,#7bc043);border-color:#f4b94275}.home-year-actions a:nth-child(4):hover{color:#193015;background:linear-gradient(135deg,#e6a82f,#6eb83d)}.home-minimal-copy,.profile-identity p,.auth-heading p,.auth-switch,.support-intro p:last-child,.muted-text,.footer-sub{color:var(--muted-bio)}.home-minimal-hero{background:radial-gradient(circle at 82% 38%,#7bc04338,#0000 34%),radial-gradient(circle at 18% 78%,#f4b94221,#0000 28%),linear-gradient(#ffffff85,#edf8eba3)}.dna-stage{opacity:.42}.dna-rung{background:linear-gradient(90deg,#21a65b24,#f4b9429e,#21a65b24)}.dna-rung:before{background:var(--accent);box-shadow:0 0 24px #21a65b7a}.dna-rung:after{background:var(--pollen);box-shadow:0 0 24px #f4b9426b}.search-results-panel{scrollbar-color:#21a65bc2 #e9f6e5f5}.search-results-panel::-webkit-scrollbar-thumb{background:linear-gradient(180deg, var(--leaf-bright), var(--accent))}.file-badge{color:var(--accent-strong);background:#21a65b1a;border-color:#21a65b42}.status-ok{border-left-color:var(--accent);background:#21a65b1a;border-color:#21a65b85!important}.status-ok,.course.status-ok{background:#21a65b24;border-left:4px solid #21a65b;border-color:#21a65b9e!important}.status-ok .course-title,.course.status-ok .course-title{color:#123d22}.avatar-circle,.profile-avatar{background:linear-gradient(135deg, var(--accent), #b9df86);color:#fff}.profile-avatar-admin{background:linear-gradient(135deg, var(--pollen), var(--leaf-bright));color:#1e2f12}@media (width<=900px){.container{padding-left:1rem;padding-right:1rem}.home-minimal-inner{max-width:680px}.home-year-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:min(520px,100%)}.profile-grid,.admin-grid,.support-layout,.leaderboard-grid,.home-contact-compact{grid-template-columns:minmax(0,1fr)}.admin-review{grid-row:auto}}@media (width<=680px){.topbar-searching .topbar-inner{grid-template-columns:minmax(0,1fr)}.topbar-searching .brand,.topbar-searching .profile-avatar-link,.topbar-searching .topbar-actions>.btn{display:none}.topbar-searching .topbar-actions{width:100%}.topbar-inner{grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:.7rem;min-height:68px;padding:.65rem .9rem}.brand-logo{border-radius:12px;width:42px;height:42px}.brand-title{font-size:.96rem}.topbar-actions{justify-self:end;gap:.45rem;min-width:0}.search-wrapper,.search-expandable{width:100%;min-width:0}.icon-button{min-height:34px;padding:0 .65rem}.header-upload-link{padding-inline:.62rem}.header-upload-label{display:none}.header-upload-label-short{display:inline}.topbar:not(.topbar-searching) .search-wrapper{width:auto}.search-expandable input{width:100%;min-width:0;height:42px;font-size:16px}.search-results-panel{width:100%;max-width:100%}.home-minimal-hero{align-items:center;min-height:calc(100vh - 62px)}.home-minimal-inner{padding-top:2.2rem;padding-bottom:2.2rem}.home-kicker-row{display:none}.home-minimal h1{margin-top:0;margin-bottom:1.05rem;font-size:clamp(3rem,16vw,4.4rem)}.home-minimal-copy{font-size:1rem;line-height:1.58}.home-year-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:1.75rem}.home-year-actions a{border-radius:12px;min-height:46px;padding:.35rem .45rem;font-size:.86rem}.dna-stage{opacity:.24;width:350px;height:650px;top:32%;right:-8.6rem;transform:translateY(-50%)rotate(-14deg)}.page-width{width:min(100% - 1.25rem,920px)}.year-page{padding-top:.8rem;padding-bottom:2.4rem}.year-header{border-radius:14px;padding:1rem}.year-title{margin-bottom:.85rem;font-size:clamp(1.8rem,10vw,2.6rem)}.year-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.year-nav-link{text-align:center;justify-content:center;min-height:38px;padding:.44rem .55rem;display:flex;transform:none}.course{border-radius:12px;padding:.9rem 2.65rem .9rem .85rem}.course-title{max-width:none;font-size:.98rem}.course-header-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.6rem;display:grid}.file-badge{white-space:nowrap;justify-self:end;margin-top:.05rem;font-size:.68rem}.status-ok:after,.status-missing:after,.status-loading:after{top:.92rem;right:.85rem}.course-dropdown.open{margin-top:.75rem}.profile-page,.support-page,.auth-page{padding-top:1.6rem;padding-bottom:2.4rem}.profile-hero,.profile-panel,.admin-workspace,.auth-card,.support-intro,.support-card{border-radius:14px;padding:1rem}.profile-hero{text-align:left;grid-template-columns:minmax(0,1fr)}.profile-avatar{border-radius:16px;width:62px;height:62px;font-size:1.55rem}.profile-summary{grid-template-columns:minmax(0,1fr)}.profile-summary div+div{border-left:0;border-top:1px solid var(--line)}.inline-form,.admin-heading,.admin-user-row,.admin-actions,.upload-progress-stats{grid-template-columns:minmax(0,1fr);display:grid}.inline-form .btn,.clean-form .btn,.admin-actions .btn{width:100%}.footer-links{margin-bottom:.5rem}}@media (width<=420px){.brand-title{display:none}.search-expandable input{width:100%;font-size:16px}.search-results-panel{width:100%;max-width:100%}.home-minimal h1{font-size:clamp(2.65rem,18vw,3.6rem)}.year-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.course-header-row{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;display:grid}}.year-nav-link{color:#1d4d2c;box-shadow:none;background:#f7fcf4;border-color:#21a65b3d;position:relative;overflow:hidden;transform:none}.year-nav-link:hover{color:#123d22;background:#21a65b1f;border-color:#21a65b7a;transform:none;box-shadow:inset 0 0 0 1px #21a65b14}.year-nav-link-active,.year-nav-link-active:hover{background:linear-gradient(135deg, var(--accent), var(--leaf-bright));color:#fff;border-color:#21a65b94;box-shadow:0 10px 24px #21a65b29}.year-nav-link:focus-visible,.home-year-actions a:focus-visible,.btn:focus-visible,.icon-button:focus-visible,.search-expandable input:focus-visible,.form-row input:focus-visible,.form-row textarea:focus-visible,.form-row select:focus-visible{outline-offset:2px;outline:3px solid #7bc04357}.profile-panel,.admin-workspace,.auth-card,.support-intro,.support-card,.year-header,.contact-card{background:linear-gradient(#ffffffeb,#f8fdf6e6)}.panel-heading,.section-heading{border-bottom:1px solid #21a65b1f;padding-bottom:.7rem}.profile-summary div,.admin-item,.admin-user-row,.account-state,.key-cloud code,.course-dropdown,.download-dropdown{background:#fafef7f0}.form-row input,.form-row textarea,.form-row select,.inline-form input{background:#fff}.form-row input:focus,.form-row textarea:focus,.form-row select:focus,.inline-form input:focus{border-color:#21a65ba8;box-shadow:0 0 0 3px #21a65b1f}.course-dropdown a:hover,.download-dropdown a:hover{color:#18894c}.status-missing,.course.status-missing{background:#b948481a;border-left:4px solid #b94848;border-color:#b9484875!important}.status-missing .course-title,.course.status-missing .course-title{color:#6f2e2e}.course.status-missing:hover{background:#b9484824;border-color:#b9484894!important}.course.status-ok:hover{background:#21a65b2e;border-color:#21a65bb8!important}html{background:#f7fbf4;min-height:100%}body{background-color:#0000;background-image:radial-gradient(circle at 14% 4%,#7bc04338,#0000 32%),radial-gradient(circle at 88% 14%,#f4b94224,#0000 30%),linear-gradient(145deg,#fbfdf8 0%,#eef8eb 52%,#f8fbf4 100%);background-position:0 0,0 0,0 0;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-height:100%;position:relative}body:before{content:none}#root{background:0 0;min-height:100vh}.home-minimal,.home-minimal-hero,.home-minimal-years,.home-minimal-contact,.year-page,.profile-page,.support-page,.auth-page{background:0 0}.home-minimal-hero{border-bottom-color:#0000}.home-minimal-hero:before{background:radial-gradient(circle,#7bc0432e,#0000 68%)}.admin-user-row em{color:#98712a}@media (width<=680px){.year-nav-link:hover,.home-year-actions a:hover,.btn:hover{transform:none}}.profile-hero{grid-template-columns:auto minmax(0,1fr) minmax(220px,.42fr) auto}.profile-logout{color:#7f2f2f;background:#b948480f;border-color:#b9484852;min-width:96px}.profile-avatar-wrap{justify-items:start;gap:.42rem;display:grid;position:relative}.profile-avatar-button{cursor:pointer;border:0;padding:0;transition:transform .18s,box-shadow .18s}.profile-avatar-button:hover{transform:translateY(-1px)scale(1.03);box-shadow:0 16px 34px #21a65b42}.profile-avatar-button:focus-visible,.avatar-option:focus-visible{outline-offset:3px;outline:3px solid #21a65b4d}.avatar-preset{isolation:isolate;border:1px solid #ffffff94;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0f172a14}.avatar-preset:before,.avatar-preset:after{content:"";z-index:-1;border-radius:999px;position:absolute}.avatar-preset:before{background:#ffffff52;width:72%;height:72%;top:-18%;right:-24%}.avatar-preset:after{background:#0206171f;width:46%;height:46%;bottom:-12%;left:-14%}.avatar-image{z-index:1;object-fit:cover;width:100%;height:100%;display:block;position:relative}.avatar-preset-leaf{color:#fff;background:linear-gradient(135deg,#21a65b,#b9df86)}.avatar-preset-dna{color:#fff;background:linear-gradient(135deg,#16743f,#38bdf8)}.avatar-preset-cell{color:#193015;background:linear-gradient(135deg,#f4b942,#7bc043)}.avatar-preset-lab{color:#123d22;background:linear-gradient(135deg,#e2f2dd,#2f6f49)}.avatar-preset-molecule{color:#fff;background:linear-gradient(135deg,#0f766e,#a7f3d0)}.avatar-preset-pollen{color:#3a2600;background:linear-gradient(135deg,#f59e0b,#fde68a)}.avatar-preset-marine{color:#fff;background:linear-gradient(135deg,#0369a1,#67e8f9)}.avatar-preset-amber{color:#3b2506;background:linear-gradient(135deg,#b45309,#fef3c7)}.avatar-preset-violet{color:#fff;background:linear-gradient(135deg,#6d28d9,#f0abfc)}.avatar-preset-slate{color:#fff;background:linear-gradient(135deg,#172554,#94a3b8)}.avatar-picker-panel{z-index:30;background:#fffffff5;border:1px solid #21a65b2e;border-radius:14px;width:min(330px,100vw - 2rem);padding:.8rem;position:absolute;top:calc(100% + .6rem);left:0;box-shadow:0 22px 60px #263f2a38}.avatar-picker-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.7rem;display:flex}.avatar-picker-head strong{color:var(--ink-bio);font-size:.95rem}.avatar-picker-head button{width:28px;height:28px;color:var(--accent-strong);font:inherit;cursor:pointer;background:#21a65b14;border:1px solid #21a65b2e;border-radius:999px;font-weight:900;line-height:1}.avatar-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;display:grid}.avatar-option{aspect-ratio:1;min-width:0;color:inherit;font:inherit;cursor:pointer;border-radius:16px;padding:0;font-size:.72rem;font-weight:900;transition:transform .16s,box-shadow .16s,border-color .16s}.avatar-option:hover,.avatar-option.is-selected{border-color:#21a65bad;transform:translateY(-1px);box-shadow:0 10px 24px #21a65b2e}.avatar-option.is-selected{outline:3px solid #21a65b2e}.avatar-status{color:var(--muted-bio);margin:0;font-size:.78rem;line-height:1.3}.profile-main-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:start;gap:1rem;display:grid}.profile-upload-panel{min-height:100%}.profile-upload-collapsible{min-height:0;padding:0;overflow:hidden}.profile-upload-collapsible summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;min-height:68px;padding:1rem 1.1rem;list-style:none;display:flex}.profile-upload-collapsible summary::-webkit-details-marker{display:none}.profile-upload-collapsible summary:after{content:"+";width:28px;height:28px;color:var(--accent-strong);background:#21a65b1f;border-radius:999px;justify-content:center;align-items:center;font-weight:900;display:inline-flex}.profile-upload-collapsible[open] summary{border-bottom:1px solid #21a65b1f}.profile-upload-collapsible[open] summary:after{content:"-"}.profile-upload-collapsible summary small,.profile-upload-collapsible summary strong{display:block}.profile-upload-collapsible summary small{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:800}.profile-upload-collapsible summary strong{color:var(--ink-bio);margin-top:.2rem;font-size:1.05rem}.profile-upload-collapsible .panel-heading,.profile-upload-collapsible .clean-form{margin:1.1rem}.profile-side-stack{gap:1rem;display:grid}.upload-history-panel{gap:.85rem;display:grid}.upload-history-list{gap:.6rem;display:grid}.upload-history-item{background:#fafef7e6;border:1px solid #21a65b29;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.7rem;min-width:0;max-width:100%;padding:.7rem;display:grid}.upload-history-item>div{min-width:0}.upload-history-item strong,.upload-history-item small{overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%;display:block}.upload-history-item strong{color:var(--ink-bio);overflow-wrap:anywhere}.upload-history-item small{color:var(--muted-bio);margin-top:.16rem}.upload-status{white-space:nowrap;border-radius:999px;justify-self:end;padding:.28rem .52rem;font-size:.72rem;font-weight:850}.upload-status-pending{color:#705421;background:#d7a84f29}.upload-status-approved{color:#16743f;background:#21a65b24}.upload-status-rejected{color:#7f2f2f;background:#b948481f}.activation-strip{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);align-items:center;gap:1rem;margin-bottom:1rem;display:grid}.activation-strip strong{color:var(--ink-bio);margin-top:.25rem;line-height:1.3;display:block}.profile-settings{padding:0;overflow:hidden}.profile-settings summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;min-height:68px;padding:1rem 1.1rem;list-style:none;display:flex}.profile-settings summary::-webkit-details-marker{display:none}.profile-settings summary:after{content:"+";width:28px;height:28px;color:var(--accent-strong);background:#21a65b1f;border-radius:999px;justify-content:center;align-items:center;font-weight:900;display:inline-flex}.profile-settings[open] summary:after{content:"-"}.profile-settings summary small,.profile-settings summary strong{display:block}.profile-settings summary small{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:800}.profile-settings summary strong{color:var(--ink-bio);margin-top:.2rem;font-size:1.05rem}.settings-form{padding:0 1.1rem 1.1rem}.settings-subsection{border-top:1px solid #21a65b1f;gap:.75rem;padding-top:1rem;display:grid}.settings-subsection h3{color:#1d4d2c;margin:0;font-size:1rem}.profile-help-card{color:var(--muted-bio)}.profile-help-card p{margin:.45rem 0 0;line-height:1.55}.key-cloud{align-items:center}.key-chip{color:#173d24;min-height:36px;font:inherit;cursor:pointer;background:#f8fdf5;border:1px solid #21a65b47;border-radius:999px;align-items:center;gap:.5rem;padding:.4rem .55rem .4rem .72rem;font-size:.86rem;font-weight:800;transition:transform .16s,border-color .16s,background .16s,opacity .2s;display:inline-flex;position:relative}.key-chip:hover{background:#b9484814;border-color:#b948487a;transform:translateY(-1px)}.key-chip i{color:#8f3434;background:#b948481f;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-style:normal;line-height:1;transition:transform .18s,background .18s,color .18s;display:inline-flex;transform:scale(.9)}.key-chip:hover i,.key-chip.is-deleting i{color:#fff;background:#b94848;transform:scale(1.18)rotate(90deg)}.key-chip.is-deleting{opacity:.58;animation:.26s forwards keyDeletePulse}@keyframes keyDeletePulse{0%{transform:scale(1)}60%{transform:scale(.96)}to{transform:scale(.92)}}.admin-files-panel,.admin-users-panel{grid-column:1/-1}.admin-users-panel{grid-column:auto;padding:1rem}.admin-files-panel summary,.admin-users-panel summary{cursor:pointer;min-height:58px;color:var(--ink-bio);border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;list-style:none;display:flex}.admin-files-panel summary::-webkit-details-marker{display:none}.admin-users-panel summary::-webkit-details-marker{display:none}.admin-files-panel summary span,.admin-users-panel summary span{gap:.12rem;display:grid}.admin-files-panel summary small,.admin-users-panel summary small{color:var(--muted-bio);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:800}.admin-users-heading{justify-content:space-between;align-items:start;gap:1rem;margin-bottom:1rem;display:flex}.admin-users-heading span{color:var(--muted-bio);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:800;display:block}.admin-users-heading h3{color:var(--ink-bio);margin:.2rem 0 0}.admin-users-heading em{color:var(--accent-strong);background:#21a65b1f;border-radius:999px;padding:.22rem .52rem;font-size:.78rem;font-style:normal;font-weight:900}.admin-user-tabs{background:#21a65b0f;border:1px solid #21a65b29;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;margin-bottom:.8rem;padding:.25rem;display:grid}.admin-user-tabs button{min-height:36px;color:var(--muted-bio);cursor:pointer;background:0 0;border:0;border-radius:9px;font-weight:850;transition:background .18s,color .18s,box-shadow .18s}.admin-user-tabs button:hover,.admin-user-tabs button.is-active{color:var(--ink-bio);background:#fff;box-shadow:0 8px 18px #21a65b1c}.admin-user-modal-backdrop{z-index:10000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0206179e;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.admin-user-modal{width:min(520px,100%);max-height:min(720px,100vh - 2rem);color:var(--ink-bio);background:#fafff7;border:1px solid #21a65b2e;border-radius:16px;padding:1rem;overflow:auto;box-shadow:0 28px 70px #02061747}.admin-user-modal-head{border-bottom:1px solid #21a65b24;justify-content:space-between;align-items:start;gap:1rem;margin-bottom:.9rem;padding-bottom:.8rem;display:flex}.admin-user-modal-head span{color:var(--muted-bio);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:850}.admin-user-modal-head h3{color:var(--ink-bio);margin:.15rem 0 0}.admin-user-modal-head button{width:34px;height:34px;color:var(--ink-bio);cursor:pointer;background:#fff;border:1px solid #21a65b2e;border-radius:999px;font-weight:900}.admin-user-editor-form{gap:.8rem}.admin-check-row{min-height:44px;color:var(--ink-bio);background:#fff;border:1px solid #21a65b24;border-radius:12px;align-items:center;gap:.55rem;padding:.7rem .8rem;font-size:.92rem;font-weight:800;display:flex}.admin-check-row input{width:18px;height:18px;accent-color:var(--accent)}.admin-check-row-danger{border-color:#b9484840}.admin-check-row-danger input{accent-color:#b94848}.admin-user-modal-actions{justify-content:flex-end;padding-top:.2rem}.admin-files-panel summary:after,.admin-users-panel summary:after{content:"+";width:32px;height:32px;color:var(--accent-strong);background:#21a65b1f;border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:1.35rem;font-weight:700;transition:transform .18s,background .18s;display:inline-flex}.admin-files-panel[open] summary,.admin-users-panel[open] summary{margin-bottom:1rem}.admin-files-panel[open] summary:after,.admin-users-panel[open] summary:after{content:"-";background:#21a65b2e;transform:rotate(180deg)}.admin-users-scroll{scrollbar-width:thin;scrollbar-color:#21a65bb3 #e9f6e5e6;max-height:320px;padding-right:.25rem;overflow:auto}.admin-users-scroll::-webkit-scrollbar{width:8px}.admin-users-scroll::-webkit-scrollbar-track{background:#e9f6e5e6;border-radius:999px}.admin-users-scroll::-webkit-scrollbar-thumb{background:linear-gradient(180deg, var(--leaf-bright), var(--accent));border-radius:999px}.admin-files-body{gap:1rem;display:grid}.admin-file-filters{grid-template-columns:minmax(220px,1fr) minmax(160px,.35fr);align-items:end;gap:.8rem;display:grid}.admin-file-search{margin-bottom:0}.admin-file-list{scrollbar-width:thin;scrollbar-color:#21a65bb3 #e9f6e5e6;gap:.65rem;max-height:520px;padding-right:.25rem;display:grid;overflow:auto}.admin-file-list::-webkit-scrollbar{width:8px}.admin-file-list::-webkit-scrollbar-track{background:#e9f6e5e6;border-radius:999px}.admin-file-list::-webkit-scrollbar-thumb{background:linear-gradient(180deg, var(--leaf-bright), var(--accent));border-radius:999px}.admin-file-row{background:#fafef7f0;border:1px solid #21a65b29;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.75rem;display:grid}.admin-file-info{min-width:0}.admin-file-info strong,.admin-file-info small{display:block}.admin-file-info strong{color:var(--ink-bio);overflow-wrap:anywhere}.admin-file-info small{color:var(--muted-bio);margin-top:.2rem}.admin-file-edit{grid-template-columns:minmax(180px,1fr) auto auto;align-items:center;gap:.45rem;display:grid}.admin-file-edit input{width:100%;min-height:36px;color:var(--ink-bio);font:inherit;background:#fff;border:1px solid #21a65b47;border-radius:10px;padding:.45rem .65rem}@media (width<=980px){.profile-hero,.profile-main-grid,.activation-strip{grid-template-columns:minmax(0,1fr)}.profile-logout{justify-self:start}}@media (width<=680px){.profile-hero{text-align:left}.profile-avatar-wrap{width:100%}.avatar-picker-panel{width:100%;position:static}.avatar-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.42rem}.avatar-option{border-radius:13px;font-size:.62rem}.profile-summary,.profile-logout{width:100%}.profile-main-grid{gap:.85rem}.activation-strip{gap:.75rem}.profile-settings summary,.profile-upload-collapsible summary{min-height:62px;padding:.9rem}.profile-upload-collapsible .panel-heading,.profile-upload-collapsible .clean-form{margin:.9rem}.settings-form{padding:0 .9rem .9rem}.upload-history-item{grid-template-columns:minmax(0,1fr)}.upload-status{justify-self:start}.key-chip{max-width:100%}.key-chip span{text-overflow:ellipsis;overflow:hidden}.admin-file-row,.admin-file-edit,.admin-destination-editor{grid-template-columns:minmax(0,1fr)}.admin-files-panel,.admin-users-panel,.admin-files-body,.admin-file-list,.admin-file-row{width:100%;min-width:0}.admin-file-filters{grid-template-columns:minmax(0,1fr)}.admin-file-row .admin-actions{grid-template-columns:minmax(0,1fr);width:100%;display:grid}.admin-file-row .admin-actions .btn{white-space:normal;overflow-wrap:anywhere;width:100%;min-width:0}}.dna-stage{perspective:780px;opacity:.54;width:min(680px,58vw);height:860px;top:50%;right:clamp(-5.5rem,-4vw,-2.5rem);transform:translateY(-50%)rotate(-10deg)}.dna-helix{transform-origin:50%;width:100%;height:100%;transform-style:preserve-3d;will-change:transform;animation:9s linear infinite dnaRotate}.dna-rung{width:280px;transform:translate(-50%, -50%) translateY(calc((var(--i) - 15.5) * 27px)) rotateY(calc(var(--i) * 30deg));transform-origin:50%;transform-style:preserve-3d}@media (width<=900px){.dna-stage{perspective:720px;opacity:.4;width:460px;height:760px;top:47%;right:-4.5rem}.dna-rung{width:220px;transform:translate(-50%, -50%) translateY(calc((var(--i) - 15.5) * 23px)) rotateY(calc(var(--i) * 30deg))}}@media (width<=680px){.dna-stage{perspective:650px;opacity:.34;width:300px;height:620px;top:43%;right:-2.2rem;transform:translateY(-50%)rotate(-8deg)}.dna-rung{width:158px;transform:translate(-50%, -50%) translateY(calc((var(--i) - 15.5) * 20px)) rotateY(calc(var(--i) * 30deg))}}:root{--font-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Consolas, monospace;--z-mobile-action:50;--z-search:80}body{font-family:var(--font-sans)}h1,h2,h3,.profile-identity h1,.auth-heading h1,.support-intro h1,.guidelines-intro h1,.leaderboard-hero h1,.legal-header h1,.not-found-content h1{letter-spacing:normal;font-weight:700}.form-row label{color:#526a55}.form-note{color:#526a55;background:#f7fbf5f0;border-left-color:#5b7c5e5c}.form-note-success{color:#16743f;background:#21a65b1a;border-left-color:#21a65b}.form-note-info,.form-note-idle{color:#705421;background:#d7a84f1f;border-left-color:#d7a84f}.form-note-error{color:#8d2c2c;background:#fff1ee;border-left-color:#b94848}.admin-item span,.admin-item small,.admin-user-row small{color:#526a55}.account-status{border:1px solid #5b7c5e33;border-left-width:4px;border-radius:12px}.account-status-active{background:#21a65b1a;border-left-color:#21a65b}.account-status-pending{background:#d7a84f1f;border-left-color:#d7a84f}#root{flex-direction:column;display:flex}.main-content{flex:1 0 auto;min-width:0}.main-content:focus{outline:0}.skip-link{z-index:100;color:#132516;background:#f4b942;border:2px solid #132516;border-radius:10px;min-height:42px;padding:.65rem 1rem;font-weight:800;text-decoration:none;transition:transform .18s;position:fixed;top:.75rem;left:.75rem;transform:translateY(calc(-100% - 1.5rem))}.skip-link:focus{transform:translateY(0)}.brand-logo{flex:none;display:block;overflow:hidden}.logo-image,.avatar-image{object-fit:cover;width:100%;height:100%}.topbar{z-index:80}.topbar-inner{overflow:visible}.search-wrapper{position:relative}.header-search-panel.search-expandable{z-index:1000;transform-origin:100% 0;background:#fffffffa;border:1px solid #21a65b38;border-radius:14px;width:300px;max-width:min(300px,86vw);animation:.22s both legacy-search-drop;position:absolute;top:calc(100% + .55rem);right:0;overflow:visible;box-shadow:0 18px 48px #263f2a24}.header-search-panel:before{content:none}.header-search-workspace{min-width:0;padding:.45rem}.header-search-controls{grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:.4rem;display:grid}.search-dialog-field{min-height:0;box-shadow:none;background:0 0;border:0;border-radius:999px;padding:0;animation:none;display:block;transform:none}.search-dialog-field:focus-within{box-shadow:none;background:0 0;transform:none}.search-expandable .search-dialog-field input{color:#17251a;background:#fffffff5;border:1px solid #5b7c5e5c;border-radius:999px;outline:none;width:100%;min-width:0;min-height:38px;padding:0 .85rem;font-size:.9rem}.search-expandable .search-dialog-field input:focus{border-color:#21a65ba8;box-shadow:0 0 0 3px #21a65b1f}.header-search-close{color:#2f6f49;border-radius:50%;width:36px;min-width:36px;height:36px;min-height:36px;padding:0;font-size:1.3rem;line-height:1}.header-search-results-frame{scrollbar-width:thin;scrollbar-color:#21a65bc2 #e9f6e5f5;max-height:330px;overflow:hidden auto}.search-dialog-results{margin:.35rem 0 0;padding:0;display:grid}.search-dialog-option{color:#17251a;text-align:left;background:0 0;border:0;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.65rem;width:100%;min-height:54px;padding:.62rem .7rem;transition:background .18s,transform .18s;animation:.22s both legacy-result-rise;display:grid}.search-dialog-option+.search-dialog-option{border-top:0}.search-dialog-option:hover,.search-dialog-option:focus-visible,.search-dialog-option[aria-selected=true]{box-shadow:none;background:#21a65b1a;transform:translate(2px)}.search-dialog-option-copy{gap:.12rem;min-width:0;display:grid}.search-dialog-option-copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.search-dialog-option-copy span{color:#6c7d6f;font-size:.72rem}.search-result-arrow{color:#16743f;font-weight:800}.search-dialog-empty{color:#526a55;border-top:1px solid #5b7c5e2e;margin:.35rem 0 0;padding:.8rem .7rem .55rem;font-size:.84rem}@keyframes legacy-search-drop{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes legacy-result-rise{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.home-minimal-hero{border-bottom:0;align-items:center;min-height:calc(100vh - 68px);display:flex}.home-minimal-inner{text-align:center;width:min(100% - 2rem,760px);max-width:760px;margin-inline:auto;padding-top:4rem;padding-bottom:4rem}.home-minimal h1{letter-spacing:normal;margin:1.05rem 0 1.35rem;font-size:clamp(3rem,7vw,6.5rem);font-weight:820;line-height:.9}.home-minimal-hero .home-minimal-copy{color:#526a55;max-width:640px;margin:0 auto;font-size:1.12rem;line-height:1.72}.home-minimal-hero .home-kicker-row .eyebrow{color:#16743f;letter-spacing:.08em;margin:0;font-size:.76rem;font-weight:800;line-height:1.1}.home-share-action{justify-content:center;margin-top:1rem;display:flex}.home-share-action .btn{min-width:190px}.home-archive{background:#ffffff47;padding:4.5rem 0}.archive-row-list{border-top:1px solid #21a65b47}.archive-row{border-bottom-color:#5b7c5e47}.archive-row:hover,.archive-row:focus-visible{background:#fffc}.archive-row-arrow{color:#16743f;font-size:1.25rem;transition:transform .18s}.archive-row:hover .archive-row-arrow,.archive-row:focus-visible .archive-row-arrow{transform:translate(4px)}.home-contribution{color:#132516;background:#e5f1e2;border-color:#21a65b33}.home-contribution .eyebrow{color:#16743f}.home-contribution h2{color:#132516}.home-contribution-inner>p:last-child,.year-description{color:#526a55}.year-section-title{color:#16743f;font-family:var(--font-sans);letter-spacing:0;text-transform:none;border:0;margin:1.4rem 0 .8rem;padding:0;font-size:1.05rem;font-weight:750;line-height:1.25}.year-course-list{border-bottom:0}.course{background:#ffffffdb;border:1px solid #5b7c5e33;border-left-width:4px;border-radius:14px;margin:.78rem 0;padding:0;transition:transform .24s,background .24s,border-color .24s,box-shadow .24s;overflow:hidden;box-shadow:0 12px 30px #263f2a12}.course:first-child{border-top:1px solid #5b7c5e33}.course:hover{transform:translateY(-2px)}.course-header-row{min-height:58px;padding:.75rem 3rem .75rem 1rem}.course:after{color:currentColor;content:"▾";opacity:.62;pointer-events:none;font-size:1rem;font-weight:800;line-height:1;transition:transform .24s;position:absolute;top:50%;right:1.15rem;transform:translateY(-50%)}.course.course-open:after{transform:translateY(-50%)rotate(180deg)}.course.status-loading:after{animation:1.2s ease-in-out infinite alternate legacy-chevron-pulse}.course.status-ok,.course.status-missing,.course.status-loading{box-shadow:0 12px 30px #263f2a12}.course.status-ok .course-header-row:hover,.course.status-ok .course-header-row:focus-visible{background:0 0}.course.course-open{transform:none}.course-status{color:#8d5a55;max-width:15rem;font-family:var(--font-sans);font-size:.72rem;font-weight:650}.course-dropdown{background:#fffffff5;border-top-color:#5b7c5e2e}@keyframes legacy-chevron-pulse{0%{opacity:.3}to{opacity:.75}}.auth-card{grid-template-columns:none;column-gap:0;width:min(460px,100%);display:block}.auth-card>.clean-form,.auth-card>.auth-success{width:100%}.auth-switch{grid-column:auto}.legal-page,.not-found-page{padding:3.2rem 0 4rem}.legal-content,.not-found-content,.guidelines-item{background:#ffffffdb;border-color:#5b7c5e33;box-shadow:0 18px 42px #263f2a17}.legal-content,.not-found-content{border:1px solid #5b7c5e33;border-radius:16px}.legal-content{width:min(100% - 2rem,760px);max-width:760px;padding:clamp(1.25rem,4vw,2.2rem)}.not-found-logo{object-fit:cover;border:1px solid #21a65b38;border-radius:18px;grid-column:1/-1;width:88px;height:88px;margin-bottom:1.5rem}.guidelines-intro{box-shadow:none;background:0 0;border:0}.guidelines-list{border-top:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.guidelines-item{background:#ffffffdb;border:1px solid #5b7c5e33;border-radius:14px;padding:1.1rem;display:block;box-shadow:0 18px 42px #263f2a17}.guidelines-number{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.guidelines-item h2{letter-spacing:normal;border:0;margin:0 0 .55rem;padding:0;font-size:1.12rem;font-weight:700;line-height:1.2}.guidelines-item p{color:#526a55;margin:0;line-height:1.58}.leaderboard-row{grid-template-columns:auto minmax(0,1fr) auto;min-height:0}.leaderboard-rank{width:42px;height:42px;font-family:var(--font-sans);background:#21a65b1a;border-radius:12px;justify-content:center;align-items:center;font-size:1.32rem;display:inline-flex}.leaderboard-score{text-align:right;grid-column:auto}.btn-secondary{color:#16743f;background:#ffffffd1;border-color:#21a65b6b;border-radius:999px}.btn-secondary:hover,.btn-secondary:focus-visible{color:#132516;background:#e8f4e7f5;border-color:#21a65ba8}.site-footer{background:#e5f1e2;border-top:1px solid #5b7c5e2e;padding:0}.site-footer-inner{flex-wrap:wrap;align-items:center;gap:.65rem 1.4rem;padding-block:.85rem;display:flex}.site-footer-brand{flex:24rem;align-items:baseline;gap:.75rem;min-width:min(100%,22rem);display:flex}.footer-main{flex:none;margin:0}.footer-sub{font-size:.72rem;line-height:1.35}.footer-links{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;align-items:center;gap:.15rem .85rem;margin:0;display:flex}.footer-links a{color:#16743f;align-items:center;min-height:30px;font-size:.84rem;font-weight:750;text-decoration:none;display:flex}.site-footer-copyright{color:#526a55;border-top:0;flex:none;margin:0;padding-top:0;font-size:.78rem}.mobile-action-bar{display:none}@media (width<=680px){.topbar-searching .topbar-inner{grid-template-columns:minmax(0,1fr);display:grid}.topbar-searching .brand,.topbar-searching .profile-avatar-link,.topbar-searching .topbar-actions>.btn{display:none}.topbar-searching .topbar-actions,.topbar-searching .search-wrapper{width:100%}.topbar-searching .header-search-trigger{display:none}.topbar:not(.topbar-searching) .header-search-trigger span,.topbar:not(.topbar-searching) .header-login-link span{clip:auto;white-space:normal;border:0;width:auto;height:auto;margin:0;display:inline;position:static;overflow:visible}.topbar:not(.topbar-searching) .header-search-trigger,.topbar:not(.topbar-searching) .header-login-link{min-width:0;padding-inline:.62rem;font-size:.76rem}.header-search-panel.search-expandable{width:100%;max-width:100%;box-shadow:none;margin:0;position:relative;top:auto;right:auto}.home-minimal-hero{min-height:calc(100vh - 68px)}.home-minimal-inner{padding-top:2.2rem;padding-bottom:2.2rem}.home-share-action{margin-top:.8rem}.home-share-action .btn{min-height:42px;font-size:.84rem}.archive-row{grid-template-columns:2.6rem minmax(0,1fr) auto;gap:.8rem;min-height:96px}.archive-row-copy{grid-template-columns:minmax(0,1fr);gap:.18rem;display:grid}.archive-row-copy>span{font-size:.78rem}.home-contribution-inner{grid-template-columns:minmax(0,1fr);gap:1rem;padding-block:3rem;display:grid}.course-header-row{padding:.9rem 2.65rem .9rem .85rem}.course:after{top:50%;right:.85rem}.course-status{max-width:9rem;font-size:.65rem}.site-footer-inner{text-align:left;flex-wrap:wrap;align-items:center;gap:.45rem 1rem;padding-block:.75rem;display:flex}.site-footer-brand{flex:100%;min-width:100%;max-width:none}.footer-links{flex-wrap:wrap;flex:auto;justify-content:flex-start;gap:.25rem .8rem;display:flex}.site-footer-copyright{margin-left:auto}.guidelines-list{grid-template-columns:minmax(0,1fr)}.leaderboard-row{grid-template-columns:auto minmax(0,1fr) auto}.leaderboard-score{text-align:right;grid-column:auto}.mobile-action-bar{z-index:var(--z-mobile-action);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:.6rem max(.8rem, env(safe-area-inset-right)) calc(.6rem + env(safe-area-inset-bottom)) max(.8rem, env(safe-area-inset-left));background:#fcfef9f0;border-top:1px solid #21a65b33;display:block;position:fixed;bottom:0;left:0;right:0}.mobile-action-link{width:100%;min-height:46px}}@media (width>=981px) and (width<=1080px){.profile-hero{grid-template-columns:auto minmax(0,1fr) auto}.profile-summary{border-top:1px solid #5b7c5e2e;border-left:0;grid-column:2/-1;padding-top:1rem}.profile-summary>div{padding-inline:0 1.5rem}.profile-logout{grid-area:1/3}.profile-main-grid,.admin-grid{grid-template-columns:minmax(0,1fr)}.admin-review{grid-row:auto}}.course-dropdown a:hover,.course-dropdown a:focus-visible,.download-dropdown a:hover,.download-dropdown a:focus-visible{color:#126a3c}@media (prefers-reduced-motion:reduce){.header-search-panel,.search-dialog-option,.dna-helix,.dna-rung,.course,.course:after,.archive-row-arrow{transition-duration:.01ms!important;animation:none!important}}
