*{box-sizing:border-box}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;font-size:16px;line-height:1.6;color:#333;background-color:#f5f5f5}a{color:#1a73e8;text-decoration:none;transition:color 0.3s ease}a:hover{color:#0d47a1;text-decoration:underline}img{max-width:100%;height:auto}nav{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,0.1);position:sticky;top:0;z-index:100}nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto}nav li{flex:1 1 0;min-width:0;text-align:center}nav a{display:block;padding:1rem 0.8rem;color:#333;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background-color 0.3s ease,color 0.3s ease}nav a:hover,nav a.active{background-color:#f0f0f0;color:#fe2c55;text-decoration:none}@media (max-width:768px){nav a{padding:0.8rem 0.3rem;font-size:0.85rem}}main{max-width:1200px;margin:0 auto;padding:2rem 1rem}.breadcrumb{font-size:0.9rem;color:#666;margin-bottom:1.5rem;padding:0.5rem 0}.breadcrumb a{color:#666}.breadcrumb a:hover{color:#fe2c55}.breadcrumb span{color:#999}.hero{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:3rem 2rem;border-radius:12px;margin-bottom:3rem;text-align:center}.hero h1{font-size:2rem;font-weight:700;margin:0;line-height:1.3}@media (max-width:768px){.hero{padding:2rem 1rem}.hero h1{font-size:1.5rem}}.intro{background:#fff;padding:2rem;border-radius:12px;margin-bottom:3rem;box-shadow:0 2px 8px rgba(0,0,0,0.08)}.intro h2{font-size:1.5rem;margin-top:0;margin-bottom:1rem;color:#222}.intro p{margin-bottom:1rem;line-height:1.8;color:#555}section{margin-bottom:3rem}section h2{font-size:1.8rem;font-weight:700;margin-bottom:1.5rem;color:#222;border-bottom:3px solid #fe2c55;padding-bottom:0.5rem;display:inline-block}section p{color:#666;margin-bottom:1rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;margin-top:1.5rem}@media (max-width:768px){.card-grid{grid-template-columns:1fr;gap:1.5rem}}.card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 12px rgba(0,0,0,0.08);transition:transform 0.3s ease,box-shadow 0.3s ease}.card:hover{transform:translateY(-4px);box-shadow:0 4px 20px rgba(0,0,0,0.15)}.card h3{font-size:1.2rem;margin:0 0 0.8rem 0;font-weight:700;line-height:1.4}.card h3 a{color:#222}.card h3 a:hover{color:#fe2c55}.card .meta{font-size:0.85rem;color:#999;margin:0.5rem 0}.card .tags{font-size:0.8rem;color:#fe2c55;margin:0.5rem 0;font-weight:600}.card .one-line{font-size:0.95rem;color:#555;margin:0.8rem 0;line-height:1.6}.card .summary,.card .review{font-size:0.9rem;color:#666;margin-top:0.8rem;line-height:1.7}.list-header{background:#fff;padding:2rem;border-radius:12px;margin-bottom:2rem;box-shadow:0 2px 8px rgba(0,0,0,0.08)}.list-header h1{font-size:2rem;margin:0 0 1rem 0;color:#222}.list-header p{color:#666;line-height:1.8}.notice{background:#fff9e6;border-left:4px solid #ffc107;padding:1rem 1.5rem;margin-top:1.5rem;border-radius:4px}.notice p{margin:0.5rem 0;color:#856404}.notice ul{margin:0.5rem 0;padding-left:1.5rem}.notice li{margin:0.3rem 0}.detail{background:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,0.08)}.detail h1{font-size:2.2rem;margin:0 0 1.5rem 0;color:#222;line-height:1.3}.detail h2{font-size:1.4rem;margin:2rem 0 1rem 0;color:#333;border-bottom:2px solid #eee;padding-bottom:0.5rem}.detail .meta-info{background:#f9f9f9;padding:1.5rem;border-radius:8px;margin-bottom:2rem}.detail .meta-info p{margin:0.5rem 0;font-size:0.95rem;color:#555}.detail section{margin-bottom:2.5rem}.detail section p{font-size:1rem;line-height:1.8;color:#444;margin:1rem 0}.detail .related{margin-top:3rem;padding-top:2rem;border-top:2px solid #eee}@media (max-width:768px){.detail{padding:1.5rem}.detail h1{font-size:1.6rem}}.error-page{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,0.08)}.error-page h1{font-size:2.5rem;color:#fe2c55;margin-bottom:1rem}.error-page p{font-size:1.1rem;color:#666;margin:1rem 0}footer{background:#fff;text-align:center;padding:2rem 1rem;margin-top:3rem;color:#666;font-size:0.9rem;border-top:1px solid #eee}footer p{margin:0.5rem 0}@keyframes heartbeat{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}.card:hover h3 a{animation:heartbeat 0.6s ease}@media (max-width:480px){body{font-size:14px}main{padding:1rem 0.5rem}section h2{font-size:1.5rem}}