@font-face{font-family:CrocoDisp;src:url(fonts/croco.woff2) format('woff2');font-display:swap}
:root{--paper:#f2f6ec;--ink:#0d140d;--acid:#5ecb31;--lime:#8ae83f;--mut:#5a6b58;--display:CrocoDisp,"Noto Sans TC","Microsoft JhengHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans TC","PingFang TC",system-ui,sans-serif;font-size:16px;line-height:1.7;background-image:linear-gradient(rgba(13,20,13,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(13,20,13,.055) 1px,transparent 1px);background-size:30px 30px}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}a:focus-visible{outline:3px solid var(--acid);outline-offset:4px}.wrap{max-width:1140px;margin:auto;padding-left:24px;padding-right:24px}
header{border-bottom:3px solid var(--ink);background:var(--paper)}.masthead{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:12px;padding-bottom:12px}.brand{font-family:var(--display);font-size:26px;display:flex;gap:16px;align-items:baseline}.brand span{font-family:system-ui,sans-serif;font-size:14px;font-weight:600;letter-spacing:.15em;color:var(--mut)}.source{font-size:14px;font-weight:750;border:2px solid var(--ink);padding:6px 14px;box-shadow:3px 3px 0 var(--ink);background:var(--acid)}.source:hover{background:var(--lime)}
main{padding-top:48px;padding-bottom:54px}.section-heading{display:flex;align-items:center;gap:18px;margin-bottom:38px}.section-heading h1,.section-heading h2{font-family:var(--display);font-size:34px;line-height:1.6;background:var(--ink);color:var(--paper);padding:4px 18px;box-shadow:6px 6px 0 var(--acid);margin:0}.section-heading>span{font-family:var(--display);font-size:14px;letter-spacing:.28em;color:var(--mut)}
.teams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 26px}.team{background:#fff;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);padding-bottom:16px;min-width:0}.bar{display:flex;justify-content:space-between;gap:12px;background:var(--ink);color:var(--lime);font-family:var(--display);font-size:14px;padding:6px 12px;letter-spacing:.16em}.team h2{font-family:var(--display);font-size:22px;margin:12px 14px 0;letter-spacing:.03em;line-height:1.6}.grid6{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 14px 0}figure{margin:0;min-width:0}.portrait{display:block;position:relative;background:#202123}.portrait img{aspect-ratio:1;object-fit:cover;border:2px solid var(--ink)}a.portrait:hover{outline:3px solid var(--acid);outline-offset:1px}.coach{position:absolute;top:6px;right:6px;background:var(--ink);color:var(--lime);font-family:var(--display);font-size:12px;line-height:1.5;padding:1px 6px;letter-spacing:.1em}figcaption{font-size:14px;font-weight:750;text-align:center;margin-top:5px;overflow-wrap:anywhere;line-height:1.55}.crew{margin-top:58px}.crew .section-heading h2{font-size:26px}.mentors{display:grid;grid-template-columns:repeat(3,210px);gap:22px}.mentor{background:#fff;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);padding:14px}.mentor figcaption{font-family:var(--display);font-size:20px;text-align:left;margin-top:10px}.mentor p{display:inline-block;background:var(--acid);border:2px solid var(--ink);font-size:14px;font-weight:750;padding:1px 8px;margin:7px 0 0}footer{font-size:14px;color:var(--mut);padding-top:22px;padding-bottom:32px;border-top:1px solid #bdc9b7}footer a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.wrap{padding-left:18px;padding-right:18px}.teams{grid-template-columns:1fr;gap:26px}main{padding-top:30px}.section-heading{margin-bottom:28px;gap:15px}.section-heading h1{font-size:28px}.grid6{gap:10px;margin-left:12px;margin-right:12px}.team h2{margin-left:12px}.mentors{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mentor{padding:8px}.mentor figcaption{font-size:17px}.mentor p{font-size:12px;padding:1px 3px}.brand{font-size:23px;gap:9px}.brand span{font-size:14px;letter-spacing:0}.source{padding:5px 8px}.crew{margin-top:40px}}
@media(max-width:380px){.brand span{display:none}.mentors{grid-template-columns:repeat(2,minmax(0,1fr))}.coach{font-size:12px;top:3px;right:3px;padding:0 3px;letter-spacing:0}.section-heading>span{letter-spacing:.1em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
