:root{color-scheme:light;--paper: #f5ecd7;--card: rgba(255, 255, 255, .38);--card-hover: rgba(255, 255, 255, .58);--text: #81786c;--text-hover: #73695c;--line: rgba(121, 106, 83, .16);--line-hover: rgba(121, 106, 83, .23);--ease: cubic-bezier(.4, 0, .2, 1);--cursor-default: url(/cursors/cursor.png), auto;--cursor-pointer: url(/cursors/pointer.png) 10 4, pointer;--sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;background:var(--paper);color:var(--text);font-family:var(--sans);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box;cursor:var(--cursor-default)}*:before,*:after{cursor:var(--cursor-default)}a,button,[role=button],input[type=button],input[type=submit],input[type=reset],summary,label[for],select,a *,button *{cursor:var(--cursor-pointer)}button:disabled,input:disabled,[aria-disabled=true],.is-disabled,.is-disabled *{cursor:var(--cursor-default)}html{background:var(--paper)}body{min-height:100vh;margin:0;background:var(--paper)}main{width:100%;min-height:100vh;padding:clamp(28px,5vw,80px)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.project-grid{width:min(1520px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.portal-footer{width:min(1520px,100%);margin:clamp(52px,8vw,96px) auto 0;padding-top:18px;border-top:1px solid rgba(121,106,83,.11)}.portal-footer a{display:flex;align-items:center;justify-content:space-between;gap:24px;color:#73695c87;font-size:10px;letter-spacing:.055em;text-decoration:none;transition:color .22s var(--ease)}.portal-footer a:hover,.portal-footer a:focus-visible{color:var(--text-hover)}.project-card{position:relative;min-width:0;height:96px;display:grid;overflow:hidden;border:1px solid var(--line);border-radius:24px;outline:none;background:var(--card);color:inherit;text-decoration:none;transition:transform .28s var(--ease),box-shadow .28s var(--ease),background-color .28s var(--ease),border-color .28s var(--ease)}a.project-card{cursor:var(--cursor-pointer)}.card-content{min-width:0;height:100%;display:grid;grid-template-areas:"content";place-items:center;padding:0 24px}.card-name,.card-hover-content{grid-area:content;max-width:100%;text-align:center;transition:opacity .28s var(--ease),transform .28s var(--ease),color .28s var(--ease)}.card-name{color:var(--text);font-size:14px;font-weight:500;line-height:1.2;letter-spacing:.005em;opacity:1;transform:translateY(0) scale(1);white-space:nowrap}.card-hover-content{display:flex;align-items:center;flex-direction:column;gap:6px;opacity:0;transform:translateY(8px) scale(.99)}.card-summary,.card-meta{max-width:100%;overflow:hidden;text-overflow:clip;white-space:nowrap}.card-summary{color:var(--text-hover);font-size:13px;font-weight:500;line-height:1.15}.card-meta{color:#73695cad;font-size:10px;font-weight:500;line-height:1;letter-spacing:.035em}a.project-card:hover,a.project-card:focus-visible{z-index:1;border-color:var(--line-hover);background:var(--card-hover);box-shadow:0 18px 44px #5b4b331c;transform:translateY(-3px)}a.project-card:hover .card-name,a.project-card:focus-visible .card-name{opacity:0;transform:translateY(-4px) scale(.98)}a.project-card:hover .card-hover-content,a.project-card:focus-visible .card-hover-content{opacity:1;transform:translateY(0) scale(1)}.project-card.unavailable{background:#ffffff38;cursor:var(--cursor-default)}.project-card.unavailable .card-name{color:#81786c94}@media(max-width:1000px){.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){main{padding:28px 20px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}@media(max-width:520px){main{padding:24px 16px}.project-grid{grid-template-columns:1fr;gap:12px}.card-content{padding-inline:22px}.portal-footer a{align-items:flex-start;flex-direction:column;gap:7px}}@media(hover:none),(pointer:coarse){a.project-card:hover,a.project-card:focus-visible{border-color:var(--line);background:var(--card);box-shadow:none;transform:none}a.project-card:hover .card-name,a.project-card:focus-visible .card-name{opacity:1;transform:none}a.project-card:hover .card-hover-content,a.project-card:focus-visible .card-hover-content{opacity:0;transform:translateY(8px) scale(.99)}a.project-card:active{background:var(--card-hover)}}@media(prefers-reduced-motion:reduce){.project-card,.card-name,.card-hover-content{transition-duration:.01ms}}
