@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600;700;800;900&display=swap');
.yc-library{font-family:'Noto Sans TC',sans-serif;color:#171323;background:#f3f1e9;max-width:1480px;margin:30px auto 60px;padding:64px 48px;box-sizing:border-box;font-size:16px;line-height:1.7;}
.yc-library *{box-sizing:border-box;}
.yc-library h1,.yc-library h2,.yc-library h3,.yc-library p{margin:0;}
.yc-library a{color:inherit;text-decoration:none;}
.yc-library .yc-lib-kicker{font-size:12px;font-weight:700;letter-spacing:.12em;color:#655d74;margin-bottom:16px;}
.yc-library h1{font-size:clamp(34px,3.7vw,56px);font-weight:900;line-height:1.25;letter-spacing:-.04em;}
.yc-library .yc-lib-lead{max-width:650px;color:#655d74;margin-top:24px;font-size:17px;}
.yc-library .yc-lib-nav{display:flex;gap:10px;flex-wrap:wrap;margin:36px 0 20px;}
.yc-library .yc-lib-nav a{border:1px solid #c7c1cf;border-radius:99px;padding:10px 18px;font-size:13px;font-weight:600;transition:background .2s;}
.yc-library .yc-lib-nav a:hover,.yc-library .yc-lib-nav a:focus-visible{background:#5929ff;color:#fff;border-color:#5929ff;}
.yc-library .yc-lib-note{font-size:12px;color:#655d74;margin-bottom:50px;}
.yc-library .yc-lib-section{padding:36px 0;border-top:1px solid #cbc5d2;scroll-margin-top:0;}
.yc-library .yc-lib-section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px;gap:20px;}
.yc-library h2{font-size:26px;font-weight:800;}
.yc-library .yc-lib-count{font-size:12px;font-weight:600;color:#655d74;}
.yc-library .yc-lib-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start;}
.yc-library .yc-work{border:1px solid #d7d1dd;border-radius:16px;background:#fff;overflow:hidden;}
.yc-library .yc-work,.yc-library .yc-detail-reveal{order:var(--yc-order);}
.yc-library .yc-work[open]{border-color:#5929ff;box-shadow:0 0 0 1px #5929ff;}
.yc-library .yc-work{scroll-margin-top:0;}
/* 原頁展開：保留分類與其他作品，不切換閱讀層級或跳轉。 */
.yc-library summary{list-style:none;cursor:pointer;outline-offset:-4px;}
.yc-library summary::-webkit-details-marker{display:none;}
.yc-library summary:focus-visible{outline:3px solid #5929ff;}
.yc-library .yc-close-label{display:none;}
.yc-library .yc-cover{height:270px;display:flex;align-items:center;justify-content:center;background:#e8e4ed;padding:12px;overflow:hidden;}
.yc-library .yc-cover media-item{height:100%;width:100%;max-height:100%;--object-fit:contain;--media-object-fit:contain;}
.yc-library .yc-cover media-item::part(figure){height:100%;}
.yc-library .yc-cover media-item::part(sizing-frame){height:100%;padding-bottom:0;}
.yc-library .yc-cover media-item::part(media){object-fit:contain;}
.yc-library .yc-portrait .yc-cover{height:400px;}
.yc-library .yc-cover img{display:block;max-width:100%;height:100%;object-fit:contain;}
.yc-library .yc-card-copy{padding:22px;}
.yc-library .yc-meta{font-size:11px;color:#6b6377;font-weight:600;letter-spacing:.06em;margin-bottom:9px;}
.yc-library h3{font-size:19px;line-height:1.55;font-weight:800;}
.yc-library .yc-card-intro{font-size:13px;color:#6b6377;margin:12px 0 18px;}
.yc-library .yc-open-label{color:#5929ff;font-weight:700;font-size:12px;}
.yc-library .yc-work[open] .yc-card-preview{background:#faf8ff;}
.yc-library .yc-work[open] .yc-open-label{display:none;}
.yc-library .yc-work[open] .yc-close-label{display:block;color:#5929ff;font-size:12px;font-weight:700;margin-top:8px;}
.yc-library .yc-detail-reveal{overflow:hidden;grid-column:1/-1;background:#fff;border:1px solid #d7d1dd;border-radius:16px;}
.yc-library .yc-detail-reveal[hidden]{display:none;}
.yc-library .yc-detail{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);padding:32px;gap:32px;border-top:1px solid #eee9f1;align-items:start;}
.yc-library .yc-player{display:block;border:0;background:#171323;width:100%;min-height:200px;aspect-ratio:16/9;border-radius:10px;}
.yc-library .yc-portrait .yc-player{aspect-ratio:9/16;max-width:420px;min-height:0;margin:auto;}
.yc-library .yc-project-copy h3{font-size:clamp(23px,2.2vw,32px);margin:0 0 26px;}
.yc-library .yc-detail h4{font-size:15px;font-weight:800;margin:0 0 12px;}
.yc-library .yc-role-list{font-size:14px;color:#655d74;margin-bottom:24px;line-height:2;}
.yc-library .yc-tags{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0;}
.yc-library .yc-tags span{font-size:11px;padding:4px 10px;background:#f0edf7;border-radius:6px;}
.yc-library .yc-player-note{font-size:11px;color:#655d74;margin:12px 0;}
.yc-library .yc-lib-bottom{margin-top:40px;border-radius:16px;background:#191426;color:#fff;padding:32px;display:flex;justify-content:space-between;align-items:center;gap:20px;}
.yc-library .yc-lib-bottom a{color:#e8ff59;font-weight:700;white-space:nowrap;}
@media(max-width:1100px){.yc-library{padding:44px 28px;margin-inline:24px;}.yc-library .yc-lib-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.yc-library .yc-work,.yc-library .yc-detail-reveal{order:var(--yc-order-tablet);}}
@media(max-width:650px){.yc-library .yc-work,.yc-library .yc-detail-reveal{order:var(--yc-order-mobile);}}
@media(max-width:650px){.yc-library .yc-portrait .yc-cover{height:360px;}.yc-library .yc-portrait .yc-player{max-width:100%;}}
@media(max-width:650px){.yc-library{padding:34px 18px;margin:24px 12px 36px;}.yc-library .yc-lib-grid{grid-template-columns:1fr;gap:20px;}.yc-library .yc-lib-nav a{padding:8px 12px;font-size:12px;}.yc-library .yc-work[open] summary,.yc-library .yc-detail{grid-template-columns:1fr;}.yc-library .yc-detail{padding:22px;gap:24px;}.yc-library .yc-work[open] .yc-card-copy{padding:22px;}.yc-library .yc-lib-bottom{display:block;padding:24px;}.yc-library .yc-lib-bottom a{display:inline-block;margin-top:16px;}.yc-library h2{font-size:22px;}}
@media(prefers-reduced-motion:reduce){.yc-library *{scroll-behavior:auto!important;transition:none!important;}}
/* Cargo adds a mobile padding multiplier after custom CSS. Keep small-screen padding explicit. */
@media(max-width:650px){.yc-library{padding:34px 18px!important;}.yc-library .yc-card-copy,.yc-library .yc-work[open] .yc-card-copy,.yc-library .yc-detail{padding:22px!important;}.yc-library .yc-lib-nav a{padding:8px 12px!important;}.yc-library .yc-lib-bottom{padding:24px!important;}}
@media(max-width:650px){.yc-library .yc-portrait .yc-detail{padding:16px!important;}}

/* Format groups retain content categories as labels. Uniform cards align each row. */
.yc-library .yc-category-tag{display:inline-block;margin:0 0 8px;padding:3px 8px;background:#f0edf7;color:#655d74;border-radius:5px;font-size:11px;font-weight:700;}
.yc-library .yc-group-intro{font-size:13px;color:#655d74;margin-top:10px;}
.yc-library .yc-work{align-self:stretch;}
.yc-library .yc-card-copy{display:flex;flex-direction:column;align-items:flex-start;min-height:285px;}
.yc-library .yc-card-intro{flex:1;}
.yc-library .yc-course-link{display:block;width:fit-content;margin:4px 0 20px;color:#5727ff;text-decoration:underline;text-underline-offset:4px;font-size:14px;font-weight:700;}
.yc-library .yc-lib-count{white-space:nowrap;}
@media(max-width:900px){.yc-library .yc-detail{grid-template-columns:1fr;}.yc-library .yc-player-column{width:100%;}.yc-library .yc-portrait .yc-player{max-width:420px;}}
@media(max-width:650px){
 .yc-library h1{font-size:clamp(27px,8vw,36px);line-height:1.3;}
 .yc-library .yc-lib-lead{font-size:15px;line-height:1.9;}
 .yc-library .yc-lib-section{scroll-margin-top:0;}
 .yc-library .yc-lib-section-header{gap:12px;}
 .yc-library .yc-lib-nav{margin-top:24px;}
 .yc-library .yc-card-copy{min-height:0;}
 .yc-library .yc-cover{height:auto;aspect-ratio:16/9;}
 .yc-library .yc-portrait .yc-cover{height:400px;aspect-ratio:auto;}
 .yc-library .yc-detail{padding:16px!important;gap:20px;}
 .yc-library .yc-player{min-height:0;}
 .yc-library .yc-portrait .yc-player{max-width:100%;}
 .yc-library .yc-project-copy h3{font-size:24px;margin-bottom:22px;}
 .yc-library .yc-role-list{font-size:15px;line-height:1.85;}
 .work-page .close-project{min-height:44px;}
}
/* Content categories with proportion-aware editorial cards; not shuffled DOM. */
.yc-library .yc-lib-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;}
.yc-library .yc-work.yc-landscape{grid-column:span 2;}
.yc-library .yc-work.yc-photo,.yc-library .is-single>.yc-work.yc-landscape{grid-column:1/-1;}
.yc-library .yc-landscape .yc-cover{height:auto;aspect-ratio:16/9;max-height:470px;}
.yc-library .yc-landscape .yc-cover img{width:100%;height:100%;}
.yc-library .yc-portrait .yc-cover{height:400px;}
.yc-library .yc-card-copy{min-height:250px;}
.yc-library .yc-work{transition:border-color .3s,box-shadow .3s;}
.yc-library .yc-work.reveal{transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1),border-color .3s,box-shadow .3s;transition-delay:var(--reveal-delay,0ms);}
.yc-library .yc-work:hover{border-color:#a18be5;box-shadow:0 10px 32px #17132309;}
.yc-library .yc-photo-pending{padding:36px;border:1px solid #d7d1dd;border-radius:18px;background:#eeebf5;}
.yc-library .yc-photo-pending small{color:#5727ff;font-weight:800;font-size:11px;letter-spacing:.1em;}
.yc-library .yc-photo-pending p{margin-top:16px;}
.yc-library .yc-photo-intro{padding:32px;max-width:860px;}
.yc-library .yc-photo-intro p{margin:18px 0;color:#655d74;line-height:1.9;}
.yc-library .yc-photo-group{padding:0 32px 32px;}
.yc-library .yc-photo-group header{margin-bottom:20px;}
.yc-library .yc-photo-group header>span{font-size:12px;color:#5727ff;}
.yc-library .yc-photo-group h4{font-size:22px;margin:10px 0;}
.yc-library .yc-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start;}
.yc-library .yc-photo-grid figure{margin:0;min-width:0;}
.yc-library .photo-zoom{display:block;width:100%;padding:0;border:0;background:#f3f1e9;cursor:zoom-in;}
.yc-library .photo-zoom img{display:block;max-width:100%;width:100%;height:auto;object-fit:contain;border-radius:8px;}
.yc-library figcaption{font-size:13px;color:#655d74;margin-top:10px;}
.yc-library .yc-photo>.close-project{margin:0 32px 32px;}
.photo-viewer{width:min(94vw,1400px);max-height:94dvh;padding:54px 20px 20px;border:0;border-radius:14px;background:#17131f;color:white;}
.photo-viewer::backdrop{background:#17131fe0;backdrop-filter:blur(8px);}
.photo-viewer img{display:block;max-width:100%;max-height:calc(94dvh - 90px);margin:auto;object-fit:contain;}
.photo-viewer button{position:absolute;top:12px;right:16px;padding:10px 18px;background:white;color:#17131f;border:0;border-radius:99px;cursor:pointer;}
@media(max-width:1100px){.yc-library .yc-lib-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:650px){
 .yc-library .yc-lib-grid{grid-template-columns:1fr;}
 .yc-library .yc-work.yc-landscape{grid-column:1;}
 .yc-library .yc-card-copy{min-height:0;}
 .yc-library .yc-photo-grid{grid-template-columns:1fr;}
 .yc-library .yc-photo-intro,.yc-library .yc-photo-group{padding:22px;}
 .yc-library .yc-photo-pending{padding:24px;}
}
