:root{--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--secondary-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--accent-gradient: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--warm-gradient: linear-gradient(135deg, #fa709a 0%, #fee140 100%);--cool-gradient: linear-gradient(135deg, #30cfd0 0%, #330867 100%);--text-shadow: 2px 2px 4px rgba(0,0,0,.1);--box-shadow-sm: 0 2px 10px rgba(0,0,0,.08);--box-shadow-md: 0 4px 20px rgba(0,0,0,.12);--box-shadow-lg: 0 10px 40px rgba(0,0,0,.15);--border-radius-lg: 20px;--border-radius-xl: 30px}body.home-page{background:linear-gradient(180deg,#f8f9ff,#fff5fb,#f0f8ff);min-height:100vh;font-family:Noto Sans JP,sans-serif}.hero-section{background:var(--primary-gradient);min-height:600px;position:relative;overflow:hidden;border-radius:0 0 var(--border-radius-xl) var(--border-radius-xl)}.hero-section:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:float 20s ease-in-out infinite}.hero-content{position:relative;z-index:2;padding:80px 0;color:#fff;text-align:center}.hero-title{font-size:3.5rem;font-weight:900;text-shadow:2px 2px 8px rgba(0,0,0,.5);margin-bottom:20px;animation:fadeInDown 1s ease}.hero-subtitle{font-size:1.3rem;font-weight:300;margin-bottom:40px;opacity:.95;text-shadow:1px 1px 4px rgba(0,0,0,.4);animation:fadeInUp 1s ease .2s both}.hero-buttons .btn{margin:0 10px;padding:12px 35px;font-size:1.1rem;font-weight:600;border-radius:50px;transition:all .3s ease;animation:fadeInUp 1s ease .4s both}.btn-hero-primary{background:#fff;color:#667eea;border:2px solid white}.btn-hero-primary:hover{background:transparent;color:#fff;transform:translateY(-3px);box-shadow:0 8px 25px #0000004d}.btn-hero-secondary{background:transparent;color:#fff;border:2px solid white}.btn-hero-secondary:hover{background:#fff;color:#667eea;transform:translateY(-3px);box-shadow:0 8px 25px #0000004d}.feature-section{padding:40px 0;background:#fffc;border-radius:var(--border-radius-xl);margin:20px 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.section-title{font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:15px;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none}.section-subtitle{font-size:1.2rem;text-align:center;color:#666;margin-bottom:50px}.feature-card{background:#fff;border-radius:var(--border-radius-lg);padding:40px 20px;text-align:center;box-shadow:var(--box-shadow-sm);transition:all .3s ease;height:100%;border:1px solid #f0f0f0}.feature-card:hover{transform:translateY(-10px);box-shadow:var(--box-shadow-lg)}.feature-icon{width:80px;height:80px;margin:0 auto 25px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff}.icon-read{background:var(--primary-gradient)}.icon-write{background:var(--secondary-gradient)}.icon-connect{background:var(--accent-gradient)}.feature-title{font-size:1.5rem;font-weight:600;margin-bottom:15px;color:#333}.feature-description{color:#666;line-height:1.6;margin-bottom:0}.novel-list{background:#fff;border-radius:15px;box-shadow:var(--box-shadow-sm);overflow:hidden}.novel-list-item{padding:20px;border-bottom:1px solid #f8f9fa;transition:all .3s ease;display:flex;align-items:flex-start;gap:16px;text-decoration:none;color:inherit}.novel-list-item:last-child{border-bottom:none}.novel-list-item:hover{background-color:#f8f9ff;box-shadow:0 2px 10px #667eea1a}.novel-avatar{flex-shrink:0;width:45px;height:45px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid #f0f0f0}.novel-content{flex:1;min-width:0}.novel-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px;gap:12px}.novel-title-section{flex:1;min-width:0}.novel-category-badge{display:inline-block;padding:3px 8px;background:var(--accent-gradient);color:#fff;border-radius:8px;font-size:.7rem;font-weight:600;margin-bottom:6px}.novel-title{font-size:1.05rem;font-weight:700;color:#2c3e50;margin:0 0 4px;line-height:1.4;word-break:break-word}.novel-author{font-size:.8rem;color:#6c757d;margin:0;display:flex;align-items:center}.novel-description{color:#6c757d;font-size:.85rem;line-height:1.5;margin:8px 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.novel-meta{display:flex;justify-content:space-between;align-items:center;font-size:.75rem}.novel-date,.novel-date-category{color:#8b949e}.novel-stats{display:flex;gap:12px}.novel-stat{display:flex;align-items:center;gap:4px;color:#8b949e}.novel-stat i{font-size:.8rem}.timeline-section{padding:60px 0;background:#fffc;border-radius:var(--border-radius-xl)}.timeline{position:relative;padding:20px 0}.timeline:before{content:"";position:absolute;left:50px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#667eea,#764ba2)}.timeline-item{position:relative;padding-left:80px;margin-bottom:30px}.timeline-avatar{position:absolute;left:25px;width:50px;height:50px;border-radius:50%;background:#fff;border:3px solid #667eea;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#667eea;box-shadow:var(--box-shadow-sm)}.timeline-content{background:#fff;padding:20px;border-radius:var(--border-radius-lg);box-shadow:var(--box-shadow-sm);transition:all .3s ease}.timeline-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.timeline-novel-title{font-weight:600;color:#667eea;font-size:.9rem}.timeline-date{color:#999;font-size:.8rem}.timeline-part-title{font-size:1.1rem;font-weight:600;color:#333;margin-bottom:8px}.timeline-excerpt{color:#666;line-height:1.5;margin-bottom:0}.popular-novels .card{transition:all .3s ease}.popular-novels .card:hover{transform:translate(5px);box-shadow:var(--box-shadow-md)}.branching-diagram{max-width:500px;margin:0 auto}.explanation-content{font-size:1.1rem;line-height:1.8}@keyframes float{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.1)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@media (max-width: 768px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.1rem}.section-title{font-size:2rem}.feature-card{padding:30px 15px;margin-bottom:20px}.novel-list-item{padding:16px;gap:12px}.novel-avatar{width:35px;height:35px}.novel-header{flex-direction:column;align-items:flex-start;gap:8px}.novel-title{font-size:.95rem}.novel-description{font-size:.8rem;-webkit-line-clamp:3}.novel-meta{flex-direction:column;align-items:flex-start;gap:8px}.timeline:before{left:30px}.timeline-item{padding-left:60px}.timeline-avatar{left:5px;width:40px;height:40px}}@media (max-width: 576px){.hero-buttons .btn{display:block;margin:10px auto;width:200px}.feature-section,.timeline-section{padding:40px 0}.novel-list-item{padding:14px}.novel-avatar{width:32px;height:32px}.novel-title{font-size:.9rem}.novel-category-badge{font-size:.65rem;padding:2px 6px}.novel-description{font-size:.75rem}.novel-stats{gap:10px}}.novel-card{transition:opacity .3s ease}.loading-placeholder{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:1000px 100%;animation:shimmer 2s infinite}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.count-animation{animation:countUp .5s ease-out}@keyframes countUp{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.fade-in{opacity:0;transform:translateY(20px);transition:all .6s ease}
