:root{--ink:#121212;--ink-soft:#191919;--surface:#202020;--surface-2:#2a2a2a;--cyan:#1fafdc;--cyan-bright:#45c4ec;--cyan-dark:#12718f;--cream:#fbfae8;--text:#ebeae1;--muted:#a3a29b;--line:#333330;--alert:#ff9b88;--radius:14px;--radius-sm:8px;--radius-pill:999px;--max-width:1180px;--gutter:clamp(1.5rem, 4vw, 4rem);--space:clamp(4rem, 8vw, 7rem);--font-sans:"Zen Kaku Gothic New", "IBM Plex Sans JP", "Hiragino Sans", "Yu Gothic", Meiryo, system-ui, sans-serif;--font-display:"Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Yu Gothic", Meiryo, var(--font-sans);--font-label:"M PLUS Rounded 1c", "Zen Maru Gothic", "Hiragino Maru Gothic ProN", var(--font-sans);--motion:1;color:var(--text);background:var(--ink);font-family:var(--font-sans);font-synthesis:none}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{background:var(--ink);min-width:320px;color:var(--text);margin:0;line-height:1.85;overflow-x:clip}img{max-width:100%;height:auto}a{color:inherit}button,input,textarea{font:inherit}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;line-break:strict;word-break:auto-phrase}p{overflow-wrap:anywhere}::selection{color:var(--ink);background:var(--cyan)}:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}#main-content:focus{outline:none}.skip-link{border-radius:var(--radius-sm);z-index:100;color:var(--ink);background:var(--cyan);padding:.6rem .9rem;font-weight:700;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.visually-hidden{white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.content-width{width:min(calc(100% - (var(--gutter) * 2)), var(--max-width));margin-inline:auto}.eyebrow{color:var(--cyan);font-family:var(--font-label);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:700}.age-gate{display:none}html[data-age-gate=pending] body>:not(.age-gate),html[data-age-gate=flipping] body>:not(.age-gate){display:none!important}html[data-age-gate=pending] .age-gate,html[data-age-gate=flipping] .age-gate,html[data-age-gate=leaving] .age-gate{z-index:999;background:var(--ink);place-items:center;padding:clamp(1.25rem,5vw,3rem);display:grid;position:fixed;inset:0;overflow-y:auto}html[data-age-gate=pending] .age-gate{animation:.3s both gate-backdrop}html[data-age-gate=flipping] .age-gate{pointer-events:none;overflow:hidden}html[data-age-gate=leaving] .age-gate{pointer-events:none;animation:.62s cubic-bezier(.4,0,.2,1) both gate-exit;overflow:hidden}html[data-age-gate=pending] .age-gate:before,html[data-age-gate=flipping] .age-gate:before,html[data-age-gate=leaving] .age-gate:before{content:"";pointer-events:none;background:radial-gradient(circle at 50% 42%,#1fafdc24 0%,#1fafdc00 62%);position:absolute;inset:0}html[data-age-gate=pending] .age-gate:before{animation:1.2s both gate-glow}html[data-age-gate=leaving] .age-gate:before{animation:.62s cubic-bezier(.4,0,.2,1) both gate-glow-exit}html[data-age-gate=leaving] .age-gate[data-ready] .age-gate-panel,html[data-age-gate=leaving] .age-gate .age-gate-panel{animation:.56s cubic-bezier(.4,0,.2,1) both gate-panel-exit}html[data-age-gate=flipping] .age-gate[data-ready] .age-gate-badge,html[data-age-gate=flipping] .age-gate[data-ready] .age-gate-panel h1,html[data-age-gate=flipping] .age-gate[data-ready] .age-gate-lead,html[data-age-gate=flipping] .age-gate[data-ready] .age-gate-actions,html[data-age-gate=leaving] .age-gate[data-ready] .age-gate-badge,html[data-age-gate=leaving] .age-gate[data-ready] .age-gate-panel h1,html[data-age-gate=leaving] .age-gate[data-ready] .age-gate-lead,html[data-age-gate=leaving] .age-gate[data-ready] .age-gate-actions{pointer-events:none;animation:.3s both gate-text-out}@keyframes gate-exit{0%{opacity:1}45%{opacity:1}to{opacity:0}}@keyframes gate-glow-exit{0%{opacity:1;transform:scale(1)}35%{opacity:1;transform:scale(calc(1 + .15 * var(--motion)))}to{opacity:0;transform:scale(calc(1 + .9 * var(--motion)))}}@keyframes gate-panel-exit{0%{opacity:1;transform:translateY(0)scale(1)}22%{opacity:1;transform:translateY(calc(10px * var(--motion))) scale(calc(1 - .025 * var(--motion)))}to{opacity:0;transform:translateY(calc(-52px * var(--motion))) scale(calc(1 + .05 * var(--motion)))}}@keyframes gate-text-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(calc(10px * var(--motion)))}}.age-gate-panel{border-radius:var(--radius);border:1px solid var(--line);border-top:3px solid var(--line);background:var(--surface);text-align:center;width:min(100%,440px);padding:clamp(1.4rem,4vw,2.2rem);position:relative}.age-gate-panel:after{border-radius:var(--radius) var(--radius) 0 0;background:var(--cyan);content:"";transform-origin:0;height:3px;position:absolute;top:-3px;left:0;right:0}.age-gate-card{width:min(230px,64%);margin-inline:auto}.age-gate-card-stage{perspective:1400px}.age-gate-card-inner{aspect-ratio:var(--card-aspect,4 / 3);transform-style:preserve-3d;transition:transform .76s cubic-bezier(.65,0,.35,1);position:relative}html[data-age-gate=flipping] .age-gate-card-inner,html[data-age-gate=leaving] .age-gate-card-inner{transform:rotateY(calc(180deg * var(--motion)))}.age-gate-face{backface-visibility:hidden;place-items:center;display:grid;position:absolute;inset:0}.age-gate-face>img{object-fit:contain;width:100%;height:100%}.age-gate-face-back{transform:rotateY(calc(180deg * var(--motion)))}.age-gate-fallback{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--ink);align-content:center;justify-items:center;gap:.7rem;width:100%;height:100%;padding:1rem;display:grid}.age-gate-fallback>img{object-fit:contain;width:84%;height:auto}.age-gate-fallback-ok{color:var(--cyan)}.age-gate-fallback-ok svg{width:52px;height:52px}.age-gate-fallback-ok p{font-family:var(--font-label);letter-spacing:.2em;margin:0;font-size:.82rem;font-weight:700}.age-gate-badge{border-radius:var(--radius-pill);border:1px solid var(--cyan-dark);color:var(--cyan);font-family:var(--font-label);letter-spacing:.14em;margin:1.2rem 0 0;padding:.28rem .7rem;font-size:.68rem;font-weight:700;display:inline-block}.age-gate-panel h1{letter-spacing:-.02em;margin:.7rem 0 0;font-size:clamp(1.3rem,3.2vw,1.6rem);font-weight:700}.age-gate-lead{color:var(--muted);text-align:left;margin:.8rem 0 0;font-size:.85rem}.age-gate-lead strong{color:var(--cream);font-weight:700}.age-gate-actions{grid-template-columns:1fr 1fr;gap:.7rem;margin-top:1.4rem;display:grid}html.js .age-gate-panel,html.js .age-gate-card,html.js .age-gate-badge,html.js .age-gate-panel h1,html.js .age-gate-lead,html.js .age-gate-actions{opacity:0}.age-gate[data-ready] .age-gate-panel{animation:.72s cubic-bezier(.22,1,.36,1) both gate-panel}.age-gate[data-ready] .age-gate-panel:after{animation:.78s cubic-bezier(.22,1,.36,1) .28s both gate-bar}.age-gate[data-ready] .age-gate-card{animation:.78s cubic-bezier(.22,1,.36,1) .18s both gate-card}.age-gate[data-ready] .age-gate-badge{animation:.68s cubic-bezier(.22,1,.36,1) .38s both gate-item}.age-gate[data-ready] .age-gate-panel h1{animation:.68s cubic-bezier(.22,1,.36,1) .46s both gate-item}.age-gate[data-ready] .age-gate-lead{animation:.68s cubic-bezier(.22,1,.36,1) .54s both gate-item}.age-gate[data-ready] .age-gate-actions{animation:.68s cubic-bezier(.22,1,.36,1) .63s both gate-item}.age-gate-yes,.age-gate-no{border-radius:var(--radius-pill);border:1px solid var(--cyan);text-align:center;cursor:pointer;justify-content:center;align-items:center;min-height:50px;padding:.7rem 1rem;font-size:.88rem;font-weight:700;text-decoration:none;transition:background-color .18s,color .18s,transform .18s,box-shadow .18s;display:flex}.age-gate-yes{color:var(--ink);background:var(--cyan)}.age-gate-yes:hover{color:var(--ink);background:var(--cyan-bright);transform:translateY(-2px);box-shadow:0 10px 24px #1fafdc47}.age-gate-yes:active{transform:translateY(0)}.age-gate-yes.is-accepted{animation:.48s cubic-bezier(.22,1,.36,1) both gate-yes-pop}@keyframes gate-yes-pop{0%{transform:scale(1);box-shadow:0 0 #1fafdc8c}35%{transform:scale(calc(1 - .045 * var(--motion)));box-shadow:0 0 0 10px #1fafdc38}to{transform:scale(1);box-shadow:0 0 0 34px #1fafdc00}}.age-gate-no{color:var(--muted);border-color:var(--line);background:0 0}.age-gate-no:hover{color:var(--text);border-color:var(--muted);transform:translateY(-2px)}@keyframes gate-backdrop{0%{opacity:0}to{opacity:1}}@keyframes gate-glow{0%{opacity:0}to{opacity:1}}@keyframes gate-panel{0%{opacity:0;transform:translateY(calc(26px * var(--motion))) scale(calc(1 - .03 * var(--motion)))}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes gate-item{0%{opacity:0;transform:translateY(calc(16px * var(--motion)))}to{opacity:1;transform:translateY(0)}}@keyframes gate-card{0%{opacity:0;transform:translateY(calc(22px * var(--motion))) scale(calc(1 - .1 * var(--motion)))}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes gate-bar{0%{transform:scaleX(calc(1 - 1 * var(--motion)))}to{transform:scaleX(1)}}.age-gate-noscript{border-radius:var(--radius-sm);border:1px solid var(--alert);color:var(--alert);text-align:left;margin:1.75rem 0 0;padding:1rem;font-size:.85rem}.site-header{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);background:#121212db;animation:.64s cubic-bezier(.22,1,.36,1) both header-drop;position:sticky;top:0}.header-inner{width:min(calc(100% - (var(--gutter) * 2)), var(--max-width));grid-template-columns:auto 1fr;align-items:center;gap:2rem;min-height:82px;margin-inline:auto;display:grid;position:relative}.brand{width:120px;transition:opacity .2s,transform .2s;display:block}.brand:hover{opacity:.82;transform:translateY(-1px)}.brand img{width:100%;height:auto;display:block}.menu-toggle{display:none}.primary-nav{flex-wrap:wrap;justify-content:flex-end;gap:0 1.35rem;display:flex}.primary-nav a{color:#d8d6cd;font-family:var(--font-label);letter-spacing:.06em;white-space:nowrap;padding:.65rem 0;font-size:.7rem;font-weight:700;text-decoration:none;transition:color .2s;position:relative}.primary-nav a:hover,.primary-nav a.active{color:var(--cyan)}.primary-nav a:after{background:var(--cyan);content:"";transform-origin:0;height:2px;transition:transform .26s cubic-bezier(.22,1,.36,1);position:absolute;bottom:.4rem;left:0;right:0;transform:scaleX(0)}.primary-nav a:hover:after,.primary-nav a.active:after{transform:scaleX(1)}.hero{border-bottom:1px solid var(--line);background:var(--ink-soft);position:relative;overflow:hidden}.hero-gallery{height:min(100svh - 82px,780px);min-height:340px;position:relative}.hero-slide{opacity:0;transition:opacity var(--hero-fade,1.5s) ease;position:absolute;inset:0}.hero-slide.is-active{opacity:1}.hero-slide img{object-fit:cover;object-position:var(--slide-position,center 30%);width:100%;height:100%;animation:22s ease-in-out infinite alternate hero-drift;animation-delay:calc(var(--slide-index,0) * -2.6s);display:block}.hero-gallery-empty{background:linear-gradient(150deg, var(--surface) 0%, var(--ink) 68%);align-content:center;justify-items:center;gap:.6rem;display:grid}.hero-gallery-empty p:last-child{color:var(--muted);margin:0;font-size:.9rem}.hero-veil{pointer-events:none;background:linear-gradient(#121212c7 0%,#12121224 30%,#12121238 58%,#121212d1 100%);position:absolute;inset:0}.hero-veil:after{content:"";background:radial-gradient(#12121285 0%,#12121200 62%);position:absolute;inset:0}.hero-title{z-index:1;padding-inline:var(--gutter);text-align:center;pointer-events:none;align-content:center;justify-items:center;gap:1.1rem;display:grid;position:absolute;inset:0}.hero-title-name{color:var(--cream);font-family:var(--font-display);letter-spacing:.16em;text-indent:.16em;text-shadow:0 2px 26px #0000008c;margin:0;font-size:clamp(1.9rem,7vw,4.4rem);font-weight:900;line-height:1.1;animation:1s cubic-bezier(.22,1,.36,1) .12s both hero-rise}.hero-title-sub{color:var(--cyan);font-family:var(--font-label);letter-spacing:.34em;text-indent:.34em;align-items:center;gap:.9rem;margin:0;font-size:clamp(.62rem,1.6vw,.78rem);font-weight:700;animation:1s cubic-bezier(.22,1,.36,1) .32s both hero-rise;display:flex}.hero-title-sub:before,.hero-title-sub:after{background:var(--cyan);content:"";width:clamp(26px,7vw,64px);height:2px}@keyframes header-drop{0%{opacity:0;transform:translateY(calc(-100% * var(--motion)))}to{opacity:1;transform:translateY(0)}}@keyframes hero-rise{0%{opacity:0;transform:translateY(calc(28px * var(--motion)))}to{opacity:1;transform:translateY(0)}}@keyframes hero-drift{0%{transform:scale(1)translate(0,0)}to{transform:scale(calc(1 + .08 * var(--motion))) translate3d(calc(-1.6% * var(--motion)), calc(-1.2% * var(--motion)), 0)}}.section{padding-block:var(--space);border-bottom:1px solid var(--line);background:var(--ink-soft)}.section-tight{padding-block:clamp(1.4rem,2.6vw,2.2rem)}.section-tight .text-link{margin-top:1.2rem}.section:nth-of-type(2n){background:var(--ink)}.section-heading{margin-bottom:clamp(2.3rem,5vw,3.6rem)}.section-heading-row{margin-top:.7rem;display:block}.section-heading h1,.section-heading h2{letter-spacing:-.035em;margin:0;font-size:clamp(1.9rem,4.2vw,3.2rem);font-weight:700;line-height:1.25}.section-heading-row>p{max-width:42rem;color:var(--muted);margin:1rem 0 0}.text-link{color:var(--cyan);gap:.4rem;margin-top:2rem;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex}.text-link:hover{text-underline-offset:.35em;text-decoration:underline}.text-link span{transition:transform .26s cubic-bezier(.22,1,.36,1)}.text-link:hover span{transform:translate(5px)}.page-hero{border-bottom:1px solid var(--line);background:var(--ink-soft);align-items:center;width:100%;min-height:clamp(190px,22vw,264px);padding-block:clamp(1.8rem,3.5vw,2.6rem);display:grid;position:relative;overflow:hidden}.page-hero-body{z-index:1;width:min(calc(100% - (var(--gutter) * 2)), var(--max-width));margin-inline:auto;position:relative}.page-hero.has-character .page-hero-body{padding-right:clamp(130px,17vw,230px)}.page-hero-character{right:max(var(--gutter), calc((100% - var(--max-width)) / 2));pointer-events:none;height:100%;position:absolute;bottom:0}.page-hero-character img{width:auto;height:100%;display:block}.page-hero:before{background:var(--cyan);content:"";transform-origin:top;width:4px;animation:.7s cubic-bezier(.22,1,.36,1) both bar-grow;position:absolute;top:0;bottom:0;left:0}.page-hero .eyebrow{animation:.7s cubic-bezier(.22,1,.36,1) .1s both hero-rise}.page-hero h1{letter-spacing:-.04em;margin:.5rem 0 0;font-size:clamp(2.2rem,5.5vw,3.6rem);font-weight:700;line-height:1.15;animation:.78s cubic-bezier(.22,1,.36,1) .18s both hero-rise}.page-hero .lead{max-width:46rem;color:var(--muted);margin:1rem 0 0;font-size:clamp(.95rem,1.4vw,1.05rem);animation:.78s cubic-bezier(.22,1,.36,1) .3s both hero-rise}@keyframes bar-grow{0%{transform:scaleY(calc(1 - 1 * var(--motion)))}to{transform:scaleY(1)}}.work-tile{text-decoration:none}.work-tile-visual{aspect-ratio:16/9;border:1px solid var(--line);background:var(--ink);place-items:center;transition:border-color .26s,box-shadow .26s;display:grid;position:relative;overflow:hidden}.work-tile-banner .work-tile-visual{border-radius:var(--radius)}.work-tile-cover .work-tile-visual{aspect-ratio:3/4}.work-tile-cover .work-tile-title{text-align:center}.work-tile-visual img{object-fit:cover;width:100%;height:100%;transition:transform .52s cubic-bezier(.22,1,.36,1)}.work-tile:hover .work-tile-visual{border-color:var(--cyan-dark);box-shadow:0 16px 36px #00000073}.work-tile:hover .work-tile-visual img{transform:scale(1.05)}.work-tile .status{background-color:#121212db;position:absolute;top:.6rem;left:.6rem}.work-tile .status-頒布中{background-color:var(--cyan)}.work-tile-title{margin:.85rem 0 0;font-size:.95rem;font-weight:700;line-height:1.5;transition:color .2s}.work-tile:hover .work-tile-title{color:var(--cyan)}.status-link{border-color:var(--cyan-dark);color:var(--cyan);background-color:#121212db}.status-pending{border-color:var(--line);color:var(--muted);background-color:#121212db}.work-tile-link.is-pending{cursor:default}.work-tile-link.is-pending .work-tile-visual{opacity:.72}.work-tile-link.is-pending:hover .work-tile-visual{border-color:var(--line);box-shadow:none}.work-tile-link.is-pending:hover .work-tile-visual img{transform:none}.work-tile-external{color:var(--cyan);margin-left:.3rem;transition:transform .26s cubic-bezier(.22,1,.36,1);display:inline-block}.work-tile-link:hover .work-tile-external{transform:translate(3px,-3px)}.filter-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:clamp(1.6rem,3vw,2.4rem);display:flex}.filter-pills{flex-wrap:wrap;gap:.5rem;display:flex}.filter-pill{border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--muted);background:var(--surface);font-family:var(--font-label);padding:.5rem 1.15rem;font-size:.78rem;font-weight:700;text-decoration:none;transition:color .2s,border-color .2s,background-color .2s}.filter-pill:hover{color:var(--cyan);border-color:var(--cyan-dark);background:var(--surface-2)}.filter-pill.is-current{color:var(--ink);border-color:var(--cyan);background:var(--cyan)}.filter-sort select{border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--text);background-color:var(--surface);font-family:var(--font-label);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a3a29b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-position:right .8rem center;background-repeat:no-repeat;background-size:14px 14px;padding:.5rem 2.2rem .5rem 1.1rem;font-size:.78rem;font-weight:700}.filter-sort select:hover{border-color:var(--cyan-dark);color:var(--cyan)}.filter-sort option{color:var(--text);background:var(--surface)}.works-grid{--works-gap:clamp(1.2rem, 2.5vw, 2rem);--works-columns:4;justify-content:center;align-items:flex-start;gap:var(--works-gap);flex-wrap:wrap;display:flex}.works-grid .work-tile{flex:0 1 calc((100% - (var(--works-columns) - 1) * var(--works-gap)) / var(--works-columns))}.works-grid{transition:opacity .15s}.works-grid.is-swapping{opacity:0}.works-grid .work-tile.is-entering{animation:tile-in .42s cubic-bezier(.22, 1, .36, 1) var(--tile-delay,0s) both}.works-more{justify-content:center;margin-top:clamp(1.8rem,3vw,2.6rem);display:flex}@keyframes tile-in{0%{opacity:0;transform:translateY(calc(12px * var(--motion))) scale(calc(1 - .02 * var(--motion)))}to{opacity:1;transform:none}}.works-rail{--rail-tile:clamp(230px, 18.5vw, 340px);padding-block:.5rem 1.2rem;padding-inline:max(0px, calc(50% - var(--rail-tile) / 2));overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;gap:clamp(1rem,2.5vw,1.6rem);display:flex;position:relative;overflow-x:auto}.works-rail::-webkit-scrollbar{display:none}.works-rail .work-tile{flex:0 0 var(--rail-tile);scroll-snap-align:center;opacity:calc(.3 + .7 * var(--tile-near,1))}.works-rail-nav{justify-content:center;align-items:center;gap:clamp(.8rem,3vw,1.6rem);margin-top:.6rem;display:flex}.rail-button{border:1px solid var(--line);width:42px;height:42px;color:var(--text);cursor:pointer;background:0 0;border-radius:50%;place-items:center;transition:border-color .2s,color .2s,background-color .2s;display:grid}.rail-button svg{width:20px;height:20px}.rail-button:hover:not(:disabled){border-color:var(--cyan-dark);color:var(--cyan);background:var(--surface)}.rail-button:disabled{opacity:.25;cursor:default}.rail-dots{flex-wrap:wrap;justify-content:center;align-items:center;gap:.55rem;display:flex}.rail-dot{border:1px solid var(--muted);background:var(--muted);cursor:pointer;border-radius:50%;width:10px;height:10px;padding:0;transition:transform .2s,background-color .2s,border-color .2s}.rail-dot:hover{border-color:var(--cyan);background:var(--cyan)}.rail-dot.is-current{border-color:var(--cyan);background:0 0;transform:scale(1.5)}.work-thumb{aspect-ratio:3/4;border:1px solid var(--line);background:var(--ink);place-items:center;display:grid;position:relative;overflow:hidden}.work-thumb img{object-fit:cover;width:100%;height:100%}.work-thumb-placeholder{width:100%;height:100%;color:var(--muted);background:repeating-linear-gradient(135deg,#1b1b1b 0 10px,#1e1e1e 10px 20px);align-content:center;justify-items:center;gap:.6rem;display:grid}.work-thumb-placeholder span{font-family:var(--font-label);letter-spacing:.12em;font-size:.65rem}.work-thumb-placeholder svg{opacity:.5;width:34px;height:34px}.work-top{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.work-format{color:var(--muted);font-family:var(--font-label);letter-spacing:.06em;font-size:.7rem}.work-description{color:var(--muted);margin:.9rem 0 0;font-size:.92rem}.work-shops{flex-wrap:wrap;gap:.6rem;margin-top:1.4rem;display:flex}.work-shops a,.work-shop-off{border-radius:var(--radius-pill);border:1px solid var(--cyan);color:var(--cyan);padding:.55rem 1rem;font-size:.78rem;font-weight:700;text-decoration:none;transition:background-color .2s,color .2s,transform .2s,box-shadow .2s}.work-shops a:hover{color:var(--ink);background:var(--cyan);transform:translateY(-2px);box-shadow:0 8px 20px #1fafdc42}.work-shop-off{color:var(--muted);border-color:var(--line);background:var(--ink);cursor:default}.work-detail{grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:start;gap:clamp(2rem,5vw,3.5rem);display:grid}.work-detail-top{margin-top:1.2rem}.work-detail-body h2,.work-samples h2{border-bottom:2px solid var(--cyan);margin:0 0 1.2rem;padding-bottom:.6rem;font-size:clamp(1.2rem,2.2vw,1.5rem);font-weight:700}.work-detail-body .work-description{margin-top:0;font-size:.98rem}.work-spec{border-left:3px solid var(--cyan-dark);border-radius:var(--radius-sm);background:var(--ink);gap:.55rem;margin:1.6rem 0 0;padding:1rem 1.1rem;font-size:.86rem;display:grid}.work-spec>div{grid-template-columns:minmax(5rem,max-content) minmax(0,1fr);gap:.4rem 1rem;display:grid}.work-spec dt{color:var(--cyan);font-family:var(--font-label);font-weight:700}.work-spec dd{color:var(--muted);margin:0}.work-samples{margin-top:clamp(3rem,6vw,4.5rem)}.work-samples-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));align-items:start;gap:clamp(.8rem,2vw,1.2rem);display:grid}.work-sample{border:1px solid var(--line);background:var(--ink);cursor:zoom-in;padding:0;transition:border-color .2s,box-shadow .2s;display:block}.work-sample:hover{border-color:var(--cyan-dark);box-shadow:0 12px 28px #0006}.work-samples-grid img{width:100%;height:auto;display:block}.viewer{width:100%;max-width:none;height:100%;max-height:none;color:var(--text);background:0 0;border:0;margin:0;padding:0;overflow:hidden}.viewer::backdrop{background:#080808f0}.viewer[open]{grid-template-rows:minmax(0,1fr) auto;display:grid}.viewer-stage{place-items:center;min-height:0;padding:clamp(.8rem,3vw,2rem);display:grid;overflow:hidden}.viewer-image{object-fit:contain;cursor:pointer;width:auto;max-width:min(100%,900px);height:auto;max-height:80svh}.viewer-bar{padding:.8rem 1rem calc(.8rem + env(safe-area-inset-bottom));justify-content:center;align-items:center;gap:clamp(1rem,4vw,2rem);display:flex}.viewer-count{color:var(--muted);font-family:var(--font-label);letter-spacing:.08em;margin:0;font-size:.78rem;font-weight:700}.viewer-current{color:var(--text)}.viewer-close{z-index:1;border:1px solid var(--line);width:44px;height:44px;color:var(--text);cursor:pointer;background:#121212cc;border-radius:50%;place-items:center;transition:color .2s,border-color .2s;display:grid;position:absolute;top:clamp(.6rem,2vw,1.2rem);right:clamp(.6rem,2vw,1.2rem)}.viewer-close:hover{color:var(--cyan);border-color:var(--cyan-dark)}.viewer-close svg{width:20px;height:20px}.status{border-radius:var(--radius-pill);white-space:nowrap;border:1px solid var(--line);width:fit-content;font-family:var(--font-label);letter-spacing:.06em;padding:.25rem .65rem;font-size:.67rem;font-weight:700;display:inline-block}.status-制作中{border-color:var(--cyan-dark);color:var(--cyan);background:#1fafdc1a}.status-頒布中{color:var(--ink);border-color:var(--cyan);background:var(--cyan)}.status-頒布終了{color:var(--muted);border-color:var(--line);background:var(--surface-2)}.news-list{border-top:1px solid var(--line)}.news-card a{border-bottom:1px solid var(--line);grid-template-columns:64px 1fr;align-items:center;gap:1.2rem;min-height:130px;padding:1.4rem 0;text-decoration:none;transition:padding-left .3s cubic-bezier(.22,1,.36,1),background-color .3s;display:grid}.news-card a:hover{background:linear-gradient(90deg,#1fafdc12,#0000 65%);padding-left:1rem}.news-card a:hover h3{color:var(--cyan)}.news-index{color:var(--muted);font-family:var(--font-label);font-size:.7rem;transition:color .26s}.news-card a:hover .news-index{color:var(--cyan)}.news-meta{color:var(--cyan);font-family:var(--font-label);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .5rem;font-size:.7rem;font-weight:700}.news-card h3{max-width:44rem;margin:0;font-size:clamp(1.05rem,1.9vw,1.45rem);font-weight:650;line-height:1.5;transition:color .18s}.news-description{max-width:60rem;color:var(--muted);margin:.6rem 0 0;font-size:.88rem}.news-empty{color:var(--muted);padding:2.5rem 0}.article-wrap{padding-block:var(--space);grid-template-columns:minmax(180px,240px) minmax(0,740px);justify-content:center;gap:clamp(2rem,7vw,5rem);display:grid}.article-aside{font-size:.72rem}.article-aside dl{border-radius:var(--radius-sm);border-left:3px solid var(--cyan);background:var(--surface);margin:0;padding:1.2rem;position:sticky;top:6rem}.article-aside dt{color:var(--muted);letter-spacing:.06em;margin-top:1rem;font-weight:700}.article-aside dt:first-child{margin-top:0}.article-aside dd{color:var(--text);margin:.2rem 0 0}.prose{min-width:0}.prose>:first-child{margin-top:0}.prose h2,.prose h3{margin:2.6rem 0 1rem;line-height:1.45}.prose h2{border-bottom:2px solid var(--cyan);padding-bottom:.6rem;font-size:clamp(1.4rem,2.4vw,1.9rem)}.prose h3{color:var(--cyan);font-size:1.15rem}.prose p,.prose li{color:#cfcdc4}.prose a{color:var(--cyan);text-underline-offset:.25em;overflow-wrap:anywhere}.prose img{border:1px solid var(--line);margin-block:1.5rem}.prose li+li{margin-top:.5rem}.prose blockquote{border-radius:var(--radius-sm);border-left:3px solid var(--cyan);background:var(--surface);margin:2rem 0;padding:1rem 1.4rem}.legal{max-width:46rem}.legal small{color:var(--muted);font-size:.8rem}.legal>p:last-child{margin-top:3rem}.legal code{border:1px solid var(--line);background:var(--ink);overflow-wrap:anywhere;padding:.1rem .35rem;font-size:.85em}.back-link{color:var(--cyan);margin-top:3rem;text-decoration:none;display:inline-block}.profile-block{grid-template-columns:minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);display:grid}.profile-intro{max-width:46rem;color:var(--muted)}.profile-intro p{margin:0 0 1.2rem}.profile-intro strong{color:var(--cream)}.character-card{border-radius:var(--radius);border:1px solid var(--line);border-left:3px solid var(--cyan);background:var(--surface);grid-template-columns:280px minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);padding:clamp(1.5rem,3vw,2.2rem);transition:transform .26s cubic-bezier(.22,1,.36,1),box-shadow .26s;display:grid}.character-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px #0006}.character-visual{border-radius:var(--radius-sm);aspect-ratio:3/4;border:1px solid var(--line);background:var(--ink);place-items:center;display:grid;overflow:hidden}.character-visual img{object-fit:cover;width:100%;height:100%;transition:transform .52s cubic-bezier(.22,1,.36,1)}.character-card:hover .character-visual img{transform:scale(1.05)}.character-body{min-width:0}.character-body h3{margin:.7rem 0 0;font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:700}.character-body>p{color:var(--muted)}.link-list{border-top:1px solid var(--line)}.link-card{border-bottom:1px solid var(--line);grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:1.25rem;min-height:132px;padding:1.5rem 0;text-decoration:none;transition:padding-left .3s cubic-bezier(.22,1,.36,1),background-color .3s;display:grid}a.link-card:hover{background:linear-gradient(90deg,#1fafdc12,#0000 65%);padding-left:1rem}a.link-card:hover h2{color:var(--cyan)}.link-number{color:var(--cyan);font-family:var(--font-label);font-size:.7rem;font-weight:700}.link-meta{color:var(--cyan);font-family:var(--font-label);letter-spacing:.06em;margin:0 0 .45rem;font-size:.68rem;font-weight:700}.link-card h2{margin:0;font-size:clamp(1.15rem,2vw,1.6rem);font-weight:650;line-height:1.4;transition:color .18s}.link-card h2+p{max-width:48rem;color:var(--muted);margin:.5rem 0 0;font-size:.9rem}.link-card-static{cursor:default}.round-arrow{aspect-ratio:1;border:1px solid var(--line);width:38px;color:var(--cyan);border-radius:50%;place-items:center;transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .3s,background-color .3s;display:grid}a.link-card:hover .round-arrow{border-color:var(--cyan);background:#1fafdc1f;transform:translate(4px,-4px)}.notice-box{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);max-width:52rem;margin-inline:auto;padding:clamp(1.5rem,4vw,2.4rem);transition:border-color .26s,transform .26s cubic-bezier(.22,1,.36,1)}.notice-box:hover{border-color:var(--cyan-dark);transform:translateY(-3px)}.notice-box h2{margin:.8rem 0 1rem;font-size:clamp(1.3rem,2.4vw,1.7rem)}.notice-box p{color:var(--muted);margin:0 0 1.1rem}.notice-box strong{color:var(--cream);font-weight:700}.notice-box p:last-child{margin-bottom:0}.button-row{flex-wrap:wrap;gap:.8rem;margin-top:1.8rem;display:flex}.button-primary,.button-ghost{border-radius:var(--radius-pill);align-items:center;gap:.45rem;min-height:52px;padding:.75rem 1.4rem;font-size:.85rem;font-weight:700;text-decoration:none;transition:background-color .2s,color .2s,transform .2s,box-shadow .2s;display:inline-flex}.button-primary{color:var(--ink);border:1px solid var(--cyan);background:var(--cyan)}.button-primary:hover{background:var(--cyan-bright);transform:translateY(-2px);box-shadow:0 10px 24px #1fafdc47}.button-ghost{color:var(--cyan);border:1px solid var(--line)}.button-ghost:hover{color:var(--ink);border-color:var(--cyan);background:var(--cyan);transform:translateY(-2px)}.button-primary:active,.button-ghost:active{transform:translateY(0)}.button-primary span,.button-ghost span{transition:transform .26s cubic-bezier(.22,1,.36,1)}.button-primary:hover span,.button-ghost:hover span{transform:translate(3px,-3px)}.not-found{min-height:calc(100svh - 83px);padding:var(--space) var(--gutter);text-align:center;place-items:center;display:grid}.not-found h1{letter-spacing:-.04em;margin:1rem 0 0;font-size:clamp(2rem,6vw,3.2rem);font-weight:700}.not-found p{color:var(--muted);margin:1.2rem 0 0}.site-footer{padding-top:var(--space);border-top:5px solid var(--cyan);color:var(--text);background:var(--ink)}.footer-main{grid-template-columns:1.2fr 1fr;gap:4rem;padding-bottom:clamp(3.5rem,7vw,6rem);display:grid}.footer-statement .eyebrow{font-family:var(--font-display);letter-spacing:.02em;text-transform:none;font-size:1.1rem;font-weight:900}.footer-note{max-width:26rem;color:var(--muted);margin:1rem 0 0;font-size:.82rem}.footer-links{grid-template-columns:repeat(2,1fr);gap:2rem;display:grid}.footer-label{border-bottom:1px solid var(--line);color:var(--cyan);font-family:var(--font-label);letter-spacing:.08em;padding-bottom:.4rem;font-size:.68rem;font-weight:700}.footer-links a{width:fit-content;color:var(--muted);margin:.65rem 0;font-size:.8rem;text-decoration:none;display:block}.footer-links a:hover{color:var(--cyan)}.footer-bottom{border-top:1px solid var(--line);font-family:var(--font-label);letter-spacing:.06em;flex-wrap:wrap;align-items:center;gap:2rem;padding-block:1.1rem;font-size:.7rem;font-weight:700;display:flex}.footer-bottom p{color:var(--muted);margin:0}.footer-bottom a{color:var(--muted);text-decoration:none}.footer-bottom a:hover{color:var(--cyan)}.reveal-target{opacity:0;transform:translateY(calc(28px * var(--motion)));transition:opacity .62s ease var(--reveal-delay,0s), transform .62s cubic-bezier(.22, 1, .36, 1) var(--reveal-delay,0s)}.reveal-target.is-visible{opacity:1;transform:translateY(0)}@media (width<=1100px){.works-grid{--works-columns:3}}@media (width<=800px){.works-grid{--works-columns:2}.works-rail{--rail-tile:min(56vw, 260px)}.header-inner{grid-template-columns:1fr auto;gap:1rem;min-height:70px;padding-block:.8rem}.brand{width:100px}.menu-toggle{width:46px;min-height:46px;color:var(--text);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;transition:color .2s;display:flex}.menu-toggle:hover{color:var(--cyan)}.menu-toggle-bars{width:18px;height:14px;display:block;position:relative}.menu-toggle-bars span{background:currentColor;height:2px;transition:opacity .18s,transform .18s;position:absolute;left:0;right:0}.menu-toggle-bars span:first-child{top:0}.menu-toggle-bars span:nth-child(2){top:6px}.menu-toggle-bars span:nth-child(3){top:12px}.menu-toggle[aria-expanded=true] .menu-toggle-bars span:first-child{transform:translateY(6px)rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-toggle-bars span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] .menu-toggle-bars span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.primary-nav{border-radius:0 0 var(--radius) var(--radius);z-index:30;border:1px solid var(--line);opacity:0;visibility:hidden;pointer-events:none;background:#121212fc;grid-template-columns:1fr;gap:0;padding:.45rem 1rem;transition:opacity .18s,visibility .18s,transform .18s;display:grid;position:absolute;top:calc(100% + 1px);left:0;right:0;transform:translateY(-8px);box-shadow:0 18px 40px #00000073}.primary-nav.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.primary-nav a{border-bottom:1px solid var(--line);align-items:center;min-height:52px;padding:.75rem .4rem;font-size:.76rem;display:flex}.primary-nav a:last-child{border-bottom:0}.primary-nav a.active:after{width:1.8rem;bottom:.65rem;right:auto}.work-detail{grid-template-columns:1fr}.work-detail-visual{max-width:260px}.character-card{grid-template-columns:1fr}.character-visual{max-width:240px}.article-wrap{grid-template-columns:1fr}.article-aside dl{grid-template-columns:repeat(2,1fr);gap:.5rem 1rem;display:grid;position:static}.footer-main{grid-template-columns:1fr}}@media (width<=640px){.page-hero.has-character .page-hero-body{padding-right:clamp(76px,24vw,116px)}.page-hero-character{height:94%;right:0}}@media (width<=520px){.age-gate-actions{grid-template-columns:1fr}.hero-gallery{height:min(100svh - 74px,620px)}.hero-title-sub{gap:.6rem}.news-card a{grid-template-columns:34px 1fr}.news-description{display:none}.link-card{grid-template-columns:34px minmax(0,1fr)}.link-card .round-arrow{display:none}.link-card-static{grid-template-columns:34px minmax(0,1fr) auto;gap:.8rem}.link-card-static .status{align-self:center}}@media (prefers-reduced-motion:reduce){:root{--motion:0}html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important}.age-gate-face{backface-visibility:visible;transition:opacity .24s}.age-gate-face-back,html[data-age-gate=flipping] .age-gate-face-front,html[data-age-gate=leaving] .age-gate-face-front{opacity:0}html[data-age-gate=flipping] .age-gate-face-back,html[data-age-gate=leaving] .age-gate-face-back{opacity:1}}
