.lab-page{background:#101215}.lab-page .header{width:min(1200px,100%);height:100px}.lab-main{width:min(1200px,100%);padding-bottom:64px}.lab-intro{padding:22px 0 20px}.lab-intro h1{font-size:64px;letter-spacing:-.06em;line-height:1.1;font-weight:400;margin:0 0 12px}.lab-intro h1:after,.project-heading h1:after{content:'.';color:var(--blue)}
.lab-education{width:min(900px,100%);margin:0 auto}.lab-education>h2.visually-hidden{margin:0}
.education-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;list-style:none;padding:0;margin:0}
.education-list li{position:relative;min-width:0;padding:3px 0}.education-school-link{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:16px;min-width:0;border-radius:2px}.education-school-link:hover h3{color:#e4e6ea}
.education-list li:first-child .education-school-link{grid-template-columns:minmax(0,1fr) 72px;text-align:right}.education-list li:first-child .education-logo{grid-column:2;grid-row:1}.education-list li:first-child .education-info{grid-column:1;grid-row:1}.education-list li:first-child .education-period{justify-content:flex-end}
.education-list li+li:before{content:"×";position:absolute;left:-25px;top:50%;transform:translateY(-50%);font:17px/1 var(--sans);color:#606977}
.education-info{min-width:0}.education-period{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font:9px/1.8 var(--mono);color:#818791;margin:5px 0 0}.education-period>span{color:#555b65}
.education-list h3{font:12px/1.7 var(--sans);font-weight:400;color:#c1c5cc;letter-spacing:0;margin:0}.education-country{color:#818791;white-space:nowrap}.education-degree{font-size:12px;line-height:1.8;color:#9b9fa8;margin:1px 0 0}
.lab-page[data-view="collection"] .lab-main,.lab-page[data-view="collection"] .footer{width:min(1080px,100%)}
.lab-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0 18px}
.collection-path{font:9px/1.5 var(--mono);color:#7e838c;letter-spacing:0}
.collection-tools{display:flex;align-items:center;gap:18px}
.lab-filters{display:flex;gap:20px;align-items:center}
.lab-filters button{padding:5px 0;border-bottom:1px solid transparent;background:transparent;color:#858a93;font-size:11px;line-height:1.5}
.lab-filters button:hover{color:#e4e6ea}
.lab-filters button[aria-pressed="true"]{color:#e4e6ea;border-bottom-color:#a9bbd4}
.lab-index{font:9px var(--mono);color:#757a83;white-space:nowrap}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.project-card{min-width:0;display:flex;flex-direction:column;min-height:196px;padding:22px 24px;background:transparent;border:1px solid #ffffff12;border-radius:3px;transition:border-color .18s,background .18s}
.project-card.card-reveal{transition:border-color .18s,background .18s,opacity .45s cubic-bezier(.2,.65,.3,1) var(--card-reveal-delay,0ms),transform .45s cubic-bezier(.2,.65,.3,1) var(--card-reveal-delay,0ms)}
.project-card.card-reveal-pending{opacity:0;transform:translateY(16px)}
.project-card.card-reveal:focus-visible{opacity:1;transform:none;transition:none}
@media(prefers-reduced-motion:reduce){.project-card.card-reveal{opacity:1;transform:none;transition:border-color .18s,background .18s}}
.project-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-height:28px}
.card-skills{display:flex;flex:1;flex-wrap:nowrap;gap:0 7px;list-style:none;padding:0;margin:0;min-width:0;height:28px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#455269 transparent;font-size:13px;line-height:1.65;font-weight:500;letter-spacing:-.015em;color:#b8d5ff}
.card-skills li{position:relative;flex:0 0 auto;white-space:nowrap}
.card-skills li:not(:last-child):after{content:"";position:absolute;width:3px;height:3px;border-radius:50%;background:#61718b;right:-5px;top:.8em}
.card-university{flex-shrink:0;font-size:10px;line-height:2.145;color:#858a93}
.project-card-copy{padding:14px 0 24px;flex:1}
.project-card h2,:lang(zh-Hant) .project-card h2{font-size:22px;line-height:1.4;font-weight:400;letter-spacing:-.025em;color:#e5e7eb;margin:0 0 8px}
.project-card p{font-size:12px;line-height:1.8;color:#979ca6;margin:0;max-width:40ch}
.project-card-footer{display:flex;justify-content:flex-end}
.card-open{display:inline-flex;align-items:center;gap:8px;color:#9aa9bf;font-size:10px}
.card-open b{font-size:16px;font-weight:400;line-height:1}
.project-card:focus-visible{border-color:#a9bbd4;outline-offset:4px}
.collection-empty{padding:40px 20px;border:1px solid #ffffff12;text-align:center;color:#979ca6;font-size:12px}
.collection-empty a{display:inline-block;margin-top:10px;color:#b4c4db;font-size:11px}
.lab-page .footer{width:min(1200px,100%);border-top:1px solid #2a3039}
.lab-page[data-view="collection"] .footer{border-color:#ffffff0c;color:#757a83}
.lab-page .footer .lab-footer-home{font-size:9px;color:#a3b6d0}
.lab-page[data-view="collection"] .footer .lab-footer-home{color:#8d939d}
.lab-live{margin:0}.lab-noscript{padding:30px 0}

.project-detail{max-width:1000px;margin:0 auto}.project-breadcrumb{display:flex;align-items:center;gap:14px;margin:38px 0 47px;font-size:10px;color:#7f95b2}.project-breadcrumb a:hover{color:#c9e0ff}.project-breadcrumb>span{color:#425776}.project-heading{padding-bottom:32px;border-bottom:1px solid #303947}.project-heading .eyebrow{font-size:8px;margin-bottom:20px}.project-heading h1{font-size:62px;line-height:1.15;letter-spacing:-.05em;font-weight:400;margin-bottom:18px}.project-heading>p{font-size:13px;color:#9cacc2;line-height:1.85;margin-bottom:19px}.lab-tags{display:flex;gap:8px;flex-wrap:wrap}.lab-tags span{font-size:8px;color:#879cb8;padding:3px 8px;background:#1b2330;border:1px solid #29374a}.project-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:60px;padding-top:10px}.project-detail-content{min-width:0}.lab-tabs{display:flex;gap:30px;border-bottom:1px solid #303947}.lab-tabs button{font-size:11px;padding:18px 0 14px;background:transparent;color:#7e8da1;border-bottom:1px solid transparent;margin-bottom:-1px}.lab-tabs button[aria-selected="true"]{color:#e0ebfb;border-color:#9ec3ff}.lab-tabs button:hover{color:#c8d9f0}.lab-panel{padding:29px 0 10px;min-height:295px;outline-offset:5px}.lab-panel:focus-visible{outline:1px solid #81a8f1}.lab-panel-intro{font-size:14px;line-height:1.95;color:#c0cbdc;max-width:600px;margin-bottom:28px}.lab-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.lab-panel h2,:lang(zh-Hant) .lab-panel h2{font:10px var(--mono);text-transform:uppercase;letter-spacing:.04em;color:#7893b6;margin:0 0 12px}.lab-overview-grid p{color:#8f9fb4;font-size:12px;line-height:1.9;margin:0}.lab-steps{list-style:none;padding:0;margin:0}.lab-steps li{display:grid;grid-template-columns:20px 1fr;gap:13px;padding:0 0 23px}.lab-steps li:last-child{padding-bottom:0}.lab-steps .step-index{font:9px/1.7 var(--mono);color:#647f9f}.lab-steps h2,:lang(zh-Hant) .lab-steps h2{font:13px/1.6 var(--sans);text-transform:none;letter-spacing:0;color:#c5d2e4;margin-bottom:5px}.lab-steps p{font-size:12px;color:#8c9db5;line-height:1.85;margin:0}.lab-materials-note{font-size:12px;color:#9dadc4;margin-bottom:20px;line-height:1.9}.lab-materials-list{list-style:none;padding:0;margin:0;display:grid;gap:9px}.lab-materials-list li{display:flex;align-items:center;gap:14px;color:#7f91aa;font-size:11px;padding:12px 14px;background:#151d28;border:1px dashed #2c3b50}.lab-materials-list li>span:first-child{font:8px var(--mono);color:#516d90}.lab-materials-list a{display:flex;justify-content:space-between;width:100%;color:#b9d0ed}.lab-materials-list a:hover{color:white}.project-facts{margin:0;padding-top:18px}.project-facts>div{border-bottom:1px solid #2b3646;padding:0 0 17px;margin-bottom:17px}.project-facts dt{font:8px var(--mono);color:#5d7493;margin-bottom:7px}.project-facts dd{font-size:11px;color:#93abc9;margin:0}.project-not-found{padding:80px 0}.project-not-found h1{font-size:48px}.project-not-found p{color:#9daec4}

@media(max-width:1000px){.lab-intro h1{font-size:56px}.project-detail-layout{gap:35px;grid-template-columns:minmax(0,1fr) 150px}}
@media(max-width:700px){.lab-page .header{height:92px}.lab-main{padding:0 26px 44px}.lab-intro{padding:22px 0 18px}.lab-intro h1{font-size:42px;margin-bottom:10px}.lab-education{margin:0}.education-list{gap:24px}.education-list li{display:block;padding:0;text-align:center}.education-school-link{display:block;text-align:center}.education-list li:first-child .education-school-link{text-align:center}.education-list li:first-child .education-period{justify-content:center}.education-list li:first-child .education-logo{margin-left:auto;margin-right:0}.education-list li+li .education-logo{margin-left:0;margin-right:auto}.education-list li+li:before{left:-17px;top:28.5px;transform:none;font-size:15px}.education-logo{margin-inline:auto}.education-info{margin-top:12px}.education-period{justify-content:center}.education-list h3{font-size:11px;line-height:1.75}.education-degree{font-size:11px;line-height:1.8;margin-top:3px}.education-period{font-size:8px;gap:4px;margin-top:7px}.lab-toolbar{gap:10px;padding:10px 0 16px}.collection-path{font-size:8px}.collection-tools{gap:12px}.lab-filters{gap:14px}.lab-filters button{font-size:10px;padding:5px 0}.lab-index{font-size:8px}.project-grid{grid-template-columns:minmax(0,1fr);gap:16px}.project-card{min-height:188px;padding:21px 22px}.project-card h2,:lang(zh-Hant) .project-card h2{font-size:21px}.project-card-copy{padding:12px 0 22px}.project-card p{font-size:12px}.card-skills{font-size:12.5px;gap:0 7px}.card-university{font-size:10px;line-height:2.0625}.card-open{font-size:10px}.lab-page .footer{padding-left:26px;padding-right:26px}.project-breadcrumb{margin:28px 0 35px;font-size:9px}.project-heading h1{font-size:43px;line-height:1.15}.project-heading>p{font-size:12px}.project-detail-layout{display:flex;flex-direction:column;gap:15px}.project-facts{order:-1;display:flex;gap:20px;flex-wrap:wrap;padding-top:15px}.project-facts>div{flex:1;min-width:65px;margin:0;padding:0 0 12px}.project-facts dt{font-size:7px}.project-facts dd{font-size:10px}.lab-tabs{gap:27px}.lab-tabs button{font-size:11px;padding-top:12px}.lab-panel{min-height:260px;padding-top:25px}.lab-panel-intro{font-size:13px}.lab-overview-grid{grid-template-columns:1fr;gap:23px}.lab-overview-grid p,.lab-steps p,.lab-materials-note{font-size:11px}.lab-materials-list li{font-size:10px}.project-not-found h1{font-size:36px}}
@media(max-width:360px){.lab-main{padding-left:22px;padding-right:22px}.lab-intro h1{font-size:37px}.collection-tools{gap:10px}.lab-filters{gap:12px}.project-heading h1{font-size:37px}}
@media(hover:hover){.project-card:hover{background:#ffffff02;border-color:#ffffff30}.project-card:hover .card-open{color:#d5dfef}}

.project-source{display:inline-flex;align-items:center;gap:10px;font-size:11px;color:#a9c8f1;margin-top:18px}.project-source:hover{color:#e1edff}.project-source span{font-size:16px;line-height:1}

.project-card .card-recognition{font-size:11px;line-height:1.8;color:#abc7ed;max-width:none;margin:0 0 10px}

.project-card-footer.has-brand{justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:12px 16px;min-height:32px}
.card-brand{display:block;width:100%;height:100%;flex-shrink:0;object-fit:contain;object-position:left bottom;max-width:100%}

.education-logo{display:block;object-fit:contain}.education-logo-uq{filter:brightness(0) invert(1)}.education-logo-ncku{filter:grayscale(1) invert(1) contrast(3);mix-blend-mode:screen;object-fit:cover}
.card-brand-lockup{display:flex;align-items:flex-end;justify-content:flex-start;gap:6px;min-width:0;height:var(--card-logo-height);flex:0 0 auto}
.card-brand-media{display:flex;align-items:flex-end;justify-content:flex-start;width:var(--card-logo-width);height:var(--card-logo-height);flex:0 0 auto}
.card-brand-viewport{display:block;position:relative;overflow:hidden;width:min(100%,calc(var(--card-logo-height) * var(--brand-ratio)));aspect-ratio:var(--brand-ratio)}
.card-brand-viewport .card-brand{position:absolute;max-width:none;object-fit:fill}
.card-brand-round{border-radius:50%}.card-brand-screen{mix-blend-mode:screen}
.card-brand-caption{font-size:10px;line-height:1.4;color:#b2bac7;white-space:nowrap;text-align:left}.card-brand-caption-small{font-size:9px;color:#98a4b6;letter-spacing:.02em}

.card-brands{--card-logo-width:64px;--card-logo-height:32px;display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;min-width:0;max-width:100%}.card-brands .card-brand-lockup{flex:0 0 auto;max-width:100%}.project-card-footer .card-open{flex-shrink:0;margin-left:auto;align-self:flex-end}
.card-brand-photo{border-radius:2px;object-fit:contain}
@media(max-width:420px){.card-brands{--card-logo-width:53.333px;--card-logo-height:26.667px;gap:10px}.project-card-footer.has-brand{min-height:26.667px}}

/* Optical sizing keeps wide wordmarks legible on the shared bottom edge. */
.card-brand-monochrome{filter:brightness(0) invert(1)}
.project-card[data-project-card="beacon"] .card-brands{--card-logo-width:150px;--card-logo-height:32px}
.project-card:is([data-project-card="visionpro"],[data-project-card="sinopac"]) .card-brands{--card-logo-width:64px;--card-logo-height:48px}
.project-card[data-project-card="genomics"] .card-brands{--card-logo-width:128px;--card-logo-height:48px}
.project-card[data-project-card="mobilephone-strategy"] .card-brands{--card-logo-width:120px;--card-logo-height:32px}
@media(max-width:420px){
 .project-card[data-project-card="beacon"] .card-brands{--card-logo-width:125px;--card-logo-height:26.667px}
 .project-card:is([data-project-card="visionpro"],[data-project-card="sinopac"]) .card-brands{--card-logo-width:53.333px;--card-logo-height:40px}
 .project-card[data-project-card="genomics"] .card-brands{--card-logo-width:106.667px;--card-logo-height:40px}
 .project-card[data-project-card="mobilephone-strategy"] .card-brands{--card-logo-width:100px;--card-logo-height:26.667px}
}

.project-card[data-project-card="suntory"] .card-brands{--card-logo-width:216px;--card-logo-height:32px}
@media(max-width:420px){.project-card[data-project-card="suntory"] .card-brands{--card-logo-width:180px;--card-logo-height:26.667px}}

/* Shared 32px visible height for the new NCKU case wordmarks. */
.project-card[data-project-card="delta-strategy"] .card-brands{--card-logo-width:120px;--card-logo-height:32px}
.project-card[data-project-card="fubon-synergy"] .card-brands{--card-logo-width:207px;--card-logo-height:32px}
.project-card[data-project-card="eris-finance"] .card-brands{--card-logo-width:32px;--card-logo-height:32px}
@media(max-width:420px){
 .project-card[data-project-card="delta-strategy"] .card-brands{--card-logo-width:100px;--card-logo-height:26.667px}
 .project-card[data-project-card="fubon-synergy"] .card-brands{--card-logo-width:172.5px;--card-logo-height:26.667px}
 .project-card[data-project-card="eris-finance"] .card-brands{--card-logo-width:26.667px;--card-logo-height:26.667px}
}
