.narrator-list{display:flex;flex-wrap:wrap;gap:12px;padding:10px 0}.narrator-card{width:160px;border:1px solid #ddd;overflow:hidden;cursor:pointer;transition:box-shadow .2s;background:#fff}.narrator-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.15);text-decoration:none}.narrator-card img{width:160px;height:160px;object-fit:cover;background:#eee;display:block}.narrator-card .info{padding:6px 8px;font-size:11px}.narrator-card .name{font-weight:700;font-size:12px;margin-bottom:3px;color:#1a3a5c}.narrator-card .lang{color:#666;line-height:1.4}.filter-box{background:#f5f5f5;padding:12px 15px;margin-bottom:15px;border:1px solid #ddd}.filter-box h3{font-size:13px;margin-bottom:8px;font-weight:700}.filter-row{display:flex;gap:15px;flex-wrap:wrap;align-items:center}.filter-row label{font-size:12px}.filter-row select{font-size:12px;padding:3px 6px;border:1px solid #ccc}.filter-row button{background:#2c5f8a;color:#fff;border:none;padding:5px 15px;font-size:12px;cursor:pointer}.detail-wrap{display:flex;gap:20px;padding:10px 0}.detail-photo img{object-fit:cover}.detail-photo img,.detail-photo-placeholder{width:200px;height:224px;border:1px solid #ddd}.detail-photo-placeholder{background:#eee;display:flex;align-items:center;justify-content:center;color:#aaa;font-size:12px}.detail-info{flex:1 1}.detail-table{width:100%;border:1px solid #ddd;font-size:12px}.detail-table th{background:#f0f4f8;width:100px;white-space:nowrap}.detail-table td,.detail-table th{padding:7px 10px;border:1px solid #ddd}.detail-pr{background:#f9f9f9;padding:15px;margin-top:15px;border:1px solid #ddd;white-space:pre-wrap;font-size:12px;line-height:1.8}.btn-back{display:inline-block;margin:10px 0 15px;background:#666;color:#fff!important;padding:5px 14px;font-size:12px}.btn-mitumori{background:#e74c3c;color:#fff;border:none;padding:8px 18px;font-size:13px;cursor:pointer;margin-top:10px;display:block;width:100%}.page-title{font-size:15px;font-weight:700;border-left:4px solid #2c5f8a;padding-left:10px;margin-bottom:12px}.result-count{font-size:12px;color:#666;margin-bottom:8px}.login-box{width:360px;margin:50px auto;border:1px solid #ddd;padding:30px}.login-box h2{text-align:center;margin-bottom:20px;font-size:16px}.login-box input{width:100%;padding:8px;margin-bottom:12px;border:1px solid #ccc;font-size:13px;display:block}.login-box button{width:100%;background:#2c5f8a;color:#fff;border:none;padding:10px;font-size:14px;cursor:pointer}.login-box .error{color:#e74c3c;font-size:12px;margin-bottom:10px}