@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap";.app[data-v-5f0df9fb]{min-height:100vh}:root{--color-primary:#ff85a2;--color-primary-dark:#ff5c8a;--color-primary-light:#ffc1d0;--color-secondary:#a78bfa;--color-secondary-dark:#8b5cf6;--color-accent:#38bdf8;--color-bg-dark:#13131f;--color-bg-card:#1e1e2f;--color-bg-card-hover:#2a2a40;--color-bg-glass:#1e1e2fd9;--color-text-primary:#f8f8fc;--color-text-secondary:#c4c4d4;--color-text-muted:#8888a0;--color-success:#34d399;--color-warning:#fbbf24;--color-error:#f87171;--gradient-primary:linear-gradient(135deg,#ff85a2 0%,#a78bfa 100%);--gradient-card:linear-gradient(145deg,#1e1e2f 0%,#191928 100%);--gradient-glow:radial-gradient(circle,#ff85a226 0%,transparent 70%);--shadow-sm:0 2px 4px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 24px #00000080;--shadow-glow:0 0 20px #ff85a240;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--transition-fast:.15s ease;--transition-normal:.3s ease;--transition-slow:.5s ease;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-family);background:var(--color-bg-dark);color:var(--color-text-primary);min-height:100vh;line-height:1.6;overflow-x:hidden}body:before{content:"";background:var(--gradient-glow);pointer-events:none;z-index:-1;position:fixed;inset:0}#app{min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-light)}.btn{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md)var(--spacing-lg);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);border:none;font-family:inherit;font-size:1rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 30px #ff6b9d80}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:var(--color-bg-card);color:var(--color-text-primary);border:1px solid #ffffff1a}.btn-secondary:hover{background:var(--color-bg-card-hover);border-color:var(--color-primary)}.btn-outline{color:var(--color-primary);border:2px solid var(--color-primary);background:0 0}.btn-outline:hover{background:var(--color-primary);color:#fff}.btn-sm{padding:var(--spacing-sm)var(--spacing-md);font-size:.875rem}.btn-lg{padding:var(--spacing-lg)var(--spacing-xl);font-size:1.125rem}.btn-block{width:100%}.card{background:var(--gradient-card);border-radius:var(--radius-lg);transition:all var(--transition-normal);border:1px solid #ffffff0d;overflow:hidden}.card:hover{box-shadow:var(--shadow-glow);border-color:#ff6b9d4d;transform:translateY(-4px)}.card-body{padding:var(--spacing-lg)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{margin-bottom:var(--spacing-sm);color:var(--color-text-secondary);font-weight:500;display:block}.form-input,.form-textarea{width:100%;padding:var(--spacing-md);background:var(--color-bg-card);border-radius:var(--radius-md);color:var(--color-text-primary);transition:all var(--transition-fast);border:1px solid #ffffff1a;font-family:inherit;font-size:1rem}.form-input:focus,.form-textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #ff6b9d33}.form-textarea{resize:vertical;min-height:120px}.container{width:100%;max-width:1200px;padding:0 var(--spacing-md);margin:0 auto}.page{min-height:100vh;padding:var(--spacing-xl)0}.page-header{margin-bottom:var(--spacing-xl);text-align:center}.page-title{color:var(--color-primary-light);margin-bottom:var(--spacing-sm);font-size:2rem}.page-subtitle{color:var(--color-text-secondary)}.grid{gap:var(--spacing-lg);display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.badge{padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--radius-sm);align-items:center;font-size:.75rem;font-weight:500;display:inline-flex}.badge-primary{color:var(--color-primary-light);background:#ff6b9d33}.badge-success{color:var(--color-success);background:#4caf5033}.badge-warning{color:var(--color-warning);background:#ff980033}.badge-error{color:var(--color-error);background:#f4433633}.loading-spinner{border:3px solid #ffffff1a;border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-container{justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-2xl);flex-direction:column;display:flex}@media (max-width:992px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){:root{--spacing-lg:20px;--spacing-xl:28px}h1{font-size:1.75rem}h2{font-size:1.375rem}.grid-2,.grid-3{grid-template-columns:1fr}.page{padding:var(--spacing-lg)0}}@media (max-width:480px){.container{padding:0 var(--spacing-sm)}.btn{padding:var(--spacing-sm)var(--spacing-md)}.btn-lg{padding:var(--spacing-md)var(--spacing-lg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.3s forwards fadeIn}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:.5s forwards slideUp}.text-center{text-align:center}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-primary{color:var(--color-primary)}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}
