:root{--color-bg:#f8fafc;--color-bg-secondary:#f8fafc;--color-bg-card:#fff;--color-bg-tertiary:#f1f5f9;--color-bg-hover:#e2e8f0;--color-text:#0f172a;--color-text-secondary:#64748b;--color-text-muted:#94a3b8;--color-text-light:#cbd5e1;--color-border:#e2e8f0;--color-border-light:#f1f5f9;--color-border-dark:#cbd5e1;--color-primary:#2563eb;--color-primary-dark:#1d4ed8;--color-primary-light:#dbeafe;--color-danger:#ef4444;--color-danger-dark:#dc2626;--color-danger-light:#fef2f2;--color-danger-border:#fecaca;--color-success:#22c55e;--color-success-light:#f0fdf4;--color-success-dark:#16a34a;--color-warning:#f59e0b;--color-warning-light:#fffbeb;--color-warning-dark:#d97706;--color-warning-text:#92400e;--color-warning-badge-bg:#fef3c7;--color-warning-badge-text:#92400e;--color-info:#3b82f6;--color-info-light:#eff6ff;--color-info-border:#bfdbfe;--color-brand-default:#64748b;--color-difficulty-1:#22c55e;--color-difficulty-2:#4ade80;--color-difficulty-3:#facc15;--color-difficulty-4:#fb923c;--color-difficulty-5:#ef4444;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-pill:9999px;--font-xs:.75rem;--font-sm:.875rem;--font-base:1rem;--font-md:.9rem;--font-lg:1.125rem;--font-xl:1.25rem;--font-2xl:1.5rem;--font-3xl:1.875rem;--transition-fast:.15s ease;--transition-normal:.2s ease;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-card-hover:0 10px 20px -5px #00000026,0 4px 6px -2px #00000014;--container-max-width:1280px;--header-height:auto;--focus-ring:0 0 0 2px var(--color-bg),0 0 0 4px var(--color-primary)}*{box-sizing:border-box;margin:0;padding:0}html{overscroll-behavior-x:none;max-width:100vw}body{overscroll-behavior-x:none;color:var(--color-text);background-color:var(--color-bg);flex-direction:column;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans JP,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;line-height:1.6;display:flex;overflow-x:hidden}a{color:inherit;text-decoration:none}.container{max-width:var(--container-max-width);padding:0 var(--spacing-xl);margin:0 auto}.main-content{flex:1}h1{color:var(--color-text);font-size:1.75rem;font-weight:700;line-height:1.3}h2{font-size:var(--font-xl);color:var(--color-text);margin-bottom:var(--spacing-md);font-weight:700}h3{font-size:var(--font-lg);color:var(--color-text);font-weight:700}.badge{padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-sm);align-items:center;font-weight:400;display:inline-flex}.badge--category{background-color:var(--color-bg-tertiary);color:var(--color-text-secondary)}.badge--success{background-color:var(--color-success);color:#fff;font-weight:700}.btn{padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-base);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;min-height:44px;font-weight:500;text-decoration:none;display:inline-flex}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn--primary{background-color:var(--color-primary);color:#fff;font-weight:700}.btn--primary:hover{background-color:var(--color-primary-dark)}.btn--destructive{background-color:var(--color-danger);color:#fff;font-weight:700}.btn--destructive:hover{background-color:var(--color-danger-dark)}.btn--secondary{background-color:var(--color-bg-card);border-color:var(--color-border);color:var(--color-text-secondary)}.btn--secondary:hover{background-color:var(--color-bg-hover)}.btn--outline{background-color:var(--color-bg-card);border-color:var(--color-primary);color:var(--color-primary)}.btn--outline:hover{background-color:var(--color-primary-light)}.btn--pill{border-radius:var(--radius-pill)}.btn--selected{border-color:var(--color-primary);background-color:var(--color-primary-light);color:var(--color-primary);border-width:2px;font-weight:700}.card{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-bg-card);transition:box-shadow var(--transition-normal),transform var(--transition-normal)}.card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.card--warning{background-color:var(--color-warning-light);border-color:var(--color-warning)}.card--info{background-color:var(--color-info-light);border-color:var(--color-info-border)}.card--success{background-color:var(--color-success-light);border-color:var(--color-success);border-width:2px}.alert{padding:var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid}.alert--warning{background-color:var(--color-warning-light);border-color:var(--color-warning)}.alert--info{border-color:var(--color-primary);background-color:#f0f8ff}.alert--danger{background-color:var(--color-danger-light);border-color:var(--color-danger-border)}.alert__title{margin-bottom:var(--spacing-sm);font-weight:700}.input{width:100%;padding:.75rem var(--spacing-md);font-size:var(--font-base);border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-bg-card);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);min-height:44px}.input:focus,.input:focus-visible{border-color:var(--color-primary);box-shadow:var(--focus-ring);outline:none}.input::placeholder{color:var(--color-text-muted)}.link{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}.link:hover{color:var(--color-primary-dark);text-decoration:underline}@media (max-width:768px){:root{--spacing-xl:1.5rem}h1{font-size:1.5rem}.container{padding:0 var(--spacing-md)}}@media (max-width:480px){:root{--spacing-xl:1rem}h1{font-size:1.25rem}.btn{padding:var(--spacing-sm)var(--spacing-sm);font-size:var(--font-sm)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.skeleton{background-color:var(--color-border);animation:1.5s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.badge--seeking-info{background-color:var(--color-warning-badge-bg);color:var(--color-warning-badge-text)}
