:root{--primary: #ff69b4;--accent-2: #e05cc8;--primary-soft: #d978d2;--primary-deep: #f08fd4;--primary-pale: #342236;--bg: #0e0d12;--bg-card: #17151e;--bg-accent: #1d1a27;--text: #e8e6ee;--text-muted: #9a93a8;--border: #2c2837;--shadow-soft: 0 4px 16px rgba(0, 0, 0, .45);--shadow-hover: 0 10px 28px rgba(255, 105, 180, .22);--danger: #ff4d6d;--radius-sm: 8px;--radius: 12px;--radius-lg: 18px;--radius-pill: 999px;--font-body: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", system-ui, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.7;-webkit-font-smoothing:antialiased}img,video{max-width:100%;display:block}a{color:var(--primary-deep);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1100px;margin:0 auto;padding:0 1rem}.site-header{position:sticky;top:0;z-index:100;background:#0e0d12e0;backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.site-header .inner{max-width:1100px;margin:0 auto;padding:.7rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{font-size:1.25rem;font-weight:700;color:var(--text);letter-spacing:.04em}.brand:hover{text-decoration:none;color:var(--primary)}.nav-toggle{display:none;background:none;border:none;font-size:1.6rem;color:var(--primary);cursor:pointer}.site-nav ul{display:flex;gap:.25rem;list-style:none}.site-nav a{display:block;padding:.45rem .9rem;border-radius:var(--radius-pill);font-weight:500;font-size:.95rem;color:var(--text);transition:all .2s}.site-nav a:hover,.site-nav a.active{background:var(--primary-pale);color:var(--primary-deep);text-decoration:none}@media(max-width:800px){.nav-toggle{display:block}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--border);padding:.5rem 1rem 1rem}.site-nav.open{display:block}.site-nav ul{flex-direction:column}}.site-footer{margin-top:4rem;background:var(--bg-accent);border-top:1px solid var(--border);padding:2rem 1rem;text-align:center;color:var(--text-muted);font-size:.9rem}.site-footer .social{display:flex;justify-content:center;gap:1rem;margin-bottom:.8rem}.site-footer .social a{font-weight:500}.btn{display:inline-block;padding:.65rem 1.6rem;border-radius:var(--radius-pill);font-weight:700;font-size:1rem;font-family:var(--font-body);cursor:pointer;border:none;transition:all .2s;text-decoration:none}.btn:hover{text-decoration:none;transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--accent-2));color:#fff;box-shadow:var(--shadow-soft)}.btn-primary:hover{filter:brightness(1.12);box-shadow:var(--shadow-hover);color:#fff}.btn-outline{background:transparent;color:var(--primary-deep);border:2px solid var(--primary-soft)}.btn-outline:hover{background:var(--primary-pale)}.section{padding:3rem 0}.section-title{text-align:center;font-size:1.6rem;font-weight:700;color:var(--text);letter-spacing:.06em;margin-bottom:1.8rem}.section-title:after{content:"";display:block;width:48px;height:3px;margin:.6rem auto 0;border-radius:2px;background:linear-gradient(90deg,var(--primary),var(--accent-2))}.tag{display:inline-block;background:var(--primary-pale);color:var(--primary-deep);border-radius:var(--radius-pill);padding:.15rem .7rem;font-size:.78rem;font-weight:500}.badge{display:inline-block;background:linear-gradient(135deg,var(--primary),var(--accent-2));color:#fff;border-radius:var(--radius-pill);padding:.15rem .8rem;font-size:.8rem;font-weight:700}.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}@media(max-width:800px){.works-grid{grid-template-columns:repeat(2,1fr);gap:.8rem}}.work-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft);transition:transform .25s,box-shadow .25s,border-color .25s;position:relative}.work-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);border-color:var(--primary-soft)}.work-card .thumb{position:relative;aspect-ratio:1 / 1;overflow:hidden;display:block}.work-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.work-card:hover .thumb img{transform:scale(1.05)}.work-card .info{padding:.7rem .9rem .9rem}.work-card .title{font-weight:700;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-card .meta{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem}.video-indicator{position:absolute;right:.6rem;top:.6rem;background:#0000008c;color:#fff;width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;pointer-events:none}.nsfw-overlay{position:absolute;inset:0;background:#0e0d128c;backdrop-filter:blur(24px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;color:#fff;z-index:2}.nsfw-overlay .nsfw-label{background:var(--danger);color:#fff;font-weight:700;padding:.2rem .9rem;border-radius:var(--radius-pill)}.nsfw-overlay p{font-size:.8rem;font-weight:500;text-shadow:0 1px 4px rgba(0,0,0,.6)}.form-group{margin-bottom:1.2rem}.form-group label{display:block;font-weight:700;margin-bottom:.35rem}.form-group .required{color:var(--danger);font-size:.8rem}input[type=text],input[type=email],input[type=password],select,textarea{width:100%;padding:.7rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-accent);font-family:var(--font-body);font-size:1rem;color:var(--text);transition:border-color .2s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary-soft)}.modal-backdrop{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-backdrop[hidden]{display:none}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;max-width:420px;text-align:center;box-shadow:var(--shadow-hover)}.modal h2{color:var(--primary-deep);margin-bottom:.8rem}.modal p{margin-bottom:.6rem;font-size:.95rem}.modal .actions{display:flex;gap:.8rem;justify-content:center;margin-top:1.2rem;flex-wrap:wrap}.text-center{text-align:center}.muted{color:var(--text-muted)}.notice{background:var(--bg-accent);border:1px dashed var(--primary-soft);border-radius:var(--radius);padding:1rem 1.2rem;font-size:.92rem;margin:1rem 0}
