:root{--ink:#1a1a1a;--muted:#666;--paper:#fff;--surface:#faf8f9;--accent:#9b315a;--accent-soft:#f4e9eb;--visited:#8b008b;--line:#767676;--divider:#ddd;--focus-ring:#ffd43d;--error:#ce0000;--shadow:0 4px 20px #0002;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.7;color:var(--ink);background:var(--paper);scroll-behavior:smooth}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select{font:inherit}button,summary{cursor:pointer}button{color:inherit}a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}a:hover{text-decoration-thickness:2px}main p a:visited,main td a:visited,.directory a:visited{color:var(--visited)}button,input,select,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px;box-shadow:0 0 0 6px var(--focus-ring)}h1,h2,h3,p{margin:0}h1{font-size:24px;line-height:1.5;overflow-wrap:anywhere}h2{font-size:20px;line-height:1.5}h3{font-size:17px;line-height:1.5}img{display:block;max-width:100%}button:disabled{background:var(--divider);color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;left:10px;top:-100px;padding:12px;background:var(--paper);z-index:20}.skip:focus{top:10px}
.header{border-bottom:1px solid var(--divider);height:64px}.header-inner{max-width:1296px;height:100%;padding:0 48px;margin:auto;display:flex;align-items:center;gap:18px}.brand{font-size:24px;font-weight:700;color:var(--ink);text-decoration:none;white-space:nowrap;margin-right:auto}.header-links{display:flex;gap:18px;font-size:14px}.header-links a{display:flex;align-items:center;min-height:48px}.icon-button{min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center;border:0;background:var(--paper);border-radius:8px}.menu-toggle{font-size:24px}.search-icon{height:16px;width:16px;border:2px solid currentColor;position:relative;display:block;border-radius:50%}.search-icon:after{content:"";position:absolute;width:8px;height:2px;right:-6px;bottom:-3px;transform:rotate(48deg);background:currentColor}.utility-panel{max-width:1200px;margin:auto;padding:16px 54px 20px 20px;position:relative;border-bottom:1px solid var(--line)}.utility-panel nav{display:flex;gap:4px 20px;flex-wrap:wrap}.utility-panel nav a{display:flex;align-items:center;min-height:48px;font-size:14px}.panel-close{position:absolute;right:4px;top:8px;width:48px;height:48px;border:0;background:var(--paper);font-size:28px}.utility-panel .search-form{max-width:800px}.breadcrumb{font-size:12px;color:var(--muted)}.breadcrumb>div{max-width:1296px;margin:auto;padding:6px 48px;display:flex;gap:10px;white-space:nowrap;overflow:hidden}.breadcrumb a{color:var(--muted)}.content{max-width:1296px;padding:16px 48px;margin:0 auto 48px;display:grid;grid-template-columns:minmax(0,844px) 304px;gap:52px}main{min-width:0}.content>main>h1{margin:0 0 16px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.section-head .result-count{margin:0;white-space:nowrap}.support,.subtle,.result-count,.requirement{font-size:13px;color:var(--muted)}.support{margin-top:6px;line-height:1.6}.requirement{font-weight:400;white-space:nowrap}.result-count{margin:12px 0}.search-form{margin-bottom:16px}.search-form label{font-weight:700;display:block;margin-bottom:6px}.search-row{display:flex;gap:8px}.search-row input{min-width:0;width:100%;border:1px solid var(--line);border-radius:8px;min-height:48px;padding:10px 12px;background:var(--paper)}.search-row button,.filter-form button{min-height:48px;padding:10px 22px;border:0;border-radius:8px;white-space:nowrap;background:var(--accent);color:var(--paper);font-weight:700}.form-error{color:var(--error);font-size:14px;margin-top:8px}.label-chips,.tabs,.social-links{display:flex;gap:8px;overflow-x:auto;white-space:nowrap;scrollbar-width:thin;padding:4px 0}.label-chips{margin:10px 0 12px}.label-chips a{font-size:14px;flex-shrink:0;min-height:48px;display:flex;align-items:center;gap:4px;padding:8px 14px;border:1px solid var(--line);border-radius:24px;background:var(--paper)}.tabs{margin-bottom:16px;gap:8px}.tabs a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 24px;border:1px solid var(--line);border-radius:8px;font-size:14px;flex-shrink:0;font-weight:700}.tabs a.active{background:var(--accent);border-color:var(--accent);color:var(--paper);text-decoration:none}.home-labels{margin-top:28px}.home-labels h2{font-size:18px}.guide-card{display:block;padding:14px 0;margin-top:20px;font-size:14px}.text-link{display:inline-block;min-height:36px;margin-top:10px}.archive-title{margin:0 0 20px}.archive-title small{display:none}
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 12px}.work-card{position:relative;min-width:0;border:1px solid var(--divider);border-radius:4px;background:var(--paper)}.work-card>a{display:flex;flex-direction:column;height:100%;text-decoration:none;color:var(--ink)}.card-body{padding:8px;min-width:0;flex:1}.suggestions .card-body{padding:6px 8px;min-height:0;flex:0}.suggestions .work-card h3{height:auto;margin-bottom:2px}.suggestions .card-rating{margin-top:0;line-height:1.4}.card-image{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;background:var(--paper)}.work-card h3{font-size:16px;font-weight:700;line-height:1.55;height:3.1em;margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-decoration:underline;text-underline-offset:3px}.work-card a:hover h3{color:var(--accent)}.card-data{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:13px;flex-wrap:wrap}.card-data time{color:var(--muted)}.card-data b{color:var(--accent)}.card-rating{display:block;font-size:13px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-rating small{font-size:13px}.format-chip{display:inline-block;padding:0 6px;border:1px solid var(--line);font-size:13px;border-radius:4px}.image-missing{display:grid;place-items:center;background:var(--surface);color:var(--muted);font-size:13px;width:100%;aspect-ratio:1}.failed-image{background:var(--surface);color:var(--muted)}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin:28px 0;flex-wrap:wrap}.pagination a,.pagination [aria-current]{min-width:40px;min-height:40px;padding:8px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);font-size:14px;border-radius:8px}.pagination [aria-current]{background:var(--accent);border-color:var(--accent);color:var(--paper);font-weight:700}.empty{padding:20px 0}.empty h2{font-size:18px}.empty p{margin:12px 0}.empty .search-form{margin-top:16px}
.sidebar{font-size:14px}.sidebar section{margin-bottom:30px}.sidebar h2{font-size:18px;padding-bottom:8px;margin-bottom:16px;border-bottom:1px solid var(--divider);display:flex;align-items:center;gap:8px}.sidebar .work-grid.suggestions{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}.sidebar .suggestions .work-card h3{font-size:13px}
.article-head{display:flex;align-items:flex-start;gap:12px}.article-head h1{flex:1;font-size:24px;min-width:0}.date-badge{flex:0 0 72px;text-align:center;color:var(--muted);font-size:22px;line-height:1.4;border-right:1px solid var(--divider);padding-right:8px}.date-badge small{font-size:13px;display:block}.work-intro{margin:6px 0;font-size:16px;line-height:1.6;overflow-wrap:anywhere}.work-intro+.store-cta{margin-top:6px}.store-cta{display:block;width:100%;min-height:48px;margin:12px 0 20px;padding:12px 40px 12px 16px;position:relative;text-align:center;background:var(--accent);color:var(--paper);border-radius:8px;font-size:16px;font-weight:700;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.store-cta>span[aria-hidden]{position:absolute;right:20px;top:12px}.sample-player{width:100%;aspect-ratio:16/9;position:relative;overflow:hidden;background:var(--ink);margin-bottom:20px}.sample-player .poster{width:100%;height:100%;object-fit:contain}.sample-player iframe,.sample-player video{width:100%;height:100%;border:0;display:block}.play-button{position:absolute;inset:0;width:100%;background:#0004;color:var(--paper);border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-shadow:0 1px 4px #000}.play-button>span{width:64px;height:64px;display:grid;place-items:center;border:2px solid var(--paper);border-radius:50%;padding-left:5px;font-size:24px;background:#0008}.article-body section{margin:24px 0}.article-body h2,.data-section>h2{font-size:18px;padding-bottom:8px;border-bottom:1px solid var(--divider);margin-bottom:12px;display:flex;align-items:center;gap:8px}.info-table{width:100%;border-collapse:collapse;margin:12px 0 16px;table-layout:fixed;font-size:13px}.info-table th,.info-table td{padding:10px 12px;border-bottom:1px solid var(--divider);text-align:left;vertical-align:top;overflow-wrap:anywhere;font-size:13px}.info-table th{width:30%;font-weight:700}.info-table tr:first-child{border-top:1px solid var(--divider)}.story,.faq details,.campaign-details{border:1px solid var(--line);border-radius:8px;margin:14px 0}.story summary,.faq summary,.campaign-details summary{padding:12px 16px;min-height:48px;font-weight:700;font-size:14px}.description,.faq details p{font-size:16px;line-height:1.7;padding:16px;border-top:1px solid var(--divider)}.related-works h2 a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail .work-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.detail .work-card h3{font-size:14px}.sample-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sample-image{padding:0;border:1px solid var(--divider);background:var(--paper);border-radius:4px;overflow:hidden;min-height:48px}.sample-image img{width:100%;height:auto}.faq-answer{padding:0 12px 12px;border-top:1px solid var(--divider)}.article-body .seller-prices{margin:16px 0}.seller-prices h3{font-size:16px}.seller-prices .info-table s{color:var(--muted)}.seller-prices .info-table small{display:block;font-size:13px;color:var(--accent)}.seller-prices>a{display:inline-flex;align-items:center;min-height:48px}.campaign-details ul{font-size:14px;padding:0 24px 0 40px}.campaign-details li span{display:block;font-size:13px;color:var(--muted)}.campaign-details p{padding:0 16px 16px}.profile-body{display:flex;align-items:flex-start;gap:20px}.profile-image{width:160px;height:auto;border-radius:8px;flex-shrink:0}.profile-body .info-table{margin-top:0}.social-links{margin-top:14px}.social-links>a,.social-links summary{display:flex;align-items:center;min-height:48px;padding:8px 14px;border:1px solid var(--line);border-radius:24px;font-size:14px}.social-links details[open]{white-space:normal}.social-links details>a{display:block;padding:10px}
.directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:20px 0}.directory a{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--divider);padding:10px 0;font-size:14px;overflow-wrap:anywhere}.directory span{font-size:13px;color:var(--muted);white-space:nowrap}.month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.month-grid a{min-height:48px;padding:14px;border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;font-size:14px}.month-grid span{font-size:13px;color:var(--muted)}.page-links{line-height:2.5;margin:20px 0 28px}.filter-disclosure{margin:16px 0}.filter-disclosure>summary{min-height:48px;padding:10px 0;font-weight:700}.filter-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:12px 0 20px}.filter-form label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:14px;min-width:0}.filter-form label .requirement{display:inline}.filter-form input,.filter-form select{width:100%;min-width:0;min-height:48px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font-weight:400;font-size:16px}.filter-form>.support{grid-column:1/-1}.filter-form>button{grid-column:1/-1}.prose{margin:20px 0;line-height:1.7}.prose p{margin-bottom:16px}footer{padding:32px 20px;border-top:1px solid var(--divider);text-align:center;color:var(--muted);font-size:13px}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-bottom:12px}.footer-links a{min-height:36px;display:flex;align-items:center}.back-top{position:fixed;bottom:14px;right:14px;min-width:48px;min-height:48px;background:var(--paper);color:var(--accent);border:1px solid var(--line);border-radius:50%;font-size:24px;z-index:3;box-shadow:var(--shadow)}
dialog{border:1px solid var(--line);box-shadow:var(--shadow);padding:48px;max-width:calc(100% - 20px)}dialog::backdrop{background:#0009}.gallery-dialog{background:var(--ink);color:var(--paper);width:max-content;max-width:95vw}.gallery-dialog img{max-height:80svh;max-width:80vw;object-fit:contain;margin:auto}.dialog-close,.gallery-prev,.gallery-next{position:absolute;min-width:48px;min-height:48px;color:var(--paper);background:var(--ink);border:1px solid var(--paper);border-radius:8px;font-size:28px}.dialog-close{right:6px;top:6px}.gallery-prev{left:6px;top:45%}.gallery-next{right:6px;top:45%}.gallery-counter{font-size:13px;text-align:center;margin-top:10px}
@media(max-width:1100px) and (min-width:960px){.content{grid-template-columns:minmax(0,1fr) 272px;gap:24px;padding-left:24px;padding-right:24px}.header-inner,.breadcrumb>div{padding-left:24px;padding-right:24px}}
@media(max-width:959px){.content{display:block;padding:14px 10px;margin-bottom:32px}.sidebar{margin-top:28px}.sample-grid{grid-template-columns:minmax(0,1fr);width:calc(100% + 20px);margin-inline:-10px;gap:8px}.sample-image{border:0;border-radius:0}.header-inner{padding:0 10px;gap:6px}.header-links{display:none}.breadcrumb>div{padding:6px 10px}.work-grid,.detail .work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 10px}.work-card h3{font-size:16px}.detail .work-card h3{font-size:14px}.utility-panel{padding-left:10px}.utility-panel nav{gap:4px 12px}.filter-form{grid-template-columns:1fr}.filter-form label{font-size:16px}}
@media(max-width:599px){.header{height:60px}.brand{font-size:20px}.content{padding-top:12px}.article-head{gap:10px}.article-head h1{font-size:20px}.date-badge{flex-basis:53px;font-size:18px}.date-badge small{font-size:13px}.article-body h2{font-size:18px}.section-head h1{font-size:20px}.search-row button{padding:10px 16px}.label-chips a,.tabs a{font-size:14px;padding:10px 14px}.work-grid,.detail .work-grid{gap:18px 10px}.work-card h3{font-size:14px}.card-data{align-items:flex-start;gap:2px;flex-direction:column}.sample-grid{gap:8px}.info-table th,.info-table td{padding:8px 6px}.info-table th{width:31%}.directory{grid-template-columns:1fr}.month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-body{gap:12px}.profile-image{width:100px}.profile-body .info-table th{width:36%}.pagination{gap:6px}.pagination a,.pagination [aria-current]{min-width:36px;min-height:36px;font-size:14px;padding:6px}.gallery-dialog{padding:56px 16px}.gallery-dialog img{max-width:80vw}.gallery-prev,.gallery-next{top:auto;bottom:4px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}
