:root{
  --ink:#0a0a0a;
  --paper:#f6f4ea;
  --yellow:#ffe500;
  --pink:#ff3b9d;
  --cyan:#3edcff;
  --green:#55e66f;
  --violet:#8b5cf6;
  --orange:#ff7139;
  --muted:#6f6b61;
  --line:3px solid var(--ink);
  --shadow:8px 8px 0 var(--ink);
  --radius:0;
  --max:1480px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;overflow-x:hidden}
a{color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}
.skip-link{position:fixed;left:1rem;top:-5rem;background:#fff;padding:.7rem 1rem;border:var(--line);z-index:9999}.skip-link:focus{top:1rem}
.grain{position:relative}.grain:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}
.container{width:min(calc(100% - 32px),var(--max));margin:auto;position:relative;z-index:1}
.ticker{height:34px;background:var(--ink);color:var(--yellow);border-bottom:var(--line);overflow:hidden;white-space:nowrap;font-weight:900;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.76rem;letter-spacing:.08em;display:flex;align-items:center}
.ticker-track{display:inline-block;animation:ticker 34s linear infinite;padding-left:100%}@keyframes ticker{to{transform:translateX(-100%)}}
.site-header{position:sticky;top:0;z-index:100;background:rgba(246,244,234,.96);backdrop-filter:blur(10px);border-bottom:var(--line)}
.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;min-width:0}.brand img{width:56px;height:56px;object-fit:contain;background:#fff;border:2px solid var(--ink);padding:5px}.brand-copy{min-width:0}.brand strong{display:block;font-size:1.15rem;letter-spacing:-.03em}.brand small{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.15em;font-size:.62rem;color:var(--muted)}
.nav-links{display:flex;align-items:center;gap:.35rem}.nav-links a,.nav-links button{border:2px solid transparent;background:transparent;text-decoration:none;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.7rem;letter-spacing:.08em;font-weight:900;padding:.72rem .82rem}.nav-links a:hover,.nav-links a:focus-visible,.nav-links button:hover,.nav-links button:focus-visible{border-color:var(--ink);background:#fff}.nav-links .vault-btn{background:var(--ink);color:#fff;border-color:var(--ink)}
.lang-btn{min-width:54px}.menu-btn{display:none;width:44px;height:44px;background:var(--yellow);border:var(--line);font-size:1.25rem;font-weight:900}
.hero{border-bottom:var(--line);background:var(--yellow);min-height:calc(100vh - 112px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(480px,.95fr)}
.hero-copy{padding:clamp(3rem,7vw,7rem) clamp(1.5rem,6vw,6rem);display:flex;flex-direction:column;justify-content:center;border-right:var(--line);position:relative;overflow:hidden}.hero-copy:before{content:"PATH";position:absolute;top:-.1em;left:-.05em;font-size:clamp(7rem,19vw,18rem);font-weight:1000;letter-spacing:-.12em;opacity:.045;line-height:1}.kicker{display:inline-flex;align-items:center;width:max-content;max-width:100%;gap:.5rem;border:2px solid var(--ink);background:var(--ink);color:#fff;padding:.45rem .7rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.08em;font-weight:900;font-size:.66rem;position:relative;z-index:1}.hero h1{font-size:clamp(3rem,8.5vw,8.8rem);line-height:.83;letter-spacing:-.085em;margin:1.4rem 0 1.7rem;font-weight:1000;position:relative;z-index:1}.hero h1 .outline{-webkit-text-stroke:3px var(--ink);color:transparent}.hero p{max-width:760px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.8;font-size:clamp(.83rem,1.2vw,1rem);position:relative;z-index:1}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.8rem;position:relative;z-index:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;text-decoration:none;border:var(--line);padding:.9rem 1.1rem;font-weight:1000;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem;letter-spacing:.06em;background:#fff;box-shadow:4px 4px 0 var(--ink);transition:.18s transform,.18s box-shadow}.btn:hover,.btn:focus-visible{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink)}.btn.dark{background:var(--ink);color:#fff}.btn.pink{background:var(--pink)}.btn.small{padding:.65rem .8rem;font-size:.65rem;box-shadow:3px 3px 0 var(--ink)}
.hero-collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1.1fr .9fr;background:#111;min-height:680px}.hero-tile{position:relative;overflow:hidden;border:1.5px solid var(--yellow)}.hero-tile:first-child{grid-row:span 2}.hero-tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,filter .5s ease}.hero-tile:hover img{transform:scale(1.045);filter:saturate(1.08)}.hero-tile span{position:absolute;left:1rem;bottom:1rem;background:var(--yellow);border:2px solid var(--ink);padding:.35rem .55rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:900;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}.hero-logo{position:absolute;right:1rem;top:1rem;width:92px;background:#fff;border:var(--line);padding:.5rem;box-shadow:5px 5px 0 var(--ink);z-index:2}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:var(--line);background:#fff}.stat{padding:1.45rem clamp(1rem,3vw,2.4rem);border-right:var(--line)}.stat:last-child{border-right:0}.stat strong{display:block;font-size:clamp(1.6rem,3.2vw,3.2rem);line-height:1;font-weight:1000}.stat span{display:block;margin-top:.4rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.67rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.section{padding:clamp(4rem,8vw,8rem) 0;border-bottom:var(--line)}.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,520px);gap:2rem;align-items:end;margin-bottom:2.4rem}.eyebrow{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;font-size:.68rem;letter-spacing:.16em;font-weight:900}.section h2{font-size:clamp(2.5rem,7vw,7rem);line-height:.88;letter-spacing:-.075em;margin:.55rem 0 0;font-weight:1000}.section-head p{line-height:1.75;margin:0;font-size:.98rem;color:#333}.outline-word{-webkit-text-stroke:2px var(--ink);color:transparent}
.university-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1.1rem}.uni-card{grid-column:span 4;border:var(--line);background:#fff;box-shadow:var(--shadow);min-width:0;position:relative;transition:.2s transform,.2s box-shadow}.uni-card:nth-child(1),.uni-card:nth-child(5){grid-column:span 6}.uni-card:hover{transform:translate(-3px,-3px);box-shadow:12px 12px 0 var(--ink)}.uni-media{height:280px;position:relative;overflow:hidden;border-bottom:var(--line);background:#ddd}.uni-card:nth-child(1) .uni-media,.uni-card:nth-child(5) .uni-media{height:350px}.uni-media img.cover{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.uni-card:hover .uni-media img.cover{transform:scale(1.04)}.uni-logo{position:absolute;left:1rem;top:1rem;width:92px;height:68px;object-fit:contain;background:#fff;border:2px solid var(--ink);padding:.45rem}.uni-badge{position:absolute;right:1rem;top:1rem;border:2px solid var(--ink);background:var(--yellow);padding:.4rem .55rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.62rem;font-weight:900;text-transform:uppercase}.uni-body{padding:1.25rem}.uni-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.uni-body h3{font-size:clamp(1.35rem,2.5vw,2.2rem);line-height:1;margin:.55rem 0 .75rem;letter-spacing:-.04em}.uni-body p{line-height:1.65;margin:0;color:#39362f}.uni-meta{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:1.2rem;padding-top:1rem;border-top:2px solid var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.65rem;text-transform:uppercase;font-weight:900}.uni-card.apu{background:#fffbe3}.uni-card.utm{background:#e6fff0}.uni-card.tsinghua{background:#f1eaff}.uni-card.aizu{background:#fff0f7}.uni-card.nus{background:#fff1e7}.uni-card.eth{background:#e9f5ff}.uni-card.mit{background:#ffecec}
.gallery{background:var(--ink);color:#fff}.gallery .section-head p{color:#d8d8d8}.gallery-strip{display:flex;gap:1rem;overflow-x:auto;padding:.5rem .5rem 1.2rem;scroll-snap-type:x mandatory}.gallery-strip::-webkit-scrollbar{height:7px}.gallery-strip::-webkit-scrollbar-thumb{background:var(--yellow)}.gallery-item{flex:0 0 min(70vw,560px);height:340px;position:relative;border:3px solid var(--yellow);box-shadow:7px 7px 0 var(--yellow);overflow:hidden;scroll-snap-align:start}.gallery-item img{width:100%;height:100%;object-fit:cover}.gallery-item span{position:absolute;left:0;bottom:0;background:rgba(0,0,0,.82);padding:.55rem .75rem;color:var(--yellow);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.66rem;text-transform:uppercase;font-weight:900}
.repo-section{background:var(--violet);color:#fff}.repo-section .section-head p{color:#f3edff}.repo-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1.2rem;flex-wrap:wrap}.search{width:min(100%,460px);border:var(--line);padding:.85rem 1rem;background:#fff;color:var(--ink);font-weight:700}.repo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.repo-card{background:#fff;color:var(--ink);border:var(--line);box-shadow:7px 7px 0 var(--ink);padding:1.2rem;display:flex;flex-direction:column;min-height:220px}.repo-card .repo-top{display:flex;justify-content:space-between;gap:1rem}.repo-card h3{margin:.6rem 0;font-size:1.2rem;line-height:1.15}.repo-card p{margin:0;line-height:1.55;color:#4b4942}.repo-card .repo-meta{margin-top:auto;padding-top:1rem;display:flex;flex-wrap:wrap;gap:.45rem}.chip{display:inline-flex;align-items:center;border:2px solid var(--ink);padding:.3rem .45rem;background:var(--yellow);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.59rem;font-weight:900;text-transform:uppercase}.repo-empty{grid-column:1/-1;border:var(--line);background:#fff;color:var(--ink);padding:2rem;box-shadow:var(--shadow)}
.vault-cta{background:var(--orange)}.vault-panel{display:grid;grid-template-columns:1.05fr .95fr;border:var(--line);box-shadow:var(--shadow);background:#fff}.vault-copy{padding:clamp(2rem,5vw,5rem);border-right:var(--line)}.vault-copy h3{font-size:clamp(2.2rem,5vw,5.2rem);line-height:.9;letter-spacing:-.06em;margin:.6rem 0 1rem}.vault-copy p{line-height:1.8}.vault-points{display:grid;gap:.65rem;margin:1.4rem 0}.vault-point{display:flex;gap:.7rem;align-items:flex-start;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.75rem;font-weight:800}.vault-point b{display:inline-grid;place-items:center;width:26px;height:26px;background:var(--yellow);border:2px solid var(--ink);flex:none}.vault-visual{background:var(--ink);color:#fff;padding:clamp(2rem,4vw,4rem);display:flex;align-items:center}.terminal{width:100%;border:3px solid #fff;box-shadow:8px 8px 0 var(--yellow);background:#101010;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.terminal-bar{padding:.65rem;border-bottom:2px solid #fff;display:flex;gap:.35rem}.dot{width:11px;height:11px;border-radius:50%;background:var(--pink)}.dot:nth-child(2){background:var(--yellow)}.dot:nth-child(3){background:var(--green)}.terminal-body{padding:1.25rem;line-height:1.8;color:#c9ffd0;font-size:.78rem}.terminal-body .cmd{color:var(--cyan)}
footer{background:var(--ink);color:#fff;padding:2rem 0}.footer-inner{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;flex-wrap:wrap}.footer-inner strong{color:var(--yellow);font-size:1.15rem}.footer-inner p{margin:0;color:#aaa;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem;max-width:720px}
.reveal{opacity:0;transform:translateY(22px);transition:.7s opacity,.7s transform}.reveal.visible{opacity:1;transform:none}
/* Vault */
.vault-page{background:#f7f4e8;min-height:100vh}.vault-hero{background:var(--cyan);border-bottom:var(--line);padding:3rem 0}.vault-hero-grid{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2rem}.vault-hero h1{font-size:clamp(2.8rem,7vw,7rem);line-height:.86;letter-spacing:-.075em;margin:.6rem 0}.vault-hero p{max-width:760px;line-height:1.7}.system-badge{border:var(--line);background:#fff;padding:1rem;box-shadow:6px 6px 0 var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem;min-width:260px}.system-badge b{display:block;margin-bottom:.35rem}.status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#aaa;margin-right:.35rem}.status-dot.ok{background:#0bcf49}.status-dot.warn{background:#ff9b1c}.dashboard{padding:2rem 0 5rem}.notice{border:var(--line);padding:1rem;background:var(--yellow);box-shadow:5px 5px 0 var(--ink);margin-bottom:1rem}.notice.error{background:#ffd4d4}.notice.success{background:#d7ffe0}.hidden{display:none!important}.auth-grid{display:grid;grid-template-columns:1fr 1fr;border:var(--line);box-shadow:var(--shadow);background:#fff}.auth-copy,.auth-form{padding:clamp(1.5rem,4vw,3rem)}.auth-copy{background:var(--violet);color:#fff;border-right:var(--line)}.auth-copy h2{font-size:clamp(2rem,4vw,4rem);line-height:.9;letter-spacing:-.05em;margin:.5rem 0 1rem}.auth-copy p{line-height:1.7}.auth-form label,.field label{display:block;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.4rem}.input,textarea.input,select.input{width:100%;border:var(--line);background:#fff;padding:.85rem;color:var(--ink);outline:none}.input:focus{box-shadow:0 0 0 3px var(--yellow)}.auth-form .btn{margin-top:1rem;width:100%}.admin-shell{display:grid;grid-template-columns:260px minmax(0,1fr);border:var(--line);box-shadow:var(--shadow);background:#fff}.admin-sidebar{background:var(--ink);color:#fff;padding:1rem;border-right:var(--line)}.tab-btn{width:100%;text-align:left;border:2px solid #fff;background:transparent;color:#fff;padding:.85rem;margin-bottom:.55rem;font-weight:900;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;font-size:.68rem}.tab-btn.active{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}.logout-btn{margin-top:2rem;background:var(--pink);color:var(--ink);border-color:var(--pink)}.admin-main{padding:clamp(1.2rem,3vw,2.2rem);min-width:0}.tab-panel h2{font-size:clamp(1.8rem,4vw,3.8rem);line-height:.95;letter-spacing:-.05em;margin:.2rem 0 1.4rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.field.full{grid-column:1/-1}.upload-box{border:3px dashed var(--ink);background:#fffceb;padding:1.4rem;margin-top:1rem}.drop-zone{padding:2rem;border:2px solid var(--ink);background:var(--yellow);text-align:center}.drop-zone.drag{background:var(--green)}.progress-wrap{margin-top:1rem}.progress-track{height:24px;border:2px solid var(--ink);background:#fff;overflow:hidden}.progress-bar{height:100%;width:0;background:var(--green);transition:width .2s}.progress-meta{display:flex;justify-content:space-between;gap:1rem;margin-top:.45rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.66rem;font-weight:800}.archive-list,.admin-repo-list{display:grid;gap:.8rem;margin-top:1.2rem}.archive-row,.admin-repo-row{border:var(--line);padding:1rem;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center}.archive-row h3,.admin-repo-row h3{margin:0 0 .35rem}.archive-row p,.admin-repo-row p{margin:.2rem 0;color:#57534a;font-size:.84rem}.row-actions{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}.danger{background:#ffb7b7}.config-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.config-item{border:var(--line);padding:1rem;background:#fff}.config-item b{display:block}.config-item small{color:var(--muted)}.code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:#111;color:#d6ffd5;border:2px solid #111;padding:.2rem .35rem}.checkbox{display:flex;align-items:center;gap:.55rem;font-weight:700}.checkbox input{width:19px;height:19px}.mini-note{font-size:.78rem;line-height:1.55;color:#555}.spinner{width:18px;height:18px;border:3px solid #bbb;border-top-color:var(--ink);border-radius:50%;animation:spin .75s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.hero{grid-template-columns:1fr}.hero-copy{border-right:0;border-bottom:var(--line)}.hero-collage{min-height:540px}.university-grid{grid-template-columns:repeat(6,1fr)}.uni-card,.uni-card:nth-child(1),.uni-card:nth-child(5){grid-column:span 3}.repo-grid{grid-template-columns:repeat(2,1fr)}.vault-panel{grid-template-columns:1fr}.vault-copy{border-right:0;border-bottom:var(--line)}}
@media(max-width:800px){.menu-btn{display:block}.nav{min-height:68px}.brand img{width:48px;height:48px}.nav-links{position:absolute;left:16px;right:16px;top:calc(100% + 3px);display:none;flex-direction:column;align-items:stretch;background:var(--paper);border:var(--line);padding:.7rem;box-shadow:var(--shadow)}.nav-links.open{display:flex}.nav-links a,.nav-links button{width:100%;text-align:left}.hero-copy{padding:3rem 1rem}.hero h1{font-size:clamp(3.1rem,18vw,6rem)}.hero-collage{min-height:440px}.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:var(--line)}.section-head{grid-template-columns:1fr}.university-grid{display:block}.uni-card{margin-bottom:1.3rem}.uni-card .uni-media,.uni-card:nth-child(1) .uni-media,.uni-card:nth-child(5) .uni-media{height:280px}.repo-grid{grid-template-columns:1fr}.gallery-item{flex-basis:86vw;height:270px}.vault-hero-grid{grid-template-columns:1fr}.system-badge{min-width:0}.auth-grid{grid-template-columns:1fr}.auth-copy{border-right:0;border-bottom:var(--line)}.admin-shell{grid-template-columns:1fr}.admin-sidebar{border-right:0;border-bottom:var(--line);display:flex;gap:.5rem;overflow-x:auto}.tab-btn{min-width:155px;margin:0}.logout-btn{margin-top:0}.form-grid,.config-list{grid-template-columns:1fr}.field.full{grid-column:auto}.archive-row,.admin-repo-row{grid-template-columns:1fr}.row-actions{justify-content:flex-start}}
@media(max-width:500px){.container{width:min(calc(100% - 20px),var(--max))}.brand strong{font-size:.97rem}.brand small{font-size:.54rem}.hero-collage{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;min-height:380px}.hero-tile:first-child{grid-row:auto;grid-column:span 2}.hero-logo{width:72px}.section{padding:3.2rem 0}.section h2{font-size:2.8rem}.uni-media,.uni-card .uni-media,.uni-card:nth-child(1) .uni-media,.uni-card:nth-child(5) .uni-media{height:230px}.gallery-item{height:220px}.vault-copy,.vault-visual{padding:1.5rem}.footer-inner{align-items:flex-start;flex-direction:column}.vault-hero{padding:2rem 0}.admin-main{padding:1rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
/* Vault v2.1 diagnostics and responsive hardening */
.noscript-warning{position:relative;z-index:1000;margin:0;border-left:0;border-right:0;border-top:0;box-shadow:none}
.diagnostics-trigger{margin-top:.85rem;width:100%}
.preflight-panel{border:var(--line);box-shadow:var(--shadow);background:#fff;margin-bottom:1.5rem;padding:clamp(1rem,3vw,2rem)}
.preflight-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem}
.preflight-head h2{font-size:clamp(1.8rem,4vw,3.7rem);line-height:.92;letter-spacing:-.055em;margin:.3rem 0 0}
.preflight-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}
.version-pill{display:inline-flex;align-items:center;border:2px solid var(--ink);background:var(--cyan);padding:.55rem .7rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.7rem;font-weight:900}
.diagnostic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}
.diagnostic-card{min-width:0;border:2px solid var(--ink);padding:1rem;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.55rem;background:#f3f1e8;align-items:start}
.diagnostic-card.pass{background:#dfffe6}.diagnostic-card.fail{background:#ffe0e0}.diagnostic-card.pending{background:#fff8c7}
.diagnostic-card .status-dot{margin-top:.2rem}.diagnostic-card b{display:block;font-size:.85rem}.diagnostic-card p{margin:.35rem 0 0;font-size:.72rem;line-height:1.5;color:#4c4940;overflow-wrap:anywhere}
.preflight-note{margin-top:1rem;border:2px dashed var(--ink);padding:.8rem;background:#fffceb;font-size:.78rem;line-height:1.55}
.system-badge small{display:block;line-height:1.45;margin-top:.35rem;overflow-wrap:anywhere}
.auth-grid,.admin-shell{margin-top:1.5rem}
.drop-zone strong{display:block;overflow-wrap:anywhere}
.archive-row,.admin-repo-row{overflow:hidden}.archive-row>div:first-child,.admin-repo-row>div:first-child{min-width:0}.archive-row p,.admin-repo-row p{overflow-wrap:anywhere}
.btn:disabled{cursor:not-allowed;opacity:.6;transform:none!important;box-shadow:3px 3px 0 var(--ink)!important}
@media(max-width:1100px){.diagnostic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){
  .preflight-head{align-items:flex-start;flex-direction:column}.preflight-actions{justify-content:flex-start}
  .diagnostic-grid{grid-template-columns:1fr}
  .vault-page .site-header .nav-links{display:flex!important;position:static!important;left:auto!important;right:auto!important;top:auto!important;flex-direction:row!important;background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}
  .vault-page .site-header .nav-links a{width:auto;text-align:center;padding:.55rem .65rem}
  .admin-sidebar{scrollbar-width:thin;position:sticky;top:68px;z-index:20}
  .tab-btn{flex:0 0 auto}
}
@media(max-width:500px){
  .vault-page .brand-copy small{display:none}.vault-page .brand img{width:42px;height:42px}.vault-page .nav{gap:.45rem}
  .vault-page .site-header .nav-links a{font-size:.6rem;padding:.5rem}
  .vault-hero h1{font-size:clamp(2.55rem,15vw,4.3rem)}
  .system-badge{width:100%}.preflight-panel{padding:1rem;box-shadow:5px 5px 0 var(--ink)}
  .preflight-actions{width:100%}.preflight-actions .btn{flex:1}.upload-box{padding:1rem}.drop-zone{padding:1.35rem .75rem}
  .progress-meta{align-items:flex-start;flex-direction:column}.row-actions .btn{flex:1}.admin-sidebar{top:61px}
}

/* V3: complete collage, file vault, and permanent visual editor */
.hero-collage{position:relative;isolation:isolate}
.hero-collage .hero-tile:first-of-type{grid-column:1;grid-row:1 / span 2}
.hero-collage .hero-tile:nth-of-type(2){grid-column:2;grid-row:1}
.hero-collage .hero-tile:nth-of-type(3){grid-column:2;grid-row:2}
.hero-collage .hero-tile{min-width:0;min-height:0}
.hero-collage .hero-tile img{display:block}
.vault-home-link{display:flex!important;position:static!important;box-shadow:none!important;border:0!important;padding:0!important}
.image-editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.25rem}
.image-editor-card{border:var(--line);background:#fff;padding:1rem;min-width:0}
.image-editor-card h3{margin:0 0 .75rem;font-size:1rem}
.image-editor-card input[type=file]{display:block;width:100%;margin:.8rem 0;font-size:.75rem;overflow-wrap:anywhere}
.editor-preview{display:block;width:100%;height:210px;object-fit:cover;border:2px solid var(--ink);background:#ece9dd}
.editor-preview.logo-preview{object-fit:contain;padding:1rem;background:#fff}
.editor-fields{margin-top:1rem}
.archive-row .chip{margin-right:.25rem}
.file-kind-note{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}
#universitySaveStatus{overflow-wrap:anywhere}
.tab-btn{white-space:nowrap}
.input{font-size:16px}
@media(max-width:1000px){.image-editor-grid{grid-template-columns:1fr 1fr}.image-editor-card:last-child{grid-column:1/-1}}
@media(max-width:800px){.image-editor-grid{grid-template-columns:1fr}.image-editor-card:last-child{grid-column:auto}.editor-preview{height:260px}}
@media(max-width:500px){
  .hero-collage{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;min-height:520px}
  .hero-collage .hero-tile:first-of-type{grid-column:1 / span 2;grid-row:1}
  .hero-collage .hero-tile:nth-of-type(2){grid-column:1;grid-row:2}
  .hero-collage .hero-tile:nth-of-type(3){grid-column:2;grid-row:2}
  .hero-tile span{left:.55rem;bottom:.55rem;font-size:.52rem;max-width:calc(100% - 1.1rem)}
  .editor-preview{height:220px}
}
figure{margin:0}
@media(max-width:500px){.hero h1{font-size:clamp(2.5rem,12.5vw,3.3rem);letter-spacing:-.075em;line-height:.9}}
