/* Hallmark · macrostructure: Photographic sports-club folio · tone: atmospheric handmade · anchor hue: wine/gold
 * custom: midnight volleyball team journal · display: Songti SC · body: PingFang SC
 * pre-emit critique: P5 H4 E4 S5 R5 V4 */
@import url('tokens.css');
*{box-sizing:border-box}html,body{overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:8rem}body{margin:0;background:var(--color-page);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.85}body:has(dialog[open]){overflow-y:hidden}a{color:inherit;text-underline-offset:.24em}button{font:inherit;color:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}figure,dl,dd{margin:0}h1,h2,h3{font-family:var(--font-display);font-style:normal;line-height:1.35;overflow-wrap:anywhere;min-width:0}h1{margin:0;font-size:var(--text-display);font-weight:800}h2{font-size:clamp(1.7rem,3vw,2.5rem);margin:0 0 var(--space-lg)}h3{font-size:var(--text-xl);margin:0 0 var(--space-sm)}p{margin:0 0 var(--space-md)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}header :focus-visible,.dark :focus-visible,footer :focus-visible,.hero :focus-visible,.sticky :focus-visible,dialog :focus-visible{outline-color:var(--color-accent)}a,button,summary{-webkit-tap-highlight-color:var(--color-clear)}[hidden]{display:none!important}.skip{position:fixed;z-index:100;top:0;left:1rem;transform:translateY(-140%);background:var(--color-paper);padding:.5rem 1rem}.skip:focus{transform:none}
.mast{position:sticky;top:0;z-index:30;background:var(--color-dark);color:var(--color-on-dark);border-bottom:1px solid var(--color-accent)}.mast-inner{max-width:1160px;margin:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem;padding:.7rem 1rem}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;white-space:nowrap;font-family:var(--font-outlier);letter-spacing:.035em;font-size:1.25rem}.brand img{width:32px;height:32px}.brand small{font: .75rem var(--font-body);color:var(--color-dark-muted);letter-spacing:0}nav{width:100%;display:flex;justify-content:space-between;gap:.4rem}nav a{font-size:.8rem;text-decoration:none;white-space:nowrap;padding:.45rem .05rem;border-bottom:2px solid var(--color-clear)}nav a:hover,nav [aria-current=page]{color:var(--color-accent);border-color:var(--color-accent)}.nav-cta{display:none}.folio{width:min(100% - 1rem,1080px);margin:0 auto;background:var(--color-paper);box-shadow:10px 0 0 var(--color-shade)}.hero{position:relative;min-height:640px;height:calc(100svh - 102px);max-height:960px;display:flex;align-items:flex-end;background:var(--color-dark);color:var(--color-on-dark);isolation:isolate}.hero-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:56% center;z-index:-2}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,var(--color-light-shade),var(--color-shade) 54%,var(--color-dark) 96%)}.hero-copy{padding:var(--space-xl) var(--space-lg) var(--space-2xl);width:100%}.site-identity{font-size:var(--text-sm);color:var(--color-dark-muted);margin-bottom:1rem}.hero h1 .en{display:block;font-family:var(--font-outlier);font-size:clamp(2rem,6vw,4.3rem);font-weight:400;letter-spacing:.035em;line-height:1.2;color:var(--color-accent)}.hero-lede{font-size:var(--text-lg);max-width:31rem;margin:var(--space-lg) 0}.tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0}.tags span{font-size:var(--text-sm);padding:.15rem .55rem;border:1px solid var(--color-dark-muted)}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:1rem;min-height:48px;padding:.65rem 1rem;white-space:nowrap;text-decoration:none;font-size:.95rem;font-weight:650;background:var(--color-accent);color:var(--color-ink);border:1px solid var(--color-ink);box-shadow:4px 4px 0 var(--color-ink);transition:transform var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.btn:hover{transform:translate(-1px,-1px)}.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--color-ink)}.quiet{display:inline-block;white-space:nowrap;padding:.6rem 0;text-decoration:underline;font-size:.92rem}.quiet:hover{color:var(--color-page)}.hero .quiet:hover,.dark .quiet:hover{color:var(--color-accent)}.btn[aria-disabled=true],button:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn[data-state=loading]{opacity:.7;cursor:progress}.btn[data-state=error]{border:2px solid var(--color-error)}.btn[data-state=success]{border:2px solid var(--color-success)}.sticker{position:absolute;top:1.5rem;right:1rem;padding:.65rem .8rem;background:var(--color-accent);color:var(--color-ink);font-size:.75rem;transform:rotate(3deg);box-shadow:3px 3px 0 var(--color-ink);line-height:1.6}.sticker b{font-family:var(--font-body);font-size:1.2rem;display:block;letter-spacing:.05em}
.info-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--color-rule);padding:1.25rem 1.5rem;gap:1rem}.info-strip dt,.facts dt{font-size:var(--text-sm);color:var(--color-muted)}.info-strip dd{font-size:1.05rem;font-weight:650}.content{padding:0 var(--space-lg)}.section{padding:var(--space-2xl) 0;border-bottom:1px solid var(--color-rule)}.section-head{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1.5rem}.section-head h2{margin:0}.section-head p{color:var(--color-muted);font-size:.92rem;margin:0}.story-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-xl)}.lede{font:600 var(--text-xl)/1.7 var(--font-display)}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1rem 0}.facts dd{font-size:.92rem}.photo{border:1px solid var(--color-ink);box-shadow:5px 5px 0 var(--color-paper-alt)}figcaption{font-size:var(--text-sm);color:var(--color-muted);padding:.65rem 0;line-height:1.6}a[data-lightbox]{display:block;position:relative}a[data-lightbox]:hover img{opacity:.88}a[data-lightbox]:focus-visible{outline-offset:0}a[data-lightbox]:after{content:'放大';position:absolute;right:.6rem;bottom:.6rem;background:var(--color-dark);color:var(--color-on-dark);font-size:.7rem;padding:.15rem .45rem;pointer-events:none}.thumb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.thumb-grid img,.gallery-grid img{aspect-ratio:16/9;object-fit:contain}.feature-spread{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem}.feature-spread article{border-left:2px solid var(--color-page);padding-left:1rem}.feature-spread p{font-size:.95rem}.feature-spread h3{font-size:1.35rem}.dark{background:var(--color-dark);color:var(--color-on-dark);margin:0 calc(var(--space-lg) * -1);padding:var(--space-2xl) var(--space-lg)}.dark p{color:var(--color-dark-muted)}.release-slip{border:1px solid var(--color-accent);padding:1.25rem;position:relative}.release-slip h3{color:var(--color-accent)}.release-slip .facts dt{color:var(--color-dark-muted)}.release-slip .facts dd{color:var(--color-on-dark)}.timeline article{padding:1.1rem 0;border-top:1px solid var(--color-rule)}time{font-size:.85rem;color:var(--color-muted);font-variant-numeric:tabular-nums}.timeline h3{font-size:1.2rem}.timeline p{font-size:.93rem}.mini-links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}.mini-links a{white-space:nowrap;display:inline-block;font-size:.9rem}.audience{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.audience article{padding:1.25rem;background:var(--color-paper-alt)}.audience h3{font-size:1.2rem}.audience p{font-size:.93rem}details{border-bottom:1px solid var(--color-rule)}summary{cursor:pointer;padding:1.1rem 1.5rem 1.1rem 0;font-weight:650;line-height:1.65}summary:hover{color:var(--color-page)}details[open] summary{color:var(--color-page)}details>div{padding:0 0 1.25rem;max-width:65ch}details p:last-child{margin:0}.final{padding:var(--space-2xl) 0}.final h2{font-size:clamp(1.9rem,4vw,3rem)}.notice{font-size:.81rem;color:var(--color-muted);line-height:1.8;margin-top:1rem}.page-top{padding:var(--space-xl) var(--space-lg);background:var(--color-dark);color:var(--color-on-dark)}.breadcrumbs{font-size:.8rem;margin-bottom:1.5rem;display:flex;flex-wrap:wrap;gap:.5rem;color:var(--color-dark-muted)}.breadcrumbs a{white-space:nowrap}.page-top h1{font-size:clamp(2rem,5vw,3.5rem);margin-bottom:1rem}.page-top p{max-width:60ch;color:var(--color-dark-muted)}.page-top .chapter-tag{color:var(--color-accent);font-size:.85rem}.toc{display:flex;flex-wrap:wrap;gap:.45rem 1.2rem;padding:1.2rem 0;border-bottom:1px solid var(--color-rule)}.toc a{white-space:nowrap;font-size:.86rem}.guide-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.guide-cards article{padding:1.25rem;border:1px solid var(--color-rule)}.guide-cards h3{font-size:1.3rem}.guide-cards p{font-size:.9rem}.steps{padding-left:1.5rem}.steps li{padding:.25rem 0 .75rem .3rem}.note{border-left:3px solid var(--color-page);padding:.9rem 1rem;background:var(--color-paper-alt);margin:1rem 0;font-size:.93rem}.package-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.package{border:1px solid var(--color-rule);padding:1.25rem}.package h3{display:flex;align-items:center;gap:.6rem}.package svg{width:22px;height:22px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5}.package .size{font:1.8rem var(--font-body);color:var(--color-page)}.package p{font-size:.9rem}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:.85rem;border-bottom:1px solid var(--color-rule);vertical-align:top}th{background:var(--color-paper-alt)}.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0}.filters button{background:var(--color-clear);border:1px solid var(--color-rule);padding:.5rem .9rem;min-height:44px;font-size:.9rem;white-space:nowrap}.filters button:hover,.filters button[aria-pressed=true]{background:var(--color-dark);color:var(--color-on-dark);border-color:var(--color-dark)}.filters button:active{transform:translateY(1px)}.gallery-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem}.gallery-count{font-size:.82rem;color:var(--color-muted)}.article-body{max-width:740px;margin:auto}.article-body h2{font-size:1.9rem}.related{padding:1.25rem;background:var(--color-paper-alt)}
footer{max-width:1080px;margin:0 auto;padding:var(--space-xl) var(--space-lg) 7rem;color:var(--color-on-dark);background:var(--color-dark);border-top:3px solid var(--color-accent)}.foot-top{display:flex;flex-direction:column;gap:1rem}.foot-brand{font:1.7rem var(--font-display);letter-spacing:.03em}.foot-desc{font-size:.86rem;color:var(--color-dark-muted)}.foot-links{display:flex;flex-wrap:wrap;gap:.4rem 1.3rem;margin:1rem 0}.foot-links a{font-size:.82rem;white-space:nowrap;display:inline-block}.foot-links a:hover{color:var(--color-accent)}.foot-legal{border-top:1px solid var(--color-muted);padding-top:1rem;font-size:.75rem;color:var(--color-dark-muted)}.back-top{white-space:nowrap;display:inline-block;font-size:.82rem}.sticky{position:fixed;z-index:25;bottom:0;left:0;right:0;background:var(--color-dark);color:var(--color-on-dark);display:flex;justify-content:space-between;align-items:center;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));gap:.5rem;border-top:1px solid var(--color-accent)}.sticky b{font-size:.9rem}.sticky small{display:block;color:var(--color-dark-muted);font-size:.72rem}.sticky .btn{font-size:.85rem;padding:.55rem .75rem;min-height:44px;box-shadow:none}.lightbox{position:fixed;inset:0;margin:auto;width:min(96vw,1200px);height:fit-content;max-height:94svh;background:var(--color-dark);color:var(--color-on-dark);border:1px solid var(--color-accent);padding:.8rem}.lightbox::backdrop{background:var(--color-overlay)}.lightbox-header,.lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.lightbox button{background:var(--color-clear);border:1px solid var(--color-dark-muted);color:var(--color-on-dark);padding:.4rem .65rem;min-height:44px;white-space:nowrap;font-size:.85rem}.lightbox button:hover{background:var(--color-accent);color:var(--color-ink)}.lightbox button:active{transform:translateY(1px)}.lightbox button:disabled{opacity:.4}.lightbox img{max-height:66svh;object-fit:contain;width:100%;aspect-ratio:16/9;margin:.8rem 0}.lightbox-caption{font-size:.9rem;margin:.5rem 0}.lightbox-status{font-size:.8rem;color:var(--color-dark-muted);min-height:1.5em;margin:0}.lightbox[data-state=error] .lightbox-status{color:var(--color-accent)}.lightbox[data-state=loading] img{opacity:.4}.filter-status{min-height:1.5rem;font-size:.82rem;color:var(--color-muted)}
@media(min-width:640px){.mast-inner{padding:.8rem 1.5rem}.brand{font-size:1.4rem}.brand small{display:block}nav{width:auto;gap:1.2rem}nav a{font-size:.9rem}.hero{min-height:680px;height:calc(100svh - 78px)}.hero-copy{padding:3rem;max-width:760px}.sticker{right:2rem;top:2rem}.content{padding:0 3rem}.dark{margin:0 -3rem;padding:3rem}.info-strip{grid-template-columns:repeat(4,minmax(0,1fr));padding:1.5rem 3rem}.section{padding:3rem 0}.section-head{flex-direction:row;align-items:end;justify-content:space-between;gap:2rem}.section-head p{max-width:24rem}.feature-spread,.audience,.guide-cards,.package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-spread article:first-child{grid-column:1/-1}.thumb-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-top{padding:3rem}.foot-top{flex-direction:row;justify-content:space-between}footer{padding:2.5rem 3rem 3rem}.sticky{display:none}}
@media(min-width:960px){.folio{margin-top:1.5rem}.hero{height:calc(100svh - 106px);min-height:700px}.hero-copy{padding-bottom:3.5rem}.hero:after{background:linear-gradient(180deg,var(--color-clear),var(--color-shade) 65%,var(--color-dark)),linear-gradient(90deg,var(--color-shade),var(--color-clear) 86%)}.nav-cta{display:inline-block;color:var(--color-accent)}.story-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:2.5rem;align-items:start}.feature-spread{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center}.feature-spread article:first-child{grid-column:auto;grid-row:1/3}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.package-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.release-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:2rem;align-items:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.btn:hover,.btn:active,.lightbox button:active{transform:none}}
@media(max-width:639px){.brand small{font-size:.65rem}.section-head>*{max-width:100%}.hero-lede br{display:none}.hero{min-height:620px}.site-identity{max-width:17rem}.quiet{font-size:.85rem}.btn{font-size:.87rem}.toc{gap:.45rem .8rem}.gallery-grid figcaption{font-size:.8rem}}

nav{align-items:center}a:active,summary:active{opacity:.8}a[aria-disabled=true]{cursor:not-allowed;opacity:.45}.btn{color:var(--color-accent-ink)}
@media(max-width:639px){.hero{height:calc(100svh - 103px);min-height:550px}.hero-copy{padding:1.5rem 1.5rem 6rem}.hero h1{font-size:3.2rem;line-height:1.15}.hero h1 .en{font-size:2rem;line-height:1.15}.hero-lede{font-size:1rem;margin:1rem 0}.tags{margin:.75rem 0}.site-identity{margin-bottom:.75rem}.hero .actions{gap:.5rem 1rem}.hero .actions .quiet{font-size:.8rem}}

.lightbox-panel:fullscreen{background:var(--color-dark);color:var(--color-on-dark);padding:1.5rem;display:flex;flex-direction:column;justify-content:center}.lightbox-panel:fullscreen img{max-height:75svh;min-height:0}.lightbox-panel:fullscreen :focus-visible{outline-color:var(--color-accent)}
