:root{--primary: #e60012;--primary-dark: #cc0010;--primary-light: #ff1a2a;--secondary: #6366f1;--accent: #06b6d4;--success: #10b981;--warning: #f59e0b;--dark: #0f172a;--gray-900: #111827;--gray-800: #1f2937;--gray-700: #374151;--gray-600: #4b5563;--gray-500: #6b7280;--gray-400: #9ca3af;--gray-300: #d1d5db;--gray-200: #e5e7eb;--gray-100: #f3f4f6;--gray-50: #f9fafb;--white: #ffffff}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,sans-serif;line-height:1.6;color:var(--gray-900);background:var(--white);overflow-x:hidden}header{position:fixed;top:0;left:0;right:0;z-index:1000;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);background:#ffffffd9;border-bottom:1px solid rgba(0,0,0,.05);transition:all .3s cubic-bezier(.4,0,.2,1)}header.scrolled{background:#fffffff2;box-shadow:0 4px 30px #0000001a}nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;min-height:72px;max-width:1280px;margin:0 auto;padding:1rem 1.5rem}.logo{font-size:2rem;font-weight:900;background:linear-gradient(135deg,var(--primary),var(--primary-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-decoration:none}.logo .inc{font-size:.8rem;font-weight:500;opacity:.8}.hero{margin-top:72px;padding:60px 0 40px;background:linear-gradient(135deg,#e6001208,#fffc);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(230,0,18,.05) 0%,transparent 70%);animation:rotate 30s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hero-container{max-width:1280px;margin:0 auto;padding:0 1.5rem;position:relative;z-index:1;text-align:center}.hero-title{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:900;line-height:1.2;margin-bottom:1.5rem;background:linear-gradient(135deg,var(--gray-900),var(--gray-700));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-title .accent{background:linear-gradient(135deg,var(--primary),var(--primary-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.25rem;color:var(--gray-600);max-width:800px;margin:0 auto 3rem;line-height:1.8}.trust-badges{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;margin-bottom:3rem}.badge{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#ffffffe6;border:1px solid var(--gray-200);border-radius:2rem;font-weight:600;color:var(--gray-700);transition:all .3s ease}.badge:hover{transform:translateY(-2px);box-shadow:0 5px 15px #0000001a;border-color:var(--primary);color:var(--primary)}.badge-icon{font-size:1.25rem}.popular-section{background:#fffc;border-radius:20px;padding:2rem;margin-bottom:3rem;box-shadow:0 10px 30px #0000000d}.popular-title{font-size:1.5rem;font-weight:700;margin-bottom:2rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.popular-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.popular-card{background:var(--white);border-radius:12px;padding:1.5rem;border:2px solid transparent;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden}.popular-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(135deg,var(--primary),var(--primary-light));transform:scaleX(0);transition:transform .3s ease}.popular-card:hover:before{transform:scaleX(1)}.popular-card:hover{border-color:var(--primary);transform:translateY(-5px);box-shadow:0 10px 30px #e600121a}.popular-rank{position:absolute;top:1rem;right:1rem;width:40px;height:40px;background:linear-gradient(135deg,var(--primary),var(--primary-light));color:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25rem}.popular-card-title{font-size:1.125rem;font-weight:700;margin-bottom:.5rem;color:var(--gray-900)}.popular-download-count{color:var(--primary);font-weight:600;font-size:.875rem}.search-section{max-width:1280px;margin:0 auto;padding:3rem 1.5rem}.search-container{background:var(--white);border-radius:60px;padding:.5rem;box-shadow:0 10px 40px #0000001a;display:flex;align-items:center;margin-bottom:2rem;transition:all .3s ease}.search-container:focus-within{box-shadow:0 15px 50px #e6001226}.search-input{flex:1;border:none;outline:none;padding:1rem 1.5rem;font-size:1rem;background:transparent}.search-button{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:var(--white);border:none;padding:.75rem 2rem;border-radius:50px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.search-button:hover{transform:scale(1.05);box-shadow:0 5px 20px #e600124d}.category-tabs{display:flex;justify-content:center;gap:1rem;margin-bottom:3rem;flex-wrap:wrap}.tab{background:var(--white);border:2px solid var(--gray-200);padding:.75rem 2rem;border-radius:50px;font-weight:600;color:var(--gray-700);cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.tab.active{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:var(--white);border-color:transparent}.tab:hover:not(.active){border-color:var(--primary);color:var(--primary)}.tab-count{background:#0000001a;padding:.125rem .5rem;border-radius:1rem;font-size:.75rem;margin-left:.5rem}.resources-section{max-width:1280px;margin:0 auto;padding:0 1.5rem 4rem}.resources-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem;margin-bottom:3rem}.resource-card{background:var(--white);border-radius:16px;overflow:hidden;box-shadow:0 5px 20px #00000014;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative}.resource-card:hover{transform:translateY(-8px);box-shadow:0 15px 40px #0000001f}.card-badges{position:absolute;top:1rem;left:1rem;display:flex;gap:.5rem;z-index:2}.badge-new{background:var(--success);color:var(--white);padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:700}.badge-popular{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:var(--white);padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:700}.card-thumbnail{position:relative;height:200px;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);display:flex;align-items:center;justify-content:center;font-size:4rem;color:var(--gray-400);overflow:hidden}.card-thumbnail img{width:100%;height:100%;object-fit:cover}.page-count{position:absolute;bottom:1rem;right:1rem;background:#000000b3;color:var(--white);padding:.25rem .75rem;border-radius:20px;font-size:.875rem}.card-content{padding:1.5rem}.card-title{font-size:1.25rem;font-weight:700;color:var(--gray-900);margin-bottom:.75rem;line-height:1.4}.card-description{color:var(--gray-600);line-height:1.6;margin-bottom:1rem;font-size:.875rem}.card-meta{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;font-size:.875rem;color:var(--gray-500)}.card-meta span{display:flex;align-items:center;gap:.25rem}.card-cta{width:100%;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:var(--white);border:none;padding:.875rem;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.card-cta:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s}.card-cta:hover:before{width:300px;height:300px}.card-cta:hover{transform:translateY(-2px);box-shadow:0 5px 15px #e600124d}.modal{display:none;position:fixed;inset:0;background:#000000b3;z-index:2000;align-items:center;justify-content:center;padding:1rem;opacity:0;transition:opacity .3s ease}.modal.show{display:flex;opacity:1}.modal-container{background:var(--white);border-radius:24px;max-width:900px;width:100%;max-height:90vh;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 25px 50px #0003;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-preview{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);padding:3rem;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.modal-preview:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(230,0,18,.1) 0%,transparent 70%);animation:rotate 20s linear infinite}.preview-content{position:relative;z-index:1}.preview-title{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;color:var(--gray-900)}.learnings{background:var(--white);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 5px 15px #0000001a}.learnings h3{font-size:1.125rem;font-weight:700;margin-bottom:1rem;color:var(--gray-900)}.learnings ul{list-style:none}.learnings li{padding:.5rem 0;color:var(--gray-700);display:flex;align-items:flex-start;gap:.5rem}.learnings li:before{content:"✅";flex-shrink:0}.modal-details{padding:3rem;overflow-y:auto;position:relative}.modal-close{position:absolute;top:1.5rem;right:1.5rem;width:40px;height:40px;background:var(--gray-100);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;font-size:1.5rem;color:var(--gray-600)}.modal-close:hover{background:var(--gray-200);color:var(--gray-900);transform:rotate(90deg)}.form-title{font-size:1.75rem;font-weight:800;margin-bottom:.5rem;color:var(--gray-900)}.form-subtitle{color:var(--gray-600);margin-bottom:2rem}.form-progress{height:6px;background:var(--gray-200);border-radius:3px;margin-bottom:2rem;overflow:hidden}.progress-bar{height:100%;background:linear-gradient(135deg,var(--primary),var(--primary-light));border-radius:3px;transition:width .3s ease;position:relative;overflow:hidden}.progress-bar:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-text{text-align:center;color:var(--gray-600);font-size:.875rem;margin-bottom:1.5rem}.download-form{display:flex;flex-direction:column;gap:1.25rem}.form-field{position:relative}.form-field label{display:block;font-weight:600;color:var(--gray-700);margin-bottom:.5rem;font-size:.875rem}.form-field input{width:100%;padding:.875rem 1rem;border:2px solid var(--gray-200);border-radius:8px;font-size:1rem;transition:all .3s ease;background:var(--white)}.form-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #e600121a}.form-field.optional label:after{content:"（任意）";color:var(--gray-500);font-weight:400;margin-left:.5rem}.form-agreement{display:flex;align-items:flex-start;gap:.75rem;margin:1rem 0}.form-agreement input[type=checkbox]{width:20px;height:20px;flex-shrink:0;margin-top:2px;cursor:pointer}.form-agreement label{font-size:.875rem;color:var(--gray-600);line-height:1.5;cursor:pointer}.submit-btn{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:var(--white);border:none;padding:1rem 2rem;border-radius:50px;font-weight:700;font-size:1.125rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;margin-top:1rem}.submit-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s}.submit-btn:hover:before{width:400px;height:400px}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px #e600124d}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.social-login{text-align:center;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--gray-200)}.social-login p{color:var(--gray-500);font-size:.875rem;margin-bottom:1rem}.google-login{width:100%;background:var(--white);border:2px solid var(--gray-200);padding:.875rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.75rem}.google-login:hover{border-color:var(--gray-300);background:var(--gray-50)}.security-info{background:var(--gray-50);border-radius:8px;padding:1rem;margin-top:1.5rem;display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:var(--gray-600)}.security-icon{font-size:1.25rem;color:var(--success)}.cta-section{background:linear-gradient(135deg,var(--primary),var(--primary-dark));padding:4rem 0;text-align:center;color:var(--white);position:relative;overflow:hidden}.cta-section:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:rotate 25s linear infinite}.cta-container{max-width:800px;margin:0 auto;padding:0 1.5rem;position:relative;z-index:1}.cta-title{font-size:2.5rem;font-weight:800;margin-bottom:1rem}.cta-description{font-size:1.25rem;margin-bottom:2rem;opacity:.9}.cta-button{background:var(--white);color:var(--primary);padding:1rem 3rem;border-radius:50px;font-weight:700;font-size:1.125rem;text-decoration:none;display:inline-block;transition:all .3s ease;box-shadow:0 5px 20px #0003}.cta-button:hover{transform:translateY(-3px);box-shadow:0 8px 30px #0000004d}footer{background:var(--gray-900);color:var(--white);padding:3rem 0;text-align:center}.footer-content{max-width:1280px;margin:0 auto;padding:0 1.5rem}.footer-text{color:var(--gray-400);font-size:.875rem}@media (max-width: 768px){.popular-grid{grid-template-columns:1fr}.category-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;justify-content:flex-start}.resources-grid{grid-template-columns:1fr}.modal-container{grid-template-columns:1fr;max-height:95vh}.modal-preview{display:none}.modal-details{padding:2rem}.trust-badges{gap:1rem}.badge{font-size:.875rem;padding:.5rem 1rem}}.fade-in-up{opacity:0;transform:translateY(30px);transition:all .8s ease}.fade-in-up.animated{opacity:1;transform:translateY(0)}.loading{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:var(--white);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}
