:root{color-scheme:light dark;--bg: #f5f5f5;--bg-2: #ebebeb;--panel: #ffffff;--panel-hover: #f8f8f8;--panel-soft: #e8e8e8;--ink: #333333;--ink-dim: #888888;--ink-bright: #111111;--accent: #0068b7;--accent-2: #0080d6;--accent-dark: #004a82;--cta: #f96532;--cta-hover: #e85525;--cta-rgb: 249, 101, 50;--cta-text: #ffffff;--text-on-dark: #ffffff;--highlight: #0068b7;--sale: #e62e2e;--sale-light: #f05555;--stroke: rgba(0, 0, 0, .1);--shadow: 0 1px 4px rgba(0, 0, 0, .06);--shadow-hover: 0 6px 16px rgba(0, 0, 0, .08);--shadow-cta-hover: 0 4px 12px rgba(249, 101, 50, .25);--shadow-accent-hover: 0 4px 12px rgba(0, 104, 183, .12);--accent-alpha-05: rgba(0, 104, 183, .05);--accent-alpha-06: rgba(0, 104, 183, .06);--accent-alpha-08: rgba(0, 104, 183, .08);--accent-alpha-25: rgba(0, 104, 183, .25);--accent-alpha-30: rgba(0, 104, 183, .3);--color-r18: #dc2626;--color-r18-bg: rgba(220, 38, 38, .08);--color-r18-bg-subtle: rgba(220, 38, 38, .06);--color-r18-border-subtle: rgba(220, 38, 38, .15);--color-category: #666666;--color-category-bg: rgba(0, 0, 0, .06);--color-release: #16a34a;--color-release-bg: rgba(22, 163, 74, .1);--color-update: #0068b7;--color-update-bg: rgba(0, 104, 183, .1);--color-devlog: #7c3aed;--color-devlog-bg: rgba(124, 58, 237, .1);--color-futekigo: #c026d3;--color-futekigo-bg: rgba(192, 38, 211, .1);--color-fanza: #e83655;--color-fanza-hover: #ec4060;--color-dlsite: #2952cc;--color-dlsite-hover: #3560d8;--shadow-fanza-hover: 0 6px 20px rgba(232, 54, 85, .35);--shadow-fanza-active: 0 2px 6px rgba(232, 54, 85, .2);--shadow-dlsite-hover: 0 6px 20px rgba(41, 82, 204, .35);--shadow-dlsite-active: 0 2px 6px rgba(41, 82, 204, .2);--pulse-fanza: rgba(232, 54, 85, .5);--pulse-dlsite: rgba(41, 82, 204, .5);--color-fanza-trial: #ee2737;--color-fanza-trial-hover: #d42232;--color-fanza-trial-bg: rgba(238, 39, 55, .05);--color-fanza-trial-shadow: rgba(238, 39, 55, .12);--color-dlsite-trial: #052a83;--color-dlsite-trial-hover: #041e63;--color-dlsite-trial-bg: rgba(5, 42, 131, .05);--color-dlsite-trial-shadow: rgba(5, 42, 131, .12);--color-logo: var(--accent);--color-logo-hover: var(--accent-dark);--color-logo-green: #7ccd40;--color-logo-pink: #e2437f;--news-card-cover-empty-bg: #ebebeb;--radius-lg: 6px;--radius-md: 4px;--radius-sm: 3px;--radius-pill: 20px;--easing: cubic-bezier(.25, .8, .25, 1);--dur-fast: .15s;--dur-quick: .2s;--dur-normal: .25s;--dur-medium: .3s;--dur-img-zoom: .35s;--dur-slow: .4s;--dur-entrance: .5s;--fs-xs: .75rem;--fs-sm: .78rem;--fs-ui: .82rem;--fs-body-sm: .88rem;--fs-body: .9rem;--fs-body-lg: .95rem;--fs-heading: 1rem;--fs-heading-lg: 1.1rem;--fs-2xs: .7rem;--fs-heading-xl: 1.3rem;--fs-heading-2xl: 1.5rem;--touch-min: 44px;--font-display: "Inter", "Noto Sans JP", system-ui, sans-serif;--font-body: "Noto Sans JP", "Inter", system-ui, sans-serif;--footer-bg: #2a2a2a;--footer-text: rgba(255, 255, 255, .5);--footer-text-strong: rgba(255, 255, 255, .8);--footer-text-bright: #ffffff;--footer-text-dim: rgba(255, 255, 255, .4);--footer-text-muted: rgba(255, 255, 255, .3);--footer-stroke: rgba(255, 255, 255, .08);--footer-btn-border: rgba(255, 255, 255, .2);--footer-btn-color: rgba(255, 255, 255, .75);--footer-btn-hover-border: rgba(255, 255, 255, .6);--footer-btn-hover-bg: rgba(255, 255, 255, .08);--z-dropdown: 19;--z-header: 20;--z-float: 40;--z-lightbox: 50;--z-tooltip: 100;--z-progress: 200;--z-progress-top: 250;--z-sheet-scrim: 299;--z-sheet: 300;--z-toast: 400;--z-age-gate: 500;--overlay-scrim: rgba(0, 0, 0, .85);--overlay-dark: rgba(0, 0, 0, .4);--overlay-dark-deep: rgba(0, 0, 0, .75);--overlay-card: rgba(0, 0, 0, .35);--overlay-video: rgba(0, 0, 0, .38);--overlay-video-hover: rgba(0, 0, 0, .12);--lightbox-btn-bg: rgba(255, 255, 255, .15);--lightbox-btn-bg-hover: rgba(255, 255, 255, .3);--lightbox-nav-bg: rgba(255, 255, 255, .18);--lightbox-nav-bg-hover: rgba(255, 255, 255, .32);--lightbox-btn-border: rgba(255, 255, 255, .35);--lightbox-btn-border-hover: rgba(255, 255, 255, .6);--lightbox-text: rgba(255, 255, 255, .8);--lightbox-text-bright: rgba(255, 255, 255, .9);--lightbox-thumb-border: rgba(255, 255, 255, .3);--lightbox-thumb-border-hover: rgba(255, 255, 255, .75);--lightbox-thumb-border-active: #ffffff;--lightbox-focus-ring: #ffffff;--lightbox-spinner-track: rgba(255, 255, 255, .2);--lightbox-spinner-head: rgba(255, 255, 255, .8);--lightbox-spinner-static: rgba(255, 255, 255, .6);--lightbox-thumb-bg: rgba(0, 0, 0, .5);--lightbox-gradient: linear-gradient(transparent, rgba(0, 0, 0, .65));--shadow-float: 0 2px 12px rgba(0, 0, 0, .15);--shadow-sheet: 0 -8px 32px rgba(0, 0, 0, .14);--shadow-lightbox: 0 8px 40px rgba(0, 0, 0, .4);--shadow-fab: 0 4px 20px rgba(0, 0, 0, .28);--shadow-fab-hover: 0 6px 28px rgba(0, 0, 0, .34);--shadow-card-sm: 0 4px 12px rgba(0, 0, 0, .1);--shadow-card-md: 0 8px 20px rgba(0, 0, 0, .1);--shadow-toast: 0 4px 16px rgba(0, 0, 0, .18);--shadow-age-gate: 0 4px 24px rgba(0, 0, 0, .08);--shadow-header: 0 1px 3px rgba(0, 0, 0, .04);--shadow-dropdown: 0 8px 24px rgba(0, 0, 0, .12);--shadow-hero-cover: 0 8px 28px rgba(0, 0, 0, .18);--shadow-hero-cover-hover: 0 16px 40px rgba(0, 0, 0, .22);--shadow-hero-cover-sm: 0 4px 16px rgba(0, 0, 0, .16);--shadow-cien: 0 4px 14px rgba(0, 0, 0, .3);--shadow-cien-hover: 0 6px 20px rgba(0, 0, 0, .45);--shadow-section-link: 0 2px 8px rgba(0, 104, 183, .1);--shadow-ring-active: 0 0 0 4px rgba(249, 101, 50, .18);--drop-shadow-icon: drop-shadow(0 2px 6px rgba(0, 0, 0, .5));--drop-shadow-hint: drop-shadow(0 1px 3px rgba(0, 0, 0, .5));--color-sale-bg: rgba(230, 46, 46, .1);--notice-bg: rgba(0, 104, 183, .04);--overlay-char: rgba(0, 0, 0, .3);--char-view-border: rgba(255, 255, 255, .7);--scale-pressed: .97;--scale-pressed-sm: .98;--scroll-offset: 104px;--sticky-offset: 80px;--container-max: 1060px;--container-gutter: 32px;--hero-sidebar: 380px;--hero-cover-max: 360px;--hero-sidebar-sm: 130px;--color-upcoming: #e09c00;--color-upcoming-bg: rgba(224, 156, 0, .12);--color-upcoming-border: rgba(224, 156, 0, .35);--color-new: #e5484d;--color-video-placeholder: #0d0d16;--color-toggle-hover: rgba(249, 115, 22, .12);--announce-glow: rgba(255, 255, 255, .7);--announce-glow-dim: rgba(255, 255, 255, .35);--nav-hover-bg: rgba(0, 0, 0, .04);--nav-active-bg: rgba(0, 0, 0, .08);--pulse-cta: rgba(249, 101, 50, .45);--color-tuna-gold-glow: rgba(255, 200, 0, .7)}html[data-theme=dark]{color-scheme:dark;--bg: #0d1117;--bg-2: #161b22;--panel: #1c2128;--panel-hover: #22272e;--panel-soft: #2a3039;--ink: #c9d1d9;--ink-dim: #8b949e;--ink-bright: #f0f6ff;--stroke: rgba(255, 255, 255, .1);--shadow: 0 1px 4px rgba(0, 0, 0, .35);--shadow-hover: 0 6px 20px rgba(0, 0, 0, .55);--shadow-cta-hover: 0 4px 14px rgba(249, 101, 50, .4);--shadow-accent-hover: 0 4px 14px rgba(0, 104, 183, .3);--accent-alpha-05: rgba(0, 104, 183, .08);--accent-alpha-06: rgba(0, 104, 183, .1);--accent-alpha-08: rgba(0, 104, 183, .14);--accent-alpha-25: rgba(0, 104, 183, .35);--accent-alpha-30: rgba(0, 104, 183, .4);--color-logo: #58a6ff;--color-logo-hover: #79bbff;--color-logo-green: #a3e635;--color-logo-pink: #f472b6;--news-card-cover-empty-bg: #22272e;--color-fanza: #f04a6a;--color-fanza-hover: #f5607c;--color-dlsite: #4a72e8;--color-dlsite-hover: #5b80f0;--shadow-fanza-hover: 0 6px 20px rgba(240, 74, 106, .45);--shadow-fanza-active: 0 2px 6px rgba(240, 74, 106, .25);--shadow-dlsite-hover: 0 6px 20px rgba(74, 114, 232, .45);--shadow-dlsite-active: 0 2px 6px rgba(74, 114, 232, .25);--pulse-fanza: rgba(240, 74, 106, .55);--pulse-dlsite: rgba(74, 114, 232, .55);--color-fanza-trial: #f06a82;--color-fanza-trial-hover: #f5849a;--color-fanza-trial-bg: rgba(240, 106, 130, .08);--color-dlsite-trial: #6b8ef0;--color-dlsite-trial-hover: #85a4f5;--color-dlsite-trial-bg: rgba(107, 142, 240, .08);--overlay-scrim: rgba(0, 0, 0, .92);--shadow-float: 0 2px 12px rgba(0, 0, 0, .45);--shadow-sheet: 0 -8px 32px rgba(0, 0, 0, .4);--shadow-lightbox: 0 8px 40px rgba(0, 0, 0, .7);--shadow-fab: 0 4px 20px rgba(0, 0, 0, .55);--shadow-fab-hover: 0 6px 28px rgba(0, 0, 0, .65);--shadow-card-sm: 0 4px 12px rgba(0, 0, 0, .35);--shadow-card-md: 0 8px 20px rgba(0, 0, 0, .4);--shadow-toast: 0 4px 16px rgba(0, 0, 0, .5);--shadow-age-gate: 0 4px 24px rgba(0, 0, 0, .45);--shadow-header: 0 1px 3px rgba(0, 0, 0, .25);--shadow-dropdown: 0 8px 24px rgba(0, 0, 0, .5);--shadow-hero-cover: 0 8px 28px rgba(0, 0, 0, .45);--shadow-hero-cover-hover: 0 16px 40px rgba(0, 0, 0, .55);--shadow-hero-cover-sm: 0 4px 16px rgba(0, 0, 0, .4);--shadow-cien: 0 4px 14px rgba(255, 255, 255, .12);--shadow-cien-hover: 0 6px 20px rgba(255, 255, 255, .2);--shadow-section-link: 0 2px 8px rgba(0, 104, 183, .15);--shadow-ring-active: 0 0 0 4px rgba(249, 101, 50, .25);--drop-shadow-icon: drop-shadow(0 2px 6px rgba(0, 0, 0, .7));--drop-shadow-hint: drop-shadow(0 1px 3px rgba(0, 0, 0, .7));--color-sale-bg: rgba(230, 46, 46, .14);--notice-bg: rgba(0, 104, 183, .08);--color-world-label: rgba(167, 139, 250, .95);--color-toggle-hover-dark: rgba(251, 192, 45, .14);--nav-hover-bg: rgba(255, 255, 255, .06);--nav-active-bg: rgba(255, 255, 255, .12);--color-r18-bg-subtle: rgba(220, 38, 38, .1);--color-r18-border-subtle: rgba(220, 38, 38, .25)}*{box-sizing:border-box}html{overflow-x:hidden;scroll-padding-top:var(--scroll-offset);scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;font-family:var(--font-body);background:var(--bg);color:var(--ink);min-height:100vh;line-height:1.6;display:flex;flex-direction:column;-webkit-tap-highlight-color:transparent;overflow-x:clip}main{flex:1}a{color:inherit;text-decoration:none;transition:color var(--dur-fast) ease}a:hover{color:var(--accent)}a:active{opacity:.7}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}.back-to-top:focus-visible{border-radius:50%}.skip-link{position:absolute;top:-100%;left:16px;z-index:var(--z-tooltip);padding:8px 16px;background:var(--accent);color:var(--text-on-dark);font-size:var(--fs-ui);font-weight:600;border-radius:var(--radius-md);transition:top var(--dur-quick) ease}.skip-link:focus{top:8px;color:var(--text-on-dark)}img,video{max-width:100%;height:auto;display:block}button{font-family:inherit}.container{width:min(var(--container-max),calc(100% - var(--container-gutter)));margin:0 auto}.section{padding:40px 0}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}@media(max-width:640px){.grid-2{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}.grid-3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.grid-stretch-items>*{display:flex;flex-direction:column}.grid-stretch-items>*>*{flex:1}.card{background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow);transition:border-color var(--dur-normal) ease,transform var(--dur-medium) var(--easing),box-shadow var(--dur-medium) ease}@media(hover:hover)and (pointer:fine){.card:hover{border-color:var(--accent-alpha-25);transform:translateY(-3px);box-shadow:var(--shadow-hover)}}.card--static,.card--static:hover{transform:none;box-shadow:var(--shadow);border-color:var(--stroke)}.card h2,.card h3{font-size:var(--fs-heading);margin:0 0 8px;color:var(--ink-bright);font-weight:600}.card p{font-size:var(--fs-body);color:var(--ink-dim);margin:0 0 12px;line-height:1.6}.card p:last-child{margin-bottom:0}.card-interactive{position:relative;background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);transition:border-color var(--dur-normal) ease,transform var(--dur-medium) var(--easing),box-shadow var(--dur-medium) ease}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:2px;font-size:var(--fs-2xs);font-weight:600;letter-spacing:.02em;color:var(--accent);background:var(--accent-alpha-08);white-space:nowrap;flex-shrink:0}.badge--r18{color:var(--color-r18);background:var(--color-r18-bg)}.badge--category{color:var(--color-category);background:var(--color-category-bg)}.badge--release{color:var(--color-release);background:var(--color-release-bg)}.badge--update{color:var(--color-update);background:var(--color-update-bg)}.badge--sale{color:var(--sale);background:var(--color-sale-bg)}.badge--devlog{color:var(--color-devlog);background:var(--color-devlog-bg)}.badge--futekigo{color:var(--color-futekigo);background:var(--color-futekigo-bg)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 24px;min-height:var(--touch-min);border-radius:var(--radius-md);border:none;font-weight:600;font-size:var(--fs-ui);letter-spacing:.02em;background:var(--cta);color:var(--text-on-dark);transition:background var(--dur-normal) ease,transform var(--dur-medium) var(--easing),box-shadow var(--dur-medium) ease;cursor:pointer}.button:hover{background:var(--cta-hover);color:var(--text-on-dark);transform:translateY(-2px);box-shadow:var(--shadow-cta-hover)}.button.secondary{background:var(--panel);color:var(--ink);border:1px solid var(--stroke)}.button.secondary:hover{background:var(--bg);color:var(--ink-bright)}.button--sm{padding:6px 14px;font-size:var(--fs-sm)}.button--block{width:100%}.button--cien{background:var(--accent);box-shadow:var(--shadow-cien)}.button--cien:hover{background:var(--accent-2);box-shadow:var(--shadow-cien-hover)}.line-clamp-2,.line-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;line-clamp:2}.line-clamp-3{-webkit-line-clamp:3;line-clamp:3}.store-sidebar{background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius-lg);padding:20px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow);scroll-margin-top:100px;position:sticky;top:var(--sticky-offset);min-width:0}.breadcrumb{padding:12px 0 0}.breadcrumb-list{display:flex;flex-wrap:wrap;align-items:center;gap:4px;list-style:none;margin:0;padding:0;font-size:clamp(.8rem,2.5vw,.9rem);color:var(--ink-dim)}.breadcrumb-item{white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.breadcrumb-item+.breadcrumb-item:before{content:"/";color:var(--stroke);margin-right:4px}.breadcrumb-item a{color:var(--ink-dim);text-decoration:none}.breadcrumb-item a:hover{color:var(--accent)}.breadcrumb-item span{color:var(--ink)}.back-to-top{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));left:24px;z-index:var(--z-float);width:var(--touch-min);height:var(--touch-min);display:flex;align-items:center;justify-content:center;background:var(--panel);border:1px solid var(--stroke);border-radius:50%;color:var(--ink-dim);cursor:pointer;box-shadow:var(--shadow-float);opacity:0;pointer-events:none;transition:opacity var(--dur-medium) ease,transform var(--dur-normal) ease,border-color var(--dur-quick);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.back-to-top.is-visible{opacity:1;pointer-events:auto}.back-to-top:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.fab-purchase{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));right:24px;z-index:var(--z-float);display:flex;align-items:center;gap:8px;padding:12px 20px;background:var(--cta);color:var(--text-on-dark);border:none;border-radius:99px;font-size:var(--fs-body-sm);font-weight:600;font-family:inherit;cursor:pointer;box-shadow:var(--shadow-fab);transition:opacity var(--dur-normal) ease,transform var(--dur-normal) ease,box-shadow var(--dur-normal) ease;white-space:nowrap;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.fab-purchase:hover{background:var(--cta-hover, var(--cta));transform:translateY(-2px);box-shadow:var(--shadow-fab-hover)}.fab-purchase:active{transform:translateY(0) scale(var(--scale-pressed));transition-duration:var(--dur-fast)}.fab-purchase.is-hidden{opacity:0;pointer-events:none;transform:translateY(12px)}@keyframes fab-attention{0%,to{box-shadow:var(--shadow-fab)}50%{box-shadow:var(--shadow-fab),0 0 0 6px rgba(var(--cta-rgb),.3)}}.fab-purchase:not(.is-hidden){animation:fab-attention 1.5s ease .3s 2}@media(prefers-reduced-motion:reduce){.fab-purchase:not(.is-hidden){animation:none}}@media(max-width:640px){.back-to-top{bottom:calc(80px + env(safe-area-inset-bottom,0px))}}@keyframes skeleton-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.img-skeleton:not(.is-loaded){background:linear-gradient(90deg,var(--stroke) 25%,var(--bg) 50%,var(--stroke) 75%);background-size:800px 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.img-skeleton:not(.is-loaded)>img:not([aria-hidden]){opacity:0}.img-skeleton>img:not([aria-hidden]){transition:opacity var(--dur-slow) ease}.img-skeleton.is-loaded>img:not([aria-hidden]){opacity:1}@media(prefers-reduced-motion:reduce){.img-skeleton:not(.is-loaded){animation:none}.img-skeleton>img:not([aria-hidden]){transition:none}}@media(max-width:640px){[data-anim] .img-skeleton>img:not([aria-hidden]){transition:none}}.img-skeleton.is-error{position:relative;background:linear-gradient(135deg,var(--bg-2) 0%,var(--panel-soft) 100%)}.img-skeleton.is-error:after{content:"";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--stroke);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='m21 15-5-5L5 21'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='m21 15-5-5L5 21'/%3E%3C/svg%3E");mask-size:40px 40px;-webkit-mask-size:40px 40px;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-position:center;-webkit-mask-position:center;opacity:.4}.store-sidebar h3{font-size:var(--fs-body);margin:0;color:var(--ink-bright);font-weight:600;padding-bottom:10px;border-bottom:1px solid var(--stroke)}.store-button-group{display:flex;flex-direction:column;gap:8px}.store-button{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:var(--radius-md);background:var(--cta);color:var(--text-on-dark);font-weight:600;font-size:var(--fs-body-sm);transition:background var(--dur-normal) ease,transform var(--dur-medium) var(--easing),box-shadow var(--dur-medium) ease}.store-button:hover{background:var(--cta-hover);color:var(--text-on-dark);transform:translateY(-2px);box-shadow:var(--shadow-cta-hover)}.store-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.store-button--trial{background:var(--panel);color:var(--accent);border:1px solid var(--accent)}.store-button--trial:hover{background:var(--accent-alpha-05);color:var(--accent-dark);transform:translateY(-2px);box-shadow:var(--shadow-accent-hover)}.store-button[data-store=fanza]{background:var(--color-fanza)}.store-button[data-store=fanza]:hover{background:var(--color-fanza-hover);transform:translateY(-3px) scale(1.02);box-shadow:var(--shadow-fanza-hover)}.store-button[data-store=fanza]:active{transform:translateY(0) scale(var(--scale-pressed-sm));box-shadow:var(--shadow-fanza-active);transition-duration:var(--dur-fast)}.store-button[data-store=dlsite]{background:var(--color-dlsite)}.store-button[data-store=dlsite]:hover{background:var(--color-dlsite-hover);transform:translateY(-3px) scale(1.02);box-shadow:var(--shadow-dlsite-hover)}.store-button[data-store=dlsite]:active{transform:translateY(0) scale(var(--scale-pressed-sm));box-shadow:var(--shadow-dlsite-active);transition-duration:var(--dur-fast)}.store-button[data-store=fanza] .arrow,.store-button[data-store=dlsite] .arrow{transition:transform var(--dur-medium) var(--easing)}.store-button[data-store=fanza]:hover .arrow,.store-button[data-store=dlsite]:hover .arrow{transform:translate(4px)}.store-button--trial[data-store=fanza]{background:var(--panel);color:var(--color-fanza-trial);border:1px solid var(--color-fanza-trial)}.store-button--trial[data-store=fanza]:hover{background:var(--color-fanza-trial-bg);color:var(--color-fanza-trial-hover);box-shadow:0 4px 12px var(--color-fanza-trial-shadow)}.store-button--trial[data-store=dlsite]{background:var(--panel);color:var(--color-dlsite-trial);border:1px solid var(--color-dlsite-trial)}.store-button--trial[data-store=dlsite]:hover{background:var(--color-dlsite-trial-bg);color:var(--color-dlsite-trial-hover);box-shadow:0 4px 12px var(--color-dlsite-trial-shadow)}.store-button .arrow{font-size:var(--fs-xs);opacity:.7}.spec-table{width:100%;border-collapse:collapse;font-size:var(--fs-body-sm)}.spec-table tr{border-bottom:1px solid var(--stroke)}.spec-table tr:last-child{border-bottom:none}.spec-table td{padding:10px 0}.spec-table td:first-child{color:var(--ink-dim);padding-right:16px;white-space:nowrap}@media(max-width:480px){.spec-table td:first-child{white-space:normal}}.spec-table td:last-child{color:var(--accent);font-weight:600;text-align:right}.muted{color:var(--ink-dim)}.list-inline{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--accent)}.section-title{font-family:var(--font-display);font-size:clamp(1.1rem,2.5vw,1.5rem);margin:0;letter-spacing:.02em;color:var(--ink-bright);font-weight:600}.section-lead{color:var(--ink-dim);margin:0 0 20px;font-size:var(--fs-body)}.section-link{font-size:var(--fs-ui);color:var(--accent);white-space:nowrap;display:inline-block;padding:5px 12px;border-radius:var(--radius-sm);position:relative;font-weight:500;background:transparent;letter-spacing:.01em;transition:color var(--dur-medium) var(--easing),background var(--dur-medium) var(--easing),transform var(--dur-medium) var(--easing),box-shadow var(--dur-medium) var(--easing),letter-spacing var(--dur-medium) var(--easing)}.section-link:after{content:"";position:absolute;bottom:2px;left:12px;right:12px;height:1.5px;background:var(--accent);border-radius:1px;transform:scaleX(0);transform-origin:left center;transition:transform var(--dur-medium) var(--easing)}.section-link:hover{color:var(--accent-dark);background:var(--accent-alpha-06);transform:translate(4px);box-shadow:var(--shadow-section-link);letter-spacing:.06em}.section-link:hover:after{transform:scaleX(1)}.section-link:active{transform:translate(2px) scale(var(--scale-pressed));transition-duration:var(--dur-fast)}.char-card{display:flex;flex-direction:column;text-decoration:none;color:inherit}.char-card-img-wrap{position:relative;aspect-ratio:3 / 4;overflow:hidden;background:var(--bg)}.char-card-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--dur-slow) var(--easing)}.char-card-overlay{position:absolute;inset:0;background:var(--overlay-char);display:flex;align-items:flex-end;justify-content:center;opacity:0;transition:opacity var(--dur-medium) ease}.char-card-view{color:var(--text-on-dark);font-weight:600;border:1.5px solid var(--char-view-border);border-radius:4px;letter-spacing:.04em;white-space:nowrap}.char-card-body{display:flex;flex-direction:column}.char-card-reading{color:var(--ink-dim);margin:0;letter-spacing:.05em}.char-card-name{font-weight:700;margin:0;color:var(--char-color, var(--accent))}.char-card-accent{height:3px;background:var(--char-color, var(--accent));opacity:0;transition:opacity var(--dur-normal) ease}@media(hover:hover)and (pointer:fine){.char-card:hover{border-color:var(--char-color, var(--accent))}.char-card:hover .char-card-overlay{opacity:1}.char-card:hover .char-card-img-wrap img{transform:scale(1.05)}.char-card:hover .char-card-accent{opacity:1}}@media(hover:none){.char-card-accent{opacity:1}}.route-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:var(--z-progress-top);pointer-events:none;opacity:0;transition:opacity var(--dur-quick) ease}.route-progress.is-active{opacity:1}.route-progress-bar{display:block;width:100%;height:100%;--route-progress: 0;transform-origin:left center;transform:scaleX(var(--route-progress));background:linear-gradient(90deg,var(--accent),var(--cta));box-shadow:0 0 8px color-mix(in srgb,var(--accent) 45%,transparent);transition:transform var(--dur-quick) ease-out}@media(prefers-reduced-motion:reduce){.route-progress,.route-progress-bar{transition:none}}.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:var(--z-progress);pointer-events:none;overflow:visible}.scroll-progress:before{content:"";display:block;height:100%;background:var(--accent);transform:scaleX(var(--sp, 0));transform-origin:0 0;will-change:transform}.scroll-progress-tuna{position:absolute;left:0;top:3px;width:22px;height:22px;object-fit:contain;pointer-events:none;will-change:transform}@media(prefers-reduced-motion:reduce){.scroll-progress-tuna{display:none}}.announcement-bar{background:var(--accent-dark);color:var(--text-on-dark);font-size:var(--fs-ui);padding:8px 0;max-height:48px;transition:max-height var(--dur-medium) ease,padding var(--dur-medium) ease;overflow:hidden}.announcement-bar.is-hiding{max-height:0;padding-top:0;padding-bottom:0}.announcement-bar-inner{display:flex;align-items:center;justify-content:center;gap:12px;position:relative}.announcement-bar-text{color:var(--text-on-dark);text-decoration:none;font-weight:500;text-align:center;flex:1;transition:text-shadow var(--dur-medium) ease}a.announcement-bar-text:hover{color:var(--text-on-dark);text-decoration:none;text-shadow:0 0 8px var(--announce-glow),0 0 20px var(--announce-glow-dim)}.announcement-bar-close{position:absolute;right:0;background:none;border:none;color:var(--announce-glow);cursor:pointer;padding:12px;min-width:var(--touch-min);min-height:var(--touch-min);display:grid;place-items:center;line-height:0;transition:color var(--dur-quick)}.announcement-bar-close:hover{color:var(--text-on-dark)}@keyframes bar-hint{0%,to{transform:translateY(0)}30%{transform:translateY(-3px)}60%{transform:translateY(0)}}.announcement-bar{animation:bar-hint .6s ease 1.5s 1}@media(prefers-reduced-motion:reduce){.announcement-bar{animation:none}}.site-header{position:sticky;top:0;z-index:var(--z-header);background:var(--panel);border-bottom:1px solid var(--stroke);box-shadow:var(--shadow-header);transition:transform var(--dur-medium) ease}.site-header.is-hidden{transform:translateY(-100%)}.site-header.is-menu-open{z-index:calc(var(--z-float) + 1)}.site-header-inner{display:flex;align-items:center;padding:0;height:52px}.logo{font-family:var(--font-body);font-size:var(--fs-body-lg);letter-spacing:.02em;color:var(--color-logo);font-weight:700;transition:color var(--dur-normal) ease,transform var(--dur-medium) var(--easing);transform-origin:center center}.logo-accent{color:var(--color-logo-green)}.logo-pink{color:var(--color-logo-pink)}.logo-char{display:inline-block;transition:transform var(--dur-medium) var(--easing)}.logo:hover{color:var(--color-logo-hover)}.logo:hover .logo-char,.logo--is-top .logo-char{animation:logo-wave 2s ease calc(var(--i) * .08s) infinite}@keyframes logo-wave{0%{transform:translateY(0)}20%{transform:translateY(-4px)}40%{transform:translateY(0)}to{transform:translateY(0)}}.nav-links{display:flex;gap:0;font-size:var(--fs-ui);letter-spacing:.02em;height:100%;align-items:stretch;margin-left:auto}.nav-links a{display:flex;align-items:center;padding:0 14px;color:var(--ink-dim);border-radius:0;border:none;position:relative;font-weight:500;transition:color var(--dur-normal) ease,transform var(--dur-medium) var(--easing);transform-origin:center bottom}.nav-links a:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--accent);border-radius:1px;transition:width var(--dur-medium) var(--easing),left var(--dur-medium) var(--easing)}.nav-links a:hover{color:var(--accent);transform:scale(1.08)}.nav-links a:hover:after{width:100%;left:0}.nav-links a:active{transform:scale(.96)}.nav-char{display:inline-block}.nav-links a.is-active,.nav-links a[aria-current=page]{color:var(--cta);font-weight:600}.nav-links a.is-active:after,.nav-links a[aria-current=page]:after{width:100%;left:0;background:var(--cta)}.nav-links a.is-active .nav-char,.nav-links a[aria-current=page] .nav-char,.nav-links a:hover .nav-char{animation:logo-wave 2s ease calc(var(--i) * .07s) infinite}.header-right{display:flex;align-items:center;gap:4px;margin-left:4px}.mobile-menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:4px;align-items:center;justify-content:center}.hamburger-line{display:block;width:20px;height:2px;background:var(--ink);border-radius:1px;transition:transform var(--dur-medium) ease,opacity var(--dur-medium) ease}.mobile-menu-toggle[aria-expanded=true] .hamburger-line:nth-child(1){transform:translateY(6px) rotate(45deg)}.mobile-menu-toggle[aria-expanded=true] .hamburger-line:nth-child(2){opacity:0}.mobile-menu-toggle[aria-expanded=true] .hamburger-line:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.page-content{background:var(--bg);padding-bottom:40px}.site-footer{padding:40px 0 32px;background:var(--footer-bg);margin-top:0}.footer-inner{display:flex;flex-direction:column;gap:28px}.footer-top{display:flex;justify-content:space-between;gap:40px}.footer-brand{flex-shrink:0}.footer-logo{font-size:var(--fs-heading);font-weight:700;color:var(--footer-text-bright);display:inline-block;margin-bottom:6px}.footer-logo:hover{color:var(--footer-text-strong)}.footer-desc{font-size:var(--fs-ui);color:var(--footer-text);margin:0 0 12px}.footer-follow{display:flex;flex-wrap:wrap;gap:8px}.footer-follow-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;min-height:var(--touch-min);border:1px solid var(--footer-btn-border);border-radius:var(--radius-pill);color:var(--footer-btn-color);font-size:var(--fs-sm);font-weight:500;text-decoration:none;transition:border-color var(--dur-quick),color var(--dur-quick),background var(--dur-quick);white-space:nowrap}.footer-follow-btn:hover{border-color:var(--footer-btn-hover-border);color:var(--footer-text-bright);background:var(--footer-btn-hover-bg)}.footer-follow-btn--cien:hover{border-color:var(--accent);color:var(--accent)}.footer-nav-group{display:flex;gap:48px}.footer-nav h4{font-size:var(--fs-sm);font-weight:600;color:var(--footer-text-strong);margin:0 0 10px;letter-spacing:.03em}.footer-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.footer-nav a{font-size:var(--fs-ui);color:var(--footer-text);transition:color var(--dur-fast) ease;white-space:nowrap;padding:6px 0;min-height:var(--touch-min);display:inline-flex;align-items:center}.footer-nav a:hover{color:var(--footer-text-bright)}.footer-bottom{padding-top:20px;border-top:1px solid var(--footer-stroke);display:flex;justify-content:space-between;align-items:center;gap:16px}.footer-copy{font-size:var(--fs-sm);color:var(--footer-text-dim);margin:0;white-space:nowrap}.footer-notice{font-size:var(--fs-xs);color:var(--footer-text-muted);margin:0;text-align:right}@media(max-width:768px){.mobile-menu-toggle{display:flex}.site-header-inner{height:52px;padding:0 4px}.header-right{margin-left:auto;gap:8px}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;height:auto;min-height:calc(100dvh - 52px);overflow-y:auto;-webkit-overflow-scrolling:touch;flex-direction:column;background:var(--panel);border-top:1px solid var(--stroke);box-shadow:var(--shadow-dropdown);padding:8px 0 calc(20px + env(safe-area-inset-bottom));z-index:1}.site-header:has(.nav-links.is-open):after{content:"";position:fixed;inset:0;background:var(--overlay-dark);z-index:0}@keyframes menu-slide-down{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.nav-links.is-open{display:flex;animation:menu-slide-down var(--dur-quick) ease}.nav-links.is-closing{display:flex;animation:menu-slide-up var(--dur-fast) ease forwards}@keyframes menu-slide-up{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)}}.nav-links a{padding:0 20px;min-height:52px;font-size:var(--fs-heading);border-radius:0;border-left:3px solid transparent}.nav-links a:hover{transform:none;background:var(--nav-hover-bg)}.nav-links a:hover .nav-char{animation:none}.nav-links a:active{transform:none;background:var(--nav-active-bg);transition-duration:.05s}.nav-links a:after{display:none}.nav-links a.is-active{background:var(--accent-alpha-08);border-left-color:var(--accent);color:var(--cta);font-weight:600}.nav-links a.is-active .nav-char{animation:none}.footer-top{flex-direction:column;gap:24px}.footer-nav-group{gap:24px 32px;flex-wrap:wrap}.footer-bottom{flex-direction:column;align-items:flex-start;gap:8px}.footer-notice{text-align:left}}.lightbox-overlay{max-width:none;max-height:none;width:100vw;height:100vh;padding:0;border:none;margin:0;position:fixed;inset:0;z-index:var(--z-lightbox);background:var(--overlay-scrim);align-items:center;justify-content:center;cursor:zoom-out;opacity:0;transition:opacity var(--dur-medium) ease}.lightbox-overlay[open]{display:flex}.lightbox-overlay::backdrop{background:transparent}.lightbox-overlay.is-active{opacity:1}.lightbox-media{display:flex;align-items:center;justify-content:center;position:relative}.lightbox-img,.lightbox-video{max-width:min(90vw,1280px);max-height:90vh;border-radius:var(--radius-md);box-shadow:var(--shadow-lightbox);transform:scale(.95);transition:transform var(--dur-medium) var(--easing),opacity var(--dur-quick) ease;display:block;cursor:zoom-in}.lightbox-overlay.is-active .lightbox-img,.lightbox-overlay.is-active .lightbox-video{transform:scale(1)}.lightbox-img.is-zoomed{cursor:grab;will-change:transform}.lightbox-img.is-zoomed:active{cursor:grabbing}.lightbox-spinner{position:absolute;width:36px;height:36px;border:3px solid var(--lightbox-spinner-track);border-top-color:var(--lightbox-spinner-head);border-radius:50%;animation:lightbox-spin .7s linear infinite;z-index:0;pointer-events:none}.lightbox-spinner.is-hidden{display:none}@keyframes lightbox-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.lightbox-spinner{animation:none;border-top-color:var(--lightbox-spinner-static)}}.lightbox-video{display:none;background:var(--color-video-placeholder)}.lightbox-close{position:absolute;top:16px;right:16px;background:var(--lightbox-btn-bg);border:none;color:var(--text-on-dark);font-size:var(--fs-heading-2xl);width:var(--touch-min);height:var(--touch-min);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--dur-quick) ease}.lightbox-close:hover{background:var(--lightbox-btn-bg-hover)}.lightbox-close:focus-visible,.lightbox-prev:focus-visible,.lightbox-next:focus-visible{outline-color:var(--lightbox-focus-ring)}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:var(--lightbox-nav-bg);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1.5px solid var(--lightbox-btn-border);color:var(--text-on-dark);width:56px;height:56px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--dur-quick) ease,border-color var(--dur-quick) ease,transform var(--dur-quick) ease;z-index:1;flex-shrink:0;touch-action:manipulation}.lightbox-prev{left:max(20px,env(safe-area-inset-left,20px))}.lightbox-next{right:max(20px,env(safe-area-inset-right,20px))}.lightbox-prev:hover,.lightbox-next:hover{background:var(--lightbox-nav-bg-hover);border-color:var(--lightbox-btn-border-hover)}.lightbox-prev:active{transform:translateY(-50%) translate(-2px)}.lightbox-next:active{transform:translateY(-50%) translate(2px)}.lightbox-prev.is-hidden,.lightbox-next.is-hidden{display:none}.lightbox-counter{position:absolute;bottom:72px;left:50%;transform:translate(-50%);color:var(--lightbox-text);font-size:var(--fs-ui);letter-spacing:.06em;pointer-events:none;white-space:nowrap}.lightbox-thumbs{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:6px;padding-block:10px;padding-inline:calc(50% - 26px);background:var(--lightbox-gradient);overflow-x:auto;scrollbar-width:none}.lightbox-thumbs:empty{display:none}.lightbox-thumbs::-webkit-scrollbar{display:none}.lightbox-thumb{flex-shrink:0;width:52px;height:36px;border:2px solid var(--lightbox-thumb-border);border-radius:3px;overflow:hidden;cursor:pointer;background:var(--lightbox-thumb-bg);padding:0;color:var(--lightbox-text);font-size:var(--fs-heading);display:flex;align-items:center;justify-content:center;transition:border-color var(--dur-quick) ease,transform var(--dur-quick) ease;touch-action:manipulation}.lightbox-thumb:hover{border-color:var(--lightbox-thumb-border-hover);transform:scale(1.08)}.lightbox-thumb.is-active{border-color:var(--lightbox-thumb-border-active);transform:scale(1.12)}.lightbox-thumb img{width:100%;height:100%;object-fit:cover;opacity:.75}.lightbox-thumb.is-active img{opacity:1}.lightbox-thumb:focus-visible{outline-color:var(--lightbox-focus-ring);border-radius:3px}.lightbox-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--overlay-dark-deep);color:var(--lightbox-text-bright);padding:16px 28px;border-radius:8px;font-size:var(--fs-ui);text-align:center;pointer-events:auto;cursor:pointer;z-index:2;opacity:0;visibility:hidden;transition:opacity var(--dur-medium) ease,visibility var(--dur-medium) ease}.lightbox-hint.is-visible{opacity:1;visibility:visible}.lightbox-hint p{margin:0;line-height:1.6}.lightbox-hint-mobile{display:none}@media(hover:none)and (pointer:coarse){.lightbox-hint-desktop{display:none}.lightbox-hint-mobile{display:block}}@media(prefers-reduced-motion:reduce){.lightbox-hint{transition:none}}.lightbox-img,.lightbox-video{max-height:calc(min(90vw,1280px)*.75);max-height:min(80vh,calc(100vh - 120px))}@media(max-width:640px){.lightbox-prev,.lightbox-next{width:48px;height:48px}.lightbox-prev{left:max(12px,env(safe-area-inset-left,12px))}.lightbox-next{right:max(12px,env(safe-area-inset-right,12px))}}@media(max-width:480px){.lightbox-prev,.lightbox-next{width:44px;height:44px}.lightbox-prev{left:max(8px,env(safe-area-inset-left,8px))}.lightbox-next{right:max(8px,env(safe-area-inset-right,8px))}}.sort-bar{display:flex;align-items:center;gap:6px;margin-bottom:16px;flex-wrap:wrap}.sort-label{font-size:var(--fs-sm);color:var(--ink-dim)}.sort-btn{padding:4px 12px;min-height:var(--touch-min);border:1px solid var(--stroke);border-radius:16px;background:none;font-size:var(--fs-sm);color:var(--ink-dim);cursor:pointer;transition:all var(--dur-quick) ease;font-family:inherit}.sort-btn:hover{border-color:var(--accent);color:var(--accent)}.sort-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sort-btn.is-active{background:var(--accent-alpha-08);border-color:var(--accent);color:var(--accent);font-weight:600}.share-bar{display:flex;align-items:center;gap:8px;padding-top:12px;border-top:1px solid var(--stroke);flex-wrap:wrap}.share-bar-label{font-size:var(--fs-sm);color:var(--ink-dim);margin-right:2px}.share-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;min-height:var(--touch-min);border:1px solid var(--stroke);border-radius:var(--radius-md);background:var(--panel);font-size:var(--fs-sm);font-weight:500;font-family:inherit;color:var(--ink);cursor:pointer;text-decoration:none;transition:border-color var(--dur-quick),color var(--dur-quick),background var(--dur-quick)}.share-btn:hover{border-color:var(--accent);color:var(--accent)}.share-btn--copied{border-color:var(--color-release)!important;color:var(--color-release)!important}.share-btn--native{border-color:var(--accent);color:var(--accent);font-weight:600}.toast{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%) translateY(12px);background:var(--ink-bright);color:var(--bg);padding:9px 12px 9px 20px;border-radius:var(--radius-md);font-size:var(--fs-ui);z-index:var(--z-toast);font-weight:500;opacity:0;transition:opacity var(--dur-normal) ease,transform var(--dur-normal) ease;pointer-events:none;white-space:nowrap;max-width:calc(100vw - 32px);overflow:hidden;text-overflow:ellipsis;box-shadow:var(--shadow-toast);display:flex;align-items:center;gap:10px}.toast.is-visible{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.toast-close{background:none;border:none;color:inherit;font-size:var(--fs-heading);line-height:1;cursor:pointer;padding:10px 8px;min-height:var(--touch-min);min-width:var(--touch-min);display:inline-flex;align-items:center;justify-content:center;opacity:.6;transition:opacity var(--dur-fast) ease}.toast-close:hover{opacity:1}.char-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 0;border-top:1px solid var(--stroke);border-bottom:1px solid var(--stroke)}.char-pagination-link{font-size:var(--fs-ui);color:var(--accent);text-decoration:none;transition:color var(--dur-quick) ease,opacity var(--dur-quick) ease;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:10px 0;min-height:var(--touch-min);display:inline-flex;align-items:center}.char-pagination-link:hover{opacity:.75}.env-tags{display:flex;flex-wrap:wrap;gap:6px}.env-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:2px;font-size:var(--fs-xs);font-weight:600}.env-tag--yes{background:var(--accent-alpha-08);color:var(--accent)}.env-tag--no{background:var(--accent-alpha-05);color:var(--ink-dim);text-decoration:line-through}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}@media(max-width:640px){.filter-bar{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-sheet);flex-wrap:wrap;flex-direction:row;background:var(--panel);border-top:1px solid var(--stroke);border-radius:16px 16px 0 0;padding:16px 16px calc(20px + env(safe-area-inset-bottom,0px));box-shadow:var(--shadow-sheet);transform:translateY(100%);transition:transform .32s var(--easing);margin-bottom:0;max-height:calc(80vh - env(safe-area-inset-bottom,0px));max-height:calc(80dvh - env(safe-area-inset-bottom,0px));overflow-y:auto;overflow-x:visible;-webkit-mask-image:none;mask-image:none;scrollbar-width:auto}.filter-bar.is-open{transform:translateY(0)}.filter-bar .filter-chip{flex-shrink:0}.filter-sheet-header{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--stroke)}.filter-sheet-header-title{font-size:var(--fs-body-sm);font-weight:600;color:var(--ink)}.filter-sheet-close{display:flex;align-items:center;gap:4px;padding:8px 14px;min-height:var(--touch-min);background:transparent;border:1px solid var(--stroke);border-radius:12px;font-size:var(--fs-xs);font-weight:500;color:var(--ink-dim);cursor:pointer;font-family:inherit;touch-action:manipulation}.filter-sheet-trigger{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;min-height:var(--touch-min);background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius-pill);font-size:var(--fs-ui);font-weight:500;color:var(--ink-dim);cursor:pointer;font-family:inherit;margin-bottom:16px;touch-action:manipulation;transition:border-color var(--dur-quick) ease,color var(--dur-quick) ease}.filter-sheet-trigger.has-active{border-color:var(--accent);color:var(--accent)}.filter-sheet-trigger-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;background:var(--accent);color:var(--text-on-dark);border-radius:9px;font-size:var(--fs-2xs);font-weight:700;line-height:1}.sort-bar{overflow-x:auto;flex-wrap:nowrap;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}.sort-bar::-webkit-scrollbar{display:none}.sort-btn{flex-shrink:0;scroll-snap-align:start}.sort-bar-wrap{position:relative}.sort-bar-wrap:after{content:"";position:absolute;top:0;right:0;bottom:0;width:40px;background:linear-gradient(to right,transparent,var(--bg));pointer-events:none;transition:opacity var(--dur-fast) ease}.sort-bar-wrap.is-scrolled-end:after{opacity:0}.filter-sheet-overlay{display:none;position:fixed;inset:0;z-index:var(--z-sheet-scrim);background:var(--overlay-dark);animation:filter-overlay-in var(--dur-normal) ease forwards}.filter-sheet-overlay.is-visible{display:block}}@keyframes filter-overlay-in{0%{opacity:0}to{opacity:1}}@media(min-width:641px){.filter-sheet-trigger,.filter-sheet-overlay,.filter-sheet-close,.filter-sheet-header{display:none!important}}.filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.list-state-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-4px 0 14px;padding:10px 12px;border:1px solid var(--stroke);border-radius:var(--radius-md);background:color-mix(in srgb,var(--panel) 80%,var(--bg))}.list-state-summary-text{margin:0;min-width:0;font-size:var(--fs-sm);color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-state-summary-clear{flex-shrink:0;border:1px solid var(--stroke);border-radius:999px;background:var(--panel);color:var(--ink-dim);font:inherit;font-size:var(--fs-xs);font-weight:600;line-height:1;padding:8px 14px;min-height:var(--touch-min);display:inline-flex;align-items:center;cursor:pointer;transition:border-color var(--dur-quick) ease,color var(--dur-quick) ease,background var(--dur-quick) ease}.list-state-summary-clear:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-alpha-05)}@media(max-width:640px){.list-state-summary{padding:8px 10px;margin-top:-6px}.list-state-summary-text{font-size:var(--fs-xs)}}.filter-chip{padding:6px 14px;border:1px solid var(--stroke);border-radius:var(--radius-pill);background:var(--panel);color:var(--ink-dim);font-size:var(--fs-sm);font-weight:500;font-family:inherit;cursor:pointer;transition:all var(--dur-quick) ease;touch-action:manipulation}.filter-chip:hover{border-color:var(--accent);color:var(--accent)}.filter-chip.is-active{background:var(--accent);border-color:var(--accent);color:var(--text-on-dark)}.filter-chip:focus-visible{border-radius:var(--radius-pill)}.age-gate{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 52px);padding:40px 16px;position:relative;overflow:hidden}.tuna-tank{position:absolute;inset:0;pointer-events:none;z-index:0}.tuna-wrap{position:absolute}.tuna{display:block;opacity:.45;border-radius:50%}.tuna-wrap--r{animation:tuna-swim-r var(--dur) linear var(--delay) infinite}.tuna-wrap--l{animation:tuna-swim-l var(--dur) linear var(--delay) infinite}.tuna-wrap--r .tuna{transform:scaleX(-1)}@keyframes tuna-swim-r{0%{transform:translate(-120px)}to{transform:translate(calc(100vw + 120px))}}@keyframes tuna-swim-l{0%{transform:translate(calc(100vw + 120px))}to{transform:translate(-120px)}}@keyframes tuna-panic-r{0%{transform:translate(var(--tx))}to{transform:translate(calc(100vw + 120px))}}@keyframes tuna-panic-l{0%{transform:translate(var(--tx))}to{transform:translate(-120px)}}.age-gate-card{background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius-lg);box-shadow:var(--shadow-age-gate);padding:40px 36px;max-width:440px;width:100%;text-align:center;position:relative;z-index:1}.age-gate-card h1{font-size:var(--fs-heading-xl);margin:0 0 12px;color:var(--ink-bright);font-weight:700}.age-gate-card p{font-size:var(--fs-body);color:var(--ink-dim);margin:0 0 24px;line-height:1.6}.age-gate-actions{display:flex;gap:12px;justify-content:center;margin-bottom:20px}.age-gate-actions .button{min-width:120px;padding:12px 28px;font-size:var(--fs-body-lg)}.age-gate-note{font-size:var(--fs-sm);color:var(--ink-dim);margin:0;opacity:.7}.age-gate-denied{margin-top:16px;padding:12px 16px;background:var(--color-r18-bg-subtle);border:1px solid var(--color-r18-border-subtle);border-radius:var(--radius-md);color:var(--color-r18);font-size:var(--fs-body-sm)}.age-overlay{position:fixed;inset:0;z-index:var(--z-age-gate);background:var(--bg);display:flex;align-items:center;justify-content:center;opacity:1;visibility:visible;transition:opacity var(--dur-medium) ease,visibility var(--dur-medium) ease}html.age-verified .age-overlay{opacity:0;visibility:hidden;pointer-events:none}@media(max-width:768px){.age-gate-card{padding:32px 24px}.age-gate-actions .button{min-width:100px;padding:10px 20px;font-size:var(--fs-body-sm)}.age-gate .tuna-tank,.age-overlay .tuna-tank{z-index:0}}.work-video{border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--stroke);background:var(--color-video-placeholder)}.work-video video{width:100%;height:auto;display:block}.work-cover{position:relative;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--stroke);cursor:zoom-in}.work-cover img{width:100%;height:auto;display:block;transition:transform var(--dur-img-zoom) var(--easing)}.work-cover:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-md)}.work-cover-zoom-hint{position:absolute;bottom:10px;right:10px;font-size:var(--fs-heading);opacity:0;transition:opacity var(--dur-normal) ease;filter:var(--drop-shadow-hint);pointer-events:none}@media(hover:hover)and (pointer:fine){.work-cover:hover img{transform:scale(1.03)}.work-cover:hover .work-cover-zoom-hint,.work-cover:focus-visible .work-cover-zoom-hint{opacity:1}}@media(hover:none)and (pointer:coarse){.work-cover-zoom-hint{opacity:.7}}.work-meta{display:grid;gap:10px}.meta-row{display:flex;justify-content:space-between;gap:16px;font-size:var(--fs-body-sm);color:var(--ink-dim)}.meta-row strong{color:var(--ink)}.notice{padding:12px 16px;border-radius:var(--radius-md);border-left:3px solid var(--accent);background:var(--notice-bg);font-size:var(--fs-body-sm);color:var(--ink)}.work-filter-item{display:contents}.works-empty-state{display:none;text-align:center;padding:48px 20px;color:var(--ink-dim);grid-column:1 / -1}.works-empty-state.is-visible{display:block}.works-empty-state p{margin:0 0 16px;font-size:var(--fs-body)}.gallery-header-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.gallery-count-badge{font-size:var(--fs-xs);color:var(--ink-dim);background:var(--bg);border:1px solid var(--stroke);border-radius:var(--radius-pill);padding:2px 10px;white-space:nowrap}.works-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.work-row{display:grid;grid-template-columns:160px 1fr;gap:0}.work-row-cover{position:relative;overflow:hidden;aspect-ratio:1 / 1}.work-row-overlay{position:absolute;inset:0;background:var(--overlay-card);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--dur-medium) ease}.work-row-cover img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-quick) ease}@media(hover:hover)and (pointer:fine){.work-row:hover{border-color:var(--accent-alpha-30);transform:translateY(-3px);box-shadow:var(--shadow-card-md)}.work-row:hover .work-row-overlay{opacity:1}.work-row:hover .work-row-cover img{transform:scale(1.03)}}.work-row-body{padding:14px 16px;display:flex;flex-direction:column;gap:4px;justify-content:center;position:relative}@media(hover:none){.work-row-body:after{content:"›";position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:var(--fs-heading-xl);color:var(--ink-dim);opacity:.45;pointer-events:none}}.work-row-body h3{font-size:var(--fs-body);margin:0;color:var(--ink-bright);font-weight:600}.work-row-desc{font-size:var(--fs-sm);color:var(--ink-dim);margin:0;line-height:1.4}.work-row-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:6px 10px;flex-wrap:wrap;margin-top:4px}.work-row-date{font-size:var(--fs-xs);color:var(--ink-dim);white-space:nowrap;flex:0 0 auto;line-height:1.35}.work-row-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;flex:1 1 180px;min-width:0}.work-row-tags .badge{padding:2px 7px;font-size:var(--fs-2xs)}.work-top-nav{display:flex;justify-content:space-between;gap:8px;padding:8px 0 12px;border-bottom:1px solid var(--stroke);margin-bottom:4px}.work-top-nav-link{font-size:var(--fs-sm);color:var(--ink-dim);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46%;transition:color var(--dur-quick) ease;padding:8px 0;min-height:var(--touch-min);display:inline-flex;align-items:center}.work-top-nav-link:hover{color:var(--accent)}.work-top-nav-link--next{margin-left:auto;text-align:right}@media(max-width:768px){.works-grid{grid-template-columns:1fr}.work-row{grid-template-columns:100px 1fr}.work-row-meta{gap:6px 8px}.work-row-tags{flex-basis:100%;justify-content:flex-start}}.news-grid{display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.news-card{display:flex;flex-direction:column;flex:1}.news-card-cover{aspect-ratio:16 / 9;overflow:hidden;background:var(--bg-2);flex-shrink:0}.news-card-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--dur-slow) var(--easing)}@media(hover:hover)and (pointer:fine){.news-card:hover{border-color:var(--accent-alpha-30);transform:translateY(-3px);box-shadow:var(--shadow-hover)}.news-card:hover .news-card-cover img{transform:scale(1.05)}}.news-card-cover-empty{width:100%;height:100%;background:linear-gradient(135deg,var(--bg-2) 0%,var(--panel-soft) 100%);display:flex;align-items:center;justify-content:center;color:var(--stroke)}.news-card-cover-empty:before{content:"";display:block;width:40px;height:40px;background:currentColor;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='m21 15-5-5L5 21'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='m21 15-5-5L5 21'/%3E%3C/svg%3E");mask-size:contain;-webkit-mask-size:contain;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;opacity:.4}.news-card-body{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1;gap:6px}.news-card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.news-card-date{font-size:var(--fs-sm);color:var(--ink-dim)}.news-card-title{font-size:var(--fs-body-lg);margin:0;color:var(--ink-bright);line-height:1.5}.news-card-link{color:inherit;text-decoration:none}.news-card-link:after{content:"";position:absolute;inset:0}.news-card .related-works{position:relative;z-index:1;display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:4px}.news-empty-state{display:none;text-align:center;padding:48px 20px;color:var(--ink-dim)}.news-empty-state.is-visible{display:block}.news-empty-state p{margin:0 0 16px;font-size:var(--fs-body)}.news-card-more{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%;min-height:180px;padding:36px 24px;background:var(--accent-alpha-05);border:2px dashed var(--accent-alpha-25);border-radius:var(--radius-lg);box-shadow:var(--shadow);color:var(--accent);text-decoration:none;text-align:center;transition:border-color var(--dur-normal) ease,border-style var(--dur-normal) ease,background var(--dur-normal) ease,box-shadow var(--dur-medium) ease,transform var(--dur-medium) var(--easing)}.news-card-more:hover{border-color:var(--accent);border-style:solid;background:var(--accent-alpha-08);box-shadow:var(--shadow-accent-hover);transform:translateY(-3px)}.news-card-more-icon{opacity:.7;transition:opacity var(--dur-normal) ease,transform var(--dur-medium) var(--easing)}.news-card-more:hover .news-card-more-icon{opacity:1;transform:scale(1.1)}.news-card-more-label{font-size:var(--fs-body-lg);font-weight:700}.news-card-more-cta{display:inline-flex;align-items:center;gap:4px;margin-top:4px;font-size:var(--fs-ui);font-weight:600}@media(max-width:960px){.news-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.news-grid{grid-template-columns:1fr}.news-card{flex-direction:row}.news-card-cover{width:120px;aspect-ratio:1 / 1;flex-shrink:0}.news-card-body{padding:12px 14px}}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px}.gallery-item{border-radius:var(--radius-md);overflow:hidden;min-width:0;cursor:pointer;transition:transform var(--dur-medium) var(--easing),box-shadow var(--dur-medium) ease}@media(hover:hover)and (pointer:fine){.gallery-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-sm)}}.gallery-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.gallery-item img{width:100%;height:auto;display:block}.gallery-album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.gallery-card{display:flex;flex-direction:column;color:inherit;text-decoration:none}.gallery-card-media{display:grid;grid-template-columns:1fr;width:100%;aspect-ratio:2 / 1;overflow:hidden;background:var(--panel);gap:2px}.gallery-card-media--split{grid-template-columns:3fr 1fr}.gallery-card-media-cover{position:relative;overflow:hidden}.gallery-card-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:transform var(--dur-slow) var(--easing),opacity var(--dur-slow) ease}.gallery-card-img--preview{opacity:0}.gallery-card-overlay{position:absolute;inset:0;background:var(--overlay-card);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--dur-medium) ease;z-index:1}.gallery-card-media-thumbs{display:flex;flex-direction:column;gap:2px;background:var(--panel);overflow:hidden}.gallery-card-media-thumb{flex:1 1 0;min-height:0;position:relative;overflow:hidden}.gallery-card-media-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block;transition:transform var(--dur-medium) var(--easing)}@media(hover:hover)and (pointer:fine){.gallery-card:hover{border-color:var(--accent-alpha-25);transform:translateY(-4px);box-shadow:var(--shadow-hover)}.gallery-card:hover .gallery-card-img:not(.gallery-card-img--preview){transform:scale(1.06)}.gallery-card:hover .gallery-card-media--has-preview .gallery-card-img:not(.gallery-card-img--preview){opacity:0}.gallery-card:hover .gallery-card-img--preview{opacity:1;transform:scale(1.06)}.gallery-card:hover .gallery-card-overlay{opacity:1}.gallery-card:hover .gallery-card-media-thumb img{transform:scale(1.05)}}.card-view-label{color:var(--text-on-dark);font-size:var(--fs-body-sm);font-weight:600;letter-spacing:.04em;padding:8px 16px;border:1.5px solid var(--char-view-border);border-radius:var(--radius-md)}.gallery-card-footer{padding:12px 14px;display:flex;flex-direction:column;gap:6px}.gallery-card-title{font-size:var(--fs-body);font-weight:600;margin:0;color:var(--ink-bright);line-height:1.4}.gallery-card-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px;overflow:hidden}.gallery-card-cta{font-size:var(--fs-xs);color:var(--accent);font-weight:600;letter-spacing:.03em;white-space:nowrap}@media(hover:hover)and (pointer:fine){.gallery-card-cta{display:none}}.gallery-card-badges{display:flex;align-items:center;gap:4px;flex-shrink:0}.gallery-card-count{font-size:var(--fs-2xs);color:var(--accent);background:var(--accent-alpha-08);padding:2px 6px;border-radius:2px;font-weight:500}.gallery-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.gallery-detail-item{aspect-ratio:4 / 3;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:transform var(--dur-medium) var(--easing),box-shadow var(--dur-medium) ease}.gallery-detail-item:hover,.gallery-detail-item:focus-visible{transform:translateY(-2px);box-shadow:var(--shadow-card-sm);outline:2px solid var(--accent);outline-offset:2px}.gallery-detail-item img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block;transition:transform var(--dur-medium) var(--easing)}.gallery-detail-item:hover img{transform:scale(1.04)}.gallery-detail-item--video{position:relative;background:var(--color-video-placeholder)}.gallery-detail-video{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--dur-medium) var(--easing)}.gallery-detail-item--video:hover .gallery-detail-video{transform:scale(1.04)}.gallery-detail-play-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--overlay-video);color:var(--text-on-dark);pointer-events:none;transition:background var(--dur-medium) ease,opacity var(--dur-medium) ease}.gallery-detail-play-icon svg{filter:var(--drop-shadow-icon);transition:transform var(--dur-normal) var(--easing)}.gallery-detail-item--video:hover .gallery-detail-play-icon{background:var(--overlay-video-hover);opacity:.7}.gallery-detail-item--video:hover .gallery-detail-play-icon svg{transform:scale(1.15)}.related-work-card{display:flex;flex-direction:column;border:1px solid var(--stroke);border-radius:var(--radius-lg);overflow:hidden;background:var(--panel);transition:border-color var(--dur-normal) ease,box-shadow var(--dur-normal) ease}.related-work-card:hover{border-color:var(--accent-alpha-25);box-shadow:var(--shadow-hover)}.related-work-card-link-wrap{display:flex;flex-direction:column;text-decoration:none;color:inherit}.related-work-card img{width:100%;aspect-ratio:3 / 2;object-fit:cover;display:block}.related-work-card-body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:4px}.related-work-card-title{margin:0;font-size:var(--fs-body-sm);font-weight:600;color:var(--ink-bright);line-height:1.4}.related-work-card-desc{margin:0;font-size:var(--fs-xs);color:var(--ink-dim);line-height:1.5}.related-work-card-detail{font-size:var(--fs-sm);margin-top:4px}.related-work-card-cta{padding:10px 12px 12px;display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--stroke)}@media(max-width:768px){.gallery-grid{grid-template-columns:1fr}.gallery-album-grid{grid-template-columns:repeat(2,1fr);gap:10px}.gallery-detail-grid{grid-template-columns:repeat(2,1fr)}.gallery-detail-item{aspect-ratio:1 / 1}}.detail-layout{display:grid;grid-template-columns:1fr 324px;gap:20px;align-items:start}.detail-main{display:flex;flex-direction:column;gap:20px;min-width:0}.detail-block{background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow)}.detail-block h2{font-size:var(--fs-heading);margin:0 0 12px;font-weight:600;color:var(--ink-bright);padding-bottom:8px;border-bottom:2px solid var(--accent)}.detail-block p{font-size:var(--fs-body);color:var(--ink-dim);margin:0 0 8px;line-height:1.6}.detail-block ul{margin:8px 0 0;padding-left:20px;color:var(--ink-dim);font-size:var(--fs-body)}.detail-block li{margin-bottom:4px}.detail-block a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.detail-block a:hover{color:var(--accent-hover, var(--accent));opacity:.8}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:32px;align-items:start}.article-layout-aside{position:sticky;top:var(--sticky-offset)}.toc{background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius-md);padding:16px 20px;scroll-margin-top:var(--scroll-offset)}.toc-heading{font-size:var(--fs-sm);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);margin:0 0 10px}.toc-list{margin:0;padding:0 0 0 16px;list-style:decimal;display:flex;flex-direction:column;gap:4px}.toc-item{font-size:var(--fs-ui)}.toc-item--sub{padding-left:12px;list-style-type:circle;font-size:var(--fs-ui)}.toc-item a{color:var(--ink);text-decoration:none}.toc-item a:hover{color:var(--accent)}.toc-jump-link{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);font-weight:500;color:var(--accent);text-decoration:none;margin-bottom:16px;padding:6px 14px;border:1px solid var(--accent);border-radius:var(--radius-pill);transition:background var(--dur-quick) ease,color var(--dur-quick) ease}.toc-jump-link:hover{background:var(--accent);color:var(--text-on-dark);text-decoration:none}.toc-jump-link[hidden]{display:none}@media(min-width:769px){.toc-jump-link{display:none}}.article{background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow);min-width:0}.article-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.article-date{font-size:var(--fs-ui);color:var(--ink-dim)}.article-read-time{font-size:var(--fs-sm);color:var(--ink-dim);margin-left:auto}.article-read-time:before{content:"⏱ "}.article-title{font-size:clamp(1.2rem,3vw,1.6rem);margin:0 0 20px;color:var(--ink-bright);font-weight:700;padding-bottom:16px;border-bottom:2px solid var(--accent)}.article-body{font-size:var(--fs-body-lg);color:var(--ink);line-height:1.8}.article-body p{margin:0 0 16px}.article-body h2{font-size:var(--fs-heading-lg);font-weight:700;color:var(--ink-bright);margin:28px 0 10px;padding-bottom:6px;border-bottom:2px solid var(--accent);scroll-margin-top:var(--scroll-offset)}.article-body h3{font-size:var(--fs-heading);font-weight:600;color:var(--ink-bright);margin:20px 0 8px;scroll-margin-top:var(--scroll-offset)}.article-body strong{font-weight:700;color:var(--ink-bright)}.article-body a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;padding:2px 0}.article-body a:hover{opacity:.8}.article-body ul,.article-body ol{margin:0 0 16px;padding-left:1.5em;color:var(--ink);font-size:var(--fs-body-lg);line-height:1.8}.article-body li{margin-bottom:4px}.article-body img{max-width:100%;height:auto;border-radius:var(--radius-md);border:1px solid var(--stroke);display:block;margin:16px auto}.article-figure{margin:24px auto;text-align:center}.article-figure img{margin:0 auto}.article-figure figcaption{margin-top:8px;font-size:var(--fs-ui);color:var(--ink-dim)}.article-related{margin-top:24px;padding-top:16px;border-top:1px solid var(--stroke)}.article-related h3{font-size:var(--fs-body);margin:0 0 8px;color:var(--ink-bright);font-weight:600}.detail-title-wrapper{margin-bottom:16px}.detail-title{font-size:clamp(1.6rem,4vw,2.4rem);margin-bottom:6px}.detail-catch{font-size:var(--fs-body);margin:0}.sidebar-divider{padding-top:8px;border-top:1px solid var(--stroke)}.sidebar-coming-soon{display:flex;flex-direction:column;gap:8px}.sidebar-small{font-size:var(--fs-sm);color:var(--ink-dim);margin:0}.sidebar-xsmall{font-size:var(--fs-xs);color:var(--ink-dim);margin:4px 0 0;opacity:.7}.section--compact{padding-top:8px}.back-link{margin-top:16px}@media(max-width:768px){.article-layout{grid-template-columns:1fr}.article-layout-aside{position:static;order:-1}.article-body{font-size:var(--fs-heading)}.detail-layout{grid-template-columns:1fr}.store-sidebar{position:static}}.fab-toc{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));left:80px;z-index:var(--z-float);display:inline-flex;align-items:center;gap:6px;padding:0 16px;height:var(--touch-min);background:var(--panel);border:1px solid var(--stroke);border-radius:99px;color:var(--accent);font-size:var(--fs-sm);font-weight:600;font-family:inherit;cursor:pointer;box-shadow:var(--shadow-float);opacity:0;pointer-events:none;transition:opacity var(--dur-medium) ease,transform var(--dur-normal) ease,border-color var(--dur-quick);-webkit-tap-highlight-color:transparent;touch-action:manipulation;white-space:nowrap}.fab-toc.is-visible{opacity:1;pointer-events:auto}.fab-toc:hover{border-color:var(--accent);transform:translateY(-2px)}.fab-toc:active{transform:translateY(0) scale(var(--scale-pressed));transition-duration:var(--dur-fast)}.fab-toc[hidden]{display:none}@media(min-width:769px){.fab-toc{display:none}}@media(max-width:640px){.fab-toc{bottom:calc(80px + env(safe-area-inset-bottom,0px))}}@media(prefers-reduced-motion:reduce){.fab-toc{transition:none}}.timeline{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-direction:column}.timeline-item{display:flex;gap:16px;position:relative;padding-bottom:20px}.timeline-item:last-child{padding-bottom:0}.timeline-item:not(:last-child):before{content:"";position:absolute;left:9px;top:22px;bottom:0;width:2px;background:var(--stroke)}.timeline-dot{width:20px;height:20px;border-radius:50%;border:2px solid var(--stroke);background:var(--panel);flex-shrink:0;margin-top:2px;position:relative;z-index:1}.timeline-item.is-done .timeline-dot{background:var(--accent);border-color:var(--accent)}.timeline-item.is-active .timeline-dot{background:var(--cta);border-color:var(--cta);box-shadow:var(--shadow-ring-active)}.timeline-body{flex:1}.timeline-phase{font-weight:600;font-size:var(--fs-body);color:var(--ink-bright);margin:0}.timeline-status{font-size:var(--fs-sm);margin:2px 0 0;color:var(--ink-dim)}.timeline-item.is-done .timeline-status{color:var(--accent)}.timeline-item.is-active .timeline-status{color:var(--cta);font-weight:600}.related-work-link{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--accent-alpha-06);border:1px solid var(--accent-alpha-25);border-radius:var(--radius-md);text-decoration:none;color:var(--accent);font-size:var(--fs-ui)}.related-work-link:hover{background:var(--accent-alpha-08);border-color:var(--accent)}.related-work-label{font-size:var(--fs-2xs);font-weight:600;color:var(--panel);background:var(--accent);padding:1px 6px;border-radius:var(--radius-sm);white-space:nowrap}.related-work-title{font-weight:500;color:var(--ink-bright)}.related-work-arrow{color:var(--accent);display:inline-block}@media(hover:none)and (pointer:coarse){.button:active,.sort-btn:active,.filter-chip:active,.filter-sheet-trigger:active,.filter-sheet-close:active,.mobile-menu-toggle:active,.dark-mode-toggle:active,.announcement-bar-close:active,.back-to-top:active,.store-button:active{filter:brightness(.96)}.work-row:active,.gallery-card:active,.news-card:active,.news-card-more:active,.char-card:active{transform:scale(.985);filter:brightness(.97)}}@keyframes return-highlight{0%{box-shadow:0 0 0 0 var(--accent-alpha-30)}40%{box-shadow:0 0 0 4px var(--accent-alpha-30)}to{box-shadow:0 0 0 0 var(--accent-alpha-30)}}.is-returning{animation:return-highlight 1.2s ease-out;border-color:var(--accent)!important}@media(prefers-reduced-motion:reduce){.is-returning{animation:none;border-color:var(--accent)!important}}.badge--new{background:var(--color-new);color:var(--text-on-dark);font-weight:700;letter-spacing:.04em}.badge--trial{background:var(--color-release);color:var(--text-on-dark);font-weight:600}.work-count{font-size:var(--fs-ui)}.related-works{display:flex;flex-direction:column;gap:6px}.external-link-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius-lg);box-shadow:var(--shadow);transition:border-color var(--dur-normal) ease,transform var(--dur-medium) var(--easing),box-shadow var(--dur-medium) ease;color:inherit}.external-link-card:hover{border-color:var(--accent-alpha-25);transform:translateY(-3px);box-shadow:var(--shadow-hover);color:inherit}.external-link-icon{flex-shrink:0;width:var(--touch-min);height:var(--touch-min);display:flex;align-items:center;justify-content:center;background:var(--accent-alpha-08);border-radius:var(--radius-md);color:var(--accent)}.external-link-body{display:flex;flex-direction:column;gap:2px;min-width:0}.external-link-name{font-size:var(--fs-body-lg);font-weight:600;color:var(--ink-bright)}.external-link-desc{font-size:var(--fs-ui);color:var(--ink-dim)}.external-link-arrow{margin-left:auto;flex-shrink:0;font-size:var(--fs-heading-lg);color:var(--ink-dim);transition:transform var(--dur-medium) var(--easing),color var(--dur-normal) ease}.external-link-card:hover .external-link-arrow{transform:translate(3px,-3px);color:var(--accent)}.not-found{text-align:center;padding:60px 0}.not-found-code{font-size:clamp(4rem,10vw,6rem);font-weight:700;color:var(--accent);margin:0 0 8px;line-height:1;opacity:.3}.not-found-icon{color:var(--accent);opacity:.25;margin-bottom:12px}.not-found-message{font-size:var(--fs-heading);color:var(--ink-dim);margin:0 0 6px}.not-found-sub{font-size:var(--fs-ui);color:var(--ink-dim);opacity:.7;margin:0 0 28px}.not-found-path{font-family:SF Mono,Fira Code,Fira Mono,Menlo,Consolas,monospace;font-size:var(--fs-sm);color:var(--ink-dim);background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius-sm);padding:8px 16px;margin:0 auto 20px;display:inline-block;word-break:break-all;max-width:100%}.not-found-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 16px;margin-top:32px;padding-top:24px;border-top:1px solid var(--stroke)}.not-found-links-label{font-size:var(--fs-sm);color:var(--ink-dim);font-weight:600}.not-found-links a{font-size:var(--fs-ui);color:var(--accent);text-decoration:none;transition:opacity var(--dur-quick) ease}.not-found-links a:hover{opacity:.7}.noscript-block{padding:60px 20px;text-align:center;font-family:sans-serif;color:#333}.noscript-block h1{font-size:var(--fs-heading-xl)}.selling-points{list-style:none;padding:0;margin:16px 0;display:flex;flex-direction:column;gap:8px}.selling-points li{display:flex;align-items:flex-start;gap:8px;font-size:var(--fs-body);line-height:1.5;color:var(--ink)}.selling-points li:before{content:"✓";color:var(--accent);font-weight:700;flex-shrink:0;margin-top:1px}.hero-banner{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--accent-alpha-08) 0%,var(--panel) 55%);border-top:3px solid var(--accent);border-bottom:3px solid var(--accent);padding:48px 0}.hero-banner .tuna{opacity:.18}.tuna--gold{filter:sepia(1) saturate(5) hue-rotate(10deg) brightness(1.5) drop-shadow(0 0 6px var(--color-tuna-gold-glow));opacity:.55!important}.hero-banner-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr var(--hero-sidebar);gap:48px;align-items:center}.hero-banner-text{display:flex;flex-direction:column;gap:12px}.hero-banner-eyebrow{display:flex;align-items:center;gap:8px}.hero-banner-tag{display:inline-block;font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;color:var(--text-on-dark);background:var(--sale);padding:3px 10px;border-radius:2px}.hero-banner-title{font-family:var(--font-display);font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700;color:var(--ink-bright);margin:0;line-height:1.25;letter-spacing:.02em}.hero-banner-catch{font-size:var(--fs-body-sm);color:var(--ink-dim);margin:0;line-height:1.7}.hero-banner .selling-points{margin:0;gap:6px}.hero-banner .selling-points li{color:var(--ink);font-size:var(--fs-ui)}.hero-banner .selling-points li:before{color:var(--color-logo-green)}.hero-banner-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;align-items:center;margin-top:6px}.hero-banner-sub{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 14px}.hero-trial-group{display:flex;align-items:center;gap:4px;font-size:var(--fs-sm);color:var(--ink-dim)}.hero-trial-label{white-space:nowrap}.hero-trial-link{color:var(--accent);text-decoration:underline;text-underline-offset:2px;transition:color var(--dur-quick) ease}.hero-trial-link:hover{color:var(--accent-dark)}.hero-sub-sep{color:var(--ink-dim)}.hero-banner-detail-link{font-size:var(--fs-ui);color:var(--accent);text-decoration:underline;text-underline-offset:3px;transition:color var(--dur-quick) ease}.hero-banner-detail-link:hover{color:var(--accent-dark)}.hero-detail-arrow{display:inline-block;transition:transform var(--dur-quick) var(--easing)}.hero-banner-detail-link:hover .hero-detail-arrow{animation:arrow-bounce-right .5s ease infinite}.hero-banner-cover{display:block;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-hero-cover);transition:transform var(--dur-medium) var(--easing),box-shadow var(--dur-medium) ease}.hero-banner-cover img{width:100%;height:auto;display:block}@media(hover:hover)and (pointer:fine){.hero-banner-cover:hover{transform:translateY(-4px);box-shadow:var(--shadow-hero-cover-hover)}}@media(max-width:860px){.hero-banner-inner{grid-template-columns:1fr}.hero-banner-cover{max-width:var(--hero-cover-max);margin:0 auto}}@media(max-width:480px){.hero-banner{padding:20px 0}.hero-banner-inner{grid-template-columns:var(--hero-sidebar-sm) 1fr;gap:12px;align-items:center}.hero-banner-cover{order:-1;max-width:none;margin:0;box-shadow:var(--shadow-hero-cover-sm)}.hero-banner-text{gap:8px}.hero-banner-eyebrow{justify-content:center}.hero-banner-title{text-align:center}.hero-banner-catch{display:none}.hero-banner .selling-points{font-size:var(--fs-xs);gap:2px}.hero-banner-title{font-size:clamp(.9rem,calc(5.28px + 2.4vw),1.05rem)}.hero-banner-cta,.hero-banner-sub{flex-direction:column;gap:8px;margin-top:2px}}@media(max-width:380px){.hero-banner-inner{grid-template-columns:1fr;gap:10px}.hero-banner-cover{max-width:110px;margin:0 auto}}@keyframes hero-fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-slide-left{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.hero-banner-eyebrow{animation:hero-fade-up .45s var(--easing) both;animation-delay:.05s}.hero-banner-title{animation:hero-fade-up .45s var(--easing) both;animation-delay:.15s}.hero-banner-catch{animation:hero-fade-up .45s var(--easing) both;animation-delay:.25s}.hero-banner .selling-points{animation:hero-fade-up .45s var(--easing) both;animation-delay:.35s}.hero-banner-cta{animation:hero-fade-up .45s var(--easing) both;animation-delay:.45s}.hero-banner-sub{animation:hero-fade-up .45s var(--easing) both;animation-delay:.55s}.hero-banner-cover{animation:hero-slide-left .5s var(--easing) both;animation-delay:.1s}html.is-client-nav .hero-banner-eyebrow,html.is-client-nav .hero-banner-title,html.is-client-nav .hero-banner-catch,html.is-client-nav .hero-banner .selling-points,html.is-client-nav .hero-banner-cta,html.is-client-nav .hero-banner-sub,html.is-client-nav .hero-banner-cover{animation:none!important}.hero-banner-cover img{transition:transform var(--dur-slow) var(--easing)}@media(hover:hover)and (pointer:fine){.hero-banner-cover:hover img{transform:scale(1.04)}}@keyframes hero-shimmer{0%{background-position:-200% center}to{background-position:200% center}}.hero-banner-tag{background:linear-gradient(90deg,var(--sale) 25%,var(--sale-light) 50%,var(--sale) 75%);background-size:200% auto;animation:hero-shimmer 3s linear infinite}@keyframes cta-pulse{0%,to{box-shadow:0 0 0 0 var(--pulse-color)}55%{box-shadow:0 0 0 8px transparent}}.hero-banner .store-button{--pulse-color: var(--pulse-cta);animation:cta-pulse 2.4s ease-in-out infinite;animation-delay:.8s}.hero-banner .store-button[data-store=fanza]{--pulse-color: var(--pulse-fanza)}.hero-banner .store-button[data-store=dlsite]{--pulse-color: var(--pulse-dlsite)}.hero-banner .store-button:hover{animation:none}@keyframes arrow-bounce-right{0%,to{transform:translate(0)}50%{transform:translate(5px)}}.hero-banner .store-button:hover .arrow{display:inline-block;animation:arrow-bounce-right .5s ease infinite}@media(prefers-reduced-motion:reduce){.hero-banner-eyebrow,.hero-banner-title,.hero-banner-catch,.hero-banner .selling-points,.hero-banner-cta,.hero-banner-sub,.hero-banner-cover,.hero-banner-tag,.hero-banner .store-button,.hero-banner .store-button:hover .arrow,.hero-detail-arrow{animation:none}}.dual-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--accent-alpha-08) 0%,var(--bg) 55%);border-top:3px solid var(--accent);border-bottom:3px solid var(--accent);padding:48px 0}.dual-hero .tuna{opacity:.18}.dual-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto 1fr;gap:40px;align-items:start}.dual-hero-panel{display:flex;flex-direction:column;gap:14px}.dual-hero-cover-link{display:block;border-radius:var(--radius-lg);overflow:hidden}.dual-hero-cover{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block;transition:transform var(--dur-slow) var(--easing)}@media(hover:hover)and (pointer:fine){.dual-hero-cover-link:hover .dual-hero-cover{transform:scale(1.04)}}@media(hover:none){.dual-hero-cover-link:active .dual-hero-cover{transform:scale(var(--scale-pressed));transition:transform .1s ease}}.dual-hero-cover--upcoming{filter:saturate(.9)}.dual-hero-title{font-family:var(--font-display);font-size:clamp(1.2rem,3vw,1.8rem);font-weight:700;color:var(--ink-bright);margin:0;line-height:1.3}.dual-hero-divider{width:1px;align-self:stretch;background:var(--stroke);opacity:.5}.dual-hero-tag--upcoming{background:var(--color-upcoming)}.dual-hero-status-badge{display:inline-block;width:fit-content;background:var(--color-upcoming-bg);color:var(--color-upcoming);border:1px solid var(--color-upcoming-border);font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;padding:3px 10px;border-radius:var(--radius-md)}.dual-hero-cta-group{display:flex;flex-direction:column;gap:10px}@media(max-width:768px){.dual-hero-inner{grid-template-columns:1fr;gap:40px}.dual-hero-divider{display:none}}@media(prefers-reduced-motion:reduce){.dual-hero-cover{transition:none}}html[data-theme=dark] .hero-banner{background:var(--panel)}html[data-theme=dark] .hero-banner-catch,html[data-theme=dark] .hero-banner-sub,html[data-theme=dark] .hero-banner .selling-points li{color:var(--ink-bright)}html[data-theme=dark] .world-section{background:var(--bg);color:var(--ink)}html[data-theme=dark] .world-card{background:var(--panel);border-color:var(--stroke)}html[data-theme=dark] .world-card-title,html[data-theme=dark] .world-card-body,html[data-theme=dark] .world-title,html[data-theme=dark] .world-subtitle{color:var(--ink-bright)}html[data-theme=dark] .world-label{color:var(--color-world-label)}html[data-theme=dark] .about-page .section-lead,html[data-theme=dark] .about-page .card p,html[data-theme=dark] .about-page .external-link-desc{color:var(--ink-bright)}.faq-item{background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius-lg);padding:0;box-shadow:var(--shadow);overflow:hidden}.faq-item .faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-medium) var(--easing)}.faq-item[open] .faq-answer{grid-template-rows:1fr}.faq-answer-inner{overflow:hidden}.faq-answer-inner>*{opacity:0;transform:translateY(-6px);transition:opacity var(--dur-medium) ease var(--dur-fast),transform var(--dur-medium) ease var(--dur-fast)}.faq-item[open] .faq-answer-inner>*{opacity:1;transform:translateY(0)}.faq-item.is-closing .faq-answer{transition:grid-template-rows var(--dur-quick) ease-in}.faq-item.is-closing .faq-answer-inner>*{opacity:0;transform:translateY(-4px);transition:opacity var(--dur-fast) ease-in,transform var(--dur-fast) ease-in}@media(prefers-reduced-motion:reduce){.faq-item .faq-answer,.faq-answer-inner>*{transition:none}}.faq-item summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--radius-lg)}.faq-item summary{display:flex;align-items:center;justify-content:space-between;padding:20px;cursor:pointer;list-style:none;user-select:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::marker{content:""}.faq-item summary:after{content:"";flex-shrink:0;width:20px;height:20px;margin-left:12px;background:var(--ink-dim);clip-path:polygon(25% 20%,75% 50%,25% 80%);transition:transform var(--dur-normal) ease}.faq-item[open] summary:after{transform:rotate(90deg)}.faq-item summary h3{font-size:var(--fs-heading);margin:0;color:var(--ink-bright);font-weight:600}.faq-item summary:hover{background:var(--accent-alpha-05)}.faq-answer-inner{padding:0 20px 16px}.faq-answer p{font-size:var(--fs-body);color:var(--ink-dim);line-height:1.6;margin:0 0 12px}.faq-answer p:last-child{margin-bottom:0}.faq-answer .button{margin-top:4px}html[data-theme=dark] .faq-page .section-lead,html[data-theme=dark] .faq-page .faq-item p,html[data-theme=dark] .contact-page .section-lead,html[data-theme=dark] .contact-page .card p,html[data-theme=dark] .work-row-desc{color:var(--ink-bright)}html[data-theme=dark] .work-row-date,html[data-theme=dark] .muted{color:var(--ink)}html[data-theme=dark] .detail-block p,html[data-theme=dark] .detail-block li,html[data-theme=dark] .detail-catch{color:var(--ink-bright)}html[data-theme=dark] .spec-table td:first-child,html[data-theme=dark] .sidebar-small,html[data-theme=dark] .sidebar-xsmall{color:var(--ink)}html[data-theme=dark] .char-hero-reading,html[data-theme=dark] .char-hero-personality,html[data-theme=dark] .char-stat-label,html[data-theme=dark] .char-body,html[data-theme=dark] .char-list-reading,html[data-theme=dark] .char-list-personality,html[data-theme=dark] .home-char-reading{color:var(--ink-bright)}html[data-theme=dark] .dark-mode-toggle:hover{background:var(--color-toggle-hover-dark)}html[data-theme=dark] .nav-links a:not(.is-active){color:var(--ink-bright)}[data-anim]{opacity:0;transform:translateY(20px);transition:opacity var(--dur-entrance) var(--easing),transform var(--dur-entrance) var(--easing);transition-delay:var(--anim-delay, 0s)}[data-anim=slide-right]{transform:translate(28px)}[data-anim].is-visible{opacity:1;transform:none}[data-anim].is-exiting{opacity:0;transform:translateY(8px) scale(var(--scale-pressed));transition-duration:var(--dur-fast);transition-delay:0s}html.is-client-nav [data-anim]{opacity:1;transform:none;transition:none!important}@media(prefers-reduced-motion:reduce){[data-anim]{opacity:1;transform:none;transition:none}}.is-filtering{opacity:.6;transition:opacity var(--dur-fast) ease}@media(prefers-reduced-motion:reduce){.is-filtering{transition:none}}.toc-item a.is-active{color:var(--accent);font-weight:600}.article-pagination{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--stroke)}.article-pagination--with-center{grid-template-columns:1fr auto 1fr;align-items:center}.article-pagination-prev{display:flex;justify-content:flex-start}.article-pagination-center{white-space:nowrap}.article-pagination-next{display:flex;justify-content:flex-end}.article-pagination-link{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--stroke);border-radius:var(--radius-md);text-decoration:none;color:var(--ink);transition:border-color var(--dur-quick),background var(--dur-quick);max-width:240px}.article-pagination-link--next{flex-direction:row-reverse;text-align:right}.article-pagination-link:hover{border-color:var(--accent);background:var(--panel)}.article-pagination-arrow{font-size:var(--fs-heading);color:var(--ink-dim);flex-shrink:0}.article-pagination-meta{display:flex;flex-direction:column;gap:2px;overflow:hidden}.article-pagination-label{font-size:var(--fs-2xs);color:var(--ink-dim);text-transform:uppercase;letter-spacing:.06em}.article-pagination-title{font-size:var(--fs-ui);font-weight:600;color:var(--ink-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:540px){.article-pagination{grid-template-columns:1fr}.article-pagination--with-center{grid-template-columns:1fr 1fr;gap:8px}.article-pagination--with-center .article-pagination-center{display:none}.article-pagination--with-center .article-pagination-next{grid-column:2}.article-pagination-next{justify-content:flex-start}.article-pagination-link{max-width:none;width:100%}.article-pagination-link--next{flex-direction:row;text-align:left}}.news-card-excerpt{font-size:var(--fs-ui);color:var(--ink-dim);margin:0 0 8px;line-height:1.5}.gallery-sort{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.sidebar-chars h3{margin-top:0}.sidebar-char-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.sidebar-char{display:flex;flex-direction:column;align-items:center;gap:4px;text-decoration:none;color:var(--ink);transition:color var(--dur-fast)}.sidebar-char:hover{color:var(--accent)}.sidebar-char-img{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--stroke);transition:border-color var(--dur-fast)}.sidebar-char:hover .sidebar-char-img{border-color:var(--accent)}.sidebar-char-name{font-size:var(--fs-xs);text-align:center;max-width:64px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html.theme-transitioning *,html.theme-transitioning *:before,html.theme-transitioning *:after{transition:background-color var(--dur-medium) ease,color var(--dur-medium) ease,border-color var(--dur-medium) ease!important}@media(max-width:768px){.nav-links.is-open a.is-active{color:var(--accent);font-weight:700}}#works-grid,#gallery-grid,#char-list-grid,#news-grid{scroll-margin-top:var(--scroll-offset)}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.dark-mode-toggle[data-astro-cid-tcsrer47]{position:relative;display:flex;align-items:center;justify-content:center;width:var(--touch-min);height:var(--touch-min);border:none;border-radius:50%;background:none;cursor:pointer;transition:background var(--dur-quick) ease;flex-shrink:0;font-family:inherit}.dark-mode-toggle[data-astro-cid-tcsrer47]:hover{background:var(--color-toggle-hover)}.icon-sun[data-astro-cid-tcsrer47],.icon-moon[data-astro-cid-tcsrer47]{position:absolute;opacity:0;will-change:transform,opacity}.icon-sun[data-astro-cid-tcsrer47]{color:#f97316}.icon-moon[data-astro-cid-tcsrer47]{color:#fbc02d}.announcement-ext-icon[data-astro-cid-o54ltyzl]{display:inline;vertical-align:-1px;margin-left:4px;opacity:.75;flex-shrink:0}
